Problem:
Is it a Right Triangle?

Write a program which judges wheather given length of three side form a right triangle. Print "YES" if the given sides (integers) form a right triangle, "NO" if not so.

Input

Input consists of several data sets. In the first line, the number of data set, N is given. Then, N lines follow, each line corresponds to a data set. A data set consists of three integers separated by a single space.

Constraints

1 ≤ length of the side ≤ 1,000

N ≤ 1,000

Output

For each data set, print "YES" or "NO".

Sample Input

3
4 3 5
4 3 6
8 8 8

Output for the Sample Input

YES
NO
NO

Solution in C (judge verdict: Time Limit Exceeded)

#include <stdio.h>

int main(void)
{
	int N;
	int a, b, c;
	
	while(scanf("%d", &N) != EOF){
		while(N != 0){
			scanf("%d %d %d", &a, &b, &c);
			if((a * a) + (b * b) == (c * c)){
				printf("YES\n");
			}
			else if((a * a) + (c * c) == (b * b)){
				printf("YES\n");
			}
			else if((c * c) + (b * b) == (a * a)){
				printf("YES\n");
			}
			else{
				printf("NO\n");
			}
		}
	}
	return(0);
}