output_description: If there is no sequence of N operations after which a would be equal to b,
  print `-1`. If there is, print N lines. In the i-th line, the integer chosen
  in the i-th operation should be printed. If there are multiple solutions, any
  of them is accepted.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      b_1 \dots b_N
attempt: N = int(input())
  b = input()
  
  def func(a, n):
    if not a: return n
    for i in range(1, len(a)+1):
      if a[i-1] == i:
        func(a[:i-1]+a[i:], n+1)
    return -1
  
  print(func(n, 0)
problem_description: Statement
  
  Snuke has an empty sequence a.
  
  He will perform N operations on this sequence.
  
  In the i-th operation, he chooses an integer j satisfying 1 \leq j \leq i, and
  insert j at position j in a (the beginning is position 1).
  
  You are given a sequence b of length N. Determine if it is possible that a is
  equal to b after N operations. If it is, show one possible sequence of
  operations that achieves it.
samples: [{"input": "3\n    1 2 1", "output": "1\n    1\n    2\n    \n\nIn this sequence of operations, the sequence a changes as follows:\n\n  * After the first operation: (1)\n  * After the second operation: (1,1)\n  * After the third operation: (1,2,1)\n\n* * *"}, {"input": "2\n    2 2", "output": "-1\n    \n\n2 cannot be inserted at the beginning of the sequence, so this is impossible.\n\n* * *"}, {"input": "9\n    1 1 1 2 2 1 2 3 2", "output": "1\n    2\n    2\n    3\n    1\n    2\n    2\n    1\n    1"}]