#include<stdio.h>
#include<queue>
using namespace std;
int m,n;
int visit[100005];
struct Node{
int a;
};
int bfs(){
Node st,ed;
st.a=m;
memset(visit,0,sizeof(visit));
myqueue.push(st);
visit[m]=1;
while(!myqueue.empty()){
ed=myqueue.front();
if(ed.a+1==n){//若农夫能抓住牛,则停止
return ed.num+1;
elseif((ed.a+1)<=100000&&visit[ed.a+1]==0){//如果下一个值符合条件且没被访问,则入栈
st.num=ed.num+1;
myqueue.push(st);
visit[ed.a+1]=1;
}
if(ed.a-1==n)
return ed.num+1;
elseif((ed.a-1)>0&&visit[ed.a-1]==0){
st.a=ed.a-1;
st.num=ed.num+1;
myqueue.push(st);
visit[ed.a-1]=1;
}
if(ed.a*2==n)
return ed.num+1;
elseif((ed.a*2)<=100000&&visit[ed.a*2]==0){
st.a=ed.a*2;
st.num=ed.num+1;
myqueue.push(st);
visit[st.a]=1;
}
myqueue.pop();
}
}
int main(){
while(scanf("%d%d",&m,&n)!=EOF){
if(m>=n)
printf("%d\n",m-n);
else{
}
}
}