#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
char a[1005][1005];
void sou(int x,int y){
a[x][y]='.';
if(a[x][y+1]=='#'){
sou(x,y+1);
}
if(a[x+1][y]=='#'){
sou(x+1,y);
}
if(a[x][y-1]=='#'){
sou(x,y-1);
}
if(a[x-1][y]=='#'){
sou(x-1,y);
}
}
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<n;i++){
for(int j=1;j<m;j++){
if((a[i][j]=='#'&&a[i][j+1]=='#'&&a[i+1][j]=='#'&&a[i+1][j+1]=='.')||
(a[i][j]=='#'&&a[i][j+1]=='#'&&a[i+1][j]=='.'&&a[i+1][j+1]=='#')||
(a[i][j]=='#'&&a[i][j+1]=='.'&&a[i+1][j]=='#'&&a[i+1][j+1]=='#')||
(a[i][j]=='.'&&a[i][j+1]=='#'&&a[i+1][j]=='#'&&a[i+1][j+1]=='#')){
cout<<"Bad placement.";
return 0;
}
}
}
int ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]=='#'){
sou(i,j);
ans++;
}
}
}
cout<<"There are "<<ans<<" ships.";
return 0;
}