#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e7;
int p[N+10],cnt,v[N+10],u[N+10];ll g[N+10];
void init(){
u[1]=1;
for(int i=2;i<=N;++i){
if(!v[i]){
u[i]=-1;
p[++cnt]=i;
}
for(int j=1;j<=cnt&&i*p[j]<=N;++j){
int k=i*p[j];v[k]=1;
if(i%p[j]){
u[k]=-u[i];
}else{
u[k]=0;
break;
}
}
}
for(int i=2;i<=N;++i)
if(u[i]!=0)
for(ll j=i;j<=N;j*=i)g[j]=-u[i];
for(int i=1;i<=N;++i)g[i]+=g[i-1];
}
int main(){
init();
int T;
cin>>T;
while(T--){
int a,b;
scanf("%d%d",&a,&b);
ll ans=0;
for(int i=1,j;i<=min(a,b);i=j+1){
j=min(a/(a/i),b/(b/i));
ans=ans+(g[j]-g[i-1])*(a/i)*(b/i);
}
cout<<ans<<endl;
}
}