Go: // 九九を出すだけ
package main
import (
	"fmt"
	"os"
	"bufio"
	"strconv"
	"sort"
)

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)
	    sort.Ints(data)
	    if data[0]*data[0]+data[1]*data[1] == data[2]*data[2]{
	        fmt.Fprintln(out, "YES")
	    }else{
	        fmt.Fprintln(out, "NO")
	    }
	}
}

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
}

Python: def main():
    n = int(input())
    while True:
        try:
            num_list = [int(i) for i in input().split()]
            num_list = sorted(num_list)
            a,b,c = num_list[0],num_list[1],num_list[2]
            if (a**2 + b**2) == c**2:
                print("YES")
            else:
                print("NO")
        except EOFError:
            break
    return None

if __name__ == '__main__':
    main()

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

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

Python: def is_triangle(x, y, z):
    x, y, z = sorted(x, y, z)
    return x**2 + y**2 == z**2

num = int(input())
for i in range(num):
    x, y, z = map(int, input().split())
    triangle = is_triangle(x, y, z)
    if triangle:
        print('YES')
    else:
        print('NO')

Python: i=0
N=int(input())
for i in range(N):
    i+=1
    a,b,c=map(int,input().split())
    if a>=c and a>=b:
        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')

Python: n=int(input())
for i in range(n):
  triangle=list(map(int,input().split()))
  triangle.sort(reverse=True)
  if triangle[1]**2+triangle[2]**2==triangle[0]**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 = int(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: def main():
    n = int(input())
    li = [input() for _ in range(n)]
    li = sorted(li)
    for x in li:
        tmp = x.split(" ")
        tmp = sorted(tmp)
        a,b,c = int(tmp[0]),int(tmp[1]),int(tmp[2])
        if (a ** 2 + b **2) == c**2:
            print("YES")
        else:
            print("NO")
    return None

if __name__ == '__main__':
    main()

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

Python: delta = int(input())
tri_all = []
for i in range(delta):
	tri = list(map(int, input().split(' ')))
	tri.sort()
	tri_all.append(tri)

for i in range(len(tri_all)):
	if tri_all[i][0]**2 + tri_all[i][1]**2 == tri_all[i][2]**2:
		print('YES')
	else:
		print('NO')

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

Python: for n in range(input()):
  a,b,c=sorted(map(int,raw_input().split()))
  print ["YES","NO"][c*c-a*a-b*b]

Python: num=int(input())

for i in range(num):
	a=list(map(int,input().split(" ")))
	a.sort()
	if(a[0]**2+a[1]**2==a[2]**2):
		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 = number_1 * 2
    number_2 = number_2 * 2
    number_3 = number_3 * 2

    if number_1 == number_2 + number_3:
        print("YES")
    if number_2 == number_3 + number_1:
        print("YES")
    if number_3 == number_1 + number_2:
        print("YES")

    else:
        print("NO")

Python: import sys
for i in sys.stdin:
    try:
        sidelen = [int(j) for j in i.split(" ")]
        if(sidelen[0]**2 == sidelen[1]**2 + sidelen[2]**2 or sidelen[1]**2 == sidelen[0]**2 + sidelen[2]**2 or sidelen[2]**2 == sidelen[0]**2 + sidelen[1]**2):
            print("YES")
        else:
            print("NO")
    except:
        continue

Python: 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: a=[0,0,0]
ct=[]
n=input()
for i in xrange(n):
    a[0],a[1],a[2]=map(int,raw_input().split())
    a.sort
    if a[0]**2+a[1]**2==a[2]**2:
        ct.append("YES")
    else:
        ct.append("NO")
for i in ct:
    print(i)

Python: n=int(input())
for i in range(n):
    a,b,c = input().split()
    x = int(a)
    y = int(b)
    z = int(c)
    p = [x,y,z]
    p.sort()
    if pow(p[0],2) + pow(p[1],2) == pow(p[2],2):
        print('YES')
    else:
        print('NO')

Python: n = int(input())

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

Python: def tri(a,b,c):
	return a^2 == b^2 + c^2

Python: time = int(input())

while time > 0 :
    a,b,c = (int(x) for x in input().split())
    
    if (a**2 == b**2 + c **2) or (b**2 == c**2 + a**2) or (c**2 == a**2 + b**2) :
        print("YES")
        
    else :
        print("NO")
    
    time -= 1

Python: N=int(input())
while 1:
    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: deta_set_count = int(input())
for _ in range(deta_set_count):
    k = list(map(int, input().split()))
    if k[0]**2 + k[1]**2 == k[2]:
        print(True)
    else:
        print(False)

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

Python: N=int(input())
for i in range(N):
	a=map(int,input().split())
	a.sort()
	if a[0]**2+a[1]**2==a[2]**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>=C:
        if A**2==B**2+C**2:
            print("YES")
        else:
            print("NO")
    elif A>C>=B:
            if A**2==C**2+B**2:
                print("YES")
            else:
                print("NO")
    elif B>A>=C:
        if B**2==A**2+C**2:
            print("YES")
        else:
            print("NO")
    elif B>C>=A:
        if B**2==A**2+C**2:
            print("YES")
        else:
            print("NO")
    elif C>A>=B:
        if C**2==A**2+B**2:
            print("YES")
        else:
            print("NO")
    else:
        if C**2==B**2+A**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: a, b, c = map(int, input().split())
if a**2 + b**2 == c**2:
    print('YES')
else:
    print('NO')