注意大四喜考虑全部14张牌
其他只先计数13张牌的数量 相当于再摸
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e6+5;
ll T,p1[105],p2[105],p3[105],p4[105],m;
char c;
void solve(){
memset(p1,0,sizeof p1);
memset(p2,0,sizeof p2);
memset(p3,0,sizeof p3);
memset(p4,0,sizeof p4);
bool flag=false;
for(int i=1;i<=13;i++){
cin>>m>>c;
if(c=='m')
p1[m]++;
if(c=='p')
p2[m]++;
if(c=='s')
p3[m]++; //1-9
if(c=='z')
p4[m]++; //这一种1-7
}
cin>>m>>c;
if(p1[1]==1 && p1[9]==1 && p2[1]==1 && p2[9]==1 && p3[1]==1 && p3[9]==1 && p4[1]==1 && p4[2]==1 && p4[3]==1 && p4[4]==1 && p4[5]==1 && p4[6]==1 && p4[7]==1) {
if(c=='z') //排除2z-7z不行的问题
flag=true;
if(m==1 || m==9) //害怕1z重复判断
flag=true;
}
if(p1[1]==3 && p1[2]==1 && p1[3]==1 && p1[4]==1 && p1[5]==1 && p1[6]==1 && p1[7]==1 && p1[8]==1 && p1[9]==3 && c=='m'){
flag=true;
}
if(p2[1]==3 && p2[2]==1 && p2[3]==1 && p2[4]==1 && p2[5]==1 && p2[6]==1 && p2[7]==1 && p2[8]==1 && p2[9]==3 && c=='p'){
flag=true;
}
if(p3[1]==3 && p3[2]==1 && p3[3]==1 && p3[4]==1 && p3[5]==1 && p3[6]==1 && p3[7]==1 && p3[8]==1 && p3[9]==3 && c=='s'){
flag=true;
}
if(c=='m')
p1[m]++;
if(c=='p')
p2[m]++;
if(c=='s')
p3[m]++;
if(c=='z')
p4[m]++;//1-7
if(p4[1]==3 && p4[2]==3 && p4[3]==3 && p4[4]==3){ //1-4已经有3张了 只剩1张
for(int i=1;i<=9;i++){
if(p1[i]>=2 || p2[i]>=2 || p3[i]>=2){
flag=true;
}
if(i>=5 && i<=7 && p4[i]>=2){
flag=true;
}
}
}
cout<<(flag==true?"YES":"NO")<<endl;
}
int main(){
cin>>T;
while(T--){
solve();
}
return 0;
}