#include<queue>
using namespace std;
#define x first
#define y second
int n, m;
const int N = 1010;
char s[N][N];
bool t[N][N];
int ans;
typedef pair<int, int> PLL;
int dx[] = {1, -1, 0, 0, 1, -1,-1, 1}, dy[] = {0, 0, 1, -1, 1 , -1, 1, -1};
int bfs(PLL st)
{
for(int i = 0; i < 8;i ++)
{
int x = st .x + dx[i], y = st.y + dy[i];
if(x >= 1 && x <= n && y>= 1 && y<= m && s[x][y] == 'W'&& t[x][y]==false)
{
t[x][y] = true;
bfs({x, y});
}
else continue;
}
return 0;
}
int main()
{
cin >>n >>m;
for(int i = 1; i <= n; i ++)
{
for(int j = 1; j <= m; j ++)
{
cin >>s[i][j];
}
}
for(int i = 1; i <= n ; i ++)
{
for(int j = 1; j <= m ;j ++)
{
if(s[i][j]== 'W'&&t[i][j]==false)
{
s[i][j] = true;
bfs({i,j});
ans ++;
}
}
}
cout << ans <<endl;
}