TWOSQRS - Two squares or not two squares

Given integer n decide if it is possible to represent it as a sum of two squares of integers.

Input

First line of input contains one integer c <= 100 - number of test cases. Then c lines follow, each of them consisting of exactly one integer 0 <= n <= 10^12.

Output

For each test case output Yes if it is possible to represent given number as a sum of two squares and No if it is not possible.

Example

Input:
10
1
2
7
14
49
9
17
76
2888
27

Output:
Yes
Yes
No
No
Yes
Yes
Yes
No
Yes
No

Added by:gawry
Date:2004-06-29
Time limit:2s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All

hide comments
2019-09-29 14:18:57
make sure to use every variable as long long..costed me 1 WA :(
2019-07-16 07:26:56
Take care of "NO" I got 1 WA for that.
2019-07-13 08:51:04
hint: Sometime typecating is very useful
2019-03-26 15:40:53
Nice Problem, AC in 1 go!
2019-02-01 15:10:08
take care it's "No" not "NO"
2018-11-21 09:36:09
Accepted in one go.Using Fermat's theorem on sums of two squares.TC O(sqrt(n))
2018-11-21 09:35:13
Accepted in one go.Using Fermat's theorem on sums of two squares.
2018-09-06 12:35:45 tanardi gunawan
if someone comment ac with brute force , that is sh1t , using fermat can ac
2018-06-28 01:52:42
weak test cases my code gives yes to 77 instead of giving no
2018-06-27 12:18:34
use i<sqrt(n) instead of i * i< n in for loop for fermat theorem
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.