#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10;
int mu[N];
int book[N],cnt,prime[N];
long long sum[N],p[N];
int main(){
int t;
cin>>t;
mu[1]=book[1]=1;
for(int i=2;i<=1e7;i++){
if(!book[i])prime[++cnt]=i,mu[i]=-1;
for(int j=1;prime[j]*i<=1e7&&prime[j]<=cnt;j++){
book[prime[j]*i]=1;
if(i%prime[j]==0){
mu[i*prime[j]]=0;
break;
}
mu[i*prime[j]]=-mu[i];
}
}
for(int i=1;i<=cnt;i++)for(int j=1;prime[i]*j<=1e7;j++)p[prime[i]*j]+=mu[j];
for(int i=1;i<=1e7;i++)sum[i]=sum[i-1]+p[i];
while(t--){
int n,m;
long long ans=0;
cin>>n>>m;
if(n>m)swap(n,m);
int l=1;
while(l<=n){
int r;
if(n/l==0)r=n+1;
else r=min(n/(n/l),m/(m/l));
ans+=(long long)(n/l)*(m/l)*(sum[r]-sum[l-1]);
l=r+1;
}
cout<<ans<<endl;
}
return 0;
}