#include using namespace std; const int N = 1010; const int INF = 0x3f3f3f3f; int dp[N][N]; int main() { int t; scanf("%d",&t); memset(dp,0,sizeof(dp)); for(int i = 1;i<=1000;i++) { for(int j=1;j<=i;j++){ dp[i][j] = max(max(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1]) + (__gcd(i,j) == 1?1:0); } } while(t--) { int a, b; scanf("%d %d",&a,&b); if(a < b) { swap(a,b); } printf("%d\n",dp[a][b]); } return 0; }