/*题目意思,玩过牌的都能看得懂,三张牌,分谁赢谁输。简单模拟题。但是情况巨多!我设置了两个结构体,一个存,将要处理的数据,一个存处理后的数据!然后讨论处理后的情况就可以了。*/
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char s[100];
struct node
{
int val;//权值
int Max;//最大值
int Dui;//对子的值
int ot_vv[2];//当权值为2时要比较所有的数暂存此数组
node(){val=0;Max=0;Dui=0;ot_vv[0]=0,ot_vv[1]=0;}
}q,p;//两个玩家
struct pai
{
int a[3];
char c[3];
}q1,p1;//两玩家手中的牌
int check(char cc)
{
if(cc=='T') return 10;
else if(cc=='J') return 11;
else if(cc=='Q') return 12;
else if(cc=='K') return 13;
else if(cc=='A') return 14;
else return int(cc-48);
}
void init()
{
q1.a[0]=check(s[0]);
q1.c[0]=s[1];
q1.a[1]=check(s[3]);
q1.c[1]=s[4];
q1.a[2]=check(s[6]);
q1.c[2]=s[7];
p1.a[0]=check(s[9]);
p1.c[0]=s[10];
p1.a[1]=check(s[12]);
p1.c[1]=s[13];
p1.a[2]=check(s[15]);
p1.c[2]=s[16];
}
void baozi(pai q1,pai p1)
{
if(q1.a[0]==q1.a[1] && q1.a[2]==q1.a[1] )
{ if(7>q.val) {q.val=7;q.Max=q1.a[2];}}
if(p1.a[0]==p1.a[1] && p1.a[2]==p1.a[1] )
{ if(7>p.val) {p.val=7;p.Max=p1.a[2];}}
}
void tonghuashun(pai q1,pai p1)
{
if(q1.a[0]+1==q1.a[1] && q1.a[2]==q1.a[1]+1 && q1.c[0]==q1.c[1] && q1.c[1]==q1.c[2])
{ if(6>q.val) {q.val=6;q.Max=q1.a[2];}}
if(p1.a[0]+1==p1.a[1] && p1.a[2]==p1.a[1]+1 && p1.c[0]==p1.c[1] && p1.c[1]==p1.c[2])
{ if(6>p.val) {p.val=6;p.Max=p1.a[2];}}
}
void jinhua(pai q1,pai p1)
{
if(q1.c[0]==q1.c[1] && q1.c[1]==q1.c[2])
{ if(5>q.val) {q.val=5;q.Max=q1.a[2];}}
if(p1.c[0]==p1.c[1] && p1.c[1]==p1.c[2])
{ if(5>p.val) {p.val=5;p.Max=p1.a[2];}}
}
void shunzi(pai q1,pai p1)
{
if(q1.a[0]+1==q1.a[1] && q1.a[2]==q1.a[1]+1)
{ if(4>q.val) {q.val=4;q.Max=q1.a[2];}}
if(p1.a[0]+1==p1.a[1] && p1.a[2]==p1.a[1]+1)
{ if(4>p.val) {p.val=4;p.Max=p1.a[2];}}
}
void duizi(pai q1,pai p1)
{
//对子需要做特殊处理
if(q1.a[0]==q1.a[1] || q1.a[2]==q1.a[1] || q1.a[2]==q1.a[0])
{
if(3>q.val)
{
q.val=3;
if(q1.a[0]==q1.a[1]) {q.Dui=q1.a[0];q.Max=q1.a[2];}
if(q1.a[2]==q1.a[1]) {q.Dui=q1.a[1];q.Max=q1.a[0];}
if(q1.a[2]==q1.a[0]) {q.Dui=q1.a[0];q.Max=q1.a[1];}
}
}
if(p1.a[0]==p1.a[1] || p1.a[2]==p1.a[1] || p1.a[2]==p1.a[0])
{
if(3>p.val)
{
p.val=3;
if(p1.a[0]==p1.a[1]) {p.Dui=p1.a[0];p.Max=p1.a[2];}
if(p1.a[2]==p1.a[1]) {p.Dui=p1.a[1];p.Max=p1.a[0];}
if(p1.a[2]==p1.a[0]) {p.Dui=p1.a[0];p.Max=p1.a[1];}
}
}
}
void other(pai q1,pai p1)
{
if(2>q.val)
{
q.val=2;q.Max=q1.a[2];
q.ot_vv[0]=q1.a[0];
q.ot_vv[1]=q1.a[1];
}
if(2>p.val)
{
p.val=2;p.Max=p1.a[2];
p.ot_vv[0]=p1.a[0];
p.ot_vv[1]=p1.a[1];
}
}
void doing()
{
baozi(q1,p1);
tonghuashun(q1,p1);
jinhua(q1,p1);
shunzi(q1,p1);
duizi(q1,p1);
other(q1,p1);
}
void treat()
{
int ff=0;
if(q.val==p.val && q.val>2)
{
if(q.Dui>0 && q.val==3 && p.val==3)
{
if(q.Dui>p.Dui ) ff=2;
else if(q.Dui<p.Dui) ff=1;
else if(q.Dui==p.Dui && q.Max>p.Max) ff=2;
else if(q.Dui==p.Dui && q.Max<p.Max) ff=1;
}
else if(q.Max>p.Max) ff=2;
else if(q.Max=p.Max) ff=1;
}
else if(q.val==p.val && q.val==2)
{
if(q.Max>p.Max) ff=2;
else if(q.Max==p.Max && q.ot_vv[1]>p.ot_vv[1]) ff=2;
else if(q.Max==p.Max && q.ot_vv[1]==p.ot_vv[1] && q.ot_vv[0]>p.ot_vv[0]) ff=2;
else if(q.Max==p.Max && q.ot_vv[1]==p.ot_vv[1] && q.ot_vv[0]==p.ot_vv[0]) ff=0;
else ff=1;
}
else if(q.val>p.val) ff=2;
else ff=1;
if(ff==2) cout<<"LaoPei wins!"<<endl;
else if(ff==1) cout<<"A q wins!"<<endl;
else cout<<"Oh my god, who wins, Debugcool knows!"<<endl;
}
void yuchuli()
{
//程序预处理
q.Dui=0;q.Dui=0;q.val=0;
p.Dui=0;p.Dui=0;p.val=0;
q.ot_vv[0]=0,q.ot_vv[1]=0;
p.ot_vv[0]=0,p.ot_vv[1]=0;
}
int main ()
{
//freopen("3.txt","r",stdin);
//freopen("a.in","r",stdin);
//freopen("3.txt","w",stdout);
while(gets(s))
{
//cout<<s<<endl;
yuchuli();
init();
sort(q1.a,q1.a+3);
sort(p1.a,p1.a+3);
//cout<<q1.a[0]<<" "<<q1.a[1]<<" "<<q1.a[2]<<" "<<q1.c[0]<<" "<<q1.c[1]<<" "<<q1.c[2]<<endl;
//cout<<p1.a[0]<<" "<<p1.a[1]<<" "<<p1.a[2]<<" "<<p1.c[0]<<" "<<p1.c[1]<<" "<<p1.c[2]<<endl;
doing();
//cout<<p.Dui<<" "<<p.Max<<" "<<p.val<<endl;
//cout<<q.Dui<<" "<<q.Max<<" "<<q.val<<endl;
treat();
memset(s,'\0',sizeof(s));
}
return 0;
}