1 #include<stdio.h>
2 #include<cstdlib>
3 #include<algorithm>
4 #include<cstring>
5 using namespace std;
6 int po[20],ch[256];
7 int f[100000][3];
8 int judge(int s)
9 {
10 int g[10];
11 for(int i=1,ss=s;i<=9;i++,ss/=3) g[i]=ss%3;
12 if(g[1]==g[2]&&g[2]==g[3])
13 {
14 if(g[1]==1) return 1;
15 if(g[1]==2) return -1;
16 }
17 if(g[4]==g[5]&&g[5]==g[6])
18 {
19 if(g[4]==1) return 1;
20 if(g[4]==2) return -1;
21 }
22 if(g[7]==g[8]&&g[8]==g[9])
23 {
24 if(g[7]==1) return 1;
25 if(g[7]==2) return -1;
26 }
27 if(g[1]==g[4]&&g[4]==g[7])
28 {
29 if(g[1]==1) return 1;
30 if(g[1]==2) return -1;
31 }
32 if(g[2]==g[5]&&g[5]==g[8])
33 {
34 if(g[2]==1) return 1;
35 if(g[2]==2) return -1;
36 }
37 if(g[3]==g[6]&&g[6]==g[9])
38 {
39 if(g[3]==1) return 1;
40 if(g[3]==2) return -1;
41 }
42 if(g[1]==g[5]&&g[5]==g[9])
43 {
44 if(g[1]==1) return 1;
45 if(g[1]==2) return -1;
46 }
47 if(g[3]==g[5]&&g[5]==g[7])
48 {
49 if(g[3]==1) return 1;
50 if(g[3]==2) return -1;
51 }
52 return 0;
53 }
54 int cnt(int s){int ret=0;for(int i=1;i<=9;i++,s/=3) ret+=(s%3==0); return ret;}
55 int dfs(int s,int who)
56 {
57 if(judge(s)!=0) return judge(s);
58 else if(cnt(s)==0) return judge(s);
59 if(~f[s][who]) return f[s][who];
60 int mmin=1,mmax=-1;
61 if(who==1)
62 {
63 for(int i=1,ss=s;i<=9;i++,ss/=3)
64 {
65 int t=ss%3;
66 if(t==0) mmax=max(mmax,dfs(s+po[i-1],2));
67 }
68 return f[s][who]=mmax;
69 }
70 else
71 {
72 for(int i=1,ss=s;i<=9;i++,ss/=3)
73 {
74 int t=ss%3;
75 if(t==0) mmin=min(mmin,dfs(s+po[i-1]*2,1));
76 }
77 return f[s][who]=mmin;
78 }
79 }
80 int main()
81 {
82 memset(f,-1,sizeof(f));
83 po[0]=1,ch['X']=2,ch['O']=1,ch['_']=0;
84 for(int i=1;i<=10;i++) po[i]=po[i-1]*3;
85 int T;
86 scanf("%d",&T);
87 while(T--)
88 {
89 int st=0,fc=0,sc=0;
90 char buf[5];
91 for(int i=1;i<=3;i++)
92 {
93 scanf("%s",buf);
94 for(int j=0;j<3;j++)
95 {
96 st+=ch[buf[j]]*po[(i-1)*3+j];
97 if(buf[j]=='O') fc++;
98 else if(buf[j]=='X')sc++;
99 }
100 }
101 int win=0;
102 if(fc==sc) win=dfs(st,1);
103 else win=dfs(st,2);
104 printf("%s\n",win==0?"E":win==1?"O":"X");
105 }