#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const int N=20000;
vector<int> adj[N];
int odl[N];
void bfs(int n){
for(int i=0; i<N; i++)
odl[i]=-1;
odl[n]=0;
queue<int> kol;
kol.push(n);
while(!kol.empty()){
int a=kol.front();
kol.pop();
for(int o: adj[a]){
if(odl[o]==-1){
odl[o]=odl[a]+1;
kol.push(o);}
}
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,m;
cin>>n>>m;
for(int i=1; i<2*max(m,n); i++)
{
adj[i].push_back(2*i);
adj[i].push_back(i-1);}
bfs(n);
cout<<odl[m]<<" ";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cXVldWU+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOPTIwMDAwOwoKdmVjdG9yPGludD4gYWRqW05dOwppbnQgb2RsW05dOwoKCgp2b2lkIGJmcyhpbnQgbil7CgkKCQoJZm9yKGludCBpPTA7IGk8TjsgaSsrKQoJb2RsW2ldPS0xOwoJb2RsW25dPTA7CgkKCXF1ZXVlPGludD4ga29sOwoJa29sLnB1c2gobik7Cgl3aGlsZSgha29sLmVtcHR5KCkpewoJCWludCBhPWtvbC5mcm9udCgpOwoJCWtvbC5wb3AoKTsKCQlmb3IoaW50IG86IGFkalthXSl7CgkJCWlmKG9kbFtvXT09LTEpewoJCQlvZGxbb109b2RsW2FdKzE7CgkJCWtvbC5wdXNoKG8pO30KCQl9CgkJCgkJCgkJCgkJCgkJCgl9CgkKCQp9CgoKCmludCBtYWluKCkgewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7CgkKCWludCBuLG07CgljaW4+Pm4+Pm07Cglmb3IoaW50IGk9MTsgaTwyKm1heChtLG4pOyBpKyspCgl7CgkKCQlhZGpbaV0ucHVzaF9iYWNrKDIqaSk7CgkJYWRqW2ldLnB1c2hfYmFjayhpLTEpO30KCQoJCgliZnMobik7CgkKCWNvdXQ8PG9kbFttXTw8IiAiOwoJCgkKCXJldHVybiAwOwp9