#include<iostream>
#define N 51
using namespace std;
char map[N][N],clr[N][N];
int w,h;
void renew(int x,int y){
  int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1},newx,newy;
  for(int u=0;u<4;u++){
    newx=x+dx[u],newy=y+dy[u];
    if(newx>=0 && newx<w && newy>=0 && newy<h){
         if(clr[newy][newx]=='.' && map[newy][newx]=='.') map[newy][newx]=map[y][x],renew(newx,newy);
      else if(clr[newy][newx]=='.' && map[y][x]!=map[newy][newx])map[newy][newx]='F',renew(newx,newy);
    }
  }
}
 
int main(){
  while(1){
    int wcnt=0,bcnt=0;
    cin>>w>>h;
    if(w+h==0) break;
    for(int i=0;i<h;i++)
      for(int j=0;j<w;j++){
    cin>>map[i][j];
    clr[i][j]=map[i][j];
      }
    for(int i=0;i<h;i++)
      for(int j=0;j<w;j++){
    if(clr[i][j]=='W') wcnt--;
    if(clr[i][j]=='B')bcnt--;
    if(clr[i][j]!='.') renew(j,i);
      }
    for(int i=0;i<h;i++)
      for(int j=0;j<w;j++){
    if(map[i][j]=='B')bcnt++;
    else if(map[i][j]=='W')wcnt++;
       }
     
    cout<<bcnt<<" "<<wcnt<<endl;
  }
   
  return 0;
}