#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
#define MAX 105
using namespace std;
int n,m,cnt,a[MAX][MAX];
int x1[9]={-1,1,0,0,-1,1,1,1};
int y1[9]={0,0,-1,1,-1,1,-1,1};
void dfs(int x,int y){
for(int i=0;i<=7;i++){
int x2=x+x1[i],y2=y+y1[i];
if(x2>n||y2>m||x2<1||y2<1||a[x2][y2]!=0)continue;
a[x2][y2]=2;dfs(x2,y2);
}
return;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
char c;cin>>c;
if(c=='W')a[i][j]=0;
else a[i][j]=1;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
if(a[i][j]==0)a[i][j]=2,cnt++,dfs(i,j);
}
cout<<cnt<<endl;
return 0;
}