#include using namespace std; using Int = long long; const char newl = '\n'; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a void drop(const T &x){cout< vector read(size_t n){ vector ts(n); for(size_t i=0;i>ts[i]; return ts; } //INSERT ABOVE HERE signed solve(){ int n; cin>>n; map> mp; for(int i=0;i>c>>d; mp[c].emplace(d); } vector ks; for(auto&[k,v]:mp) ks.emplace_back(k); sort(ks.begin(),ks.end()); if(ks.size()==1){ cout<<"YES"< intersection; for(int l:cur) if(nxt.count(l)) intersection.emplace(l); if(intersection.size()==0){ ng=1; break; } if(intersection.size()==1){ if(nxt.size()!=1){ nxt.erase(*intersection.begin()); } cur=nxt; continue; } cur=nxt; } if(!ng) ok=1; }while(next_permutation(ks.begin(),ks.end())); cout<<(ok?"YES":"NO")<>t; while(t--) solve(); return 0; }