记录当前所有状态,然后一个一个驶出,累加到结果中作为下一次输入

n = int(input())
s = list(map(int, input().split()))

def fun(s):
    stack_list = [[[], []]]
    for each in s:
        tmp_stack_list = []
        for stack, result in stack_list:
            stack.append(each)  # 进栈不驶出
            tmp_stack_list.append([stack.copy(), result.copy()])
            while stack:  # 一个一个驶出
                t = stack.pop()
                result.append(t)
                tmp_stack_list.append([stack.copy(), result.copy()])
        
        stack_list = tmp_stack_list
    return stack_list

tmp = fun(s)
results = []
for stack, result in tmp:
    if not stack:
        results.append(result)      
results = sorted(results)
for each in results:
    print(" ".join(map(str, each)))