#include <bits/stdc++.h>
using namespace std;
map <int, int> mp;
int fa[100005], a[100005], b[100005];
int find(int x) {
return fa[x] == x? x : fa[x] = find(fa[x]);
}
int main() {
int T, n, cnt, cnta, x, y, e;
cin >> T;
while (T--) {
mp.clear();
cnt = 0; cnta = 0;
cin >> n;
for (int i = 1; i <= 100000; i++) fa[i] = i;
for (int i = 1; i <= n; i++) {
cin >> x >> y >> e;
if (!mp[x]) mp[x] = ++cnt;
if (!mp[y]) mp[y] = ++cnt;
if (e == 1) {
int fax = find(mp[x]), fay = find(mp[y]);
if (fax != fay)
fa[fax] = fay;
} else {
a[++cnta] = mp[x];
b[cnta] = mp[y];
}
}
bool t = 1;
for (int i = 1; i <= cnta; i++) {
if (find(a[i]) == find(b[i])) t = 0;
}
if (!t) cout << "NO\n";
else cout << "YES\n";
}
}