#include<iostream>
using namespace std;
int r,c,ans=0,s=0,o[1001][1001]={0};
char n[1001][1001];
bool pd(int x,int y);
int dfs(int x,int y);
int main(){
cin>>r>>c;
for(int i;i<r;i++){
for(int j=0;j<c;j++)
cin>>n[i][j];
}
ans=dfs(0,0);
if(ans==0){
cout<<"Bad placement."<<endl;
return 0;
}
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
if(n[i][j]=='#'&&n[i][j+1]!='#'&&n[i+1][j]!='#')
s++;
}
}
cout<<"There are "<<s<<" ships."<<endl;
return 0;
}
int dfs(int x,int y){
if(pd(x,y))
return 0;
else{
if(x>=0&&x<=r&&y>=0&&y<=c&&o[x][y]==0){
o[x][y]=1;
dfs(x+1,y);
dfs(x,y+1);
o[x][y]=0;
}
}
}
bool pd(int x,int y){
int sum=0;
if(n[x][y]=='#')
sum++;
if(n[x+1][y]=='#')
sum++;
if(n[x][y+1]=='#')
sum++;
if(n[x+1][y+1]=='#')
sum++;
if(sum==3)
return true;
return false;
}