#include using namespace std; int main() { int n; cin >> n; // 奇数直接输出-1 if (n % 2) { cout << -1 << endl; return 0; } vector powers; // 从高位到低位检查每一位(2^1到2^30) for (int i = 30; i >= 1; --i) { int power = 1 << i; // 计算2^i if (n >= power) { powers.push_back(power); n -= power; } } // 输出结果 for (int i = 0; i < powers.size(); i++) { if (i > 0) cout << " "; cout << powers[i]; } return 0; }