#include using namespace std; int ret = -1; int n; map check; void calc(int cur,int cnt){ if(cur == n){ if(ret == -1)ret = cnt; else ret = min(ret,cnt); } check[cur]++; int num = 0; int tmp = cur; while(tmp > 0){ if(tmp % 2 == 1)num++; tmp /= 2; } if(cur + num <= n && check[cur+num] == 0){ calc(cur+num,cnt+1); } if(cur - num >= 1 && check[cur-num] == 0){ calc(cur-num,cnt+1); } } int main(){ cin >> n; calc(1,0); cout << ret << endl; }