Загрузка данных


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