#include<cstdio>
int N, M, ans;
char f[
105][
105];
bool vis[
105][
105];
void dfs(
int x,
int y) {
f[x][y] =
'.';
for (
int dx = -
1; dx <=
1; dx++) {
for (
int dy = -
1; dy <=
1; dy++) {
int xx = x + dx;
int yy = y + dy;
if (
0 <= xx && xx < N &&
0 <= yy && yy < M && f[xx][yy] ==
'W') {
dfs(xx, yy);
}
}
}
return;
}
int main() {
while (
scanf(
"%d%d", &N, &M) ==
2) {
getchar();
for (
int i =
0; i < N; i++) {
for (
int j =
0; j < M; j++) {
scanf(
"%c", &f[i][j]);
}
getchar();
}
for (
int i =
0; i < N; i++) {
for (
int j =
0; j < M; j++) {
if (f[i][j] ==
'W') {
dfs(i, j);
ans++;
}
}
}
printf(
"%d", ans);
}
return 0;
}