Go: package main

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

func sliceAtof64(sa []string) ([]float64, error) {
	si := make([]float64, 0, len(sa))
	for _, a := range sa {
		i, err := strconv.ParseFloat(a, 64)
		if err != nil {
			return si, err
		}
		si = append(si, i)
	}
	return si, nil
}

func answer(ans bool) {
	if ans {
		fmt.Println("YES")
	} else {
		fmt.Println("NO")
	}
}
func isRightTriangle(ary []float64) (ans bool) {
	sort.Sort(sort.Reverse(sort.Float64Slice(ary)))
	ans = math.Pow(ary[1], 2.0)+math.Pow(ary[2], 2.0) == math.Pow(ary[0], 2.0)

	return
}

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	lineCount, _ := strconv.Atoi(scanner.Text())
	lines := make([]string, lineCount)

	for i := 0; i < lineCount; i++ {
		scanner.Scan()
		lines[i] = scanner.Text()
	}

	for _, v := range lines {
		ary, _ := sliceAtof64(strings.Split(v, " "))
		answer(isRightTriangle(ary))
	}
}

Python: import sys

__author__ = 'bisuk'

i = 0
list0 = []
for line in sys.stdin.readlines():
    # list1 = line.split(" ")
    list0.append(line)
    # list0.append(int(line.strip("\n")))

# print("N = "+str(list0[0]))
#print(list0)
for i in range(1, int(list0[0]) + 1):
    #print("i="+str(i) + " :" + list0[i]),
    list2 = sorted(list0[i].strip("\n").split(" "))
    #print(list2)
    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: n=int(input())
i=0
while i<n:
    a,b,c=map(int,input().split())
    if a*a+b*b==c*c:
        print("YES")
    elif a*a+c*c==b*b:
        print("YES")
    elif b*b+c*c==a*a:
        print("YES")
    else:
        print("NO")
    i=i+1

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

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

Python: import sys
import math

for line in sys.stdin:
  a = line.split()
  if len(a) == 3:
    if int(a[0])*int(a[0]) + int(a[1])*int(a[1]) == int(a[2])*int(a[2]):
        print("YES")
    else:
        print("NO")

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

Python: # coding: utf-8

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

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

Python: a=int(input())

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

Python: times=int(input())
answers=[]
for i in range(times):
    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: N = int(raw_input())

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

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

Python: import sys

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

Python: def triangle(a, b, c):
    return a * a + b * b == c * c

t = int(input())
for i in range(t):
    sides = input().split(' ')
    for i in range(3):
        sides[i] = int(sides[i])
    sides.sort()
    r = triangle(sides[0], sides[1], sides[2])
    if (r): print("YES")
    else: print("NO")

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

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

N = int(input())
for i in range(N):
    a,b,c = map(int,input().split())
    Triangle(a,b,c)

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

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

Python: x=int(input())
list=[]
for i in range(x):
    a,b,c=input().split()
    list.append((int(a),int(b),int(c)))
    a=int(a)
    b=int(b)
    c=int(c)
    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')

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

import sys
import os

N = int(input())
for i in range(N):
    lst = list(map(int, input().split()))
    mx = max(lst)
    lst.remove(mx)

    if mx * mx == lst[0] * lst[0] + lst[1] * lst[1]:
        print('YES')
    else:
        print('NO')

Python: for _ in[0]*int(input()):
 a,b,c=sorted(map(int,input().split()))
 print(['NO','YES'][a*a+b*b==c*c])

Python: import sys
l = sys.stdin.readlines ()
del l[0] # Delete number represents the number of detasets.
for line in l:
    data = map (int, line.split (" "))
    data.sort(reverse=True)
    if data[0]**2 == data[1]**2 + data[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(" ")))
    tri_list = list(input().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: import sys
next(sys.stdin)
for i in sys.stdin:
    a, b, c = sorted(list(map(int, i.split())))
    print("yes" if a*a+b*b == c*c else "no")

Python: #import math

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

Python: for e in sys.stdin:
    a, b, c = sorted(map(int, e.split()))
    if a**2 + b**2 == c**2:
        print('YES')
    else:
        print('NO')

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

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