#include<bits/stdc++.h>
using namespace std;
const int maxn=100000+10;
typedef pair<int,int> ii;

int n;
vector<ii> a[maxn];
int color[maxn];
int d[maxn]={0};
int avl[maxn]={0};

void DFS(int u){
    avl[u]=1;
    for(int i=0;i<a[u].size();i++){
        int v=a[u][i].first;int w=a[u][i].second;
        if (avl[v]==0){
            d[v]=d[u]^w;
            DFS(v);
        }
    }
}

int main(){
    cin>>n;
    for(int i=1;i<=n-1;i++){
        int u,v,w;
        cin>>u>>v>>w;w=w%2;
        a[u].push_back(ii(v,w));
        a[v].push_back(ii(u,w));
    }
    DFS(1);
    for(int i=1;i<=n;i++) cout<<d[i]<<endl;
}
