#include using namespace std; using ll=long long; ll N; int main(){ vector> v(50); v[0].first=v[0].second=1; for(int i=1;i<50;++i){ v[i].second=1LL<>N; if(N==0){ puts("-1"); return 0; } vector ans; for(auto&[fa,a]:v){ if(N>(N^fa)){ N^=fa; ans.emplace_back(a); } } cout<