#include<iostream>
using namespace std;
char a[105][105];
int dx[]={-1,-1,0,1,1,1,0,-1},dy[]={0,1,1,1,0,-1,-1,-1},n,m,cnt=0;
bool vis[105][105];
void dfs(int x,int y){
for(int i=0;i<8;i++){
if(a[x+dx[i]][y+dy[i]]=='W'&&vis[x][y]==0){
vis[x][y]=1;
dfs(x+dx[i],y+dy[i]);
}
}
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i][j]=='W' && vis[i][j]==0){dfs(i,j);cnt++;}
}
}
cout<<cnt;
return 0;
}
只对一个点,995