1 #include<stdio.h>
2 #include<string.h>
3
4 char a[7];
5 char b[750][7];
6 char c[6]={'A','B','C','D','E','*'};
7 int t[4][2]={1,0,0,1,0,-1,-1,0};
8 int temp;
9
10 int fun(char *p,int n,int m)
11 {
12 int i,j,x,y,u;
13 char v[6],k;
14 if(!(strcmp(p,c))) return 1;
15 else
16 for(i=0;i<4;i++)
17 {
18 x=n+t[i][0];
19 y=m+t[i][1];
20 strcpy(v,p);
21 if(x>=0&&x<2&&y>=0&&y<3)
22 {
23 k=v[x*3+y];
24 v[x*3+y]=v[n*3+m];
25 v[n*3+m]=k;
26 u=1;
27 for(j=0;j<temp;j++)
28 if(!strcmp(v,b[j]))
29 {
30 u=0;
31 break;
32 }
33
34 if(u)
35 {
36 strcpy(b[temp++],v);
37 return fun(v,x,y);
38 }
39 }
40 }
41 return 0;
42 }
43
44 int main()
45 {
46 int i,n,m,k;
47 scanf("%d",&k);
48 while(k--)
49 {
50 temp=1;
51 scanf("%s",a);
52 strcpy(b[0],a);
53 for(i=0;i<6;i++)
54 if(a[i]=='*') break;
55 n=i/3;
56 m=i%3;
57 printf("%d\n",fun(a,n,m));
58 }
59 return 0;
60 }