#include<bits/stdc++.h>
using namespace std;
vector<pair<int,bool>> g[101111];
bool vis[201111];
bool col[101111];
void dfs(int x)
{
    vis[x] = 1;
    for(int i=0;i<g[x].size();++i)
    {
        if(!vis[g[x][i].first])
        {
            col[g[x][i].first] = col[x] ^ g[x][i].second;
            dfs(g[x][i].first);
        }
    }
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<n;++i)
    {
        int x,y,w;
        cin>>x>>y>>w;
        g[x].push_back({y,w%2});
        g[y].push_back({x,w%2});
    }
    dfs(1);
    for(int i=1;i<=n;++i)
    {
        cout<<col[i]<<endl;
    }
}