#include <bits/stdc++.h>
using namespace std;
int t;
int a0,a1,b0,b1;
int ans;
int gcd(int a,int b) {
return b==0 ? a:gcd(b,a%b);
}
int func(int x) {
if(x==1 && a1!=1) {
return a1-1;
}
return a1;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>t;
while(t--) {
ans=0;
cin>>a0>>a1>>b0>>b1;
if(a0%a1!=0 || b1%b0!=0 || b1%a1!=0) {
cout<<0<<endl;
continue;
}
int ls=sqrt(b1);
for(int x=1;x<=ls;x+=func(x)) {
if(b1%x!=0) {
continue;
}
if(x/a1>=1 && gcd(x/a1,a0/a1)==1 && gcd(b1/b0,b1/x)==1) {
ans++;
}
int y=b1/x;
if(x==y || y%a1!=0) {
continue;
}
if(y/a1>=1 && gcd(y/a1,a0/a1)==1 && gcd(b1/b0,b1/y)==1) {
ans++;
}
}
cout<<ans<<endl;
}
return 0;
}