#include #include int a0,a1,b0,b1; inline int gcd(int a,int b) { int t; while(b) t=a%b,a=b,b=t; return a; } #define lcm(a,b) ((a)/gcd((a),(b))*(b)) int main() { int n; scanf("%d", &n); for (int _ = 0,cnt=0; _ < n; _++,cnt=0) { scanf("%d%d%d%d", &a0,&a1,&b0,&b1); for(int x=int(sqrt(b1)); x; x--) if(b1%x==0) { if(gcd(x,a0)==a1&&lcm(x,b0)==b1) cnt++; if(x*x!=b1&&gcd(b1/x,a0)==a1&&lcm(b1/x,b0)==b1) cnt++; } printf("%d\n",cnt); } return 0; }