#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,i,j,fx[4]={0,-1,1,0},fy[4]={-1,0,0,1},ans;
bool f[1010][1010];
char ch;
void dfs(ll x,ll y){
f[i][j]=0;
for(ll i=0;i<4;i++)
if(x+fx[i]>0&&x+fx[i]<=n&&y+fy[i]>0&&y+fy[i]<=m&&f[x+fx[i]][y+fy[i]]==1)
dfs(x+fx[i],y+fy[i]);
}
int main(){
cin>>n>>m;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cin>>ch;
f[i][j]=(ch=='#');
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(f[i][j]+f[i+1][j]+f[i+1][j+1]+f[i][j+1]==3){
cout<<"Bad placement.";
return 0;
}
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(f[i][j])dfs(i,j),ans++;
cout<<"There are "<<ans<<" ships.";
return 0;
}