#include<bits/stdc++.h>
using namespace std;
#define MAX 1111
int color[MAX][MAX],n;
char mat[MAX][MAX];
int X[6]= {-1,-1,0,0,1,1};
int Y[6]= {-1,0,-1,1,0,1};
void bfs(int i,int j)
{
int vx,ux,vy,uy,k;
queue<int>Q;
Q.push(i);
Q.push(j);
color[i][j]=1;
while(!Q.empty())
{
ux=Q.front();
Q.pop();
uy = Q.front();
Q.pop();
for(k=0; k<6; k++)
{
vx = ux+X[k];
vy = uy+Y[k];
if((vx>=1&&vx<=n) && (vy>=1&&vy<=n) && mat[vx][vy]=='w')
{
if(!color[vx][vy])
{
color[vx][vy]=1 ;
Q.push(vx);
Q.push(vy);
}
}
}
}
}
int main()
{
int i ,j,l,cas=0;
while(cin>>n)
{
if(n==0)
break;
cas++;
getchar();
for(i=0; i<n; i++)
{
cin>>mat[i];
}
for(i=0; i<n; i++)
{
if(mat[i][0] == 'w' && color[i][0]==0)
{
bfs(i,0);
}
}
int cou =0;
for(i=0; i<n; i++)
{
if(color[i][n-1]==1)
{
cou=1;
break;
}
}
if(cou==1)
printf("%d W\n",cas);
else if(cou ==0)
{
printf("%d B\n",cas);
}
memset(color,0,sizeof(color));
memset(mat,'\0',sizeof(mat));
}
return 0;
}
using namespace std;
#define MAX 1111
int color[MAX][MAX],n;
char mat[MAX][MAX];
int X[6]= {-1,-1,0,0,1,1};
int Y[6]= {-1,0,-1,1,0,1};
void bfs(int i,int j)
{
int vx,ux,vy,uy,k;
queue<int>Q;
Q.push(i);
Q.push(j);
color[i][j]=1;
while(!Q.empty())
{
ux=Q.front();
Q.pop();
uy = Q.front();
Q.pop();
for(k=0; k<6; k++)
{
vx = ux+X[k];
vy = uy+Y[k];
if((vx>=1&&vx<=n) && (vy>=1&&vy<=n) && mat[vx][vy]=='w')
{
if(!color[vx][vy])
{
color[vx][vy]=1 ;
Q.push(vx);
Q.push(vy);
}
}
}
}
}
int main()
{
int i ,j,l,cas=0;
while(cin>>n)
{
if(n==0)
break;
cas++;
getchar();
for(i=0; i<n; i++)
{
cin>>mat[i];
}
for(i=0; i<n; i++)
{
if(mat[i][0] == 'w' && color[i][0]==0)
{
bfs(i,0);
}
}
int cou =0;
for(i=0; i<n; i++)
{
if(color[i][n-1]==1)
{
cou=1;
break;
}
}
if(cou==1)
printf("%d W\n",cas);
else if(cou ==0)
{
printf("%d B\n",cas);
}
memset(color,0,sizeof(color));
memset(mat,'\0',sizeof(mat));
}
return 0;
}