fork download
  1. #include<bits/stdc++.h>
  2. #define ll long long int
  3. using namespace std;
  4. ll gcd(ll a, ll b){
  5. if(b==0)return a;
  6. return gcd(b,a%b);
  7. }
  8. int main(void){
  9. int t;
  10. cin>>t;
  11. while(t--){
  12. ll n,c;
  13. cin>>n>>c;
  14. if(n==1)cout<<"Yes\n";
  15. else{
  16. ll out = gcd(2*n,n*(n-1));
  17. if((2*c)%out!=0)cout<<"No\n";
  18. else{
  19. ll p =(2*c)/out;
  20. ll q =(2*n)/out;
  21. ll r =(n*(n-1))/out;
  22. ll sum = q+r;
  23. ll a,b;
  24. if(q<r){a=q;b=r;}
  25. else{a=r;b=q;}
  26. int flag=0;
  27. while(p>=sum){
  28. p-=b;
  29. if(p%a==0){
  30. flag=1;
  31. break;
  32. }
  33. }
  34. if(flag==1)cout<<"Yes\n";
  35. else cout<<"No\n";
  36. }
  37. }
  38.  
  39. }
  40. return 0;
  41. }
Success #stdin #stdout 0s 3464KB
stdin
2
4 24
2 2
stdout
Yes
No