1. 程式人生 > >【CodeForces - 270A】Fancy Fence (幾何,思維,水題)

【CodeForces - 270A】Fancy Fence (幾何,思維,水題)

題幹:

Emuskald needs a fence around his farm, but he is too lazy to build it himself. So he purchased a fence-building robot.

He wants the fence to be a regular polygon. The robot builds the fence along a single path, but it can only make fence corners at a single angle a.

Will the robot be able to build the fence Emuskald wants? In other words, is there a regular polygon which angles are equal to a

?

Input

The first line of input contains an integer t (0 < t < 180) — the number of tests. Each of the following t lines contains a single integer a (0 < a < 180) — the angle the robot can make corners at measured in degrees.

Output

For each test, output on a single line "YES" (without quotes), if the robot can build a fence Emuskald wants, and "NO" (without quotes), if it is impossible.

Examples

Input

3
30
60
90

Output

NO
YES
YES

Note

In the first test case, it is impossible to build the fence, since there is no regular polygon with angle .

In the second test case, the fence is a regular triangle, and in the last test case — a square.

 

題目大意:

一條線,每次只能逆時針轉a度,問你是否可以恰好轉回來構成一個多邊形。(可以用來訓練一下讀題?)

解題報告:

   用180-a度,轉化成內角的度數,判斷360可否正好整除這個度數就可以了。

AC程式碼:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;

int main()
{
	int t,x;
	cin>>t;
	while(t--) {
		scanf("%d",&x);
		x=180-x;
		if(360%x == 0) puts("YES");
		else puts("NO");		
	}
	return 0 ;
 }