#include<bits/stdc++.h>
using namespace std;
int r,c,ans;char Map[1003][1003];
bool pd(int x,int y){
int jsq=0;
int fx[4]={0,0,1,1},fy[4]={0,1,0,1};
for(int i=0;i<4;i++) if(Map[x+fx[i]][y+fy[i]]=='#') jsq++;
return jsq!=3;
}
int main(){
cin>>r>>c;
for(int i=1;i<=r;i++) for(int j=1;j<=c;j++) cin>>Map[i][j];
for(int i=1;i<r;i++)for(int j=1;j<c;j++)
if(!pd(i,j)){
cout<<"Bad placement.";
return 0;
}
for(int i=1;i<=r;i++)for(int j=1;j<=c;j++){
if(Map[i][j]=='#'){Map[i][j]='.';
int q[1000*1000+2][2],head=1,tail=1, fx[4]={0,1,0,-1},fy[4]={1,0,-1,0};
q[1][0]=i,q[1][1]=j;
while(head<=tail){
for(int k=0;k<4;k++){
int nox=i+fx[k],noy=j+fy[k];
if(Map[nox][noy]=='#') Map[nox][noy]='.',q[++tail][0]=nox,q[tail][1]=noy;
}head++;
}
ans++;
}
}
cout<<"There are "<<ans<<" ships.";
return 0;
}