Bob and Alice are having a lockout match between them. There are three problems in the contest worth A, B, and C points respectively. Only the first player to solve a problem gets points for that problem. It is impossible for Bob and Alice to solve a problem at the same time. Chef wants to know if there is any chance of a draw if Bob and Alice manage to solve all 3 problems. A draw occurs when both players end with equal number of points. 

------ Input Format ------ 

- First line will contain T, number of testcases. Then the testcases follow.
- Each testcase contains of a single line of input, three space separated integers A, B, and C.

------ Output Format ------ 

For each testcase, output YES if the match can end in a draw, and NO otherwise. 

You may print each character of the string in uppercase or lowercase (for example, the strings "yEs", "yes", "Yes" and "YES" will all be treated as identical).

------ Constraints ------ 

$1 ≤ T ≤ 1000$
$1 ≤ A, B, C ≤ 10^{6}$

------ subtasks ------ 

Subtask #1 (100 points): original constraints

----- Sample Input 1 ------ 
3
2 5 2
4 2 2
3 5 5
----- Sample Output 1 ------ 
NO
YES
NO
----- explanation 1 ------ 
In the first and third test cases, it is impossible for Bob and Alice to solve the problems so that they have the same number of points at the end.

In the second case, it is possible for Bob to solve the first problem, and Alice to solve the last two problems, in which case they will both have 4 points and the game will end in a draw.

Source: codechef | Difficulty: EASY
Tags: Sorting

Constructive algorithms

Ad-hoc


Solutions:
for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	sumi = a + b + c
	if a == b + c or b == a + c or c == a + b:
		print('YES')
	else:
		print('NO')


T = int(input())
for _ in range(T):
	(A, B, C) = map(int, input().split())
	if A + B == C or A + C == B or B + C == A:
		print('YES')
	else:
		print('NO')


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


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


for i in range(0, int(input())):
	(a, b, c) = map(int, input().split())
	m = max(a, b, c)
	s = a + b + c
	if s - m == m:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	(a, b, c) = map(int, input().split())
	maxi = max(a, b, c)
	sumi = a + b + c
	print('YES') if sumi - maxi == maxi else print('NO')


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


t = int(input())
for i in range(t):
	(a, b, c) = map(int, input().split())
	x = max(a, b, c)
	y = a + b + c - x
	if x == y:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	(a, b, c) = map(int, input().split())
	high = max(a, b, c)
	tot = a + b + c
	if tot - high == high:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	(a, b, c) = sorted(map(int, input().split()), reverse=True)
	if a == b == c:
		print('YES')
	elif a == b + c or b == a + c:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	max1 = max(a, b, c)
	sum1 = a + b + c
	if sum1 - max1 == max1:
		print('YES')
	else:
		print('NO')


T = int(input())
for i in range(T):
	(x, y, z) = map(int, input().split())
	maxi = max(x, y, z)
	sumi = x + y + z
	print('YES') if sumi - maxi == maxi else print('NO')


t = int(input())
for i in range(t):
	(a, b, c) = map(int, input().split())
	l = []
	l.append(a)
	l.append(b)
	l.append(c)
	l.sort()
	if l[0] + l[1] == l[2]:
		print('YES')
	else:
		print('NO')


for i in range(0, int(input())):
	l = list(map(int, input().split()))
	m = max(l)
	s = sum(l)
	print('YES') if s - m == m else print('NO')


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


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


T = int(input())
for t in range(T):
	A = list(map(int, input().split()))
	A.sort()
	if A[0] + A[1] == A[2]:
		print('YES')
	else:
		print('NO')


T = int(input())
while T:
	(a, b, c) = list(map(int, input().split()))[:3]
	if a == b + c or b == a + c or c == a + b:
		print('YES')
	else:
		print('NO')
	T -= 1


t = int(input())
while t > 0:
	(a, b, c) = map(int, input().split())
	if a == b + c or b == c + a:
		print('YES')
	elif c == a + b:
		print('YES')
	else:
		print('NO')
	t = t - 1


def quicksort(arr):
	if len(arr) <= 1:
		return arr
	pivot = arr[-1]
	left = [x for x in arr[0:-1] if x <= pivot]
	right = [x for x in arr[0:-1] if x > pivot]
	return quicksort(left) + [pivot] + quicksort(right)
arr = []
t = int(input())
for _ in range(t):
	k = input()
	k = [int(l) for l in k.split(' ')]
	arr = quicksort(k)
	if arr[0] + arr[1] == arr[2]:
		print('YES')
	else:
		print('NO')


x = int(input())
m = []
for tt in range(0, x):
	l = str(input())
	kl = l.split(' ')
	vvc = []
	for hhn in kl:
		vvc.append(int(hhn))
	m.append(vvc)
for vvz in m:
	if vvz[0] + vvz[1] == vvz[2] or vvz[1] + vvz[2] == vvz[0] or vvz[2] + vvz[0] == vvz[1]:
		print('YES')
	else:
		print('NO')