#include <bits/stdc++.h>
using namespace std;
int T;
struct zhui{
int a,v;
};
queue<zhui>p;
bool vis[200100];
int x,y;
signed main() {
cin>>T;
while(T--){
while(!p.empty())p.pop();
cin>>x>>y;
memset(vis,0,sizeof(vis));
p.push(zhui{x,0});
while(!p.empty()){
zhui t=p.front();p.pop();
if(t.a<1||t.a>2*y||vis[t.a])continue;
if(t.a==y){
cout<<t.v<<'\n';
break;
}
vis[t.a]=1;
p.push(zhui{t.a+1,t.v+1});
p.push(zhui{t.a-1,t.v+1});
p.push(zhui{t.a*2,t.v+1});
}
}
return 0;
}