# 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)

京公网安备 11010502036488号