Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	n, _ := strconv.Atoi(strScan())
	scanner := bufio.NewScanner(os.Stdin)
	for i := 0; i < n; i++ {
		scanner.Scan()
		strArr := strings.Fields(scanner.Text())
		castNumArr := StringToInt(strArr)
		fmt.Println(checkTriangle(castNumArr))
	}
}

func checkTriangle(i []int) string {
	if checkSt(i[0], i[1], i[2]) || checkSt(i[1], i[2], i[0]) || checkSt(i[2], i[0], i[1]) {
		return "YES"
	} else {
		return "NO"
	}
}

func Sq(x int) int {
	return x * x
}

func checkSt(a, b, c int) bool {
	return (Sq(a) + Sq(b)) == Sq(c)

Python: def solve():
    data = read()
    result = think(data)
    write(result)


def read():
    n = int(input())
    data = []
    for i in range(n):
        data.append(read_data())
    return data


def read_data():
    return list(map(int, input().split(' ')))


def think(data):
    result = []
    for d in data:
        if is_right_triangle(d):
            result.append('YES')
        else:
            result.append('NO')
    return result


def is_right_triangle(d):
    x, y, z = d[0], d[1], d[2]
    return (x ** 2 == y ** 2 + z ** 2) or (y ** 2 == z ** 2 + x ** 2) or (z ** 2 == x ** 2 + y ** 2)


def write(result):
    for r in result:
        print(r)


if __name__ == '__main__':
    solve()

Python: input()
try:
    while True:
        a, b, c = map(int, input().split())
        if (a**2 == b**2 + c**2) or (b**2 == a**2 + c**2) or (c**2 == b**2 + a**2) :
            print("YES")
        else:
            print("NO")
except EOFError:
    pass

Python: # AOJ通らなかった...何故かはわからん
N = int(input())
for i in range(N):
    a = list(map(int, input().split(" ")))
    a.sort()
    #print(a)
    if(a[2]**2 == a[0]**2 + a[1]**2):
        print("YES")
    else:
        print("NO")

Python: [ print(["YES", "NO"][0 if d[0] ** 2 + d[1] ** 2 == d[2] ** 2 else 1]) for i,d in enumerate([sorted([int(x) ** 2 for x in input().split()])]) for _ in range(int(input()))]

Python: input()
while True:
    try:
        num=list(map(int,input().split()))
        num.sort()
        if num[2]**2==num[0]**2+num[1]**2:
            print("YES")
        else:
            print("NO")
    except EOFError:
        break

Python: num = int( input() )
for j in range( num ) :
    inputed = list(map(int, input().split()))
    maxIndex = inputed.index( max(inputed) )
    judger = 0;
    for k in range( 3 ) :
        if( maxIndex != k ) :
            judger += inputed[ k ] ** 2
    if judger == ( inputed[ maxIndex ] ** 2 ) :
        print("YES")
    else :
        print("NO")

Python: n = int(input())

for i in range(0, n):
    data = list(map(int, input().split(' ')))
    for j in range(0, 3):
        if data[j%3] < data[(j+1)%3] + data[(j+2)%3]:
            continue
        else:
            print('NO')
            exit(1)
    print('YES')

Python: N=int(input())
for i in range(N):
    a,b,c=map(int,input().split())
    A=min(a,min(b,c))
    C=max(a,max(b,c))
    B=a+b+c-A-C
    if A**2+B**2==C**2:
        print("YES")
    else:
        print("NO")

Python: import sys

n = int(input())
l = sys.stdin.readlines()
s = ""
for i in l:
  x, y, z = sorted(map(lambda x:x*x,map(int, i.split())))
  if x + y == z:
      s += "YES\n"
  else:
      s += "NO\n"

print(s)

Python: import sys

num = int(sys.stdin.readline().strip())

for i in range(num):
    data = sys.stdin.readline().strip().split(' ')
    a = int(data[0])
    b = int(data[1])
    c = int(data[2])
    if a == b and b == c:
        print('YES')
    else:
        print('NO')

Python: def isRightTri(list):
    list.sort()
    if list[2]**2 == list[0]**2 + list[1]**2:
        return True
    else:
        return False

n = int(input())
ans = []
for i in range(n):
    a = list(map(int,input().split()))
    ans.append(isRightTri(a))
for i in range(n):
    if ans[i]:
        print("YES")
    else:
        print("NO")

Python: N = input()
a = []
answer_list = []

for i in range(N):
    a.append(map(int, raw_input().strip().split()))

for j in range(len(a)):
    number_1 = a[j][0]
    number_2 = a[j][1]
    number_3 = a[j][2]

    number_1_mul = number_1 ** 2
    number_2_mul = number_2 ** 2
    number_3_mul = number_3 ** 2

    if number_1_mul == number_2_mul + number_3_mul:
        print("YES")
    if number_2_mul == number_3_mul + number_1_mul:
        print("YES")
    if number_3_mul == number_1_mul + number_2_mul:
        print("YES")

    else:
        print("NO")

Python: import sys

for line in sys.stdin:
    try:
        a,b,c = [int(x) for x in line.split()]
        if (a**2+b**2) == c**2:
            print('YES')
        elif (a**2+c**2) == b**2:
            print('YES')
        elif (b**2+c**2) == a**2:
            print('YES')
        else:
            print('NO')
    except(ValueError):
        continue

Python: for time in range(int(input())):
	x,y,z = [int(i) for i in input().split()]

Python: N=int(input())
for i in range(N):
    a,b,c=map(int,input().split())
    A=a**2
    B=b**2
    C=c**2
    if A+B==C:
        print('YES')
    elif A+C==B:
        print('YES')
    elif B+C==A:
        print('YES')
    else:
        print('NO')

Python: i = int(input())
for j in range(i):
    a,b,c = [int(i) for i in input().split()]
    if a**2+b**2==c**2 or abs(a**2-b**2)==c**2:
        print("YES")
    else:
        print("NO")

Python: n=int(input())
for i in range(n):
    hens=[int(i) for i in input().split(" ")]
    t=max(hens)
    hens.remove(t)
    if t**2==hens[0]**2+hens[1]**2:
        print("YES")
    else:
        print("NO")

Python: for i in range(int(input())):
    a,b,c=map(int,raw_input().split())
    if a**2+b**2==c**2:print("Yes")
    else:print("No")

Python: n=int(input())
for i in range(n):
    a,b,c=map(int,input().split())
    if a>b and a>c:
        if a**2==b**2+ c**2:
            print("YES")
        else:
            print("NO")
    elif b>a and b>c:
        if b**2==a**2+c**2:
            print("YES")
        else:
            print("NO")
    elif c>a and c>b:
        if c**2==a**2+b**2:
            print("YES")
        else:
            print("NO")
    else:
        print("NO")

Python: # coding: utf-8
# Your code here!

N = int(input())
for i in range(N):
    a,b,c = sorted(map(int,input().split()))
    
    if a*a + b*b == c*c:
        print ("YES")
    else:
        print ("NO")

Python: n = int(input())
data = [sorted(map(int, input().split(' '))) for i in range(n)]

for d in data:
    if d[0]**2 + d[1]**2 == d[2]**2:
        print('YES')
    else:
        print('NO')

Python: tri_list = []
N =  int(input())

for i in range(N):
    tri = input()
    tri_list.append(tri.split())
    
for i in range(N):
    tri_list[i].sort()
    if pow(int(tri_list[i][2]),2) == pow(int(tri_list[i][0]),2) + pow(int(tri_list[i][1]),2):
        print('YES')
    else:
        print('NO')

Python: import sys

array = []

for line in sys.stdin:
    try:
        array = [int(x) for x in line.split()]
        array.sort()
        if array[2]**2 == (array[0]**2+array[1]**2):
            print('YES')
        else:
            print('NO')
    except(ValueError):
        continue

Python: for _ in[0]*int(input()):
 a,b,c=map(int,sorted(input().split()))
 print(['No','Yes'][a*a+b*b==c*c])

Python: N = int(input())
for i in range(N):
    p = input()
    li = sorted([int(i) for i in p.split(" ")])
    if li[-1]**2 == li[-2]**2 + li[-3]**2:
        print("YES")
    else:
        print("NO")

Python: n=int(input())
for i in range(n):
    t=list(map(int,input().split()))
    t.sort()
    a,b=t[0]**2+t[1]**2,t[2]**2
    if a==b:
        print("YES")
    else:
        print("NO")

Python: num=int(input())
numbers=[]
for i in range(num):
    numbers.append(i)
    numbers[i]=[int(k) for k in input().split()]
    numbers[i]=sorted(numbers[i])

for i in range(num):
    if numbers[i][0]^2+numbers[i][1]^2==numbers[i][2]^2:
        print('YES')
    else:
        print('NO')