#include<bits/stdc++.h>
using namespace std;
long long n,m;
bool visited[200005];
void bfs(long long n, long long m, bool visited[])
{
queue<long long> q;
q.push(n);
visited[n] = true;
long long level = 0;
while (!q.empty())
{
long long sz = q.size();
level++;
while (sz--)
{
long long t = q.front();
q.pop();
long long t1 = t*2;
long long t2 = t-1;
if (t1 == m || t2 == m)
{
cout << level;
return;
}
if (t1 >= 0 && t1 <= 100000 && !visited[t1])
{
visited[t1] = true;
q.push(t1);
}
if (t2 >= 0 && !visited[t2])
{
visited[t2] = true;
q.push(t2);
}
}
}
}
void input()
{
cin >> n >> m;
}
void solve()
{
if (n == m)
{
cout << 0;
return;
}
bfs(n, m, visited);
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgbG9uZyBuLG07CmJvb2wgdmlzaXRlZFsyMDAwMDVdOwoKdm9pZCBiZnMobG9uZyBsb25nIG4sIGxvbmcgbG9uZyBtLCBib29sIHZpc2l0ZWRbXSkKewogICAgcXVldWU8bG9uZyBsb25nPiBxOwoKICAgIHEucHVzaChuKTsKICAgIHZpc2l0ZWRbbl0gPSB0cnVlOwoKICAgIGxvbmcgbG9uZyBsZXZlbCA9IDA7CgogICAgd2hpbGUgKCFxLmVtcHR5KCkpCiAgICB7CiAgICAgICAgbG9uZyBsb25nIHN6ID0gcS5zaXplKCk7CiAgICAgICAgbGV2ZWwrKzsKCiAgICAgICAgd2hpbGUgKHN6LS0pCiAgICAgICAgewogICAgICAgICAgICBsb25nIGxvbmcgdCA9IHEuZnJvbnQoKTsKICAgICAgICAgICAgcS5wb3AoKTsKCiAgICAgICAgICAgIGxvbmcgbG9uZyB0MSA9IHQqMjsKICAgICAgICAgICAgbG9uZyBsb25nIHQyID0gdC0xOwoKICAgICAgICAgICAgaWYgKHQxID09IG0gfHwgdDIgPT0gbSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dCA8PCBsZXZlbDsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHQxID49IDAgJiYgdDEgPD0gMTAwMDAwICYmICF2aXNpdGVkW3QxXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmlzaXRlZFt0MV0gPSB0cnVlOwogICAgICAgICAgICAgICAgcS5wdXNoKHQxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHQyID49IDAgJiYgIXZpc2l0ZWRbdDJdKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2aXNpdGVkW3QyXSA9IHRydWU7CiAgICAgICAgICAgICAgICBxLnB1c2godDIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIGlucHV0KCkKewogICAgY2luID4+IG4gPj4gbTsKfQoKdm9pZCBzb2x2ZSgpCnsKICAgIGlmIChuID09IG0pCiAgICB7CiAgICAgICAgY291dCA8PCAwOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBiZnMobiwgbSwgdmlzaXRlZCk7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgaW5wdXQoKTsKICAgIHNvbHZlKCk7Cn0KCg==