You are given two integers and (). Consider a convex regular polygon of vertices. Recall that a regular polygon is a polygon that is equiangular (all angles are equal in measure) and equilateral (all sides have the same length).
Examples of convex regular polygons
Your task is to say if it is possible to build another convex regular polygon with vertices such that its center coincides with the center of the initial polygon and each of its vertices is some vertex of the initial polygon.
You have to answer independent test cases.
Input
The first line of the input contains one integer () — the number of test cases.
The next lines describe test cases. Each test case is given as two space-separated integers and () — the number of vertices in the initial polygon and the number of vertices in the polygon you want to build.
Output
For each test case, print the answer — “YES” (without quotes), if it is possible to build another convex regular polygon with vertices such that its center coincides with the center of the initial polygon and each of its vertices is some vertex of the initial polygon and “NO” otherwise.
Example
input
2 6 3 7 3
output
YES NO
Note
The first test case of the example
It can be shown that the answer for the second test case of the example is “NO”.
Solution:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <bits/stdc++.h> using namespace std; #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,n) for (int i=n-1;i>=a;i--) #define pb push_back #define mp make_pair #define all(x) (x).begin(),(x).end() #define fi first #define se second #define SZ(x) ((int)(x).size()) typedef vector< int > VI; typedef long long ll; typedef pair< int , int > PII; typedef double db; mt19937 mrand(random_device{}()); const ll mod=1000000007; int rnd( int x) { return mrand() % x;} ll powmod(ll a,ll b) {ll res=1;a%=mod; assert (b>=0); for (;b;b>>=1){ if (b&1)res=res*a%mod;a=a*a%mod;} return res;} ll gcd(ll a,ll b) { return b?gcd(b,a%b):a;} // head int _; int main() { for ( scanf ( "%d" ,&_);_;_--) { int a,b; scanf ( "%d%d" ,&a,&b); puts (a%b==0? "YES" : "NO" ); } } |