#include<bits/stdc++.h>
using namespace std;
int n,m;
char a[150][150];
void dfs(int x,int y){
a[x][y]='.';
if(a[x-1][y]=='W') dfs(x-1,y);
if(a[x-1][y-1]=='W') dfs(x-1,y-1);
if(a[x-1][y+1]=='W') dfs(x-1,y+1);
if(a[x][y-1]=='W') dfs(x,y-1);
if(a[x+1][y-1]=='W') dfs(x+1,y-1);
if(a[x+1][y+1]=='W') dfs(x+1,y+1);
if(a[x+1][y]=='W') dfs(x+1,y);
if(a[x][y+1]=='W') dfs(x,y+1);
}
int main(){
cin>>n>>m;
int i,j,c=0;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if(a[i][j]=='W'){
c++;
dfs(i,j);
}
}
}
cout<<c<<endl;
return 0;
}
/**************************************************************
Problem: 1435
User: yangwanning
Language: C++
Result: Accepted
Time:24 ms
Memory:2100 kb
****************************************************************/