#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
int v[200005];
int main() {
int n,k;
scanf("%d %d",&n,&k);
if (n>k) {
printf("%d",n-k);
return 0;
}
for (int i=1;i<=2k;i++) {
v[i]=-1;
}
queue<int> que;
que.push(n);
int m=2k;
v[n]=0;
while (!que.empty()) {
int t=que.front();
que.pop();
if (tk) break;
if (t-1>=0&&v[t-1]-1) {
que.push(t-1);
v[t-1]=v[t]+1;
}
if (t2<=m&&v[t2]-1) {
que.push(t2);
v[t2]=v[t]+1;
}
if (t+1<=k&&v[t+1]-1) {
que.push(t+1);
v[t+1]=v[t]+1;
}
}
printf("%d",v[k]);
return 0;
}