#include <bits/stdc++.h>
using namespace std;
int n,m,x[]={0,0,1,-1,1,-1,1,-1},y[]={1,-1,0,0,1,-1,-1,1},ans=0;
bool sr=false;
char a[101][101];
queue <int> qx,qy;
void bfs(int h,int l)
{
a[h][l]='.';
while(!qx.empty())
{
for(int i=0;i<=7;i++)
{
int xx=h+x[i];
int yy=l+y[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&a[xx][yy]!='.')
{
sr=true;
qx.push(xx);
qy.push(yy);
}
}
qx.pop();
qy.pop();
if(!qx.empty())bfs(qx.front(),qy.front());
}
}
int main()
{
cin>>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]=='W')
{
sr=false;
qx.push(i),qy.push(j),bfs(i,j);
if(sr==true)ans++;
}
}
}
cout<<ans;
}
