#include #define rep(i,n) for(i=0;i=x || j>=y) return; if(mp[i][j]=='B') fg1=1; if(mp[i][j]=='W') fg2=1; if(mp[i][j]!='.') return; mp[i][j]=','; rep(k,4) sol(i+dx[k],j+dy[k]); } void hh(int i,int j,char c){ int k; if(i<0 || j<0 || i>=x || j>=y) return; if(mp[i][j]!='.') return; mp[i][j]=c; rep(k,4) hh(i+dx[k],j+dy[k],c); } int main(){ int i,j,k,l,m,n; int a1,a2; for(;;){ scanf("%d%d",&y,&x); if(!x) break; rep(i,x) scanf("%s",mp[i]); rep(i,x) rep(j,y) if(mp[i][j]=='.') { fg1=0; fg2=0; sol(i,j); rep(m,x) rep(n,y) if(mp[m][n]==',') mp[m][n]='.'; if(fg1 && !fg2) hh(i,j,'b'); if(!fg1 && fg2) hh(i,j,'w'); } a1=a2=0; rep(i,x) rep(j,y){ if(mp[i][j]=='b') a1++; if(mp[i][j]=='w') a2++; } // rep(i,x) {rep(j,y) putchar(mp[i][j]); putchar('\n');} printf("%d %d\n",a1,a2); } }