#include <bits/stdc++.h>
using namespace std;
int n, m;
int bfs() {
  queue<pair<int, int> > q;
  set<int> s;
  pair<int, int> p;
  q.push(make_pair(n, 0));
  s.insert(n);
  while (!q.empty()) {
    p = q.front();
    q.pop();
    if (p.first == m) return p.second;
    if (s.count(p.first - 1) == 0) {
      q.push(make_pair(p.first - 1, p.second + 1));
      s.insert(p.first - 1);
    }
    if (p.first < m && s.count(p.first * 2) == 0) {
      q.push(make_pair(p.first * 2, p.second + 1));
      s.insert(p.first * 2);
    }
  }
}
int main() {
  cin >> n >> m;
  cout << bfs() << endl;
  return 0;
}
