#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read(){
int s=0;
int w=1;
char ch=getchar();
for(;ch<'0'||ch>'9';ch=getchar())
if(ch=='-')
w=-1;
for(;ch>='0'&&ch<='9';ch=getchar())
s=s*10+ch-'0';
return s*w;
}
void write(int x) {
if(x<0){
putchar('-');
x=-x;
}
if(x>9)
write(x/10);
putchar(x%10+'0');
return;
}
int t;
int a0,a1,b0,b1;
int __lcm(int a,int b){
return a*b/__gcd(a,b);
}
signed main(){
t=read();
while(t--){
int sum=0;
a0=read();
a1=read();
b0=read();
b1=read();
for(int i=1;i*i<=b1;i++)
if((!(b1%i))&&__gcd(i,a0)==a1&&__lcm(i,b0)==b1&&i*i!=b1&&__gcd(b1/i,a0)==a1&&__lcm(b1/i,b0)==b1)
sum+=2;
else if((!(b1%i))&&((__gcd(i,a0)==a1&&__lcm(i,b0)==b1)||(i*i!=b1&&__gcd(b1/i,a0)==a1&&__lcm(b1/i,b0)==b1)))
sum++;
write(sum);
cout<<"\n";
}
return 0;
}