#include using namespace std; const int MAX_N = 100000 + 10; int gr[MAX_N] , cnt[MAX_N]; int find_gr(int x) { if(x == gr[x]) return x; else return gr[x] = find_gr(gr[x]); } void merge(int x , int y) { x = find_gr(x); y = find_gr(y); if(x == y) return; gr[x] = y; cnt[y] += cnt[x]; } int main() { int T; scanf("%d",&T); while(T--) { int N , ans = 0; scanf("%d",&N); for(int i = 1; i <= N; i++) gr[i] = i , cnt[i] = 1; for(int i = 1; i < N; i++) { int x , y , w; scanf("%d%d%d",&x,&y,&w); if(w == 0) merge(x , y); } for(int i = 1; i <= N; i++) ans ^= cnt[find_gr(i)]; printf("%d\n",ans); } return 0; }