#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
int fs[5]={1,0,-1,0,1};
char map[102][102];
int ans=0;
bool vis[102][102];
int u,v;
void dfs(int x,int y) {
vis[x][y]=true;
ans++;
if(map[x][y]=='W'||map[x][y]=='#')
return;
for(int i=0; i<4; i++)
{
u=x+fs[i];
v=y+fs[i+1];
if(!vis[u][v]&&map[u][v]=='.')
{
dfs(u,v);
}
}
}
int main() {
int n;
memset(map,'#',sizeof(map));
cin>>n;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
cin>>map[i+1][j+1];
ans=0;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if(map[i][j]=='B'&&!vis[i][j])
dfs(i,j);
cout<<ans<<" "<<n*n-ans<<endl;
return 0;
}