#include<bits/stdc++.h>
using namespace std;
int t,x,y,ans,kx,f[1000000];
struct dot{int x,sum;}a,b;
queue <dot> p;
int main(){
cin>>t;
for(int i=1;i<=t;i++){
cin>>x>>y;
a.sum=0;a.x=x;
p.push(a);
memset(f,0,sizeof(f));
f[x]=1;b.x=0;b.sum=0;
while(!p.empty()){
b=p.front();
p.pop();
if(b.x==y){
cout<<b.sum<<"\n";
for(int i=1;i<=p.size()+11;i++) p.pop();
break;
}
a.sum=b.sum+1;
a.x=b.x*2;
if(f[a.x]==0&&a.x<=200050) p.push(a),f[a.x]=1;
a.x=b.x+1;
if(f[a.x]==0&&a.x<=200050) p.push(a),f[a.x]=1;
if(b.x-1>0&&f[x-1]==0){
a.x=b.x-1;
p.push(a);
f[a.x]=1;
}
}
}
return 0;
}