#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
using namespace std;
char c[20];
int x,o,d;
int flag1,flag2;
int h(int t,int q){
int qq=0;
if(q==1){
for(int i=0;i<=2;i++){
if(c[t*3-i]=='X'){
qq++;
}
}
if(qq==3) return 1;
else return 0;
}
else{
for(int i=0;i<=2;i++){
if(c[t*3-i]=='0'){
qq++;
}
}
if(qq==3) return 1;
else return 0;
}
}
int s(int t,int q){
int qq=0;
if(q==1){
for(int i=0;i<=2;i++){
if(c[1+(3*i)]=='X')
qq++;
}
if(qq==3) return 1;
else return 0;
}
else{
for(int i=0;i<=2;i++){
if(c[1+(3*i)]=='0')
qq++;
}
if(qq==3) return 1;
else return 0;
}
}
int main(){
for(int i=1;i<=9;i++){
cin>>c[i];
if(c[i]=='X') x++;
if(c[i]=='0') o++;
if(c[i]=='.') d++;
}
if(x-o>=2||o-x>=1) {cout<<"illegal"<<endl;return 0;}
else{
if(s(1,1)==1||s(2,1)==1||s(3,1)==1) flag1++;
if(h(1,1)==1||h(2,1)==1||h(3,1)==1) flag1++;
if(c[1]=='X'&&c[5]=='X'&&c[9]=='X') flag1++;
if(c[3]=='X'&&c[5]=='X'&&c[7]=='X') flag1++;
//
if(s(1,2)==1||s(2,2)==1||s(3,2)==1) flag2++;
if(h(1,2)==1||h(2,2)==1||h(3,2)==1) flag2++;
if(c[1]=='0'&&c[5]=='0'&&c[9]=='0') flag2++;
if(c[3]=='0'&&c[5]=='0'&&c[7]=='0') flag2++;
//
if(flag1>=1&&flag2>=1) cout<<"illegal"<<endl;
else{
if(flag1>=1) cout<<"the first player won"<<endl;
else{
if(flag2>=1) cout<<"the second player won"<<endl;
else{
if(x+o==9){
cout<<"draw"<<endl;
}
else{
if(x==o) {
cout<<"first"<<endl;
}
else{
if(x>o) {
cout<<"second"<<endl;
}
}
}
}
}
}
}
return 0;
}
就是不知道哪里错了QAQ