#include <bits/stdc++.h>
#define ll long long int
#define MAX 501
#define EPS 1e-9
#define MOD 1000000007
#define INF 10000000
#define pn() printf("\n")
#define vint vector <int>
#define vpint vector <pair<int,int> >
#define pb push_back
#define mp make_pair
#define ft first
#define sd second
#define gc() getchar_unlocked()
#define ms(x,v) memset(x,v,sizeof x)
#define pr_arr(i,x,size) for(i=0;i<size;i++) cout<<x[i]<<" "
#define ff(i,a,b) for(i=a;i<=b;i++)
#define fb(i,a,b) for(i=a;i>=b;i--)
#define gprint(i) cout<<"Case #"<<i<<": "
using namespace std;
int dp[MAX][MAX];
void init_dp()
{
int i;
for(i=0;i<MAX;i++)
{
dp[i][0]=INF;
dp[0][i]=INF;
}
}
void create_dp()
{
init_dp();
int i,j;
for(i=1;i<MAX;i++)
{
for(j=1;j<MAX;j++)
{
if(i==1 && j==1)
continue;
int gcd=__gcd(i,j);
int mini=INT_MAX;
if(gcd!=1)
{
mini=min(mini,dp[i/gcd][j/gcd]+1);
}
mini=min(mini,min(dp[i-1][j],dp[i][j-1])+1);
dp[i][j]=mini;
}
}
}
int main()
{
ios::sync_with_stdio(false);
create_dp();
int t;
cin>>t;
while(t--)
{
int n,m;
cin>>n>>m;
cout<<dp[n][m]<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nIGludAojZGVmaW5lIE1BWCA1MDEKI2RlZmluZSBFUFMgMWUtOQojZGVmaW5lIE1PRCAxMDAwMDAwMDA3CiNkZWZpbmUgSU5GIDEwMDAwMDAwCiNkZWZpbmUgcG4oKSBwcmludGYoIlxuIikKI2RlZmluZSB2aW50IHZlY3RvciA8aW50PgojZGVmaW5lIHZwaW50IHZlY3RvciA8cGFpcjxpbnQsaW50PiA+CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgZnQgZmlyc3QKI2RlZmluZSBzZCBzZWNvbmQKI2RlZmluZSBnYygpIGdldGNoYXJfdW5sb2NrZWQoKQojZGVmaW5lIG1zKHgsdikgbWVtc2V0KHgsdixzaXplb2YgeCkKI2RlZmluZSBwcl9hcnIoaSx4LHNpemUpIGZvcihpPTA7aTxzaXplO2krKykgY291dDw8eFtpXTw8IiAiCiNkZWZpbmUgZmYoaSxhLGIpIGZvcihpPWE7aTw9YjtpKyspCiNkZWZpbmUgZmIoaSxhLGIpIGZvcihpPWE7aT49YjtpLS0pCiNkZWZpbmUgZ3ByaW50KGkpIGNvdXQ8PCJDYXNlICMiPDxpPDwiOiAiCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZHBbTUFYXVtNQVhdOwoKdm9pZCBpbml0X2RwKCkKewoJaW50IGk7Cglmb3IoaT0wO2k8TUFYO2krKykKCXsKCQlkcFtpXVswXT1JTkY7CgkJZHBbMF1baV09SU5GOwoKCX0KfQoKdm9pZCBjcmVhdGVfZHAoKQp7Cglpbml0X2RwKCk7CglpbnQgaSxqOwoJZm9yKGk9MTtpPE1BWDtpKyspCgl7CgkJZm9yKGo9MTtqPE1BWDtqKyspCgkJewoJCQlpZihpPT0xICYmIGo9PTEpCgkJCQljb250aW51ZTsKCQkJaW50IGdjZD1fX2djZChpLGopOwoJCQlpbnQgbWluaT1JTlRfTUFYOwoJCQlpZihnY2QhPTEpCgkJCXsKCQkJCW1pbmk9bWluKG1pbmksZHBbaS9nY2RdW2ovZ2NkXSsxKTsKCQkJfQoJCQltaW5pPW1pbihtaW5pLG1pbihkcFtpLTFdW2pdLGRwW2ldW2otMV0pKzEpOwoJCQlkcFtpXVtqXT1taW5pOwoJCX0KCX0KCn0KCmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY3JlYXRlX2RwKCk7CiAgICBpbnQgdDsKICAgIGNpbj4+dDsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgIAlpbnQgbixtOwogICAgCWNpbj4+bj4+bTsKICAgIAljb3V0PDxkcFtuXVttXTw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9