#include <cstdio>
#include <queue>
using namespace std;
queue<int> q;
int d[100010];
int main()
{
//freopen("ans13.txt", "r", stdin);
//freopen("write13.txt","w",stdout);
int n,m;
scanf("%d%d",&n,&m);
d[n]=0;
q.push(n);
while(!q.empty())
{
int x=q.front();q.pop();
if(x==m) break;
if(x<m && !d[x*2])
{
d[x*2]=d[x]+1;
q.push(x*2);
}
if(x>1 && !d[x-1])
{
d[x-1]=d[x]+1;
q.push(x-1);
}
}
printf("%d",d[m]);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHF1ZXVlPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnF1ZXVlPGludD4gcTsKaW50IGRbMTAwMDEwXTsKCmludCBtYWluKCkKewogICAgCiAgICAvL2ZyZW9wZW4oImFuczEzLnR4dCIsICJyIiwgc3RkaW4pOwogICAgLy9mcmVvcGVuKCJ3cml0ZTEzLnR4dCIsInciLHN0ZG91dCk7CiAgICBpbnQgbixtOwogICAgc2NhbmYoIiVkJWQiLCZuLCZtKTsKICAgIGRbbl09MDsKICAgIHEucHVzaChuKTsKICAgIHdoaWxlKCFxLmVtcHR5KCkpCiAgICB7CiAgICAgICAgaW50IHg9cS5mcm9udCgpO3EucG9wKCk7CiAgICAgICAgaWYoeD09bSkgYnJlYWs7CiAgICAgICAgaWYoeDxtICYmICFkW3gqMl0pCiAgICAgICAgewogICAgICAgICAgICBkW3gqMl09ZFt4XSsxOwogICAgICAgICAgICBxLnB1c2goeCoyKTsKICAgICAgICB9CiAgICAgICAgaWYoeD4xICYmICFkW3gtMV0pCiAgICAgICAgewogICAgICAgICAgICBkW3gtMV09ZFt4XSsxOwogICAgICAgICAgICBxLnB1c2goeC0xKTsKICAgICAgICB9CiAgICB9CiAgICBwcmludGYoIiVkIixkW21dKTsKICAgIHJldHVybiAwOwp9