fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define lli long long int
  4.  
  5. lli hcf(lli A,lli B)
  6. {
  7. if(A==0)
  8. return B;
  9. return hcf(B%A,A);
  10. }
  11.  
  12. void printAns(lli L)
  13. {
  14. map<int,int> m;
  15. while(L%2==0)
  16. {
  17. if(m.find(2)==m.end())
  18. m[2]=1;
  19. L/=2;
  20. }
  21. for(lli k=3;k*k<=L;k+=2)
  22. {
  23. while(L%k==0)
  24. {
  25. if(m.find(k)==m.end())
  26. m[k]=1;
  27.  
  28. L/=k;
  29. }
  30. }
  31. if(L>2)
  32. m[L]=1;
  33. lli count = m.size();
  34. if(count>1)
  35. cout<<"YES\n";
  36. else
  37. cout<<"NO\n";
  38. }
  39.  
  40. int main() {
  41. // your code goes here
  42. lli A,B,T,L,H;
  43. cin>>T;
  44. while(T--){
  45. cin>>A>>B;
  46. H=hcf(A,B);
  47. L= (A*B)/H;
  48. printAns(L);
  49. }
  50. return 0;
  51. }
Success #stdin #stdout 0s 3476KB
stdin
3
2 3
2 4
4 33
stdout
YES
NO
YES