RT
#include<bits/stdc++.h>
using namespace std;
int T,n,x[10000005],y[10000005],opt[10000005];
map<int,int>f;
bool flag;
int find(int now) {
if(now==f[now])return now;
return f[now]=find(f[now]);
}
int main() {
scanf("%d",&T);
while(T--) {
scanf("%d",&n);
flag=true;
f.clear();
for(int i=1; i<=n; i++) {
scanf("%d%d%d",&x[i],&y[i],&opt[i]);
f[x[i]]=x[i];
f[y[i]]=y[i];
}
for(int i=1; i<=n; i++) {
int ex=find(x[i]),ey=find(y[i]);
if(opt[i])f[ex]=ey;
else {
if(ex==ey) {
flag=false;
break;
}
}
}
if(flag)puts("YES");
else puts("NO");
}
}