output_description: The output consists of two lines. The first line contains a_1, a_2, ..., a_N
  seperated by a space. The second line contains b_1, b_2, ..., b_N seperated by
  a space.
  
  It can be shown that there always exists a solution for any input satisfying
  the constraints.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N
      p_1 p_2 ... p_N
attempt: import sys, queue, math, copy, itertools, bisect, collections, heapq
  
  
  def main():
      sys.setrecursionlimit(10**7)
      INF = 10**18
      MOD = 10**9 + 7
      LI = lambda: [int(x) for x in sys.stdin.readline().split()]
      NI = lambda: int(sys.stdin.readline())
      SI = lambda: sys.stdin.readline().rstrip()
  
      n = NI()
      a = [0] * (n + 1)
      b = [0] * (n + 1)
  
      for i, p in enumerate(LI()):
          a[p - 1] += i
          b[0] += i
          b[p] -= i
  
      ans_a = []
      ans_b = []
      cnt_a = 0
      cnt_b = 0
      for i in range(n):
          cnt_a += a[i]
          cnt_b += b[i]
          ans_a.append(cnt_a + i + 1)
          ans_b.append(cnt_b + (n - i))
      print(*ans_a, sep=" ")
      print(*ans_b, sep=" ")
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  You are given a permutation p of the set {1, 2, ..., N}. Please construct two
  sequences of positive integers a_1, a_2, ..., a_N and b_1, b_2, ..., b_N
  satisfying the following conditions:
  
    * 1 \leq a_i, b_i \leq 10^9 for all i
    * a_1 < a_2 < ... < a_N
    * b_1 > b_2 > ... > b_N
    * a_{p_1}+b_{p_1} < a_{p_2}+b_{p_2} < ... < a_{p_N}+b_{p_N}
samples: [{"input": "2\n    1 2", "output": "1 4\n    5 4\n    \n\na_1 + b_1 = 6 and a_2 + b_2 = 8. So this output satisfies all conditions.\n\n* * *"}, {"input": "3\n    3 2 1", "output": "1 2 3\n    5 3 1\n    \n\n* * *"}, {"input": "3\n    2 3 1", "output": "5 10 100\n    100 10 1"}]