#include<iostream>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){
if(b>a)swap(a,b);
if(b==0)return a;
else return gcd(b,a%b);
}
ll lcm(ll a,ll b){
return a*b/gcd(a,b);
}
ll n;
ll a,a1,b,b1;
ll cnt=0;
int main(){
cin>>n;
while(n--){
cnt=0;
cin>>a>>a1>>b>>b1;
for(ll i=1;i<=b1;i++){
if(gcd(i,a)==a1 and lcm(i,b)==b1)cnt+=1;
}
cout<<cnt<<"\n";
}
return 0;
}
请问有什么可以优化的地方吗,谢谢!