#include <iostream>
using namespace std;
int GRA(int a, int b)
{
if (a==b) return a+b;
else if ((a==1)||(b==1)) return 2;
else if ((a==2)&&(b%2==0)) return 4;
else if ((a==2)&&(b%2==1)) return 2;
else if ((b==2)&&(a%2==0)) return 4;
else if ((b==2)&&(a%2==1)) return 2;
else if (a<b)
{
b=b-a;
return GRA(a,b);
}
else if (a>b)
{
a=a-b;
return GRA(a,b);
}
}
int main()
{
int ile_krokow;
int GRACZ_A=0, GRACZ_B=0;
cin>>ile_krokow;
for (int i=0; i<ile_krokow; i++)
{
cin >>GRACZ_A>>GRACZ_B;
cout<<GRA(GRACZ_A, GRACZ_B)<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBHUkEoaW50IGEsIGludCBiKQp7CiAgICBpZiAoYT09YikgcmV0dXJuIGErYjsKICAgIGVsc2UgaWYgKChhPT0xKXx8KGI9PTEpKSByZXR1cm4gMjsKICAgIGVsc2UgaWYgKChhPT0yKSYmKGIlMj09MCkpIHJldHVybiA0OwogICAgZWxzZSBpZiAoKGE9PTIpJiYoYiUyPT0xKSkgcmV0dXJuIDI7CiAgICBlbHNlIGlmICgoYj09MikmJihhJTI9PTApKSByZXR1cm4gNDsKICAgIGVsc2UgaWYgKChiPT0yKSYmKGElMj09MSkpIHJldHVybiAyOwogICAgZWxzZSBpZiAoYTxiKQogICAgewogICAgICAgIGI9Yi1hOwogICAgICAgIHJldHVybiBHUkEoYSxiKTsKICAgIH0KICAgIGVsc2UgaWYgKGE+YikKICAgIHsKICAgICAgICBhPWEtYjsKICAgICAgICByZXR1cm4gR1JBKGEsYik7CiAgICB9CiAgICB9CmludCBtYWluKCkKewogICAgaW50IGlsZV9rcm9rb3c7CiAgICBpbnQgR1JBQ1pfQT0wLCBHUkFDWl9CPTA7CiAgICBjaW4+PmlsZV9rcm9rb3c7CiAgICBmb3IgKGludCBpPTA7IGk8aWxlX2tyb2tvdzsgaSsrKQogICAgewogICAgICAgIGNpbiA+PkdSQUNaX0E+PkdSQUNaX0I7CiAgICAgICAgY291dDw8R1JBKEdSQUNaX0EsIEdSQUNaX0IpPDxlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cgp9Cg==