#include<iostream>
using namespace std;
const int N = 1010;
char g[N][N];
int n,m;
bool v[N][N];
int dx[] = {-1,1,0,0};
int dy[] = {0,0,-1,1};
int num;
void dfs(int x,int y)
{
for(int i = 0;i<4;i++)
{
int a = x + dx[i];
int b = y + dy[i];
if(a<1 || a>n || b<1 || b>m || v[a][b] || g[a][b]=='.') continue;
v[a][b] = true;
dfs(a,b);
}
}
int main()
{
cin>>n>>m;
for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
cin>>g[i][j];
}
}
for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=m;j++)
{
if(g[i][j]!='.' && !v[i][j])
{
dfs(i,j);
num++;
}
}
}
if(!num) cout<<"Bad placement.";
else cout<<"There are "<<num<<" ships.";
return 0;
}