#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;
}