#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N = 1010;
int n, m;
char e[N][N];
int dx[8] = {1, 0, -1, 0, 1, -1, 1, -1},dy[8] = {0, 1, 0, -1, 1, -1, -1, 1};
bool check(int x, int y){
if(x >= 0 && x < n && y >= 0 && y < m && e[x][y] == 'W') return true;
return false;
}
void dfs(int x, int y){
e[x][y] = '.';
for(int i = 0; i < 8; i ++){
int xx = x + dx[i];
int yy = y + dy[i];
if(e[xx][yy] == '.' || xx < 0 || xx >= n || yy < 0 || yy >= m) continue;
dfs(xx, yy);
e[xx][yy] = '.';
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i = 0; i < n; i ++){
scanf("%s",e[i]);
}
int ans = 0;
for(int i = 0; i < n; i ++){
for(int j = 0; j < m; j ++){
if(e[i][j] == 'W'){
dfs(i, j);
ans ++;
}
}
}
printf("%d\n",ans);
return 0;
}