output_description: If no permutation satisfies the condition, print `-1`.
  
  Otherwise, print a permutation satisfying the condition, with space in
  between. If there are multiple solutions, you can print any of them.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_1 b_1
      a_2 b_2
      \vdots
      a_{N-1} b_{N-1}
attempt: from collections import deque
  import sys
  import copy
  
  sys.setrecursionlimit(10**6)
  
  
  def dfs(tree, cursor, parent):
      rtn = deque()
      for child in tree[cursor]:
          notme = copy.copy(tree[cursor])
          notme.remove(child)
          for mago in tree[child]:
              if parent != 0:
                  rtn.append((parent, mago))
                  rtn += deque([(c2, mago) for c2 in notme])
          rtn += dfs(tree, child, cursor)
      return rtn
  
  
  N = int(input())
  T = [deque() for _ in range(N + 1)]
  seen = [False] * (N + 1)
  a, b = map(int, input().split())
  a, b = min(a, b), max(a, b)
  T[a].append(b)
  seen[a] = True
  seen[b] = True
  for _ in range(N - 2):
      a, b = map(int, input().split())
      a, b = min(a, b), max(a, b)
      if not seen[a]:
          T[b].append(a)
      else:
          T[a].append(b)
      seen[a] = True
      seen[b] = True
  dist3s = dfs(T, 1, 0)
  print(dist3s)
  
problem_description: Statement
  
  We have a tree with N vertices. The vertices are numbered 1 to N, and the i-th
  edge connects Vertex a_i and Vertex b_i.
  
  Takahashi loves the number 3. He is seeking a permutation p_1, p_2, \ldots ,
  p_N of integers from 1 to N satisfying the following condition:
  
    * For every pair of vertices (i, j), if the distance between Vertex i and Vertex j is 3, the sum or product of p_i and p_j is a multiple of 3.
  
  Here the distance between Vertex i and Vertex j is the number of edges
  contained in the shortest path from Vertex i to Vertex j.
  
  Help Takahashi by finding a permutation that satisfies the condition.
samples: [{"input": "5\n    1 2\n    1 3\n    3 4\n    3 5", "output": "1 2 5 4 3 \n    \n\nThe distance between two vertices is 3 for the two pairs (2, 4) and (2, 5).\n\n  * p_2 + p_4 = 6\n  * p_2\\times p_5 = 6\n\nThus, this permutation satisfies the condition."}]