# 2024年9月25日 
ls = []
def f(wait,stack,out): # 找到所有的出站方案
    if not wait and not stack:
        ls.append(' '.join(map(str,out)))
    if wait:
        f(wait[1:],stack+[wait[0]],out)
    if stack:
        f(wait,stack[:-1],out+[stack[-1]])


N = int(input())
lst = list(map(int,input().split()))
f(lst,[],[])
ls.sort()
for i in ls:
    print(i)