#210. 优秀的拆分

优秀的拆分

题目描述

给定一个正整数 nn,判断是否存在一种拆分方式,使得 nn 被分解为若干个不同的 22 的正整数次幂的和。如果存在这样的拆分,输出从大到小的拆分方案;否则输出 1-1

输入格式

输入一个整数 nn

输出格式

如果存在优秀的拆分,输出从大到小的拆分方案,相邻数字用空格隔开;否则输出 1-1

样例

输入 #1

6

输出 #1

4 2

输入 #2

7

输出 #2

-1

数据范围与提示

  • 对于 20%20\% 的数据,n10n \le 10
  • 对于另外 20%20\% 的数据,nn 为奇数;
  • 对于另外 20%20\% 的数据,nn22 的正整数次幂;
  • 对于 80%80\% 的数据,n1024n \le 1024
  • 对于 100%100\% 的数据,1n1071 \le n \le 10^7