#参考了BSF的题解
#思路:深度优先搜索每一种走法,搜索完毕之后存到列表中
res = []#结果
#深搜
def dfs(wait, stack, out):#参数为等待进栈列表、栈列表、已出栈列表
if not wait and not stack:#等待进栈为空且栈为空,全部已经出栈,将出栈列表转化为结果
res.append(' '.join([str(i) for i in out]))
if wait: #等待进栈不为空,可以进栈
dfs(wait[1:], stack + [wait[0]], out)
if stack: #栈不为空,可以出栈
dfs(wait, stack[:-1], out + [stack[-1]])
n=int(input())
nums=[int(i) for i in input().split()]
dfs(nums, [], [])
for i in sorted(res):
print(i)

京公网安备 11010502036488号