output_description: If there is no permutation that can generate a tree isomorphic to Takahashi's
  favorite tree, print `-1`. If it exists, print the lexicographically smallest
  such permutation, with spaces in between.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      n
      v_1 w_1
      v_2 w_2
      :
      v_{n-1} w_{n-1}
attempt: import sys
  
  input = sys.stdin.readline
  sys.setrecursionlimit(2 * 10**5)
  
  n = int(input())
  edge = [[] for i in range(n)]
  for i in range(n - 1):
      v, w = map(int, input().split())
      edge[v - 1].append(w - 1)
      edge[w - 1].append(v - 1)
  
  if n == 2:
      exit(print(1, 2))
  
  leafcnt = [0] * n
  for v in range(n):
      for nv in edge[v]:
          if len(edge[nv]) == 1:
              leafcnt[v] += 1
  
  used = [False] * n
  line = []
  
  
  def line_check(v):
      used[v] = True
      line.append(leafcnt[v])
      flag = False
      for nv in edge[v]:
          if not used[nv] and len(edge[nv]) != 1:
              if not flag:
                  line_check(nv)
                  flag = True
              else:
                  return False
      return True
  
  
  for v in range(n):
      if not used[v] and len(edge[v]) == 1 + leafcnt[v] and len(edge[v]) != 1:
          if not line:
              check = line_check(v)
              if not check:
                  exit(print(-1))
          else:
              exit(print(-1))
  
  
  line_rev = line[::-1]
  res = min(line, line_rev)
  
  res = [0] + res + [0]
  res[1] -= 1
  res[-2] -= 1
  
  ans = []
  L = 1
  for val in res:
      R = L + val
      for i in range(L + 1, R + 1):
          ans.append(i)
      ans.append(L)
      L = R + 1
  
  print(*ans)
  
problem_description: Statement
  
  Takahashi has an ability to generate a tree using a permutation
  (p_1,p_2,...,p_n) of (1,2,...,n), in the following process:
  
  First, prepare Vertex 1, Vertex 2, ..., Vertex N. For each i=1,2,...,n,
  perform the following operation:
  
    * If p_i = 1, do nothing.
    * If p_i \neq 1, let j' be the largest j such that p_j < p_i. Span an edge between Vertex i and Vertex j'.
  
  Takahashi is trying to make his favorite tree with this ability. His favorite
  tree has n vertices from Vertex 1 through Vertex n, and its i-th edge connects
  Vertex v_i and w_i. Determine if he can make a tree isomorphic to his favorite
  tree by using a proper permutation. If he can do so, find the
  lexicographically smallest such permutation.
samples: [{"input": "6\n    1 2\n    1 3\n    1 4\n    1 5\n    5 6", "output": "1 2 4 5 3 6\n    \n\nIf the permutation (1, 2, 4, 5, 3, 6) is used to generate a tree, it looks as\nfollows:\n\n![](https://img.atcoder.jp/arc095/db000b879402aed649a1516620eb1e21.png)\n\nThis is isomorphic to the given graph.\n\n* * *"}, {"input": "6\n    1 2\n    2 3\n    3 4\n    1 5\n    5 6", "output": "1 2 3 4 5 6\n    \n\n* * *"}, {"input": "15\n    1 2\n    1 3\n    2 4\n    2 5\n    3 6\n    3 7\n    4 8\n    4 9\n    5 10\n    5 11\n    6 12\n    6 13\n    7 14\n    7 15", "output": "-1"}]