#include using namespace std; #include using namespace atcoder; using ll=long long; using Graph=vector>>; #define INF 1000000000000000000 #define MOD 998244353 #define MAX 1000000 int main(){ ll N; cin>>N; if(0==N){ cout<<-1<<'\n'; }else{ vector ans; int x=0; for(int i=40;i>=0;i--){ int a=((N>>i)&1); if(a^x==1){ ans.push_back(1LL<