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: times=int(input())
answers=[]
for i in range(times):
    hen=[]
    hen=input().split()
    for j in range(3):
        hen[j]=int(hen[j])
    for j in range(2):
        for k in range(2):
            if hen[j]>hen[j+1]:
                num=hen[j]
                hen[j]=hen[j+1]
                hen[j+1]=num
    if hen[0]*hen[0]+hen[1]*hen[1]==hen[2]*hen[2]:
        answers.append('Yes')
    else:
        answers.append('No')
for i in range(len(answers)):
    print(answers[i])

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

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

Python: n=int(input())
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: N = int(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: a = int(input())
b = int(1)
while True:
	if b < a+1:
		x = map(int,input().split(' '))
		x.sort()
		if x[0]**2 + x[1]**2 == x[2]**2:
			print('YES')
		else:
			print('NO')
		b += 1
		continue
	else:
		break

Python: number = int(input())

for i in range(number):
  tri = map(int, input.split(" "))
  if tri[0] > tri[1]:
    buf = tri[0]
    tri[0] = tri[1]
    tri[1] = buf
  if tri[1] > tri[2]:
    buf = tri[1]
    tri[1] = tri[2]
    tri[2] = buf
  if tri[0] * tri[0] + tri[1] * tri[1] == tri[2] * tri[2]:
    print("YES")
  else:
    print("NO")

Python: N=int(input())
for i in range(N):
    L=list(map(int,input().split()))
    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):
	x,y,z=map(int,input().split())
	if (x+y>z)and(y+z>x)and(z+x>y):
		print("YES")
	else:
		print("NO")

Python: import itertools
import operator

line = int(input())
inputs = [input() for _ in range(line)]

def is_right_triangle(a, b, c):
    a, b, c = list(sorted([a,b,c]))
    return a**2 + b**2 == c**2

for line in inputs:
    a, b, c = line.split()
    print("YES" if is_right_triangle(int(a), int(b), int(c)) else "NO")

Python: a=int(input())
for i in range(a):
    x,y,r=map(int,input().split())
    l=[]
    l.append(x)
    l.append(y)
    l.append(r)
    for t in range(2):
        if l[t]>l[t+1]:
            l[t],l[t+1]=l[t+1],l[t]
    if (l[0]**2)+(l[1]**2)==l[2]**2:
        print("YES")
    else:
        print("NO")
    del l

Python: a, b, c = sorted(map(int, input().split()))
if a**2 + b**2 == c**2:
    print('YES')
else:
    print('NO')

Python: count= int(input())

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

Python: import sys

n = int(sys.stdin.readline().strip())
print(n)
for i in range(n):
    line = sys.stdin.readline()
    lengths = sorted(list(map(int, line.strip().split())))
    if lengths[0]**2 + lengths[1]**2 == lengths[2]**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[0]**2 +a[1]**2 == a[2]**2:
    print("YES")
  else:
    print("NO")

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

Python: n = int(input())

for i in range(n):
    s = list(map(int, input().split()))
    s.sort()
    if(s[2] ** 2 == s[1] ** 2 + s[0] ** 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[0] ** 2 + a[1] ** 2 == a[2] ** 2:
        print('YES')
    else:
        print('NO')

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

Python: #!/usr/bin/env python
# coding: utf-8


def is_right_triangle(a, b, c):
    return a ** 2 + b ** 2 == c ** 2


def main():
    input_count = int(raw_input())
    for i in xrange(input_count):
        L = raw_input().split(" ")
        L = map(long, L)
        L.sort()
        print ("NO", "YES")[is_right_triangle(*L)]

if __name__ == '__main__':
    main()

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

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

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

Python: #-*-coding:utf-8-*-

def get_input():
    for i in range(int(input())):
        yield "".join(input())

#####end of def get_input()#####

if __name__ == "__main__":
    array = list(get_input())
    
    for i in range(len(array)):        
        a,b,c = array[i].split()
        if int(a)^2 + int(b)^2 == int(c)^2:
            print("YES")
        elif int(c)^2 + int(a)^2 == int(b)^2:
            print("YES")
        elif int(b)^2 + int(c)^2 == int(a)^2:
            print("YES")
        else:
            print("NO")

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

Python: import sys
for a,b,c in map(lambda x:sorted(map(int,x.split())),sys.stdin):
 print(['NO','YES'][a*a+b*b==c*c])

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

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

Python: def main():

    data_count = int(input())
    data = [tuple(map(int, input().split())) for i in range(data_count)]

    for item in data:
        print('Yes') if item[0]**2 + item[1]**2 == item[2]**2 else print('No')


main()