n = int(input())
lis = list(map(int, input().split()))
lis.sort()
anwer = []
def dfs(dep, current):
if dep == n:
# 使用元组而不是列表来添加到anwer中,因为元组是不可变的,可以更有效地用于集合去重
anwer.append(tuple(current))
return
dfs(dep + 1, current) # 不选择当前元素
current.append(lis[dep]) # 选择当前元素
dfs(dep + 1, current) # 继续递归
current.pop() # 回溯
dfs(0, []) # 从空列表开始
使用集合来去重,然后转换回列表并打印
unique_answers = set(anwer)
for subset in unique_answers:
print(” “.join(map(str, subset)))