/*
Gheorghe Mihai
Tudor Vianu High School of Computer Science
Junior Division
Contest #4 2008-2009
Program Reversi
*/
#include<stdio.h>
#include<string.h>
struct solutie
{
int x,y;
};
int nr;
int v[15][15];
solutie sol[100];
int x[]={-1,-1,0,1,1,1,0,-1};
int y[]={0,1,1,1,0,-1,-1,-1};
int exista(int xx, int yy)
{
int
d,nrc,cx,cy;
for(d=0;d<=7;d++)
{
nrc=0;
cx=xx+x[d];
cy=yy+y[d];
while(v[cx][cy]==2)
{
nrc++;
cx=cx+x[d];
cy=cy+y[d];
}
if(v[cx][cy]==1)
if(nrc>=1)
return
1;
}
return 0;
}
void rez()
{
int i,j;
for(i=1;i<=8;i++)
for(j=1;j<=8;j++)
if(v[i][j]==0)
{
//I
verify if I can put an 'X' on line i, column j
if(exista(i,j))
{
sol[++nr].x=i;
sol[nr].y=j;
}
}
}
void read()
{
freopen("date.in","r",stdin);
freopen("date.out","w",stdout);
int
i,t,n,x;
char
y,temp1,temp2,temp3,temp4;
for(t=1;t<=5;t++)
{
memset(v,0,sizeof(v));
nr=0;
scanf("%c%c%c%c",&temp1,&temp2,&temp3,&temp4);
scanf("%d,",&n);
for(i=1;i<=n;i++)
{
scanf("%d%c%c",&x,&y,&temp1);
v[9-x][y-'A'+1]=1;
}
scanf("%d,",&n);
for(i=1;i<=n;i++)
{
scanf("%d%c%c",&x,&y,&temp1);
v[9-x][y-'A'+1]=2;
}
printf("%d. ",t);
rez();
if(nr==0)
printf("NONE\n");
else
{
for(i=1;i<nr;i++)
printf("%d%c,
",9-sol[i].x,sol[i].y+'A'-1);
printf("%d%c\n",9-sol[i].x,sol[i].y+'A'-1);
}
}
}
int main()
{
read();
return 0;
}