#include<bits/stdc++.h>
using namespace std;
int n,q[10000005],a[1000005];
int BFS(){
int tail=1,head=0;
a[1]=0;
while(head<tail){
int t=q[head++];
if(t==n) return a[n]-1;
for(int i=0;i<3;i++){
int nt;
if(i==0&&t+1<=n) nt=t+1;
if(i==1&&t-1>0) nt=t-1;
if(i==2&&t*2<=n) nt=t*2;
q[tail++]=nt;
if(a[nt]>a[t]+1) a[nt]=a[t]+1;
if(a[nt]==0) a[nt]=a[t]+1;
}
}
}
int main(){
scanf("%d",&n);
printf("%d",BFS());
return 0;
}
10分,为何