#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[20],b[20],na,nb;
bool cmp(int aa,int bb)
{
return aa<bb;
}
void in()
{
int i;
char s1[20],s2[20];
scanf("%s%s",s1,s2);
na=strlen(s1);
nb=strlen(s2);
for(i=0;i<na;i++)
{
if(s1[i]=='T')
a[i]=8;
else if(s1[i]=='J')
a[i]=9;
else if(s1[i]=='Q')
a[i]=10;
else if(s1[i]=='K')
a[i]=11;
else if(s1[i]=='A')
a[i]=12;
else if(s1[i]=='2')
a[i]=13;
else if(s1[i]=='X')
a[i]=14;
else if(s1[i]=='Y')
a[i]=15;
else
a[i]=s1[i]-'0'-2;
}
for(i=0;i<nb;i++)
{
if(s2[i]=='T')
b[i]=8;
else if(s2[i]=='J')
b[i]=9;
else if(s2[i]=='Q')
b[i]=10;
else if(s2[i]=='K')
b[i]=11;
else if(s2[i]=='A')
b[i]=12;
else if(s2[i]=='2')
b[i]=13;
else if(s2[i]=='X')
b[i]=14;
else if(s2[i]=='Y')
b[i]=15;
else
b[i]=s2[i]-'0'-2;
}
sort(a,a+na,cmp);
sort(b,b+nb,cmp);
}
bool j0()//0
{
int i;
if(na>6)
return 0;
if(na==1||na==0)
return 1;
if(na==2)
{
if(a[0]==a[1]||(a[0]==14&&a[1]==15))
return 1;
}
else if(na==3)
{
if(a[0]==a[1]&&a[1]==a[2])
return 1;
}
else if(na==4)
{
if(a[0]==a[1]&&a[1]==a[2])
return 1;
if(a[1]==a[2]&&a[2]==a[3])
return 1;
}
else if(na==5)
{
if(a[0]==a[1]&&a[1]==a[2]&&a[3]==a[4])
return 1;
if(a[0]==a[1]&&a[2]==a[3]&&a[3]==a[4])
return 1;
}
else
{
if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3])
return 1;
if(a[1]==a[2]&&a[2]==a[3]&&a[3]==a[4])
return 1;
if(a[2]==a[3]&&a[3]==a[4]&&a[4]==a[5])
return 1;
}
return 0;
}
int j1()//zz
{
int i,j;
if(a[na-1]==15&&a[na-2]==14)
return 1;
if(nb>1)
{
if(b[nb-1]==15&&b[nb-2]==14)
return -1;
}
for(i=na-1;i>2;i--)
if(a[i]==a[i-1]&&a[i-1]==a[i-2]&&a[i-2]==a[i-3])
break;
for(j=nb-1;j>2;j--)
if(b[j]==b[j-1]&&b[j-1]==b[j-2]&&b[j-2]==b[j-3])
break;
if(i>2&&j<3)
return 1;
if(j>2&&i<3)
return -1;
if(i>2&&j>2)
{
if(a[i]>b[j])
return 1;
if(a[i]<b[j])
return -1;
}
return 0;
}
bool j2()//1
{
return a[na-1]>=b[nb-1];
}
bool j3()//2
{
int i,j;
for(i=na-1;i>0;i--)
if(a[i]==a[i-1])
break;
if(i==0)
return 0;
if(nb<2)
return 1;
for(j=nb-1;j>0;j--)
if(b[j]==b[j-1])
break;
if(j==0)
return 1;
return a[i]>=b[j];
}
bool j4()//3
{
int i,j,ii,jj;
if(na<3)
return 0;
for(i=na-1;i>1;i--)
if(a[i]==a[i-1]&&a[i-1]==a[i-2])
break;
if(i==1)
return 0;
for(j=nb-1;j>1;j--)
if(b[j]==b[j-1]&&b[j-1]==b[j-2])
break;
if(j==1)
return 1;
if(a[i]>b[j])
return 1;
if(na>3&&nb==3)
return 1;
for(ii=na-1;ii>0;ii--)
{
if(a[ii]==a[i])
continue;
if(a[ii]==a[ii-1])
break;
}
if(ii==0)
return 0;
for(jj=nb-1;jj>0;jj--)
{
if(b[jj]==b[j])
continue;
if(b[jj]==b[jj-1])
break;
}
if(jj==0)
return 1;
return 0;
}
int main()
{
int exp,t;
scanf("%d",&exp);
while(exp--)
{
in();
if(na==0)
{
puts("Yes");
continue;
}
else if(nb==0)
{
puts("No");
continue;
}
if(j0())
puts("Yes");
else
{
t=j1();
if(t==1)
puts("Yes");
else if(t==-1)
puts("No");
else
{
if(j2()||j3()||j4())
puts("Yes");
else
puts("No");
}
}
}
}