
#include <cstdio>
#include <queue>
#include <algorithm>
using namespace std;
const int MAX = 100001;
queue<int> q;
int i, n, k;
bool visited[MAX];
int cnt = 0;
int main() {
scanf("%d %d", &n, &k);
q.push(n);
while(1) {
int size = q.size();
for (i = 0; i < size; i++) {
n = q.front();
q.pop();
if (n == k) {
printf("%d", cnt);
return 0;
}
if (n > 0 && visited[n-1] == 0) {
q.push(n-1);
visited[n-1] = 1;
}
if (n < 100000 && visited[n+1]== 0) {
q.push(n+1);
visited[n+1] = 1;
}
if (n*2 <= 100000 && visited[n*2]== 0) {
q.push(n*2);
visited[n*2] = 1;
}
}
cnt++;
}
return 0;
}