#include<cstdio>
#include<cstring>
int board[9][9];
int boardCopy[9][9];
int color;
bool judge(int row,int col);
void commandQ(){
for(int i=1;i<9;i++)
for(int j=1;j<9;j++){
if(board[i][j]==1) printf("W");
else if(board[i][j]==-1) printf("B");
else if(board[i][j]==0) printf("-");
if(j==8) printf("\n");
}
printf("\n");
}
void commandL(){
memset(boardCopy,0,sizeof(board));
int OK=0;
for(int i=1;i<9;i++)
for(int j=1;j<9;j++)
if(judge(i,j)) { OK=1;boardCopy[i][j]=1;}
if(OK){
int cnt=0;
for(int i=1;i<9;i++)
for(int j=1;j<9;j++)
if( boardCopy[i][j]==1) {
cnt++;
if(cnt==1)printf("(%d,%d)",i,j);
else printf(" (%d,%d)",i,j);
}
}
else printf("No legal move.");
printf("\n");
}
void change(int row,int col){
for(int i=-1;i<2;i++)
for(int j=-1;j<2;j++)
if(row+i<9&&row+i>0&&col+j<9&&col+j>0)//not out
if(i!=0||j!=0)//not same point
if(board[row+i][col+j]+color==0){
int r=row+i;int c=col+j;
int OK=board[r][c];
while(r>0&&r<9&&c>0&&c<9&&OK!=0){
if(board[r][c]+OK==0){
OK=0;
int m=row,y=col;
for( ;m!=r||y!=c;m+=i,y+=j)
board[m][y]=color;
}
if(board[r][c]==0) break;
r+=i; c+=j;
}
}
}
void commandM(){
int r,c;
scanf("%d",&r);
c=r%10;
r=r/10;
int OK=0;
for(int i=1;i<9;i++)
for(int j=1;j<9;j++)
if(judge(i,j)) OK=1;
if(OK){
change(r,c);
color=0-color;
}
else {
color=0-color;
change(r,c);
color=0-color;
}
int cntB=0,cntW=0;
for(int i=1;i<9;i++)
for(int j=1;j<9;j++)
if(board[i][j]==1) cntW++;
else if(board[i][j]==-1) cntB++;
printf("Black - %2d White - %2d\n",cntB,cntW);
}
void input(int i){
char s[9];
scanf("%s\n",s);
for(int j=0;j<8;j++)
if(s[j]=='B') board[i][j+1]=-1;
else if(s[j]=='W') board[i][j+1]=1;
}
bool judge(int row,int col){
for(int i=-1;i<2;i++)
for(int j=-1;j<2;j++)
if(row+i<9&&row+i>0&&col+j<9&&col+j>0&&board[row][col]==0)//not out
if(i!=0||j!=0)//not same point
if(board[row+i][col+j]+color==0){//the different color
int r=row+i,c=col+j;
int OK=board[r][c];
while(r>0&&r<9&&c>0&&c<9&&OK!=0){
if(board[r][c]+OK==0) OK=0;
if(board[r][c]==0) break;
r+=i;
c+=j;
}
if(!OK) return 1;
}
return 0;
}
int main(){
int t;//the number of games
//freopen("D:\\in.txt","r",stdin);
//freopen("D:\\out.txt","w",stdout);
scanf("%d",&t);
for(int a=0;a<t;a++){
printf("/n");
memset(board,0,sizeof(board));
for(int i=1;i<9;i++)
input(i); //finish the input
char c;
scanf("%c",&c);
if(c=='W') color=1;
else if(c=='B') color=-1;
//change(3,5);
/*printf("\njudge(1 1)=%d\n",judge(1,1));
printf("\ncolor=%d",color);*/
while(scanf("%c",&c)){
if (c=='Q') { commandQ(); break;}
else if(c=='L') commandL();
else if(c=='M') commandM();
}
}
return 0;
}