#include <iostream>
using namespace std;
enum{NONE,BLA,WHI};

int kui[50][50]={};
bool rin[50][50][WHI+1]={};
int W,H;
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
void clear(){
     for(int i=0;i<50;i++){
	  for(int j=0;j<50;j++){
	       kui[i][j]=0;
	       rin[i][j][BLA]=false;rin[i][j][WHI]=false;
	  }
     }
}
void rec(int x,int y,int color){
     if(x>=W||x<0||y>=H||y<0) return;
     if(kui[x][y]>0||rin[x][y][color])return;
     rin[x][y][color]=true;
     for(int i=0;i<4;i++){
	  rec(x+dx[i],y+dy[i],color);
     }
}

int main(){
     while(cin>>W>>H,W||H){
	  clear();
	  for(int i=0;i<H;i++){
	       for(int j=0;j<W;j++){
		    char t;
		    cin>>t;
		    switch(t){
		    case '.':
			 break;
		    case 'B':
			 kui[j][i]=BLA;
			 break;
		    case 'W':
			 kui[j][i]=WHI;
			 break;
		    }
	       }
	  }
	  for(int i=0;i<W;i++){
	       for(int j=0;j<H;j++){
		    switch(kui[i][j]){
		    case BLA:
			 for(int k=0;k<4;k++) rec(i+dx[k],j+dy[k],BLA);
			 break;
		    case WHI:
			 for(int k=0;k<4;k++) rec(i+dx[k],j+dy[k],WHI);
			 break;
		    }
	       }
	  }
	  /*for(int i=0;i<W;i++){
	       for(int j=0;j<H;j++){
		    cout<<kui[i][j];
	       }
	       cout<<endl;
	       }*/
	  int sumw=0,sumb=0;
	  for(int i=0;i<W;i++){
	       for(int j=0;j<H;j++){
		    if(rin[i][j][BLA]&&(!rin[i][j][WHI]))sumb++;
		    if(rin[i][j][WHI]&&(!rin[i][j][BLA]))sumw++;
	       }
	  }
	  cout<<sumb<<" "<<sumw<<endl;
     }
     return 0;
}