#include <bits/stdc++.h>
#define nmax 100005

using namespace std;

vector <pair <int,int>> g[nmax];
int color[nmax];

void solve(int u, int par, int dist){
    color[u]=dist;
    for(auto v:g[u]){
        if(v.first!=par){
            solve(v.first,u,(dist+v.second)&1);
        }
    }
}

int main(){
    int n;
    cin >> n;
    for(int i=0,u,v,w;i<n-1;i++){
        cin >> u >> v >> w;
        u--,v--;
        g[u].emplace_back(v,w);
        g[v].emplace_back(u,w);
    }
    solve(0,-1,0);
    for(int i=0;i<n;i++){
        cout << color[i] << endl;
    }
    return 0;
}
