1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 10000001
4 int t,n,m,k,mu[N],vis[N],p[N];
5 long long ans,f[N];
6 void linear(){
7 mu[1]=1;
8 for(int i=2;i<N;i++){
9 if (!vis[i]){
10 p[++p[0]]=i;
11 mu[i]=-1;
12 f[i]=1;
13 }
14 for(int j=1;i*p[j]<N;j++){
15 vis[i*p[j]]=1;
16 if (i%p[j]){
17 mu[i*p[j]]=-mu[i];
18 f[i*p[j]]=mu[i]-f[i];
19 }
20 else{
21 mu[i*p[j]]=0;
22 f[i*p[j]]=mu[i];
23 break;
24 }
25 }
26 }
27 for(int i=1;i<N;i++)f[i]+=f[i-1];
28 }
29 int main(){
30 scanf("%d",&t);
31 linear();
32 while (t--){
33 scanf("%d%d",&n,&m);
34 if (n>m)swap(n,m);
35 ans=0;
36 for(int i=1,j;i<=n;i=j+1){
37 j=min(n/(n/i),m/(m/i));
38 ans+=(f[j]-f[i-1])*(n/i)*(m/i);
39 }
40 printf("%lld\n",ans);
41 }
42 }