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


import sys

def solve():
    data = sys.stdin.read().split()
    if not data:
        return
    n = int(data[0])
    
    res = []
    
    def dfs(rem, max_val, path):
        if rem == 0:
            res.append("+".join(map(str, path)))
            return
        for i in range(min(max_val, rem), 0, -1):
            path.append(i)
            dfs(rem - i, i, path)
            path.pop()
            
    dfs(n, n, [])
    sys.stdout.write("\n".join(res) + "\n")
    
if __name__ == "__main__":
    solve()