#include<algorithm>
#include<iostream>
#include<cstring>
#include<iomanip>
#include<bitset>
#include<string>
#include<vector>
#include<cmath>
#include<stack>
#include<queue>
#include<map>
#define int_max 0x7fffffffL
#define long_max 0x7fffffffffffffffLL
#define intu unsigned long long
#define intt long long
#define dlel long double
#define dle double
#define fast register
using namespace std;
template<class T>
inline void get(T &n)
{
intu a=0,f=1;
char x=getchar();
while((x<'0'||x>'9')&&x!='-') x=getchar();
if(x=='-')
{
x=getchar();
f=-1;
}
while(x>='0'&&x<='9')
{
a=(a<<3)+(a<<1)+x-'0';
x=getchar();
}
n=f*a;
return;
}
template<class T>
inline void print(T n)
{
if(n<0) putchar('-'),n*=-1;
if(n<10) putchar(n+'0');
else
{
print(n/10);
putchar(n%10+'0');
}
return;
}
inline intu input()
{
intu a=0,f=1;
char x=getchar();
while((x<'0'||x>'9')&&x!='-') x=getchar();
if(x=='-')
{
x=getchar();
f=-1;
}
while(x>='0'&&x<='9')
{
a=(a<<3)+(a<<1)+x-'0';
x=getchar();
}
intu n=f*a;
return n;
}
char c[5][5];
int cnt;
int main()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cin>>c[i][j];
if(c[i][j]!='-') cnt++;
}
}
if(cnt==0)
{
cout<<"Dont know.\n0";
return 0;
}
if(cnt==1)
{
cout<<"Dont know.\n1";
return 0;
}
if(cnt==2)
{
if(c[0][0]!='X'&&c[2][0]!='X'&&c[2][2]!='X'&&c[0][2]!='X') cout<<"xiaoa will win.\n2";
else cout<<"Dont know.\n2";
return 0;
}
for(int i=0;i<3;i+=2)
{
for(int j=0;j<3;j+=2)
{
if(c[i][j]=='O'&&c[2-i][2-j]!='X')
{
cout<<"xiaoa will win.\n3";
return 0;
}
}
}
cout<<"Dont know.\n3";
return 0;
}