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 JAVA (judge verdict: Wrong Answer)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main{
    public static void main(String[] a) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		// ????§???¢??????????????°
		int x;
		int y;
		int z;

		// ????????\??????????????????????????§2????????????????????????
		String line = br.readLine();
		line = br.readLine();
		while (line != null) {
			String strArray[] = line.split(" ");
			x = Integer.valueOf(strArray[0]);
			y = Integer.valueOf(strArray[1]);
			z = Integer.valueOf(strArray[2]);

			// ?????????????????????
			// ??´?§?????§???¢???????????¬????????? 3:4:5????????????????????????????????????
			// Yes???????????¨?????????

			// ????????????:?????????3??§??????????????? ?????? ???????????????4??¨5??§???????????????(?????????)
			// ?????????????????????????????????3????????????
			String Anser = "NO";
			if (x % 3 == 0 && (y % 4 ==0 && z % 5 == 0) || (y % 5 == 0 && z % 4 ==0)) {
				Anser = "YES";
			} else if (x % 4 == 0 && (y % 3 ==0 && z % 5 == 0) || (y % 5 == 0 && z % 3 ==0)) {
				Anser = "YES";
			} else if (x % 5 == 0 && (y % 4 ==0 && z % 3 == 0) || (y % 3 == 0 && z % 4 ==0)) {
				Anser = "YES";
			}
			System.out.println(Anser);
			line = br.readLine();
		}
    }
}