#define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; #include using namespace std; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int t; cin>>t; while(t--){ int n; cin>>n; vector>> S(3); rep(i,n){ char c; int d; cin>>c>>d; if(c=='R'){ S[0].second.insert(d); S[0].first++; } if(c=='G'){ S[1].second.insert(d); S[1].first++; } if(c=='B'){ S[2].second.insert(d); S[2].first++; } } sort(ALL(S)); reverse(ALL(S)); if(S[1].first==0) cout<<"YES"<<'\n'; else if(S[2].first==0){ bool b=false; for(auto x:S[1].second){ if(S[0].second.count(x)){ b=true; break; } } if(b) cout<<"YES"<<'\n'; else cout<<"NO"<<'\n'; } else{ bool b=false,c=false; int y=-1; for(auto x:S[2].second){ if(S[1].second.count(x)){ b=true; y=x; break; } } for(auto x:S[1].second){ if(x==y) continue; if(S[0].second.count(x)){ c=true; break; } } if(b && c){ cout<<"YES"<<'\n'; continue; } b=false,c=false,y=-1; for(auto x:S[2].second){ if(S[0].second.count(x)){ b=true; y=x; break; } } for(auto x:S[1].second){ if(x==y) continue; if(S[0].second.count(x)){ c=true; break; } } if(b && c){ cout<<"YES"<<'\n'; continue; } b=false,c=false,y=-1; for(auto x:S[2].second){ if(S[1].second.count(x)){ b=true; y=x; break; } } for(auto x:S[2].second){ if(x==y) continue; if(S[0].second.count(x)){ c=true; break; } } if(b && c) cout<<"YES"<<'\n'; else cout<<"NO"<<'\n'; } } return 0; }