while True:
    try:
        m = int(input())
        s = []
        for i in range(1, m**3):  # 最大基数一定小于基数之和,即:m**3
            if i%2 != 0:
                s.append(i)  # 将1到m**3的基数,从小到大逐一追加到列表 s
                if m ** 3 == sum(s[-m:]):
                    s = s[-m:]  # 如果追加某个基数后,列表最后m位之和正好等于 m**3 时,将列表 s 重新赋值为所要找的那 m 个基数
                    break   # 找到那 m 个基数结束当前循环以节约时间
        result = str(s[0])  # 输出结果初始赋值列表s的第一个数
        for k in range(1, m):
            result += '+'+str(s[k])
        print(result)
    except:
        break