#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;
const int N=1e6+7;
map<int,int> mm;
void divide(int x)
{
for (int i = 2; i <= x / i; i ++ )
if (x % i == 0)
{
int s = 0;
while (x % i == 0) x /= i, s ++ ;
mm[i]=s;
}
if (x > 1) mm[x]=1;
}
int main()
{
ll t;
scanf("%lld",&t);
while(t--)
{
mm.clear();
ll g,l;
scanf("%lld%lld",&g,&l);
if(l%g!=0)
{
printf("0\n");
continue;
}
int temp=l/g;
divide(temp);
ll ans=1;
for(auto it:mm)
{
if(it.se!=0) ans=ans*it.se*6;
}
printf("%lld\n",ans);
}
}