#include<iostream>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define rep(i,a) loop(i,0,a)
using namespace std;
int h,w;
char ch[60][60];
int dx[4]={1,0,-1,0};
int dy[4]={0,1,0,-1};

bool outside(int y,int x){
	if(x<0||x>=w)return true;
	if(y<0||y>=h)return true;
	return false;
}

void paint(int y,int x,int color){
	if(ch[y][x]=='.')ch[y][x]=(color)?'w':'b';
	else if((ch[y][x]=='w'&&!color)||(ch[y][x]=='b'&&color))ch[y][x]='?';
	rep(i,4){
		int nx=x+dx[i],ny=y+dy[i];
		if(outside(ny,nx))continue;
		if(ch[ny][nx]=='W'||ch[ny][nx]=='B')continue;
		if(ch[ny][nx]=='w'&&color)continue;
		if(ch[ny][nx]=='b'&&!color)continue;
		if(ch[ny][nx]=='?')continue;
		paint(ny,nx,color);
	}
}

int main(){
	while(cin>>w>>h,w||h){
		rep(i,h)rep(j,w)cin>>ch[i][j];
		rep(i,h)rep(j,w){
			if(ch[i][j]=='W')paint(i,j,1);
			else if(ch[i][j]=='B')paint(i,j,0);
		}
		int nb=0,nw=0;
		rep(i,h){
			rep(j,w){
				if(ch[i][j]=='w')nw++;
				if(ch[i][j]=='b')nb++;
			}
		}
		cout<<nb<<" "<<nw<<endl;
	}
	return 0;
}
