#include <iostream>
#include <algorithm>

using namespace std;

void search(char a[51][51], int c[51][51], int h, int w, int s, int t, int v, char p)
{
  if(a[s][t] == p || a[s][t] != '.' || c[s][t] < 0 || c[s][t] == v){
    return ;
  }
  c[s][t] = (c[s][t] > 0)? -3 : v;

  if(s > 0){
    search(a, c, h, w, s-1, t, v, p);
  }
  if(s < h-1){
    search(a, c, h, w, s+1, t, v, p);
  }
  if(t > 0){
    search(a, c, h, w, s, t-1, v, p);
  }
  if(t < w-1){
    search(a, c, h, w, s, t+1, v, p);
  }

  return ;
}

void func(char a[51][51], int c[51][51], int h, int w, char p, int s, int t)
{
  int v = (p == 'W')? 1 : 2;

  if(s > 0){
    search(a, c, h, w, s-1, t, v, p);
  }
  if(s < h-1){
    search(a, c, h, w, s+1, t, v, p);
  }
  if(t > 0){
    search(a, c, h, w, s, t-1, v, p);
  }
  if(t < w-1){
    search(a, c, h, w, s, t+1, v, p);
  }

  return ;
}

int main(int argc, char **argv)
{
  int w, h, c[51][51], cw, cb;
  char a[51][51];

  while(1){
    cin >> w >> h;
    if(w == 0 && h == 0){
      break;
    }
    fill(&c[0][0], &c[h][w], 0);

    for(int i = 0; i < h; i++){
      scanf("%s", a[i]);
    }

    cw = cb = 0;
    for(int i = 0; i < h; i++){
      for(int j = 0; j < w; j++){
	if(c[i][j] == 0 && a[i][j] != '.'){
	  func(a, c, h, w, a[i][j], i, j);
	}
      }
    }
    for(int i = 0; i < h; i++){
      for(int j = 0; j < w; j++){
	if(c[i][j] == 1){
	  cw++;
	} else if(c[i][j] == 2){
	  cb++;
	}
      }
    }

    cout << cb << " " << cw << endl;
  }

  return 0;
}