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: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Judge judge = new Judge();

            List<string> ans = new List<string>();

            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n;  i++)
            {
                List<int> length = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
                int max = length.Max();
                length.Remove(max);

                ans.Add(judge.Calc(max, length));
            }

            foreach (string item in ans)
            {
                Console.WriteLine(item);
            }
        }
    }

    class Judge
    {
        internal string Calc(int max, List<int> length)
        {
            string ans;

            double leftside = Math.Pow(max, 2);
            double rightside = Math.Pow(length[0], 2) + Math.Pow(length[1], 2);

            if (leftside == rightside)
            {
                ans = "YES";
            }
            else
            {
                ans = "NO";
            }

            return ans;
        }
        
    }
}