#include #include using namespace std; #define NMAX 10000 int bitcount(int n){ int c=0; while(n!=0){ if(n%2==1) c++; n=n>>1; } return c; } int main(){ int N; int ansmap[NMAX+1]; queue qi; cin>>N; for(int i=1;i<=N;i++) ansmap[i]=-1; ansmap[1]=1; qi.push(1); while(!qi.empty()){ int no=qi.front(); int ansn=ansmap[no]; int m=bitcount(no); qi.pop(); if(no-m>=1){ if(ansmap[no-m]==-1||ansn+1