output_description: Print a coloring of the vertices that satisfies the condition, in N lines. The
  i-th line should contain `0` if Vertex i is painted white and `1` if it is
  painted black.
  
  If there are multiple colorings that satisfy the condition, any of them will
  be accepted.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      u_1 v_1 w_1
      u_2 v_2 w_2
      .
      .
      .
      u_{N - 1} v_{N - 1} w_{N - 1}
attempt: import collections
  
  n = int(input())
  ls = [list(map(int, input().split())) for _ in range(n - 1)]
  es = [[] for _ in range(n + 1)]
  for u, v, w in ls:
      b = w % 2 == 0
      es[u].append([v, b])
      es[v].append([u, b])
  
  cs = [-1 for _ in range(n + 1)]
  cs[1] = 0
  q = collections.deque([1])
  while len(q) > 0:
      x = q.popleft()
      for y, b in es[x]:
          if cs[y] >= 0:
              continue
          cs[y] = cs[x] if b else 1 - cs[x]
          q.append(y)
  print(*cs[1:], sep="\n")
  
problem_description: Statement
  
  We have a tree with N vertices numbered 1 to N. The i-th edge in the tree
  connects Vertex u_i and Vertex v_i, and its length is w_i. Your objective is
  to paint each vertex in the tree white or black (it is fine to paint all
  vertices the same color) so that the following condition is satisfied:
  
    * For any two vertices painted in the same color, the distance between them is an even number.
  
  Find a coloring of the vertices that satisfies the condition and print it. It
  can be proved that at least one such coloring exists under the constraints of
  this problem.
samples: [{"input": "3\n    1 2 2\n    2 3 1", "output": "0\n    0\n    1\n    \n\n* * *"}, {"input": "5\n    2 5 2\n    2 3 10\n    1 3 8\n    3 4 2", "output": "1\n    0\n    1\n    0\n    1"}]