#include <stdio.h>
int n,m,ans=0;
int f[102 * 102];
char a[102][102];
int find(int x);
void init();
void search();
void print();
void final();
void clear(int x,int y);
int main(){
init();
search();
final();
print();
return 0;
}
void init(){
scanf("%d%d",&n,&m);
for (int i=1,getchar();i<=n;i++)
for (int j=1;j<=m;j++)
scanf("%c",&a[i][j]);
}
void print(){
printf("%d",ans);
}
int find(int x){
if (f[x]==x) return x;
return find(f[x]);
}
void clear(int x,int y){
int fx=find(x),fy=find(y);
if(fx == x){
f[x] = fy;
return;
}
f[fy] = fx;
}
void search(){
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
if(a[i][j]=='W'){
int pail=(i-1)*m+j;
if (a[i][j+1]=='W') clear(pail,pail+1);
if (a[i+1][j-1]=='W') clear(pail,pail+m-1);
if (a[i+1][j]=='W') clear(pail,pail+m);
if (a[i+1][j+1]=='W') clear(pail,pail+m+1);
}
}
void final(){
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
if (a[i][j] == 'W')
ans += (f[(i-1)*m+j]==(i-1)*m+j);
}