Go: package main

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

func main() {
	n, err := strconv.Atoi(strScan())
	if err != nil {
		fmt.Println("数字を入力して下さい。")
	} else {
		var counter int = n
		var judgeArr []string
		scanner := bufio.NewScanner(os.Stdin)
		for scanner.Scan() {
			strArr := strings.Fields(scanner.Text())
			castNumArr := StringToInt(strArr)
			judgeArr = append(judgeArr, checkTriangle(castNumArr))
			counter--
			if counter == 0 {
				break
			}
		}
		for _, v := range judgeArr {
			fmt.Println(v)
		}
	}
}

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)
}

func StringToInt(s []string) []int {
	var i []int
	for _, v := range s {
		castNum, err := strconv.Atoi(v)
		if err != nil {
			panic(err)
		}
		i = append(i, castNum)
	}
	return i
}

func strScan() (stringInput string) {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	stringInput = scanner.Text()
	return
}

Python: x=int(input())

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

Python: import math

num = int(input())

for i in range(num):
    try:
        sides = list(map(int, input().split(" ")))
        sides.sort()

        if int(math.pow(sides[0], 2)) + int(math.pow(sides[1], 2)) == int(math.pow(sides[2], 2)):
            print("YES")
        else:
            print("NO")

    except:
        break

Python: cnt = int(input())
values = []
for i in range(cnt):
    values.append([int(x) for x in input().split()])

for x, y, z in values:
    if z ** 2 == x ** 2 + y ** 2:
        print('YES')
    else:
        print('NO')

Python: N=int(input())
i=0
while i<N:
    a,b,c=map(int,input().split())
    if a*a==b*b+c*c or b*b==c*c+a*a or c*c==a*a+b*b:
        print('YES')
    else:
        print('NO')
    i+=1

Python: n=int(input())#ｎはデータセットの数
for i in range(n):#ｎ回繰り返す
  edge=input().split()#入力
  edge=[int(j) for j in edge]#入力
  edge.sort()#ここでedge[2]が最大になる
  if(edge[0]**2+edge[1]**2==edge[2]**2):#直角三角形かどうか
    print("YES")
  else:#そうでないなら
    print("NO")

Python: n = int(input())

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

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

Python: def ifTriangle(a, b, c):
    if (a**2) + (b**2) == c**2: print("YES")
    else: print("NO")

n=int(input())
for i in range(n):
    lines=list(map(int, input().split()))
    lines.sort()
    ifTriangle(lines[0], lines[1], lines[2])

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

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

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

Python: N=int(input())
l=[list(map(int,input().split())) for i in range(N)]

for i in l:
  i.sort()
  if (i[-1])**2 == (i[-2])**2 + (i[-3])**2:
    print("YES")
  else:print("NO")

Python: def main():
    n = int(input())
    for i in range(n):
        Array = list(map(int,input().split()))
        Array.sort()
        if Array[2]**2 == Array[0]**2 + Array[1]**2:
            print("yes")
        else:
            print("No")

if __name__ == '__main__':
    main()

Python: n=int(input())

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

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: N = int(input())
for i in range(N):
    a,b,c = map(int, 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: # usr/bin/python
# coding: utf-8
################################################################################
# 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
#
################################################################################

if __name__ == "__main__":
    num = int(input())
    inputline = [""]*num
    for i in range(0,num):
        inputline[i] = input()
    for line in inputline:
        a = int(line.split(" ")[0])
        b = int(line.split(" ")[1])
        c = int(line.split(" ")[2])
        if (a*a+b*b == c*c or b*b+c*c == a*a or c*c+a*a == b*b):
            print("YES")
        else:
            print("NO")

Python: n=int(input())
for i in range(n):
    a=sorted(map(int,input().split()))

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

Python: if __name__ == '__main__':
    # ??????????????\???
    num = int(input())
    triangles = []
    for i in range(num):
        triangles.append([int(x) for x in input().split(' ')])

    # ??´?§?????§???¢?????????????????????
    results = []
    for t in triangles:
        t.sort()
        if t[0]**2 + t[1]**2 == t[2]**2:
            results.append('YES')
        else:
            results.append('NO')

    # ???????????????
    for r in results:
        print(r)

Python: N = int(input())
for i in range(N) :
    a, b, c = map(int, 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: #-*-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(u"YES")
        elif int(c)^2 + int(a)^2 == int(b)^2:
            print(u"YES")
        elif int(b)^2 + int(c)^2 == int(a)^2:
            print(u"YES")
        else:
            print(u"NO")