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: times=int(input())
answers=[]
for i in range(times):
    hen=[]
    hen=input().split()
    for j in range(times):
        hen[j]=int(hen[j])
    for j in range(times-1):
        for k in range(times-1):
            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=list(map(int,input().split()))
	if a*a+b*b==c*c or a*a==b*b+c*c or a*a+c*c==b*b:
		print("YES")
	else:
		print("NO")

Python: 
round = int(input(""))
for i in range (0,round):
    arr = []
    temp = input("")
    a,b,c = temp.split(" ")
    arr.append(int(a))
    arr.append(int(b))
    arr.append(int(c))
    arr.sort()
    if(pow(arr[0],2)+pow(arr[1],2)==pow(arr[2],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__":
    line = input()
    a = int(line.split(" ")[0])
    b = int(line.split(" ")[1])
    c = int(line.split(" ")[2])
    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")
    exit(0)

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()
    print(tri_list[i])
    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):
    x,y,z=sorted(map(int,input().split()))
    if x**2+y**2==z**2:
        print("YES")
    else:
        print("NO")

Python: import sys

list0 = []
for line in sys.stdin.readlines():
    list0.append(line)

for i in range(1, int(list0[0]) + 1):
    list2 = sorted(list0[i].strip("\n").split(" "))
    print("i: "+ str(i)),
    if int(list2[0]) * int(list2[0]) + int(list2[1]) * int(list2[1]) == int(list2[2]) * int(list2[2]):
        print("YES")
    else:
        print("NO")

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

Python: n = int(input())

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

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

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: for make in range(int(input())) :
    temp = [int(_) for _ in input().split()]
    if temp[0]**2 + temp[1] **2 == temp[2]**2 : print('YES')
    else : print('NO')

Python: import math
N = int(input())

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

Python: n = int(input())
for i in range(n):
  l = [int(j) for j in input().split()]
  l.sort()
  print("YES" if l[0]**2 + l[1]**2 == l[2]**2 else "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: #! /usr/bin/env python3

noOfInputs = int(input())
for i in range(noOfInputs):
	numsInStr = input().split()
	nums = []
	for n in numsInStr:
		nums.append(int(n))

	largest = max(nums)	
	nums.remove(max(nums))
	#print(nums)

	if (largest**2 == sum([i**2 for i in nums])):
		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: 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 int(tri_list[i][2])^2 == int(tri_list[i][0])^2 + int(tri_list[i][1])^2 :
        print("YES")
    else :
        print("NO")

Python: for i in range(int(input())):
    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: var1 = int(input()) + 1
list3 = []
for i in range(1, var1):
    list3.append(input())
for m in range(0, var1-1):
    str1 = list3[m]
    list1 = str1.split(" ")
    list1 = list(map(int, list1))
    var2 = max(list1)
    list1.remove(max(list1))
    var2 = var2 * var2
    var3 = list1[0]*list1[0]
    var4 = list1[1]*list1[1]
    if var4 + var3 == var2:
        print("YES")
    else:
        print("NO")
    list1.clear()
    str1 = None

Python: N = int(input())

for i in range(N):
    a, b, c = map(int, input().split())
    list = [a, b, c]
    for j in range(2,0,-1):
        for k in range(j):
            if list[k]<list[k+1]:
                list[k], list[k+1] = list[k+1], list[k]
    if (list[0])**2 == (list[1])**2 + (list[2])**2 :
        print('YES')
    else:
        print('NO')