优秀的拆分
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
一般来说,一个正整数可以拆分成若干个正整数的和。例如,, 等。
对于正整数 的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下, 被分解成若干个不同的 的正整数次幂。注意,一个数 能表示成 的正整数次幂,当且仅当 能通过正整数个 相乘得到。
例如, 是一个优秀的拆分。但是, 不是一个优秀的拆分,因为 不是 的正整数次幂。
现在给定正整数 ,请判断是否存在优秀的拆分。若存在,请给出具体的拆分方案。
输入格式
从 power.in 读入。输入文件只有一行,包含一个正整数 。
输出格式
向 power.out 输出。如果存在优秀的拆分,从大到小输出拆分中的每个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案唯一。
如果不存在优秀的拆分,输出 -1。
样例
6
4 2
7
-1
样例说明
是优秀的拆分; 不是,因为拆分出的数没有两两不同。
数据范围与提示
对于 的数据,。
对于另外 的数据,保证 为奇数。
对于另外 的数据,保证 为 的正整数次幂。
对于 的数据,。
对于 的数据,。