//17
#include<iostream>
#include<algorithm>

using namespace std;

int w,h;
char g[50][51];

int res(int y,int x){
  if(y<0||h<=y||x<0||w<=x){
    return 0;
  }else if(g[y][x]=='.'){
    g[y][x]='t';
    int a=0;
    for(int i=0;i<4;i++){
      int d[]={0,1,0,-1,0};
      a|=res(y+d[i],x+d[i+1]);
    }
    return a;
  }else{
    return g[y][x]=='B'|(g[y][x]=='W')<<1;
  }
}

void ff(int y,int x,int v){
  if(y<0||h<=y||x<0||w<=x){
    return;
  }else if(g[y][x]=='t'){
    const char *w="nbwn";
    g[y][x]=w[v];
    for(int i=0;i<4;i++){
      int d[]={0,1,0,-1,0};
      ff(y+d[i],x+d[i+1],v);
    }
  }  
}

int main(){
  while(cin>>w>>h,w|h){
    fill(g[0],g[50],0);
    for(int y=0;y<h;y++){
      cin>>g[y];
    }
    for(int y=0;y<h;y++){
      for(int x=0;x<w;x++){
	ff(y,x,res(y,x));
      }
    }
    cout<<count(g[0],g[50],'b')<<' '<<count(g[0],g[50],'w')<<endl;
  }
  return 0;
}