#include <bits/stdc++.h>
using namespace std;
int n, dis[400001], now, t, s, e;
bool vis[400001];
int bfs(){
queue<int> a;
for(int i = 0; i <= 400000; i++){
vis[i] = false;
dis[i] = 0;
}
vis[s] = true;
a.push(s);
while(!a.empty() && !vis[e]){
now = a.front();
a.pop();
t = now - 1;
if(t > 0){
if(!vis[t]){
dis[t] = dis[now] + 1;
vis[t] = true;
a.push(t);
}
}
t = now + 1;
if(t > 0){
if(!vis[t]){
dis[t] = dis[now] + 1;
vis[t] = true;
a.push(t);
}
}
t = now * 2;
if(t > 0 && t <= 400001){
if(!vis[t]){
dis[t] = dis[now] + 1;
vis[t] = true;
a.push(t);
}
}
}
return dis[e];
}
int main(){
cin >> n;
for(int i = 0; i < n; i++){
cin >> s >> e;
cout << bfs() << endl;
}
return 0;
}