#include <bits/stdc++.h>
using namespace std;
long long cnt,a0,a1,b0,b1,t;
long long gcd(long long x,long long y){
if(x==1) return y;
if(y==1) return x;
if(x%y==0&&x>y) return x;
if(y%x==0&&y>x) return y;
int maxn=1;
for(long long i=2;i<max(x,y);i++){
if(x%i==0&&y%i==0&&maxn<i){
maxn=i;
}
}
return maxn;
}
long long lcm(long long x,long long y){
if(x==1) return y;
if(y==1) return x;
if(x%y==0&&x>y) return x;
if(y%x==0&&y>x) return y;
int maxn=1;
for(long long i=2;i<=y-1;i++){
if(x%i==0&&y%i==0&&maxn<i){
maxn=i;
}
}
return maxn*(x/maxn)*(y/maxn);
}
int main(){
cin>>t;
while(t--){
cin>>a0>>a1>>b0>>b1;
for(long long i=1;i<=max(max(max(a0,a1),b0),b1);i++){
if(gcd(i,a0)==a1&&lcm(i,b0)==b1){
cnt++;
}
}
cout<<cnt<<endl;
cnt=0;
}
return 0;
}