import sys
def find_partitions(remaining, max_val, current_partition):
if remaining == 0:
print("+".join(map(str, current_partition)))
return
for i in range(min(remaining, max_val), 0, -1):
current_partition.append(i)
find_partitions(remaining - i, i, current_partition)
current_partition.pop()
def solve():
line = sys.stdin.read().strip()
if not line:
return
n = int(line)
find_partitions(n, n, [])
if __name__ == "__main__":
solve()