#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int w,h;
char ta[60][60];
bool used[60][60];
int fast=-1;
void dfs(int i,int j){
	used[i][j]=1;
	if(ta[i][j]=='W'){
	if(fast==-1)fast=0;
	else if(fast==1){
	fast=2;
	}
	return ;
	}
	if(ta[i][j]=='B'){
	if(fast==-1)fast=1;
	else if(fast==0){
	fast=2;
	}
	return ;
	}
	if(i+1<h&&used[i+1][j]==0)dfs(i+1,j);
	if(i-1>=0&&used[i-1][j]==0)dfs(i-1,j);
	if(j+1<w&&used[i][j+1]==0)dfs(i,j+1);
	if(j-1>=0&&used[i][j-1]==0)dfs(i,j-1);
}

int main(){
	while(true){
	cin>>w>>h;
	if(w==0&&h==0)break;
	for(int i=0;i<60;i++)for(int j=0;j<60;j++)ta[i][j]=' ';
	for(int i=0;i<h;i++){
	for(int j=0;j<w;j++)
	cin>>ta[i][j];
	}
	int a=0,b=0;//Wさん,Bさん
	for(int i=0;i<h;i++){
		for(int j=0;j<w;j++){
		fast=-1;
		for(int i=0;i<60;i++)for(int j=0;j<60;j++)used[i][j]=0;
		if(ta[i][j]!='W'&&ta[i][j]!='B')dfs(i,j);
		else continue;
		if(fast==0){a++;}
		else if(fast==1){b++;}
		}
	}
	cout<<b<<" "<<a<<endl;
	}

	return 0;
}