#abc021a. [abc021_a]足し算

[abc021_a]足し算

问题文

正整数 NN22 的幂 1,2,4,81,2,4,8 存在。

其中,可以使用任意多个相同的 22 的幂,以使它们的和等于 NN。请找出一种组合方式。如果有多种组合方式,则输出其中之一即可。

例如,当 N=5N=5 时,由于 5=1+2+25=1+2+2,因此可能的一种组合是 1,2,2{1,2,2}


输入

输入数据从标准输入中按以下格式给出:

NN

  • 第一行包含一个正整数 N(1N10)N (1 ≤ N ≤ 10)

输出

第一行输出组合中整数的个数 KK

接下来的 KK 行依次输出组合中的 KK 个整数。如果它们的和正好等于 NN,并且每个整数都是 22 的幂,则被视为正确答案。否则,将被视为错误答案。

请不要忘记末尾的换行符。


示例1


5

输出示例1


3
1
2
2

这是问题文中的示例。由于 5=1+2+25=1+2+2,因此这是一个正确的答案。请注意,在输出组合中整数的个数 33 之后不要遗漏。

另外,5=1+45=1+4 也是一个正确的答案,因此输出 1,41,4 也是可以接受的。


示例2


1

输出示例2


1
1