#include <iostream>
#include <fstream>
#include <algorithm>
#include <cassert>
#include <cctype>
#include <cmath>
#include <complex>
#include <cstdio>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;

#define rep(i,n) for(int i=0;i<n;i++)

int w,h,dx[]={1,0,-1,0},dy[]={0,1,0,-1},used[51][51];
char a[51][51];

int bfs(int y,int x){
	if(x<0||w<=x||y<0||h<=y||used[y][x])return 0;
	if(a[y][x]=='W')return 2;
	if(a[y][x]=='B')return 1;
	used[y][x]=1;
	int res=0;
	rep(i,4)res|=bfs(y+dy[i],x+dx[i]);
	return res;
}

int main(){
	while(cin>>w>>h&&w){
		rep(i,h)rep(j,w)cin>>a[i][j];
		int B=0,W=0;
		rep(i,h)rep(j,w)if(a[i][j]=='.'){
			rep(k,h)fill(used[k],used[k]+w,0);
			int res=bfs(i,j);
			if(res==1)B++;
			if(res==2)W++;
		}
		cout<<B<<" "<<W<<endl;
	}
}