代碼
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int n,a0,a1,b0,b1;
int Gcd(int a,int b){
if(b==0) return a;
return Gcd(b,a%b);
}
int main(){
cin>>n;
while(n--){
scanf("%d%d%d%d",&a0,&a1,&b0,&b1);
if(a0%a1||b1%b0){
cout<<"0"<<endl;
}
int t1=a0/a1,t2=b1/b0,cnt=0;
for(int i=1;i*i<=b1;i++){
if(b1%i==0){
int x=i;
if(x%a1==0){
if(Gcd(x/a1,t1)==1&&Gcd(t2,b1/x)==1){
cnt++;
}
}
x=b1/i;
if(x!=i && x%a1==0)
if(Gcd(t1,x/a1)==1&&Gcd(t2,b1/x)==1){
cnt++;
}
}
}
cout<<cnt<<endl;
}
}