from sortedcontainers import SortedSet, SortedList, SortedDict n=int(input()) a=list(map(int,input().split())) b=[10**10 for i in range(n)] b[0]=0 c=[0 for _ in range(n)] c[0]=n-1 d=SortedSet([(0,1),(a[0],1),(n+1,0)]) for i in range(1,n): e=d.bisect_right((a[i],0)) x=d[e-1][0] y=d[e][0] c[i]=y-x-2 b[i]=d[e-1][1] d.pop(e-1) d.add((x,b[i]+1)) d.add((a[i],b[i]+1)) print(*b) print(*c)