#include using namespace std; typedef long long ll; #define rep(i,n) for(int i=0;i0){ if(x%2==1) ans++; x/=2; } return ans; } signed main(){ vectorcb(10100,INF); int n; cin>>n; if(n==1){ cout<<1<que; que.push(1); while(que.size()>0){ int temp=que.front(); que.pop(); if(temp+f(temp)<=n && cb[temp+f(temp)]==INF){ que.push(temp+f(temp)); cb[temp+f(temp)]=cb[temp]+1; } if(cb[temp-f(temp)]==INF){ que.push(temp-f(temp)); cb[temp-f(temp)]=cb[temp]+1; } } if(cb[n]==INF){ cout<<-1<