#include <iostream>
#include <vector>
#include <string>
#include <cmath>
#include <queue>
#include <set>
#include <algorithm>
#define LL long long int
#define pii pair<int, int>
using namespace std;
int n, k, t[100001];
vector<int> v[100001];
bool discovered[100001] = {false};
void bfs(int start){
queue<int> q;
discovered[start] = true;
q.push(start);
int f = 1;
while(f){
int here = q.front();
q.pop();
discovered[here] = true;
for(int i=0; i<v[here].size(); i++){
int there = v[here][i];
if(!discovered[there]){
q.push(there);
discovered[there] = true;
t[there] = t[here] + 1;
if(there == k){
cout << t[there] << "\n";
f = 0;
}
}
}
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> k;
for(int i=0; i<=99999; i++) v[i].push_back(i+1);
for(int i=1; i<=100000; i++) v[i].push_back(i-1);
for(int i=2; i<=50000; i++) v[i].push_back(2*i);
bfs(n);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2RlZmluZSBMTCBsb25nIGxvbmcgaW50CiNkZWZpbmUgcGlpIHBhaXI8aW50LCBpbnQ+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbiwgaywgdFsxMDAwMDFdOwp2ZWN0b3I8aW50PiB2WzEwMDAwMV07CmJvb2wgZGlzY292ZXJlZFsxMDAwMDFdID0ge2ZhbHNlfTsKCnZvaWQgYmZzKGludCBzdGFydCl7CglxdWV1ZTxpbnQ+IHE7CglkaXNjb3ZlcmVkW3N0YXJ0XSA9IHRydWU7CglxLnB1c2goc3RhcnQpOwoJaW50IGYgPSAxOwoJd2hpbGUoZil7CgkJaW50IGhlcmUgPSBxLmZyb250KCk7CgkJcS5wb3AoKTsKCQlkaXNjb3ZlcmVkW2hlcmVdID0gdHJ1ZTsKCQkKCQlmb3IoaW50IGk9MDsgaTx2W2hlcmVdLnNpemUoKTsgaSsrKXsKCQkJaW50IHRoZXJlID0gdltoZXJlXVtpXTsKCQkJCgkJCWlmKCFkaXNjb3ZlcmVkW3RoZXJlXSl7CgkJCQlxLnB1c2godGhlcmUpOwoJCQkJZGlzY292ZXJlZFt0aGVyZV0gPSB0cnVlOwoJCQkJdFt0aGVyZV0gPSB0W2hlcmVdICsgMTsKCQkJCWlmKHRoZXJlID09IGspewoJCQkJCWNvdXQgPDwgdFt0aGVyZV0gPDwgIlxuIjsKCQkJCQlmID0gMDsKCQkJCX0KCQkJfQoJCX0KCX0KCQp9CmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogIGNpbi50aWUoTlVMTCk7CiAgY291dC50aWUoTlVMTCk7CiAgCiAgY2luID4+IG4gPj4gazsKICAKICBmb3IoaW50IGk9MDsgaTw9OTk5OTk7IGkrKykgdltpXS5wdXNoX2JhY2soaSsxKTsKCWZvcihpbnQgaT0xOyBpPD0xMDAwMDA7IGkrKykgdltpXS5wdXNoX2JhY2soaS0xKTsKCWZvcihpbnQgaT0yOyBpPD01MDAwMDsgaSsrKSB2W2ldLnB1c2hfYmFjaygyKmkpOwoJCgliZnMobik7CgkKfQ==