Go: package main

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

var sc = bufio.NewScanner(os.Stdin)
var out = bufio.NewWriter(os.Stdout)

func main() {
	sc.Split(bufio.ScanWords)
	defer out.Flush()
	n := nextInt()
	for i := 0; i < n; i++ {
		data := nextInts(3)
		fmt.Fprintln(out, checkTriangle(data))
	}
}

func next() string {
	sc.Scan()
	return sc.Text()
}

func nextInt() int {
	a, _ := strconv.Atoi(next())
	return a
}

func nextInts(n int) []int {
	a := make([]int, n)
	for i := 0; i < n; i++ {
		a[i] = nextInt()
	}
	return a
}

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"
	}
	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: 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: N = input()
for i in range(N):
	l = []
	line = raw_input()
	l.append(int(line.split()[0]))
	l.append(int(line.split()[1]))
	l.append(int(line.split()[2]))
	l.sort()
	if l[0]*l[0]+l[1]*l[1]==l[2]*l[2]:
		print("YES")
	else:
		print("NO")

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

Python: N = int(input())
for i in range(N):
	line = raw_input()
	l = [None]*3
	l[0] = int(line.split()[0])
	l[1] = int(line.split()[1])
	l[2] = int(line.split()[2])
	l.sort()
	if l[0]**2+l[1]**2==l[2]**2:
		print("YES")
	else:
		print("NO")

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

Python: N = int(input())
for i in range(N):
    a, b, c = map(int, input().split())
    sort = sorted([a, b, c])
    if sort[0]**2 + sort[1]**2 == sort[2]**2:
        print("Yes")
    else:
        print("No")

Python: while (1):
	edges = list(map(int, input().split()))
	if len(edges) == 0:
		break
	edges.sort()

	if edges[0] ** 2 + edges[1] ** 2 == edges[2] ** 2:
		print("YES")
	else:
		print("NO")

Python: N = int(raw_input())

for i in range(N):
    line = raw_input()
    a, b, c = sorted(int(i) for i in line.split())

    if a**2 + b**2 == c**2:
        print('YES')
    else:
        print('NO')

Python: N = int(input())

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

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

Python: [print("YES"if e else"NO")for e in[int(ln.split()[0])**2+int(ln.split()[1])**2==int(ln.split()[2])**2for ln in __import__("sys").stdin]]

Python: n = int(input())

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

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

Python: N = int(input())

for i in range(N):
	sides = map(int, input().split())
	longestSide = max(sides)
	sides.remove(longestSide)
	if (longestSide ** 2) == (sides[0] ** 2 + sides[1] ** 2):
		print('YES')
	else:
		print('NO')

Python: import sys

n = input()
for a,b,c in map(lambda x: sorted(map(int,x.split())),sys.stdin.readlines()):
    print("YES" if a*a+b*b==c*c else "NO")

Python: N=int(input())
for i in range (N):
    a,b,c=map(int,input().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")

Python: for i in range(int(input())):
    llist = list(map(int,input().split()))
    llist.sort()
    if(llist[2]**2 == llist[0]**2 + llist[1]**2):
        print('Yes')
    else:
        print('No')

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

Python: import math
N=int(input())
for i in range(N):
    a,b,c=map(int,input().split())
    if c==math.sqrt(a**2+b**2) or a==math.sqrt(c**2+b**2) or b==math.sqrt(a**2+c**2):
        print("YES")
    else:
        print("NO")

Python: # coding: utf-8
import sys

n = int(input())

for line in sys.stdin.readlines():
    i = line.rstrip().split(' ')
    a = pow(int(i[0]),2)
    b = pow(int(i[1]),2)
    c = pow(int(i[2]),2)
    if ((a+b) == c) or ((b+c)==a) or ((c+a)==b):
        print("YES")
    else:
        print("NO")

Python: n = int(input())
s = ""
for i in range(n):
  l = list(map(lambda x:x*x,map(int, input().split())))
  l.sort()
  if l[0] + l[1] == l[2]:
      s += "YES\n"
  else:
      s += "NO\n"

print(s,end="")

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

Python: import string
import sys
import math

#??????????????\????????????ip?????\??????
ip = sys.stdin.readlines()
ip_list = {}

#?????????????????§?????????
for i in range(len(ip)):
    ip_list[i] = ip[i].strip("\n").split()

for i in range(1,len(ip)):
    for j in range(3):
        #?????????????????????
        for t in range(3):
            for k in range(3):
                if int(ip_list[i][t]) > int(ip_list[i][k]):
                    tmp = ip_list[i][t]
                    ip_list[i][t] = ip_list[i][k]
                    ip_list[i][k] = tmp  
                    
for i in range(1,len(ip)):   
    if int(ip_list[i][0])**2 == int(ip_list[i][1])**2 + int(ip_list[i][2])**2:
        print("YES")
    else:
        print("NO")

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

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

Python: n=int(input())

for i in range(1,n+1):
    x, y, z=map(int,input().split())
    if x*x==y*y+z*z or y*y==x*x+z*z or z*z==x*x+y*y:
        print("YES")
    else:
        print("NO")
        
    i =i+1

Python: n=int(input())
for i in range(n):
	x=list(map(int,input().split()))
	a,b,c=sorted(x)
	if a**2+b**2==c**2:
		print('YES')
	else:
		print('NO')

Python: N =  int(input())

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

Python: n = int(input())
i = 0
while True:
    if n == i:
        break
    else:
        i += 1
    a, b, c = map(int, input().split())
    if c**2 == a**2+b**2:
        print("YES")
    else:
        print("NO")