#include<stdio.h>
int l;
int c,piv,leg,x,y;
int v[20][20][5];
void mat()
{
v[1][3][1]=v[1][4][1]=1;
v[2][1][1]=v[2][2][1]=1;
v[3][2][1]=v[3][4][1]=1;
v[4][3][1]=v[4][4][1]=1;
v[1][1][2]=v[1][2][2]=v[1][3][2]=v[1][4][2]=1;
v[2][3][2]=v[2][4][2]=1;
v[3][2][2]=1;
v[4][4][2]=1;
}
int oka()
{
if(v[leg][1][piv])
{
if(piv==1)
{
if(leg==2)
{
if(y>=3)
return
1;
}
}
else
{
if(leg==1)
if(y<=8)
return
1;
}
}
return 0;
}
int okb()
{
if(v[leg][2][piv])
{
if(piv==1)
{
if(leg==2)
{
if(x<=8 && y>=3)
return
1;
}
if(leg==3)
{
if(x>=3 && y>=3)
return
1;
}
}
else
{
if(leg==1)
{
if(y<=8)
return
1;
}
if(leg==3)
{
if(x>=3 && y<=9)
return
1;
}
}
}
return 0;
}
int okc()
{
if(v[leg][3][piv])
{
if(piv==1)
{
if(leg==1)
{
if(x<=8 && y>=3)
return
1;
}
if(leg==4)
{
if(x>=3 && y>=4)
return
1;
}
}
else
{
if(leg==1)
{
if(y<=8 && x<=8)
return
1;
}
if(leg==2)
{
if(y<=7)
return
1;
}
}
}
return 0;
}
int okd()
{
if(v[leg][4][piv])
{
if(piv==1)
{
if(leg==1)
{
if(x<=7 && y>=3)
return
1;
}
if(leg==3)
{
if(x>=3 && y>=3)
return
1;
}
if(leg==4)
{
if(x>=4 && y>=2)
return
1;
}
}
else
{
if(leg==1)
{
if(y<=9 && x<=7)
return
1;
}
if(leg==2)
{
if(y<=8 && x<=8)
return
1;
}
if(leg==4)
{
if(x>=4 && y<=8)
return
1;
}
}
}
return 0;
}
void read()
{
freopen("date.in","r",stdin);
freopen("date.out","w",stdout);
int i,j,nr=0;
char sol[10];
char temp1,temp2,temp3;
for(i=1;i<=5;i++)
{
nr=0;
scanf("%c%c%c",&temp1,&temp2,&temp3);
scanf("%c%d",&temp1,&c);
scanf("%c",&temp2);
scanf("%d",&piv);
scanf("%c",&temp2);
scanf("%d\n",&leg);
printf("%d.
",i);
l=temp1-'A'+1;
l=10-l+1;
x=l;
if(piv==1)
y=c;
else
y=c+1;
/* if(piv==1)
{
if(c<=2)
continue;
x1=l-1;
x2=l+1;
y=c-1;
}
else
{
if(c>=9)
continue;
x1=l-1;
x2=l+1;
y=c+2;
}
*/
// v[l][c]=1;
// v[l][c+1]=2;
if(leg<=2
&& oka())
{
sol[++nr]='A';
}
if(leg<=3
&& okb())
{
sol[++nr]='B';
}
if(okc())
{
sol[++nr]='C';
}
if(okd())
{
sol[++nr]='D';
}
// v[l][c]=0;
// v[l][c+1]=0;
if(nr)
{
for(j=1;j<nr;j++)
printf("%c,",sol[j]);
printf("%c\n",sol[nr]);
}
else
printf("NONE\n");
}
}
int main()
{
mat();
read();
return 0;
}