1```cpp
#include<iostream>
using namespace std;
int main()
{
bool b[4][4]{};
string s;
cin >> s;
if (s.size() < 9)
{
if (s.size() % 2 == 1)
{
cout << "xiaoa wins.";
return 0;
}
else
{
cout << "uim wins.";
return 0;
}
}
for (int i = 0; i < s.size(); i++)
{
if (i % 2 == 0)
{
b[((s[i]-'0') - 1) / i + 1][(s[i]-'0') % 3 == 0 ? (s[i]-'0') % 3 : 3] = 0;
}
else
{
b[((s[i]-'0') - 1) / i + 1][(s[i]-'0') % 3 == 0 ? (s[i]-'0') % 3 : 3] = 1;
}
}
if ((b[1][1] == 0 && b[1][2] == 0 && b[1][3] == 0) || (b[2][1] == 0 && b[2][2] == 0 && b[2][3] == 0) || (b[3][1] == 0 && b[3][2] == 0 && b[3][3] == 0) || (b[1][1] == 0 && b[2][1] == 0 && b[3][1] == 0) || (b[1][2] == 0 && b[2][2] == 0 && b[3][2] == 0) || (b[1][3] == 0 && b[2][3] == 0 && b[3][3] == 0) || (b[1][1] == 0 && b[2][2] == 0 && b[3][3] == 0) || (b[1][3] == 0 && b[2][2] == 0 && b[3][1] == 0))
{
cout << "xiaoa wins.";
}
else if ((b[1][1] == 1 && b[1][2] == 1 && b[1][3] == 1) || (b[2][1] == 1 && b[2][2] == 1 && b[2][3] == 1) || (b[3][1] == 1 && b[3][2] == 1 && b[3][3] == 1) || (b[1][1] == 1 && b[2][1] == 1 && b[3][1] == 1) || (b[1][2] == 1 && b[2][2] == 1 && b[3][2] == 1) || (b[1][3] == 1 && b[2][3] == 1 && b[3][3] == 1) || (b[1][1] == 1 && b[2][2] == 1 && b[3][3] == 1) || (b[1][3] == 1 && b[2][2] == 1 && b[3][1] == 1))
{
cout << "uim wins";
}
else
{
cout << "drew";
}
return 0;
}