学长和学姐正在琢磨一道有趣的题,一个正整数可以拆成其他若干个正整数的和,如1=1,3=1+2,15=1+2+3+4+5 等。对于正整数 n 的一种特定拆分,我们称它为“帅气的”,当且仅当在这种拆分下,n 被分解为了若干个不同的 2 的正整数次幂。 例如: 10=8+2=2^3+2^1,是一个帅气的拆分; 但 15=8+4+2+1=2^3+2^2+2^1+2^0,不是一个帅气的拆分,因为 1 不是 2 的正整数幂;
输入只有一行,一个正整数 n(n<10000000),代表需要判断的数。
如果这个数的所有拆分中,存在帅气的拆分。那么,你需要从大到小输出这个拆分中的每一个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。若不存在帅气的拆分,输出“-1”(不包含双引号)。
6
4 2