#include<stdio.h>

int w;
int b;
char map[50][51];
int we;
int he;

int measure(int x,int y){
  int i,m=0,dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}},nx,ny;
  map[y][x]='F';
  for(m=1,i=0;i<4;i++){
    nx=x+dir[i][1];
    ny=y+dir[i][0];
    if(nx<we&&nx>-1&&ny<he&&ny>-1){
      if(map[ny][nx]=='.'){
	m+=measure(nx,ny);
      }else if(map[ny][nx]=='B'){
	b++;
      }else if(map[ny][nx]=='W'){
	w++;
      }
    }
  }
  return m;
}
int main(){
  int i,white,black,m,j;
  do{
    scanf("%d %d",&we,&he);
    if(we==0&&he==0) break;
    for(i=0;i<he;i++) scanf("%s",map[i]);
    for(i=white=black=0;i<he;i++){
      for(j=0;j<we;j++){
	if(map[i][j]=='.'){
	  m=measure(j,i);
	  if(w&&!b){
	    white+=m;
	  }else if(!w&&b){
	    black+=m;
	  }
	  w=b=0;
	}
      }
    }
    printf("%d %d\n",black,white);
  }while(1);
  return 0;
}