We call two numbers $x$ and $y$ similar if they have the same parity (the same remainder when divided by $2$), or if $|x-y|=1$. For example, in each of the pairs $(2, 6)$, $(4, 3)$, $(11, 7)$, the numbers are similar to each other, and in the pairs $(1, 4)$, $(3, 12)$, they are not.

You are given an array $a$ of $n$ ($n$ is even) positive integers. Check if there is such a partition of the array into pairs that each element of the array belongs to exactly one pair and the numbers in each pair are similar to each other.

For example, for the array $a = [11, 14, 16, 12]$, there is a partition into pairs $(11, 12)$ and $(14, 16)$. The numbers in the first pair are similar because they differ by one, and in the second pair because they are both even.


-----Input-----

The first line contains a single integer $t$ ($1 \le t \le 1000$) — the number of test cases. Then $t$ test cases follow.

Each test case consists of two lines.

The first line contains an even positive integer $n$ ($2 \le n \le 50$) — length of array $a$.

The second line contains $n$ positive integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 100$).


-----Output-----

For each test case print:  YES if the such a partition exists,  NO otherwise. 

The letters in the words YES and NO can be displayed in any case.


-----Example-----
Input
7
4
11 14 16 12
2
1 8
4
1 1 1 1
4
1 2 5 6
2
12 13
6
1 6 3 10 5 8
6
1 12 3 10 5 8

Output
YES
NO
YES
YES
YES
YES
NO



-----Note-----

The first test case was explained in the statement.

In the second test case, the two given numbers are not similar.

In the third test case, any partition is suitable.

Source: codeforces | Difficulty: EASY
Tags: Sorting

Constructive algorithms

Flows and cuts

Greedy algorithms


Solutions:
t = int(input())
for testcase in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	odd = 0
	for elem in a:
		if elem % 2 == 0:
			even += 1
		else:
			odd += 1
	specialPair = False
	for i in range(n - 1):
		if a[i] + 1 == a[i + 1]:
			specialPair = True
	if even % 2 == 0 and odd % 2 == 0 or specialPair:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	a = []
	i = 0
	cnt = 0
	while i < n:
		if i < n - 1 and s[i] == s[i + 1] - 1:
			i += 2
			cnt += 1
		else:
			a.append(s[i])
			i += 1
	cnt1 = 0
	cnt2 = 0
	for i in range(len(a)):
		cnt1 += a[i] % 2 == 0
		cnt2 += a[i] % 2 == 1
	if cnt1 % 2 == cnt2 % 2 == 0 or (cnt1 % 2 == cnt2 % 2 == 1 and cnt > 0):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	ar = list(map(int, input().split()))
	ar.sort()
	even = 0
	odd = 0
	flag = False
	if ar[0] % 2 == 0:
		even += 1
	else:
		odd += 1
	for i in range(1, n):
		if abs(ar[i] - ar[i - 1]) == 1:
			flag = True
		if ar[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd % 2 != 0 and even % 2 != 0 and flag:
		print('YES')
	else:
		print('NO')


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


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	b = []
	c = []
	for x in a:
		if x % 2 == 0:
			b.append(x)
		else:
			c.append(x)
	x = len(b)
	y = len(c)
	if x % 2 == 0 and y % 2 == 0:
		print('YES')
	else:
		f = 0
		for u in b:
			for v in c:
				d = abs(u - v)
				if d == 1:
					f = 1
					break
		if f == 0:
			print('NO')
		else:
			print('YES')


t = int(input())
for _ in range(t):
	n = int(input())
	e = []
	o = []
	s = list(map(int, input().split()))
	for i in range(n):
		if s[i] % 2 == 0:
			e.append(s[i])
		else:
			o.append(s[i])
	if len(e) % 2 != 0:
		flag = False
		for i in range(len(e)):
			for j in range(len(o)):
				if abs(e[i] - o[j]) == 1:
					flag = True
					break
			if flag:
				break
		if flag:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	(x, y) = ([], [])
	for i in l:
		if i % 2 == 0:
			x.append(i)
		else:
			y.append(i)
	if len(x) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in y:
			if i - 1 in x or i + 1 in x:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')


def task(n, a):
	a.sort()
	p0 = 0
	p1 = 0
	diff1 = 0
	for value in a:
		if value % 2 == 0:
			p0 += 1
		else:
			p1 += 1
	index = 1
	while index < n:
		if abs(a[index - 1] - a[index]) == 1:
			diff1 += 1
			index += 1
		index += 1
	if p0 % 2 == 0 and p1 % 2 == 1:
		print('NO')
	elif p0 % 2 == 1 and p1 % 2 == 0:
		print('NO')
	elif p0 % 2 == 0 and p1 % 2 == 0:
		print('YES')
	elif p0 % 2 == 1 and p1 % 2 == 1:
		if diff1 >= 1:
			print('YES')
		else:
			print('NO')
t = int(input())
for i in range(0, t):
	n = int(input())
	a = list(map(int, input().split()))
	task(n, a)


t = int(input())
while t:
	n = int(input())
	a = [int(x) for x in input().split()]
	cntPar = 0
	for x in a:
		cntPar += x % 2 == 0
	cntImpar = n - cntPar
	if cntPar % 2 == 0:
		print('YES')
	else:
		cnt = [0] * 110
		poss = False
		for x in a:
			cnt[x] = True
			if cnt[x - 1] or cnt[x + 1]:
				poss = True
		if poss:
			print('YES')
		else:
			print('NO')
	t -= 1


from math import *
import sys
input = sys.stdin.buffer.readline
a = int(input())
for _ in range(a):
	b = int(input())
	c = list(map(int, input().split()))
	j = []
	k = []
	(n, m) = (0, 0)
	for x in range(b):
		if c[x] % 2 == 0:
			j.append(c[x])
			n += 1
		else:
			k.append(c[x])
			m += 1
	if n % 2 == 0 and m % 2 == 0:
		print('yes')
	else:
		ll = 0
		if m % 2 != 0 and n % 2 != 0:
			for x in range(n):
				for y in range(m):
					if abs(j[x] - k[y]) == 1:
						ll = -1
						break
				if ll == -1:
					break
			if ll == -1:
				print('yes')
			else:
				print('no')
		else:
			print('no')


import collections
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().rstrip().split()))
	evenCount = 0
	oddCount = 0
	for num in arr:
		if num & 1:
			oddCount += 1
		else:
			evenCount += 1
	if oddCount % 2 == evenCount % 2 == 0:
		print('YES')
		continue
	check = False
	arr.sort()
	for pos in range(n - 1):
		if arr[pos + 1] - arr[pos] == 1:
			check = True
			break
	if check and oddCount & 1 and evenCount & 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = []
	l = [int(x) for x in input().split()]
	l.sort()
	(count, c1) = (0, 0)
	for i in range(n):
		if l[i] - l[i - 1] == 1:
			c1 += 1
		if l[i] % 2 == 0:
			count += 1
	if count % 2 == 0 or c1 > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	b = sorted(a)
	p = 0
	ne = 0
	ch = 0
	f = 0
	for i in range(n - 1):
		if f:
			f = 0
			continue
		if b[i + 1] - b[i] == 1:
			p += 1
			f = 1
		elif b[i] % 2 == 0:
			ch += 1
		elif b[i] % 2 != 0:
			ne += 1
	if f == 0:
		if b[-2] - b[-1] != 1:
			if b[-1] % 2 == 0:
				ch += 1
			elif b[-1] % 2 != 0:
				ne += 1
	if ne % 2 == 0 and ch % 2 == 0:
		print('YES')
	elif ne % 2 == 0 or ch % 2 == 0:
		print('NO')
	elif p >= 1:
		print('YES')
	else:
		print('NO')


from sys import stdin
input = lambda : stdin.readline().strip()
from math import ceil, sqrt, factorial, gcd
for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	x = 0
	y = 0
	for i in range(n):
		if l[i] % 2 == 0:
			x += 1
		else:
			y += 1
	if x % 2 == 0 and y % 2 == 0:
		print('YES')
	else:
		z = 0
		for i in range(n - 1):
			if abs(l[i] - l[i + 1]) == 1:
				z += 1
		if z == 0:
			print('NO')
		else:
			print('YES')


for _ in range(int(input())):
	am = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	was = [False] * am
	pairs = 0
	for i in range(am - 1):
		if not was[i]:
			if arr[i + 1] - arr[i] == 1:
				was[i] = True
				was[i + 1] = True
				pairs += 1
	ans = [0, 0]
	for i in range(am):
		if not was[i]:
			ans[arr[i] & 1] += 1
	if ans[0] & 1 or ans[1] & 1:
		if ans[0] & 1 == ans[1] & 1 and pairs:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


tc = int(input())
for ctr in range(tc):
	n = int(input())
	a = list(map(int, input().split()))
	even = [i for i in a if i % 2 == 0]
	odd = [i for i in a if i % 2 != 0]
	if len(even) % 2 != len(odd) % 2:
		print('NO')
	else:
		if len(even) % 2 == 0:
			print('YES')
			continue
		k = 0
		for i in range(n):
			f = 1
			for j in range(i + 1, n):
				if a[i] % 2 != a[j] % 2 and abs(a[i] - a[j]) == 1:
					print('YES')
					f = 0
					k = 1
					break
			if f == 0:
				break
		if k == 0:
			print('NO')


t = int(input())
l = []
for i in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	h = 0
	nh = 0
	for j in s:
		if j % 2 == 0:
			h += 1
		else:
			nh += 1
	if h % 2 != nh % 2:
		l.append('NO')
	elif h % 2 == nh % 2 == 1:
		r = 0
		for j in range(n - 1):
			if s[j + 1] - s[j] == 1:
				r = 1
				break
		if r == 1:
			l.append('YES')
		else:
			l.append('NO')
	else:
		l.append('YES')
for i in l:
	print(i)


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	if sum((i for i in a if i & 1)) & 1:
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')


from sys import stdin

def r():
	return stdin.readline().strip()

def r_t(tp):
	return map(tp, r().strip().split())

def r_a(tp):
	return list(r_t(tp))

def solve(n, A):
	(O, E) = (list(), list())
	for x in A:
		if x & 1:
			O.append(x)
		else:
			E.append(x)
	if len(O) % 2 == 0 and len(E) % 2 == 0:
		return True
	for i in range(len(O)):
		for j in range(len(E)):
			if abs(O[i] - E[j]) == 1:
				return True
	return False

def main():
	cases = int(r())
	for case in range(cases):
		n = int(r())
		A = list(r_t(int))
		print('YES' if solve(n, A) else 'NO')
main()


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	ne = 0
	no = 0
	dic = {'even': [], 'odd': []}
	for i in range(n):
		if arr[i] % 2 == 0:
			ne += 1
			dic['even'].append(arr[i])
		else:
			no += 1
			dic['odd'].append(arr[i])
	if ne == n:
		print('YES')
	elif no == n:
		print('YES')
	elif ne % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l2 = [0] * 102
	for i in range(n):
		l2[l[i]] = 1
	le = []
	lo = []
	co = 0
	ce = 0
	for i in l:
		if i & 1:
			co += 1
			lo.append(i)
		else:
			ce += 1
			le.append(i)
	f = 0
	if co % 2 == 0 and ce % 2 == 0:
		print('YES')
	else:
		for i in range(len(le)):
			if l2[le[i] - 1] == 1 or l2[le[i] + 1] == 1:
				print('YES')
				f = 1
				break
		if f == 0:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	odd = 0
	even = 0
	a1 = []
	b1 = []
	for j in a:
		if j % 2 == 0:
			b1.append(j)
			even += 1
		else:
			odd += 1
			a1.append(j)
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd % 2 != 0 and even % 2 != 0:
		flag = 0
		for j in range(len(a1)):
			if flag == 1:
				break
			for k in range(len(b1)):
				if abs(a1[j] - b1[k]) == 1:
					flag = 1
					break
		if flag == 0:
			print('NO')
		else:
			print('YES')


def main():
	t = int(input())
	for i in range(t):
		N = int(input())
		a = list(map(int, input().split()))
		a.sort()
		(p, n) = (0, 0)
		moguci_jedan = 0
		for i in range(N):
			if i + 1 < N:
				if a[i + 1] - a[i] == 1:
					moguci_jedan += 1
			if a[i] % 2 == 0:
				p += 1
			else:
				n += 1
		if p % 2 == 0 and n % 2 == 0:
			print('YES')
		elif moguci_jedan > 0:
			print('YES')
		else:
			print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	odd = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
	consecutive = False
	odd = n - even
	for i in range(n - 1):
		if a[i] + 1 == a[i + 1]:
			consecutive = True
	if consecutive or (even % 2 == 0 and odd % 2 == 0):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in even:
			if i + 1 in odd or i - 1 in odd:
				print('YES')
				flag = 0
				break
			else:
				flag = 1
		if flag == 1:
			print('NO')


t = int(input())
for ex in range(t):
	even_num = 0
	odd_num = 0
	n = int(input())
	arr = [int(i) for i in input().split()]
	for i in range(n):
		if arr[i] % 2 == 0:
			even_num += 1
		elif arr[i] % 2 == 1:
			odd_num += 1
	if even_num % 2 == 0 and odd_num % 2 == 0:
		print('YES')
	else:
		arr.sort()
		poss = False
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				poss = True
				break
		if poss:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	ev = 0
	od = 0
	for t in l:
		if t % 2:
			od += 1
		else:
			ev += 1
	if ev % 2 == 0:
		print('YES')
	else:
		f = 0
		for t in range(1, n):
			if abs(l[t] - l[t - 1]) == 1:
				f = 1
		print('YES' if f else 'NO')


def algo(a, n):
	(l, l1) = ([], [])
	c = 0
	for i in range(n):
		if a[i] % 2 == 0:
			l.append(a[i])
		else:
			l1.append(a[i])
	l1.sort()
	l.sort()
	c1 = len(l)
	c2 = len(l1)
	for i in range(c1):
		for j in range(c2):
			if abs(l[i] - l1[j]) == 1:
				c = c + 1
	if c1 % 2 == 0 and c2 % 2 == 0:
		return 'YES'
	elif c1 % 2 == 1 and c2 % 2 == 1:
		if c >= 1:
			return 'YES'
		else:
			return 'NO'
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	print(algo(a, n))


import os
import sys
from io import BytesIO, IOBase
from collections import Counter
from collections import deque
import heapq
import math
import statistics

def sin():
	return input()

def ain():
	return list(map(int, sin().split()))

def sain():
	return input().split()

def iin():
	return int(sin())
MAX = float('inf')
MIN = float('-inf')

def main():
	for _ in range(iin()):
		n = iin()
		l = ain()
		(e, o) = (deque([]), deque([]))
		for i in range(n):
			if l[i] & 1 == 1:
				o.append(l[i])
			else:
				e.append(l[i])
		if len(e) & 1 == 0 and len(o) & 1 == 0:
			print('YES')
		else:
			flag = 0
			for i in range(len(e)):
				for j in range(len(o)):
					if abs(e[i] - o[j]) == 1:
						print('YES')
						flag = 1
						break
				if flag == 1:
					break
			if not flag:
				print('NO')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


def solve(arr, n):
	(a, b) = (0, 0)
	for num in arr:
		if num % 2:
			a += 1
		else:
			b += 1
	if a % 2 != b % 2:
		return False
	elif a % 2 == 0:
		return True
	else:
		for i in range(n):
			for j in range(i + 1, n):
				if arr[i] % 2 != arr[j] % 2 and abs(arr[i] - arr[j]) == 1:
					return True
		return False
res = []
test_cases = int(input())
while test_cases > 0:
	n = int(input())
	arr = input().split(' ')
	A = [int(n) for n in arr]
	b = solve(A, n)
	if b:
		res.append('YES')
	else:
		res.append('NO')
	test_cases -= 1
for b in res:
	print(b)


t = int(input())
while t != 0:
	t = t - 1
	n = int(input())
	arr = list(map(int, input().strip().split()))[:n]
	e = 0
	o = 0
	arr.sort()
	for i in range(0, n):
		if arr[i] % 2 == 0:
			e = e + 1
		else:
			o = o + 1
	if o == n or e == n:
		print('YES')
	else:
		o = o % 2
		e = e % 2
		if o == 0 and e == 0:
			print('YES')
		else:
			flag = 1
			for i in range(0, n - 1):
				if arr[i + 1] - arr[i] == 1:
					flag = 0
					print('YES')
					break
			if flag:
				print('NO')


for x in range(int(input())):
	n = int(input())
	m = list(map(int, input().split()))
	m.sort()
	k = p = 0
	for i in range(n):
		if m[i] % 2:
			k += 1
	for i in range(n - 1):
		if m[i + 1] - m[i] == 1:
			p += 1
	if k % 2 == 0:
		print('YES')
	elif k % 2 != 0 and p >= 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(cnt1, cnt2) = (0, 0)
	for i in range(n):
		if i > 0:
			if l[i] - l[i - 1] == 1:
				cnt1 += 1
		if l[i] % 2 == 0:
			cnt2 += 1
	if cnt2 % 2 == 0 or cnt1 > 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	e = 0
	o = 0
	a = [int(x) for x in input().split()]
	a.sort()
	for _ in range(len(a)):
		if a[_] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 == 1 and o % 2 == 1:
		for i in range(len(a) - 1):
			if abs(a[i] - a[i + 1]) == 1:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('NO')


import sys
import math

def I():
	return int(sys.stdin.readline())

def IL():
	return list(map(int, sys.stdin.readline().strip().split()))

def ILS():
	return list(map(str, sys.stdin.readline().strip().split()))
t = I()
for i in range(t):
	n = I()
	l = IL()
	odd = 0
	ev = 0
	if len(l) <= 2:
		if len(l) == 0:
			print('YES')
		elif l[0] % 2 == l[1] % 2:
			print('YES')
		elif abs(l[0] - l[1]) == 1:
			print('YES')
		else:
			print('NO')
		continue
	for x in l:
		if x % 2 == 0:
			ev += 1
		else:
			odd += 1
	if odd % 2 == 0 and ev % 2 == 0:
		print('YES')
	else:
		l.sort()
		flag = 0
		for i in range(1, len(l)):
			if abs(l[i] - l[i - 1]) == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t * 2):
	if i % 2 == 0:
		n = int(input())
	else:
		arr = list(map(int, input().split()))
		arr.sort()
		f = False
		if n % 2 != 0:
			print('NO')
		else:
			e = 0
			for i in range(n):
				if arr[i] % 2 == 0:
					e += 1
				if i < n - 1 and arr[i] + 1 == arr[i + 1]:
					f = True
			if e % 2 == 0:
				print('YES')
			elif f:
				print('YES')
			else:
				print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	e = 0
	o = 0
	u = 0
	for i in range(n):
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 == 0 and o % 2 != 0 or (e % 2 != 0 and o % 2 == 0):
		print('NO')
	else:
		for i in range(0, n - 1):
			if a[i + 1] - a[i] == 1:
				print('YES')
				u = 1
				break
		if u == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	odd = 0
	even = 0
	adjacent = 0
	for i in range(n - 1):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if arr[i] + 1 == arr[i + 1]:
			adjacent += 1
	if arr[-1] % 2 == 0:
		even += 1
	else:
		odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		o = odd % 2
		e = even % 2
		if adjacent >= (o + e) / 2:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	possible = True
	is_breaked = False
	array = sorted(list(map(int, input().split())))
	count1 = 0
	count2 = 0
	for k in array:
		if k % 2 == 0:
			count2 += 1
		else:
			count1 += 1
	while possible:
		if count1 % 2 or count2 % 2:
			possible = False
			for j in range(len(array)):
				if j != 0:
					if array[j] - array[j - 1] == 1:
						del array[j - 1:j + 1]
						possible = True
						count1 -= 1
						count2 -= 1
						break
		else:
			print('YES')
			is_breaked = True
			break
	if not array and (not is_breaked):
		print('YES')
		is_breaked = True
	if not is_breaked:
		if not count1 % 2 and (not count2 % 2):
			print('YES')
		else:
			print('NO')


def linp():
	return list(map(int, input().split()))
for _ in range(int(input())):
	n = int(input())
	l = linp()
	even = []
	odd = []
	for x in l:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
	if len(even) % 2 == 0:
		print('YES')
		continue
	else:
		f = False
		for x in even:
			if x + 1 in odd or x - 1 in odd:
				print('YES')
				f = True
				break
		if f == False:
			print('NO')


t = int(input())

def solve():
	n = int(input())
	L = list(map(int, input().split()))
	E = []
	O = []
	for l in L:
		if l % 2 == 0:
			E.append(l)
		else:
			O.append(l)
	if len(E) % 2 == 0 and len(O) % 2 == 0:
		print('YES')
		return
	for e in E:
		if e + 1 in O or e - 1 in O:
			print('YES')
			return
	print('NO')
for cnt in range(t):
	solve()


def N():
	return int(input())

def NM():
	return map(int, input().split())

def L():
	return list(NM())

def LN(n):
	return [N() for i in range(n)]

def LL(n):
	return [L() for i in range(n)]
t = N()

def f():
	n = N()
	l = L()
	l.sort()
	e = 0
	o = 0
	for i in l:
		if i % 2:
			o += 1
		else:
			e += 1
	eo = 0
	for (i, j) in zip(l, l[1:]):
		if abs(j - i) == 1:
			eo += 1
			break
	if e % 2 and eo == 0:
		print('NO')
	else:
		print('YES')
for i in range(t):
	f()


def tes(x):
	e = 0
	o = 0
	for i in range(len(x)):
		if x[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	else:
		x.sort()
		flag = 0
		for i in range(len(x) - 1):
			if x[i] + 1 == x[i + 1]:
				flag = 1
		if flag == 1:
			print('YES')
		else:
			print('NO')
t = int(input())
a = []
for i in range(t):
	n = int(input())
	x = []
	x.extend(input().split())
	for j in range(n):
		x[j] = int(x[j])
	a.append(x)
for j in range(t):
	tes(a[j])


def solve():
	n = int(input())
	arr = [int(i) for i in input().split()]
	arr.sort()
	(e, o, f) = (0, 0, 0)
	for i in range(n):
		if i < n - 1 and arr[i] + 1 == arr[i + 1]:
			f = 1
		if arr[i] & 1:
			o += 1
		else:
			e += 1
	if e % 2 == o % 2 == 0:
		print('YES')
	elif e & 1 and o & 1 and f:
		print('YES')
	else:
		print('NO')
for _ in range(int(input())):
	solve()


from sys import stdin, stdout
import math, sys
from itertools import permutations, combinations
from collections import defaultdict, deque, OrderedDict
from os import path
import bisect as bi
import heapq

def yes():
	print('YES')

def no():
	print('NO')
if path.exists('input.txt'):
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')

	def I():
		return int(input())

	def In():
		return map(int, input().split())
else:

	def I():
		return int(stdin.readline())

	def In():
		return map(int, stdin.readline().split())

def main():
	try:
		n = I()
		l = list(In())
		l.sort()
		(od, ev) = (0, 0)
		for x in l:
			if x & 1 == 1:
				od += 1
			else:
				ev += 1
		if od % 2 == 0 and ev % 2 == 0:
			yes()
		else:
			ans = 0
			for i in range(n - 1):
				if abs(l[i + 1] - l[i]) == 1:
					ans += 1
			if od % 2 == 1 and ev % 2 == 1 and (ans != 0):
				yes()
			else:
				no()
	except:
		pass
M = 998244353
P = 1000000007
for _ in range(I()):
	main()


(z, zz, dgraphs) = (input, lambda : list(map(int, z().split())), {})
from string import *
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
num = int(z())
for _ in range(num):
	n = int(z())
	l = sorted(zz())
	e = 0
	o = 0
	c = 0
	if l[0] % 2 == 0:
		e += 1
	else:
		o += 1
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			c += 1
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0 or (e % 2 != 0 and o % 2 != 0 and (c >= 1)):
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	t -= 1
	n = int(input())
	arr = list(map(int, input().split(' ')))
	evens = []
	odds = []
	for i in range(n):
		x = arr[i]
		if x % 2 == 0:
			evens.append(x)
		else:
			odds.append(x)
	if len(evens) % 2 == 0 and len(odds) % 2 == 0:
		print('YES')
	elif len(evens) % 2 != len(odds) % 2:
		print('NO')
	else:
		found_a_cross_pair = False
		for i in range(len(evens)):
			for j in range(len(odds)):
				if abs(evens[i] - odds[j]) == 1:
					found_a_cross_pair = True
		if found_a_cross_pair:
			print('YES')
		else:
			print('NO')


from collections import defaultdict
for _ in range(int(input())):
	N = int(input())
	List = [int(x) for x in input().split()]
	Even = []
	Odd = []
	for i in range(N):
		if List[i] & 1:
			Odd.append(List[i])
		else:
			Even.append(List[i])
	E = defaultdict(bool)
	O = defaultdict(bool)
	for i in Even:
		E[i] = True
	for i in Odd:
		O[i] = True
	if not len(Odd) & 1 and (not len(Even) & 1):
		print('YES')
		continue
	else:
		flag = 1
		for i in range(len(Even)):
			if O[Even[i] - 1]:
				print('YES')
				flag = 0
				break
		if flag == 0:
			continue
		flag = 1
		for i in range(len(Odd)):
			if E[Odd[i] - 1]:
				print('YES')
				flag = 0
				break
		if flag:
			print('NO')


t = int(input())
for fsd in range(t):
	n = int(input())
	a = [int(c) for c in str(input()).split()]
	(p, d, c) = (0, 0, 0)
	a.sort()
	last = -1
	for i in range(n):
		if a[i] % 2 == 0:
			p += 1
		else:
			d += 1
		if a[i] == last + 1:
			c += 1
			last = -1
		else:
			last = a[i]
	if p % 2 == 0 and d % 2 == 0:
		print('YES')
	elif p % 2 == 1 and d % 2 == 1:
		if c > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


import collections
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	d = collections.defaultdict(int)
	v = collections.defaultdict(int)
	l = []
	k = []
	for i in a:
		d[i % 2] += 1
		if i % 2 == 0:
			v[i] += 1
		else:
			v[i] += 1
	if d[1] % 2 == 0 and d[0] % 2 == 0:
		print('YES')
	else:
		c = 0
		for i in a:
			if i % 2 != 0:
				if i - 1 in v:
					v[i - 1] -= 1
					d[1] -= 1
					d[0] -= 1
					if v[i - 1] == 0:
						del v[i - 1]
				elif i + 1 in v:
					v[i + 1] -= 1
					d[1] -= 1
					d[0] -= 1
					if v[i + 1] == 0:
						del v[i + 1]
			if d[1] % 2 == 0 and d[0] % 2 == 0:
				print('YES')
				c = 1
				break
		if c == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = [int(i) for i in input().split()]
	arr.sort()
	one = sum([1 for x in arr if x % 2]) % 2
	ans = 'YES'
	if one:
		ans = 'NO'
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				ans = 'YES'
	print(ans)


import sys
input = lambda : sys.stdin.readline().rstrip()
inp = sys.stdin.buffer.readline

def I():
	return list(map(int, inp().split()))
from math import inf
for _ in range(I()[0]):
	(n,) = I()
	a = I()
	a.sort()
	pairs = 0
	for i in range(n - 1):
		if a[i] + 1 == a[i + 1]:
			pairs += 1
			a[i] = -1
			a[i + 1] = -1
	odd = 0
	even = 0
	for i in a:
		if i == -1:
			continue
		elif i & 1:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd % 2 == 1 and even % 2 == 1 and (pairs > 0):
		print('YES')
	else:
		print('NO')


from collections import defaultdict as dd, deque
import sys
input = sys.stdin.readline
t = int(input())
while t:
	n = int(input())
	d = dd(int)
	l = list(map(int, input().split()))
	for i in l:
		d[i] += 1
	(e, ne, o, no) = ([], [], [], [])
	ll = []
	ce = 0
	co = 0
	for i in l:
		if i % 2:
			co += 1
			if d[i - 1] or d[i + 1]:
				o.append(i)
				ll.append(i)
			else:
				no.append(i)
		else:
			ce += 1
			if d[i - 1] or d[i + 1]:
				e.append(i)
				ll.append(i)
			else:
				ne.append(i)
	if ce % 2 == 0 and co % 2 == 0:
		print('YES')
	elif ll:
		print('YES')
	else:
		print('NO')
	t -= 1


ipnl = lambda n: [int(input()) for _ in range(n)]
inp = lambda : int(input())
ip = lambda : [int(w) for w in input().split()]
for _ in range(inp()):
	n = inp()
	x = ip()
	x.sort()
	(odd, even) = ({}, {})
	(e, o) = (0, 0)
	for i in x:
		if i % 2:
			odd[i] = 1
			o += 1
		else:
			even[i] = 1
			e += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in odd:
			if even.get(i - 1, 0) or even.get(i + 1, 0):
				flag = 1
				break
		if flag:
			print('YES')
		else:
			print('NO')


import math
for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	l1 = []
	l2 = []
	for i in range(0, n):
		if l[i] % 2 == 0:
			l1.append(l[i])
		else:
			l2.append(l[i])
	if len(l1) % 2 == 0 and len(l2) % 2 == 0:
		print('YES')
	else:
		d = 0
		for i in range(0, len(l1)):
			for j in range(0, len(l2)):
				if abs(l1[i] - l2[j]) == 1:
					d = 1
					print('YES')
					break
			if d == 1:
				break
		if d == 0:
			print('NO')


numberofcases = int(input())
for _ in range(numberofcases):
	n = int(input())
	l = [int(x) for x in input().split()]
	l.sort()
	evencount = 0
	oddcount = 0
	extrapair = False
	for i in range(n - 1):
		if l[i] % 2 == 0:
			evencount += 1
		if l[i] + 1 == l[i + 1]:
			extrapair = True
	if l[n - 1] % 2 == 0:
		evencount += 1
	if evencount % 2 == 0 or (evencount % 2 == 1 and extrapair):
		print('YES')
	else:
		print('NO')


def c2(x, y):
	for i in x:
		for j in y:
			if abs(i - j) == 1:
				print('YES')
				return 0
	print('NO')
	return 0
t = int(input())
while t:
	t = t - 1
	n = int(input())
	x = list(map(int, input().split()))
	eve = [i for i in x if i % 2 == 0]
	odd = [i for i in x if i % 2 != 0]
	if len(eve) % 2 == 0:
		print('YES')
	else:
		c2(eve, odd)


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	(q, r) = ([], [])
	for i in a:
		if i % 2 == 0:
			q.append(i)
		else:
			r.append(i)
	if len(q) % 2 == 0:
		print('YES')
	else:
		t = 1
		for i in r:
			if i + 1 in q or i - 1 in q:
				print('YES')
				t = 0
				break
		if t:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	o = e = 0
	l.sort()
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == e % 2:
		if o % 2 == 0 and e % 2 == 0:
			print('YES')
		else:
			i = 1
			f = 0
			while i < n:
				if l[i] - l[i - 1] == 1:
					o -= 1
					e -= 1
					i += 1
				i += 1
				if o % 2 == 0 and e % 2 == 0:
					f = 1
			if f == 1:
				print('YES')
			else:
				print('NO')
	else:
		print('NO')


t = int(input())
for loop in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = 0
	ex = False
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			ex = True
	for i in range(n):
		odd += a[i] % 2
	if odd % 2 == 0 or ex:
		print('YES')
	else:
		print('NO')


import sys
import collections

def set_debug(debug_mode=False):
	if debug_mode:
		fin = open('input.txt', 'r')
		sys.stdin = fin
t = int(input())
for ti in range(1, t + 1):
	n = int(input())
	s = list(map(int, input().split()))
	odd = []
	even = []
	for x in s:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
	if len(even) % 2 == 0:
		print('YES')
	else:
		found = False
		for e in even:
			for o in odd:
				if abs(o - e) == 1:
					found = True
		if found:
			print('YES')
		else:
			print('NO')


def answer(n, a):
	num_evens = 0
	evens = []
	odds = []
	for e in a:
		if e % 2 == 0:
			num_evens += 1
			evens.append(e)
		else:
			odds.append(e)
	if num_evens % 2 == 0:
		return 'YES'
	eptr = 0
	optr = 0
	evens.sort()
	odds.sort()
	while eptr < len(evens) and optr < len(odds):
		t = odds[optr] - evens[eptr]
		if t == 1 or t == -1:
			return 'YES'
		if t > 1:
			eptr += 1
		else:
			optr += 1
	return 'NO'

def main():
	t = int(input())
	n = [0] * t
	a = [0] * t
	for j in range(t):
		n[j] = int(input())
		a[j] = [int(i) for i in input().split()]
	for j in range(t):
		print(answer(n[j], a[j]))
main()


for tc in range(int(input())):
	n = int(input())
	ar = list(map(int, input().split()))
	odds = []
	evens = []
	for a in ar:
		if a % 2 == 0:
			evens.append(a)
		else:
			odds.append(a)
	if len(odds) % 2 == len(evens) % 2:
		if len(odds) % 2 == 0:
			print('YES')
		else:
			good = False
			for i in range(len(odds)):
				for j in range(len(evens)):
					if abs(odds[i] - evens[j]) == 1:
						good = True
						break
			print('YES' if good else 'NO')


for i in range(int(input())):
	a = int(input())
	b = sorted(list(map(int, input().split())))
	e = 0
	o = 0
	n = 0
	p = []
	if b[0] % 2 == 0:
		e += 1
	else:
		o += 1
	for i in range(1, a):
		if b[i] % 2 == 0:
			e += 1
		else:
			o += 1
		if b[i] - b[i - 1] == 1 and b[i - 1] not in p:
			n += 1
			p.append(b[i])
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif (e - n) % 2 == 0 and (o - n) % 2 == 0 or (((e - n - 1) % 2 == 0 and (o - n - 1) % 2 == 0) and n >= 1):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	a = int(input())
	n = [int(x) for x in input().split(' ')]
	even = 0
	for i in n:
		if i % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
	else:
		n.sort()
		found = False
		for i in range(a - 1):
			if n[i] + 1 == n[i + 1]:
				found = True
		if found:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	a = int(input())
	b = list(map(int, input().split()))
	b.sort()
	(par, dif) = (0, 0)
	for i in range(a - 1):
		(m, n) = (b[i + 1], b[i])
		if b[i + 1] - b[i] == 1:
			dif += 1
		if b[i] % 2 == 0:
			par += 1
	if b[a - 1] % 2 == 0:
		par += 1
	if par % 2 == 0 or dif > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	t -= 1
	n = int(input())
	a = [int(s) for s in input().split()]
	even = 0
	for i in a:
		if i % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
		continue
	else:
		c = 0
		for i in range(n):
			for j in range(i, n):
				if abs(a[i] - a[j]) == 1:
					c += 1
		if c > 0:
			print('YES')
		else:
			print('NO')


N = int(input())
answers = []
for i in range(N):
	n = int(input())
	arr = sorted(list(map(int, input().split())))
	n = 0
	c = 0
	for k in arr:
		if k % 2:
			n += 1
		else:
			c += 1
	if c % 2 == 0 and n % 2 == 0:
		answers.append('YES')
	else:
		k = 1
		flag = False
		while k < len(arr):
			if arr[k] - arr[k - 1] == 1:
				if arr[k] % 2:
					n -= 1
				else:
					c -= 1
				if arr[k - 1] % 2:
					n -= 1
				else:
					c -= 1
				k += 2
				if c % 2 == 0 and n % 2 == 0:
					flag = True
					break
			else:
				k += 1
		if flag:
			answers.append('YES')
		else:
			answers.append('NO')
for i in answers:
	print(i)


for j in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	even = 0
	odd = 0
	count = 0
	s = sorted(l)
	for i in range(n):
		if l[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i > 0:
			if s[i] - s[i - 1] == 1:
				count += 1
	if even % 2 == 0 and odd % 2 == 0 or count > 0:
		print('YES')
	else:
		print('NO')


from math import *
t = int(input())
m = []
n = []
for i in range(t):
	nnnnnn = input()
	x = list(map(int, input().split()))
	x.sort()
	m.append(x)
for i in range(t):
	flag = 0
	for j in range(len(m[i]) - 1):
		if m[i][j + 1] - m[i][j] == 1:
			flag = 1
	odd = 0
	even = 0
	for j in range(len(m[i])):
		if m[i][j] % 2 == 1:
			odd = odd + 1
		else:
			even = even + 1
	if odd % 2 == 0:
		flag = 1
	if flag == 1:
		print('Yes')
	else:
		print('No')


import sys, heapq
from collections import *
from functools import lru_cache
sys.setrecursionlimit(10 ** 6)

def main():
	t = int(input())
	for _ in range(t):
		n = int(input())
		arr = list(map(int, input().split(' ')))
		(evens, odds) = ([], [])
		for a in arr:
			if a & 1:
				odds.append(a)
			else:
				evens.append(a)
		flag = False
		if len(odds) & 1 == 0:
			flag = True
		else:
			ss = set(odds)
			for a in evens:
				if a - 1 in ss or a + 1 in ss:
					flag = True
					break
		if flag:
			print('YES')
		else:
			print('NO')
main()


import os
import sys
from io import BytesIO, IOBase

def main():
	for _ in range(int(input())):
		n = int(input())
		arr = [int(k) for k in input().split()]
		counter = 0
		odd = 0
		even = 0
		arr.sort()
		for i in range(n):
			if arr[i] % 2 == 0:
				even += 1
			else:
				odd += 1
		if even % 2 == 0:
			print('yes')
		else:
			for i in range(1, n):
				if arr[i] - arr[i - 1] == 1:
					counter = 1
					break
			if counter == 0:
				print('no')
			else:
				print('yes')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


for _ in range(int(input())):
	x = int(input())
	a = list(map(int, input().split()))
	m = 0
	n = 0
	o = 0
	a.sort()
	i = 1
	if a[0] % 2 == 0:
		n = n + 1
	else:
		o = o + 1
	while i < x:
		if a[i] - a[i - 1] == 1:
			m = m + 1
		if a[i] % 2 == 0:
			n = n + 1
		else:
			o = o + 1
		i = i + 1
	if n % 2 == 0 and o % 2 == 0:
		print('Yes')
	elif n % 2 != 0 and o % 2 != 0 and (m != 0):
		print('Yes')
	else:
		print('No')


t = int(input())
for i in range(t):
	a = int(input())
	s = list(map(int, input().split()))
	s.sort()
	n = []
	m = []
	F = 0
	for j in range(a):
		if s[j] % 2 == 0:
			n.append(s[j])
		else:
			m.append(s[j])
	if len(n) % 2 == 0:
		print('YES')
	else:
		for k in range(a - 1):
			z = s[k + 1] - s[k]
			if z == 1:
				F = 1
		if F == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	p = int(input())
	s = list(map(int, input().split()))
	even = []
	odd = []
	for i in s:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0 and len(odd) % 2 == 0 or s.count(s[0]) == p:
		print('YES')
	else:
		s.sort()
		f = 0
		for i in range(p - 1):
			if s[i + 1] - s[i] == 1:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


from sys import stdin, stdout
lis = lambda : list(map(int, input().split()))
ma = lambda : map(int, input().split())
inte = lambda : int(input())
st = lambda : input()
for i in range(inte()):
	n = inte()
	a = sorted(lis())
	(e, o) = (0, 0)
	for i in a:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		b = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				b = 1
				break
		if b == 1:
			print('YES')
		else:
			print('NO')


for i in ' ' * int(input()):
	n = int(input())
	a = [int(i) for i in input().split()]
	even = []
	odd = []
	count = 0
	for j in a:
		if j % 2 == 0:
			even.append(j)
		else:
			odd.append(j)
	count += len(even) // 2
	count += len(odd) // 2
	for _ in a:
		if _ + 1 in a or _ - 1 in a:
			count += 1
	if count >= n // 2:
		print('YES')
	else:
		print('NO')


def ans(a, n):
	l = [x for x in a if x % 2 == 0]
	r = [x for x in a if x % 2 == 1]
	if len(l) % 2 == 0:
		return 'YES'
	p = set([x - 1 for x in l] + [x + 1 for x in l])
	for x in r:
		if x in p:
			return 'YES'
	return 'NO'
t = int(input().strip())
for _ in range(t):
	n = int(input().strip())
	a = list(map(int, input().strip().split()))
	print(ans(a, n))


import sys, math
I = sys.stdin.readline
ans = ''
for _ in range(int(I())):
	n = int(I())
	arr = sorted(list(map(int, I().split())))
	even = []
	odd = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	i = 0
	ones = 0
	while i < n - 1:
		if arr[i + 1] - arr[i] == 1 and (arr[i + 1] % 2 == 0 and arr[i] % 2 != 0 or (arr[i + 1] % 2 != 0 and arr[i] % 2 == 0)):
			ones += 1
			i += 1
		i += 1
	if len(even) == 0 or len(odd) == 0:
		if n % 2 == 0:
			ans += 'YES\n'
		else:
			ans += 'NO\n'
	elif len(even) % 2 == 0 and len(odd) % 2 == 0:
		ans += 'YES\n'
	elif ones > 0:
		ans += 'YES\n'
	else:
		ans += 'NO\n'
print(ans)


t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	diffone = False
	oddcount = 0
	for i in range(n):
		if i > 0:
			if a[i] - a[i - 1] == 1:
				diffone = True
		if a[i] % 2 == 1:
			oddcount += 1
	if oddcount % 2 == 0 or diffone:
		print('YES')
	else:
		print('NO')


t = int(input())
for z in range(t):
	(n, even, evelist, oddlist) = (int(input()), 0, [], [])
	list = [int(i) for i in input().split()]
	for i in range(0, n):
		if list[i] % 2 == 0:
			evelist.append(list[i])
			even += 1
		else:
			oddlist.append(list[i])
	if even % 2 == 0:
		print('YES')
	else:
		flag = True
		for i in range(0, len(evelist)):
			for j in range(0, len(oddlist)):
				if abs(evelist[i] - oddlist[j]) == 1:
					print('YES')
					flag = False
					break
			if not flag:
				break
		if flag:
			print('NO')


from pprint import pprint
import sys
input = sys.stdin.readline
q = int(input())
for _ in range(q):
	n = int(input())
	isdelete = False
	dat = list(map(int, input().split()))
	dat.sort()
	odd = []
	even = []
	prev = -100
	for i in range(n):
		if dat[i] % 2 == 0:
			even.append(dat[i])
		else:
			odd.append(dat[i])
		diff = dat[i] - prev
		if diff == 1:
			isdelete = True
		prev = dat[i]
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(even) % 2 == 1 and len(odd) % 2 == 0:
		print('NO')
	elif len(even) % 2 == 0 and len(odd) % 2 == 1:
		print('NO')
	elif isdelete:
		print('YES')
	else:
		print('NO')


from collections import defaultdict
for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	evenl = []
	oddl = []
	even = defaultdict(int)
	odd = defaultdict(int)
	(evenc, oddc) = (0, 0)
	for i in l:
		if i % 2 == 0:
			evenl.append(i)
			even[i] += 1
			evenc += 1
		else:
			oddl.append(i)
			odd[i] += 1
			oddc += 1
	if len(evenl) % 2 == 0 and len(oddl) % 2 == 0:
		print('YES')
		continue
	f = 0
	for i in evenl:
		if i - 1 in odd and odd[i - 1] > 0:
			even[i] -= 1
			odd[i - 1] -= 1
			evenc -= 1
			oddc -= 1
		elif i + 1 in odd and odd[i + 1] > 0:
			even[i] -= 1
			odd[i + 1] -= 1
			evenc -= 1
			oddc -= 1
		if oddc % 2 == 0 and evenc % 2 == 0:
			f = 1
			break
	if f == 1:
		print('YES')
		continue
	c = 0
	for i in even:
		c += even[i]
	if c % 2 != 0:
		print('NO')
	else:
		c = 0
		for i in odd:
			c += odd[i]
		if c % 2 == 0:
			print('YES')
		else:
			print('NO')


for t in range(int(input())):
	i_liczb = int(input())
	liczby = [int(_) for _ in input().split()]
	liczby.sort()
	(i_par, i_nie, czy_par) = (0, 0, False)
	if liczby[0] % 2 == 0:
		i_par += 1
	else:
		i_nie += 1
	for x in range(1, i_liczb):
		if liczby[x] % 2 == 0:
			i_par += 1
		else:
			i_nie += 1
		if liczby[x] - liczby[x - 1] == 1:
			czy_par = True
	if i_nie % 2 == 0 and i_par % 2 == 0:
		print('YES')
	elif i_liczb % 2 == 1:
		print('NO')
	elif czy_par:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	s = input()
	s_i = list(map(int, s.split()))
	n_o = 0
	n_e = 0
	for k in range(n):
		if s_i[k] % 2 == 0:
			n_e += 1
		else:
			n_o += 1
	if n_o % 2 == 0 and n_e % 2 == 0:
		print('YES')
		continue
	elif (n_o - n_e) % 2 == 1:
		print('NO')
		continue
	dic = {}
	found = False
	for k in range(n):
		if dic.get(s_i[k] + 1, False) or dic.get(s_i[k] - 1, False):
			print('YES')
			found = True
			break
		dic[s_i[k]] = True
	if not found:
		print('NO')


def main():
	t = int(input())
	for _ in range(t):
		n = int(input())
		a = list(map(int, input().split()))
		e = set()
		o = set()
		et = ot = 0
		for i in a:
			if i % 2 == 0:
				e.add(i)
				et += 1
			else:
				o.add(i)
				ot += 1
		if et % 2 == 0 and ot % 2 == 0:
			print('YES')
		elif et % 2 == 1 and ot % 2 == 1:
			yep = False
			for i in o:
				if i + 1 in e or i - 1 in e:
					yep = True
					break
			if yep:
				print('YES')
			else:
				print('NO')
		else:
			print('NO')
main()


t = int(input())
for _ in range(0, t):
	n = int(input())
	a = [int(z) for z in input().split()]
	a.sort()
	ec = 0
	oc = 0
	for i in range(0, n):
		if a[i] % 2 == 0:
			ec += 1
		else:
			oc += 1
	if ec % 2 == 0:
		print('YES')
	else:
		r = 0
		for i in range(0, n - 1):
			if a[i] + 1 == a[i + 1]:
				r = 1
				break
		if r == 1:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	a = list(map(int, input().split(' ')))
	even = []
	odd = []
	for j in a:
		if j % 2 == 0:
			even.append(j)
		else:
			odd.append(j)
	even.sort()
	odd.sort()
	if len(odd) % 2 == 0:
		print('YES')
	else:
		flag = False
		for j in odd:
			for k in even:
				if j - 1 == k or j + 1 == k:
					print('YES')
					flag = True
					break
			if flag == True:
				break
		if flag == False:
			print('NO')


def isOdd(num):
	return num & 1 == 1
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	odd = 0
	neighbor = 0
	if isOdd(a[0]):
		odd += 1
	else:
		even += 1
	for i in range(1, n):
		if isOdd(a[i]):
			odd += 1
		else:
			even += 1
		if a[i] - a[i - 1] == 1:
			neighbor += 1
	if not isOdd(even) and (not isOdd(odd)):
		print('YES')
	elif neighbor > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	even_count = 0
	for i in arr:
		if i % 2 == 0:
			even_count += 1
	if even_count % 2 == 0:
		print('YES')
		continue
	possible = False
	for i in range(n - 1):
		if arr[i + 1] - arr[i] == 1:
			print('YES')
			possible = True
			break
	if not possible:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(i) for i in input().split(' ')]
	a.sort()
	even = 0
	odd = 0
	ok = False
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i < len(a) - 1 and a[i] == a[i + 1] - 1:
			ok = True
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif ok:
		print('YES')
	else:
		print('NO')


T = int(input())
for _ in range(T):
	n = int(input())
	a = list(map(int, input().split()))
	(odd, even) = ([], [])
	for x in a:
		if x % 2 == 1:
			odd.append(x)
		else:
			even.append(x)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		ans = 'YES'
	else:
		for i in range(len(odd)):
			valid = False
			for j in range(len(even)):
				if abs(odd[i] - even[j]) == 1:
					valid = True
					break
			if valid:
				break
		ans = 'YES' if valid else 'NO'
	print(ans)


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	(even, odd) = (0, 0)
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		arr.sort()
		ans = 'No'
		for i in range(1, n):
			if abs(arr[i] - arr[i - 1]) == 1:
				ans = 'YES'
				break
		print(ans)


test = int(input())
while test:
	test -= 1
	n = int(input())
	arr = input().split()
	arr = [int(i) for i in arr]
	even = 0
	odd = 0
	i = 0
	while i < n:
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		i += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		arr = sorted(arr)
		i = 0
		consecutives = 0
		while i < n - 1:
			if arr[i + 1] - arr[i] == 1:
				i += 1
				consecutives += 1
				break
			i += 1
		if consecutives != 0:
			print('YES')
		else:
			print('NO')


from sys import stdin, gettrace
if not gettrace():

	def input():
		return next(stdin)[:-1]

def main():

	def solve():
		n = int(input())
		aa = [int(a) for a in input().split()]
		p0 = len([a for a in aa if a % 2 == 0])
		if p0 % 2 == 0:
			print('YES')
		else:
			aa.sort()
			for i in range(n - 1):
				if aa[i + 1] - aa[i] == 1:
					print('YES')
					return
			print('NO')
	q = int(input())
	for _ in range(q):
		solve()
main()


import sys
input = sys.stdin.readline
t = int(input())
for tests in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	E = []
	O = []
	for a in A:
		if a % 2 == 0:
			E.append(a)
		else:
			O.append(a)
	if len(E) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for e in E:
			for o in O:
				if abs(e - o) <= 1:
					print('YES')
					flag = 1
					break
			if flag:
				break
		if flag == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	for1 = [0] * n
	e = 0
	o = 0
	f = 0
	for i in range(n):
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 1 and e % 2 == 1:
		for i in range(n):
			for j in range(i + 1, n):
				if abs(a[i] - a[j]) == 1 and for1[i] == 0 and (for1[j] == 0) and (a[i] % 2 != a[j] % 2):
					for1[i] = 1
					for1[j] = 1
					o -= 1
					e -= 1
					f = 1
					break
			if f == 1:
				break
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	even = 0
	odd = 0
	close = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i == n - 1:
			break
		if a[i] - a[i + 1] == -1:
			close += 1
	if even % 2 == 0:
		print('YES')
	elif even == 0 or odd == 0:
		print('YES')
	elif close == 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	vetor = list(map(int, input().split()))
	even = 0
	odd = 0
	pares = []
	impares = []
	for a in range(n):
		if vetor[a] % 2 == 0:
			even += 1
			pares.append(vetor[a])
		else:
			odd += 1
			impares.append(vetor[a])
	if even % 2 == 0:
		print('YES')
	else:
		flag = False
		for a in range(len(impares)):
			if impares[a] - 1 in pares or impares[a] + 1 in pares:
				print('YES')
				flag = True
				break
		if not flag:
			print('NO')


def similar(A, N):
	(Odd, Even) = ([], [])
	for i in range(N):
		if A[i] % 2 == 0:
			Even.append(A[i])
		else:
			Odd.append(A[i])
	if len(Odd) % 2 == 0:
		return 'YES'
	else:
		Odd = set(Odd)
		for i in range(len(Even)):
			if Even[i] - 1 in Odd or Even[i] + 1 in Odd:
				return 'YES'
		return 'NO'

def main():
	T = int(input())
	ans = []
	for i in range(T):
		N = int(input())
		a = list(map(int, input().split()))
		ans.append(similar(a, N))
	for i in range(T):
		print(ans[i])
main()


from sys import *
input = lambda : stdin.readline()
int_arr = lambda : list(map(int, stdin.readline().strip().split()))
str_arr = lambda : list(map(str, stdin.readline().split()))
get_str = lambda : map(str, stdin.readline().strip().split())
get_int = lambda : map(int, stdin.readline().strip().split())
get_float = lambda : map(float, stdin.readline().strip().split())
mod = 1000000007
setrecursionlimit(1000)
for _ in range(int(input())):
	n = int(input())
	arr = int_arr()
	arr.sort()
	(left, right) = (0, len(arr) - 1)
	(odd, even, ct) = (0, 0, 0)
	while left < right:
		if arr[left + 1] - arr[left] == 1:
			ct += 1
			break
		left += 1
	for i in arr:
		if i != 0:
			if i % 2 != 0:
				odd += 1
			else:
				even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd % 2 != 0 and even % 2 != 0 and ct:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
T = int(stdin.readline())
for i in range(T):
	n = int(stdin.readline())
	s = list(map(int, stdin.readline().split()))
	oddne = set()
	evenn = []
	evenc = 0
	oddc = 0
	for i in s:
		if i & 1:
			oddc += 1
			oddne.add(i - 1)
			oddne.add(i + 1)
		else:
			evenc += 1
			evenn.append(i)
	if not oddc & 1:
		out = 'YES'
		stdout.write(out + '\n')
		continue
	else:
		for i in evenn:
			if i in oddne:
				out = 'YES'
				stdout.write(out + '\n')
				break
		else:
			out = 'NO'
			stdout.write(out + '\n')


t = int(input())
while t != 0:
	t -= 1
	n = int(input())
	lt = [int(x) for x in input().split()]
	(odd, eve) = ([], [])
	for i in range(n):
		if lt[i] % 2 == 0:
			eve.append(lt[i])
		else:
			odd.append(lt[i])
	ans = 'NO'
	if len(eve) % 2 == 0:
		ans = 'YES'
	else:
		for p in eve:
			if p + 1 in odd or p - 1 in odd:
				ans = 'YES'
				break
	print(ans)


import io, os
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
import sys

def solve(n, A):
	(Odd, Even) = ([], [])
	for a in A:
		if a % 2 == 0:
			Even.append(a)
		else:
			Odd.append(a)
	if len(Odd) % 2 == 0:
		return 'YES'
	for o in Odd:
		for e in Even:
			if abs(o - e) == 1:
				return 'YES'
	return 'NO'

def main():
	t = int(input())
	for _ in range(t):
		n = int(input())
		A = tuple(map(int, input().split()))
		ans = solve(n, A)
		sys.stdout.write(str(ans) + '\n')
main()


def main():
	for _ in [0] * int(input()):
		n = int(input())
		li = [int(i) for i in input().split()]
		od = sum((i % 2 for i in li))
		if od % 2:
			if any((x + 1 in li for x in li)):
				print('YES')
			else:
				print('NO')
		else:
			print('YES')
main()


T = int(input())
II = 0
import math
while II < T:
	n = int(input())
	s = input().split()
	s = [int(d) for d in s]
	s.sort()
	div = 0
	for a in s:
		if a % 2 == 0:
			div += 1
	if div % 2 == 0:
		print('YES')
	else:
		s = [0] + s
		d = [s[i + 1] - s[i] for i in range(n)]
		if 1 in d[1:]:
			print('YES')
		else:
			print('NO')
	II += 1


from sys import stdin, stdout
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, stdin.readline().split()))
	odd = []
	even = []
	for i in range(n):
		if a[i] % 2:
			odd += (a[i],)
		else:
			even += (a[i],)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in odd:
			for j in even:
				if abs(i - j) == 1:
					flag = 1
					break
			if flag:
				break
		if flag:
			print('YES')
		else:
			print('NO')


num_cases = int(input())
for _ in range(num_cases):
	num = int(input())
	x = input().strip().split()
	x = [int(a) for a in x]
	even = []
	odd = []
	for a in x:
		if a % 2 == 0:
			even.append(a)
		else:
			odd.append(a)
	if len(even) % 2 == 0:
		print('YES')
	else:
		x.sort()
		found = 0
		for i in range(len(x) - 1):
			if x[i + 1] - x[i] == 1:
				print('YES')
				found = 1
				break
		if found == 0:
			print('NO')


def solve(n, arr):
	arr.sort()
	odds = []
	evens = []
	for num in arr:
		if num % 2:
			odds.append(num)
		else:
			evens.append(num)
	if len(odds) % 2 == 0 and len(evens) % 2 == 0:
		return 'yes'
	if len(odds) % 2 == 1 and len(evens) % 2 == 0:
		return 'no'
	if len(evens) % 2 == 1 and len(odds) % 2 == 0:
		return 'no'
	for i in range(1, n):
		if abs(arr[i] - arr[i - 1]) == 1 and (arr[i] % 2 == 0 and arr[i - 1] % 2 == 1 or (arr[i] % 2 == 1 and arr[i - 1] % 2 == 0)):
			return 'yes'
	return 'no'
t = int(input())
for _ in range(t):
	inp = input().split()
	n = int(inp[0])
	arr = [int(x) for x in input().split()]
	print(solve(n, arr))


t = int(input())
while t:
	n = int(input())
	a = list(map(int, input().split()))
	jor = []
	bijor = []
	for i in range(n):
		if a[i] % 2 == 0:
			jor.append(a[i])
		else:
			bijor.append(a[i])
	if len(jor) % 2 == 0 and len(bijor) % 2 == 0:
		print('YES')
	elif len(jor) % 2 == 1 and len(bijor) % 2 == 1:
		flg = 0
		for i in range(len(jor)):
			for j in range(len(bijor)):
				if abs(jor[i] - bijor[j]) == 1:
					flg = 1
					break
		if flg == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')
	t -= 1


from sys import stdin
import math
a = int(stdin.readline())
for k in range(0, a):
	A = int(stdin.readline())
	B = stdin.readline().split()
	B.sort(key=int)
	oddcount = 0
	evencount = 0
	spec = 0
	for l in range(0, A):
		if int(B[l]) % 2 == 0:
			evencount += 1
		else:
			oddcount += 1
		if l < A - 1 and spec == 0:
			if int(B[l + 1]) - int(B[l]) == 1:
				if (int(B[l + 1]) + int(B[l])) % 2 == 1:
					spec += 1
	if (oddcount + evencount) % 2 == 1:
		print('NO')
	elif evencount % 2 == 0 and oddcount % 2 == 0:
		print('YES')
	elif spec > 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, setrecursionlimit as srl
from threading import stack_size, Thread
srl(int(1000000000.0) + 7)
stack_size(int(100000000.0))

def solve():
	t = int(input())
	for _ in range(t):
		n = int(input())
		a = list(map(int, input().split()))
		a.sort()
		(e, o, c) = (0, 0, 0)
		for i in range(n):
			if a[i] % 2:
				o += 1
			else:
				e += 1
			try:
				if abs(a[i] - a[i + 1]) == 1:
					c += 1
			except:
				pass
		if o % 2 == 0 or c > 0:
			print('YES')
		else:
			print('NO')
Thread(target=solve).start()


def pkz():
	input()
	t = [int(i) for i in input().split()]
	s = len(t)
	a = 0
	for i in t:
		if i % 2 == 0:
			a += 1
	if a % 2 != 0:
		u = False
		for i in range(s):
			for j in range(i + 1, s):
				u = u or abs(t[j] - t[i]) == 1
		if u:
			print('yes')
		else:
			print('no')
	else:
		print('yes')
[pkz() for i in range(int(input()))]


t = int(input())
for i in range(t):
	n = int(input())
	li = [int(num) for num in input().split(' ', n - 1)]
	odd = 0
	even = 0
	for k in li:
		if k % 2 == 0:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		li.sort()
		ok = 0
		for j in range(n - 1):
			if li[j + 1] - li[j] == 1:
				ok = True
		if ok:
			print('YES')
		else:
			print('NO')


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


def main(N, L):
	ODD = []
	EVEN = []
	for num in L:
		if num % 2 == 0:
			EVEN.append(num)
		else:
			ODD.append(num)
	if len(ODD) % 2 == 0:
		return 'YES'
	else:
		L.sort()
		for k in range(0, len(L) - 1):
			if L[k] + 1 == L[k + 1]:
				return 'YES'
				break
	return 'NO'
T = int(input())
for i in range(1, T + 1):
	A = int(input())
	B = [int(x) for x in input().split()]
	print(main(A, B))


def ch(a, b):
	return abs(a - b) == 1 or a % 2 == b % 2
t = int(input())
for u in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	e = 0
	(ch, nch) = (0, 0)
	q = [True] * len(l)
	v = False
	for i in range(len(l)):
		if l[i] % 2 == 0:
			ch += 1
		else:
			nch += 1
		if i != len(l) - 1:
			if l[i + 1] - l[i] == 1:
				v = True
	if ch % 2 == 0:
		print('YES')
	elif v:
		print('YES')
	else:
		print('NO')


import math, sys
from sys import stdin, stdout
from collections import Counter, defaultdict, deque
input = stdin.readline
I = lambda : int(input())
li = lambda : list(map(int, input().split()))

def solve():
	n = I()
	a = li()
	c = defaultdict(int)
	d = defaultdict(int)
	for i in a:
		if i % 2:
			c[i] += 1
		else:
			d[i] += 1
	(p, q) = (0, 0)
	for i in c:
		p += c[i]
	for i in d:
		q += d[i]
	if p % 2 == 0 and q % 2 == 0:
		print('YES')
	elif p % 2 == 0 or q == 0:
		print('NO')
	else:
		flag = 1
		for i in c:
			if i + 1 in d or i - 1 in d:
				flag = 0
				break
		for i in d:
			if i + 1 in c or i - 1 in c:
				flag = 0
				break
		if flag == 0:
			print('YES')
		else:
			print('NO')
for _ in range(I()):
	solve()


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	ce = 0
	co = 0
	c1 = 0
	if l[0] % 2 == 0:
		ce += 1
	else:
		co += 1
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			c1 += 1
		if l[i] % 2 == 0:
			ce += 1
		else:
			co += 1
	if co % 2 == 0 and ce % 2 == 0:
		print('YES')
	elif c1 > 0:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline
for f in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	nei = False
	ev = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			nei = True
		if a[i] % 2 == 0:
			ev += 1
	if a[-1] % 2 == 0:
		ev += 1
	if ev % 2 == 0 or nei:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	e = 0
	c = 0
	for i in a:
		if i % 2 == 0:
			e += 1
	if not e % 2 == 0:
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				c = 1
				break
	else:
		c = 1
	print('YES' if c == 1 else 'NO')


t = int(input())
for g in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	e = 0
	o = 0
	E = []
	O = []
	for i in range(0, n):
		if A[i] % 2 == 0:
			e += 1
			E.append(A[i])
		else:
			o += 1
			O.append(A[i])
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		continue
	flag = False
	if e % 2 != 0:
		for i in E:
			if i + 1 in O or i - 1 in O:
				flag = True
				o -= 1
				break
	if o % 2 != 0:
		for i in O:
			if i + 1 in E or i - 1 in E:
				flag = True
				e -= 1
				break
	if flag == True:
		print('YES')
	else:
		print('NO')


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
from math import gcd, ceil

def pre(s):
	n = len(s)
	pi = [0] * n
	for i in range(1, n):
		j = pi[i - 1]
		while j and s[i] != s[j]:
			j = pi[j - 1]
		if s[i] == s[j]:
			j += 1
		pi[i] = j
	return pi

def prod(a):
	ans = 1
	for each in a:
		ans = ans * each
	return ans

def lcm(a, b):
	return a * b // gcd(a, b)

def binary(x, length=16):
	y = bin(x)[2:]
	return y if len(y) >= length else '0' * (length - len(y)) + y
for _ in range(int(input()) if True else 1):
	n = int(input())
	a = list(map(int, input().split()))
	odd = [i for i in a if i % 2]
	even = [i for i in a if not i % 2]
	if len(odd) % 2 and len(even) % 2:
		pos = False
		for each in odd:
			if each + 1 in even or each - 1 in even:
				pos = True
		print('YES' if pos else 'NO')
	else:
		print('YES')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(s) for s in input().split()]
	a.sort()
	odd = 1 if a[0] % 2 == 1 else 0
	even = 1 - odd
	diff = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			diff += 1
		if a[i] % 2 == 1:
			odd += 1
		else:
			even += 1
	ans = False
	if odd % 2 == 0 and even % 2 == 0:
		ans = True
	elif diff >= 1:
		ans = True
	else:
		ans = False
	print('YES' if ans else 'NO')


t = int(input())
result = []
for _ in range(0, t):
	n = int(input())
	ar = input()
	ar = ar.split()
	par = []
	inpar = []
	for i in ar:
		if int(i) % 2 == 0:
			par.append(int(i))
		else:
			inpar.append(int(i))
	if len(par) % 2 == 0 and len(inpar) % 2 == 0:
		result.append('YES')
	else:
		find = 0
		for i in par:
			for j in inpar:
				if (int(i) - int(j)) ** 2 == 1:
					find = 1
					break
			if find == 1:
				break
		if find == 1:
			result.append('YES')
		else:
			result.append('NO')
for i in result:
	print(i)


def check(a, b):
	for i in a:
		for j in b:
			if abs(i - j) == 1:
				return 'YES'
	return 'NO'
for _ in range(int(input())):
	n = int(input())
	lt = list(map(int, input().split()))
	ltO = []
	ltE = []
	for i in lt:
		if i % 2 == 0:
			ltE.append(i)
		else:
			ltO.append(i)
	if len(ltO) % 2 == 0:
		print('YES')
		continue
	print(check(ltO, ltE))


t = int(input())
for i in range(t):
	n = int(input())
	a = input().split()
	(even, odd) = (0, 0)
	for i in range(n):
		a[i] = int(a[i])
		if a[i] % 2 == 0:
			even = even + 1
		else:
			odd = odd + 1
	if odd % 2 == 0:
		ans = 'YES'
	else:
		a.sort()
		for i in range(n - 1):
			if abs(a[i] - a[i + 1]) == 1:
				ans = 'YES'
				break
			else:
				ans = 'NO'
	print(ans)


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(j) for j in input().split()]
	a.sort()
	o_c = 0
	e_c = 0
	ok = False
	for j in range(len(a)):
		if a[j] - a[j - 1] == 1:
			ok = True
			break
		if a[j] % 2 == 0:
			e_c += 1
		else:
			o_c = 1
	if e_c % 2 == 0 or o_c % 2 == 0:
		ok = True
	if ok == True:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(map(int, input().split()))
	cnt_dif1 = 0
	cnt_even = 0
	cnt_odd = 0
	if a[0] % 2 == 0:
		cnt_even += 1
	else:
		cnt_odd += 1
	for (i, j) in zip(a[1:], a[:-1]):
		if i - j == 1:
			cnt_dif1 += 1
		if i % 2 == 0:
			cnt_even += 1
		else:
			cnt_odd += 1
	if cnt_even % 2 == 0 and cnt_odd % 2 == 0:
		print('YES')
	elif cnt_even % 2 != 0 and cnt_odd % 2 != 0 and (cnt_dif1 != 0):
		print('YES')
	else:
		print('NO')


t = int(input())
for hh in range(0, t):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	evencount = 0
	oddcount = 0
	for i in range(0, n):
		if a[i] % 2 == 0:
			evencount += 1
		else:
			oddcount += 1
	if evencount % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(0, n - 1):
			if a[i] + 1 == a[i + 1]:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


from bisect import bisect_left as bl
from bisect import bisect_right as br
from heapq import heappush, heappop
import math
from collections import *
from functools import reduce, cmp_to_key, lru_cache
import io, os
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
M = mod = 10 ** 9 + 7

def factors(n):
	return sorted(set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0))))

def inv_mod(n):
	return pow(n, mod - 2, mod)

def li():
	return [int(i) for i in input().rstrip().split()]

def st():
	return str(input().rstrip())[2:-1]

def val():
	return int(input().rstrip())

def li2():
	return [str(i)[2:-1] for i in input().rstrip().split()]

def li3():
	return [int(i) for i in st()]
for _ in range(val()):
	n = val()
	l = sorted(li())
	l1 = [i & 1 for i in l]
	if l1.count(1) & 1 == 0:
		print('YES')
		continue
	else:
		l1 = set(l)
		ans = 'NO'
		for i in l:
			if i - 1 in l:
				ans = 'YEs'
				break
		print(ans)


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	e = 0
	o = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		flag = True
		for i in range(n):
			for j in range(n):
				if arr[i] % 2 == 1 and arr[j] % 2 == 0 and (abs(arr[i] - arr[j]) == 1):
					print('YES')
					flag = False
					break
				elif arr[i] % 2 == 0 and arr[j] % 2 == 1 and (abs(arr[i] - arr[j]) == 1):
					print('YES')
					flag = False
					break
			if not flag:
				break
		if flag:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	e = 0
	o = 0
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 != 0 and o % 2 != 0:
		flage = False
		for i in range(n):
			for j in range(n):
				if l[i] % 2 == 0 and l[j] % 2 != 0 and abs(l[i] - l[j] == 1):
					flage = True
					break
				elif l[i] % 2 != 0 and l[j] % 2 == 0 and abs(l[i] - l[j] == 1):
					flage = True
					break
			if flage:
				break
		if flage:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	e = 0
	o = 0
	for i in l:
		if i % 2 == 0:
			e = e + 1
		else:
			o = o + 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
		continue
	l.sort()
	i = 1
	f = 0
	while i < len(l):
		x = abs(l[i] - l[i - 1])
		if x == 1:
			e = e - 1
			o = o - 1
		if e % 2 == 0 and o % 2 == 0:
			f = 1
			break
		i = i + 1
	if f == 1:
		print('YES')
	else:
		print('NO')


for q in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	ev = []
	odd = []
	for i in range(n):
		if a[i] % 2 == 0:
			ev.append(a[i])
		else:
			odd.append(a[i])
	if len(ev) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		ans = 'NO'
		for i in range(len(odd)):
			for j in range(len(ev)):
				if abs(odd[i] - ev[j]) == 1:
					ans = 'YES'
					break
		print(ans)


t = int(input())
while t != 0:
	n = int(input())
	l = list(map(int, input().split()))
	odd = []
	even = []
	for i in l:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(odd) % 2 == 0:
		print('YES')
	else:
		f = 0
		if len(odd) <= len(even):
			for j in odd:
				if j + 1 in even or j - 1 in even:
					f = 1
					break
		else:
			for j in even:
				if j + 1 in odd or j - 1 in odd:
					f = 1
					break
		if f == 1:
			print('YES')
		else:
			print('NO')
	t -= 1


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = []
	odd = []
	for i in range(n):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in even:
			for j in odd:
				if abs(i - j) == 1:
					even.remove(i)
					odd.remove(j)
					f = 1
					break
			if f == 1:
				break
		if len(even) % 2 == 0 and len(odd) % 2 == 0:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	arr = []
	n = int(input())
	arr = [int(j) for j in input().split()]
	arr.sort()
	flag = False
	even = 0
	odd = 0
	if arr[0] % 2 == 0:
		even += 1
	else:
		odd += 1
	for i in range(1, len(arr)):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if arr[i] - arr[i - 1] == 1:
			flag = True
	if even % 2 == 0:
		print('YES')
	elif flag == True:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	even = []
	odd = []
	for i in range(n):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	l1 = len(even)
	l2 = len(odd)
	result = 'NO'
	if l1 % 2 == 0:
		result = 'YES'
	else:
		for i in range(l1):
			if even[i] - 1 in odd or even[i] + 1 in odd:
				result = 'YES'
				break
	print(result)


t = int(input())
for _ in range(t):
	n = int(input())
	arr = input().split()
	arr = [int(x) for x in arr]
	even = 0
	check = [False] * (max(arr) + 2)
	o_arr = []
	for a in arr:
		if a % 2 == 0:
			even += 1
			check[a] = True
		else:
			check[a] = True
			o_arr.append(a)
	if even % 2 == 0:
		print('YES')
	else:
		flag = False
		for a in o_arr:
			if check[a + 1]:
				flag = True
				break
			elif check[a - 1]:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


import sys
T = int(sys.stdin.readline())
for _ in range(T):
	N = int(sys.stdin.readline())
	list_num = list(map(int, sys.stdin.readline().split()))
	list_num.sort()
	count = 0
	save = [0, 0]
	for i in range(N):
		save[list_num[i] % 2] += 1
		if i > 0 and list_num[i] - list_num[i - 1] == 1:
			count += 1
	if not save[0] % 2 and (not save[1] % 2):
		print('YES')
	elif count:
		print('YES')
	else:
		print('NO')


def is_similar(a, b):
	if abs(a - b) == 1 or a % 2 == b % 2:
		return True
	return False
t = int(input())
for i in range(t):
	n = int(input())
	values = list(map(int, input().split()))
	odd = []
	even = []
	for i in range(n):
		if values[i] % 2 == 0:
			even.append(values[i])
		else:
			odd.append(values[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		answer_exists = False
		for i in range(len(even)):
			j = 0
			while j < len(odd):
				if abs(even[i] - odd[j]) == 1:
					answer_exists = True
					break
				j += 1
			if answer_exists:
				break
		if answer_exists:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	E = []
	O = []
	for a in A:
		if a % 2 == 0:
			E.append(a)
		else:
			O.append(a)
	if len(E) % 2 == 0:
		print('YES')
	else:
		O = set(O)
		for e in E:
			if e + 1 in O or e - 1 in O:
				print('YES')
				break
		else:
			print('NO')


for i in range(int(input())):
	a = int(input())
	b = list(map(int, input().strip().split()))[:a]
	count = 0
	for k in b:
		if k % 2 == 0:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		b.sort()
		count1 = 0
		for j in range(len(b) - 1):
			if b[j + 1] - b[j] == 1:
				count1 += 1
		if count1 == 0:
			print('NO')
		else:
			print('YES')


from collections import Counter
t = int(input())
for i in range(t):
	n = int(input())
	nums = list(map(int, input().split()))
	nums.sort()
	evens = 0
	odds = 0
	for i in nums:
		if i % 2 == 0:
			evens += 1
		else:
			odds += 1
	if evens % 2 == 0 or odds % 2 == 0:
		print('YES')
	else:
		found = False
		for j in range(len(nums) - 1):
			if nums[j + 1] - nums[j] == 1:
				found = True
				break
		if not found:
			print('NO')
		else:
			print('YES')


from collections import defaultdict as dd
from collections import deque
import bisect
import heapq

def ri():
	return int(input())

def rl():
	return list(map(int, input().split()))

def solve():
	n = ri()
	A = sorted(rl())
	S = set(A)
	evens = 0
	odds = 0
	nbrs = False
	for a in A:
		if a + 1 in S:
			nbrs = True
		if a % 2 == 0:
			evens += 1
		else:
			odds += 1
	if evens % 2 == 0 or nbrs:
		print('YES')
	else:
		print('NO')
mode = 'T'
if mode == 'T':
	t = ri()
	for i in range(t):
		solve()
else:
	solve()


t = int(input())
while t > 0:
	n = int(input())
	a = list(map(int, input().split()))
	b = []
	c = []
	for i in a:
		if i & 1:
			b.append(i)
		else:
			c.append(i)
	if len(b) & 1 == 0:
		print('YES')
		t -= 1
		continue
	flag = 0
	for i in b:
		for j in c:
			if abs(i - j) == 1:
				flag = 1
	if flag:
		print('YES')
	else:
		print('NO')
	t -= 1


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(e, o, p) = (0, 0, 0)
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
		if i < n - 1 and l[i + 1] - l[i] == 1:
			p += 1
	if o % 2 == 0:
		print('YES')
		continue
	elif p >= 1:
		print('YES')
	else:
		print('NO')


test = int(input())
for t in range(test):
	n = int(input())
	lst = list(map(int, input().split()))
	even = 0
	odd = 0
	for i in lst:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		temp = even // 2 + odd // 2
		temp = (n - temp * 2) // 2
		count = 0
		for i in range(len(lst)):
			for j in range(len(lst)):
				if abs(lst[i] - lst[j] == 1):
					count += 1
		if count >= temp:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	nums = list(map(int, input().split()))
	nums.sort()
	bin_nums = map(lambda x: x % 2, nums)
	if sum(bin_nums) % 2 == 0:
		print('YES')
	else:
		for i in range(1, n):
			if abs(nums[i - 1] - nums[i]) == 1:
				print('YES')
				break
		else:
			print('NO')


import sys
test = int(input())
for _ in range(test):
	n = int(input())
	arr = list(map(int, input().split()))
	one = 0
	zero = 0
	diff = 0
	arr.sort()
	if arr[0] % 2 == 0:
		zero += 1
	else:
		one += 1
	for i in range(1, n):
		if arr[i] - arr[i - 1] == 1:
			diff += 2
		if arr[i] % 2 == 0:
			zero += 1
		if arr[i] % 2 == 1:
			one += 1
	if one % 2 == 0:
		print('YES')
	elif diff == 0:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	num = int(input())
	arr = [int(i) for i in input().split()]
	evens = []
	odds = []
	for i in arr:
		if i % 2:
			odds.append(i)
		else:
			evens.append(i)
	if len(evens) % 2 == 0 and len(odds) == len(evens):
		print('YES')
	elif len(evens) % 2 == 0 and len(odds) % 2 == 0:
		print('YES')
	elif len(evens) % 2 != len(odds) % 2:
		print('NO')
	else:
		found = False
		for even in evens:
			for odd in odds:
				if abs(even - odd) == 1:
					evens.remove(even)
					odds.remove(odd)
					found = True
					break
		if found:
			print('YES')
		else:
			print('NO')


def solve(lst, vals):
	if vals[0] % 2 == 0 and vals[1] % 2 == 0:
		return True
	for i in range(len(lst) - 1):
		if lst[i + 1] - lst[i] == 1:
			if (vals[lst[i + 1] % 2] - 1) % 2 == 0 and (vals[lst[i] % 2] - 1) % 2 == 0:
				return True
	return False
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	if n == 1:
		print('NO')
	else:
		arr.sort()
		count = [0, 0]
		for v in arr:
			if v % 2 == 0:
				count[0] += 1
			else:
				count[1] += 1
		res = solve(arr, count)
		if res:
			print('YES')
		else:
			print('NO')


def main():
	from collections import defaultdict as dd
	t = int(input())
	for _ in range(t):
		d = dd(lambda : 0)
		n = int(input())
		a = list(map(int, input().split()))
		o = 0
		e = 0
		for i in a:
			if i % 2:
				o += 1
			else:
				e += 1
				d[i] = 1
		o %= 2
		e %= 2
		l = 0
		if o == e:
			if o == 0:
				l = 1
			else:
				for i in a:
					if i % 2:
						if d[i - 1] == 1 or d[i + 1] == 1:
							l = 1
							break
		if l == 0:
			print('NO')
		else:
			print('YES')
	return
main()


for _ in range(int(input())):
	n = int(input())
	b = list(map(int, input().split()))
	o = 0
	e = 0
	for i in b:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		flag = False
		b.sort()
		for i in range(n - 1):
			if b[i + 1] - b[i] == 1:
				flag = True
				break
			else:
				continue
		if flag:
			print('YES')
		else:
			print('NO')


from sys import stdin, stdout

def ans(arr):
	e = 0
	o = 0
	ev = []
	od = []
	for i in arr:
		if i % 2 == 0:
			e = e + 1
			ev.append(i)
		else:
			od.append(i)
			o = o + 1
	if e % 2 == 0 and o % 2 == 0:
		return 'YES'
	elif abs(e - o) % 2 == 1:
		return 'NO'
	else:
		for i in ev:
			for j in od:
				if abs(i - j) == 1:
					return 'YES'
	return 'NO'

def input():
	return stdin.readline()
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	print(ans(arr))


def main():
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	cnte = 0
	cnt = 0
	for i in range(len(a)):
		if a[i] % 2 == 0:
			cnte += 1
			if i > 0 and a[i - 1] + 1 == a[i]:
				cnt += 1
			if i < n - 1 and a[i] + 1 == a[i + 1]:
				cnt += 1
	if cnte % 2 == 0:
		print('YES')
	elif cnt > 0:
		print('YES')
	else:
		print('NO')
	return
	return

def test():
	t = int(input())
	while t:
		main()
		t -= 1
test()


from collections import *
from sys import *
inp = stdin.readline
f = 0
if f & 1:
	out = stdout.write
	str = str
else:
	out = print

def linp(x):
	return list(map(int, x.split()))

def minp(x):
	return map(int, x.split())
t = int(inp())
while t > 0:
	n = int(inp())
	a = linp(inp())
	a.sort()
	(a1, a2, a3) = ([], [], [])
	for i in a:
		if i % 2 == 0:
			a2.append(i)
		else:
			a1.append(i)
	if len(a1) % 2 == 0:
		print('YES')
	else:
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')
	t -= 1


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	nums = dict()
	nums.setdefault(1, 0)
	nums.setdefault(2, 0)
	for x in arr:
		if x % 2 == 0:
			nums[2] += 1
		else:
			nums[1] += 1
	if nums[1] % 2 == 0 and nums[2] % 2 == 0:
		print('YES')
	else:
		arr.sort()
		check = False
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				check = True
				break
		if check:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	(b, c) = (0, 0)
	a = sorted(a)
	for i in range(n):
		if i > 0:
			if a[i] - a[i - 1] == 1:
				b += 1
		if a[i] % 2 == 0:
			c += 1
	if c % 2 == 0 or b > 0:
		print('YES')
	else:
		print('NO')


n = eval(input())
while n:
	m = eval(input())
	lst = list(map(int, input().split()))
	oddnumber = 0
	evennumber = 0
	b = 0
	lst.sort()
	for i in lst:
		if i % 2:
			oddnumber += 1
		else:
			evennumber += 1
	if oddnumber % 2 == 0 and evennumber % 2 == 0:
		print('YES')
	else:
		for i in range(m - 1):
			if lst[i + 1] - lst[i] == 1:
				b = 1
				break
		if b:
			print('YES')
		else:
			print('NO')
	n -= 1


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	e = []
	o = []
	for i in l:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 == 0:
		print('YES')
	else:
		l.sort()
		x = 0
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				print('YES')
				x = 1
				break
		if x == 0:
			print('NO')


w = int(input())
for u in range(w):
	m = 0
	t = 0
	x = int(input())
	l = input().split()
	for y in range(len(l)):
		l[y] = int(l[y])
	for d in l:
		if d % 2 == 0:
			t += 1
	if t % 2 == 0:
		print('YES')
	else:
		l.sort(reverse=False)
		for h in range(1, len(l)):
			q = l[h] - l[h - 1]
			if q == 1:
				print('YES')
				m += 1
				break
		if m == 0:
			print('NO')


import sys
f_in = sys.stdin
f_out = sys.stdout
i = int(f_in.readline())
for _ in range(i):
	n = int(f_in.readline())
	pair_array = [int(x) for x in f_in.readline().split(' ')]
	pair_array.sort()
	odd = 0
	even = 0
	close = 0
	for k in range(n):
		if pair_array[k] % 2 == 1:
			odd += 1
		else:
			even += 1
		if k >= 1:
			if abs(pair_array[k] - pair_array[k - 1]) == 1:
				close += 1
	if odd % 2 == 0 and even % 2 == 0 or (odd % 2 == 1 and even % 2 == 1 and (close != 0)):
		f_out.write('YES\n')
	else:
		f_out.write('NO\n')


from sys import stdin, stdout
for _ in range(int(stdin.readline())):
	n = int(stdin.readline())
	arr = list(map(int, stdin.readline().split()))
	arr.sort()
	counteven = 0
	countodd = 0
	conseven = 0
	consodd = 0
	consecutive = False
	prev = -1
	for i in range(n):
		if arr[i] % 2 == 0:
			counteven += 1
		else:
			countodd += 1
		if prev >= 0:
			if abs(arr[i] - prev) == 1:
				consecutive = True
		prev = arr[i]
	if counteven % 2 == 0 and countodd % 2 == 0:
		ans = 'YES\n'
	elif consecutive:
		ans = 'YES\n'
	else:
		ans = 'NO\n'
	stdout.write(ans)


t = int(input())
b = []
for i in range(t):
	n = int(input())
	b.append([int(i) for i in input().split()])

def exists(item):
	even_count = 0
	for j in item:
		if j % 2 == 0:
			even_count += 1
	if even_count % 2 == 0:
		return True
	for j in range(len(item) - 1):
		for k in range(j + 1, len(item)):
			if abs(item[j] - item[k]) == 1:
				return True
	return False
for it in b:
	print('YES' if exists(it) else 'NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	odd = []
	even = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(odd) % 2 == 0:
		print('YES')
	else:
		k = 0
		for i in range(len(odd)):
			if odd[i] + 1 in even or odd[i] - 1 in even:
				k = 1
				break
			else:
				k = 0
		if k == 1:
			print('YES')
		else:
			print('NO')


import math
n = int(input())
for i in range(n):
	e = 0
	o = 0
	flag = 0
	m = int(input())
	a = [int(i) for i in input().split()]
	for j in range(0, len(a)):
		if a[j] % 2 == 0:
			e = e + 1
		else:
			o = o + 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		for k in range(0, len(a)):
			for l in range(0, len(a)):
				if k != l:
					if a[k] % 2 == 0 and a[l] % 2 != 0 and (abs(a[k] - a[l]) == 1):
						flag = 1
						break
					elif a[k] % 2 == 0 and a[l] % 2 != 0 and (abs(a[k] - a[l]) == 1):
						flag = 1
						break
		if flag == 0:
			print('NO')
		else:
			print('YES')


a = int(input())
for j in range(a):
	b = int(input())
	c = [int(x) for x in input().split()]
	c.sort()
	i = 0
	odd = 0
	even = 0
	pair = 0
	while i < b:
		if i != b - 1 and c[i] == c[i + 1] - 1:
			i += 2
			pair += 1
		elif c[i] % 2 == 0:
			even += 1
			i += 1
		else:
			odd += 1
			i += 1
	if pair >= 1:
		print('YES')
	elif odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		print('NO')


t = int(input())

def solve(odd, even):
	msyet = set(even)
	if len(odd) % 2 == 0:
		return 'YES'
	for item in odd:
		if item - 1 in msyet or item + 1 in msyet:
			return 'YES'
	return 'NO'
for _ in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	odd = sorted([x for x in arr if x & 1])
	even = sorted([x for x in arr if x % 2 == 0])
	print(solve(odd, even))


t = int(input())
while t > 0:
	n = int(input())
	arr = list(map(int, input().split()))
	m = {}
	odd = 0
	even = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
		m[i] = 1
	if even % 2 == 0:
		print('YES')
		t -= 1
		continue
	else:
		found = False
		for i in arr:
			if i + 1 in m or i - 1 in m == 1:
				found = True
				break
		if found:
			print('YES')
		else:
			print('NO')
	t -= 1


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	(e, o) = (0, 0)
	for i in l:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0:
		print('YES')
		continue
	else:
		coun = 0
		l.sort()
		for i in range(len(l) - 1):
			if l[i + 1] - l[i] == 1:
				coun += 1
		if coun > 0:
			print('YES')
		else:
			print('NO')


from sys import stdin, stdout
import math

def check(a, n):
	even = odd = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	return odd % 2 == 0 and even % 2 == 0
t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, stdin.readline().split()))
	ans = ''
	if check(a, n):
		ans = 'YES'
	else:
		for i in range(n):
			for j in range(i, n):
				if abs(a[j] - a[i]) == 1:
					ans = 'YES'
	if ans == '':
		ans = 'NO'
	print(ans)


t = int(input())
for i in range(t):
	c = False
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	ch = []
	nch = []
	j = 0
	for i in a:
		if i % 2 == 0:
			ch.append(i)
		else:
			nch.append(i)
	if len(ch) % 2 == 0 and len(nch) % 2 == 0:
		print('YES')
	else:
		ch = []
		nch = []
		while True:
			try:
				if a[j] + 1 == a[j + 1]:
					c = True
					a.pop(j)
					a.pop(j)
				else:
					j += 1
			except:
				break
		for i in a:
			if i % 2 == 0:
				ch.append(i)
			else:
				nch.append(i)
		print('YES' if len(ch) % 2 == 0 and len(nch) % 2 == 0 or (len(ch) % 2 == 1 and len(nch) % 2 == 1 and c) else 'NO')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	odd = 0
	cnt = 0
	for i in range(n):
		if i > 0:
			if l[i] - l[i - 1] == 1:
				cnt += 1
		if l[i] % 2 == 1:
			odd += 1
	if odd % 2 == 0 or cnt > 0:
		print('YES')
	else:
		print('NO')


import math
test = int(input())
for i in range(test):
	n = int(input())
	numlist = input().split()
	numlist = list(map(int, numlist))
	evenlist = []
	oddlist = []
	res = 'NO'
	for j in range(n):
		if numlist[j] % 2 == 0:
			evenlist.append(numlist[j])
		else:
			oddlist.append(numlist[j])
	if len(evenlist) % 2 == 0:
		res = 'YES'
	else:
		numlist.sort()
		for j in range(1, n):
			if numlist[j] - numlist[j - 1] == 1:
				res = 'YES'
				break
	print(res)


import sys, math
t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, sys.stdin.readline().split()))
	r1 = []
	r2 = []
	for i in range(n):
		if l[i] % 2 == 0:
			r2.append(l[i])
		else:
			r1.append(l[i])
	if len(r1) % 2 == 0 and len(r2) % 2 == 1:
		print('NO')
	elif len(r1) % 2 == 1 and len(r2) % 2 == 0:
		print('NO')
	elif len(r1) % 2 == 0 and len(r2) % 2 == 0:
		print('YES')
	elif len(r1) % 2 == 1 and len(r2) % 2 == 1:
		flag = False
		for i in range(len(r1)):
			for j in range(len(r2)):
				if abs(r1[i] - r2[j]) == 1:
					flag = True
					break
		if flag:
			print('YES')
		else:
			print('NO')


import math
n = int(input())
for i in range(n):
	t = int(input())
	arr1 = [int(d) for d in list(input().split())]
	odd = 0
	pizdesh = False
	for j in range(len(arr1)):
		if arr1[j] % 2 == 1:
			odd += 1
	if odd % 2 == 1:
		arr1.sort()
		for j in range(1, len(arr1)):
			if arr1[j] - arr1[j - 1] == 1:
				pizdesh = True
				break
		if pizdesh:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


a = int(input())
import sys
input = sys.stdin.readline
from collections import defaultdict
for i in range(a):
	al = defaultdict(int)
	s = int(input())
	z = list(map(int, input().split()))
	z.sort()
	for i in range(len(z)):
		al[z[i]] += 1
	o = 0
	e = 0
	for i in range(len(z)):
		if z[i] % 2 == 1:
			o += 1
		else:
			e += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 != o % 2:
		print('NO')
	else:
		z.sort()
		flag = 0
		for i in range(len(z)):
			if al[z[i] + 1] == 1 or al[z[i] - 1] == 1:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(map(int, input().split()))
	odd = 0
	even = 0
	for a_i in a:
		if a_i % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0:
		print('YES')
		continue
	has_sequential = False
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			has_sequential = True
			break
	if has_sequential:
		print('YES')
	else:
		print('NO')


def main():
	import sys
	sys.setrecursionlimit(10 ** 6)
	input = sys.stdin.readline
	T = int(input())
	for t in range(T):
		n = int(input())
		a = tuple([int(x) for x in input().strip().split()])
		even = [aa for aa in a if aa % 2 == 0]
		odd = [aa for aa in a if aa % 2]
		even_n = len(even)
		odd_n = len(odd)
		if even_n == 0 or odd_n == 0 or (even_n % 2 == 0 or odd_n % 2 == 0):
			print('YES')
			continue
		f = False
		for aa in range(1, 101):
			if aa in a:
				if f:
					print('YES')
					break
				else:
					f = True
			else:
				f = False
		else:
			print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	even = 0
	odd = 0
	seen = set()
	ans = False
	for i in range(len(arr)):
		if arr[i] & 1:
			odd += 1
		else:
			even += 1
		seen.add(arr[i])
		if arr[i] - 1 in seen or arr[i] + 1 in seen:
			ans = True
	if not odd & 1 and (not even & 1):
		print('YES')
	elif ans:
		print('YES')
	else:
		print('NO')


from collections import defaultdict
for i in range(int(input())):
	dic = defaultdict(int)
	n = int(input())
	A = sorted(list(map(int, input().split())))
	for i in range(n):
		if A[i] % 2:
			dic[1] += 1
		else:
			dic[0] += 1
	cnt = 0
	ok = False
	for (k, v) in dic.items():
		if v % 2:
			ok = True
			cnt += 1
	PASS = True
	if ok:
		if cnt == 1:
			print('NO')
			PASS = False
		else:
			pass
	else:
		print('YES')
		PASS = False
	con = 0
	if PASS:
		prvidx = 0
		for i in range(1, n):
			if A[i] == -1:
				continue
			if A[i] - A[prvidx] == 1:
				A[i] = -1
				A[prvidx] = -1
				con += 2
				if con >= cnt:
					print('YES')
					break
			prvidx = i
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = [int(j) for j in input().split()]
	l1 = []
	l2 = []
	for i in l:
		if i % 2 == 0:
			l2.append(i)
		else:
			l1.append(i)
	if len(l2) % 2 == 0 or len(l1) % 2 == 0:
		print('YES')
	else:
		l3 = []
		for i in range(0, len(l1)):
			for j in range(0, len(l2)):
				l3.append(abs(l1[i] - l2[j]))
		if 1 in l3:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	odds = []
	evens = []
	for i in arr:
		if i & 1:
			odds.append(i)
		else:
			evens.append(i)
	if len(odds) & 1 == 0:
		print('YES')
	elif any((abs(o - e) <= 1 for o in odds for e in evens)):
		print('YES')
	else:
		print('NO')


import math

def solve():
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = 0
	even = 0
	flag = False
	prev = -100
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if math.fabs(a[i] - prev) == 1:
			flag = True
		prev = a[i]
	if odd % 2 != even % 2:
		return 'NO'
	if odd % 2 == 0 and even % 2 == 0:
		return 'YES'
	if odd % 2 != 0 and even % 2 != 0:
		if flag:
			return 'YES'
		return 'NO'
t = int(input())
while t > 0:
	t -= 1
	print(solve())


from collections import Counter
for _ in range(int(input())):
	n = int(input())
	s = sorted(list(map(int, input().split())))
	a1 = 0
	b1 = 0
	f = 0
	for i in range(n):
		if s[i] % 2 == 0:
			a1 += 1
		else:
			b1 += 1
		if i > 0:
			if s[i] - s[i - 1] == 1:
				f += 1
	if a1 % 2 == 0:
		print('YES')
	elif f > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	t = int(input())
	a = list(map(int, input().split()))
	c = 0
	n = 0
	a.sort()
	for i in range(t):
		if a[i] % 2 == 0:
			c += 1
		else:
			n += 1
	if t // 2 % 2 == 0 and (c == n or n == 0 or c == 0):
		print('YES')
	else:
		k = 0
		for i in range(t - 1):
			if c % 2 == 0 and n % 2 == 0 or n == 0 or c == 0:
				print('YES')
				k = 1
				break
			if a[i + 1] - a[i] == 1:
				print('YES')
				k = 1
				break
		if k == 0:
			print('NO')


from sys import stdin
input = stdin.readline
for _ in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	odd = 0
	for x in a:
		if x % 2:
			odd += 1
	if odd % 2 == 0:
		print('YES')
	else:
		a.sort()
		flag = 'NO'
		for x in range(1, n):
			if a[x] - a[x - 1] == 1:
				flag = 'YES'
				break
		print(flag)


def solve(arr, n):
	e = o = 0
	for i in arr:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		return 'Yes'
	else:
		arr.sort()
		v = 0
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				v += 1
		if v > 0:
			return 'Yes'
		else:
			return 'No'
try:
	for _ in range(int(input())):
		n = int(input())
		arr = list(map(int, input().split()))
		print(solve(arr, n))
except EOFError:
	pass


for _ in range(int(input())):
	n = int(input())
	s = [*map(int, input().split())]
	s.sort()
	if sum((1 for i in s if i & 1)) & 1:
		for i in range(1, n):
			if s[i] - s[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	cnt = 0
	cnt0 = 0
	cnt1 = 0
	for i in range(n):
		if a[i] % 2 == 0:
			cnt0 += 1
		else:
			cnt1 += 1
		if i > 0 and a[i] - a[i - 1] == 1:
			cnt += 1
	print('YES' if cnt or cnt1 % 2 == cnt0 % 2 == 0 else 'NO')


for _ in range(int(input())):
	n = int(input())
	arr = [int(x) for x in input().split()]
	e = 0
	o = 0
	ans = 'NO'
	for ele in arr:
		if ele % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		ans = 'YES'
	elif e % 2 != 0 and o % 2 != 0:
		for j in range(n):
			for k in range(j + 1, n):
				if arr[j] % 2 != arr[k] % 2 and abs(arr[j] - arr[k]) == 1:
					ans = 'YES'
	else:
		ans = 'NO'
	print(ans)


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	ne = 0
	no = 0
	for i in range(n):
		if a[i] % 2:
			no += 1
		else:
			ne += 1
	if no % 2:
		for i in range(n):
			if a[i] % 2 and (a[i] + 1 in a or a[i] - 1 in a):
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')


for t in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	odd = list(filter(lambda x: x % 2 == 1, a))
	even = list(filter(lambda x: x % 2 == 0, a))
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
		continue
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			print('YES')
			break
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	q = list(map(int, input().split()))
	q.sort()
	e = 0
	o = 0
	i = 0
	t = 0
	p = 0
	while i <= n - 1:
		if i <= n - 2 and q[i + 1] - q[i] == 1:
			p += 1
		if q[i] % 2 == 0:
			e += 1
		else:
			o += 1
		i += 1
	if e % 2 == 0 and o % 2 == 0 or (e % 2 != 0 and o % 2 != 0 and (p > 0)):
		print('YES')
	else:
		print('NO')


t = int(input())
for j in range(t):
	n = int(input())
	lista = list(map(int, input().split()))
	lista.sort()
	listeven = []
	listodd = []
	counteven = 0
	flag = False
	countodd = 0
	countconsec = 0
	for i in lista:
		if i % 2 == 0:
			counteven += 1
			listeven.append(i)
		else:
			countodd += 1
			listodd.append(i)
	if counteven % 2 == 0:
		print('YES')
	else:
		if counteven > countodd:
			for i in range(countodd):
				if listodd[i] + 1 in listeven or listodd[i] - 1 in listeven:
					flag = True
					break
		else:
			for i in range(counteven):
				if listeven[i] + 1 in listodd or listeven[i] - 1 in listodd:
					flag = True
					break
		if flag:
			print('YES')
		else:
			print('NO')


for j in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	a.append(-1)
	c = 0
	p = 0
	for i in range(n):
		if a[i] % 2 == 0:
			c += 1
		if a[i + 1] - a[i] == 1:
			p += 1
	if c % 2 == 0 or (c % 2 == 1 and p > 0):
		print('YES')
	else:
		print('NO')


import math
for i in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(odd, even, ans) = (0, 0, 0)
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 1 and odd % 2 == 1:
		a.sort()
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				ans = 1
				break
		if ans == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


import os
import sys
import math
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = 0
	even = 0
	p = 0
	b = [0] * n
	if a[0] % 2 == 0:
		even += 1
	else:
		odd += 1
	for i in range(1, n):
		if a[i] - a[i - 1] == 1 and b[i] == 0 and (b[i - 1] == 0):
			p += 1
			b[i] = 1
			b[i - 1] = 1
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	odd //= 2
	even //= 2
	if odd + even + p >= n // 2:
		print('YES')
	else:
		print('NO')


T = int(input())
for t in range(T):
	N = int(input())
	A = [int(_) for _ in input().split()]
	even = [el for el in A if el % 2 == 0]
	odd = [el for el in A if el % 2 == 1]
	sA = sorted(A)
	v = 0
	for i in range(len(A) - 1):
		if sA[i + 1] - sA[i] == 1:
			v += 1
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif v > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	ch = []
	nch = []
	k = 0
	for i in range(n):
		if A[i] % 2 == 0:
			ch.append(A[i])
		else:
			nch.append(A[i])
	if len(ch) % 2 == 0 and len(nch) % 2 == 0:
		print('YES')
	else:
		for i in ch:
			for j in nch:
				if abs(i - j) == 1:
					k += 1
		if k == 0:
			print('NO')
		else:
			print('YES')


t = int(input())
while t:
	t -= 1
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(v, p) = (0, 0)
	for i in l:
		if i % 2 == 0:
			v += 1
		else:
			p += 1
	if v % 2 == 1:
		f = 0
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				f = 1
		if f == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


import math
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	e = 0
	o = 0
	E = []
	O = []
	ans = 0
	a.sort()
	for i in a:
		if i % 2 == 0:
			e = e + 1
			E.append(i)
		else:
			o = o + 1
			O.append(i)
	E.sort()
	O.sort()
	if e % 2 == 0:
		print('YES')
	else:
		for i in range(len(O)):
			for j in range(len(E)):
				if E[j] == O[i] + 1 or E[j] == O[i] - 1:
					ans = 1
					break
		if ans == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	c = 0
	i = 0
	while i < n - 1:
		if l[i + 1] - l[i] == 1:
			c = c + 1
			i += 2
		else:
			i = i + 1
	dic = {}
	for i in range(0, n):
		a = l[i] % 2
		if a not in dic:
			dic[a] = 1
		else:
			dic[a] += 1
	for i in dic.keys():
		a = dic[i] // 2
		c = c + a
	if c >= n // 2:
		print('YES')
	else:
		print('NO')


def solve(nums, n):
	nums.sort()
	odds = evens = 0
	has_pair = False
	idx = 0
	while idx < n:
		if idx < n - 1 and nums[idx + 1] - nums[idx] == 1 and (not has_pair):
			has_pair = True
			idx += 2
			continue
		if nums[idx] % 2 == 0:
			evens += 1
		else:
			odds += 1
		idx += 1
	ans = 'NO'
	if odds % 2 == 0 and evens % 2 == 0 or (odds % 2 == 1 and evens % 2 == 1 and has_pair):
		ans = 'YES'
	return ans
t = int(input())
answers = []
for _ in range(t):
	n = int(input())
	nums = [int(i) for i in input().split()]
	ans = solve(nums, n)
	answers.append(ans)
for i in answers:
	print(i)


tc = int(input())
while tc > 0:
	n = int(input())
	uniq = set()
	even = 0
	odd = 0
	has_neighbours = False
	for c in input().split():
		a = int(c)
		if a % 2 == 0:
			even += 1
		else:
			odd += 1
		if not has_neighbours:
			has_neighbours = a + 1 in uniq or a - 1 in uniq
			uniq.add(a)
	odd_even_diff = odd % 2 + even % 2
	print('YES' if odd_even_diff == 0 or (odd_even_diff == 2 and has_neighbours) else 'NO')
	tc -= 1


t = int(input())
for test in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	even = []
	odd = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	else:
		found = False
		arr.sort()
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				print('YES')
				found = True
				break
		if found == False:
			print('NO')


for T in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	even = {}
	odd = {}
	count = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even[arr[i]] = 1
			count += 1
		else:
			odd[arr[i]] = 1
	if count % 2 == 0:
		print('YES')
	else:
		res = 0
		for j in odd:
			if even.get(j + 1, 0):
				res = 1
				break
			elif even.get(j - 1, 0):
				res = 1
				break
		if res == 1:
			print('YES')
		else:
			print('NO')


from itertools import combinations
for _ in range(int(input())):
	n = int(input())
	ai = list(map(int, input().split()))
	(a, c) = (0, 0)
	ai.sort()
	for i in range(n):
		if i > 0:
			if ai[i] - ai[i - 1] == 1:
				a += 1
		if ai[i] % 2 == 0:
			c += 1
	if c % 2 == 0 or a > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input().strip())):
	n = int(input().strip())
	nums = list(map(int, input().split()))
	odds = []
	evens = []
	for num in nums:
		if num % 2 == 0:
			evens.append(num)
		else:
			odds.append(num)
	if len(odds) % 2 == 0 and len(evens) % 2 == 0:
		print('YES')
	elif (len(odds) + len(evens)) % 2 == 1:
		print('NO')
	else:
		mag1 = False
		nums.sort()
		for i in range(len(nums) - 1):
			if nums[i + 1] == nums[i] + 1 and (nums[i + 1] + nums[i]) % 2 == 1:
				mag1 = True
				break
		if mag1:
			print('YES')
		else:
			print('NO')


def main():
	n = int(input())
	ar = list(map(int, input().split()))
	ar.sort()
	a = sum((1 for i in ar if i % 2 == 0))
	b = sum((1 for i in ar if i % 2 == 1))
	x = []
	flag = False
	for i in range(1, n):
		if ar[i] - ar[i - 1] == 1:
			flag = True
			break
	if a % 2 == 0 and b % 2 == 0 or (a % 2 == 1 and b % 2 == 1 and flag):
		print('YES')
	else:
		print('NO')
t = int(input())
for i in range(t):
	main()


n = int(input())
for _ in range(n):
	s = int(input())
	a = list(map(int, input().split()))
	a.sort()
	chet = 0
	nechet = 0
	for i in range(s):
		if a[i] % 2 == 0:
			chet = chet + 1
		else:
			nechet = nechet + 1
	Chi = 0
	for i in range(1, s):
		if abs(a[i] - a[i - 1]) == 1:
			Chi = 1
	if chet % 2 == 0 and nechet % 2 == 0:
		print('Yes')
	elif chet % 2 == 1 and nechet % 2 == 1 and (Chi == 1):
		print('Yes')
	else:
		print('No')


for _ in range(int(input())):
	n = int(input())
	a = sorted([int(i) for i in input().split()])
	pair = odd = even = 0
	for j in range(n - 1):
		if a[j + 1] - a[j] == 1:
			pair = 1
	for j in range(n):
		if a[j] & 1:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd + even - 2 + pair * 2 == n:
		print('YES')
	else:
		print('NO')


def solve1():
	n = int(input())
	arr = [int(i) for i in input().split()]
	arr.sort()
	(e, o) = (0, 0)
	found = False
	for i in range(n - 1):
		if arr[i + 1] == arr[i] + 1:
			found = True
	for i in arr:
		if i & 1:
			o += 1
		else:
			e += 1
	if e % 2 == o % 2 == 0:
		print('YES')
	elif e & 1 and o & 1 and found:
		print('YES')
	else:
		print('NO')
for _ in range(int(input())):
	solve1()


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().strip().split()))
	(e, o) = (0, 0)
	for i in l:
		if i & 1:
			o += 1
		else:
			e += 1
	if o % 2 == 0 or e % 2 == 0:
		print('YES')
	else:
		l.sort()
		r = 0
		for i in range(n - 1):
			if l[i] % 2 and l[i + 1] % 2 == 0:
				if l[i + 1] - l[i] == 1:
					r = 1
					break
			elif l[i + 1] % 2 and l[i] % 2 == 0:
				if l[i + 1] - l[i] == 1:
					r = 1
					break
		if r:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	b1 = []
	b2 = []
	for i in a:
		if i % 2 == 0:
			b1.append(i)
		else:
			b2.append(i)
	if len(b1) % 2 != 0:
		a1 = sorted(a)
		for j in range(len(a1) - 1):
			if a1[j + 1] - a1[j] == 1:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')


import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	a.sort()
	even = odd = 0
	adj = False
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if a[i - 1] + 1 == a[i]:
			adj = True
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif adj and even % 2 == 1 and (odd % 2 == 1):
		print('YES')
	else:
		print('NO')


T = int(input())
for _ in range(T):
	N = int(input())
	a = list(map(int, input().split(' ')))
	s = set()
	cnt = 0
	for k in a:
		if k % 2 == 0:
			s.add(k)
		else:
			cnt = 1 - cnt
	if cnt == 1:
		for k in a:
			if k % 2 == 1:
				if k - 1 in s or k + 1 in s:
					cnt = 0
					break
	print('YES' if cnt == 0 else 'NO')


from math import *
import math

def r1(t):
	return t(input())

def r2(t):
	return [t(i) for i in input().split()]
for zzz in range(r1(int)):
	n = r1(int)
	a = r2(int)
	co = 0
	ce = 0
	for i in range(n):
		if a[i] & 1:
			co += 1
		else:
			ce += 1
	if co % 2 == 0 and ce % 2 == 0:
		print('YES')
	else:
		a.sort()
		ha = False
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				ha = True
				break
		if ha:
			print('YES')
		else:
			print('NO')


def analyze(pHash1, pHash2, number, pLinks):
	if number in pHash1:
		pHash1[element] += 1
	else:
		pHash1[element] = 1
	if element - 1 in pHash2 and pHash2[element - 1] > 0:
		pLinks += 1
		pHash2[element - 1] -= 1
	return pLinks
t = int(input())
for i in range(0, t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = {}
	odd = {}
	evens = 0
	odds = 0
	links = 0
	for i in range(0, n):
		element = a[i]
		if element % 2 == 0:
			evens += 1
			links = analyze(even, odd, element, links)
		else:
			odds += 1
			links = analyze(odd, even, element, links)
	if odds % 2 == 0 and evens % 2 == 0:
		print('YES')
	elif links == 0:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	list1 = list(map(int, input().split()))
	c1 = 0
	c2 = 0
	f = 0
	for i in range(n):
		if list1[i] % 2 == 0:
			c2 += 1
		else:
			c1 += 1
	if c1 % 2 == 0 and c2 % 2 == 0:
		f = 1
	list1.sort()
	for i in range(1, n):
		if list1[i] - list1[i - 1] == 1:
			f = 1
			break
	if f == 0:
		print('NO')
	else:
		print('YES')


q = int(input())
for i in range(q):
	Min = 10000000
	n = int(input())
	a = list(map(int, input().split(' ')))
	a.sort()
	sole = sochan = 0
	for j in a:
		if j % 2 == 0:
			sochan += 1
		else:
			sole += 1
	if sochan % 2 == 0 and sole % 2 == 0:
		print('YES')
	else:
		for j in range(len(a) - 1):
			if a[j + 1] - a[j] == 1:
				sochan -= 1
				sole -= 1
				if sochan % 2 == 0 and sole % 2 == 0:
					print('YES')
					break
		if sochan % 2 == 1 or sole % 2 == 1:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	(o, e) = ([], [])
	if n == 2:
		if l[0] % 2 == 0 and l[1] % 2 == 0 or (l[0] % 2 == 1 and l[1] % 2 == 1) or abs(l[0] - l[1]) == 1:
			print('YES')
		else:
			print('NO')
	else:
		for k in l:
			if k % 2 == 0:
				e.append(k)
			else:
				o.append(k)
		if len(o) % 2 == 0 and len(e) % 2 == 0:
			print('YES')
		else:
			c = 0
			for k in o:
				p = k + 1
				m = k - 1
				if e.count(p) != 0 or e.count(m) != 0:
					c = 1
			if c == 1:
				print('YES')
			else:
				print('NO')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	e = []
	o = []
	for i in range(n):
		if l[i] % 2 == 0:
			e.append(l[i])
		else:
			o.append(l[i])
	if len(e) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(n):
			for j in range(i + 1, n):
				if abs(l[i] - l[j]) == 1:
					flag = 1
					break
			if flag == 1:
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


from sys import stdin
import math

def inp():
	return stdin.readline().strip()
t = int(inp())
for _ in range(t):
	n = int(inp())
	ar = [int(x) for x in inp().split()]
	even = 0
	odd = 0
	diff = 0
	ar.sort()
	for i in range(n):
		if i > 0:
			if ar[i] % 2 == 0:
				even += 1
			else:
				odd += 1
			if abs(ar[i] - ar[i - 1]) == 1:
				diff += 1
		elif ar[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		for i in range(diff):
			even -= 1
			odd -= 1
			if even % 2 == 0 and odd % 2 == 0:
				print('YES')
				break
		else:
			print('NO')


number = int(input())
for iTask in range(number):
	n = int(input())
	inputStr = str(input())
	arr = list(map(int, inputStr.split(' ')))
	nEven = 0
	evens = []
	odds = []
	for i in range(n):
		if arr[i] % 2 == 0:
			nEven += 1
			evens.append(arr[i])
		else:
			odds.append(arr[i])
	if nEven % 2 == 0:
		print('YES')
	else:
		for i in range(nEven):
			found = False
			for j in range(len(odds)):
				delta = evens[i] - odds[j]
				if delta == 1 or delta == -1:
					print('YES')
					found = True
					break
			if found:
				break
		if not found:
			print('NO')


import sys

def main():
	res = ''
	input = sys.stdin.readline
	print = sys.stdout.write
	t = int(input())
	for _ in range(t):
		n = int(input())
		a = list(map(int, input().split()))
		a.sort()
		even = 0
		o = False
		for i in range(n):
			if a[i] % 2 == 0:
				even += 1
			if i != n - 1 and a[i + 1] - a[i] == 1:
				o = True
		if even % 2 == 0 or o:
			d = 'YES'
		else:
			d = 'NO'
		res += d + '\n'
	print(res)
main()


from sys import stdin
inp = stdin.readline
t = int(inp().strip())
while t:
	t -= 1
	n = int(inp().strip())
	a = [int(k) for k in inp().strip().split()]
	(even, odd) = (0, 0)
	for num in a:
		if num % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
		continue
	done = False
	for i in range(n):
		for j in range(n):
			if i != j and abs(a[i] - a[j]) == 1 and (a[i] % 2 != a[j] % 2):
				print('YES')
				done = True
				break
		if done:
			break
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	o = 0
	e = 0
	for i in range(0, n):
		if a[i] % 2 == 0:
			e = e + 1
		else:
			o = o + 1
	if e % 2 != o % 2:
		print('NO')
	elif e % 2 == 0:
		print('YES')
	else:
		flag = 0
		for j in range(0, n):
			for k in range(j + 1, n):
				if a[j] % 2 != a[k] % 2 and abs(a[j] - a[k]) == 1:
					flag = 1
					break
		if flag == 1:
			print('YES')
		else:
			print('NO')


def odd(A):
	x = 0
	for i in A:
		if i % 2 == 1:
			x += 1
	return x

def f(A):
	if odd(A) % 2 == 0:
		return 'YES'
	else:
		A.sort()
		for i in range(len(A) - 1):
			if A[i + 1] - A[i] == 1:
				return 'YES'
		return 'NO'
t = int(input())
for i in range(t):
	n = input()
	A = []
	B = input().split(' ')
	for j in B:
		A.append(int(j))
	print(f(A))


import sys
input = sys.stdin.readline

def solve():
	N = int(input())
	L = list(map(int, input().split()))
	l2 = []
	l1 = []
	for i in L:
		if i % 2 == 0:
			l1.append(i)
		else:
			l2.append(i)
	if len(l1) % 2 == 0:
		print('YES')
	else:
		f = False
		for i in range(len(l1)):
			for j in range(len(l2)):
				if abs(l1[i] - l2[j]) == 1:
					f = True
					break
			if f:
				break
		if f:
			print('YES')
		else:
			print('NO')
for _ in range(int(input())):
	solve()


for _t in range(0, int(input())):
	qwe = input()
	t = list(map(int, input().split()))
	c = 0
	n = 0
	d = False
	t.sort()
	p = t[0]
	for q in t:
		if q % 2 == 0:
			c += 1
		else:
			n += 1
		if abs(q - p) == 1:
			d = True
		p = q
	if c % 2 == 0 and n % 2 == 0 or (c % 2 != 0 and n % 2 != 0 and (d == True)):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	e = 0
	for v in a:
		if v % 2 == 0:
			e += 1
	o = len(a) - e
	if e % 2 == 0 or e == 0 or o == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if abs(a[i] - a[i + 1]) == 1:
				print('YES')
				break
		else:
			print('NO')


def solve(n, a):
	count = {}
	count[0] = []
	count[1] = []
	for i in a:
		count[i % 2].append(i)
	if not len(count[0]) % 2:
		return 1
	found = 0
	for i in count[1]:
		if i - 1 in count[0] or i + 1 in count[0]:
			found = 1
			break
	return found

def main():
	t = int(input())
	for i in range(t):
		n = int(input())
		a = list(map(int, input().split()))
		ans = solve(n, a)
		if ans:
			print('YES')
		else:
			print('NO')
main()


def solve(n, ar):
	even = 0
	sp = 0
	ar = sorted(ar)
	for num in ar:
		if num % 2:
			even += 1
	for i in range(0, n - 1):
		if ar[i + 1] - ar[i] == 1:
			sp = 1
			break
	odd = n - even
	if even % 2 and odd % 2:
		if sp:
			print('YES')
		else:
			print('NO')
	elif even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		print('NO')

def main():
	t = int(input())
	for _ in range(t):
		ar = []
		n = int(input())
		temp = input().split()
		for i in range(n):
			num = int(temp[i])
			ar.append(num)
		solve(n, ar)
main()


t = int(input())
for i in range(t):
	n = int(input())
	s = list(map(int, input().split(' ')))
	even_count = 0
	odd_count = 0
	for j in range(n):
		if s[j] % 2 == 0:
			even_count = even_count + 1
		else:
			odd_count = odd_count + 1
	if even_count % 2 == 0 and odd_count % 2 == 0:
		print('YES')
	else:
		flag = True
		s = sorted(s)
		for k in range(n - 1):
			if s[k + 1] - s[k] == 1:
				print('YES')
				flag = False
				break
		if flag:
			print('NO')


import sys
input = sys.stdin.readline
t = int(input())
for t1 in range(t):
	n = int(input())
	l = list(map(int, input().split(' ')))
	l.sort()
	odd = []
	even = []
	for i in range(n):
		if l[i] % 2 == 0:
			even.append(l[i])
		else:
			odd.append(l[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(even) % 2 != 0 and len(odd) % 2 != 0:
		fl = 0
		for i in range(1, n):
			if l[i] == l[i - 1] + 1:
				fl = 1
		if fl == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	array = list(map(int, input().split()))
	odd_array = []
	for odd in array:
		if odd % 2:
			odd_array.append(odd)
	if not len(odd_array) % 2:
		print('YES')
	else:
		k = 0
		for odd in odd_array:
			minus = odd - 1
			plus = odd + 1
			if minus in array or plus in array:
				k += 1
				print('YES')
				break
		if not k:
			print('NO')


import heapq as hp
import collections
import bisect
import math
import re

def unpack(func=int):
	return map(func, input().split())

def l_unpack(func=int):
	return list(map(func, input().split()))

def s_unpack(func=int):
	return sorted(map(func, input().split()))

def ml_unpack(n):
	return [int(input()) for i in range(n)]

def range_n():
	return range(int(input()))

def counter(a):
	d = {}
	for x in a:
		if x in d:
			d[x] += 1
		else:
			d[x] = 1
	return d

def getint():
	return int(input())

def setbits(x):
	count = 0
	while x:
		x = x & x - 1
		count += 1
	return count

def check(a, b):
	return a % 2 == b % 2 or abs(a - b) == 1

def main():
	for _ in range_n():
		n = getint()
		a = s_unpack()
		even = []
		odd = []
		for i in a:
			if i & 1:
				odd.append(i)
			else:
				even.append(i)
		if (len(even) % 2 == 0) ^ (len(odd) % 2 == 0):
			print('NO')
		elif len(even) % 2 == 0 and len(odd) % 2 == 0:
			print('YES')
		else:
			for i in even:
				if i + 1 in odd:
					print('YES')
					break
			else:
				for i in odd:
					if i + 1 in even:
						print('YES')
						break
				else:
					print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	(od, ev) = (0, 0)
	d = []
	for x in s:
		if x % 2 == 1:
			od += 1
		else:
			ev += 1
	if od % 2 == 0:
		print('YES')
	else:
		for y in range(n - 1):
			d.append(s[y + 1] - s[y])
		if 1 in d:
			print('YES')
		else:
			print('NO')


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	e = []
	o = []
	for i in range(len(a)):
		if a[i] % 2 == 0:
			e.append(a[i])
		else:
			o.append(a[i])
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	else:
		le = len(e)
		lo = len(o)
		i = 1
		count = 0
		while i < n:
			if a[i] - a[i - 1] == 1:
				count = 1
				break
			else:
				i += 1
		if count == 1:
			print('YES')
		else:
			print('NO')


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	n = int(input())
	(c, d) = (0, 0)
	w = sorted(map(int, input().split())) + [103]
	for i in range(n):
		if d == 0 and abs(w[i] - w[i + 1]) == 1:
			d = 1
		if w[i] % 2 == 0:
			c += 1
	if c % 2 == 1 and d == 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for x in range(t):
	N = int(input())
	n = list(map(int, input().split()))
	odd = []
	flag = 0
	even = set()
	for x in n:
		if x % 2 == 0:
			even.add(x)
		else:
			odd.append(x)
	if len(odd) % 2 != 0:
		for e in odd:
			if e - 1 in even or e + 1 in even:
				flag = 1
				break
	else:
		flag = 1
	if flag:
		print('YES')
	else:
		print('NO')


tests = int(input())
for i in range(tests):
	n = int(input())
	arr = sorted(list(map(int, input().split())))
	odd = 0
	even = 0
	same = 0
	d = []
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i < n - 1:
			if arr[i] + 1 == arr[i + 1]:
				if arr[i] not in d:
					d.append(arr[i])
					d.append(arr[i + 1])
					same += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	elif same != 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(map(int, input().split()))
	matched = 0
	evens = 0
	odds = 0
	for i in range(n):
		if a[i] % 2 == 0:
			evens += 1
		else:
			odds += 1
	i = 1
	while i < n:
		if a[i] - a[i - 1] == 1:
			matched += 1
			i += 1
		i += 1
	evens -= matched
	odds -= matched
	if evens % 2 == 0 and odds % 2 == 0:
		print('YES')
	elif matched != 0 and evens % 2 == 1 and (odds % 2 == 1):
		print('YES')
	else:
		print('NO')


tests = int(input())
for i in range(tests):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	even = 0
	ods = 0
	step = 0
	for x in range(n):
		if a[x] % 2 == 0:
			even += 1
		else:
			ods += 1
		if x < n - 1:
			if a[x + 1] - a[x] == 1:
				step += 1
	if even % 2 == 0:
		print('YES')
	elif step > 0:
		print('YES')
	else:
		print('NO')


def solve():
	n = int(input())
	arr = [int(x) for x in input().split()]
	arr.sort()
	(c_odd, c_even) = [0, 0]
	for val in arr:
		if val % 2 == 0:
			c_even += 1
		else:
			c_odd += 1
	if c_odd % 2 == 0 and c_even % 2 == 0:
		return 'YES'
	for i in range(1, n):
		if abs(arr[i] - arr[i - 1]) == 1:
			return 'YES'
	return 'NO'
t = int(input())
while t:
	print(solve())
	t -= 1


for i in range(int(input())):
	n = int(input())
	a = input().split(' ')
	a = [int(i) for i in a]
	a = sorted(a)
	is_adjacent = False
	for i in range(n - 1):
		if a[i] - a[i + 1] == -1:
			is_adjacent = True
	extra_odd = 0
	extra_even = 0
	for i in a:
		if i % 2 == 1:
			extra_odd += 1
		else:
			extra_even += 1
	if extra_odd % 2 == 0 and extra_even % 2 == 0 or (extra_odd % 2 == 1 and extra_even % 2 == 1 and is_adjacent):
		print('YES')
	else:
		print('NO')


from __future__ import division, print_function
import os, sys
from io import BytesIO, IOBase
if sys.version_info[0] < 3:
	from __builtin__ import xrange as range
	from future_builtins import ascii, filter, hex, map, oct, zip

def ii():
	return int(input())

def si():
	return input()

def mi():
	return map(int, input().split())

def li():
	return list(mi())

def read():
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')

def gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x
mod = 1000000007
import math
import bisect
abc = 'abcdefghijklmnopqrstuvwxyz'
pi = 3.141592653589793

def main():
	for _ in range(ii()):
		n = ii()
		a = li()
		a.sort()
		o = e = 0
		for i in a:
			if i % 2:
				o += 1
			else:
				e += 1
		f = 0
		i = 0
		while i < n - 1:
			if a[i + 1] - a[i] == 1:
				f += 1
				break
			i += 1
		if f or e % 2 == 0:
			print('YES')
		else:
			print('NO')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


import sys
input = lambda : sys.stdin.readline().strip()
t = int(input())
while t:
	t -= 1
	n = int(input())
	a = list(map(int, input().split()))
	o = 0
	e = 0
	for i in a:
		if i % 2:
			o += 1
		else:
			e += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		continue
	if o % 2 != e % 2:
		print('NO')
		continue
	a.sort()
	i = 1
	cons = 0
	while i < n:
		if a[i] == a[i - 1] + 1:
			cons += 1
			i += 1
		i += 1
	if cons > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	t -= 1
	x = 0
	y = 0
	a = []
	n = int(input())
	s = input().split()
	for i in range(n):
		a.append(int(s[i]))
		if a[i] % 2 == 0:
			x += 1
		else:
			y += 1
	if x % 2 == 0 and y % 2 == 0:
		print('YES')
	else:
		a.sort()
		flag = 0
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				flag += 1
				print('YES')
				break
		if flag == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	(x, y, z) = (0, 0, 0)
	for i in range(n):
		if a[i] - a[i - 1] == 1:
			z += 1
		if a[i] % 2 != 0:
			x += 1
		else:
			y += 1
	if z == 0:
		if x % 2 != 0:
			print('NO')
		else:
			print('YES')
	else:
		print('YES')


def solve(se, so):
	sx = so[:]
	x = 'NO'
	for i in se:
		if i + 1 in so:
			x = 'YES'
	for i in se:
		if i - 1 in sx:
			x = 'YES'
	return x
t = int(input())
for test in range(1, t + 1):
	n = int(input())
	s = list(map(int, input().rstrip().split()))
	se = []
	so = []
	s.sort()
	result = ''
	for i in s:
		if i % 2 == 0:
			se.append(i)
		else:
			so.append(i)
	if len(se) % 2 == 0 or len(so) % 2 == 0:
		result = 'YES'
	else:
		result = solve(se, so)
	print(result)


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	ct_even = 0
	ct_odd = 0
	for i in range(n):
		if l[i] % 2 == 0:
			ct_even += 1
		else:
			ct_odd += 1
	if ct_even % 2 == ct_odd % 2:
		if ct_even % 2 == 0:
			print('YES')
		elif ct_even % 2 == 1:
			d = {}
			for i in range(n):
				if l[i] % 2 == 0:
					if l[i] not in d:
						d[l[i]] = 1
					else:
						d[l[i]] += 1
			flag = 0
			for i in range(n):
				if l[i] % 2 != 0:
					if l[i] + 1 in d or l[i] - 1 in d:
						flag = 1
						break
			if flag == 1:
				print('YES')
			else:
				print('NO')
		else:
			print('NO')
	else:
		print('NO')


from collections import defaultdict

def solve():
	dp = defaultdict(int)
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	le = [i for i in l if i % 2]
	ce = len(le)
	co = n - ce
	if ce % 2 == 0 and co % 2 == 0:
		print('YES')
		return
	else:
		for i in range(0, n - 1):
			if l[i + 1] - l[i] == 1:
				print('YES')
				return
		print('NO')
		return
for _ in range(int(input())):
	solve()


t = int(input())
for _ in range(t):
	count = 0
	n = int(input())
	s = list(map(int, input().split()))
	for i in range(0, n):
		if s[i] % 2 == 0:
			count += 1
	if count % 2 != 0:
		flag = 0
		s.sort()
		for j in range(n - 1):
			if s[j] + 1 == s[j + 1]:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


from math import *
from collections import *
from operator import itemgetter
import bisect
i = lambda : input()
ii = lambda : int(input())
iia = lambda : list(map(int, input().split()))
isa = lambda : list(input().split())
I = lambda : list(map(int, input().split()))
chrIdx = lambda x: ord(x) - 96
idxChr = lambda x: chr(96 + x)
t = ii()
for _ in range(t):
	n = ii()
	a = iia()
	a.sort()
	odd = []
	even = []
	elem = [0] * 102
	pair = [0] * 102
	for i in a:
		elem[i] = 1
		if i % 2:
			odd.append(i)
		else:
			even.append(i)
	oi = 0
	ei = 0
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	else:
		c = 1
		cnt = 0
		for i in a:
			if pair[i] == 0:
				if elem[i - 1] == 1 and pair[i - 1] == 0:
					pair[i - 1] = 1
					pair[i] = 1
					cnt += 1
				elif elem[i + 1] == 1 and pair[i + 1] == 0:
					pair[i + 1] = 1
					pair[i] = 1
					cnt += 1
		if cnt >= c:
			print('YES')
		else:
			print('NO')


from math import *
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	l = []
	r = []
	for i in range(n):
		if a[i] % 2 == 0:
			l.append(a[i])
		else:
			r.append(a[i])
	k = len(l)
	b = len(r)
	if k % 2 == 0 and b % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(k):
			for j in range(b):
				if abs(l[i] - r[j]) == 1:
					f = 1
					break
			if f == 1:
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


t = int(input())

def solve(n, arr):
	arr.sort()
	odd = 0
	even = 0
	both = 0
	i = 0
	while i < len(arr):
		if i < len(arr) - 1 and arr[i] + 1 == arr[i + 1]:
			both += 1
			i += 2
			continue
		else:
			if arr[i] & 1 == 1:
				odd += 1
			else:
				even += 1
			i += 1
	if even & 1 == 0 and odd & 1 == 0:
		return 'YES'
	elif even & 1 == 1 and odd & 1 == 1 and (both >= 1):
		return 'YES'
	else:
		return 'NO'
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	print(solve(n, arr))


import math
total_case = int(input())
for i in range(total_case):
	n = int(input())
	nums = [int(x) for x in input().split()]
	snums = sorted(nums)
	even = sum([1 for x in nums if x % 2 == 0])
	odd = n - even
	cons = False
	for i in range(1, n):
		if abs(snums[i] - snums[i - 1]) == 1:
			cons = True
	if n % 2 == 0 and (odd % 2 == 0 or cons):
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
import bisect
import math

def st():
	return list(stdin.readline().strip())

def inp():
	return int(stdin.readline())

def li():
	return list(map(int, stdin.readline().split()))

def mp():
	return map(int, stdin.readline().split())

def pr(n):
	stdout.write(str(n) + '\n')

def soe(limit):
	l = [1] * (limit + 1)
	prime = []
	for i in range(2, limit + 1):
		if l[i]:
			for j in range(i * i, limit + 1, i):
				l[j] = 0
	for i in range(2, limit + 1):
		if l[i]:
			prime.append(i)
	return prime

def segsoe(low, high):
	limit = int(high ** 0.5) + 1
	prime = soe(limit)
	n = high - low + 1
	l = [0] * (n + 1)
	for i in range(len(prime)):
		lowlimit = low // prime[i] * prime[i]
		if lowlimit < low:
			lowlimit += prime[i]
		if lowlimit == prime[i]:
			lowlimit += prime[i]
		for j in range(lowlimit, high + 1, prime[i]):
			l[j - low] = 1
	for i in range(low, high + 1):
		if not l[i - low]:
			if i != 1:
				print(i)

def gcd(a, b):
	while b:
		(a, b) = (b, a % b)
	return a

def power(a, n):
	r = 1
	while n:
		if n & 1:
			r = r * a
		a *= a
		n = n >> 1
	return r

def solve():
	n = inp()
	l = li()
	(e, o) = (0, 0)
	for i in l:
		if i & 1:
			o += 1
		else:
			e += 1
	if o % 2 == 0:
		print('YES')
	else:
		l.sort()
		c = 0
		for i in range(n - 1):
			if abs(l[i] - l[i + 1]) == 1:
				if l[i] & 1 and l[i + 1] % 2 == 0 or (l[i + 1] & 1 and l[i] % 2 == 0):
					c = 1
					break
		if c:
			print('YES')
		else:
			print('NO')
for _ in range(inp()):
	solve()


for _ in range(int(input())):
	n = int(input())
	l = [int(x) for x in input().split()]
	e = 0
	o = 0
	f = 0
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 != o % 2 == 0:
		print('NO')
		continue
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
		continue
	for i in range(n):
		for j in range(n):
			if i != j and abs(l[i] - l[j]) == 1:
				f = 1
				break
	if f == 1:
		print('YES')
	else:
		print('NO')


def find_partition(arr):
	odd_arr = []
	even_arr = []
	for i in arr:
		if i % 2 == 0:
			even_arr.append(i)
		else:
			odd_arr.append(i)
	if len(odd_arr) % 2 == 0:
		return 'YES'
	else:
		for o in odd_arr:
			if o + 1 in even_arr or o - 1 in even_arr:
				return 'YES'
		return 'NO'
for _ in range(int(input())):
	n = int(input())
	array = input().split()
	array = list(map(int, array))
	print(find_partition(array))


t = int(input())
while t:
	t -= 1
	n = int(input())
	a = [int(x) for x in input().split()]
	ev = []
	od = []
	for i in range(n):
		if a[i] % 2 == 0:
			ev += [a[i]]
		else:
			od += [a[i]]
	if len(ev) % 2 == 0 and len(od) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(len(ev)):
			for j in range(len(od)):
				if abs(ev[i] - od[j]) == 1:
					flag = 1
					break
		if flag == 0:
			print('NO')
		else:
			print('YES')


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	e = list()
	o = list()
	for i in range(n):
		if a[i] % 2 == 0:
			e.append(a[i])
		else:
			o.append(a[i])
	if len(e) % 2 == 0:
		print('YES')
	else:
		flag = False
		for m in o:
			for k in e:
				if abs(m - k) == 1:
					flag = True
					break
			if flag:
				break
		if flag:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	(ch, nc) = (0, 0)
	for i in range(n):
		if a[i] % 2 == 0:
			ch = ch + 1
		else:
			nc = nc + 1
	if nc % 2 == 0 and ch % 2 == 0:
		print('YES')
		continue
	a.sort()
	e = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			e = e + 1
			break
	if e != 0:
		print('YES')
	else:
		print('NO')


from math import sqrt
for _ in range(int(input())):
	n = int(input())
	p = list(map(int, input().split()))
	a = []
	b = []
	for i in p:
		if i % 2:
			a.append(i)
		else:
			b.append(i)
	ans = 0
	if len(a) % 2 == 1:
		for i in a:
			if i - 1 in b or i + 1 in b:
				ans = 1
				break
	elif len(b) % 2 == 1:
		for i in b:
			if i - 1 in a or i + 1 in a:
				ans = 1
				break
	else:
		ans = 1
	if ans:
		print('YES')
	else:
		print('NO')


for t in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())), reverse=True)
	f = 0
	s = 0
	for i in range(n - 1):
		if a[i] % 2 == 0:
			s += 1
		if a[i] - a[i + 1] == 1:
			f += 1
	if a[-1] % 2 == 0:
		s += 1
	if s % 2 == 0 or f > 0:
		print('YES')
	else:
		print('NO')


import sys, os
from io import BytesIO, IOBase
import collections, itertools, bisect, heapq, math, string
from decimal import *
BUFSIZE = 8192
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def main():
	t = int(input())
	for i in range(t):
		n = int(input())
		a = list(map(int, input().split()))
		(m, n) = (0, 0)
		(b, c) = ([], [])
		for x in a:
			if x % 2 == 0:
				m += 1
				b.append(x)
			else:
				n += 1
				c.append(x)
		if m % 2 == 0 and n % 2 == 0:
			print('YES')
		if m % 2 == 1 and n % 2 == 1:
			f = False
			for x in b:
				for y in c:
					if abs(x - y) == 1:
						f = True
						break
			if f:
				print('YES')
			else:
				print('NO')
main()


import math

def solution():
	n = int(input())
	if n % 2 != 0:
		print('NO')
		return
	k = list(map(int, input().split()))
	odd = 0
	even = 0
	arr = [0 for i in range(102)]
	for i in k:
		arr[i - 1] = 1
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		return
	for i in k:
		if arr[i] == 1:
			print('YES')
			return
	print('NO')
for _ in range(int(input())):
	solution()


for _ in range(int(input())):
	n = int(input())
	ar = [int(x) for x in input().split()]
	ar.sort()
	e = 0
	o = 0
	for i in ar:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif o % 2 == 1 and e % 2 == 0:
		print('NO')
	elif o % 2 == 0 and e % 2 == 1:
		print('NO')
	elif o % 2 == 1 and e % 2 == 1:
		bl = False
		for i in range(n - 1):
			if ar[i] == ar[i + 1] - 1:
				bl = True
				break
		if bl == True:
			print('YES')
		else:
			print('NO')


import sys
max_int = 1000000001
min_int = -max_int
t = int(input())
for _t in range(t):
	n = int(sys.stdin.readline())
	a = list(map(int, sys.stdin.readline().split()))
	odds = set()
	evens = set()
	odds_count = evens_count = 0
	for one in a:
		if one % 2 == 0:
			evens_count += 1
			evens.add(one)
		else:
			odds_count += 1
			odds.add(one)
	if odds_count % 2 == 0 and evens_count % 2 == 0:
		print('YES')
	else:
		for one in odds:
			if one + 1 in evens or one - 1 in evens:
				print('YES')
				break
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	o = 0
	for x in a:
		o += x % 2
	if o % 2:
		a = sorted(a)
		for i in range(1, n):
			if 1 == a[i] - a[i - 1]:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')


T = int(input())
for _ in range(0, T):
	N = int(input())
	A = list(map(int, input().split()))
	E = list()
	O = list()
	ans = 0
	for x in A:
		if x % 2 == 0:
			E.append(x)
		else:
			O.append(x)
	e = len(E)
	o = len(O)
	if e % 2 == 0 and o % 2 == 0:
		ans = 1
	else:
		for i in range(0, e):
			for j in range(0, o):
				if abs(E[i] - O[j]) == 1:
					ans = 1
					break
	if ans == 1:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	o = 0
	e = 0
	f = 0
	a.sort()
	for j in range(n):
		if a[j] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		f = 1
	else:
		for j in range(n - 1):
			if a[j] + 1 == a[j + 1]:
				o -= 1
				e -= 1
				j += 1
			if o % 2 == 0 and e % 2 == 0:
				print('YES')
				f = 1
				break
	if f == 0:
		print('NO')


testcases = int(input())
for testcase in range(testcases):
	n = int(input())
	temparr = input()
	temparr = temparr.split()
	arr = []
	even = 0
	odd = 0
	if n & 1 == 1:
		print('NO')
		continue
	for i in temparr:
		i = int(i)
		arr.append(i)
		if i & 1 == 0:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		continue
	arr = sorted(arr)
	flag = 0
	for i in range(1, n):
		prev = arr[i - 1]
		cur = arr[i]
		diff = cur - prev
		if diff == 1:
			flag = 1
			break
	if flag == 1:
		print('YES')
	else:
		print('NO')


T = int(input())
for i in range(T):
	n = int(input())
	l = list(map(int, input().split()))
	ce = []
	co = []
	l.sort()
	for e in l:
		if e % 2 == 0:
			ce.append(e)
		else:
			co.append(e)
	if len(ce) % 2 == 0 and len(co) % 2 == 0:
		print('YES')
	else:
		t = 1
		for e in ce:
			if e - 1 in co or e + 1 in co:
				t = 0
				break
		if t == 0:
			print('YES')
		else:
			print('NO')


t = int(input())
i = 0
while i < t:
	n = int(input())
	s = [int(si) for si in input().split()]
	s.sort()
	odd = [e for e in s if e % 2 == 1]
	even = [e for e in s if e % 2 == 0]
	poss = len(odd) % 2 + len(even) % 2 == 0
	j = 0
	while j < n - 1:
		if s[j] + 1 == s[j + 1]:
			poss = True
		j += 1
	if poss:
		print('YES')
	else:
		print('NO')
	i += 1


t = int(input())
while t > 0:
	n = int(input())
	l = list(map(int, input().split()))
	(o, e) = (0, 0)
	k = 0
	r = 0
	e1 = [0] * n
	o1 = [0] * n
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
			e1[k] = l[i]
			k += 1
		else:
			o += 1
			o1[r] = l[i]
			r += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(k):
			for j in range(r):
				if abs(e1[i] - o1[j]) == 1:
					f = 1
					break
		if f == 1:
			print('YES')
		else:
			print('NO')
	t = t - 1


t = int(input())
for i in range(t):
	n = int(input())
	nums = [int(i) for i in input().split()]
	nums.sort()
	odd = 0
	cons = 0
	bo = False
	for x in range(len(nums) - 1):
		if nums[x] % 2 == 1:
			odd += 1
		if bo == False and nums[x + 1] - nums[x] == 1:
			cons += 1
			bo = True
		elif bo == True:
			bo = False
		else:
			pass
	if nums[-1] % 2 == 1:
		odd += 1
	else:
		pass
	if odd % 2 == 0:
		print('YES')
	elif odd % 2 == 1 and cons >= 1:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
from collections import defaultdict
hm = defaultdict(lambda : False)
for _ in range(int(stdin.readline())):
	n = stdin.readline()
	a = list(map(int, stdin.readline().split()))
	c1 = 0
	for i in a:
		if i & 1:
			c1 += 1
	if c1 & 1:
		for i in a:
			if hm[i - 1] or hm[i + 1]:
				stdout.write('YES\n')
				break
			hm[i] = True
		else:
			stdout.write('NO\n')
		hm.clear()
	else:
		stdout.write('YES\n')


from collections import Counter
t = int(input())
while t > 0:
	t = t - 1
	n = int(input())
	a = list(map(int, input().split()))
	d = {}
	x = []
	y = []
	a.sort()
	flag = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			flag = 1
	for i in range(n):
		if a[i] % 2 == 0:
			x.append(a[i])
		else:
			y.append(a[i])
	if len(x) % 2 == 0 or flag == 1:
		print('YES')
	else:
		print('NO')


def check(e, o):
	for i in range(len(e)):
		for j in range(len(o)):
			if abs(e[i] - o[j]) == 1:
				return True
	return False
for _ in range(int(input())):
	n = int(input())
	e = []
	o = []
	for v in list(map(int, input().split())):
		if v % 2 == 0:
			e.append(v)
		else:
			o.append(v)
	if len(e) % 2 == 0:
		print('YES')
	elif check(e, o):
		print('YES')
	else:
		print('NO')


def solve(arr, n):
	flag = 0
	par0 = 0
	par1 = 0
	for i in range(n - 1):
		if arr[i] % 2 == 0:
			par0 += 1
		else:
			par1 += 1
		if arr[i + 1] - arr[i] == 1:
			flag = 1
	if arr[n - 1] % 2 == 0:
		par0 += 1
	else:
		par1 += 1
	if par1 % 2 == 0 and par0 % 2 == 0:
		print('YES')
		return
	elif par1 % 2 == 1 and par0 % 2 == 1:
		if flag == 1:
			print('YES')
			return
	print('NO')
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	solve(arr, n)


import sys
buff_readline = sys.stdin.readline
readline = sys.stdin.readline
INF = 2 ** 62 - 1

def read_int():
	return int(buff_readline())

def read_int_n():
	return list(map(int, buff_readline().split()))

def slv(N, A):
	e = []
	o = []
	for a in A:
		if a % 2 == 0:
			e.append(a)
		else:
			o.append(a)
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		return 'YES'
	e = set(e)
	o = set(o)
	for a in e:
		if a - 1 in o or a + 1 in o:
			return 'YES'
	return 'NO'

def main():
	T = read_int()
	for _ in range(T):
		N = read_int()
		A = read_int_n()
		print(slv(N, A))
main()


def calc(a0, a1):
	if len(a0) % 2 == len(a1) % 2 == 0:
		return 'YES'
	for i in a0:
		for j in a1:
			if abs(i - j) == 1:
				return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	a0 = [i for i in a if i % 2 == 0]
	a1 = [i for i in a if i % 2 == 1]
	print(calc(a0, a1))


from operator import itemgetter
from collections import Counter
from collections import deque
import queue as Q
import math as m
import copy as c

def solution():
	n = int(input())
	arr = list(map(int, input().rstrip().split()))
	odds = []
	evens = []
	for i in range(n):
		if arr[i] % 2 == 0:
			evens.append(arr[i])
		else:
			odds.append(arr[i])
	if len(evens) % 2 == 0 and len(odds) % 2 == 0:
		print('YES')
	else:
		flag = True
		for i in range(len(odds)):
			for j in range(len(evens)):
				if abs(odds[i] - evens[j]) == 1:
					flag = False
					break
			if not flag:
				break
		if flag:
			print('NO')
		else:
			print('YES')
T = int(input())
for _ in range(T):
	solution()


import sys

def get_array():
	return list(map(int, sys.stdin.readline().strip().split()))

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def input():
	return sys.stdin.readline().strip()
for _ in range(int(input())):
	n = int(input())
	a = get_array()
	(even, odd) = (0, 0)
	(c, d) = ([], [])
	l = 0
	for i in range(len(a)):
		if a[i] % 2 == 0:
			c.append(a[i])
			even += 1
		if a[i] % 2 != 0:
			d.append(a[i])
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	else:
		for i in range(len(c)):
			if c[i] + 1 in d or c[i] - 1 in d:
				print('YES')
				l += 1
				break
		if l == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	ev = 0
	od = 0
	for i in range(n):
		if l[i] % 2 == 0:
			ev += 1
		else:
			od += 1
	if ev % 2 == 0 and od % 2 == 0:
		print('YES')
	else:
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	a = b = 0
	for i in range(n):
		if l[i] % 2 == 0:
			a += 1
		else:
			b += 1
	if a % 2 == 0 and b % 2 == 0:
		print('YES')
	else:
		r = False
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				r = True
				break
		if r:
			print('YES')
		else:
			print('NO')


for t in range(int(input())):
	a = int(input())
	nu = sorted([int(n) for n in input().split()])
	od = sum((n % 2 for n in nu))
	if od % 2 == 0:
		print('YES')
	elif any((b - a == 1 for (a, b) in zip(nu, nu[1:]))):
		print('YES')
	else:
		print('NO')


n = int(input())

def countEvenOdd(lis):
	codd = 0
	ceven = 0
	for i in lis:
		if i % 2:
			codd += 1
		else:
			ceven += 1
	return codd % 2 == 0 and ceven % 2 == 0
for i in range(n):
	a = int(input())
	lis = sorted(list(map(int, input().split())))
	if countEvenOdd(lis):
		print('YES')
	else:
		newlis = lis.copy()
		i = 0
		c = 0
		while i < len(lis) - 1:
			if lis[i + 1] - lis[i] == 1:
				newlis.remove(lis[i + 1])
				newlis.remove(lis[i])
				i += 2
				c += 1
			else:
				i += 1
		if countEvenOdd(newlis) or c >= 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	s = len(l)
	(count, odd, even) = (0, 0, 0)
	for i in range(s):
		if l[i] - 1 in l or l[i] + 1 in l:
			count += 1
	count = count // 2
	for i in range(s):
		if l[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 or count > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = [*map(int, input().split())]
	a.sort()
	b = [0] * 2
	f = 0
	for i in range(n):
		b[a[i] % 2] += 1
		if i != 0:
			if a[i] - a[i - 1] == 1:
				f = 1
	if b[0] % 2 == 0 or f == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	ls = [int(i) for i in input().split()]
	even = sum([1 if i % 2 == 0 else 0 for i in ls])
	odd = len(ls) - even
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		ls.sort()
		diff = sum([1 if ls[i] - ls[i - 1] == 1 else 0 for i in range(len(ls))])
		if diff > 0:
			print('YES')
		else:
			print('NO')


from sys import stdin
inp = lambda : stdin.readline().strip()
t = int(inp())
for _ in range(t):
	n = int(inp())
	a = [int(x) for x in inp().split()]
	a.sort()
	odd = 0
	even = 0
	flag = False
	for i in range(n):
		if a[i] - a[i - 1] == 1:
			flag = True
		if a[i] % 2:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd % 2 and even % 2 == 0:
		print('NO')
	elif odd % 2 == 0 and even % 2:
		print('NO')
	elif flag:
		print('YES')
	else:
		print('NO')


import sys
import math
strInp = lambda : input().strip().split()
intInp = lambda : list(map(int, strInp()))
for t in range(int(input())):
	n = int(input())
	arr = intInp()
	even = []
	odd = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		check = False
		for i in odd:
			for j in even:
				if i - j == 1 or i - j == -1:
					check = True
					break
		if check:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	xs = [int(x) for x in input().split()]
	(e, o) = ([], [])
	for x in xs:
		if x % 2 == 0:
			o.append(x)
		else:
			e.append(x)
	if len(e) % 2 == 0:
		print('YES')
	else:
		for x in e:
			for y in o:
				if abs(x - y) == 1:
					print('YES')
					break
			else:
				continue
			break
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(l1, l2) = ([], [])
	for i in range(n - 1):
		l1.append(l[i + 1] - l[i])
		l2.append(l[i] % 2)
	l2.append(l[n - 1] % 2)
	(l1c1, l2c1, l2c0) = (l1.count(1), l2.count(1), l2.count(0))
	if l1c1 == 0 and l2c0 % 2 != 0:
		print('NO')
	elif l1c1 == n - 1 or l2c0 % 2 == 0:
		print('YES')
	else:
		print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	even = []
	odd = []
	for i in range(len(arr)):
		if arr[i] % 2 == 0:
			even.append(arr[i])
		else:
			odd.append(arr[i])
	if len(even) % 2 == 0:
		print('YES')
	else:
		f = 0
		for k in even:
			for j in odd:
				if abs(k - j) == 1:
					f = 1
					break
			if f == 1:
				print('YES')
				break
		if f == 0:
			print('NO')


t = int(input())
for qwe in range(t):
	n = int(input())
	listt = list(map(int, input().split()))
	listt.sort()
	absone = 0
	chet = 0
	nech = 0
	if listt[0] % 2 == 0:
		chet += 1
	else:
		nech += 1
	for i in range(1, n):
		if listt[i] % 2 == 0:
			chet += 1
		else:
			nech += 1
		if abs(listt[i] - listt[i - 1]) == 1:
			absone += 1
	for i in range(absone + 1):
		if (chet - i) % 2 == 0 and (nech - i) % 2 == 0:
			print('YES')
			break
	else:
		print('NO')


import sys
t = int(sys.stdin.readline())
for _ in range(t):
	n = int(sys.stdin.readline())
	liste = list(map(int, sys.stdin.readline().split()))
	liste.sort()
	pair = 0
	impair = 0
	suivants = 0
	for i in range(n):
		if liste[i] % 2 == 0:
			pair += 1
		else:
			impair += 1
		if i != 0 and liste[i] - liste[i - 1] == 1:
			suivants += 1
	if pair % 2 == 0:
		print('YES')
	elif pair % 2 == 1 and suivants == 0:
		print('NO')
	else:
		print('YES')


def SimilarPairs(arr, n):
	o = [i for i in arr if i & 1]
	if len(o) % 2 == 0:
		return 'YES'
	else:
		arr.sort()
		for i in range(0, n - 1):
			if arr[i + 1] - arr[i] == 1:
				return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	res = SimilarPairs(arr, n)
	print(res)


def solve():
	total = int(input())
	numbers = list(map(int, input().split()))
	e = 0
	o = 0
	for num in numbers:
		if num % 2:
			o += 1
		else:
			e += 1
	if o % 2 != e % 2:
		print('NO')
	elif e % 2 == 0:
		print('YES')
	else:
		for j in range(total):
			for i in range(j + 1, total):
				if numbers[j] % 2 != numbers[i] % 2 and abs(numbers[j] - numbers[i]) == 1:
					print('YES')
					return
		print('NO')

def main():
	for i in range(int(input())):
		solve()
main()


for _ in range(0, int(input())):
	n = int(input())
	v = list(map(int, input().split()))
	o = 0
	o = sum((x % 2 for x in v))
	e = n - o
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		continue
	if o % 2 == 1 and e % 2 == 1:
		s = sorted(v)
		print(['NO', 'YES'][any((s[w] - 1 == s[w - 1] for w in range(1, n)))])
		continue
	print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	even = 0
	odd = 0
	m = []
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
		if i - 1 in l or i + 1 in l:
			m.append(i)
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		m = list(set(m))
		k = len(m)
		c = 0
		while k > 0:
			k = k - 2
			even -= 1
			odd -= 1
			if even % 2 == 0 and odd % 2 == 0:
				print('YES')
				c = -1
				break
		if c == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, list(input().split())))
	l.sort()
	f = False
	(o, e) = (0, 0)
	for i in range(n):
		o += l[i] % 2
		e += 1 - l[i] % 2
		if i and l[i] - l[i - 1] == 1:
			f = True
	if o % 2 == 0 and e % 2 == 0 or f:
		print('YES')
	else:
		print('NO')


def similarPairs(n, array):
	even = []
	odd = []
	for x in array:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
	if len(even) % 2 == 0:
		return 'YES'
	else:
		for x in even:
			if x + 1 in odd or x - 1 in odd:
				return 'YES'
	return 'NO'
t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	print(similarPairs(n, l))


def game():
	odd = []
	even = []
	for i in arr:
		if i % 2 == 0:
			odd.append(i)
		else:
			even.append(i)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
		return
	else:
		for i in odd:
			for j in even:
				if abs(i - j) == 1:
					print('YES')
					return
	print('NO')
t = int(input())
for _ in range(t):
	n = int(input())
	(*arr,) = map(int, input().split())
	arr.sort()
	game()


t = int(input())
for i in range(0, t):
	n = int(input())
	lst = list((int(num) for num in input().split()))[:n]
	lst = sorted(lst)
	count0 = 0
	count1 = 0
	flag = False
	for i in range(1, n):
		if lst[i] - lst[i - 1] == 1:
			flag = True
	for i in range(0, n):
		if lst[i] % 2 == 0:
			count0 += 1
		else:
			count1 += 1
	if count0 % 2 == 0 and count1 % 2 == 0:
		print('YES')
	elif count0 % 2 == 1 and count1 % 2 == 1 and (flag == True):
		print('YES')
	else:
		print('NO')


from math import *
from sys import stdin, stdout
input = stdin.buffer.readline
t = int(input())
while t > 0:
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	even = 0
	odd = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		flag = 0
		if a[1] - a[0] == 1:
			flag = 1
		for i in range(1, n - 1):
			if a[i + 1] - a[i] == 1 or a[i] - a[i - 1] == 1:
				flag = 1
				break
		if a[n - 1] - a[n - 2] == 1:
			flag = 1
		if flag == 1:
			print('YES')
		else:
			print('NO')
	t -= 1


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	ev = 0
	od = 0
	d = 0
	for i in range(n):
		if a[i] % 2 == 0:
			ev += 1
		else:
			od += 1
		if i != n - 1:
			t1 = a[i + 1] - a[i]
			if t1 == 1:
				d += 1
	if ev % 2 == 0 and od % 2 == 0:
		print('YES')
	elif ev % 2 != 0 and od % 2 == 0 or (ev % 2 == 0 and od % 2 != 0):
		print('NO')
	elif d >= 1:
		print('YES')
	else:
		print('NO')


from collections import Counter
import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	ev = 0
	od = 0
	f = 0
	for i in range(n - 1):
		if f == 0:
			if abs(arr[i] - arr[i + 1]) == 1:
				f = 1
		if arr[i] % 2 == 0:
			ev += 1
		else:
			od += 1
	if arr[-1] % 2 == 0:
		ev += 1
	else:
		od += 1
	if f == 1:
		print('YES')
	elif od % 2 == 0 and ev % 2 == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	n = int(input())
	a = list(map(int, input().split()))
	odd = 0
	even = 0
	odda = []
	evena = []
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even += 1
			evena.append(a[i])
		else:
			odd += 1
			odda.append(a[i])
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 1 and odd % 2 == 1:
		key = 0
		for j in odda:
			for k in evena:
				if j - k == 1 or j - k == -1:
					print('YES')
					key = 1
					break
			if key == 1:
				break
		if key == 0:
			print('NO')
	else:
		print('NO')
	t -= 1


n = int(input())
for i in range(n):
	m = int(input())
	l = list(map(int, input().split()))
	l.sort()
	n_ch = 0
	n_nch = 0
	n_mod = 0
	for i in range(m):
		if l[i] % 2 == 0:
			if i < m - 1 and abs(l[i] - l[i + 1]) == 1:
				n_mod += 1
			n_ch += 1
		else:
			if i < m - 1 and abs(l[i] - l[i + 1]) == 1:
				n_mod += 1
			n_nch += 1
	if n_ch % 2 == 0 and n_nch % 2 == 0:
		print('YES')
	elif abs(n_ch - n_nch) % 2 == 0:
		if n_mod > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


from __future__ import division, print_function
import os
import sys
from io import BytesIO, IOBase
if sys.version_info[0] < 3:
	from __builtin__ import xrange as range
	from future_builtins import ascii, filter, hex, map, oct, zip

def solve(t):
	n = int(input().strip())
	data = map(int, input().strip().split())
	(evens, odds) = ([], [])
	for num in data:
		if num % 2 == 1:
			odds.append(num)
		else:
			evens.append(num)
	if len(evens) % 2 == 0:
		return 'YES'
	for i in evens:
		if i + 1 in odds or i - 1 in odds:
			return 'YES'
	return 'NO'

def main():
	tc = int(input().strip())
	for t in range(1, tc + 1):
		print(solve(t))
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


for i in range(int(input())):
	n = int(input())
	data = list(map(int, input().split()))
	if n % 2 == 1:
		print('NO')
	else:
		num1 = 0
		num2 = 0
		flag = 0
		data.sort()
		for j in range(n):
			if j != 0:
				if data[j] - data[j - 1] == 1:
					flag = 1
			if data[j] % 2 == 1:
				num1 = num1 + 1
			else:
				num2 = num2 + 1
	if num1 > num2:
		(num1, num2) = (num2, num1)
	if num1 % 2 == 0 and num2 % 2 == 0:
		print('YES')
	elif flag == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for x in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	d = {}
	for y in range(1, 101):
		d[y] = 0
	for y in l:
		d[y] = 1
	o = 0
	e = 0
	for y in l:
		if y % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0:
		print('YES')
	else:
		f = 0
		for y in range(1, 100):
			if d[y] == 1 and d[y + 1] == 1:
				f = 1
				break
		if f == 0:
			print('NO')
		else:
			print('YES')


t = int(input())
for test in range(t):
	n = int(input())
	nums = [int(x) for x in input().split()]
	a = [0] * 101
	even = 0
	odd = 0
	for i in range(n):
		a[nums[i]] = 1
		if nums[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	flag = 0
	for i in range(1, 100):
		if a[i] == 1 and a[i + 1] == 1:
			flag = 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif flag == 1:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	a = int(input())
	b = sorted(list(map(int, input().split())))
	m = []
	n = []
	for j in b:
		if j % 2 == 0:
			m.append(j)
		else:
			n.append(j)
	(p, q) = (len(m), len(n))
	if p % 2 == 0 and q % 2 == 0:
		print('YES')
	elif (p + q) % 2 == 1:
		print('NO')
	else:
		r = 0
		for j in m:
			for k in n:
				if abs(j - k) == 1:
					r = 1
					break
				elif k > j:
					break
			if r == 1:
				break
		if r == 1:
			print('YES')
		else:
			print('NO')


def pairable(n, sorted_list):
	mod1count = sum(map(lambda x: x % 2 == 1, sorted_list))
	mod2count = n - mod1count
	if mod1count % 2 == 0 and mod2count % 2 == 0:
		return True
	previous = -1
	for i in sorted_list:
		if previous == -1:
			previous = i
			continue
		if i - previous == 1:
			return True
		previous = i
	return False
for _ in range(int(input())):
	n = int(input())
	a_sorted = sorted(map(int, input().split()))
	print('YES' if pairable(n, a_sorted) else 'NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().rstrip().split()))
	(o, e) = (0, 0)
	for i in arr:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
		continue
	if e % 2 == 0 and o % 2 != 0 or (e % 2 != 0 and o % 2 == 0):
		print('NO')
		continue
	arr.sort()
	p = 0
	for i in range(1, n):
		if arr[i] - arr[i - 1] == 1:
			if arr[i] % 2 == 0 and arr[i - 1] % 2 != 0 or (arr[i] % 2 != 0 and arr[i - 1] % 2 == 0):
				print('YES')
				p = 1
				break
	if p == 0:
		print('NO')


a = int(input())
for i in range(a):
	b = int(input())
	l = list(map(int, input().split()))
	l.sort()
	even = 0
	ex = 0
	for i in range(len(l)):
		if l[i] % 2 == 0:
			even += 1
		if i > 0:
			if l[i] - 1 == l[i - 1]:
				ex += 1
	ev = even
	odd = b - even
	if even % 2 == 1:
		ev = ev - 1
	if odd % 2 == 1:
		odd = odd - 1
	if odd + even + ex * 2 >= b:
		print('YES')
	else:
		print('NO')


sc = map(int, open(0).read().split())
ni = lambda : next(sc)
T = ni()
for _ in range(T):
	N = ni()
	A = [ni() for _ in range(N)]
	odd = [a for a in A if a % 2 == 1]
	even = [a for a in A if a % 2 == 0]
	if len(odd) // 2 + len(even) // 2 == N // 2 or any((abs(o - e) == 1 for o in odd for e in even)):
		print('YES')
	else:
		print('NO')


from bisect import bisect_left
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	ev = []
	od = []
	for x in a:
		if x & 1:
			od.append(x)
		else:
			ev.append(x)
	od.append(10000000000)
	if len(ev) % 2 == 0:
		print('YES')
	else:
		od.sort()
		for x in ev:
			idx = bisect_left(od, x)
			if x - od[idx - 1] == 1 or od[idx] - x == 1:
				print('YES')
				break
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	s = sorted(list(map(int, input().split())))
	a = [0, 0]
	c = False
	for i in range(n - 1):
		a[s[i] % 2] += 1
		if s[i] + 1 == s[i + 1]:
			c = True
	a[s[-1] % 2] += 1
	if a[0] % 2 == 0 or (a[0] % 2 != 0 and c):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(c, d) = (0, 0)
	n = int(input())
	a = list(map(int, input().split()))
	ev = []
	od = []
	for i in a:
		if i % 2 == 0:
			ev.append(i)
			c += 1
		else:
			od.append(i)
	if c % 2 == 0:
		print('YES')
	else:
		alive = False
		for i in ev:
			for j in od:
				if abs(i - j) == 1:
					alive = True
					break
		if alive:
			print('YES')
		else:
			print('NO')


def inp():
	return map(int, input().split())

def solve():
	n = int(input())
	a = list(inp())
	chet = []
	nch = []
	for e in a:
		if e % 2 == 0:
			chet.append(e)
		else:
			nch.append(e)
	if len(chet) % 2 == 0:
		print('YES')
		return
	for i in range(len(chet)):
		for j in range(len(nch)):
			if abs(chet[i] - nch[j]) == 1:
				print('YES')
				return
	print('NO')

def main():
	t = int(input())
	while t:
		solve()
		t -= 1
main()


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	(e, o) = (0, 0)
	for i in a:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
		continue
	if e == 0 and (a[0] + 1 not in a or a[0] - 1 not in a):
		print('NO')
		continue
	elif e % 2 == 1 and o % 2 == 1:
		yes = False
		for i in a:
			if i % 2 == 1 and (i + 1 in a or i - 1 in a):
				print('YES')
				yes = True
				break
		if yes == 0:
			print('NO')
	elif o == n:
		yes = 0
		for i in a:
			if i + 1 not in a and i - 1 not in a:
				yes = 1
				print('NO')
		if yes == 0:
			print('YES')


from __future__ import division, print_function
from fractions import Fraction
import sys
import os
from io import BytesIO, IOBase
from itertools import *
import bisect
from heapq import *
from math import *
from copy import *
from collections import deque
from collections import Counter as counter
from itertools import combinations as comb
from itertools import permutations as permutate
from bisect import bisect_left as bl
from bisect import bisect_right as br
from bisect import bisect
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
from types import GeneratorType

def iterative(f, stack=[]):

	def wrapped_func(*args, **kwargs):
		if stack:
			return f(*args, **kwargs)
		to = f(*args, **kwargs)
		while True:
			if type(to) is GeneratorType:
				stack.append(to)
				to = next(to)
				continue
			stack.pop()
			if not stack:
				break
			to = stack[-1].send(to)
		return to
	return wrapped_func
mod = 1000000007

def inp():
	return sys.stdin.readline().rstrip('\r\n')

def integer():
	return int(inp())

def out(var):
	sys.stdout.write(str(var))

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def sep():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def zerolist(n):
	return [0] * n

def nextline():
	out('\n')

def testcase(t):
	for p in range(t):
		solve()

def printlist(a):
	for p in range(0, len(a)):
		out(str(a[p]) + ' ')
from functools import reduce

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))

def solve():
	n = int(inp())
	ar = lis()
	even = []
	odd = []
	for i in ar:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		t = -1
		for i in odd:
			for j in even:
				if abs(i - j) == 1:
					t = 1
					break
			if t == 1:
				break
		if t == 1:
			print('YES')
		else:
			print('NO')
testcase(int(inp()))


t = int(input(''))
while t > 0:
	n = int(input(''))
	l = list(map(int, input().split()))
	l.sort()
	count = 0
	checker = 0
	for i in range(len(l) - 1):
		if l[i] % 2 == 1:
			count += 1
		if abs(l[i] - l[i + 1]) == 1:
			checker = 1
	if l[len(l) - 1] % 2 == 1:
		count += 1
	if count % 2 == 0:
		print('YES')
	elif checker == 1:
		print('YES')
	else:
		print('NO')
	t -= 1


t = int(input())
list_ans = []
for i in range(t):
	n = int(input())
	list1 = list(map(int, input().split()))
	list1.sort()
	(a, c) = (0, 0)
	for x in list1:
		if x % 2 == 1:
			a += 1
	for i in range(n - 1):
		if list1[i + 1] - list1[i] == 1:
			c = 1
			break
	if a % 2 == 0 or c == 1:
		list_ans.append('YES')
	else:
		list_ans.append('NO')
for item in list_ans:
	print(item)


for _ in range(int(input())):
	n = int(input())
	lst = list(map(int, input().split()))
	lst.sort()
	even = 0
	odd = 0
	cond = False
	diff = float('inf')
	i = 0
	cnt = 0
	while i < n:
		if i < n - 1 and abs(lst[i] - lst[i + 1]) == 1:
			even += 1
			odd += 1
			cnt += 1
			i += 2
		elif lst[i] % 2 == 0:
			even += 1
			i += 1
		else:
			odd += 1
			i += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 != 0 and odd % 2 != 0 and (cnt >= 1):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	t = [0] * 102
	m = 0
	k = 0
	for i in a:
		t[i] += 1
		if i % 2 == 0:
			k += 1
		else:
			m += 1
	check = 0
	if m % 2 == 0 or k % 2 == 0:
		print('YES')
		check = 1
	else:
		for i in a:
			if t[i - 1] != 0 or t[i + 1] != 0:
				print('YES')
				check = 1
				break
	if check == 0:
		print('NO')


t = int(input())
for i in range(0, t):
	l = int(input())
	k = list(map(int, input().split()))
	k.sort()
	a = 0
	b = 0
	for j in range(0, l):
		if k[j] % 2 == 1:
			a += 1
		if j > 0:
			if k[j] - k[j - 1] == 1:
				b = 1
	if a % 2 == 0:
		print('YES')
	elif b == 0:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = [int(s) for s in input().split()]
	o = 0
	e = 0
	f = 0
	for i in range(n):
		if a[i] & 1:
			o += 1
		else:
			e += 1
	if o % 2 == 0 and e % 2 == 0:
		f = 1
	else:
		a.sort()
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				f = 1
				break
			if f:
				break
	if f:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	b = []
	for x in a:
		if x % 2 == 0:
			b.append(x)
	if len(b) % 2 == 0:
		print('YES')
	else:
		s = list(set(a))
		s.sort()
		flag = False
		for i in range(1, len(s)):
			if s[i] == s[i - 1] + 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


import math
import sys
from collections import deque
input = sys.stdin.readline
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	ch = 0
	nech = 0
	for i in a:
		if i % 2:
			ch += 1
		else:
			nech += 1
	if ch % 2 == 0:
		print('YES')
	elif 1 in [abs(a[i] - a[j]) for i in range(len(a)) for j in range(i)]:
		print('YES')
	else:
		print('NO')


rw = int(input())
for ewq in range(rw):
	n = int(input())
	a = list(map(int, input().split()))
	dd = []
	dn = []
	a.sort()
	for i in range(n):
		if a[i] % 2 == 0:
			dd.append(a[i])
		else:
			dn.append(a[i])
	t = False
	for i in range(n):
		if a[i] - a[i - 1] == 1:
			t = True
			break
	lendd = len(dd)
	lendn = len(dn)
	if lendd % 2 == 0 or t:
		print('YES')
	else:
		print('NO')


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


t = int(input())
for i in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	even = 0
	odd = 0
	for j in range(n):
		if arr[j] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
		continue
	m = max(arr)
	res = [0] * (m + 1)
	for j in range(n):
		res[arr[j]] = 1
	check = 0
	for j in range(n):
		ind = arr[j]
		if ind != m and res[ind + 1] == 1 or res[ind - 1] == 1:
			check = 1
			break
	if check == 1:
		print('YES')
	else:
		print('NO')


def main():
	t = int(input())
	for __ in range(t):
		n = int(input())
		odd_count = 0
		even_count = 0
		a = sorted(list(map(int, input().split())))
		for i in range(n):
			if a[i] % 2:
				odd_count += 1
			else:
				even_count += 1
		if odd_count % 2:
			flag = False
			for i in range(1, n):
				if abs(a[i] - a[i - 1]) == 1:
					flag = True
					break
			if flag:
				print('YES')
			else:
				print('NO')
		else:
			print('YES')
main()


testcase = int(input())
for test in range(testcase):
	n = int(input())
	num = list(map(int, input().split()))
	even = []
	odd = []
	dict = {i: 0 for i in range(max(num) + 2)}
	for i in num:
		if i % 2 == 0:
			even.append(i)
			dict[i] += 1
		else:
			odd.append(i)
	e = len(even)
	o = n - e
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 != o % 2:
		print('NO')
	else:
		flag = False
		for i in range(o):
			x = odd[i]
			if dict[x + 1] != 0 or dict[x - 1] != 0:
				flag = True
				break
		print('YES' if flag else 'NO')


def f(a):
	a.sort()
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			return 'YES'
	return 'NO'
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	m = sum((x % 2 for x in a))
	if m % 2 == 0:
		print('YES')
	else:
		print(f(a))


t = int(input())
for T in range(t):
	n = int(input())
	A = [int(s) for s in input().split()]
	Even = []
	Odd = []
	for i in range(n):
		if A[i] % 2 == 0:
			Even.append(A[i])
		else:
			Odd.append(A[i])
	if len(Even) % 2 == 0:
		print('YES')
	else:
		Hi = set([i + 1 for i in Even])
		Lo = set([i - 1 for i in Even])
		if Hi.intersection(Odd).union(Lo.intersection(Odd)) != set():
			print('YES')
		else:
			print('NO')


import sys
input = sys.stdin.readline

def cin():
	return map(int, sin().split())

def ain():
	return list(map(int, sin().split()))

def sin():
	return input()

def inin():
	return int(input())
for _ in range(inin()):
	n = inin()
	l = ain()
	l.sort()
	e = 0
	o = 0
	c = 0
	if l[1] - l[0] == 1:
		c += 1
	if l[0] % 2 == 0:
		e += 1
	else:
		o += 1
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			c += 1
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0:
		print('YES')
	elif e % 2 == 1 and c > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	t = int(input())
	s = list(map(int, input().split()))
	a = 0
	b = 0
	for i in s:
		if i % 2 == 0:
			a += 1
	if a % 2 == 0:
		print('YES')
	else:
		for x in s:
			if x + 1 in s:
				print('YES')
				b = 1
				break
		if b == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	even = 0
	ine = [0 for i in range(101)]
	odd = 0
	for i in range(n):
		ine[a[i]] = 1
		if a[i] % 2:
			odd += 1
		else:
			even += 1
	can = False
	if odd % 2 == even % 2 == 1:
		for i in range(n):
			if a[i] % 2 == 1 and (ine[a[i] + 1] or ine[a[i] - 1]):
				can = True
				break
	elif odd % 2 == even % 2 == 0:
		can = True
	if can:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	e = 0
	o = 0
	odds = []
	evens = []
	for i in a:
		if i % 2 == 0:
			e += 1
			evens.append(i)
		else:
			o += 1
			odds.append(i)
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 == 1 and o % 2 == 1:
		flag = 0
		for x in evens:
			for y in odds:
				if abs(x - y) == 1:
					flag = 1
					break
			if flag:
				break
		if flag:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


from sys import *
t = int(stdin.readline())
while t > 0:
	n = int(stdin.readline())
	arr = list(map(int, stdin.readline().split()))
	arr.sort()
	odd = 0
	even = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		ans = 'YES'
		print(ans)
	else:
		flag = 0
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				flag = 1
				break
		if flag == 0:
			print('NO')
		else:
			print('YES')
	t -= 1


for t in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	even = 0
	odd = 0
	diff = 0
	arr.sort()
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i == 0:
			continue
		elif arr[i] - arr[i - 1] == 1:
			diff += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif diff > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = sorted(map(int, input().split()))
	even = odd = 0
	for x in l:
		if x % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 != odd % 2:
		print('NO')
	elif even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		for i in range(0, n - 1):
			if abs(l[i + 1] - l[i]) == 1:
				print('YES')
				break
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	(odd, even) = (0, 0)
	for i in a:
		even += i % 2 == 0
		odd += i % 2
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		f = False
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				f = True
				break
		print('YES' if f else 'NO')


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
testcases = int(input())
for j in range(testcases):
	n = int(input())
	ints = list(map(int, input().split()))
	odds = 0
	evens = 0
	diffs = 0
	ints.sort()
	for s in range(n):
		if ints[s] % 2 == 0:
			evens += 1
		else:
			odds += 1
		if s >= 1:
			if ints[s] - ints[s - 1] == 1:
				diffs += 1
	if odds % 2 == 0 and evens % 2 == 0:
		print('YES')
	elif odds % 2 == 1 and evens % 2 == 1:
		if diffs >= 1:
			print('YES')
		else:
			print('NO')


def sol():
	x = int(input())
	s = list(map(int, input().split()))
	ev = 0
	od = 0
	for n in s:
		if n % 2 == 0:
			ev += 1
		else:
			od += 1
	if ev % 2 == 0 and od % 2 == 0:
		print('YES')
	else:
		for n in s:
			if n + 1 in s:
				print('YES')
				return
		print('NO')
for n in range(int(input())):
	sol()


for _ in range(int(input())):
	n = int(input())
	l = sorted(map(int, input().split()))
	c = 0
	leven = []
	lodd = []
	for i in l:
		if i % 2 == 0:
			leven.append(i)
		else:
			lodd.append(i)
	if len(leven) % 2 == 0 and len(lodd) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for j in range(1, n):
			if abs(l[j] - l[j - 1]) == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	ch = 0
	for j in arr:
		if j % 2 == 0:
			ch += 1
	nech = n - ch
	if ch == n or ch == 0:
		print('YES')
		continue
	j = 0
	flag = False
	while j < n - 1:
		if arr[j] + 1 == arr[j + 1]:
			flag = True
		j += 1
	if ch % 2 == 0:
		print('YES')
		continue
	if flag:
		print('YES')
		continue
	print('NO')


import sys
try:
	sys.stdin = open('Input.txt', 'r')
	sys.stdout = open('Output.txt', 'w')
except:
	pass
input = sys.stdin.readline
for testCases in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	odd = l[0] % 2
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			print('YES')
			break
		odd += l[i] % 2
	else:
		if odd % 2 == 0:
			print('YES')
		else:
			print('NO')


t = int(input())
while t > 0:
	n = int(input())
	l = list(map(int, input().split()))
	e = 0
	o = 0
	flag = 0
	l.sort()
	if l[0] % 2 == 0:
		e += 1
	else:
		o += 1
	for i in range(1, n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
		if flag == 0:
			if l[i] - l[i - 1] == 1:
				flag = 1
	if e % 2 == 0:
		print('YES')
	elif flag == 1:
		print('YES')
	else:
		print('NO')
	t -= 1


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	o = []
	e = []
	for i in a:
		if i % 2:
			o.append(i)
		else:
			e.append(i)
	ans = False
	if len(o) % 2 and len(e) % 2:
		for i in o:
			for j in e:
				if i == j + 1 or i == j - 1:
					ans = True
	else:
		ans = True
	if ans:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(0, t):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = 0
	even = 0
	for i in arr:
		if i % 2 == 0:
			even = even + 1
		else:
			odd = odd + 1
	arr.sort()
	flag = 0
	for i in range(0, n - 1):
		if abs(arr[i + 1] - arr[i]) == 1 or (odd % 2 == 0 and even % 2 == 0):
			flag = 1
			break
	if flag == 0:
		print('NO')
	else:
		print('YES')


from collections import Counter, defaultdict, deque
from math import *
import sys
input = sys.stdin.readline

def solve():
	n = int(input())
	arr = [int(x) for x in input().split()]
	arr.sort()
	d = 0
	odd = 0
	for i in range(n - 1):
		if arr[i] & 1:
			odd += 1
		if arr[i + 1] - arr[i] == 1:
			d = 1
	if arr[-1] & 1:
		odd += 1
	if odd & 1:
		if d:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')
tt = int(input())
for test in range(tt):
	solve()


t = int(input())
for _ in range(t):
	n = int(input())
	list1 = list(map(int, input().strip().split()))
	list1.sort()
	even = 0
	b = 0
	for i in range(n):
		if list1[i] % 2 == 0:
			even += 1
		if i != n - 1:
			if list1[i + 1] - list1[i] == 1:
				b = 1
	if even % 2 == 0 or b == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	n = int(input())
	a = list(map(int, input().split()))
	even = []
	odd = []
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	else:
		for i in range(len(odd)):
			res1 = odd[i] + 1
			res2 = odd[i] - 1
			if res1 in even or res2 in even:
				flag = 1
				break
			else:
				flag = 0
		if flag == 1:
			print('YES')
		else:
			print('NO')
	t = t - 1


t = int(input())
for _ in range(t):
	n = int(input())
	l = [int(x) for x in input().split()]
	even = []
	odd = []
	flag = 0
	for i in range(n):
		if l[i] % 2 == 0:
			even.append(l[i])
		else:
			odd.append(l[i])
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	elif len(odd) % 2 == 1 and len(even) % 2 == 1:
		l1 = l[:]
		l1.sort()
		l = l1[:]
		for j in range(n - 1):
			if l[j + 1] - l[j] == 1:
				if l[j + 1] in even and l[j] in odd or (l[j + 1] in odd and l[j] in even):
					print('YES')
					flag = 1
					break
		if j == n - 2 and flag == 0:
			print('NO')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	evens = [x for x in a if x % 2 == 0]
	cnt = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			cnt += 1
	if cnt > 0 or len(evens) & 1 == 0:
		print('YES')
	else:
		print('NO')


import math
for ttt in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	e = 0
	o = 0
	i = 0
	l.sort()
	while i < n:
		if l[i] % 2 == 0:
			i += 1
			e += 1
		elif l[i] % 2 == 1:
			i += 1
			o += 1
	if o % 2 == 1:
		s = set(l)
		if any((x + 1 in s for x in l)):
			print('Yes')
		else:
			print('No')
	else:
		print('Yes')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	f = 0
	x = 0
	y = 0
	b = []
	c = []
	for i in range(n - 1):
		b.append(a[i + 1] - a[i])
	for i in range(n):
		if a[i] % 2 == 0:
			x += 1
		else:
			y += 1
	z = b.count(1)
	if x % 2 == 0 and y % 2 == 0:
		f += 0
	elif x % 2 == 1 and y % 2 == 1:
		if z >= 1:
			f += 0
		elif z < 1:
			f += 1
	else:
		f += 1
	if f == 0:
		print('YES')
	elif f > 0:
		print('NO')


t = int(input())
for q in range(0, t):
	n = int(input())
	a = list(map(int, input().split()))
	arr1 = []
	arr2 = []
	for i in range(0, n):
		if a[i] % 2 == 0:
			arr1.append(a[i])
		else:
			arr2.append(a[i])
	if len(arr1) % 2 == 0:
		print('YES')
	else:
		flag = 'NO'
		for i in range(0, len(arr1)):
			for j in range(0, len(arr2)):
				if abs(arr1[i] - arr2[j]) == 1:
					flag = 'YES'
		print(flag)


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


for _ in range(int(input())):
	c = int(input())
	f = sorted([int(i) for i in input().split()])
	f1 = False
	ch = 0
	nech = 0
	if f[0] % 2 == 1:
		nech += 1
	else:
		ch += 1
	for i in range(1, c):
		if f[i] - f[i - 1] == 1:
			f1 = True
		if f[i] % 2 == 1:
			nech += 1
		else:
			ch += 1
	if nech % 2 != ch % 2:
		print('NO')
	elif nech % 2 == 0:
		print('YES')
	elif f1:
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	n = int(input())
	a = []
	b = []
	for i in input().split(' '):
		if int(i) % 2 == 1:
			a.append(int(i))
		else:
			b.append(int(i))
	if len(a) % 2 == 0 and len(b) % 2 == 0:
		print('YES')
	else:
		ans = False
		for j in a:
			for k in b:
				if abs(j - k) == 1:
					ans = True
		if ans:
			print('YES')
		else:
			print('NO')
	t -= 1


for _ in range(int(input())):
	n = int(input())
	L = list(map(int, input().split()))
	E = []
	O = []
	for i in range(n):
		if L[i] % 2 == 0:
			E.append(L[i])
		else:
			O.append(L[i])
	if len(E) % 2 == 0 and len(O) % 2 == 0:
		print('YES')
	else:
		d = 0
		for i in E:
			if i - 1 in O or i + 1 in O:
				d = 1
				break
		if d == 1:
			print('YES')
		else:
			print('NO')


def similar(x, y):
	if abs(x - y) == 1 or x % 2 == y % 2:
		return True
	else:
		return False

def check(a, n):
	odd = [x for x in a if x % 2 == 1]
	even = [y for y in a if y % 2 == 0]
	odds = len(odd)
	evens = len(even)
	if odds % 2 == 0 and evens % 2 == 0:
		return True
	else:
		flag = 0
		for x in odd:
			for y in even:
				if similar(x, y):
					flag = 1
					break
			if flag == 1:
				break
		if flag == 0:
			return False
		else:
			return True
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	if check(a, n):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	f = [0, 0]
	flag = 0
	f[arr[0] & 1] += 1
	for i in range(1, n):
		if abs(arr[i] - arr[i - 1]) == 1:
			flag = 1
		f[arr[i] & 1] += 1
	if f[0] & 1 != f[1] & 1:
		print('NO')
	elif f[0] & 1 == 0 and f[1] & 1 == 0:
		print('YES')
	elif flag:
		print('YES')
	else:
		print('NO')


import sys

def similar(l):
	count_odd = 0
	count_even = 0
	flag = 0
	for i in l:
		if i & 1:
			count_odd += 1
		else:
			count_even += 1
	if count_even & 1 & (count_odd & 1):
		for i in l:
			for j in l:
				if abs(i - j) == 1:
					flag = 1
	else:
		flag = 1
	if flag:
		print('YES')
	else:
		print('NO')
t = int(sys.stdin.readline())
for _ in range(t):
	n = int(sys.stdin.readline())
	l = list(map(int, input().split()))
	similar(l)


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time
inf = 10 ** 20
mod = 10 ** 9 + 7

def LI():
	return list(map(int, input().split()))

def II():
	return int(input())

def LS():
	return list(input().split())

def S():
	return input()

def solve():
	n = II()
	a_list = LI()
	ans = 0
	a_list.sort()
	odd_cnt = 1 if a_list[0] % 2 else 0
	for i in range(1, n):
		if a_list[i] % 2:
			odd_cnt += 1
		if a_list[i] - a_list[i - 1] == 1:
			return 'YES'
	if odd_cnt % 2:
		return 'NO'
	return 'YES'

def main():
	t = II()
	res = list()
	for _ in range(t):
		ans = solve()
		res.append(ans)
	for ans in res:
		print(ans)
	return 0
main()


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	freq = {}
	(odd, even) = ([], [])
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	ans = 'NO'
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		ans = 'YES'
	else:
		for i in even:
			if i + 1 in odd or i - 1 in odd:
				ans = 'YES'
				break
	print(ans)


for p in range(0, int(input())):
	c = int(input())
	d = list(map(int, input().split(' ')))
	d.sort()
	dif = 0
	par = 0
	for i in range(0, c - 1):
		if abs(d[i] - d[i + 1]) == 1:
			dif += 1
		if d[i] % 2 == 0:
			par += 1
	if d[c - 1] % 2 == 0:
		par += 1
	if int(par / 2) + int((c - par) / 2) + dif < int(c / 2):
		print('NO')
	else:
		print('YES')


import sys
t = int(input())
for tc in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	(odd, even) = (0, 0)
	dicte = {}
	dicto = {}
	for i in range(n):
		if s[i] % 2 == 0:
			even += 1
			dicte[s[i]] = 1
		else:
			odd += 1
			dicto[s[i]] = 1
	x = even % 2
	y = odd % 2
	if x == 0 and y == 0:
		print('YES')
	elif x == 0 or y == 0:
		print('NO')
	else:
		flag = 0
		for i in list(dicte.keys()):
			if dicto.get(i + 1) is not None or dicto.get(i - 1) is not None:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	(odd, even) = (0, 0)
	for i in arr:
		if i & 1 == 1:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


def check_1(arr):
	for e in arr:
		for k in arr:
			if e != k and abs(k - e) == 1:
				return True
	return False

def f(arr):
	even = 0
	odd = 0
	for e in arr:
		if e % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		return True
	elif even % 2 == 1 and odd % 2 == 1:
		return check_1(arr)
	else:
		return False
t = input()
for i in range(int(t)):
	n = input()
	arr = input().split(' ')
	if f([int(e) for e in arr]):
		print('YES')
	else:
		print('NO')


t = int(input())
for ti in range(t):
	n = int(input())
	l = input().split()
	for i in range(n):
		l[i] = int(l[i])
	odds = 0
	for i in l:
		if i % 2 == 1:
			odds += 1
	if odds % 2 == 0:
		print('YES')
	else:
		found = False
		al = {}
		for i in l:
			b = i + 1
			m = i - 1
			if b in al or m in al:
				print('YES')
				found = True
				break
			al[i] = True
		if not found:
			print('NO')


def check(arr):
	evens = 0
	for i in range(len(arr)):
		if arr[i] % 2 == 0:
			evens += 1
	if evens % 2 == 0:
		return 'YES'
	else:
		arr.sort()
		for i in range(0, len(arr) - 1):
			if arr[i + 1] - arr[i] == 1:
				return 'YES'
	return 'NO'
t = int(input())
while t:
	n = int(input())
	arr = list(map(int, input().split()))
	print(check(arr))
	t -= 1


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	x = [[], []]
	for i in range(len(arr)):
		x[arr[i] % 2].append(arr[i])
	if len(x[0]) % 2 == 0 and len(x[1]) % 2 == 0:
		print('YES')
	elif len(x[0]) % 2 and len(x[1]) % 2:
		flag = False
		for i in x[0]:
			for j in x[1]:
				if abs(i - j) == 1:
					flag = 'YES'
		print(flag if flag else 'NO')


t = int(input())
for i in range(t):
	n = int(input())
	l = [int(x) for x in input().split()]
	l.sort()
	even = 0
	odd = 0
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(1, len(l)):
			if l[i] - l[i - 1] == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	even = 0
	odd = 0
	for i in range(n):
		if A[i] % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
	else:
		ptd = False
		for i in range(n - 1):
			if A[i + 1] - A[i] == 1:
				print('YES')
				ptd = True
				break
		if not ptd:
			print('NO')


n = int(input())
for _ in range(n):
	input()
	a = list(map(int, input().split()))
	e = 0
	prev = -2
	flag = False
	for x in sorted(a):
		if prev + 1 == x:
			flag = True
		if x % 2 == 0:
			e += 1
		prev = x
	if e % 2 == 0 or flag:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	k = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(c, d) = (0, 0)
	i = 1
	e = 0
	for j in range(len(a)):
		if a[j] % 2 == 0:
			c += 1
		else:
			d += 1
	if c % 2 == 0 and d % 2 == 0:
		print('YES')
	else:
		(c, d) = (0, 0)
		while i < len(a):
			if a[i] - a[i - 1] == 1:
				a.pop(i)
				a.pop(i - 1)
				e += 2
				break
			i += 1
		for i in range(len(a)):
			if a[i] % 2 == 0:
				c += 1
			else:
				d += 1
		if c % 2 == 0 and d % 2 == 0 and (e + len(a) == k):
			print('YES')
		else:
			print('NO')


for _ in range(0, int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	count = 0
	for i in a:
		if i % 2 == 0:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		flag = 0
		dict = {}
		for i in a:
			if i % 2 == 0:
				dict[i] = 0
		for i in a:
			if i - 1 in dict or i + 1 in dict:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	x = list(map(int, input().split()))
	(p, i) = (0, 0)
	for i in x:
		if i & 1:
			i += 1
		else:
			p += 1
	if i & 1 ^ 1 and p & 1 ^ 1:
		print('YES')
	else:
		x.sort()
		for i in range(1, n):
			if x[i] - x[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')


def partion(arr, n):
	(odd, even) = (0, 0)
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		return True
	elif odd % 2 == 1 and even % 2 == 1:
		arr.sort()
		count = 0
		for i in range(len(arr) - 1):
			if arr[i + 1] - arr[i] == 1:
				count += 1
		if count >= 1:
			return True
	return False
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	if partion(arr, n):
		print('YES')
	else:
		print('NO')


import sys
import math
from sys import stdin, stdout
for _ in range(int(stdin.readline())):
	n = int(stdin.readline())
	a = list(map(int, stdin.readline().split()))
	d = {}
	b = []
	c = []
	for i in a:
		if i not in d:
			d[i] = 0
		d[i] += 1
	for i in a:
		if i % 2 == 0:
			b.append(i)
		else:
			c.append(i)
	l = len(b)
	m = len(c)
	if l % 2 == 0 and m % 2 == 0:
		print('YES')
	elif l % 2 == 1 and m % 2 == 1:
		k = 0
		for i in a:
			if i + 1 in d or i - 1 in d:
				print('YES')
				k = 1
				break
		if k == 0:
			print('NO')
	else:
		print('NO')


from collections import defaultdict, Counter
from math import ceil
alph = 'abcdefghijklmnopqrstuvwxyz'
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a = sorted(a)
	dif = 0
	pause = False
	for (x, y) in zip(a[:-1], a[1:]):
		if pause:
			pause = False
		elif abs(x - y) == 1:
			dif += 1
	even = sum((x % 2 == 0 for x in a))
	odd = n - even
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 1 and odd % 2 == 1 and dif:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
import heapq
import cProfile
from collections import Counter, defaultdict, deque
from functools import reduce
import math

def get_int():
	return int(stdin.readline().strip())

def get_tuple():
	return map(int, stdin.readline().split())

def get_list():
	return list(map(int, stdin.readline().split()))

def solve():
	n = get_int()
	ls = get_list()
	(co, ce) = (0, 0)
	for val in ls:
		if val % 2 == 0:
			ce += 1
		else:
			co += 1
	if co % 2 == 0 and ce % 2 == 0:
		print('YES')
	else:
		f = 0
		for val in ls:
			if val - 1 in ls:
				f = 1
				break
			if val + 1 in ls:
				f = 1
				break
		if f:
			print('YES')
		else:
			print('NO')

def main():
	solve()
TestCases = True
if TestCases:
	for i in range(get_int()):
		main()
else:
	main()


import sys
import math
from collections import defaultdict

def solve(test):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(odd, even) = (0, 0)
	for i in range(n):
		if a[i] & 1:
			odd += 1
		else:
			even += 1
	if odd & 1 == 0 and even & 1 == 0:
		print('YES')
	else:
		count = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				count += 1
		if count:
			print('YES')
		else:
			print('NO')
test_cases = int(input())
for t in range(1, test_cases + 1):
	solve(t)


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	if n == 2 and abs(a[0] - a[1]) == 1:
		print('YES')
		continue
	a.sort()
	even = 0
	odd = 0
	found = False
	for i in a:
		if i & 1:
			odd += 1
		else:
			even += 1
	if odd & 1 == 0 and even & 1 == 0:
		found = True
	else:
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				found = True
				break
	if found:
		print('YES')
	else:
		print('NO')


num = int(input())
for _ in range(num):
	n = int(input())
	l = [int(i) for i in input().split()]
	l.sort()
	t = []
	o = []
	e = []
	for i in range(1, n):
		a = l[i - 1]
		b = l[i]
		if b - a == 1:
			t.append((a, b))
	for i in l:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 == 1 and len(o) % 2 == 1 and (len(t) == 0):
		print('NO')
	else:
		print('YES')


import bisect
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	pair = [i % 2 for i in a]
	odd = sum(pair)
	even = n - odd
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		a.sort()
		flag = False
		for i in range(1, n):
			if abs(a[i] - a[i - 1]) == 1:
				flag = True
		if flag:
			print('YES')
		else:
			print('NO')


t = int(input())
for ti in range(t):
	n = int(input())
	a = input().split()
	a = [int(i) for i in a]
	even = 0
	for i in a:
		if i % 2 == 0:
			even += 1
	odd = n - even
	if even % 2 == 0:
		print('YES')
	else:
		a.sort()
		yes = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				yes = 1
		if yes == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	aas = [int(a) for a in input().split()]
	aas.sort()
	(even, odd) = ([], [])
	for j in range(n):
		if aas[j] % 2 == 0:
			even.append(aas[j])
		if aas[j] % 2 == 1:
			odd.append(aas[j])
	if len(even) % 2 == 0 & len(odd) % 2 == 0:
		print('YES')
	else:
		bp = False
		for j in range(len(even)):
			for k in range(len(odd)):
				if abs(even[j] - odd[k]) == 1:
					bp = True
					break
				if odd[k] - even[j] > 1:
					break
			if bp == True:
				break
		if bp == True:
			print('YES')
		else:
			print('NO')


t = input()
t = int(t)
shetchikshetchikov1 = 0
while shetchikshetchikov1 < t:
	n = input()
	n = int(n)
	s = [int(i) for i in input().split()]
	shetchikshetchikov = 0
	while shetchikshetchikov < len(s):
		shetchik = shetchikshetchikov
		maksimum = shetchik
		while shetchik < len(s):
			if s[maksimum] > s[shetchik]:
				maksimum = shetchik
			shetchik = shetchik + 1
		(s[maksimum], s[shetchikshetchikov]) = (s[shetchikshetchikov], s[maksimum])
		shetchikshetchikov = shetchikshetchikov + 1
	chetniy = 0
	notchetniy = 0
	shetchik123 = 0
	while shetchik123 < n:
		if s[shetchik123] % 2 == 0:
			chetniy = chetniy + 1
		else:
			notchetniy = notchetniy + 1
		shetchik123 = shetchik123 + 1
	shetchik123 = 0
	if chetniy % 2 == 0 and notchetniy % 2 == 0:
		print('YES')
	else:
		while shetchik123 < n - 1:
			if s[shetchik123 + 1] - s[shetchik123] == 1:
				print('YES')
				break
			shetchik123 = shetchik123 + 1
		else:
			print('NO')
	shetchikshetchikov1 = shetchikshetchikov1 + 1


t = int(input())
for test in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	even = 0
	odd = 0
	flag = 0
	for i in range(n):
		if l[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
	else:
		l.sort()
		for j in range(n - 1):
			if l[j] % 2 == 0 and l[j + 1] % 2 != 0 and (l[j + 1] - l[j] == 1):
				print('YES')
				break
			elif l[j + 1] % 2 == 0 and l[j] % 2 != 0 and (l[j + 1] - l[j] == 1):
				print('YES')
				break
		else:
			print('NO')


def solve(n, arr):
	odd_count = 0
	for i in range(n):
		if arr[i] % 2 == 1:
			odd_count += 1
	if odd_count % 2 == 0:
		return 'YES'
	else:
		arr.sort()
		for i in range(n):
			if i == 0:
				if arr[i] + 1 == arr[i + 1]:
					return 'YES'
			elif i < n - 1:
				if arr[i] + 1 == arr[i + 1] or arr[i] - 1 == arr[i - 1]:
					return 'YES'
			elif arr[i] - 1 == arr[i - 1]:
				return 'YES'
		return 'NO'
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	print(solve(n, arr))


t = int(input())
while t > 0:
	n = int(input())
	lst = [int(x) for x in input().split()]
	lst.sort()
	(even, consecuitve) = (0, 0)
	for i in range(n):
		if i > 0 and lst[i] - lst[i - 1] == 1:
			consecuitve += 1
		if lst[i] % 2 == 0:
			even += 1
	if consecuitve > 0 or even % 2 == 0:
		print('YES')
	else:
		print('NO')
	t = t - 1


import io
import os
import functools
import itertools
import math
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
t = int(input())
while t:
	t -= 1
	n = int(input())
	a = [int(x) for x in input().split()]
	even = [x for x in a if not x & 1]
	odd = [x for x in a if x & 1]
	if not len(even) & 1 and (not len(odd) & 1):
		print('YES')
	else:
		a.sort()
		f = False
		for i in range(1, len(a)):
			if a[i] - a[i - 1] == 1:
				f = True
		print('YES' if f else 'NO')


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


sInt = lambda : int(input())
mInt = lambda : map(int, input().split())
lInt = lambda : list(map(int, input().split()))
t = sInt()
for _ in range(t):
	n = sInt()
	a = lInt()
	e = []
	o = []
	for i in range(n):
		if a[i] % 2 == 0:
			e.append(a[i])
		else:
			o.append(a[i])
	if len(e) % 2 == 0:
		print('YES')
	else:
		k = 0
		if len(e) < len(o):
			ch = e
			bg = o
		else:
			ch = o
			bg = e
		for i in range(len(ch)):
			for j in range(len(bg)):
				if abs(ch[i] - bg[j]) == 1:
					k = 1
					print('YES')
					break
			if k == 1:
				break
		if k == 0:
			print('NO')


for i in range(int(input())):
	n = int(input())
	li = list(map(int, input().split()))
	odd = 0
	for i in li:
		if i % 2:
			odd += 1
	if odd % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in li:
			v = 0
			for j in li:
				if abs(i - j) == 1:
					flag = 1
					v = 1
					break
			if v:
				break
		if flag:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	line = input()
	li = line.split()
	li = [int(j) for j in li]
	li.sort()
	temp = False
	even = 0
	odd = 0
	for j in li:
		if j is not None and j % 2 == 0:
			even = even + 1
		elif j is not None:
			odd = odd + 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 1 and odd % 2 == 1:
		for j in range(n - 1):
			if li[j + 1] - li[j] == 1:
				temp = True
				break
		if temp:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


import sys, os.path
if os.path.exists('input.txt'):
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
sys.setrecursionlimit(10 ** 5)

def II():
	return int(sys.stdin.readline())

def MI():
	return map(int, sys.stdin.readline().split())

def LI():
	return list(map(int, sys.stdin.readline().split()))

def solve():
	n = II()
	l = sorted(LI())
	eno = 0
	ono = 0
	for __ in range(n):
		if l[__] % 2 == 0:
			eno += 1
		else:
			ono += 1
	if eno % 2 == 0 and ono % 2 == 0:
		flag = True
	else:
		flag = False
		__ = 0
	while flag is False and __ == 0:
		while __ < n - 1:
			if abs(l[__ + 1] - l[__]) == 1:
				flag = True
				__ = n
				break
			elif __ + 1 == n - 1:
				__ = n
			else:
				__ += 1
	if flag:
		print('YES')
	else:
		print('NO')
for _ in range(II()):
	solve()


import math
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	c0 = 0
	c1 = 0
	for i in a:
		if i % 2 == 0:
			c0 += 1
		else:
			c1 += 1
	if c0 % 2 == 0 and c1 % 2 == 0:
		print('YES')
		continue
	i = 0
	while i < n - 1:
		if a[i + 1] == a[i] + 1:
			c0 -= 1
			c1 -= 1
			i += 1
		if c0 % 2 == 0 and c1 % 2 == 0:
			print('YES')
			break
		i += 1
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	for i in range(n):
		if arr[i] % 2 == 0:
			even.append(arr[i])
		else:
			odd.append(arr[i])
	ans = False
	if len(even) % 2 != 0:
		for x in even:
			if x + 1 in odd or x - 1 in odd:
				ans = True
	else:
		ans = True
	if ans:
		print('yes')
	else:
		print('no')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	(even, odd) = (list(), list())
	len_odd = len_even = 0
	for i in range(n):
		if arr[i] & 1:
			odd.append(arr[i])
			len_odd += 1
		else:
			even.append(arr[i])
			len_even += 1
	if len_odd % 2 == 0 and len_even % 2 == 0:
		print('YES')
	else:
		(found, done) = (set(even), False)
		for i in range(len_odd):
			if odd[i] - 1 in found:
				print('YES')
				done = True
				break
			if odd[i] + 1 in found:
				print('YES')
				done = True
				break
		if not done:
			print('NO')


from sys import stdin, stdout
for i in range(int(stdin.readline())):
	n = int(stdin.readline())
	nums = [int(j) for j in stdin.readline().split()]
	nums.sort()
	index = 0
	adj_pairs = 0
	num_odds = 0
	num_evens = 0
	while index < n:
		if index + 1 < n and nums[index] - nums[index + 1] == -1:
			adj_pairs += 1
			index += 2
			continue
		if nums[index] % 2 == 0:
			num_evens += 1
		else:
			num_odds += 1
		index += 1
	if num_evens % 2 == num_odds % 2 and adj_pairs > 0 or (num_evens % 2 == num_odds % 2 and num_odds % 2 == 0):
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for i in range(t):
	n = int(input())
	l = [int(x) for x in input().split()]
	l = sorted(l)
	o = 0
	f = False
	for j in range(n):
		if l[j] % 2 != 0:
			o += 1
	if o % 2 == 0:
		print('YES')
	else:
		for r in range(0, n - 1):
			for s in range(r + 1, n):
				if l[s] - l[r] == 1:
					f = True
					break
				break
		if f:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(i) for i in input().split(' ', n - 1)]
	(k1, k2) = (0, 0)
	a.sort()
	g = 0
	for i in range(n):
		if a[i] % 2 == 0:
			k1 += 1
		else:
			k2 += 1
		if i != n - 1:
			if abs(a[i] - a[i + 1]) == 1:
				g = 1
		else:
			break
	if k1 % 2 == 0:
		print('YES')
	elif g == 1:
		print('yes')
	else:
		print('no')


import sys

def solve():
	return None

def main():
	q = []
	for line in sys.stdin.readlines():
		q.append(line)
	for i in range(len(q)):
		q[i] = q[i].rstrip().split(' ')
		q[i] = [int(x) for x in q[i]]
	for i in range(1, len(q), 2):
		a = q[i + 1]
		used = {}
		dontuse = {}
		even = []
		odd = []
		ret = 'NO'
		for i in a:
			if i % 2 == 0:
				even.append(i)
			else:
				odd.append(i)
			used[i] = 0
		if len(even) % 2 == 0 and len(odd) % 2 == 0:
			ret = 'YES'
		elif len(even) % 2 == 1 and len(odd) % 2 == 1:
			for i in even:
				if i - 1 in used:
					ret = 'YES'
			if ret == 'NO':
				for i in odd:
					if i - 1 in used:
						ret = 'YES'
		print(ret)
main()


import math
el = int(input())
for j in range(el):
	num = int(input())
	evenCount = 0
	oddCount = 0
	even = set()
	odd = set()
	ch = 0
	for i in input().split():
		temp = int(i)
		if temp % 2 == 0:
			even.add(temp)
			evenCount = evenCount + 1
			if ch == 0:
				if temp + 1 in odd:
					ch = 1
				elif temp - 1 in odd:
					ch = 1
		else:
			odd.add(temp)
			oddCount = oddCount + 1
			if ch == 0:
				if temp + 1 in even:
					ch = 1
				elif temp - 1 in even:
					ch = 1
	if evenCount % 2 == 0 or ch == 1:
		print('YES')
	else:
		print('NO')


t = int(input())

def similarPair(arr, n):
	c = 0
	eveODDcountDIC = {'even': 0, 'odd': 0}
	i = 0
	j = 0
	while i < n:
		if arr[i] % 2 == 0:
			eveODDcountDIC['even'] += 1
			i += 1
		else:
			eveODDcountDIC['odd'] += 1
			i += 1
	while j < n:
		if j != n - 1 and arr[j] - arr[j + 1] == -1:
			c += 1
			j += 2
			continue
		j += 1
	if eveODDcountDIC['even'] % 2 == eveODDcountDIC['odd'] % 2:
		if eveODDcountDIC['even'] % 2 == 1:
			if c > 0:
				return c
			return -1
		return c
	return -1
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	c = similarPair(a, n)
	if c == -1:
		print('NO')
	else:
		print('YES')


import sys
(input, print) = (sys.stdin.readline, sys.stdout.write)
for _ in range(int(input())):
	n = int(input())
	(e, o, a, ans) = (0, 0, [], True)
	for el in input().split():
		a.append(int(el))
		if int(el) % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == o % 2 == 1:
		a.sort()
		ans = False
		for i in range(1, n):
			if a[i] % 2 != a[i - 1] % 2 and abs(a[i] - a[i - 1]) == 1:
				ans = True
				break
	if ans:
		print('YES' + '\n')
	else:
		print('NO' + '\n')


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	odd = []
	even = []
	f = 0
	for i in range(0, len(a)):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		f = 1
	else:
		for i in range(0, len(odd)):
			for j in range(0, len(even)):
				if abs(odd[i] - even[j]) == 1:
					f = 1
	if f == 1:
		print('YES')
	else:
		print('NO')


def pair(n):
	pari = []
	dispari = []
	for i in range(N):
		if n[i] % 2 == 0:
			pari.append(n[i])
		else:
			dispari.append(n[i])
	if len(pari) % 2 == 0:
		print('YES')
	else:
		scarti = []
		for i in range(len(pari)):
			for j in range(len(dispari)):
				if abs(pari[i] - dispari[j]) == 1:
					scarti.append(pari[i] - dispari[j])
		if len(scarti) != 0:
			print('YES')
		else:
			print('NO')
T = int(input())
for k in range(T):
	N = int(input())
	A = [int(x) for x in input().split()]
	pair(A)


t = int(input())
for k in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr = sorted(arr)
	ceven = 0
	counter = 0
	for i in range(len(arr)):
		if arr[i] % 2 == 0:
			ceven += 1
	if ceven % 2 == 0:
		counter = 1
	for i in range(len(arr) - 1):
		if abs(arr[i] - arr[i + 1]) == 1:
			counter = 1
	if counter == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	ai = list(map(int, input().split()))
	ai2 = [ai[i] % 2 for i in range(n)]
	ai = list(set(ai))
	n2 = len(ai)
	ai.sort()
	ai3 = [ai[i + 1] - ai[i] for i in range(n2 - 1)] + [2]
	if min(ai3) == 1 or sum(ai2) % 2 == 0:
		print('YES')
	else:
		print('NO')


T = int(input())
for _ in range(T):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(cnt1, cnt2, cnt3) = (0, 0, 0)
	for i in range(n):
		if a[i] & 1:
			cnt1 += 1
		else:
			cnt2 += 1
		if i < n - 1 and a[i] + 1 == a[i + 1]:
			cnt3 += 1
	if cnt1 & 1 == 0 and cnt2 & 1 == 0:
		print('YES')
	elif (cnt1 + cnt2) % 2 == 0 and cnt3 > 0:
		print('YES')
	else:
		print('NO')


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	f = 0
	e = 0
	o = 0
	for i in a:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 != 0 and o % 2 != 0:
		s = 1
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				s = 0
				break
		if s == 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


def pair(n, array):
	n_odd = 0
	n_even = 0
	for i in array:
		if i % 2 == 0:
			n_even += 1
		else:
			n_odd += 1
	if n_odd % 2 == 0:
		return 'YES'
	else:
		array.sort()
		for k in range(n):
			if array[k] % 2 == 1:
				if k != n - 1:
					if array[k + 1] - array[k] == 1 or array[k] - array[k - 1] == 1:
						return 'YES'
				elif array[k] - array[k - 1] == 1:
					return 'YES'
		return 'NO'
t = int(input())
array_array = []
for i in range(t):
	a = int(input())
	b = list(map(int, input().split(' ')))
	array_array.append([a, b])
for e in array_array:
	print(pair(e[0], e[1]))


t = int(input())
for _ in range(0, t):
	n = int(input())
	chet = 0
	s = input().split()
	for i in range(0, n):
		s[i] = int(s[i])
		if s[i] % 2 == 0:
			chet += 1
	s.sort()
	if chet % 2 == 0:
		print('YES')
	else:
		for i in range(0, n - 1):
			if abs(s[i] - s[i + 1]) == 1:
				print('YES')
				break
			if i == n - 2:
				print('NO')


import sys
input = sys.stdin.readline
t = int(input())
for q in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	ec = 0
	oc = 0
	onecounts = 0
	a.sort(reverse=True)
	for x in range(n):
		if a[x] % 2 == 0:
			ec += 1
		else:
			oc += 1
		if x != n - 1:
			if a[x] - a[x + 1] == 1:
				onecounts += 1
	if ec % 2 == 0 and oc % 2 == 0:
		print('YES')
	elif ec % 2 == 0 and oc % 2 == 1 or (ec % 2 == 1 and oc % 2 == 0):
		print('NO')
	elif onecounts > 0:
		print('YES')
	else:
		print('NO')


num = int(input())
lst = []
for i in range(num):
	n = int(input())
	count_odd = 0
	count_even = 0
	lst1 = list(map(int, input().split()))
	for j in lst1:
		if j % 2 == 0:
			count_even += 1
		if j % 2 == 1:
			count_odd += 1
	if count_odd % 2 == 0 or count_even % 2 == 0:
		lst.append('YES')
	else:
		kuch_bhi = 0
		lst1.sort()
		for x in range(n - 1):
			if lst1[x + 1] - lst1[x] == 1:
				kuch_bhi = 1
				lst.append('YES')
				break
		if kuch_bhi != 1:
			lst.append('NO')
for var in lst:
	print(var)


t = int(input())
while t > 0:
	n = int(input())
	a = list(map(int, input().split()))
	(odd, even) = (0, 0)
	for i in a:
		if i & 1:
			odd += 1
		else:
			even += 1
	if odd & 1 != even & 1:
		print('NO')
	elif even & 1 == 0:
		print('YES')
	else:
		flag = False
		for i in range(n):
			for j in range(i + 1, n):
				if abs(a[i] - a[j]) == 1:
					print('YES')
					flag = True
					break
			if flag:
				break
		if not flag:
			print('NO')
	t -= 1


INT_MAX = 10 ** 30 + 7
MOD = 10 ** 12 + 7

def INPUT():
	return list((int(i) for i in input().split()))

def LIST_1D_ARRAY(n):
	return [0 for _ in range(n)]

def LIST_2D_ARRAY(m, n):
	return [[0 for _ in range(n)] for _ in range(m)]

def calc(n, A):
	even = 0
	odd = 0
	E = []
	O = []
	for i in range(n):
		if A[i] & 1:
			O.append(A[i])
		else:
			E.append(A[i])
	if len(O) % 2 == 0:
		print('YES')
	else:
		bool = False
		for ele in O:
			for j in range(len(E)):
				if abs(ele - E[j]) == 1:
					bool = True
			if bool:
				break
		if bool:
			print('YES')
		else:
			print('NO')
for _ in range(int(input())):
	n = int(input())
	A = INPUT()
	calc(n, A)


for _ in range(int(input())):
	qtd = int(input())
	l = sorted(list(map(int, input().split())))
	b = [x % 2 for x in l]
	s = [1 if abs(l[x] - l[x + 1]) == 1 else 0 for x in range(qtd - 1)]
	(b1, b0) = (b.count(1), b.count(0))
	(s1, s0) = (s.count(1), s.count(0))
	if b1 % 2 == 0 and b0 % 2 == 0:
		print('YES')
	elif b1 % 2 and b0 % 2 and (s1 > 0):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	even = 0
	odd = 0
	temp = 0
	for j in a:
		if j % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 != 0 and odd % 2 != 0:
		a.sort()
		for i in range(n - 1):
			if abs(a[i + 1] - a[i]) == 1:
				if a[i] % 2 == 0 and a[i + 1] % 2 != 0 or (a[i] % 2 != 0 and a[i + 1] % 2 == 0):
					print('YES')
					temp = 1
					break
		if temp == 0:
			print('NO')
	else:
		print('NO')


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def solve(arr, n):
	(set_even, set_odd) = (set(), set())
	(list_even, list_odd) = (list(), list())
	for a in arr:
		if a % 2:
			set_odd.add(a)
			list_odd.append(a)
		else:
			set_even.add(a)
			list_even.append(a)
	if len(list_even) % 2 == 0:
		return True
	else:
		for a in set_even:
			if a - 1 in set_odd or a + 1 in set_odd:
				return True
	return False
t = int(input())
for i in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	if solve(arr, n):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	nums = list(map(int, input().split()))
	nums = sorted(nums)
	eve = 0
	odd = 0
	dif = 0
	for i in range(n):
		if i < n - 1:
			if nums[i + 1] - nums[i] == 1:
				dif += 1
		if nums[i] % 2 == 0:
			eve += 1
		elif nums[i] % 2 == 1:
			odd += 1
	if eve % 2 == 0 and odd % 2 == 0 or ((eve % 2 == 1 and odd % 2 == 1) and dif >= 1):
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	N = int(input())
	abc = list(map(int, input().split()))
	count_of_chet = []
	count_of_ne = []
	for j in range(N):
		if abc[j] % 2 == 0:
			count_of_chet.append(abc[j])
		else:
			count_of_ne.append(abc[j])
	flag = False
	if len(count_of_chet) % 2 == 0 and len(count_of_ne) % 2 == 0:
		print('YES')
	elif len(count_of_chet) % 2 != 0 and len(count_of_ne) % 2 != 0:
		for j in count_of_ne:
			if j + 1 in count_of_chet or j - 1 in count_of_chet:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	ar = list(map(int, input().split()))
	ar.sort()
	difp = 0
	for i in range(n - 1):
		if ar[i + 1] - ar[i] == 1:
			difp = 1
	(o, e) = (0, 0)
	for i in ar:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0:
		print('YES')
	elif difp:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	lis = sorted(map(int, input().split()))
	ev = od = 0
	dif = 0
	if lis[0] % 2 == 0:
		ev += 1
	else:
		od += 1
	for i in range(1, n):
		if lis[i] - lis[i - 1] == 1:
			dif += 1
		if lis[i] % 2 == 0:
			ev += 1
		else:
			od += 1
	if ev % 2 == 0 and od % 2 == 0:
		print('YES')
	elif ev % 2 != 0 and od % 2 != 0 and (dif > 0):
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	o = 0
	e = 0
	a.sort()
	for j in range(n):
		if a[j] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif o % 2 == 0 and e % 2 != 0 or (e % 2 == 0 and o % 2 != 0):
		print('NO')
	else:
		f = False
		for j in range(n - 1):
			if a[j + 1] - a[j] == 1 and a[j + 1] % 2 != 0 and (a[j] % 2 == 0):
				f = True
			elif a[j + 1] - a[j] == 1 and a[j + 1] % 2 == 0 and (a[j] % 2 != 0):
				f = True
		if f:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = [int(x) for x in input().split()]
	s = sum(l)
	if s % 2 == 0:
		print('YES')
		continue
	l.sort()
	for i in range(len(l) - 1):
		if abs(l[i] - l[i + 1]) == 1:
			print('YES')
			break
	else:
		print('NO')


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


answer = []
for i in range(int(input())):
	count = 0
	even = []
	odd = []
	ans = 'NO'
	n = int(input())
	arr = list(map(int, input().split()))
	for j in arr:
		if j % 2 == 0:
			even.append(j)
		else:
			odd.append(j)
	even.sort()
	odd.sort()
	if len(odd) % 2 == 0:
		ans = 'YES'
	else:
		for j in odd:
			for k in even:
				if abs(j - k) == 1:
					count += 1
					break
		if count != 0:
			ans = 'YES'
	answer.append(ans)
for i in range(len(answer)):
	print(answer[i])


t = int(input())
for i in range(t):
	n = int(input())
	arr1 = input().split()
	arr = []
	c = a = 0
	for i in range(n):
		arr = arr + [int(arr1[i])]
		if arr[i] % 2 == 0:
			c = c + 1
	if c % 2 == 0:
		print('YES')
	else:
		arr.sort()
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				a = 1
				break
		if a == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	a = int(input())
	n = list(map(int, input().split()))
	n.sort()
	e = []
	o = []
	t1 = 0
	for i in n:
		if i % 2 == 0:
			e += [i]
		elif i % 2 == 1:
			o += [i]
		if i + 1 in n:
			t1 += 1
	if len(e) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in e:
			if i + 1 in o or i - 1 in o:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


import math
from math import gcd
t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	cnt1 = 0
	cnt2 = 0
	cnt3 = 0
	if l[0] % 2 == 0:
		cnt1 += 1
	else:
		cnt2 += 1
	for i in range(1, n):
		if l[i] % 2 == 0:
			cnt1 += 1
		else:
			cnt2 += 1
		if l[i] - l[i - 1] == 1:
			cnt3 += 1
	if cnt1 % 2 == 0 and cnt2 % 2 == 0:
		print('YES')
	elif cnt1 % 2 != cnt2 % 2:
		print('NO')
	elif cnt3 > 0:
		print('YES')
	else:
		print('NO')


import sys
import math

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def get_array():
	return list(map(int, sys.stdin.readline().strip().split()))

def printspx(*args):
	return print(*args, end='')

def printsp(*args):
	return print(*args, end=' ')

def printchk(*args):
	return print(*args, end=' \\ ')
MODPRIME = int(1000000000.0 + 7)
BABYMOD = 998244353
for _testcases_ in range(int(input())):
	n = int(input())
	li = get_array()
	li.sort()
	flag = False
	(odd, even) = (0, 0)
	for i in range(len(li)):
		try:
			if li[i + 1] - li[i] == 1:
				flag = True
		except:
			pass
		if li[i] % 2:
			odd += 1
		else:
			even += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif flag:
		print('YES')
	else:
		print('NO')


T = int(input())
for _ in range(T):
	N = int(input())
	A = sorted(map(int, input().split()))
	pairs = True
	impairs = True
	cancorrect = False
	for (i, elt) in enumerate(A):
		if elt % 2 == 0:
			pairs = not pairs
		else:
			impairs = not impairs
		if not cancorrect:
			if i > 0:
				if elt - A[i - 1] == 1:
					cancorrect = True
	if pairs and impairs or (cancorrect and (not pairs) and (not impairs)):
		print('YES')
	else:
		print('NO')


import os
import sys
from math import *
from collections import *
from bisect import *
from io import BytesIO, IOBase

def vsInput():
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def value():
	return tuple(map(int, input().split()))

def array():
	return [int(i) for i in input().split()]

def Int():
	return int(input())

def Str():
	return input()

def arrayS():
	return [i for i in input().split()]
for _ in range(Int()):
	n = Int()
	a = sorted(array())
	odd = [i for i in a if i % 2]
	even = [i for i in a if not i % 2]
	if len(odd) % 2 == 0:
		print('YES')
		continue
	f = 0
	for i in range(1, n):
		if a[i] == a[i - 1] + 1:
			print('YES')
			f = 1
			break
	if f == 0:
		print('NO')


t = int(input())
for i in range(t):
	(even, odd, diff) = (0, 0, 0)
	n = int(input())
	a = list(map(int, input().split()))
	for j in range(0, n):
		if a[j] % 2 == 0:
			even += 1
		else:
			odd += 1
	a.sort()
	for k in range(1, n):
		if abs(a[k] - a[k - 1]) == 1:
			diff += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 1 and odd % 2 == 1:
		if diff >= 1:
			print('YES')
		else:
			print('NO')
	elif odd != even:
		print('NO')
	a.clear()


I = lambda : list(map(int, input().split()))
for _ in range(int(input())):
	(n,) = I()
	l = I()
	a = [[], []]
	f = 0
	for i in range(n):
		a[l[i] % 2].append(l[i])
	if len(a[0]) % 2 == 0:
		print('YES')
	else:
		for i in a[0]:
			for j in a[1]:
				if abs(i - j) == 1:
					print('YES')
					f = 1
					break
			if f:
				break
		if not f:
			print('NO')


for i in range(int(input())):
	n = int(input())
	a = [int(j) for j in input().split()]
	a = sorted(a)
	(even, odd) = (0, 0)
	for j in range(n):
		if a[j] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(1, n):
			if abs(a[i] - a[i - 1]) == 1:
				flag = True
				print('YES')
				break
		print('NO') if flag == False else None


T = int(input())
for t in range(T):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = len([x for x in a if x % 2 != 0])
	even = len([x for x in a if x % 2 == 0])
	if n == 2 and odd == even:
		if abs(a[0] - a[1]) == 1:
			print('YES')
		else:
			print('NO')
	elif odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		i = 0
		c = 0
		while i < n - 1:
			if abs(a[i] - a[i + 1]) == 1:
				c += 1
				break
			else:
				i = i + 1
		if c == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	e = 0
	o = 0
	ei = -1
	oi = -1
	for i in range(n):
		if l[i] % 2 == 0:
			if e == 0:
				ei = i
			e += 1
		else:
			if o == 0:
				oi = i
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 == 0 or o % 2 == 0:
		if e % 2 == 0:
			f = 0
			for i in range(ei + 1, n - 3):
				if l[ei + 1] % 2 == 0 and l[ei + 3] % 2 == 0:
					f = 1
					break
			if f == 1:
				print('YES')
			else:
				print('NO')
		elif o % 2 == 0:
			f = 0
			for i in range(oi + 1, n - 3):
				if l[oi + 1] % 2 == 0 and l[oi + 3] % 2 == 0:
					f = 1
					break
			if f == 1:
				print('YES')
			else:
				print('NO')
	else:
		f = 0
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split(' ')))
	even = 0
	odd = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	pair = 0
	arr.sort()
	for i in range(len(arr) - 1):
		if abs(arr[i] - arr[i + 1]) == 1:
			pair += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif pair > 0:
		print('YES')
	else:
		print('NO')


import sys
cases = int(sys.stdin.readline())
for _ in range(cases):
	n = int(sys.stdin.readline())
	A = list(map(int, sys.stdin.readline().split()))
	adjacent = False
	count_even = 0
	A = sorted(A)
	for i in range(n):
		if i > 0 and A[i] - A[i - 1] == 1:
			adjacent = True
		if A[i] % 2 == 0:
			count_even += 1
	print('YES' if adjacent or count_even % 2 == 0 else 'NO')


import sys, math, os
from io import BytesIO, IOBase
from collections import defaultdict as dd, deque, Counter

def data():
	return sys.stdin.readline().strip()

def mdata():
	return list(map(int, data().split()))

def outl(var):
	sys.stdout.write(' '.join(map(str, var)) + '\n')

def out(var):
	sys.stdout.write(str(var) + '\n')
sys.setrecursionlimit(100000)
INF = float('inf')
mod = int(1000000000.0) + 7

def main():
	for t in range(int(data())):
		n = int(data())
		a = mdata()
		e = 0
		for i in range(n):
			if a[i] % 2 == 0:
				e += 1
		if e % 2 == 0:
			out('YES')
		else:
			s = set(a)
			flag = False
			for i in a:
				if i + 1 in s:
					flag = True
					break
			if flag == True:
				out('YES')
			else:
				out('NO')
main()


def function(list1):
	evenlist = []
	oddlist = []
	for i in list1:
		if i % 2 == 0:
			evenlist.append(i)
		else:
			oddlist.append(i)
	if len(oddlist) % 2 == 0:
		return 'YES'
	else:
		sortlist = sorted(list1)
		for i in range(len(list1) - 1):
			diff = abs(sortlist[i] - sortlist[i + 1])
			if diff == 1:
				return 'YES'
	return 'NO'
n = int(input())
for i in range(n):
	c = int(input())
	X = [int(x) for x in input().split()]
	print(function(X))


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


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	e = 0
	c = 0
	l.sort()
	for i in range(len(l)):
		if l[i] % 2 == 0:
			e += 1
	for i in range(len(l) - 1):
		if l[i + 1] - l[i] == 1:
			c += 1
	if e % 2 == 0:
		print('YES')
	elif c >= 1:
		print('YES')
	else:
		print('NO')


from sys import maxsize
n = int(input())
for i in range(n):
	t = int(input())
	a = list(map(int, input().split()))
	even = []
	h = 1
	odd = []
	for i in range(t):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(even) % 2 == 0:
		print('YES')
	else:
		a.sort()
		for i in range(1, len(a)):
			if a[i] - a[i - 1] == 1:
				print('YES')
				h = 0
				break
		if h == 1:
			print('NO')


from collections import defaultdict, Counter
from functools import lru_cache
from heapq import heappush, heappop
from math import gcd, floor, ceil
from sys import stdin, stdout

def ilist():
	return [int(x) for x in stdin.readline().strip().split(' ')]

def iint():
	return int(stdin.readline().strip())

def istr():
	return stdin.readline().strip()

def solve(a):
	n = len(a)
	odd = []
	even = []
	for e in a:
		if e % 2 == 0:
			even.append(e)
		else:
			odd.append(e)
	if len(even) % 2 == 0:
		return 'YES'
	s = set(odd)
	for e in even:
		if e + 1 in s or e - 1 in s:
			return 'YES'
	return 'NO'
t = iint()
for _ in range(t):
	n = iint()
	a = ilist()
	print(solve(a))


import sys, copy
tc = int(sys.stdin.readline())
for _ in range(tc):
	n = int(sys.stdin.readline())
	arr = list(map(int, sys.stdin.readline().split()))
	even = []
	odd = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		find = False
		for i in even:
			for j in odd:
				if abs(i - j) == 1:
					find = True
		if find:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	flag = 0
	even = 0
	odd = 0
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		for j in range(1, n):
			if abs(l[j] - l[j - 1]) == 1:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(i, x, y) = (0, 0, 0)
	while i < len(a):
		if a[i] - a[i - 1] == 1:
			a.remove(a[i])
			a.remove(a[i - 1])
		else:
			i += 1
		(x, y) = (0, 0)
		for j in range(len(a)):
			if a[j] % 2 == 0:
				x += 1
			else:
				y += 1
		if x % 2 == 0 and y % 2 == 0:
			print('YES')
			break
	if x % 2 != 0 and y % 2 != 0:
		print('NO')


T = int(input())
for x in range(1, T + 1):
	n = int(input())
	n_l = list(map(int, input().split()))
	even = []
	oneven = []
	for i in n_l:
		if i % 2 == 0:
			even.extend([i])
		else:
			oneven.extend([i])
	if len(even) % 2 == 0 and len(oneven) % 2 == 0:
		print('YES')
	else:
		found = 0
		for i in even:
			for j in oneven:
				if i == j + 1 or i == j - 1:
					found = 1
					print('YES')
					break
			if found == 1:
				break
		if found == 0:
			print('NO')


def solve():
	n = int(input())
	a = list(map(int, input().split()))
	even = 0
	odd = 0
	for v in a:
		if v % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		return
	else:
		a.sort()
		flag = False
		for i in range(n - 1):
			if a[i + 1] == a[i] + 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')
		return

def main():
	t = int(input())
	for i in range(t):
		solve()
	return
main()


t = int(input())
while t:
	flag = 1
	n = int(input())
	l = [int(x) for x in input().split()]
	l.sort()
	even = []
	odd = []
	for i in l:
		if i & 1 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) & 1 == 0 and len(odd) & 1 == 0:
		print('Yes')
		flag = 0
	elif len(even) & 1 == 1 and len(odd) & 1 == 1:
		count = 0
		for i in range(0, len(l) - 1):
			if l[i + 1] - l[i] == 1:
				count += 1
		if count >= 1:
			print('Yes')
			flag = 0
	if flag == 1:
		print('No')
	t = t - 1


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	pair = 0
	x = False
	for i in range(0, n - 1):
		pair += l[i] % 2 == 0
		if abs(l[i] - l[i + 1]) == 1:
			x = True
	pair += l[-1] % 2 == 0
	if pair % 2 == 0 or (pair % 2 == 1 and x):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	odd = 0
	even = 0
	for ele in a:
		if ele % 2 == 1:
			odd += 1
		else:
			even += 1
	a.sort()
	diffno = 0
	while True:
		diff = a[n - 1] - a[n - 2]
		if diff == 1:
			diffno += 1
			n -= 1
		n -= 1
		if n <= 1:
			break
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif diffno >= 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	even = 0
	odd = 0
	for i in a:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	a.sort()
	index = 0
	while index < n - 1 and odd % 2 != 0 and (even % 2 != 0):
		if abs(a[index] - a[index + 1]) == 1:
			even -= 1
			odd -= 1
			index += 1
		index += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		print('NO')


T = int(input())
for t in range(T):
	n = int(input())
	a = sorted([int(i) for i in input().split()])
	odds = 0
	evens = 0
	link = 0
	for i in a:
		if i % 2 == 0:
			evens += 1
		else:
			odds += 1
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			a[i] = a[i - 1] = -10
			link += 1
	if evens % 2 == 0 and odds % 2 == 0:
		print('YES')
	elif evens % 2 != 0 and odds % 2 != 0 and (link > 0):
		print('YES')
	else:
		print('NO')


import sys
from math import sqrt, sin, cos, pi
from collections import defaultdict as dd, deque, Counter as C
mod = pow(10, 9) + 7
mod2 = 998244353

def data():
	return sys.stdin.readline().strip()

def out(*var, end='\n'):
	sys.stdout.write(' '.join(map(str, var)) + end)

def l():
	return list(sp())

def sl():
	return list(ssp())

def sp():
	return map(int, data().split())

def ssp():
	return map(str, data().split())

def l1d(n, val=0):
	return [val for i in range(n)]

def l2d(n, m, val=0):
	return [l1d(n, val) for j in range(m)]
for _ in range(int(data())):
	n = int(data())
	arr = l()
	(even, odd) = ([], [])
	for i in range(n):
		if arr[i] & 1:
			odd.append(arr[i])
			continue
		even.append(arr[i])
	if not len(odd) & 1:
		out('YES')
		continue
	r = False
	for i in odd:
		for j in even:
			if abs(i - j) == 1:
				r = True
				break
		if r:
			break
	if r:
		out('YES')
		continue
	out('NO')


import sys
import math
t = int(sys.stdin.readline().strip())
for i in range(t):
	n = int(sys.stdin.readline().strip())
	l = sorted(list(map(int, sys.stdin.readline().strip().split(' '))))
	pairs = [e for e in l if e % 2 == 0]
	impairs = [e for e in l if e % 2 == 1]
	if len(pairs) % 2 == 0 and len(impairs) % 2 == 0:
		print('YES')
	else:
		found = False
		for i in range(1, len(l)):
			if l[i] - l[i - 1] == 1:
				print('YES')
				found = True
				break
		if not found:
			print('NO')


import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	e = [x for x in l if x % 2 == 0]
	o = [x for x in l if x % 2 != 0]
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	else:
		fl = 0
		l.sort()
		for i in range(1, len(l)):
			if l[i] - 1 == l[i - 1]:
				fl = 1
				print('YES')
				break
		if fl == 0:
			print('NO')


import sys

def main():
	_ = int(input())
	a = list(map(int, input().split()))
	a.sort()
	ans = 999
	cnt = [0, 0]
	cnt[a[0] % 2] += 1
	for i in range(1, len(a)):
		cnt[a[i] % 2] += 1
		if a[i] != a[i - 1]:
			ans = min(ans, a[i] - a[i - 1])
	if cnt[0] % 2 == 0 or ans == 1:
		print('YES')
	else:
		print('NO')
input = sys.stdin.readline
tn = int(input())
for _ in range(tn):
	main()


def main():
	t = int(input())
	for _ in range(t):
		_ = input()
		a = [int(x) for x in input().split()]
		a.sort()
		odd = 0
		even = 0
		for i in range(len(a)):
			if a[i] % 2 == 0:
				even += 1
			else:
				odd += 1
		l = 0
		while (odd % 2 != 0 or even % 2 != 0) and l != len(a):
			l = len(a)
			ind = None
			for i in range(len(a) - 1):
				if a[i + 1] - a[i] == 1:
					ind = i
					break
			if ind != None:
				del a[ind + 1]
				del a[ind]
				odd -= 1
				even -= 1
		if odd % 2 == 0 and even % 2 == 0:
			print('YES')
		else:
			print('NO')
main()


import sys
input = sys.stdin.readline
for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	d = 0
	k = 0
	for i in range(n):
		if a[i] % 2:
			d += 1
		if i and a[i] - a[i - 1] == 1:
			k += 1
	if d % 2 == 0:
		print('YES')
	elif k > 0:
		print('YES')
	else:
		print('NO')


def Solve(s):
	odd = []
	even = []
	for i in s:
		if int(i) % 2 == 0:
			even.append(int(i))
		else:
			odd.append(int(i))
	if len(even) % 2 == 0:
		print('YES')
		return
	for j in odd:
		for i in even:
			if abs(i - j) == 1:
				print('YES')
				return
	print('NO')
n = int(input())
for j in range(n):
	x = int(input())
	s = input().split(' ')
	Solve(s)


from sys import stdin

def main():
	input = lambda : stdin.readline()[:-1]
	T = int(input())
	for _ in [0] * T:
		N = int(input())
		A = list(map(int, input().split()))
		even = [i for i in A if not i % 2]
		odd = [i for i in A if i % 2]
		if len(even) % 2:
			for i in even:
				if i + 1 in odd or i - 1 in odd:
					print('YES')
					break
			else:
				print('NO')
		else:
			print('YES')
main()


def abc(odd, even):
	if len(odd) % 2 == 0:
		print('YES')
		return
	odd_set = set(odd)
	even_set = set(even)
	for i in odd_set:
		if i + 1 in even_set:
			print('YES')
			return
	for i in even_set:
		if i + 1 in odd_set:
			print('YES')
			return
	print('NO')
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	even = []
	odd = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	abc(odd, even)


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	a = []
	b = 0
	d = {}
	for i in range(n):
		if l[i] % 2 == 0:
			a.append(l[i])
		else:
			b += 1
		d[l[i]] = 1
	if b % 2 == 0:
		print('YES')
	else:
		boo = False
		for i in a:
			if i - 1 in d or i + 1 in d:
				print('YES')
				boo = True
				break
		if not boo:
			print('NO')


from math import radians
from heapq import heapify, heappush, heappop
import bisect
from math import pi
from collections import deque
from math import factorial
from math import log, ceil
from collections import defaultdict
from math import *
from sys import stdin, stdout
import itertools
import os
import sys
import threading
from collections import deque, Counter, OrderedDict, defaultdict
from heapq import *
from fractions import Fraction
mod = int(pow(10, 9) + 7)

def ii():
	return int(input())

def si():
	return str(input())

def mi():
	return map(int, input().split())

def li1():
	return list(mi())

def fii():
	return int(stdin.readline())

def fsi():
	return str(stdin.readline())

def fmi():
	return map(int, stdin.readline().split())

def fli():
	return list(fmi())
abd = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'g': 6, 'h': 7, 'i': 8, 'j': 9, 'k': 10, 'l': 11, 'm': 12, 'n': 13, 'o': 14, 'p': 15, 'q': 16, 'r': 17, 's': 18, 't': 19, 'u': 20, 'v': 21, 'w': 22, 'x': 23, 'y': 24, 'z': 25}

def getKey(item):
	return item[0]

def sort2(l):
	return sorted(l, key=getKey)

def d2(n, m, num):
	return [[num for x in range(m)] for y in range(n)]

def isPowerOfTwo(x):
	return x and (not x & x - 1)

def decimalToBinary(n):
	return bin(n).replace('0b', '')

def ntl(n):
	return [int(i) for i in str(n)]

def powerMod(x, y, p):
	res = 1
	x %= p
	while y > 0:
		if y & 1:
			res = res * x % p
		y = y >> 1
		x = x * x % p
	return res
graph = defaultdict(list)
visited = [0] * 1000000
col = [-1] * 1000000

def bfs(d, v):
	q = []
	q.append(v)
	visited[v] = 1
	while len(q) != 0:
		x = q[0]
		q.pop(0)
		for i in d[x]:
			if visited[i] != 1:
				visited[i] = 1
				q.append(i)
		print(x)

def make_graph(e):
	d = {}
	for i in range(e):
		(x, y) = mi()
		if x not in d:
			d[x] = [y]
		else:
			d[x].append(y)
		if y not in d:
			d[y] = [x]
		else:
			d[y].append(x)
	return d

def gr2(n):
	d = defaultdict(list)
	for i in range(n):
		(x, y) = mi()
		d[x].append(y)
	return d

def connected_components(graph):
	seen = set()

	def dfs(v):
		vs = set([v])
		component = []
		while vs:
			v = vs.pop()
			seen.add(v)
			vs |= set(graph[v]) - seen
			component.append(v)
		return component
	ans = []
	for v in graph:
		if v not in seen:
			d = dfs(v)
			ans.append(d)
	return ans

def primeFactors(n):
	s = set()
	while n % 2 == 0:
		s.add(2)
		n = n // 2
	for i in range(3, int(sqrt(n)) + 1, 2):
		while n % i == 0:
			s.add(i)
			n = n // i
	if n > 2:
		s.add(n)
	return s

def find_all(a_str, sub):
	start = 0
	while True:
		start = a_str.find(sub, start)
		if start == -1:
			return
		yield start
		start += len(sub)

def SieveOfEratosthenes(n, isPrime):
	isPrime[0] = isPrime[1] = False
	for i in range(2, n):
		isPrime[i] = True
	p = 2
	while p * p <= n:
		if isPrime[p] == True:
			i = p * p
			while i <= n:
				isPrime[i] = False
				i += p
		p += 1
	return isPrime

def dijkstra(edges, f, t):
	g = defaultdict(list)
	for (l, r, c) in edges:
		g[l].append((c, r))
	(q, seen, mins) = ([(0, f, ())], set(), {f: 0})
	while q:
		(cost, v1, path) = heappop(q)
		if v1 not in seen:
			seen.add(v1)
			path = (v1, path)
			if v1 == t:
				return (cost, path)
			for (c, v2) in g.get(v1, ()):
				if v2 in seen:
					continue
				prev = mins.get(v2, None)
				next = cost + c
				if prev is None or next < prev:
					mins[v2] = next
					heappush(q, (next, v2, path))
	return float('inf')

def binsearch(a, l, r, x):
	while l <= r:
		mid = l + (r - 1) // 2
		if a[mid]:
			return mid
		elif a[mid] > x:
			l = mid - 1
		else:
			r = mid + 1
	return -1

def readTree(n):
	adj = [set() for _ in range(n)]
	for _ in range(n - 1):
		(u, v) = map(int, input().split())
		adj[u - 1].add(v - 1)
		adj[v - 1].add(u - 1)
	return adj

def treeOrderByDepth(n, adj, root=0):
	parent = [-2] + [-1] * (n - 1)
	ordered = []
	q = deque()
	q.append(root)
	depth = [0] * n
	while q:
		c = q.popleft()
		ordered.append(c)
		for a in adj[c]:
			if parent[a] == -1:
				parent[a] = c
				depth[a] = depth[c] + 1
				q.append(a)
	return (ordered, parent, depth)
for _ in range(ii()):
	n = ii()
	l = sorted(li1())
	(o, e) = (0, 0)
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


import sys
import math
import heapq
import collections

def inputnum():
	return int(input())

def inputnums():
	return map(int, input().split())

def inputlist():
	return list(map(int, input().split()))

def inputstring():
	return [x for x in input()]
t = int(input())
for q in range(t):
	n = inputnum()
	a = inputlist()
	a.sort()
	evens = 0
	ones = 0
	for i in range(n):
		if a[i] % 2 == 0:
			evens += 1
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			ones += 1
	if evens % 2 == 0:
		print('YES')
	elif ones > 0:
		print('YES')
	else:
		print('NO')


from math import *
from copy import *
from heapq import *
from string import *
from random import *
from bisect import *
from sys import stdin
from sys import maxsize
from operator import *
from itertools import *
from collections import Counter
from collections import defaultdict

def solve(l):
	n = len(l)
	(o, e) = (0, 0)
	for i in l:
		if i & 1:
			o += 1
		else:
			e += 1
	if not o & 1 and (not e & 1):
		return 'YES'
	elif o % 2 == 0 and e % 2 == 1:
		return 'NO'
	elif o % 2 == 1 and e % 2 == 0:
		return 'NO'
	else:
		check = [0] * (max(l) + 3)
		for i in l:
			check[i] = 1
		for i in l:
			if check[i - 1] or check[i + 1]:
				return 'YES'
		return 'NO'
T = int(input())
for _ in range(T):
	N = int(stdin.readline())
	l = list(map(int, stdin.readline().rstrip().split()))
	print(solve(l))


for _ in range(int(input())):
	n = int(input())
	a = [int(a) for a in input().split()]
	x = [i for i in a if i % 2 == 0]
	y = [i for i in a if i % 2 != 0]
	a = sorted(a)
	c = 0
	for i in range(n - 1):
		if abs(a[i] - a[i + 1]) == 1:
			c = 1
	if len(x) % 2 != 0 and len(y) % 2 != 0 and (c == 1):
		print('YES')
	elif len(x) % 2 == 0 and len(y) % 2 == 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	oc = 0
	ec = 0
	for i in range(n):
		if l[i] % 2 == 0:
			ec = ec + 1
		else:
			oc = oc + 1
	if int(oc / 2) + int(ec / 2) == int(n / 2):
		print('YES')
	else:
		l.sort()
		c = 0
		for i in range(n - 1):
			if l[i + 1] - l[i] == 1:
				c = c + 1
				break
		if int(ec / 2) + int(oc / 2) + c == int(n / 2):
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	cnt_even = 0
	cnt_odd = 0
	cnt_consecutive = 0
	for i in a:
		if i % 2 == 0:
			cnt_even += 1
		else:
			cnt_odd += 1
	for i in range(1, len(a)):
		if a[i] - a[i - 1] == 1:
			cnt_consecutive += 1
	if cnt_odd % 2 == 0:
		print('YES')
	elif cnt_consecutive >= 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().strip().split()[:n]))
	k = 0
	flag = 1
	for i in range(n):
		if a[i] % 2:
			k += 1
	if k % 2:
		flag = 0
		a.sort()
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				flag = 1
				break
	if flag:
		print('YES\n')
	else:
		print('NO\n')


T = int(input())
for _ in range(0, T):
	N = int(input())
	s = [int(x) for x in input().split()]
	c0 = 0
	c1 = 0
	pos = [0] * 102
	for i in range(0, len(s)):
		pos[s[i]] = 1
		if s[i] % 2 == 0:
			c0 += 1
		else:
			c1 += 1
	if c0 % 2 == 0:
		print('YES')
	else:
		temp = 'NO'
		for i in range(0, len(pos) - 1):
			if pos[i] == 1 and pos[i + 1] == 1:
				temp = 'YES'
				break
		print(temp)


for i in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	odd = []
	even = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				print('YES')
				break
		else:
			print('NO')


def main():
	t = int(input())
	for i in range(t):
		solve()

def solve():
	n = int(input())
	arr = list(map(int, input().split(' ')))
	arr.sort()
	index = 0
	odd = 0
	even = 0
	while index < len(arr):
		if arr[index] % 2 == 0:
			even += 1
		else:
			odd += 1
		index += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		return
	index = 0
	odd = 0
	even = 0
	while index < len(arr) - 1:
		if arr[index + 1] - arr[index] == 1:
			print('YES')
			return
		index += 1
	print('NO')
main()


import os, io
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	isThereDiff1 = False
	oddCount = 0
	evenCount = 0
	for i in range(n):
		if i + 1 < n and a[i + 1] - a[i] == 1:
			isThereDiff1 = True
			break
		if a[i] % 2 == 1:
			oddCount += 1
		else:
			evenCount += 1
	if isThereDiff1:
		print('Yes')
	elif oddCount % 2 == 0:
		print('Yes')
	else:
		print('No')


def main():
	set_count = input()
	for i in range(int(set_count)):
		list_length = int(input())
		inputstr = input()
		numbers = inputstr.split()
		numbers = list(map(int, numbers))
		even_counter = 0
		for j in range(len(numbers)):
			if numbers[j] % 2 == 0:
				even_counter = even_counter + 1
		if even_counter % 2 == 0:
			print('YES')
		else:
			numbers.sort()
			min_dif = 99999999999999999
			for j in range(len(numbers) - 1):
				first = numbers[j]
				second = numbers[j + 1]
				dif = second - first
				if dif < min_dif and dif != 0:
					min_dif = dif
			if min_dif == 1:
				print('YES')
			else:
				print('NO')
main()


def solve():
	n = int(input())
	a = list(map(int, input().split()))
	even_cnt = 0
	for x in a:
		if x % 2 == 0:
			even_cnt += 1
	if even_cnt % 2 == 0:
		print('YES')
	else:
		(even, odd) = ([], [])
		for x in a:
			if x % 2 == 0:
				even.append(x)
			else:
				odd.append(x)
		found = False
		for x in even:
			for y in odd:
				if abs(x - y) == 1:
					found = True
		if found:
			print('YES')
		else:
			print('NO')
t = int(input())
for _ in range(t):
	solve()


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	p = []
	i = []
	for x in l:
		if x % 2 == 0:
			p.append(x)
		else:
			i.append(x)
	if len(p) % 2 == len(i) % 2 == 0:
		print('YES')
	else:
		ii = set(i)
		for x in p:
			if x + 1 in ii or x - 1 in ii:
				print('YES')
				break
		else:
			print('NO')


def count(a, n):
	even = odd = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		return 'YES'
	else:
		a.sort()
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				return 'YES'
		return 'NO'
for i in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	print(count(a, n))


t = int(input())
for _ in range(t):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	count = 0
	for i in l:
		if i % 2 == 0:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if l[i + 1] - l[i] == 1:
				print('YES')
				break
			elif i == n - 2:
				print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	b = [0] * 101
	for i in a:
		b[i] = 1
	even = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
	f = 0
	evelen = len(even)
	if evelen % 2 == 0:
		f = 1
	else:
		for i in a:
			if i == 100:
				pass
			elif b[i] == 1 and b[i + 1] == 1:
				f = 1
	if f == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	p = set(l)
	d = {0: 0, 1: 0}
	for i in range(n):
		if l[i] % 2 == 0:
			d[0] += 1
		else:
			d[1] += 1
	if d[0] % 2 == 0:
		print('YES')
	else:
		if len(set(l)) == 1:
			print('YES')
			continue
		for i in l:
			if i + 1 in p:
				print('YES')
				break
		else:
			print('NO')


def match(l):
	l.sort()
	ans = False
	l0 = []
	l1 = []
	for i in range(len(l)):
		if l[i] % 2 == 0:
			l0.append(l[i])
		else:
			l1.append(l[i])
		if i != len(l) - 1:
			if l[i + 1] - l[i] == 1:
				ans = True
	if len(l1) % 2 == 0 or ans:
		return 'YES'
	else:
		return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	print(match(A))


import sys
t = int(input())
for i in range(0, t):
	n = int(input())
	(od, eve) = (0, 0)
	a = list(map(int, input().split()))
	a.sort()
	for i in range(0, n):
		if a[i] & 1:
			od += 1
		else:
			eve += 1
	if od % 2 == 0 and eve % 2 == 0:
		print('YES')
	else:
		on = 0
		for i in range(0, n - 1):
			if abs(a[i] - a[i + 1]) == 1:
				on += 1
		if on == 0:
			print('NO')
		else:
			print('YES')


n = int(input())
for _ in range(n):
	m = int(input())
	k = list(map(int, input().split()))
	s = len([1 for x in k if x % 2 == 0])
	if s % 2 == 0:
		print('YES')
	else:
		k.sort()
		for i in range(m - 1):
			if abs(k[i] - k[i + 1]) == 1:
				print('YES')
				break
			elif i == m - 2:
				print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	h = nh = 0
	for el in a:
		if el % 2 == 0:
			h += 1
		else:
			nh += 1
	q = 0
	i = 0
	while i < n - 1:
		if a[i + 1] - a[i] == 1:
			q = 1
			break
		i += 1
	if h % 2 == 0 and nh % 2 == 0:
		print('YES')
	elif q == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	oo = 0
	e = 0
	o = 0
	x = []
	if arr[0] % 2 == 0:
		e += 1
	else:
		o += 1
	for i in range(1, n):
		if arr[i] - arr[i - 1] == 1:
			oo += 1
			x.append(arr[i])
			x.append(arr[i - 1])
		if arr[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif len(x) > 0:
		print('YES')
	else:
		print('NO')


def rs():
	return input().strip()

def ri():
	return int(input())

def ria():
	return list(map(int, input().split()))

def ia_to_s(a):
	return ' '.join([str(s) for s in a])

def solve(n, a):
	even_count = sum([1 for x in a if x % 2 == 0])
	if even_count % 2 == 0:
		return True
	a = sorted(a)
	for i in range(1, n):
		if abs(a[i] - a[i - 1]) == 1:
			return True
	return False

def main():
	for _ in range(ri()):
		n = ri()
		a = ria()
		print('YES' if solve(n, a) else 'NO')
main()


n = int(input())
for i in range(n):
	lena = int(input())
	arr = list(map(int, input().split()))
	even = odd = counter = 0
	all_num = [0] * 101
	for j in range(lena):
		all_num[arr[j]] = 1
		if arr[j] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
	else:
		for j in range(lena):
			if arr[j] % 2 == 1:
				if all_num[arr[j] - 1] == 1 or all_num[arr[j] + 1] == 1:
					print('YES')
					counter = 1
					break
		if counter == 0:
			print('NO')


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	s = 0
	k = 0
	for q in a:
		if q % 2 == 0:
			s += 1
		else:
			k += 1
	if s % 2 == 0:
		print('YES')
	else:
		a.sort()
		for i in range(n - 1):
			if abs(a[i] - a[i + 1]) == 1:
				k = -2
				break
		if k < 0:
			print('YES')
		else:
			print('NO')


q = int(input())
for w in range(q):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	kc = 0
	k = 0
	dp = [0] * n
	for i in range(n):
		if a[i] % 2 == 0:
			kc += 1
		if i != 0 and dp[i - 1] == 0 and (a[i - 1] == a[i] - 1):
			dp[i - 1] = -1
			dp[i] = -1
			k += 1
	if kc % 2 == 0 or k > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	t -= 1
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	odd = 0
	even = 0
	same = 0
	if l[0] % 2:
		odd += 1
	else:
		even += 1
	for i in range(1, n):
		if abs(l[i] - l[i - 1]) == 1:
			same += 1
		if l[i] % 2:
			odd += 1
		else:
			even += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		k = 1
		f = 1
		while k <= same:
			if (odd - k) % 2 == 0 and (even - k) % 2 == 0:
				print('YES')
				f = 0
				break
			else:
				k += 1
		if f:
			print('NO')


t = int(input())
while t > 0:
	t -= 1
	n = int(input())
	arr = [int(x) for x in input().split()]
	ec = 0
	E = []
	O = []
	for i in range(n):
		if arr[i] % 2 == 0:
			ec += 1
			E.append(arr[i])
		else:
			O.append(arr[i])
	ans = False
	if ec % 2 == 0:
		print('YES')
	else:
		for i in range(ec):
			for j in range(n - ec):
				if abs(E[i] - O[j]) == 1:
					ans = True
					break
			if ans == True:
				break
		if ans == True:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	a = [int(i) for i in input().split()]
	a.sort()
	cons = 0
	e = 0
	o = 0
	if a[0] % 2 == 0:
		e += 1
	else:
		o += 1
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			cons += 1
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('Yes')
	elif e % 2 != 0 and o % 2 != 0 and (cons > 0):
		print('Yes')
	else:
		print('No')


import bisect
for i in range(int(input())):
	n = int(input())
	x = list(map(int, input().split()))
	x.sort()
	(e, o) = (0, 0)
	(even, odd, dic) = ([], [], {})
	for item in x:
		if item % 2 == 0:
			e += 1
			even.append(item)
			dic[item] = 1
		else:
			o += 1
			odd.append(item)
	f = 0
	if e % 2 == 0 and o % 2 == 0:
		f = 1
		print('YES')
	else:
		for item in odd:
			if item - 1 in even:
				f = 1
				print('YES')
				break
			elif item + 1 in even:
				f = 1
				print('YES')
				break
		if f == 0:
			print('NO')


from collections import Counter
T = int(input())
for t in range(T):
	N = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = []
	count = 0
	flag = 0
	for i in a:
		if i % 2 == 0:
			count += 1
		else:
			odd.append(i)
	odd = Counter(odd)
	if count % 2:
		for i in a:
			if i % 2 == 0 and i + 1 in odd or i - 1 in odd:
				flag = 1
				break
		if flag:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


def calc(n, a):
	eve = {}
	odd = {}
	totaleve = 0
	totalodd = 0
	for item in a:
		if item % 2 == 0:
			if item not in eve:
				eve[item] = 1
			else:
				eve[item] += 1
			totaleve += 1
		else:
			if item not in odd:
				odd[item] = 1
			else:
				odd[item] += 1
			totalodd += 1
	if totaleve % 2 == 0 and totalodd % 2 == 0:
		return 'YES'
	elif totaleve < totalodd:
		for item in eve:
			if item - 1 in odd or item + 1 in odd:
				return 'YES'
		return 'NO'
	else:
		for item in odd:
			if item - 1 in eve or item + 1 in eve:
				return 'YES'
		return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	print(calc(n, a))


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = []
	odd = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


import sys
input = sys.stdin.readline
f = lambda : list(map(int, input().split()))
for i in range(int(input())):
	n = int(input())
	inp = sorted(f())
	odd = evn = 0
	for i in inp:
		if i & 1:
			odd += 1
		else:
			evn += 1
	if odd % 2 == 0 and evn % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(n - 1):
			if inp[i] + 1 == inp[i + 1]:
				flag = 1
		print('YES') if flag else print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	odds = []
	oddlen = 0
	evens = []
	evenlen = 0
	for i in a:
		if i % 2:
			oddlen += 1
			odds.append(i)
		else:
			evenlen += 1
			evens.append(i)
	if oddlen % 2 == 0:
		print('YES')
	else:
		flag = 1
		for i in odds:
			for j in evens:
				if abs(i - j) == 1:
					flag = 0
					break
		if flag:
			print('NO')
		else:
			print('YES')


for i1 in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	even = []
	odd = []
	flag = 0
	for i in l:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	num = len(even)
	if num % 2 == 0:
		print('YES')
		continue
	else:
		for i in range(num):
			if even[i] - 1 in odd or even[i] + 1 in odd:
				print('YES')
				flag = 1
				break
	if flag == 0:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	s = sorted(list(map(int, input().split())))
	e = 0
	o = 0
	for i in range(n):
		if s[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(n):
			if s[i] - s[i - 1] == 1:
				f = 1
		if f == 1:
			print('YES')
		else:
			print('NO')


for zx in range(int(input())):
	(n, a, y) = (int(input()), sorted(list(map(int, input().split()))), 0)
	for i in range(n):
		if a[i] % 2 == 0:
			y += 1
	if y % 2 == 0:
		print('YES')
	else:
		t = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				t = 1
				break
		print('YES') if t == 1 else print('NO')


from collections import Counter
import math
import sys
from bisect import bisect, bisect_left, bisect_right

def input():
	return sys.stdin.readline().strip()

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST(N=None):
	return list(MAP()) if N is None else [INT() for i in range(N)]

def mod():
	return 10 ** 9 + 7
for _ in range(int(input())):
	n = INT()
	arr = LIST()
	arr.sort()
	even = 0
	odd = 0
	dif = 0
	for i in range(n - 1):
		if arr[i] % 2 == 0:
			even += 1
		elif arr[i] % 2 != 0:
			odd += 1
		if abs(arr[i + 1] - arr[i]) == 1:
			dif += 1
	if arr[n - 1] % 2 == 0:
		even += 1
	else:
		odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif dif >= 1:
		print('YES')
	else:
		print('NO')


from sys import stdin
from math import ceil, sqrt
input = stdin.readline

def list_input():
	return list(map(int, input().split()))

def sep_input():
	return map(int, input().split())
for _ in range(int(input())):
	n = int(input())
	l = list_input()
	l.sort()
	even = 0
	odd = 0
	for i in range(n):
		if l[i] % 2 == 1:
			odd += 1
		else:
			even += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		f = False
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				f = True
				break
		if f:
			print('YES')
		else:
			print('NO')


from sys import stdin, stdout
import math
from itertools import permutations, combinations
from collections import defaultdict
from bisect import bisect_left
from bisect import bisect_right

def L():
	return list(map(int, stdin.readline().split()))

def In():
	return map(int, stdin.readline().split())

def I():
	return int(stdin.readline())
P = 1000000007

def main():
	for t in range(I()):
		n = I()
		arr = L()
		arr.sort()
		lis = [0, 0, 0]
		for i in range(n):
			if arr[i] % 2 == 0:
				lis[0] += 1
			else:
				lis[1] += 1
			if i > 0 and abs(arr[i] - arr[i - 1]) == 1:
				lis[2] += 1
		if lis[0] % 2 == 0 and lis[1] % 2 == 0:
			print('YES')
		elif lis[0] % 2 != 0 and lis[1] % 2 != 0:
			if lis[2] > 0:
				print('YES')
			else:
				print('NO')
		else:
			print('NO')
main()


import sys
input = sys.stdin.readline
tc = int(input())
for _ in range(tc):
	n = int(input())
	s = list(map(int, input().split()))
	odd = 0
	even = 0
	one = False
	s.sort()
	for i in s:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	for i in range(n - 1):
		if s[i + 1] - s[i] == 1:
			one = True
			break
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif (odd % 2 == 1 and even % 2 == 1) and one:
		print('YES')
	else:
		print('NO')


def solve(arr, n):
	c1 = len([x for x in arr if x % 2 == 0])
	c2 = len([x for x in arr if x % 2 == 1])
	if c1 % 2 == 0 and c2 % 2 == 0:
		return True
	arr.sort()
	for i in range(1, n):
		if arr[i] - arr[i - 1] == 1:
			return True
	return False
t = int(input())
for i in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	if solve(arr, n):
		print('YES')
	else:
		print('NO')


t = int(input())
for xy in range(t):
	n = int(input())
	x = list(map(int, input().split()))
	even = 0
	odd = 0
	l = []
	p = []
	for ab in x:
		if ab % 2 == 0:
			l.append(ab)
		else:
			p.append(ab)
	if len(l) % 2 == 0:
		print('YES')
	else:
		lp = True
		for ty in l:
			for xz in p:
				if abs(ty - xz) == 1:
					print('YES')
					lp = False
					break
			if not lp:
				break
		if lp:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = 0
	i = list((int(num) for num in input().strip().split()))[:n]
	for j in range(n):
		if i[j] % 2 == 0:
			a = a + 1
		else:
			continue
	if a % 2 == 0:
		print('yes')
		continue

	def ans():
		for j in range(n):
			for k in range(j + 1, n):
				if abs(i[j] - i[k]) == 1:
					return True
		return False
	if ans():
		print('yes')
	else:
		print('No')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	ec = 0
	oc = 0
	r = 0
	d = {}
	for i in l:
		if i & 1 == 0:
			ec += 1
		else:
			oc += 1
		if i - 1 in d or i + 1 in d:
			r += 1
		d[i] = 1
	if oc & 1 == 0 and ec & 1 == 0:
		print('YES')
		continue
	if r > 0:
		print('YES')
		continue
	print('NO')


def solution(a, ln):
	skipped = 0
	a.sort()
	odd = sum((i % 2 != 0 for i in a))
	if odd % 2 != 0:
		for i in range(ln - 1):
			if a[i + 1] - a[i] == 1:
				a.pop(i + 1)
				a.pop(i)
				odd -= 1
				break
			skipped += 1
	return 'Yes' if skipped < ln - 1 else 'No'

def main():
	for test in range(int(input())):
		lng = int(input())
		arr = list(map(int, input().split()))
		result = solution(arr, lng)
		print(result)
main()


t = int(input())
for k in range(t):
	n = int(input())
	arr = list(map(int, input().rstrip().split()))
	arr.sort()
	diff_pair = 0
	even = 0
	odd = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1 and (arr[i] % 2 == 0 and arr[i - 1] != 0 or (arr[i - 1] % 2 == 0 and arr[i] % 2 != 0)):
				diff_pair += 1
		if diff_pair >= 1:
			print('YES')
		else:
			print('NO')


t = int(input())
while t > 0:
	n = int(input())
	a = list(map(int, input().split()))
	x = 0
	y = 0
	flag = 0
	for i in range(n):
		if a[i] % 2 == 0:
			x += 1
		else:
			y += 1
	if x % 2 != y % 2:
		print('NO')
	elif x % 2 == 0:
		print('YES')
	else:
		for i in range(n):
			for j in range(i + 1, n):
				if a[i] % 2 != a[j] % 2 and abs(a[i] - a[j]) == 1:
					print('YES')
					flag = 1
					break
			if flag == 1:
				break
		if flag == 0:
			print('NO')
	t -= 1


for _ in range(int(input())):
	n = int(input())
	a = [int(i) for i in input().split()]
	f = 0
	c = 0
	a = sorted(a)
	for i in range(len(a)):
		if a[i] % 2 == 0:
			c += 1
		if i < n - 1 and a[i + 1] - a[i] == 1:
			f = 1
	if f or c % 2 == 0:
		print('YES')
	else:
		print('NO')


from math import ceil
t = int(input())
for i in range(t):
	n = int(input())
	x = input()
	s = x.split()
	for i in range(len(s)):
		s[i] = int(s[i])
	s.sort()
	d = []
	cons = 0
	for i in range(n - 1):
		if s[i + 1] - s[i] == 1:
			cons = cons + 1
	P = 0
	I = 0
	for i in range(n):
		if s[i] % 2 == 0:
			P = P + 1
		else:
			I = I + 1
	if P % 2 != I % 2:
		print('NO')
	elif P % 2 == 1:
		if cons > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	s = sorted(map(int, input().split()))
	o = e = p = 0
	for i in range(n):
		if s[i] % 2:
			o += 1
		else:
			e += 1
		if i:
			p += s[i] - s[i - 1] == 1
	print('YES' if o % 2 == 0 and e % 2 == 0 or (e % 2 == o % 2 == 1 and p) else 'NO')


import sys
input = sys.stdin.readline
t = int(input())
for r in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	even = 0
	odd = 0
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		d = {}
		for i in l:
			try:
				d[i] += 1
			except:
				d[i] = 1
		flag = False
		for i in d:
			try:
				a = d[i]
				b = d[i + 1]
				flag = True
				break
			except:
				pass
		if flag == True:
			print('YES')
		else:
			print('NO')


t = int(input())
for x in range(t):
	n = int(input())
	arr = [int(i) for i in input().split()]
	arr = sorted(arr)
	if n > 2:
		odd = 0
		diff = 0
		for i in range(n):
			if arr[i] % 2 != 0:
				odd += 1
				if i != 0:
					if abs(arr[i] - arr[i - 1]) == 1:
						diff += 1
				if i != n - 1:
					if abs(arr[i] - arr[i + 1]) == 1:
						diff += 1
		if odd % 2 != 0:
			if diff > 0:
				print('YES')
			else:
				print('NO')
		else:
			print('YES')
	elif arr[0] % 2 == arr[1] % 2 or abs(arr[0] - arr[1]) == 1:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
input = lambda : stdin.readline().strip()
fast_print = stdout.write
from math import sqrt, floor
T = int(input())
for _ in range(T):
	n = int(input())
	ls = list(map(int, input().split()))
	even = 0
	odd = 0
	for i in ls:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		ls.sort()
		for i in range(1, len(ls)):
			if ls[i] - ls[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')


def answer(n, A):
	count_odd = 0
	for i in range(n):
		if A[i] % 2 != 0:
			count_odd += 1
	if count_odd % 2 == 0:
		return 'YES'
	else:
		A.sort()
		for i in range(1, n):
			if A[i] - A[i - 1] == 1:
				return 'YES'
		return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	print(answer(n, arr))


def find_odd_even_counts(numlist):
	(even_counter, odd_counter) = (0, 0)
	for n in numlist:
		if n % 2 == 0:
			even_counter += 1
		elif n % 2 == 1:
			odd_counter += 1
	return (even_counter, odd_counter)
for i in range(int(input())):
	length = int(input())
	numlist = list(map(int, input().split()))
	(even_counter, odd_counter) = find_odd_even_counts(numlist)
	if even_counter == 0 or odd_counter == 0 or even_counter % 2 == 0 or (odd_counter % 2 == 0):
		print('YES')
	else:
		done_pairs_index = []
		numlist.sort()
		for x in range(len(numlist) - 1):
			if abs(numlist[x] - numlist[x + 1]) == 1:
				done_pairs_index.append((x, x + 1))
		set_length = len(done_pairs_index)
		if len(done_pairs_index) > 1:
			for n in range(len(done_pairs_index) - 1):
				if done_pairs_index[n][1] in done_pairs_index[n + 1]:
					set_length -= 1
		if set_length >= 1:
			print('YES')
		else:
			print('NO')


N = int(input())
for i in range(N):
	n = int(input())
	L = list(map(int, input().split()))
	L.sort()
	Eve = 0
	One = 0
	if L[0] % 2 == 0:
		Eve += 1
	for j in range(1, n):
		if L[j] % 2 == 0:
			Eve += 1
		if L[j] - L[j - 1] == 1:
			One = 1
	if One == 1 or Eve % 2 == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	odd = []
	even = []
	for i in a:
		if i % 2 == 1:
			odd.append(i)
		else:
			even.append(i)
	if len(odd) % 2 == 0:
		print('YES')
	else:
		c = 0
		for i in odd:
			for j in even:
				if abs(i - j) == 1:
					c = 1
					break
		if c == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	x = int(input())
	y = list(map(int, input().split()))
	count_even = 0
	count_odd = 0
	flag = 1
	for i in y:
		if i % 2 == 0:
			count_even += 1
		else:
			count_odd += 1
	i = 0
	if count_odd % 2 != 0 or count_even % 2 != 0:
		y = sorted(y)
		flag = 0
		for i in range(x - 1):
			if y[i + 1] - y[i] == 1:
				flag = 1
				break
	if flag == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for ii in range(t):
	n = int(input())
	a = list(map(int, input().rstrip().split()))
	odd = []
	even = []
	for i in a:
		if i % 2:
			odd.append(i)
		else:
			even.append(i)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(even) % 2 == 1 and len(odd) % 2 == 1:
		s = set(even)
		flag = 0
		for i in odd:
			if i - 1 in s or i + 1 in s:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


I = input
t = int(I())
for tt in range(t):
	n = int(I())
	lis = I().split()
	a = []
	for i in lis:
		a.append(int(i))
	e = []
	o = []
	fg = 1
	for i in a:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 == 0:
		print('YES')
	else:
		i = 0
		while i < len(e) and fg == 1:
			j = 0
			while j < len(o) and fg == 1:
				if abs(e[i] - o[j]) == 1:
					print('YES')
					fg = 0
				j += 1
			i += 1
		if fg == 1:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	(o, e) = ([], [])
	for i in sorted(list(map(int, input().split()))):
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(o) % 2 == 0:
		print('YES')
		continue
	f = 0
	for i in o:
		if i + 1 in e or i - 1 in e:
			f = 1
			break
	if f == 1:
		print('YES')
	else:
		print('NO')


def main():
	n = int(input())
	lst = list(map(int, input().split()))
	lst.sort()
	dp = [0 for i in range(n)]
	for i in range(1, n):
		if lst[i] == lst[i - 1] + 1:
			if i >= 2:
				dp[i] = max(dp[i - 1], dp[i - 2] + 1)
			else:
				dp[i] = 1
		else:
			dp[i] = dp[i - 1]
	n1 = 0
	n2 = 0
	for i in lst:
		if i % 2:
			n2 += 1
		else:
			n1 += 1
	if n2 % 2 + n1 % 2 <= dp[-1] * 2:
		print('Yes')
	else:
		print('No')
for t in range(int(input())):
	main()


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	even = 0
	odd = 0
	c = 0
	for i in range(n):
		if a[i] % 2:
			odd += 1
		else:
			even += 1
		if i > 0 and a[i] - a[i - 1] == 1:
			c = 1
	if (even % 2 or odd % 2) and (not c):
		print('NO')
	else:
		print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	odd = 0
	count = 0
	for j in range(n - 1):
		if abs(a[j] - a[j + 1]) == 1:
			count = count + 1
			break
	for j in range(n):
		if a[j] % 2 == 0:
			even = even + 1
		else:
			odd = odd + 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif count > 0:
		print('YES')
	else:
		print('NO')


for tt in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	st = set()
	for i in range(n):
		if arr[i] % 2 == 0:
			even.append(arr[i])
		else:
			odd.append(arr[i])
		for j in range(n):
			if abs(arr[i] - arr[j]) == 1:
				st.add(arr[i])
				st.add(arr[j])
	if len(st) // 2 + len(even) // 2 + len(odd) // 2 >= n // 2:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	size = int(input())
	(*a,) = map(int, input().split())
	odd = sum((x % 2 for x in a))
	if odd % 2:
		sets = set(a)
		if any((x + 1 in sets for x in a)):
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


def solve():
	n = int(input())
	l1 = list(map(int, input().split()))
	l1.sort()
	odd = 0
	for i in range(n):
		if l1[i] % 2 == 1:
			odd += 1
	even = n - odd
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		return
	else:
		l1.sort()
		for i in range(n - 1):
			v = l1[i + 1] - l1[i]
			if v == 1:
				print('YES')
				return
		print('NO')
for _ in range(int(input())):
	solve()


t = int(input())
for t in range(0, t):
	n = int(input())
	a = [int(x) for x in input().split()]
	x = y = z = 0
	for i in range(0, n):
		if a[i] % 2 == 0:
			x = x + 1
		else:
			y = y + 1
	a.sort()
	for j in range(1, n):
		if a[j] - a[j - 1] == 1:
			z = z + 1
	if x % 2 == 0 and y % 2 == 0:
		print('YES')
	elif x % 2 != 0 and y % 2 != 0 and (z >= 1):
		print('YES')
	else:
		print('NO')


for tc in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	if n & 1:
		print('NO')
		continue
	l.sort()
	(odd, even) = (0, 0)
	pair_not_exist = True
	for i in range(n):
		if l[i] & 1:
			odd += 1
		else:
			even += 1
		if i != n - 1 and l[i] + 1 == l[i + 1]:
			pair_not_exist = False
	if odd & 1 and pair_not_exist:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr = sorted(arr)
	diffs = 0
	evens = 0
	odds = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			evens += 1
		else:
			odds += 1
	if evens % 2 == 0 and odds % 2 == 0:
		print('YES')
		continue
	pos = False
	for i in range(n - 1):
		if arr[i + 1] - arr[i] == 1:
			pos = True
			break
	if pos:
		print('YES')
	else:
		print('NO')


import math
import os
import random
import re
import sys
import copy
from collections import Counter

def solve():
	for _ in range(int(input())):
		n = int(input())
		l = list(map(int, input().strip().split()))
		l.sort()
		f = 0
		c = 0
		for i in range(n):
			if l[i] % 2 == 0:
				f += 1
		if f % 2 == 0:
			print('YES')
			continue
		a = 0
		i = 0
		while i < n - 1:
			if l[i + 1] - l[i] == 1:
				l.pop(i)
				l.pop(i)
				n -= 2
				i = 0
				a += 1
			else:
				i += 1
		if a > 0:
			print('YES')
		else:
			print('NO')
solve()


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	eve = []
	odd = []
	for i in arr:
		if i % 2 == 0:
			eve.append(i)
		else:
			odd.append(i)
	if len(odd) % 2 == 0 and len(eve) % 2 == 0:
		print('YES')
	else:
		e = len(eve)
		o = len(odd)
		for i in odd:
			for j in eve:
				if abs(i - j) == 1:
					e -= 1
					o -= 1
					break
			if e % 2 == 0 and o % 2 == 0:
				break
		if e % 2 == 0 and o % 2 == 0:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	odd = []
	even = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	else:
		a.sort()
		d = []
		k = 0
		while k < len(a) - 1:
			if abs(a[k + 1] - a[k]) == 1:
				d.append(abs(a[k + 1] - a[k]))
			k = k + 1
		if len(d) >= 1:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	arr = map(int, input().split())
	arr = sorted(arr)
	odd_even = False
	even = 0
	odd = 0
	for j in range(n - 1):
		if arr[j] % 2 == 1:
			odd += 1
		else:
			even += 1
		if arr[j] + 1 == arr[j + 1]:
			odd_even = True
	if arr[-1] % 2 == 1:
		odd += 1
	else:
		even += 1
	if even % 2 == 1:
		if odd_even == True:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


import math
q = int(input())
while q:
	n = int(input())
	arr = list(map(int, input().split()))
	(odd, even) = ([i for i in arr if i % 2 == 0], [i for i in arr if i % 2 == 1])
	if len(even) % 2 == 0:
		print('YES')
	else:
		found = False
		for i in range(len(odd)):
			for j in range(len(even)):
				if abs(odd[i] - even[j]) == 1:
					found = True
					break
			if found:
				break
		print('YES') if found else print('NO')
	q -= 1


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	(c1, c2) = (0, 0)
	for i in a:
		if i % 2:
			c1 += 1
		else:
			c2 += 1
	if min(c1, c2) % 2:
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	prev_index = -1000
	my_dict = {1: [], 2: [], 3: []}
	if a[0] % 2 == 0:
		my_dict[1].append(a[0])
	else:
		my_dict[2].append(a[0])
	for i in range(1, n):
		if a[i] % 2 == 0:
			my_dict[1].append(a[i])
		else:
			my_dict[2].append(a[i])
		if abs(a[i] - a[i - 1]) == 1:
			my_dict[3].append(a[i])
			if a[i - 1] != prev_index:
				my_dict[3].append(a[i - 1])
	if len(my_dict[1]) % 2 == 0 and len(my_dict[2]) % 2 == 0:
		print('YES')
	elif len(my_dict[3]) % 2 == 0 and len(my_dict[3]) > 0:
		print('YES')
	else:
		print('NO')


for case in range(int(input())):
	N = int(input())
	numbers = list(map(int, input().split()))
	odd_arr = []
	even_arr = []
	for n in numbers:
		if n % 2:
			odd_arr.append(n)
		else:
			even_arr.append(n)
	odd = len(odd_arr)
	even = len(even_arr)
	if not odd % 2 and (not even % 2):
		print('YES')
	else:
		flag = False
		for i in range(odd):
			for j in range(even):
				if abs(odd_arr[i] - even_arr[j]) == 1:
					flag = True
					break
			if flag:
				break
		print('YES' if flag else 'NO')


def similar(arr):
	countodd = 0
	counteven = 0
	odd = []
	for i in arr:
		if i % 2 == 0:
			counteven += 1
		else:
			countodd += 1
			odd.append(i)
	if countodd % 2 == 0:
		return 'YES'
	if countodd % 2 != 0 and any((j + 1 in arr for j in arr)):
		return 'YES'
	else:
		return 'NO'
t = int(input())
for t_itr in range(t):
	arr_count = int(input())
	arr1 = list(map(int, input().rstrip().split()))
	result = similar(arr1)
	print(result)


for _ in range(int(input())):
	n = int(input())
	ls = list(map(int, input().split()))
	ls.sort()
	cnt = 0
	odd = 0
	even = 0
	for i in range(n - 1):
		if ls[i + 1] - ls[i] == 1:
			cnt += 1
	for i in ls:
		if i % 2 == 0:
			even += 1
	if even % 2 == 1:
		if cnt > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


I = input
for _ in range(int(I())):
	n = int(I())
	a = list(map(int, I().split(' ')))
	a.sort(reverse=True)
	t = 0
	odd = 0
	even = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if abs(a[i] - a[i + 1]) == 1:
				print('YES')
				t = 1
				break
		if t == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	dif1 = False
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			dif1 = True
			break
	(even, odd) = (0, 0)
	for num in a:
		if num % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 1 or odd % 2 == 1:
		if dif1:
			even -= 1
			odd -= 1
	if even % 2 == 1 or odd % 2 == 1:
		print('NO')
	else:
		print('YES')


import collections

def find_parity(x):
	a = x.split()
	a = list(map(int, a))
	result = 'NO'
	b = []
	for i in a:
		b.append(i % 2)
	counter = collections.Counter(b)
	for x in counter.values():
		if x % 2 == 0:
			result = 'YES'
			break
	if result != 'YES':
		for i in a:
			if i + 1 in a or i - 1 in a:
				result = 'YES'
				break
	return result
n = int(input())
tList = []
for i in range(n):
	input()
	tList.append(input())
for i in tList:
	print(find_parity(i))


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	m = sorted(a)
	b = [0] * 101
	m_odd = 0
	m_even = 0
	for i in range(1, len(m)):
		if m[i] - m[i - 1] == 1:
			b[m[i]] += 1
			b[m[i - 1]] += 1
			if b[m[i]] == 1:
				if m[i] % 2 == 0:
					m_even += 1
				else:
					m_odd += 1
			if b[m[i - 1]] == 1:
				if m[i - 1] % 2 == 0:
					m_even += 1
				else:
					m_odd += 1
	odd = 0
	even = 0
	for i in a:
		if b[i] == 0:
			if i % 2 == 0:
				even += 1
			else:
				odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif m_even == 0:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	s = [int(x) for x in input().split()]
	s.sort()
	prev = s[0]
	dif1 = False
	for i in range(1, n):
		if s[i] - prev == 1:
			dif1 = True
			break
		else:
			prev = s[i]
	cnt = 0
	for i in s:
		if i % 2 == 0:
			cnt += 1
	if cnt % 2 == 0:
		print('YES')
	elif dif1:
		print('YES')
	else:
		print('NO')


for u in range(int(input())):
	n = int(input())
	x = [int(w) for w in input().split()]
	e = []
	o = []
	d = [0] * max(x)
	for i in range(n):
		if x[i] % 2 == 0:
			e.append(x[i])
			d[x[i] - 1] += 1
		else:
			o.append(x[i])
	even = len(e)
	odd = n - even
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(even):
			for j in range(odd):
				if abs(e[i] - o[j]) == 1:
					flag = True
					break
		if flag == True:
			print('YES')
		else:
			print('NO')


from bisect import bisect
for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	x = []
	y = []
	for i in l:
		if i % 2 == 0:
			x.append(i)
		else:
			y.append(i)
	p = len(x)
	q = len(y)
	if x == [] or y == [] or (p % 2 == 0 and q % 2 == 0):
		print('YES')
	elif p % 2 == 1 and q % 2 == 1:
		f = 0
		for j in y:
			a = bisect(x, j)
			if a - 1 >= 0 and abs(x[a - 1] - j) == 1:
				f = 1
				break
			if a < p and abs(x[a] - j) == 1:
				f = 1
				break
		if f:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	arr.sort()
	c = 0
	flag = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			c += 1
		if i < n - 1 and arr[i + 1] - arr[i] == 1:
			flag = 1
	if flag == 1 or c % 2 == 0:
		print('YES')
	else:
		print('NO')


def count():
	(n, a) = (int(input()), sorted(list(map(int, input().split()))))
	(k, incorret) = (0, [])
	for i in range(n):
		if a[i] % 2 != 0:
			k += 1
			if a.count(a[i] + 1) != 0 or a.count(a[i] - 1) != 0:
				incorret.append(a[i])
	if k % 2 == 0:
		return 'YES'
	elif len(incorret) > 0:
		return 'YES'
	else:
		return 'NO'
for i in range(int(input())):
	print(count())


t = int(input())
for q in range(t):
	n = int(input())
	s = sorted(list(map(int, input().split())))
	a = 0
	b = 0
	boo = False
	for i in range(n):
		if s[i] % 2 == 0:
			a += 1
		else:
			b += 1
		if i != 0 and abs(s[i] - s[i - 1]) == 1:
			boo = True
	if a % 2 == 0 and b % 2 == 0 or boo:
		print('YES')
	else:
		print('NO')


import sys
from collections import defaultdict as dd

def eprint(*args):
	print(*args, file=sys.stderr)
zz = 1
import copy
if zz:
	input = sys.stdin.readline
else:
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('all.txt', 'w')

def li():
	return [int(x) for x in input().split()]

def fi():
	return int(input())

def si():
	return list(input().rstrip())

def mi():
	return map(int, input().split())

def bo(i):
	return ord(i) - ord('a')
t = fi()
while t > 0:
	t -= 1
	n = fi()
	a = li()
	d = {}
	o = e = 0
	for i in a:
		if i % 2:
			o += 1
		else:
			e += 1
		d[i] = 1
	if o % 2 == 0:
		print('YES')
		continue
	flag = 0
	for i in a:
		if i + 1 in d or i - 1 in d:
			print('YES')
			flag = 1
			break
	if flag == 0:
		print('NO')


import sys
import math
from sys import stdin, stdout

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def get_list():
	return list(map(int, sys.stdin.readline().strip().split()))

def get_string():
	return sys.stdin.readline().strip()

def main():
	for t in range(int(input())):
		n = int(input())
		a = [int(x) for x in input().split()]
		adj = 0
		e = 0
		o = 0
		a.sort()
		i = 0
		while i < n - 1:
			if a[i + 1] - a[i] == 1:
				adj += 1
				i += 2
			else:
				i += 1
		for i in range(n):
			if a[i] % 2 == 0:
				e += 1
			else:
				o += 1
		if e % 2 == 0 and o % 2 == 0:
			print('YES')
		else:
			f = 0
			for i in range(0, adj + 1):
				if (e - i) % 2 == 0 and (o - i) % 2 == 0:
					f = 1
					break
			if f == 1:
				print('YES')
			else:
				print('NO')
py2 = round(0.5)
if py2:
	from future_builtins import ascii, filter, hex, map, oct, zip
	range = xrange
import os, sys
from io import IOBase, BytesIO
BUFSIZE = 8192

class FastIO(BytesIO):
	newlines = 0

	def __init__(self, file):
		self._file = file
		self._fd = file.fileno()
		self.writable = 'x' in file.mode or 'w' in file.mode
		self.write = super(FastIO, self).write if self.writable else None

	def _fill(self):
		s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
		self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
		return s

	def read(self):
		while self._fill():
			pass
		return super(FastIO, self).read()

	def readline(self):
		while self.newlines == 0:
			s = self._fill()
			self.newlines = s.count(b'\n') + (not s)
		self.newlines -= 1
		return super(FastIO, self).readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.getvalue())
			(self.truncate(0), self.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		if py2:
			self.write = self.buffer.write
			self.read = self.buffer.read
			self.readline = self.buffer.readline
		else:
			self.write = lambda s: self.buffer.write(s.encode('ascii'))
			self.read = lambda : self.buffer.read().decode('ascii')
			self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


for i in range(int(input())):
	n = int(input())
	s = list(map(int, input().split()))
	ch = [0, 0]
	nums1 = [0 for _ in range(101)]
	nums2 = [0 for _ in range(101)]
	for j in s:
		if j % 2 == 0:
			ch[0] += 1
			nums1[j] += 1
		else:
			ch[1] += 1
			nums2[j] += 1
	if ch[0] % 2 == 0 and ch[1] % 2 == 0:
		print('YES')
	elif ch[0] % 2 != ch[1] % 2:
		print('NO')
	else:
		am = 0
		for j in range(1, 101):
			if j == 1:
				if nums1[j] > 0 and nums2[j + 1] > 0:
					print('YES')
					am = 1
					break
			elif j == 100:
				if nums1[j] > 0 and nums2[j - 1] > 0:
					print('YES')
					am = 1
					break
			else:
				if nums1[j] > 0 and nums2[j + 1] > 0:
					print('YES')
					am = 1
					break
				if nums1[j] > 0 and nums2[j - 1] > 0:
					print('YES')
					am = 1
					break
		if am == 0:
			print('NO')


t = int(input())
for j in range(t):
	k = int(input())
	x = sorted(list(map(int, input().split())))
	a = 0
	b = 0
	z = 0
	for i in range(k):
		if i > 0 and x[i] - x[i - 1] == 1:
			z = 1
		if x[i] % 2 == 0:
			a += 1
		else:
			b += 1
		r = 'NO'
		if a % 2 == 0 and b % 2 == 0:
			r = 'YES'
		elif z == 1:
			r = 'YES'
	print(r)


t = int(input())
for tc in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	for num in arr:
		if num % 2 == 1:
			odd.append(num)
		else:
			even.append(num)
	if len(odd) % 2 == 0:
		print('YES')
		continue
	else:
		match = False
		for onum in odd:
			for enum in even:
				if abs(onum - enum) == 1:
					match = True
		if match:
			print('YES')
		else:
			print('NO')


t = int(input())

def solve():
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	even = []
	odd = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		for i in even:
			if i - 1 in odd or i + 1 in odd:
				print('YES')
				break
		else:
			print('NO')
for i in range(t):
	solve()


for _ in range(int(input())):
	n = int(input())
	ls = sorted([int(x) for x in input().split()])
	cnt = 0
	for i in ls:
		if i % 2 == 0:
			cnt += 1
	if cnt % 2 == 0:
		print('YES')
	else:
		f = 1
		for i in range(n - 1):
			if ls[i + 1] - ls[i] == 1:
				f = 0
				print('YES')
				break
		if f == 1:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	li = list(map(int, input().split()))
	d = {0: 0, 1: 0}
	ar = li[:]
	ar.sort()
	c = 0
	for i in range(n):
		li[i] = li[i] % 2
	for i in li:
		d[i] += 1
	if n % 2 == 0:
		if d[0] == n:
			print('YES')
		elif d[1] == n:
			print('YES')
		elif d[0] % 2 == 1 and d[1] % 2 == 1:
			for i in range(1, n):
				if ar[i] - ar[i - 1] == 1:
					c = 1
					break
			if c == 1:
				print('YES')
			else:
				print('NO')
		elif d[0] % 2 == 0 and d[1] % 2 == 0:
			print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	even = 0
	odd = 0
	for num in a:
		if num % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('Yes')
	else:
		a.sort()
		valid = False
		for i in range(n - 1):
			if abs(a[i] - a[i + 1]) == 1:
				valid = True
				print('Yes')
				break
		if not valid:
			print('NO')


import sys
from collections import defaultdict as dd
import heapq
import math
try:
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
except:
	pass
input = sys.stdin.readline
for i in range(int(input())):
	q = int(input())
	w = sorted(list(map(int, input().split())))
	d = 0
	i = 0
	o = 0
	e = 0
	while i < q:
		if i < q - 1 and w[i + 1] == w[i] + 1:
			d += 1
			i += 1
		elif w[i] % 2 == 0:
			e += 1
		else:
			o += 1
		i += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif d > 0:
		print('YES')
	else:
		print('NO')


def similar(a):
	even = 0
	odd = 0
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
	else:
		f = 0
		for j in range(len(a)):
			for k in range(j, len(a)):
				if a[j] - a[k] == 1 or a[k] - a[j] == 1:
					f = 1
					break
			if f == 1:
				break
		if f == 1:
			print('YES')
		else:
			print('NO')
t = int(input())
i = 0
while i < t:
	n = int(input())
	a = list(map(int, input().split()))
	similar(a)
	i = i + 1


t = int(input())
for i in range(t):
	n = int(input())
	temp = list(map(int, input().split()))
	temp.sort()
	c = nc = 0
	for i in temp:
		c += 1 if i % 2 == 0 else 0
		nc += 1 if i % 2 != 0 else 0
	if c % 2 == 0 and nc % 2 == 0:
		print('YES')
	else:
		k = 0
		for i in range(len(temp)):
			if k == 1:
				break
			for j in range(i + 1, len(temp)):
				if abs(temp[i] - temp[j]) == 1:
					k = 1
					break
		if k == 1:
			print('YES')
		else:
			print('NO')


def numEven(arr):
	e = filter(lambda x: x % 2 == 0, arr)
	return len(list(e))
t = int(input())
for ti in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	e = numEven(a)
	o = n - e
	if e % 2 == 0:
		print('YES')
	else:
		found_consecutive_pair = False
		a_set = set()
		for el in a:
			a_set.add(el)
			if el - 1 in a_set or el + 1 in a_set:
				found_consecutive_pair = True
				break
		if found_consecutive_pair:
			print('YES')
		else:
			print('NO')


import math
T = int(input())
for t in range(T):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	d = []
	evod = [0, 0]
	for i in s:
		d.append(i % 2)
		evod[i % 2] += 1
	if evod[0] % 2 == 0 and evod[1] % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if abs(s[i + 1] - s[i]) == 1:
				evod[0] -= 1
				evod[1] += 1
			if evod[0] % 2 == 0:
				break
		if evod[1] % 2 == 0 and evod[0] % 2 == 0:
			print('YES')
		else:
			print('NO')


def solve(a):
	even = 0
	odd = 0
	for num in a:
		if num % 2 == 1:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		return 'YES'
	a.sort()
	diff1 = 0
	prev_diff1 = False
	for i in range(1, len(a)):
		if prev_diff1:
			prev_diff1 = False
		elif a[i] - a[i - 1] == 1:
			diff1 += 1
			prev_diff1 = True
	if diff1 > 0:
		return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	a = [int(p) for p in input().split()]
	print(solve(a))


def main():
	for _ in range(int(input())):
		n = int(input())
		lst = list(map(int, input().split()))
		lst = sorted(lst)
		cnt = [0, 0, 0]
		cnt[lst[0] % 2] += 1
		for i in range(len(lst) - 1):
			cnt[lst[i + 1] % 2] += 1
			if lst[i + 1] - lst[i] == 1:
				cnt[2] += 1
		if cnt[0] % 2 == 0 and cnt[1] % 2 == 0:
			print('YES')
		elif cnt[0] % 2 == 1 and cnt[1] % 2 == 1 and (cnt[2] >= 1):
			print('YES')
		else:
			print('NO')
main()


from sys import stdin
input = stdin.readline
for _ in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort(reverse=True)
	p = a[0]
	m = p % 2
	o = False
	for e in a[1:]:
		if p - e == 1:
			o = True
		m += e % 2
		p = e
	print('YES' if m % 2 == 0 or o else 'NO')


for _ in range(int(input())):
	n = int(input())
	lst = list(map(int, input().split()))
	lst.sort()
	neighbor = False
	even = 0 if lst[-1] & 1 else 1
	odd = 0 if lst[-1] % 2 == 0 else 1
	res = False
	for i in range(len(lst) - 1):
		if lst[i] & 1:
			odd += 1
		else:
			even += 1
		if lst[i + 1] - lst[i] == 1:
			neighbor += 1
	if odd % 2 != even % 2:
		res = False
	elif even % 2 == 0:
		res = True
	elif neighbor:
		res = True
	print('YES' if res else 'NO')


def solve(n, arr):
	even = set()
	odd = set()
	(cnt1, cnt2) = (0, 0)
	for val in arr:
		if val % 2 == 0:
			even.add(val)
			cnt1 += 1
		else:
			odd.add(val)
			cnt2 += 1
	if cnt1 % 2 == 0:
		print('YES')
		return
	for val in even:
		if val - 1 in odd or val + 1 in odd:
			print('YES')
			return
	print('NO')
	return
t = int(input())
for i in range(0, t):
	n = int(input())
	arr = list(map(int, input().split()))
	solve(n, arr)


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	e = 0
	o = 0
	e1 = []
	o1 = []
	for j in range(n):
		if a[j] % 2 == 0:
			e = e + 1
			e1.append(a[j])
		else:
			o = o + 1
			o1.append(a[j])
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 != 0 and o % 2 != 0:
		for j in range(e):
			if e1[j] + 1 in o1 or e1[j] - 1 in o1:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	x = 0
	for i in range(n):
		if l[i] % 2 == 0:
			x += 1
	if x % 2 == 0:
		print('YES')
	else:
		y = 0
		for i in l:
			if i % 2 != 0 and (i + 1 in l or i - 1 in l):
				print('YES')
				break
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	k = 0
	l = 0
	for i in s:
		if i % 2 == 0:
			l += 1
		else:
			k += 1
	if l % 2 == 0 and k % 2 == 0:
		print('YES')
	else:
		pair_exists = False
		for i in range(1, len(s)):
			if s[i] - s[i - 1] == 1:
				pair_exists = True
				break
		if pair_exists:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	in1 = [*map(int, input().split())]
	in1.sort()
	cnt1 = [0] * 2
	flag1 = 0
	for i in range(n):
		cnt1[in1[i] % 2] += 1
		if i != 0:
			if in1[i] - in1[i - 1] == 1:
				flag1 = 1
	if cnt1[0] % 2 == 0 or flag1 == 1:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	flg = False
	evens = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			flg = True
		if a[i] % 2 == 0:
			evens += 1
		if a[-1] % 2 == 0:
			evens += 1
	if evens % 2 == 0 or flg:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	ch = 0
	z = 10 ** 15
	a = int(input())
	s = list(map(int, input().split()))
	s.sort()
	for p in range(len(s) - 1):
		u = s[p + 1] - s[p]
		if u % 2 != 0:
			z = min(u, z)
	for p in range(len(s)):
		if s[p] % 2 == 0:
			ch += 1
	if ch % 2 == 0:
		print('YES')
	elif z == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for j in range(t):
	n = int(input())
	array = sorted(list(map(int, input().split())))
	(e, o, one) = (0, 0, 0)
	for i in range(n):
		if i == 0:
			if array[i] % 2 == 1:
				o += 1
			else:
				e += 1
		else:
			d = array[i] - array[i - 1]
			if d == 1:
				one += 1
			if array[i] % 2 == 1:
				o += 1
			else:
				e += 1
	if o % 2 == 0:
		print('YES')
	elif one >= 1:
		print('YES')
	else:
		print('NO')


def f(arr):
	ev = set()
	od = set()
	ev_c = 0
	od_c = 0
	for i in arr:
		if i % 2 == 0:
			ev_c += 1
			ev.add(i)
		else:
			od_c += 1
			od.add(i)
	if ev_c % 2 == 0 and od_c % 2 == 0:
		print('YES')
		return
	for i in od:
		for j in ev:
			if abs(i - j) == 1:
				print('YES')
				return
	print('NO')
	return
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	f(arr)


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = even = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 != odd % 2:
		print('NO')
		c = 1
	elif even % 2 == 0 and odd % 2 == 0:
		print('YES')
		c = 1
	else:
		c = 0
		for i in range(0, n):
			for j in range(i + 1, n):
				if abs(arr[i] - arr[j]) == 1:
					print('YES')
					c = 1
					break
			if c == 1:
				break
	if c == 0:
		print('NO')


tests = int(input())

def get_input():
	n = int(input())
	even = []
	odd = []
	temp = list(map(int, input().split()))
	for i in temp:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
		return
	else:
		even.sort()
		odd.sort()
		for i in even:
			for j in odd:
				if i - j == 1 or j - i == 1:
					print('YES')
					return
		print('NO')
for i in range(tests):
	get_input()


def read_int():
	return int(input())

def read_string_array():
	for s in input().split():
		yield s

def read_int_array():
	for s in read_string_array():
		yield int(s)

def read_line():
	return input()

def solve(a):
	a = sorted(a)
	n = len(a)
	evens = [_ for _ in a if _ & 1]
	odds = [_ for _ in a if not _ & 1]
	ones = [(a[i], a[i + 1]) for i in range(n - 1) if a[i + 1] - a[i] == 1]
	if len(evens) & 1 and len(odds) & 1:
		if ones:
			return 'YES'
		else:
			return 'NO'
	else:
		return 'YES'
T = read_int()
for _ in range(T):
	N = read_int()
	A = read_int_array()
	print(solve(A))


from sys import stdin, stdout
from sys import maxsize
input = stdin.readline

def solve():
	pass
test = 1
test = int(input().strip())
for t in range(0, test):
	n = int(input().strip())
	a = [int(x) for x in input().strip().split()]
	ev = 0
	od = 0
	for el in a:
		if el % 2 == 0:
			ev += 1
		else:
			od += 1
	if ev % 2 == 0:
		print('YES')
	else:
		a.sort()
		flag = False
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				flag = True
		if flag:
			print('YES')
		else:
			print('NO')
	ans = solve()


import sys
t = int(sys.stdin.readline())
for _ in range(t):
	n = int(sys.stdin.readline())
	A = sorted(map(int, sys.stdin.readline().split()))
	has_adj = False
	num_odds = 0
	for i in range(n - 1):
		if A[i] + 1 == A[i + 1]:
			has_adj = True
			break
	for a in A:
		if a % 2 == 1:
			num_odds += 1
	print('YES' if num_odds % 2 == 0 or has_adj else 'NO')


for i in range(int(input())):
	n = int(input())
	a = [int(i) for i in input().split()]
	s = sorted(a)
	i = 0
	x = 0
	while i < len(s) - 1:
		if s[i + 1] - s[i] == 1:
			x += 1
			i += 2
		else:
			i += 1
	e = 0
	o = 0
	for i in s:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if n % 2 != 0:
		print('NO')
	elif e % 2 == 0 and o % 2 == 0 or (e % 2 == 1 and o % 2 == 1 and (x > 0)):
		print('YES')
	else:
		print('NO')


def sol(arr, n):
	even = 0
	odd = 0
	evens = {}
	odds = {}
	for i in arr:
		if i & 1 == 1:
			odd += 1
			odds[i] = 1
		else:
			even += 1
			evens[i] = 1
	if even % 2 == 0:
		return 'YES'
	for i in odds:
		if evens.get(i + 1) or evens.get(i - 1):
			return 'YES'
	return 'NO'
t = int(input())
for _ in range(t):
	n = int(input())
	ar = list(map(int, input().rstrip().split()))
	print(sol(ar, n))


import sys
INT_MAX = sys.maxsize
INT_MIN = -sys.maxsize - 1
mod = 1000000007

def solve():
	t = int(sys.stdin.readline())
	for _ in range(t):
		n = int(sys.stdin.readline())
		a = list(map(int, sys.stdin.readline().split()))
		(odd, even) = ([], [])
		for i in a:
			if i & 1:
				odd.append(i)
			else:
				even.append(i)
		if len(odd) % 2 == 0 and len(even) % 2 == 0:
			print('YES')
		elif len(odd) & 1 and len(even) & 1:
			for i in odd:
				if i + 1 in even or i - 1 in even:
					print('YES')
					break
			else:
				print('NO')
		else:
			print('NO')
solve()


for i in range(int(input())):
	num = int(input())
	total = input().split()
	yes = 'No'
	odds = 0
	for i in total:
		if int(i) % 2:
			odds += 1
	if odds % 2 == 0:
		print('YES')
	else:
		temp = []
		for i in total:
			temp.append(int(i))
		total = sorted(temp)
		del temp
		for i in range(1, len(total)):
			if abs(total[i] - total[i - 1]) == 1:
				yes = 'YES'
				break
		print(yes)


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	odds = 0
	for i in a:
		if i % 2 != 0:
			odds += 1
	if odds % 2 == 0:
		print('YES')
	else:
		a.sort()
		consecutive = 0
		check = False
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				consecutive += 1
				odds -= 1
				if odds % 2 == 0:
					check = True
					break
		if check:
			print('YES')
		else:
			print('NO')


import math
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(c, d) = (0, 0)
	for i in range(n):
		if a[i] % 2 == 0:
			c = c + 1
		else:
			d = d + 1
	if c % 2 == 0 and d % 2 == 0:
		print('YES')
	else:
		u = True
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				u = False
				break
		if u:
			print('NO')
		else:
			print('YES')


import sys
t = int(input())
while t > 0:
	n = input()
	arr = [int(x) for x in input().split()]
	arr.sort()
	min_diff = sys.maxsize
	even = []
	odd = []
	for i in range(len(arr)):
		if arr[i] % 2 == 0:
			even.append(arr[i])
		else:
			odd.append(arr[i])
	o = len(odd)
	e = len(even)
	if o == 1 and e == 1:
		if abs(odd[0] - even[0]) == 1:
			print('YES')
		else:
			print('NO')
	elif o % 2 != 0 and e % 2 != 0:
		eve = set(even)
		od = set(odd)
		flag = False
		for i in odd:
			if i + 1 in eve or i - 1 in eve:
				print('YES')
				flag = True
				break
		if flag == False:
			print('NO')
	else:
		print('YES')
	t -= 1


import math

class Solution:

	def __init__(self):
		self.n = int(input())
		self.a = sorted(list(map(int, input().strip().split())))

	def solution(self):
		odds = sum((x % 2 for x in self.a))
		if odds % 2 == 1:
			if any((x + 1 in self.a for x in self.a)):
				print('YES')
			else:
				print('NO')
		else:
			print('YES')
for _ in range(int(input())):
	ob = Solution()
	ob.solution()


import sys
file_name = ''
if file_name:
	f = open(file_name, 'r')
else:
	f = sys.stdin
line = f.readline()
q = int(line)
for _ in range(q):
	line = f.readline()
	n = int(line)
	line = f.readline()
	l = [int(x) for x in line.split()]
	l.sort()
	even = 0
	odd = 0
	neighbours = 0
	for x in l:
		if x % 2 == 0:
			even += 1
		else:
			odd += 1
	for i in range(1, len(l)):
		if l[i] - l[i - 1] == 1:
			neighbours += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 1 and odd % 2 == 1 and (neighbours != 0):
		print('YES')
	else:
		print('NO')


arrays = int(input())
answers = []
for array in range(arrays):
	num = int(input())
	lista = list(map(int, input().split()))
	pares = []
	impares = []
	for elemento in lista:
		if elemento % 2 == 0:
			pares.append(elemento)
		else:
			impares.append(elemento)
	if len(pares) % 2 == 0 and len(impares) % 2 == 0:
		answers.append('YES')
	else:
		dif = 0
		for par in pares:
			for impar in impares:
				dif = abs(par - impar)
				if dif == 1:
					break
			if dif == 1:
				answers.append('YES')
				break
		if dif != 1:
			answers.append('NO')
for answer in answers:
	print(answer)


import sys
t = int(input())
while t:
	t -= 1
	n = int(input())
	a = sorted(list(map(int, input().split())))
	check = 0
	ec = 0
	for i in range(n - 1):
		if check == 0 and a[i] % 2 != a[i + 1] % 2:
			if abs(a[i] - a[i + 1]) == 1:
				check = 1
		if a[i] % 2 == 0:
			ec += 1
	if a[n - 1] % 2 == 0:
		ec += 1
	if check == 1 or ec % 2 == 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	even = []
	odd = []
	for elem in a:
		if elem % 2 == 0:
			even.append(elem)
		else:
			odd.append(elem)
	if len(odd) % 2 == 0:
		print('YES')
	else:
		f = 0
		even = set(even)
		for elem in odd:
			if elem - 1 in even or elem + 1 in even:
				f = 1
				break
		if f:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(0, t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = {}
	odd = {}
	evenAr = []
	oddAr = []
	links = 0
	for i in range(0, n):
		element = a[i]
		if element % 2 == 0:
			if element in even:
				even[element] += 1
			else:
				even[element] = 1
			evenAr.append(element)
			if element - 1 in odd:
				links += 1
				odd[element - 1] -= 1
				if odd[element - 1] == 0:
					del odd[element - 1]
		else:
			if element in odd:
				odd[element] += 1
			else:
				odd[element] = 1
			oddAr.append(element)
			if element - 1 in even:
				links += 1
				even[element - 1] -= 1
				if even[element - 1] == 0:
					del even[element - 1]
	if len(oddAr) % 2 == 0 and len(evenAr) % 2 == 0:
		print('YES')
	elif links == 0:
		print('NO')
	else:
		print('YES')


t = int(input())
i = 0
while i < t:
	n = int(input())
	arr = list(map(int, input().split()))
	even = []
	odd = []
	for x in arr:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(odd) % 2 != 0:
		for x in odd:
			if x - 1 in arr:
				print('YES')
				break
			elif x + 1 in arr:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')
	i = i + 1


for _ in range(int(input())):
	n = int(input())
	s = list(map(int, input().split()))
	odd = even = 0
	s.sort()
	for i in range(n):
		if s[i] % 2:
			odd += 1
		else:
			even += 1
	pair = 0
	for i in range(1, n):
		if s[i] - s[i - 1] == 1:
			pair += 1
	if odd % 2 == 0 and even % 2 == 0 or (even % 2 == odd % 2 == 1 and pair):
		print('YES')
	else:
		print('NO')


t = int(input(''))
for i in range(0, t):
	n = int(input(''))
	a = input('').split()
	a = [int(q) for q in a]
	a.sort()
	var = 0
	aEven = 0
	aOdd = 0
	for k in range(0, n - 1):
		if a[k] + 1 == a[k + 1]:
			var += 1
	for k in range(0, n):
		if a[k] % 2 == 0:
			aEven += 1
		else:
			aOdd += 1
	aEven -= var
	aOdd -= var
	if aEven % 2 == 0 and aOdd % 2 == 0:
		print('YES')
	elif aEven % 2 != 0 and aOdd % 2 != 0 and (var != 0):
		print('YES')
	else:
		print('NO')


T = int(input())
for _ in range(T):
	n = int(input())
	aa = list(map(int, input().split()))
	evens = 0
	odds = 0
	aa.sort()
	ba = -100
	cnt = 0
	for a in aa:
		if a % 2 == 0:
			evens += 1
		else:
			odds += 1
		if abs(a - ba) == 1:
			cnt += 1
			ba = -100
		else:
			ba = a
	evens %= 2
	odds %= 2
	if evens == 0 and odds == 0:
		print('YES')
	elif cnt >= 1:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline
from collections import *
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	e = 0
	for ai in a:
		if ai % 2 == 0:
			e += 1
	a.sort()
	flag = False
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			flag = True
	if e % 2 == 0:
		print('YES')
	elif flag:
		print('YES')
	else:
		print('NO')


def even_odd(even, odd):
	k = [1 if abs(i - j) == 1 else 0 for i in odd for j in even]
	return k
for i in range(int(input())):
	n = int(input())
	array = sorted(list(map(int, input().split())))
	even = []
	odd = []
	for i in array:
		if i % 2:
			odd.append(i)
		else:
			even.append(i)
	if len(odd) % 2 == 1:
		k = even_odd(even, odd)
		if any(k) is True:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


import math
t = int(input())
for _ in range(t):
	n = int(input())
	odd_lst = []
	even_lst = []
	int_list = list(map(int, input().split()))
	for x in int_list:
		if x % 2 == 0:
			even_lst.append(x)
		else:
			odd_lst.append(x)
	n1 = len(odd_lst)
	n2 = len(even_lst)
	if n1 % 2 == 0 and n2 % 2 == 0:
		print('YES')
	else:
		flag = 0
		for o in odd_lst:
			for e in even_lst:
				if o == e + 1 or o == e - 1:
					print('YES')
					flag = 1
					break
			if flag == 1:
				break
		if flag == 0:
			print('NO')


import sys
t = int(input())
for i in range(t):
	n = int(input())
	a = []
	odd = 0
	even = 0
	arg = input().split(' ')
	for j in range(n):
		tmp = int(arg[j])
		if tmp % 2 == 0:
			even += 1
		else:
			odd += 1
		a.append(tmp)
	if even % 2 == 0:
		print('YES')
		continue
	a.sort()
	flag = 0
	for j in range(1, n):
		if a[j] - a[j - 1] == 1:
			flag = 1
			break
	if flag == 1:
		print('YES')
	else:
		print('NO')


def solve(n, A):
	A = sorted(A)
	assert n % 2 == 0
	n_even = sum((a % 2 == 0 for a in A))
	n_odd = sum((a % 2 != 0 for a in A))
	assert n == n_even + n_odd
	if n_even % 2 == 0 and n_odd % 2 == 0:
		return 'YES'
	assert n_even % 2 != 0 and n_odd % 2 != 0
	for i in range(0, n - 1):
		if A[i + 1] - A[i] == 1:
			return 'YES'
	return 'NO'

def main():
	T = int(input())
	for _ in range(T):
		n = int(input())
		A = list(map(int, input().split()))
		print(solve(n, A))
main()


t = int(input())
for t_ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	(even, odd) = (0, 0)
	for num in arr:
		if num % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		chk = 0
		for i in range(n - 1):
			if arr[i] + 1 == arr[i + 1]:
				chk = 1
				break
		if chk:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	numbers = list(map(int, input().split()))
	numbers.sort()
	even = 0
	odd = 0
	flag = 0
	if numbers[-1] % 2 == 0:
		even += 1
	else:
		odd += 1
	for i in range(n - 1):
		if numbers[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if flag == 0:
			if numbers[i + 1] - numbers[i] == 1:
				flag = 1
	if even % 2 == 0:
		print('YES')
	elif flag == 1:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	a = int(input())
	b = sorted(list(map(int, input().split())))
	even = 0
	odd = 0
	flag = False
	for j in b:
		if j % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	for j in range(0, a - 1):
		if b[j + 1] - b[j] == 1:
			flag = True
			break
	if flag:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	c = d = f = 0
	for i in range(n):
		if l[i] % 2 == 0:
			c += 1
		else:
			d += 1
	for i in range(n - 1):
		if l[i + 1] - l[i] == 1:
			f += 1
			i += 1
	if f + c // 2 + d // 2 >= n // 2:
		print('YES')
	else:
		print('NO')


import sys
t = int(sys.stdin.readline())
for _ in range(t):
	n = int(sys.stdin.readline())
	l = list(map(int, sys.stdin.readline().split()))
	p = []
	u = []
	mapi = {}
	for num in l:
		if mapi.get(num):
			mapi[num] += 1
		else:
			mapi[num] = 1
		if num % 2 == 0:
			p.append(num)
		else:
			u.append(num)
	if len(p) % 2 == 0 and len(u) % 2 == 0:
		print('YES')
	else:
		founded = False
		for num in l:
			if mapi.get(num + 1) or mapi.get(num - 1):
				founded = True
				break
		if founded:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	o = 0
	e = 0
	for i in range(n):
		if l[i] % 2 == 1:
			o += 1
		else:
			e += 1
	if o % 2 == 0:
		print('YES')
	else:
		l.sort()
		a = []
		for i in range(1, n):
			a.append(l[i] - l[i - 1])
		if a.count(1) > 0:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = 0
	odd_a = []
	even_a = []
	even = 0
	for i in a:
		if i % 2 == 0:
			even += 1
			even_a.append(i)
		else:
			odd += 1
			odd_a.append(i)
	odd = odd % 2
	even = even % 2
	if odd + even == 1:
		print('NO')
		continue
	if odd + even == 0:
		print('YES')
		continue
	ok = False
	if odd + even == 2:
		for j in odd_a:
			for k in even_a:
				if abs(j - k) == 1:
					ok = True
		if ok:
			print('YES')
		else:
			print('NO')


import math
for case in range(int(input())):
	n = int(input())
	a = input().split(' ')
	numeven = 0
	for i in range(n):
		a[i] = int(a[i])
		if a[i] % 2 == 0:
			numeven = numeven + 1
	numodd = n - numeven
	ans = -1
	if numeven % 2 != 0:
		if numodd % 2 != 0:
			for i in a:
				if i + 1 in a or i - 1 in a:
					ans = 1
					break
	elif numodd % 2 == 0:
		ans = 1
	if ans == 1:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
input = stdin.readline

def print(x):
	stdout.write(str(x) + '\n')
mod = 10 ** 9 + 7

def solve():
	n = int(input())
	l = list(map(int, input().split()))
	(odd, even) = (0, 0)
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	l.sort()
	cnt = 0
	for i in range(n - 1):
		if l[i + 1] - l[i] == 1:
			cnt += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif cnt != 0:
		print('YES')
	else:
		print('NO')
t = 1
t = int(input())
for _ in range(t):
	solve()


T = int(input())
while T != 0:
	n = int(input())
	T -= 1
	nums = list(map(int, input().split()))
	nums = sorted(nums)
	number_even = [i for i in nums if i % 2 == 0]
	number_odd = [i for i in nums if i % 2 == 1]
	if len(number_even) % 2 == 0 and len(number_odd) % 2 == 0:
		print('YES')
		continue
	if len(nums) == 2:
		if nums[0] % 2 == nums[1] % 2:
			print('YES')
			continue
		if nums[0] == nums[1] + 1 or nums[0] == nums[1] - 1:
			print('YES')
			continue
		else:
			print('NO')
			continue
	soln = False
	times_gone_through = 0
	while len(number_even) % 2 != 0 and len(number_odd) != 0 and (times_gone_through != 5):
		times_gone_through += 1
		if len(number_even) > len(number_odd):
			for i in number_even:
				if i - 1 in number_odd:
					number_odd.remove(i - 1)
					number_even.append(i - 1)
				elif i + 1 in number_odd:
					number_odd.remove(i + 1)
					number_even.append(i + 1)
				if len(number_even) % 2 == 0 and len(number_odd) % 2 == 0:
					print('YES')
					soln = True
					break
		else:
			for i in number_odd:
				if i - 1 in number_even:
					number_even.remove(i - 1)
					number_odd.append(i - 1)
				elif i + 1 in number_even:
					number_even.remove(i + 1)
					number_odd.append(i + 1)
				if len(number_even) % 2 == 0 and len(number_odd) % 2 == 0:
					print('YES')
					soln = True
					break
	if soln:
		continue
	print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	al = list(map(int, input().split()))
	al.sort()
	ec = 0
	onec = 0
	oc = 0
	for i in range(n):
		if al[i] % 2 == 0:
			ec += 1
		else:
			oc += 1
		if i != n - 1:
			if al[i + 1] - al[i] == 1:
				onec += 1
	if ec % 2 == 0:
		print('YES')
		continue
	if onec > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	l = list([int(x) for x in input().split()])
	odd = []
	even = []
	for j in range(n):
		if l[j] % 2 == 0:
			even.append(l[j])
		else:
			odd.append(l[j])
	odd.sort()
	even.sort()
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		c = 0
		for i in even:
			if i - 1 in odd or i + 1 in odd:
				c = 1
				break
		if c == 1:
			print('YES')
		else:
			print('NO')


import math
t = int(input())
while t != 0:
	n = int(input())
	ar = list(map(int, input().strip().split()))
	even = []
	odd = []
	for i in ar:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		win = False
		for i in even:
			for j in odd:
				if abs(i - j) == 1:
					win = True
					break
			if win == True:
				break
		if win == True:
			print('YES')
		else:
			print('NO')
	t -= 1


def g(a):
	b = list(filter(lambda p: p % 2 == 0, a))
	if len(b) % 2 == 0:
		return 'YES'
	else:
		b = sorted(a)
		for i in range(1, len(a)):
			if b[i] - b[i - 1] == 1:
				return 'YES'
		return 'NO'
n = int(input())
for i in range(n):
	x = int(input())
	a = list(map(int, input().split()))
	print(g(a))


test = int(input())
for t in range(test):
	n = int(input())
	arr = input().split()
	odd = 0
	even = 0
	pair = 0
	arr.sort(key=int)
	for i in arr:
		if int(i) % 2 == 0:
			even += 1
		elif int(i) % 2 != 0:
			odd += 1
	for i in range(n - 1):
		if int(arr[i + 1]) - int(arr[i]) == 1:
			pair += 1
	if even % 2 == 0:
		print('YES')
	elif odd % 2 != 0:
		if pair >= 1:
			print('YES')
		elif pair == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	e = 0
	o = 0
	for i in a:
		if i % 2:
			o += 1
		else:
			e += 1
	ans = 'NO'
	if e % 2 + o % 2 == 0:
		print('YES')
	elif e % 2 + o % 2 == 1:
		print('NO')
	else:
		a.sort()
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				ans = 'YES'
				break
		print(ans)


from collections import defaultdict as dd
import math
import sys

def nn():
	return int(input())

def li():
	return list(input())

def mi():
	return map(int, input().split())

def lm():
	return list(map(int, input().split()))
q = nn()
for _ in range(q):
	n = nn()
	nums = lm()
	nums.sort()
	odds = 0
	evens = 0
	diffbyone = False
	for i in range(n - 1):
		if nums[i] + 1 == nums[i + 1]:
			diffbyone = True
	for num in nums:
		if num % 2 == 0:
			evens += 1
		else:
			odds += 1
	if evens % 2 == 0 or diffbyone:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	odd = []
	even = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	cnt1 = len(odd)
	cnt2 = len(even)
	flag = 0
	if cnt1 % 2 == 0:
		print('YES')
		flag = 1
	else:
		a = sorted(a)
		for i in range(1, n):
			if abs(a[i] - a[i - 1]) == 1:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	even = []
	odd = []
	for item in a:
		if item % 2 == 0:
			even.append(item)
		else:
			odd.append(item)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for item in odd:
			if item + 1 in even or item - 1 in even:
				flag = 1
		for item in even:
			if item + 1 in odd or item - 1 in odd:
				flag = 1
		if flag == 0:
			print('NO')
		else:
			print('YES')


import math
for q in range(int(input())):
	n = input()
	n = int(n)
	a = list(map(int, input().split()))
	a.sort()
	c = 0
	s = 0
	for i in a:
		if i % 2 == 0:
			s += 1
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			c += 1
	if s % 2 == 0 or c > 0:
		print('YES')
	else:
		print('NO')


import sys
sys.setrecursionlimit(10000000)
MOD = 10 ** 9 + 7
INF = 10 ** 15

def main():
	T = int(input())
	for _ in range(T):
		N = int(input())
		A = list(map(int, input().split()))
		even = [a for a in A if a % 2 == 0]
		odd = [a for a in A if a % 2 == 1]
		if len(even) % 2 == 0 and len(odd) % 2 == 0:
			print('YES')
		else:
			flag = False
			for a in even:
				for b in odd:
					if abs(b - a) == 1:
						flag = True
						break
				if flag:
					break
			print('YES' if flag else 'NO')
main()


n = int(input())
for i in range(n):
	m = int(input())
	a = list(map(int, input().split()))
	a.sort()
	ev = 0
	odd = 0
	cnt1 = 0
	cnt2 = 0
	for j in range(m):
		r = a[j]
		if j + 1 < m:
			d = a[j + 1]
			if a[j + 1] - a[j] == 1:
				cnt2 += 1
		if a[j] % 2 == 0:
			ev += 1
		else:
			odd += 1
		if ev % 2 == 0 and ev > 1:
			cnt1 += 1
			ev = 0
		if odd % 2 == 0 and odd > 1:
			cnt1 += 1
			odd = 0
	if cnt1 == m // 2 or cnt2 == m // 2:
		print('YES')
	elif cnt1 + cnt2 >= m // 2:
		print('YES')
	else:
		print('NO')


t = int(input())

def max(x, y):
	if x > y:
		return x
	else:
		return y
for i in range(0, t):
	n = int(input())
	l = input()
	l = l.split()
	zeros = 0
	ones = 0
	boo = []
	for j in range(0, n):
		l[j] = int(l[j])
		if l[j] % 2 == 0:
			zeros += 1
			boo.append(0)
		else:
			ones += 1
			boo.append(1)
	done = 0
	if max(ones, zeros) % 2 != 0:
		for j in range(0, n):
			if done != 1:
				for k in range(0, n):
					if done != 1:
						if l[j] - l[k] == 1 or l[j] - l[k] == -1:
							if done != 1:
								boo[j] = None
								boo[k] = None
								ones -= 1
								zeros -= 1
								done = 1
	for jj in range(0, n):
		if boo[jj] != None:
			for kk in range(0, n):
				if jj != kk:
					if boo[kk] != None:
						if boo[jj] == 1 and boo[kk] == 1:
							boo[jj] = None
							boo[kk] = None
							ones -= 2
						if boo[jj] == 0 and boo[kk] == 0:
							boo[jj] = None
							boo[kk] = None
							zeros -= 2
	if 1 in boo or 0 in boo:
		print('NO')
	else:
		print('YES')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	e = []
	o = []
	for i in a:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(n - 1):
			x = a[i + 1] - a[i]
			if x == 1:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


def solve():
	n = int(input())
	a = [int(i) for i in input().split(' ')]
	a.sort()
	evn = 0
	odd = 0
	for i in range(n):
		evn += 1 - a[i] % 2
		odd += a[i] % 2
	for i in range(n - 1):
		if odd % 2 == 0 and evn % 2 == 0:
			return 'YES'
		if a[i + 1] - a[i] == 1:
			evn -= 1
			odd -= 1
	if odd % 2 == 0 and evn % 2 == 0:
		return 'YES'
	else:
		return 'NO'
for t in range(int(input())):
	print(solve())


t = int(input())
for k in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	ch = 0
	nech = 0
	posl = 0
	for i in range(n):
		if A[i] % 2 == 0:
			ch += 1
		else:
			nech += 1
		if i != n - 1 and A[i] + 1 == A[i + 1]:
			posl += 1
	if ch % 2 == 0 and nech % 2 == 0:
		print('YES')
	elif ch % 2 != 0 and nech % 2 != 0 and (posl > 0):
		print('YES')
	else:
		print('NO')


def solve(nums):
	parity = [[], []]
	for n in nums:
		parity[n % 2].append(n)
	if len(parity[0]) % 2 == 0:
		return 'YES'
	for n in parity[0]:
		if n + 1 in parity[1] or n - 1 in parity[1]:
			return 'YES'
	return 'NO'
for _ in range(int(input())):
	n = int(input())
	nums = list(map(int, input().split()))
	print(solve(nums))


def paring(even: list, odd: list):
	for i in range(len(odd)):
		for j in range(len(even)):
			if abs(odd[i] - even[j]) == 1:
				return 'YES'
	return 'NO'
for z in range(int(input())):
	n = int(input())
	start = list(map(int, input().split()))
	even = []
	odd = []
	for i in start:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		print(paring(even, odd))


from collections import defaultdict
t = int(input())
for i in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	freq = defaultdict(bool)
	odd = []
	even = []
	for i in range(n):
		if arr[i] % 2 == 1:
			odd.append(arr[i])
		else:
			even.append(arr[i])
		freq[arr[i]] = True
	flag = False
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		flag = True
	else:
		for i in range(len(odd)):
			if freq[odd[i] + 1] or freq[odd[i] - 1]:
				flag = True
				break
	if flag:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	input()
	arr = [int(x) for x in input().split()]
	list.sort(arr)
	arrr = [arr[i + 1] - arr[i] for i in range(len(arr) - 1)]
	count = sum([item % 2 == 0 for item in arr])
	if count % 2 == 0 or 1 in arrr:
		print('YES')
	else:
		print('NO')


T = int(input())
while T > 0:
	n = int(input())
	arr = list(map(int, input().split()))
	ones = 0
	zeros = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			zeros += 1
		else:
			ones += 1
	if zeros % 2 == 0:
		print('YES')
	else:
		index = 1
		arr.sort()
		form = False
		while index < n:
			if arr[index] == arr[index - 1] + 1:
				form = True
				break
			else:
				index += 1
		if form is True:
			print('YES')
		else:
			print('NO')
	T -= 1


import math

def main():
	n = int(input())
	nums = [int(x) for x in input().split()]
	(a, b) = ([], [])
	for num in nums:
		if num % 2:
			a.append(num)
		else:
			b.append(num)
	if len(a) % 2 == 0:
		return True
	for num in a:
		if num + 1 in b or num - 1 in b:
			return True
	return False
t = int(input())
while t > 0:
	t -= 1
	ans = main()
	print('YES' if ans else 'NO')


import math
for z in range(int(input())):
	n = int(input())
	a = []
	inp = input().split()
	for i in range(n):
		a.append(int(inp[i]))
	a = sorted(a)
	countEve = 0
	countOdd = 0
	countSim = 0
	ans = 0
	for i in range(0, n):
		if a[i] % 2 == 0:
			countEve += 1
		if a[i] % 2 == 1:
			countOdd += 1
	if countOdd % 2 == 0 and countEve % 2 == 0:
		ans = 1
	else:
		for i in range(1, n):
			diff = a[i] - a[i - 1]
			if diff == 1:
				countSim += 1
		if countSim != 0:
			if countEve % 2 == 1 and countOdd % 2 == 1:
				ans = 1
	if ans == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	array = [int(s) for s in input().split()]
	array = sorted(array)
	chet = 0
	nechet = 0
	for i in range(len(array)):
		if array[i] % 2:
			nechet += 1
		else:
			chet += 1
	counter = 0
	for i in range(1, len(array)):
		if array[i] - array[i - 1] == 1:
			counter += 1
	if len(array) // 2 != chet // 2 + nechet // 2:
		if len(array) // 2 - chet // 2 - nechet // 2 <= counter:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


def call(arr, n):
	c = []
	u = []
	for i in arr:
		if i % 2 == 0:
			c.append(i)
		else:
			u.append(i)
	return (c, u)
t = int(input())
out = []
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	(c, u) = call(a, n)
	if len(c) % 2 == 0 and len(u) % 2 == 0:
		out.append('YES')
	else:
		ans = 'NO'
		for i in c:
			for j in u:
				if abs(i - j) == 1:
					ans = 'YES'
					break
			if ans == 'YES':
				break
		out.append(ans)
for ans in out:
	print(ans)


def answer(A, n):
	chet = 0
	for i in range(n):
		if A[i] % 2 == 0:
			chet = chet + 1
	if chet % 2 == 0:
		return 'YES'
	for i in range(n - 1):
		if A[i] + 1 == A[i + 1]:
			return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	A = [*map(int, input().split())]
	A.sort()
	print(answer(A, n))


from sys import stdin, stdout
import sys
from math import *
input = stdin.readline
for __ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	e = 0
	o = 0
	s = 0
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			s += 1
	if e % 2 == 0 and o % 2 == 0 or s == n - 1:
		print('YES')
	elif e % 2 == 1 and o % 2 == 1 and (s > 0):
		print('YES')
	else:
		print('NO')


import sys
q = int(input())
for i in range(q):
	n = int(sys.stdin.readline())
	a = [int(i) for i in sys.stdin.readline().split()]
	minrazn = 999999
	a.sort()
	ch = 0
	nch = 0
	for k in range(n):
		if k < n - 1:
			if a[k] % 2 == 0:
				ch += 1
			else:
				nch += 1
			if minrazn > a[k + 1] - a[k] and a[k + 1] != a[k]:
				minrazn = a[k + 1] - a[k]
		elif a[k] % 2 == 0:
			ch += 1
		else:
			nch += 1
	if ch % 2 == 0:
		print('YES')
	elif minrazn == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	par = [int(i) for i in input().split()]
	(even, odd) = (0, 0)
	for j in par:
		if j % 2 == 1:
			odd += 1
		else:
			even += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even != odd or (even == odd and even % 2 == 1):
		if even <= odd:
			for j in par:
				if j % 2 == 0:
					if j + 1 in par or j - 1 in par:
						print('YES')
						break
			else:
				print('NO')
		else:
			for j in par:
				if j % 2 == 1:
					if j + 1 in par or j - 1 in par:
						print('YES')
						break
			else:
				print('NO')
	else:
		print('YES')


import sys
input = sys.stdin.buffer.readline
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	e = 0
	o = 0
	for i in arr:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		flag = 1
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				print('YES')
				flag = 0
				break
		if flag:
			print('NO')


for tt in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	(ev, od) = ([], [])
	for i in l:
		if i % 2 == 0:
			ev.append(i)
		else:
			od.append(i)
	if len(ev) % 2 != 0 or len(od) % 2 != 0:
		if len(ev) < len(od):
			minn = ev[:]
			maxx = od[:]
		else:
			minn = od[:]
			maxx = ev[:]
		count = 0
		for i in minn:
			for j in maxx:
				if abs(i - j) == 1:
					count = 1
					break
			if count == 1:
				break
		if count == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


def abc():
	n = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	for num in sorted(arr):
		if num % 2 == 0:
			even.append(num)
		else:
			odd.append(num)
	if len(even) % 2 == 0:
		return 'YES'
	arr.sort()
	for i in range(n - 1):
		if arr[i + 1] - arr[i] == 1:
			return 'YES'
	return 'NO'
for _ in range(int(input())):
	print(abc())


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	c = 0
	for i in range(n):
		if l[i] % 2 == 0:
			c = c + 1
	c2 = n - c
	if c % 2 == c2 % 2 == 0:
		print('YES')
	elif c % 2 == c2 % 2 == 1:
		f = 0
		for i in range(n):
			for j in range(n):
				if i == j:
					continue
				if abs(l[i] - l[j]) == 1:
					c = c - 1
					c2 = c2 - 1
					f = 1
					break
			if f == 1:
				break
		if c % 2 == 0 and c2 % 2 == 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


def evencounter(arr):
	res = 0
	for i in range(len(arr)):
		if arr[i] % 2 == 0:
			res += 1
	return res

def evencounter2(arr):
	res = 0
	for i in range(len(arr)):
		if arr2[i] == 0 and arr[i] % 2 == 0:
			res += 1
	return res

def oddcounter(arr):
	res = 0
	for i in range(len(arr)):
		if arr[i] % 2 == 1:
			res += 1
	return res

def oddcounter2(arr):
	res = 0
	for i in range(len(arr)):
		if arr2[i] == 0 and arr[i] % 2 == 1:
			res += 1
	return res

def difcal(arr):
	res = 0
	for i in range(len(arr) - 1):
		if arr[i + 1] - arr[i] == 1:
			return True
for t in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	if evencounter(arr) % 2 == 0 and oddcounter(arr) % 2 == 0:
		print('YES')
	else:
		arr.sort()
		arr2 = [0 for i in range(len(arr))]
		if difcal(arr):
			print('YES')
		else:
			print('NO')


test = int(input())
while test > 0:
	n = int(input())
	l = list(map(int, input().split(' ')))
	l.sort()
	(ev, od) = (0, 0)
	for i in l:
		if i % 2 == 0:
			ev += 1
		else:
			od += 1
	if ev % 2 == 0 and od % 2 == 0:
		print('YES')
	else:
		j = 1
		for i in range(len(l) - 1):
			if l[i + 1] - l[i] == 1:
				j -= 1
				break
		if j == 0:
			print('YES')
		else:
			print('NO')
	test -= 1


ans = []
for _ in range(int(input())):
	n = int(input())
	u = list(map(int, input().split()))
	u.sort()
	d = [0] * n
	i = 1
	cnt = 0
	while i < n:
		if u[i] == u[i - 1] + 1:
			d[i - 1] = 1
			d[i] = 1
			i += 1
			cnt += 1
		i += 1
	a0 = 0
	a1 = 0
	for i in range(n):
		if d[i] == 0:
			if u[i] % 2 == 0:
				a0 += 1
			else:
				a1 += 1
	if a0 % 2 == 0 and a1 % 2 == 0 or cnt > 0:
		ans.append('YES')
	else:
		ans.append('NO')
print('\n'.join(map(str, ans)))


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	co = 0
	ce = 0
	le = []
	lo = []
	for i in l:
		if i % 2 == 0:
			ce += 1
			le.append(i)
		else:
			co += 1
			lo.append(i)
	if ce % 2 == 0 and co % 2 == 0:
		print('YES')
	elif co & 1 and ce & 1:
		cnt = 0
		for i in le:
			for j in lo:
				if abs(i - j) == 1:
					cnt = 1
					break
		if cnt == 0:
			print('NO')
		else:
			print('YES')
	elif co & 1 and ce % 2 == 0 or (ce & 1 and co % 2 == 0):
		print('NO')


def main():
	T = int(input())
	for i in range(1, T + 1):
		n = int(input())
		a = [int(_) for _ in input().split(' ')]
		a.sort()
		even_nb = 0
		odd_nb = 0
		diff_1_found = False
		if a[0] % 2 == 0:
			even_nb += 1
		else:
			odd_nb += 1
		for (j, v) in enumerate(a[1:]):
			if v % 2 == 0:
				even_nb += 1
			else:
				odd_nb += 1
			diff = v - a[j]
			if diff == 1:
				diff_1_found = True
		if even_nb % 2 == 0 and odd_nb % 2 == 0:
			print('YES')
			continue
		if even_nb % 2 == 1 and odd_nb % 2 == 1 and diff_1_found:
			print('YES')
			continue
		print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	s = map(int, input().split())
	s = sorted(s)
	count = 0
	for x in s:
		if x % 2 == 0:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		ans = 'NO'
		for i in range(1, n):
			if s[i] == s[i - 1] + 1:
				ans = 'YES'
				break
		print(ans)


T = int(input())
for _ in range(T):
	n = int(input())
	a = list(map(int, input().split()))
	fl = 'NO'
	one = False
	kaz = [0] * 2
	for i in a:
		kaz[i % 2] += 1
	a.sort()
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			one = True
	if kaz[0] % 2 == 0:
		fl = 'YES'
	elif one:
		fl = 'YES'
	print(fl)


import sys
reader = (s.rstrip() for s in sys.stdin)
input = reader.__next__

def gift():
	for _ in range(t):
		n = int(input())
		arry = list(map(int, input().split()))
		arry.sort()
		mindiff = float('inf')
		(even, odd) = (0, 0)
		for i in range(n):
			if arry[i] % 2:
				odd += 1
			else:
				even += 1
		if odd % 2 == 0:
			yield 'YES'
		else:
			found = False
			for i in range(n - 1):
				if abs(arry[i] - arry[i + 1]) == 1:
					found = True
					break
			if found:
				yield 'YES'
			else:
				yield 'NO'
t = int(input())
ans = gift()
print(*ans, sep='\n')


N = int(input())
for i in range(N):
	CHET = 0
	NECHET = 0
	M = int(input())
	massiv = list(map(int, input().split()))
	massiv.sort()
	for y in range(M):
		if massiv[y] % 2 == 0:
			CHET += 1
		if massiv[y] % 2 == 1:
			NECHET += 1
	if CHET % 2 == 0 or NECHET % 2 == 0:
		print('YES')
	else:
		for i in range(M - 1):
			if abs(massiv[i] - massiv[i + 1]) == 1:
				print('YES')
				break
		else:
			print('NO')


from collections import *
from bisect import *
from math import *
from heapq import *
import sys
input = sys.stdin.readline
t = int(input())
while t:
	t -= 1
	n = int(input())
	a = list(map(int, input().split()))
	(e, o) = (0, 0)
	for i in a:
		if i % 2:
			o += 1
		else:
			e += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
		continue
	if (e + o) % 2:
		print('NO')
		continue
	f = Counter(a)
	ss = 0
	for i in a:
		if i - 1 in f:
			if f[i - 1] and f[i]:
				f[i - 1] -= 1
				f[i] -= 1
				ss += 1
				break
		elif i + 1 in f:
			if f[i + 1] and f[i]:
				f[i + 1] -= 1
				f[i] -= 1
				ss += 1
				break
	if ss % 2:
		print('YES')
	else:
		print('NO')


def sol(a2):
	sum_ = 0
	for i in range(len(a2)):
		if a2[i] % 2 == 0:
			sum_ += 1
	if sum_ % 2 == 0:
		reply = 'YES'
	else:
		for s in a2:
			if s + 1 in a2:
				reply = 'YES'
				break
			reply = 'NO'
	return reply
t = int(input())
for i in range(t):
	a1 = list(map(int, input().split()))
	a2 = list(map(int, input().split()))
	print(sol(a2))


for _ in range(int(input())):
	x = int(input())
	myList = list(map(int, input().split()))
	myList.sort()
	out = list()
	even = odd = 0
	count = 0
	i = 0
	while i < len(myList) - 1:
		if abs(myList[i] - myList[i + 1]) == 1:
			count += 1
			i += 1
		i += 1
	for i in range(x):
		if myList[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even >= 1 and odd >= 1 and (count >= 1):
		print('YES')
	else:
		print('NO')


T = int(input())
for t in range(T):
	n = int(input())
	A = [int(i) for i in input().split()]
	odd = []
	even = []
	for a in A:
		if a % 2 == 0:
			even.append(a)
		else:
			odd.append(a)
	if len(even) % 2 == 0:
		print('YES')
	else:
		even = set(even)
		odd = set(odd)
		for a in even:
			if a + 1 in odd or a - 1 in odd:
				print('YES')
				break
		else:
			print('NO')


import sys
import math
import itertools
import random
from collections import deque

def solve():
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	ok = False
	for i in range(len(a) - 1):
		if a[i] + 1 == a[i + 1]:
			ok = True
	if ok:
		print('YES')
		return
	cnt = 0
	for num in a:
		if num % 2 == 0:
			cnt += 1
	if cnt % 2 == 0:
		print('YES')
	else:
		print('NO')
t = int(input())
while t > 0:
	solve()
	t -= 1


from sys import stdin, stdout

def main():
	t = int(stdin.readline())
	for _ in range(t):
		n = int(stdin.readline())
		arr = list(map(int, stdin.readline().split()))
		arr.sort()
		even = 0
		odd = 0
		com = 0
		i = 0
		while i < n:
			if i + 1 < n and arr[i] + 1 == arr[i + 1]:
				com += 1
				i += 2
				continue
			if arr[i] % 2 == 0:
				even += 1
			else:
				odd += 1
			i += 1
		if even % 2 == 0 and odd % 2 == 0:
			stdout.write('YES\n')
		elif even % 2 == 1 and odd % 2 == 1 and (com > 0):
			stdout.write('YES\n')
		else:
			stdout.write('NO\n')
main()


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	ns = [0] * 100
	p = [0] * 2
	for ai in a:
		ns[ai - 1] += 1
		p[(ai - 1) % 2] += 1
	if p[0] % 2 == 0:
		res = True
	else:
		res = False
		for i in range(99):
			if ns[i] > 0 and ns[i + 1] > 0:
				res = True
				break
	print('YES' if res else 'NO')


import sys

def arr():
	return list(map(int, input().split()))
input = sys.stdin.readline
for _ in range(int(input())):
	N = int(input())
	L = arr()
	odd = []
	even = []
	for i in L:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		f = False
		for i in range(len(even)):
			for j in range(len(odd)):
				if abs(even[i] - odd[j]) == 1:
					f = True
					break
			if f:
				break
		if f:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	e = []
	o = []
	for i in l:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	n1 = len(e)
	n2 = len(o)
	if n1 % 2 == 0 and n2 % 2 == 0:
		print('YES')
	else:
		c = 0
		for i in e:
			for j in o:
				if abs(i - j) == 1:
					c = 1
					break
		if c:
			print('YES')
		else:
			print('NO')


def solve(a, n):
	o = 0
	e = 0
	for i in range(n):
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 != o % 2:
		return False
	if e % 2 == 0:
		return True
	for i in range(n):
		for j in range(i + 1, n):
			if a[i] % 2 != a[j] % 2 and abs(a[i] - a[j]) == 1:
				return True
	return False
t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	if solve(a, n):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	cnt = 0
	f = False
	for i in range(n):
		if a[i] % 2 == 0:
			cnt += 1
		if i < n - 1 and a[i + 1] - a[i] == 1:
			f = True
	if cnt % 2 == 0 or f:
		print('YES')
	else:
		print('NO')


n = int(input())
for i in range(n):
	mark = 0
	m = int(input())
	dp = list(map(int, input().split()))
	ou = []
	ji = []
	for j in dp:
		if j % 2 == 0:
			ou.append(j)
		else:
			ji.append(j)
	if len(ou) % 2 == 0:
		print('YES')
	else:
		for x in ou:
			for y in ji:
				if abs(x - y) == 1:
					print('YES')
					mark = 1
					break
			if mark == 1:
				break
		else:
			print('NO')


cases = int(input())
for x in range(cases):
	N = int(input())
	nums = input().split()
	nums = [int(n) for n in nums]
	even = []
	odd = []
	for a in nums:
		if a % 2 == 0:
			even.append(a)
		else:
			odd.append(a)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		mode = False
		for x in odd:
			for y in even:
				if abs(x - y) == 1:
					mode = True
					break
		if mode:
			print('YES')
		else:
			print('NO')


t = int(input())
while t != 0:
	n = int(input())
	(eve, od, flag) = (0, 0, 0)
	x = list(map(int, input().split()))
	for i in range(n):
		if x[i] % 2 == 0:
			eve += 1
		else:
			od += 1
	if eve % 2 == 0 and od % 2 == 0:
		print('YES')
	else:
		x.sort()
		for j in range(1, n):
			if abs(x[j] - x[j - 1]) == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')
	t -= 1


t = int(input())
for i in range(t):
	n = int(input())
	num = list(map(int, input().split()))
	num.sort()
	(even, odd, differ) = (0, 0, 0)
	if num[len(num) - 1] % 2 == 0:
		even += 1
	else:
		odd += 1
	for j in range(len(num) - 1):
		if num[j + 1] - num[j] == 1 and differ == 0:
			differ = 1
		if num[j] % 2 == 0:
			even += 1
		elif num[j] % 2 != 0:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 != 0 and odd % 2 != 0:
		if differ == 1:
			print('YES')
		else:
			print('NO')


import sys
from collections import deque, defaultdict
from math import sqrt

def input():
	return sys.stdin.readline()[:-1]

def solve():
	n = int(input())
	a = [int(x) for x in input().split()]
	x = 0
	y = 0
	for e in a:
		if e % 2:
			x += 1
		else:
			y += 1
	d = defaultdict(int)
	for e in a:
		d[e] += 1
	z = 0
	keys = [k for k in d]
	for k in keys:
		z += min(d[k], d[k + 1])
	if x % 2 == y % 2:
		if x % 2 == 0 or z:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')
t = 1
t = int(input())
for case in range(1, t + 1):
	ans = solve()


t = int(input())
for q in range(0, t):
	n = int(input())
	a = [int(i) for i in input().split()]
	even = 0
	odd = 0
	for i in range(0, n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		a.sort()
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				even -= 1
				odd -= 1
				break
		if even % 2 == 0 and odd % 2 == 0:
			print('YES')
		else:
			print('NO')


def solve():
	n = int(input())
	l = list(map(int, input().split()))
	l = sorted(l)
	evn = []
	od = []
	even = 0
	odd = 0
	for i in l:
		if i % 2 == 0:
			evn.append(i)
			even += 1
		else:
			od.append(i)
			odd += 1
	if even % 2 == 0:
		return 'YES'
	count = 0
	for i in evn:
		for j in od:
			if abs(i - j) == 1:
				count += 1
	if count > 0:
		return 'YES'
	return 'NO'
t = int(input())
for T in range(t):
	ans = solve()
	print(ans)


t = int(input())
for _ in range(t):
	n = int(input())
	l = [int(i) for i in input().split()]
	l = sorted(l)
	ch = 0
	nch = 0
	if l[0] % 2:
		nch += 1
	else:
		ch += 1
	is1 = False
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			is1 = True
		if l[i] % 2:
			nch += 1
		else:
			ch += 1
	if not ch % 2 and (not nch % 2):
		print('YES')
	elif nch % 2:
		if is1:
			print('YES')
		else:
			print('NO')


def f():
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	ans = 10 ** 5
	ans = True
	odd = 0
	for i in range(n):
		if a[i] % 2 == 0:
			odd += 1
	if odd % 2 == 0:
		print('YES')
		return
	fl = False
	for i in range(n - 1):
		if abs(a[i] - a[i + 1]) == 1:
			print('YES')
			return
	print('NO')
t = input()
for i in range(int(t)):
	f()


for _ in range(int(input())):
	n = int(input())
	x = [int(x) for x in input().split()]
	(e, o) = ([], [])
	for i in x:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 == 0 or len(o) % 2 == 0:
		print('YES')
	else:
		x.sort()
		f = 0
		for i in range(len(x) - 1):
			if abs(x[i + 1] - x[i]) == 1:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	p = 0
	l = []
	for j in range(n - 1):
		if a[j + 1] - a[j] == 1:
			p += 1
		l.append(a[j] % 2)
	l.append(a[-1] % 2)
	z = l.count(0)
	if z % 2 != 0 and p == 0:
		print('NO')
	else:
		print('YES')


import sys
input = sys.stdin.readline
t = int(input())
for test in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	num_even = 0
	num_odd = 0
	con = 0
	for i in range(len(a)):
		if a[i] % 2 == 0:
			num_even += 1
		else:
			num_odd += 1
		if i <= len(a) - 2:
			if a[i] + 1 == a[i + 1]:
				con = 1
	if num_even % 2 == 0 and num_odd % 2 == 0:
		print('YES')
	elif con == 1:
		print('YES')
	else:
		print('NO')


class Solution:

	def __init__(self):
		self.t = int(input())
		self.n = int
		self.nums = list

	def read(self):
		self.n = int(input())
		self.nums = [int(x) for x in input().split()]

	def solve(self):
		evens = 0
		odds = 0
		self.nums.sort()
		areConsecutives = False
		for i in range(self.n):
			if i and self.nums[i] == self.nums[i - 1] + 1:
				areConsecutives = True
			if self.nums[i] % 2:
				odds += 1
			else:
				evens += 1
		if not odds % 2 or areConsecutives:
			print('Yes')
		else:
			print('No')
sol = Solution()
while sol.t:
	sol.t -= 1
	sol.read()
	sol.solve()


t = int(input())
res = []
for i in range(t):
	f = False
	n = int(input())
	nums = sorted([int(w) for w in input().split()])
	par1 = len([n for n in nums if n % 2 == 1])
	par0 = len([n for n in nums if n % 2 == 0])
	if par1 % 2 == 0 and par0 % 2 == 0:
		res.append('YES')
		continue
	numOneGaps = 0
	for i in range(len(nums) - 1):
		if abs(nums[i + 1] - nums[i]) == 1:
			numOneGaps += 1
	if numOneGaps > 0:
		if par1 % 2 == 1 and par0 % 1 == 0:
			res.append('YES')
			continue
	res.append('NO')
for r in res:
	print(r)


from collections import Counter
for t in range(int(input())):
	n = int(input())
	a = [int(i) for i in input().split()]
	cnt = Counter(a)
	odd = 0
	even = 0
	for num in cnt.keys():
		if num % 2 == 0:
			odd += cnt[num]
		else:
			even += cnt[num]
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		even = set()
		odd = set()
		for num in cnt.keys():
			if num % 2 == 0:
				even.add(num)
			else:
				odd.add(num)
		for num in odd:
			if num + 1 in even or num - 1 in even:
				print('YES')
				break
		else:
			print('NO')


t = int(input())
for we in range(t):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	d = abs(l[0] - l[1])
	e = 0
	o = 0
	b = 0
	i = 0
	while i < n - 1:
		d = abs(l[i] - l[i + 1])
		if d == 1:
			b += 1
			i += 1
		i += 1
	for i in l:
		if i % 2 == 0:
			e += 1
		elif i % 2 != 0:
			o += 1
	if b == 0:
		if e % 2 == 0 and o % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif (e - 1) % 2 == 0 and (o - 1) % 2 == 0 or (e % 2 == 0 and o % 2 == 0):
		print('YES')
	else:
		print('NO')


def solve():
	n = int(input())
	a = sorted(list(map(int, input().split())))
	num_even = 0
	num_odd = 0
	num = 0
	for i in range(0, n):
		if i != n - 1:
			if a[i + 1] - a[i] == 1:
				num += 1
		if a[i] % 2 == 0:
			num_even += 1
		else:
			num_odd += 1
	if num_even % 2 == 0 and num_odd % 2 == 0:
		print('YES')
	elif num_even % 2 == 1 and num_odd % 2 == 1:
		if num > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')
t = int(input())
for tt in range(0, t):
	solve()


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def RL():
	return map(int, sys.stdin.readline().rstrip().split())

def RLL():
	return list(map(int, sys.stdin.readline().rstrip().split()))

def N():
	return int(input())

def print_list(l):
	print(' '.join(map(str, l)))
for _ in range(N()):
	n = N()
	a = RLL()
	even = 0
	for i in a:
		if i & 1 == 0:
			even += 1
	if even & 1 == 0:
		print('YES')
	else:
		a.sort()
		flag = False
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	a = sorted([int(j) for j in input().split()])
	c_even = 0
	c = 0
	for j in range(n - 1):
		if a[j + 1] - a[j] == 1:
			c += 1
	for j in range(n):
		if a[j] % 2 == 0:
			c_even += 1
	if c > 0 or c_even % 2 == 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	(even, odd) = (0, 0)
	for i in l:
		odd += i & 1
		even += not i & 1
	if even & 1 == 0 and odd & 1 == 0:
		print('YES')
	else:
		l.sort()
		flag = False
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				flag = True
				break
		print('YES' if flag else 'NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	d = [1] * n
	a.sort()
	for i in range(n):
		if a[i] % 2 == 0:
			d[i] = 0
	c1 = 0
	c0 = 0
	for i in range(n):
		if d[i] == 1:
			c1 += 1
		else:
			c0 += 1
	if c1 % 2 == 0 and c0 % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1] and d[i] != d[i + 1]:
				c1 += 1
				c0 -= 1
			if c1 % 1 == 0 and c0 % 2 == 0:
				break
		if c1 % 2 == 0 and c0 % 2 == 0:
			print('YES')
		else:
			print('NO')


import sys
import math
from copy import copy, deepcopy
from copy import deepcopy as dcp
from operator import itemgetter
from bisect import bisect_left, bisect, bisect_right
from collections import deque
from collections import Counter
from itertools import accumulate, combinations, permutations
from heapq import heapify, heappop, heappush
from functools import lru_cache

def input():
	return sys.stdin.readline()[:-1]

def printl(li):
	_ = print(*li, sep='\n') if li else None

def argsort(s, return_sorted=False):
	inds = sorted(range(len(s)), key=lambda k: s[k])
	if return_sorted:
		return (inds, [s[i] for i in inds])
	return inds

def alp2num(c, cap=False):
	return ord(c) - 97 if not cap else ord(c) - 65

def num2alp(i, cap=False):
	return chr(i + 97) if not cap else chr(i + 65)

def matmat(A, B):
	(K, N, M) = (len(B), len(A), len(B[0]))
	return [[sum([A[i][k] * B[k][j] for k in range(K)]) for j in range(M)] for i in range(N)]

def matvec(M, v):
	(N, size) = (len(v), len(M))
	return [sum([M[i][j] * v[j] for j in range(N)]) for i in range(size)]

def T(M):
	(n, m) = (len(M), len(M[0]))
	return [[M[j][i] for j in range(n)] for i in range(m)]

def main():
	mod = 1000000007
	q = int(input())

	def solve():
		N = int(input())
		A = tuple(map(int, input().split()))
		cnt = 0
		glis = []
		klis = []
		for a in A:
			if a % 2 == 0:
				cnt += 1
				glis.append(a)
			else:
				klis.append(a)
		if cnt % 2 == 0:
			print('Yes')
			return
		else:
			for g in glis:
				for k in klis:
					if abs(g - k) == 1:
						print('Yes')
						return
		print('No')
	for _ in range(q):
		solve()
main()


for _ in range(int(input())):
	n = int(input())
	ar = list(map(int, input().split()))
	ar.sort()
	(a, b) = (0, 0)
	for elem in ar:
		if elem % 2 == 0:
			a += 1
		else:
			b += 1
	if a % 2 != b % 2:
		print('NO')
	elif a % 2 == b % 2 == 0:
		print('YES')
	else:
		ans = 'NO'
		for i in range(1, n):
			if ar[i] - ar[i - 1] == 1:
				ans = 'YES'
				break
		print(ans)


t = int(input())
for i in range(t):
	n = int(input())
	str1 = input()
	list1 = list(map(int, str1.split()))
	sum1 = 0
	sum2 = 0
	for g in list1:
		if g % 2 == 1:
			sum1 = sum1 + 1
		else:
			sum2 = sum2 + 1
	if sum1 % 2 == 0 and sum2 % 2 == 0:
		print('YES')
	else:
		list1.sort()
		m = 0
		list2 = ['']
		while m != len(list1) - 1:
			list2.append(list1[m + 1] - list1[m])
			m = m + 1
		if 1 in list2:
			print('YES')
		else:
			print('NO')


import math
for _ in range(int(input())):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	(r, r1) = ([0, 0], 0)
	r[l[0] % 2] += 1
	for i in range(1, n):
		if abs(l[i] - l[i - 1]) == 1:
			r1 = 1
		r[l[i] % 2] += 1
	if (r[0] % 2 == r[1] % 2 == 0) | r1:
		print('YES')
	else:
		print('NO')


testcase = int(input())
for M in range(testcase):
	n = int(input())
	li = list(map(int, input().split()))
	dic = {}
	dic_even = {}
	dic_odd = {}
	for j in li:
		dic[j] = 0
		if j % 2 != 0:
			dic_odd[j] = 0
		else:
			dic_even[j] = 0
	con = False
	for i in li:
		if i % 2 == 0:
			dic_even[i] += 1
		else:
			dic_odd[i] += 1
	d1 = sum(dic_even.values())
	d2 = sum(dic_odd.values())
	if d1 % 2 == 0 and d2 % 2 == 0:
		print('YES')
	elif d1 % 2 != 0 and d2 % 2 != 0:
		for i in li:
			if i - 1 in dic or i + 1 in dic:
				con = True
				break
		if con == True:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


test_cases = int(input())
for z in range(test_cases):
	n = int(input())
	p = list(map(int, input().split()))
	count = 0
	for i in p:
		if i % 2 == 0:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		count = 0
		p.sort()
		for i in range(len(p) - 1):
			diff = p[i + 1] - p[i]
			if diff == 1:
				print('YES')
				break
			else:
				count += 1
		if count == len(range(len(p) - 1)):
			print('NO')


import sys
import time
st = time.perf_counter()
number = int(input())
for __ in range(number):
	n = int(input())
	ls = list(map(int, input().split()))
	ls.sort()
	ev = len([num for num in ls if num % 2 == 0])
	one = any([i for i in range(1, n) if ls[i] - ls[i - 1] == 1])
	if ev % 2 == 0 or one:
		print('YES')
	else:
		print('NO')
ed = time.perf_counter()
print('time:', ed - st, file=sys.stderr)


import math
for _ in range(int(input())):
	n = int(input())
	ll = list(map(int, input().split()))
	o = []
	e = []
	for i in ll:
		if i % 2 == 0:
			e.append(i)
			continue
		o.append(i)
	if len(e) % 2 == 0:
		print('YES')
		continue
	for i in o:
		if i - 1 in e or i + 1 in e:
			print('YES')
			break
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	data = list(map(int, input().split()))
	data = sorted(data)
	flag = 0
	even = 0
	if data[0] % 2 == 0:
		even += 1
	for j in range(1, len(data)):
		if data[j] - data[j - 1] == 1:
			flag = 1
		if data[j] % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
	elif flag == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l_e = []
	l_o = []
	for i in l:
		if i % 2 == 0:
			l_e.append(i)
		else:
			l_o.append(i)
	if len(l_e) % 2 == 0:
		print('YES')
		continue
	x = 0
	if len(l_e) % 2 != 0:
		for i in l_e:
			for j in l_o:
				if i - j == 1 or i - j == -1:
					x = 1
					print('YES')
					break
			if x == 1:
				break
	if x == 0:
		print('NO')


t = int(input())
while t:
	t = t - 1
	n = int(input())
	arr = input()
	arr = arr.split(' ')
	arr = [int(x) for x in arr]
	e = 0
	o = 0
	for i in range(len(arr)):
		if arr[i] % 2 == 0:
			e += 1
		else:
			o += 1
	arr.sort()
	d = 0
	for i in range(len(arr) - 1):
		if arr[i] + 1 == arr[i + 1]:
			d += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif d > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	ar = list(map(int, input().split()))
	ar.sort()
	a = []
	c = 0
	res = 'NO'
	for i in range(n - 1):
		if abs(ar[i] - ar[i + 1]) == 1:
			res = 'YES'
			break
	for i in ar:
		x = i % 2
		a.append(x)
	if a.count(0) % 2 == 0:
		res = 'YES'
	print(res)


from collections import defaultdict
for _ in range(int(input())):
	evenlist = {}
	evenlist = defaultdict(int)
	oddlist = []
	n = int(input())
	l = list(map(int, input().split()))
	odd = even = 0
	for i in l:
		if i % 2 == 0:
			evenlist[i] += 1
			even += 1
		else:
			oddlist.append(i)
			odd += 1
	oddlist.sort()
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		count = max(odd, even) % 2
		for i in oddlist:
			if evenlist[i - 1] > 0:
				count -= 1
				evenlist[i - 1] -= 1
			elif evenlist[i + 1] > 0:
				count -= 1
				evenlist[i + 1] -= 1
		if count <= 0:
			print('YES')
		else:
			print('NO')


t = int(input())
while t > 0:
	t = t - 1
	n = int(input())
	l = [int(i) for i in input().split()]
	l = sorted(l)
	e = 0
	o = 0
	for i in range(n):
		if l[i] % 2 == 0:
			e = e + 1
		elif l[i] % 2 == 1:
			o = o + 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	else:
		a = 0
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				a = 1
				break
		if a == 1:
			print('YES')
		else:
			print('NO')


from sys import stdin
import math
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, stdin.readline().rstrip().split(' ')))
	arr = sorted(arr)
	pairs = 0
	odd = 0
	even = 0
	for ele in arr:
		if ele % 2 == 0:
			even += 1
		else:
			odd += 1
	i = 0
	while i < n - 1:
		if arr[i] == arr[i + 1] - 1:
			i += 2
			pairs += 1
		else:
			i += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		continue
	elif odd % 2 == 1 and even % 2 == 1 and (pairs > 0):
		print('YES')
		continue
	else:
		print('NO')


for j in range(0, int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	e = 0
	o = 0
	ans = 0
	for i in range(0, n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		ans = 1
	else:
		l.sort()
		for i in range(0, n - 1):
			if l[i + 1] - l[i] == 1:
				print('YES')
				ans = 1
				break
		if ans == 0:
			print('NO')


t = int(input())
for tes in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	flag = True
	ev = 0
	od = 0
	evarr = []
	odarr = []
	for i in range(n):
		if arr[i] % 2 == 1:
			od += 1
			odarr.append(arr[i])
		else:
			ev += 1
			evarr.append(arr[i])
	if len(evarr) % 2 == 1:
		flag = False
		for i in range(len(evarr)):
			for j in range(len(odarr)):
				if abs(evarr[i] - odarr[j]) == 1:
					flag = True
					break
	if flag:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(n, a) = (int(input()), list(map(int, input().split())))
	ans = True
	cnt_odd = 0
	cnt_even = 0
	for i in a:
		cnt_odd += i % 2
		cnt_even += i % 2 == 0
	if cnt_odd % 2 == 0:
		print('YES')
	else:
		was = False
		for i in a:
			if i - 1 in a or i + 1 in a:
				was = 1
				print('YES')
				break
		if not was:
			print('NO')


mod = int(1000000000.0) + 7

def ip():
	return int(input())

def Ip():
	return map(int, input().split())
for _ in range(0, int(input())):
	n = ip()
	l = list(Ip())
	l.sort()
	s = list(set(l))
	s.sort()
	f = 0
	c = 0
	ans = int(1000000000.0)
	for i in range(0, n):
		if l[i] % 2 == 1:
			c += 1
	if c % 2 == 0:
		print('YES')
	else:
		c = 0
		for i in range(1, len(s)):
			if s[i] - s[i - 1] == 1:
				(x, y) = (s[i] % 2, s[i - 1] % 2)
				if x + y == 1:
					print('YES')
					c = 1
					break
		if c == 0:
			print('NO')


testCases = int(input())
for _ in range(testCases):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	consecative = 0
	for index in range(n):
		if index > 0 and a[index] - a[index - 1] == 1:
			consecative += 1
		if a[index] % 2 == 0:
			even += 1
	if even % 2 == 0 or consecative > 0:
		print('YES')
	else:
		print('NO')


import math

def list_input():
	return list(map(int, input().split()))

def multiple_input():
	return map(int, input().split())
for _ in range(int(input())):
	n = int(input())
	a = list_input()
	(e, o) = ({}, {})
	(even, odd) = (0, 0)
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
			e[a[i]] = 1
		else:
			odd += 1
			o[a[i]] = 1
	if odd % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in o:
			if i + 1 in e or i - 1 in e:
				flag = 1
				break
		if flag == 0:
			print('NO')
		else:
			print('YES')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a = sorted(a)
	odd = 0
	even = 0
	for i in a:
		if i & 1:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0:
		print('YES')
		continue
	f = 0
	for i in range(1, n):
		if a[i] - 1 == a[i - 1]:
			f = 1
			break
	if f:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = [int(i) for i in input().split()]
	l.sort()
	od = 0
	ev = 0
	for i in l:
		if i % 2 == 0:
			ev += 1
		else:
			od += 1
	if od == 0 or ev == 0:
		print('YES')
	elif od % 2 == 0:
		print('YES')
	else:
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	array = sorted(list(map(int, input().split())))
	(count_odd, count_even) = (0, 0)
	count_diff_one = 0
	for i in array:
		if i % 2:
			count_odd += 1
		else:
			count_even += 1
	for i in range(n - 1):
		if abs(array[i] - array[i + 1]) == 1:
			count_diff_one += 1
	count_odd %= 2
	count_even %= 2
	if count_diff_one >= 1 and count_odd == 1 and (count_even == 1):
		count_odd -= 1
		count_even -= 1
	if count_odd == 0 and count_even == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	e = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			e = 1
			break
	b = 0
	c = 0
	for i in range(n):
		if a[i] % 2 == 0:
			b += 1
		else:
			c += 1
	if b % 2 == 0:
		print('YES')
	elif b % 2 != 0 and e == 1:
		print('YES')
	else:
		print('NO')


def possible(n, a):
	if len(list(filter(lambda x: x % 2 == 0, a))) % 2 == 0:
		return True
	a = sorted(a)
	for i in range(1, n):
		if a[i] == a[i - 1] + 1:
			return True
	return False
cases = int(input().strip())
for _ in range(cases):
	n = int(input().strip())
	a = list(map(int, input().strip().split()))
	print('YES' if possible(n, a) else 'NO')


from sys import stdin
for t in range(int(input())):
	n = int(input())
	arr = list(map(int, stdin.readline().split()))
	arr.sort()
	mini = 9999999999990
	odd = 0
	even = 0
	for i in range(n):
		if arr[i] & 1:
			odd += 1
		else:
			even += 1
	if odd & 1:
		cond = False
		for i in range(n - 1):
			if arr[i] & 1 != arr[i + 1] & 1 and arr[i + 1] - arr[i] == 1:
				cond = True
				break
		if cond:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


from sys import stdin, stdout
t = int(stdin.readline())
for _ in range(t):
	n = int(stdin.readline())
	s = sorted(list(map(int, stdin.readline().split())))
	(odds, evens) = (0, 0)
	cnt = 0
	for i in range(n):
		if s[i] % 2 == 0:
			evens += 1
		else:
			odds += 1
		if i < n - 1:
			if s[i] + 1 == s[i + 1]:
				cnt += 1
	if odds % 2 == 1:
		if cnt == 0:
			print('NO')
		else:
			print('YES')
	else:
		print('YES')


t = int(input())
for _ in range(t):
	n = int(input())
	t = [int(i) for i in input().split()]
	odds = 0
	for num in t:
		if num % 2 != 0:
			odds += 1
	if odds % 2 == 0:
		print('YES')
	else:
		t.sort()
		for x in range(n - 1):
			if abs(t[x] - t[x + 1]) == 1:
				print('YES')
				break
		else:
			print('NO')


t = int(input())

def li():
	return list(map(int, input().split()))
for i in range(t):
	n = int(input())
	l = li()
	l.sort()
	e = 0
	o = 0
	sub1 = False
	c = 0
	for j in l:
		if j % 2 == 0:
			e += 1
		if j % 2 == 1:
			o += 1
		if c == n - 1:
			c = 0
		if l[c + 1] - l[c] == 1:
			sub1 = True
		c += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif o % 2 == 1 and e % 2 == 1:
		if sub1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


def check(a):
	c = 0
	for x in range(len(a)):
		for y in range(x + 1, len(a)):
			if abs(a[x] - a[y]) == 1:
				c = c + 1
				break
	if c > 0:
		print('YES')
	else:
		print('NO')
t = int(input())
for test in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = []
	odd = []
	for j in range(n):
		if a[j] % 2 == 0:
			even.append(a[j])
		else:
			odd.append(a[j])
	le = len(even)
	lo = len(odd)
	if le % 2 != 0:
		check(a)
	else:
		print('YES')


import sys
inp = [int(x) for x in sys.stdin.read().split()]
ii = 0
ttt = inp[ii]
ii += 1
res = []
for _ in range(ttt):
	n = inp[ii]
	ii += 1
	a = inp[ii:ii + n]
	ii += n
	cnt = [0] * 2
	for x in a:
		cnt[x & 1] += 1
	if cnt[0] % 2 == 0 and cnt[1] % 2 == 0:
		res.append('YES')
	else:
		a = sorted(a)
		ok = False
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				ok = True
				break
		if ok:
			res.append('YES')
		else:
			res.append('NO')
print('\n'.join((x for x in res)))


q = int(input())
for _ in range(q):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = 0
	even = 0
	sim = set()
	prev = 0
	for i in a:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
		if prev != 0:
			if i - prev == 1:
				sim.add((i, prev))
		prev = i
	even = even % 2
	odd = odd % 2
	if even != odd:
		print('NO')
	elif len(sim) >= max(even, odd):
		print('YES')
	else:
		print('NO')


from math import fabs
n = int(input())
while n:
	z = int(input())
	lst = list(map(int, input().split()))
	odd = 0
	even = 0
	k = 0
	flag = 0
	for i in lst:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		k = 1
	elif even % 2 == 1 and odd % 2 == 1:
		lst.sort()
		for i in range(0, z - 1):
			if fabs(lst[i] - lst[i + 1]) == 1:
				k = 1
				break
	else:
		k = 0
	if k == 1:
		print('YES')
	else:
		print('NO')
	n -= 1


def main():
	for tc in range(int(input())):
		n = int(input())
		a = list(map(int, input().split()))
		(odd, even) = (0, 0)
		for val in a:
			if val % 2:
				odd += 1
			else:
				even += 1
		f = False
		if odd % 2 == 0 and even % 2 == 0:
			f = True
		for i in range(n):
			if a[i] % 2:
				for j in range(n):
					if i != j and a[j] % 2 == 0 and (abs(a[j] - a[i]) == 1):
						f = True
		if f:
			print('YES')
		else:
			print('NO')
main()


from sys import stdin, exit
input = stdin.readline

def i():
	return input()

def ii():
	return int(input())

def iis():
	return map(int, input().split())

def liis():
	return list(map(int, input().split()))

def print_array(a):
	print(' '.join(map(str, a)))
t = ii()
for _ in range(t):
	n = ii()
	l = sorted(liis())
	(odd, even) = (0, 0)
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	for i in range(1, n):
		if odd % 2 == 0 and even % 2 == 0:
			break
		if l[i - 1] + 1 == l[i]:
			odd -= 1
			even -= 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	cnt = even = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			cnt = cnt + 1
	for j in range(n):
		if a[j] % 2 == 0:
			even = even + 1
	if cnt > 0 or even % 2 == 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	aux = int(input())
	a = list(map(int, input().split()))
	impar = 0
	par = 0
	for j in range(aux):
		if a[j] % 2 == 0:
			par += 1
		else:
			impar += 1
	if par % 2 == 0:
		print('YES')
	else:
		for j in range(aux - 1):
			for k in range(j, aux):
				if a[j] - a[k] == 1 or a[j] - a[k] == -1:
					print('YES')
					break
			if a[j] - a[k] == 1 or a[j] - a[k] == -1:
				break
			if j == aux - 2:
				print('NO')


def f(i, j):
	if i % 2 != j % 2:
		return 0
	else:
		return 1
t = int(input())
for x in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	ec = 0
	for i in a:
		if i % 2 == 0:
			ec += 1
	if ec % 2 == 0:
		print('YES')
	else:
		a.sort()
		b = []
		pc = 0
		i = 1
		while i < n:
			if a[i] - a[i - 1] == 1:
				b.append(a[i])
				b.append(a[i - 1])
				i += 2
				pc += 1
			else:
				i += 1
		bl = len(b)
		if pc % 2 != 0:
			for j in b:
				a.remove(j)
		else:
			for ll in range(bl - 2):
				a.remove(b[ll])
		c = 0
		for k in a:
			if k % 2 != 0:
				c += 1
		if c % 2 != 0:
			print('NO')
		else:
			print('YES')


t = int(input())
k = t
a = list()
ans = list()
while k > 0:
	n = int(input())
	str1 = input()
	a = str1.split()
	q = 0
	while q < n:
		a[q] = int(a[q])
		q = q + 1
	a.sort()
	q = 0
	even = 0
	odd = 0
	p = 0
	while q < n:
		if a[q] % 2 == 0:
			even = even + 1
		else:
			odd = odd + 1
		q = q + 1
	if even % 2 == 0:
		ans.append('YES')
	else:
		e = 0
		while e < n - 1:
			if a[e + 1] == a[e] + 1:
				ans.append('YES')
				p = 11
				break
			e = e + 1
		if p == 0:
			ans.append('NO')
	k = k - 1
for u in ans:
	print(u)


t = int(input())
for i in range(t):
	k = 0
	e = 0
	m = True
	b = []
	n = int(input())
	a = list(map(int, input().split()))
	for i in range(n):
		if a[i] % 2 == 0:
			k += 1
		else:
			e += 1
	if e % 2 != k % 2:
		print('no')
		continue
	if e % 2 == k % 2 and e % 2 == 0:
		print('yes')
		continue
	else:
		b = sorted(a)
		for i in range(n - 1):
			if b[i + 1] - b[i] == 1:
				m = False
				break
		if m == False:
			print('yes')
		else:
			print('no')


t = int(input())
while t:
	n = int(input())
	e = o = 0
	l = list(map(int, input().split()))
	for i in range(len(l)):
		if l[i] % 2 == 0:
			e = e + 1
		else:
			o = o + 1
	if e % 2 != o % 2:
		print('NO')
	elif e % 2 == 0:
		print('YES')
	else:
		p = 0
		for j in range(len(l)):
			for k in range(j + 1, len(l)):
				if l[j] % 2 != l[k] % 2 and abs(l[j] - l[k]) == 1:
					p = 1
		if p == 1:
			print('YES')
		else:
			print('NO')
	t = t - 1


t = int(input())
for i in range(t):
	n = int(input())
	lst1 = list(map(int, input().split()))
	ev = []
	od = []
	for i in range(n):
		if lst1[i] % 2 == 0:
			ev.append(lst1[i])
		else:
			od.append(lst1[i])
	if len(ev) % 2 == 0 and len(od) % 2 == 0:
		print('YES')
	elif len(ev) % 2 != 0 and len(od) % 2 != 0:
		for i in range(len(ev)):
			for j in range(len(od)):
				if abs(ev[i] - od[j]) == 1:
					print('YES')
					break
			if abs(ev[i] - od[j]) == 1:
				break
		if abs(ev[i] - od[j]) != 1:
			print('NO')
	else:
		print('NO')


def main():
	k = int(input())
	for i in range(k):
		n = int(input())
		arr = list(map(int, input().split()))
		co = 0
		cno = 0
		aco = []
		acno = []
		for i in arr:
			if i % 2 == 0:
				co += 1
				aco.append(i)
			else:
				cno += 1
				acno.append(i)
		if co % 2 == 0 and cno % 2 == 0:
			print('YES')
		else:
			if len(aco) > 1:
				aco = sorted(aco)
			if len(acno) > 1:
				acno = sorted(acno)
			tmp = False
			for j in aco:
				for p in acno:
					if abs(j - p) == 1:
						tmp = True
						break
			print('YES' if tmp else 'NO')
main()


(z, zz) = (input, lambda : list(map(int, z().split())))
zzz = lambda : [int(i) for i in stdin.readline().split()]
(szz, graph, mod, szzz) = (lambda : sorted(zz()), {}, 10 ** 9 + 7, lambda : sorted(zzz()))
from string import *
from re import *
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f
from bisect import bisect as bs
from bisect import bisect_left as bsl
from itertools import accumulate as ac

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0 and x != 2 or x == 0:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
num = int(z())
for _ in range(num):
	n = int(z())
	lst = szzz()
	(even, odd) = (0, 0)
	one = 0
	if lst[0] % 2 == 0:
		even += 1
	else:
		odd += 1
	for i in range(1, n):
		if lst[i] - lst[i - 1] == 1:
			one += 1
		if lst[i] % 2 == 0:
			even += 1
		if lst[i] % 2 == 1:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0 or (one >= 1 and even % 2 != 0 and (odd != 0)):
		print('YES')
	else:
		print('NO')


tc = int(input())
for _ in range(tc):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	i = 0
	(evens, odd) = (0, 0)
	for j in range(len(arr)):
		if arr[j] % 2 == 0:
			evens += 1
		else:
			odd += 1
	if evens % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		hagaya = False
		arr.sort()
		for i in range(0, len(arr) - 1):
			if abs(arr[i] - arr[i + 1]) == 1:
				print('YES')
				hagaya = True
				break
		if hagaya == False:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	even = []
	odd = []
	for i in range(n):
		if l[i] % 2 == 0:
			even.append(l[i])
		else:
			odd.append(l[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(even) % 2 == 1 and len(odd) % 2 == 1:
		p = 0
		for i in even:
			for j in odd:
				if abs(i - j) == 1:
					p = 1
		if p == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	odds = len(list(filter(lambda x: x & 1 == 1, a)))
	evens = len(list(filter(lambda x: x & 1 == 0, a)))
	m = 'NO'
	if odds % 2 != evens % 2:
		m = 'NO'
	elif odds % 2 == 0 and evens % 2 == 0:
		m = 'YES'
	else:
		x = 1
		i = 1
		while i < len(a):
			if a[i] - a[i - 1] == 1:
				x = 0
				break
			else:
				i += 1
		if x == 0:
			m = 'YES'
		else:
			m = 'NO'
	print(m)


c = []
for i in range(int(input())):
	a = int(input())
	b = [int(X) for X in input().split()]
	d = []
	e = []
	f = []
	for j in b:
		f.append(j)
		if j % 2 == 0:
			d.append(j)
		else:
			e.append(j)
	f.sort()
	if len(d) % 2 == 0:
		c.append('YES')
	else:
		for k in range(len(b) - 1):
			if f[k] - f[k + 1] == 1 or f[k] - f[k + 1] == -1:
				c.append('YES')
				break
		else:
			c.append('NO')
for i in c:
	print(i)


for t in range(int(input())):
	n = input()
	a = list(map(int, input().split()))
	odd = 0
	even = 0
	for num in a:
		if num % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd + even % 2 == 1:
		print('NO')
	else:
		a = sorted(a)
		yes = False
		for n in range(len(a) - 1):
			if abs(a[n] - a[n + 1]) == 1 and (not yes):
				print('YES')
				yes = True
		if not yes:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	odd = 0
	even = 0
	odds = []
	for i in range(len(l)):
		if l[i] % 2 == 0:
			even += 1
		else:
			odd += 1
			odds.append(l[i])
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in l:
			if i % 2 == 0 and (i + 1 in odds or i - 1 in odds):
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
while t > 0:
	t -= 1
	n = int(input())
	l = list(map(int, input().split()))
	even = []
	odd = []
	for i in l:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	o = len(odd)
	e = len(even)
	flag = 0
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif e % 2 != 0 and o % 2 != 0:
		for ev in even:
			for od in odd:
				if abs(ev - od) == 1:
					even.remove(ev)
					flag = 1
					break
		if flag == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


import math
for q in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	(ev, od) = ([], [])
	for i in range(n):
		if arr[i] % 2 == 0:
			ev.append(arr[i])
		else:
			od.append(arr[i])
	ev.sort()
	od.sort()
	flag = 0
	if len(ev) % 2 == 0 and len(od) % 2 == 0:
		print('YES')
	else:
		for i in range(len(ev)):
			for j in range(len(od)):
				if math.fabs(ev[i] - od[j]) == 1:
					flag = 1
					break
			if flag == 1:
				print('YES')
				break
		if flag != 1:
			print('NO')


t = int(input())
for q in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	odd = 0
	even = 0
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 1:
		l.sort()
		res = 'NO'
		for i in range(1, len(l)):
			if l[i] - l[i - 1] == 1:
				res = 'YES'
				break
		print(res)
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	lst = [int(i) for i in input().split()]
	no = 0
	ne = 0
	lste = []
	lsto = []
	for i in lst:
		if i % 2 == 0:
			ne += 1
			lste.append(i)
		else:
			no += 1
			lsto.append(i)
	if ne % 2 == 0 and no % 2 == 0:
		print('YES')
	else:
		nk = 0
		for i in lste:
			if i + 1 in lsto or i - 1 in lsto:
				print('YES')
				nk = 1
				break
		if nk == 0:
			print('NO')


for _ in range(int(input())):
	N = int(input())
	a = list(map(int, input().split()))
	a.sort()
	c = 0
	for z in a:
		y = z % 2
		if y:
			c += 1
	cnt = 0
	for i in range(N - 1):
		if a[i + 1] - a[i] == 1:
			cnt += 1
	if c % 2 == 0:
		print('YES')
		continue
	elif cnt > 0:
		print('YES')
		continue
	print('NO')


import sys
lines = sys.stdin.readlines()
T = int(lines[0].strip())
for t in range(T):
	n = int(lines[2 * t + 1].strip())
	nums = list(map(int, lines[2 * t + 2].strip().split(' ')))
	cnt = 0
	for u in nums:
		if u % 2 == 0:
			cnt += 1
	if cnt % 2 == 0:
		print('YES')
		continue
	nums.sort()
	can = False
	for i in range(1, n):
		if nums[i] - nums[i - 1] == 1:
			can = True
			break
	if can:
		print('YES')
	else:
		print('NO')


def found(arr):
	for i in arr:
		if i % 2 == 0:
			continue
		if i - 1 in arr or i + 1 in arr:
			return True
	return False

def main():
	n = int(input())
	arr = [int(i) for i in input().split()]
	odds = sum([i % 2 for i in arr])
	if odds % 2 == 0 or found(arr):
		print('YES')
	else:
		print('NO')
T = int(input())
for _ in range(T):
	main()


def solve(n, a):
	evens = 0
	odds = 0
	for item in a:
		if item % 2 == 0:
			evens += 1
		else:
			odds += 1
	if evens % 2 == 0 and odds % 2 == 0:
		return True
	a.sort()
	for i in range(1, n):
		if abs(a[i] - a[i - 1]) == 1:
			return True
	return False
for i in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	print('YES' if solve(n, a) else 'NO')


import sys

def process():
	n = int(sys.stdin.readline().strip())
	a = [int(s) for s in sys.stdin.readline().split()]
	(ne, no) = (0, 0)
	succ = False
	a.sort()
	for i in range(len(a)):
		if a[i] % 2 == 0:
			ne += 1
		else:
			no += 1
		if i > 0 and a[i] - a[i - 1] == 1:
			succ = True
	if ne % 2 == 0 or succ:
		print('YES')
	else:
		print('NO')
T = int(sys.stdin.readline())
for x in range(T):
	process()


def main_function():
	from sys import stdin
	from sys import stdout
	input = stdin.readline
	print = stdout.write
	t = int(input())
	for _ in range(t):
		n = int(input())
		numbers = list(map(int, input().split()))
		counter = 0
		numbers.sort()
		for i in range(1, n):
			if numbers[i] - numbers[i - 1] == 1:
				counter += 1
		(good, bad) = ([], [])
		for el in numbers:
			if el % 2 == 1:
				good.append(el)
			else:
				bad.append(el)
		if len(good) % 2 == 0 == len(bad) % 2 or (counter > 0 and len(good) % 2 == len(bad) % 2):
			print('YES\n')
		else:
			print('NO\n')
main_function()


import os, sys
from math import *
t = int(input())
for nc in range(t):
	n = int(input())
	s = sorted([int(x) for x in input().strip().split()])
	a = [[], []]
	for x in s:
		a[x % 2].append(x)
	if len(a[0]) % 2 == 0:
		print('YES')
	else:
		flag = False
		for x in a[0]:
			for y in a[1]:
				if abs(x - y) == 1:
					flag = True
		print('YES' if flag else 'NO')


s = int(input())
for i in range(s):
	a = int(input())
	s = [int(i) for i in input().split(' ')]
	parity = {}
	even = 0
	odd = 0
	for j in s:
		if j % 2 == 0:
			even += 1
		else:
			odd += 1
		parity[j] = 1
	if even % 2 == 0:
		if odd % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif odd % 2 == 0:
		print('NO')
	else:
		tmp = 0
		for j in s:
			if j - 1 in parity or j + 1 in parity:
				tmp = 1
				break
		if tmp == 1:
			print('YES')
		else:
			print('NO')


from sys import stdin
input = iter(stdin.readlines()).__next__
t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(map(int, input().split()))
	(odds, evens) = (0, 0)
	for num in a:
		if num % 2 == 0:
			evens += 1
		else:
			odds += 1
	if odds % 2 != evens % 2:
		print('NO')
		continue
	if odds % 2 == 0 and evens % 2 == 0:
		print('YES')
		continue
	count = 0
	i = 1
	while i < n:
		if a[i] - a[i - 1] == 1:
			count += 1
			break
		i += 1
	if count == 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for k in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	even = 0
	odd = 0
	a.sort()
	for i in a:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


def solution():
	for _ in range(int(input())):
		n = int(input())
		l = list(map(int, input().split()))
		l.sort()
		e = 0
		o = 0
		d = 0
		for i in range(n):
			if l[i] % 2 == 0:
				e += 1
			else:
				o += 1
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				d += 1
		if e % 2 == 0 and o % 2 == 0:
			print('YES')
		elif e % 2 != 0 and o % 2 != 0 and (d > 0):
			print('YES')
		else:
			print('NO')
solution()


def binarySearch(arr, l, r, x):
	while l <= r:
		mid = int((l + r) / 2)
		if arr[mid] == x:
			return mid
		elif arr[mid] > x:
			r = mid - 1
		else:
			l = mid + 1
	return -1
t = int(input())
for i in range(t):
	n = int(input())
	num1 = list(map(int, input().split()))
	num1.sort()
	x = 0
	y = 0
	num2 = []
	num3 = []
	for j in range(n):
		if num1[j] % 2 == 0:
			num2.append(num1[j])
			x += 1
		else:
			num3.append(num1[j])
			y += 1
	if x % 2 == 0 and y % 2 == 0:
		print('YES')
	else:
		a = 0
		for j in range(x):
			if binarySearch(num3, 0, y - 1, num2[j] + 1) != -1 or binarySearch(num3, 0, y - 1, num2[j] - 1) != -1:
				a += 1
				break
		if a == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	e = 0
	o = 0
	c = 0
	if a[n - 1] % 2 == 0:
		e += 1
	else:
		o += 1
	for i in range(n - 1):
		if a[i] % 2 == 0:
			e += 1
		if a[i] % 2 != 0:
			o += 1
		if a[i + 1] == a[i] + 1:
			c += 1
	if e == n or o == n or c == n - 1:
		print('YES')
	elif e % 2 == 0:
		print('YES')
	elif e % 2 != 0 and c != 0:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline

def solve(n, arr):
	if n % 2 != 0:
		return 'NO'
	par = [0, 0]
	for e in arr:
		par[e % 2] += 1
	if par[0] % 2 == 0 and par[1] % 2 == 0:
		return 'YES'
	else:
		for i in range(n - 1):
			(f, s) = (arr[i], arr[i + 1])
			if f + 1 == s and f % 2 != s % 2:
				return 'YES'
		return 'NO'
t = int(input().strip())
for _ in range(t):
	n = int(input().strip())
	arr = sorted(map(int, input().split()))
	print(solve(n, arr))


for i in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	ev = 0
	e = []
	od = 0
	o = []
	zz = 0
	for i in range(n):
		if a[i] % 2 == 0:
			ev += 1
			e.append(a[i])
		else:
			od += 1
			o.append(a[i])
	if ev % 2 == 0 and od % 2 == 0:
		print('YES')
	else:
		for i in range(len(e)):
			if e[i] + 1 in o or e[i] - 1 in o:
				zz = 1
				break
		for i in range(len(o)):
			if o[i] + 1 in e:
				zz = 1
				break
		if zz == 1:
			print('YES')
		else:
			print('NO')


def main():
	for __ in [0] * int(input()):
		N = int(input())
		(*A,) = map(int, input().split())
		ev = 0
		od = 0
		for a in A:
			if a & 1:
				od += 1
			else:
				ev += 1
		if ev % 2 == 0:
			print('YES')
		else:
			A.sort()
			prev = A[0]
			for a in A[1:]:
				if a - prev == 1:
					print('YES')
					break
				prev = a
			else:
				print('NO')
main()


import heapq
t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	E = []
	O = []
	for i in range(n):
		if A[i] % 2 == 0:
			E.append(A[i])
		else:
			O.append(A[i])
	if len(E) % 2 == 0 and len(O) % 2 == 0:
		print('YES')
	elif len(E) % 2 != len(O) % 2:
		print('NO')
	else:
		status = False
		for j in range(len(E)):
			for k in range(len(O)):
				if abs(E[j] - O[k]) == 1:
					status = True
					break
		if status:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(0, t):
	n = int(input())
	odd = []
	even = []
	arr = list(map(int, input().split(' ')))
	for i in range(0, len(arr)):
		if arr[i] % 2 == 0:
			even.append(arr[i])
		else:
			odd.append(arr[i])
	res = ''
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		res = 'YES'
	elif len(odd) % 2 == 1 and len(even) % 2 == 0:
		res = 'NO'
	elif len(odd) % 2 == 0 and len(even) % 2 == 1:
		res = 'NO'
	else:
		find = 0
		for i in range(0, len(odd)):
			for j in range(0, len(even)):
				if abs(odd[i] - even[j]) == 1:
					find = 1
					break
		if find == 1:
			res = 'YES'
		else:
			res = 'NO'
	print(res)


t = int(input())
for _ in range(0, t):
	n = int(input())
	arr = list(map(int, input().strip().split(' ')))
	arr.sort()
	c = 0
	even = 0
	odd = 0
	for i in range(0, n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		a = 0
		for i in range(0, n - 1):
			if arr[i + 1] - arr[i] == 1:
				a += 1
				break
		if a == 0:
			print('NO')
		else:
			print('YES')


N = int(input())
for i in range(N):
	a = int(input())
	p = list(map(int, input().strip().split()))
	p.sort()
	rslt = 'YES'
	e = []
	o = []
	for i in p:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		rslt = 'YES'
	elif len(e) % 2 != 0 and len(o) % 2 != 0:
		for i in range(len(p) - 1):
			if p[i + 1] - p[i] == 1:
				rslt = 'YES'
				break
			else:
				rslt = 'NO'
	print(rslt)


def func(s):
	s1 = sorted(s)
	if sum(s) % 2 == 0:
		return 'YES'
	else:
		for j in range(m - 1):
			if abs(s1[j] - s1[j + 1]) == 1:
				Ssum = sum(s1[:j] + s1[j + 2:])
				if Ssum % 2 == 0:
					return 'YES'
	return 'NO'
n = int(input())
for i in range(n):
	f = 0
	k = []
	m = int(input())
	s = [int(q) for q in input().split()]
	print(func(s))


def main():
	import sys
	input = sys.stdin.readline
	sys.setrecursionlimit(10 ** 7)
	from collections import Counter, deque
	from itertools import combinations, permutations, accumulate, groupby, product
	from bisect import bisect_left, bisect_right
	from heapq import heapify, heappop, heappush
	import math
	t = int(input())
	for _ in range(t):
		n = int(input())
		a = list(map(int, input().split()))
		even = 0
		odd = 0
		for i in a:
			if i % 2 == 0:
				even += 1
			else:
				odd += 1
		if even % 2 ^ odd % 2:
			print('NO')
		elif even % 2 == 0 and odd % 2 == 0:
			print('YES')
		else:
			res = 0
			a.sort()
			for i in range(n - 1):
				if a[i + 1] - a[i] == 1:
					res = 1
			if res:
				print('YES')
			else:
				print('NO')
main()


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	e = []
	o = []
	for i in range(len(arr)):
		if arr[i] & 1:
			o.append(arr[i])
		else:
			e.append(arr[i])
	if len(e) % 2 == 0 and len(o) % 2 == 1 or (len(e) % 2 == 1 and len(o) % 2 == 0):
		print('NO')
	elif len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	else:
		s = set()
		d = 0
		for i in range(len(arr)):
			if arr[i] + 1 in s or arr[i] - 1 in s:
				d += 1
				print('YES')
				break
			else:
				s.add(arr[i])
		if d == 0:
			print('NO')


def solve(arr, n):
	(e, o) = ([], [])
	for i in arr:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 != 0 and len(o) % 2 != 0:
		for i in o:
			if i + 1 in e or i - 1 in e:
				return True
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		return True
t = int(input())
while t:
	t = t - 1
	n = int(input())
	arr = list(map(int, input().split()))
	if solve(arr, n):
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	n = int(input())
	a = list(map(int, input().rstrip().split()))
	b = sorted(a)
	e = 0
	o = 0
	j = 0
	for i in range(n):
		if b[i] % 2 == 0:
			e += 1
		else:
			o += 1
		if i > 0:
			if b[i] - b[i - 1] == 1:
				j += 1
	if e % 2 == 0 or j > 0:
		print('YES')
	else:
		print('NO')
	t -= 1


import sys
import math
read = sys.stdin.buffer.read
input = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
t = int(input())
for case in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	adjacent = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			adjacent = 1
	odd = len([i for i in a if i % 2])
	if odd % 2 == 0:
		print('YES')
	elif adjacent:
		print('YES')
	else:
		print('NO')


n = int(input())
for i in range(n):
	t = int(input())
	l = list(map(int, input().split()))
	l.sort()
	ce = 0
	c = 0
	for i in range(t - 1):
		if l[i + 1] - l[i] == 1:
			c += 1
	for i in range(t):
		if l[i] & 1 == 0:
			ce += 1
	if c > 0 or ce & 1 == 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	visited = [0] * n
	flag = 0
	counteven = 0
	countodd = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			counteven += 1
		else:
			countodd += 1
	if counteven % 2 == 0 and countodd % 2 == 0:
		print('YES')
	else:
		arr.sort()
		flag = 0
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')


import io
import os
from collections import Counter, defaultdict, deque

def solve(N, A):
	assert N % 2 == 0
	A.sort()
	evens = [x for x in A if x % 2 == 0]
	odds = [x for x in A if x % 2 == 1]
	if len(evens) % 2 == 0 and len(odds) % 2 == 0:
		return 'YES'
	assert len(evens) % 2 == len(odds) % 2 == 1
	for (x, y) in zip(A, A[1:]):
		if y - x == 1:
			return 'YES'
	return 'NO'
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
T = int(input())
for t in range(T):
	(N,) = [int(x) for x in input().split()]
	A = [int(x) for x in input().split()]
	ans = solve(N, A)
	print(ans)


t = int(input())
for j in range(t):
	n = int(input())
	aa = [int(a) for a in input().split()]
	(o, e) = (0, 0)
	for i in aa:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		continue
	aa.sort()
	f = 0
	for i in range(n - 1):
		if aa[i + 1] - aa[i] == 1:
			f = 1
	if f == 1:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline

def int_array():
	return list(map(int, input().strip().split()))
for _ in range(int(input())):
	n = int(input())
	a = sorted(int_array())
	odd = even = 0
	for i in a:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	if even % 2 != 0 and odd % 2 == 0:
		print('NO')
	elif even % 2 == 0 and odd % 2 != 0:
		print('NO')
	else:
		f = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				f = 1
				break
		if f:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	nums = [int(j) for j in input().split()]
	nums.sort()
	diff = [nums[k + 1] - nums[k] for k in range(n - 1)]
	evens = [e for e in nums if e % 2 == 0]
	odds = [o for o in nums if o % 2 == 1]
	if len(evens) % 2 == 0:
		print('YES')
	elif 1 in diff:
		print('YES')
	else:
		print('NO')


t = int(input())
while t != 0:
	n = int(input())
	list1 = list(map(int, input().split()))
	ev = 0
	od = 0
	alternate = 0
	for i in range(len(list1)):
		for j in range(i, len(list1)):
			if abs(list1[i] - list1[j]) == 1:
				alternate += 1
	for i in range(len(list1)):
		if list1[i] % 2 == 0:
			ev += 1
		else:
			od += 1
	if ev % 2 == 0 and od % 2 == 0:
		print('YES')
	elif alternate != 0:
		print('YES')
	else:
		print('NO')
	t -= 1


import sys
readline = sys.stdin.readline
ns = lambda : readline().rstrip()
ni = lambda : int(readline().rstrip())
nm = lambda : map(int, readline().split())
nl = lambda : list(map(int, readline().split()))

def solve():
	n = ni()
	nums = nl()
	even = []
	odd = []
	for n in nums:
		if n % 2 == 0:
			even.append(n)
		else:
			odd.append(n)
	if len(even) % 2 != len(odd) % 2:
		print('NO')
		return
	if len(even) % 2 == len(odd) % 2 == 0:
		print('YES')
		return
	odds_set = set([even + 1 for even in even])
	for even in even:
		odds_set.add(even - 1)
	for odd in odd:
		if odd in odds_set:
			print('YES')
			return
	print('NO')
t = ni()
for _ in range(t):
	solve()


t = int(input())
for i in range(t):
	a = int(input())
	b = list(map(int, input().split()))
	c = 0
	n = 0
	for i in b:
		if i % 2 == 0:
			c += 1
		else:
			n += 1
	if c % 2 != n % 2:
		print('NO')
	elif c % 2 == 0 and n % 2 == 0:
		print('YES')
	else:
		k = 0
		for x in b:
			for z in b:
				if abs(x - z) == 1:
					k += 1
					break
		if k > 1:
			print('YES')
		else:
			print('NO')


def fn():
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(e, o) = (0, 0)
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		return 'YES'
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			return 'YES'
	return 'NO'
for _ in range(int(input())):
	print(fn())


from sys import stdin as lector
input = lector.readlines()
n = int(input[0])
for i in range(2, 2 * n + 1, 2):
	respuesta = 'YES'
	lista = input[i].split(' ')
	orden = list(map(lambda x: int(x), lista))
	pares = 0
	for j in range(0, len(orden)):
		if orden[j] % 2 == 0:
			pares = pares + 1
	if pares % 2 == 1:
		respuesta = 'NO'
		for k in range(0, len(orden) - 1):
			for l in range(k + 1, len(orden)):
				if abs(orden[k] - orden[l]) == 1:
					respuesta = 'YES'
	print(respuesta)


t = int(input())
for z in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	e = []
	o = []
	for i in l:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	flag = 0
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		flag = 1
		print('YES')
	elif len(e) % 2 != 0 and len(o) % 2 != 0:
		for i in e:
			if i - 1 in o or i + 1 in o:
				print('YES')
				flag = 1
				break
	if flag == 0:
		print('NO')


from sys import stdin, stdout
t = int(input())
for _ in range(t):
	n = int(stdin.readline())
	nums = list(map(int, stdin.readline().strip().split()))
	nums.sort()
	d = dict()
	(even, odd) = (0, 0)
	for i in nums:
		d[i] = 0
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	elif even % 2 == 0 and odd % 2 != 0 or (even % 2 != 0 and odd % 2 == 0):
		print('NO')
		continue
	temp = list(d.keys())
	flag = 0
	for k in temp:
		if k - 1 in d and k in d:
			del d[k]
			del d[k - 1]
			flag = 1
			break
		elif k + 1 in d and k in d:
			del d[k]
			del d[k + 1]
			flag = 1
			break
	if flag:
		print('YES')
	else:
		print('NO')


import sys
sys.setrecursionlimit(10 ** 7)
stdin = sys.stdin
ni = lambda : int(ns())
na = lambda : list(map(int, stdin.readline().split()))
ns = lambda : stdin.readline().rstrip()
t = ni()
for i in range(t):
	n = ni()
	a = na()
	odd = 0
	dif = 0
	a.sort()
	for i in range(n):
		odd += a[i] % 2
		dif += a[i + 1:].count(a[i] + 1)
	even = n - odd
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif min(even % 2, odd % 2) <= dif:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
import math
n = int(stdin.readline())
for i in range(n):
	t = int(stdin.readline())
	arr = [int(x) for x in stdin.readline().split()]
	arr.sort()
	even_cnt = 0
	yes = 0
	for i in arr:
		if i % 2 == 0:
			even_cnt += 1
	for i in range(1, t):
		if abs(arr[i] - arr[i - 1]) == 1:
			yes = 1
	if even_cnt % 2 == 0 or yes == 1:
		stdout.write('YES' + '\n')
	else:
		stdout.write('NO' + '\n')


t = input()
for i in range(int(t)):
	z = input()
	n = int(z)
	lis = input().split()
	aa = []
	for i in lis:
		aa.append(int(i))
	o = 0
	e = 0
	f = 0
	for j in range(n):
		if aa[j] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0:
		f = 1
	else:
		aa.sort()
		for k in range(n - 1):
			if aa[k + 1] - aa[k] == 1:
				f = 1
	if f == 1:
		print('YES')
	else:
		print('NO')


for o in range(int(input())):
	n = int(input())
	p = [0, 0]
	d = [0] * 200
	f = 0
	for i in map(int, input().split()):
		p[i % 2] += 1
		f |= d[i - 1]
		f |= d[i + 1]
		d[i] = 1
	(g, k) = p
	if g % 2 == 0 or f:
		ans = 'YES'
	else:
		ans = 'NO'
	print(ans)


from collections import defaultdict
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	b = defaultdict(int)
	(even, odd) = (0, 0)
	(evenL, oddL) = ([], [])
	for i in a:
		if i % 2 == 0:
			even += 1
			b[i] = 1
			evenL.append(i)
		else:
			odd += 1
			b[i] = 1
			oddL.append(i)
	ans = False
	if even % 2 == 0 and odd % 2 == 0:
		ans = True
	elif even <= odd:
		for i in evenL:
			if b[i - 1] == 1 or b[i + 1] == 1:
				ans = True
				break
	else:
		for i in oddL:
			if b[i - 1] == 1 or b[i + 1] == 1:
				ans = True
				break
	if ans:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	s = list(map(int, input().split()))
	a = [0 for i in range(102)]
	(le, lo) = ([], [])
	(ce, co) = (0, 0)
	for i in range(n):
		k = s[i]
		if k % 2 == 0:
			le.append(k)
			ce += 1
		else:
			lo.append(k)
			co += 1
		a[k] = 1
	if ce % 2 == 0:
		print('YES')
	else:
		ans = 'NO'
		if ce < co:
			for i in le:
				if a[i - 1] == 1 or a[i + 1] == 1:
					ans = 'YES'
					break
		else:
			for i in lo:
				if a[i - 1] == 1 or a[i + 1] == 1:
					ans = 'YES'
					break
		print(ans)


import math
t = int(input())
res = []
for i in range(t):
	n = int(input())
	inp = input()
	arr = list(map(int, inp.split()))
	even = []
	odd = []
	for i in range(n):
		if arr[i] % 2 == 1 or arr[i] == 1:
			odd.append(arr[i])
		else:
			even.append(arr[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		res.append('YES')
	else:
		m = True
		for i in range(len(odd)):
			for j in range(len(even)):
				if abs(odd[i] - even[j]) == 1 and m:
					res.append('YES')
					m = False
		if m:
			res.append('NO')
for i in res:
	print(i)


t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	(odd, even) = (0, 0)
	var = False
	if A[0] % 2 == 0:
		even += 1
	else:
		odd += 1
	for j in range(n - 1):
		if A[j + 1] - A[j] == 1:
			var = True
		if A[j + 1] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0 or var:
		print('YES')
	else:
		print('NO')


import sys
import math
import itertools
import functools
import collections
import operator
import fileinput
import copy
ORDA = 97

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return [int(i) for i in input().split()]

def lcm(a, b):
	return abs(a * b) // math.gcd(a, b)

def revn(n):
	return str(n)[::-1]

def dd():
	return collections.defaultdict(int)

def ddl():
	return collections.defaultdict(list)

def sieve(n):
	if n < 2:
		return list()
	prime = [True for _ in range(n + 1)]
	p = 3
	while p * p <= n:
		if prime[p]:
			for i in range(p * 2, n + 1, p):
				prime[i] = False
		p += 2
	r = [2]
	for p in range(3, n + 1, 2):
		if prime[p]:
			r.append(p)
	return r

def divs(n, start=2):
	r = []
	for i in range(start, int(math.sqrt(n) + 1)):
		if n % i == 0:
			if n / i == i:
				r.append(i)
			else:
				r.extend([i, n // i])
	return r

def divn(n, primes):
	divs_number = 1
	for i in primes:
		if n == 1:
			return divs_number
		t = 1
		while n % i == 0:
			t += 1
			n //= i
		divs_number *= t

def prime(n):
	if n == 2:
		return True
	if n % 2 == 0 or n <= 1:
		return False
	sqr = int(math.sqrt(n)) + 1
	for d in range(3, sqr, 2):
		if n % d == 0:
			return False
	return True

def convn(number, base):
	new_number = 0
	while number > 0:
		new_number += number % base
		number //= base
	return new_number

def cdiv(n, k):
	return n // k + (n % k != 0)

def ispal(s):
	for i in range(len(s) // 2 + 1):
		if s[i] != s[-i - 1]:
			return False
	return True
for t in range(ii()):
	n = ii()
	arr = list(mi())
	e = 0
	o = 0
	d = {}
	for i in range(n):
		d[arr[i]] = True
		if arr[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0:
		print('YES')
		continue
	res = False
	for i in range(i):
		if arr[i] - 1 in d:
			res = True
			break
		if arr[i] + 1 in d:
			res = True
			break
	if res == True:
		print('YES')
	else:
		print('NO')


R = lambda : list(map(int, input().split()))
for _ in range(int(input())):
	n = R()[0]
	a = R()
	a.sort()
	z = a[0] & 1
	yes = False
	for i in range(1, n):
		z += a[i] & 1
		yes |= a[i] - a[i - 1] == 1
	print('NYOE S'[yes | z & 1 ^ 1::2])


def oe(arr):
	odd = 0
	even = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 1:
		arr.sort()
		ans = 0
		for i in range(len(arr) - 1):
			if arr[i + 1] - arr[i] == 1:
				ans = 1
				return True
		if ans == 0:
			return False
	else:
		return True
case_num = int(input())
for i in range(case_num):
	arr_num = int(input())
	arr = input().split(' ')
	for i in range(len(arr)):
		arr[i] = int(arr[i])
	if oe(arr):
		print('YES')
	else:
		print('NO')


test = int(input())
for _ in range(test):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	od = 0
	ev = 0
	for i in range(n):
		if l[i] % 2:
			od += 1
		else:
			ev += 1
	if od % 2 == 0 and ev % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				flag = True
		if flag:
			print('YES')
		else:
			print('NO')


import sys
input = lambda : sys.stdin.readline().strip()
inp = lambda : list(map(int, input().split()))
for _ in range(int(input())):
	n = int(input())
	a = inp()
	a.sort()
	flag = True
	i = 0
	vis = [False for i in range(n)]
	even = odd = pair = 0
	while i < n:
		if a[i] % 2 == 1:
			if i > 0 and a[i - 1] == a[i] - 1 and (vis[i - 1] == False):
				pair += 1
			elif i < n - 1 and a[i + 1] == a[i] + 1 and (vis[i + 1] == False):
				vis[i + 1] = True
				pair += 1
			else:
				odd += 1
		elif i > 0 and a[i - 1] == a[i] - 1 and (vis[i - 1] == False):
			pair += 1
		elif i < n - 1 and a[i + 1] == a[i] + 1 and (vis[i + 1] == False):
			vis[i + 1] = True
			pair += 1
		else:
			even += 1
		i += 1
	print('YES' if even % 2 == 0 and odd % 2 == 0 or pair > 0 else 'NO')


def findAns(arr):
	evenP = []
	oddP = []
	for i in arr:
		if i % 2:
			oddP.append(i)
		else:
			evenP.append(i)
	if len(oddP) % 2 == 0 and len(evenP) % 2 == 0:
		return True
	elif len(oddP) % 2 == 0 ^ len(evenP) % 2 == 0:
		return False
	else:
		nums = dict(zip(evenP, [True for i in range(len(evenP))]))
		for i in oddP:
			if i - 1 in nums:
				return True
			if i + 1 in nums:
				return True
		return False
for t in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	ans = findAns(arr)
	if ans:
		print('YES')
	else:
		print('NO')


t = int(input())
for z in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = []
	odd = []
	answer = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(even) % 2 == 0:
		answer = 1
	else:
		for i in range(len(odd)):
			for j in range(len(even)):
				if abs(odd[i] - even[j]) == 1:
					answer = 1
					break
			if answer == 1:
				break
	if answer == 1:
		print('YES')
	else:
		print('NO')


import sys
import math
import collections
from sys import stdin, stdout, setrecursionlimit
import bisect as bs
setrecursionlimit(2 ** 20)
M = 10 ** 9 + 7
T = int(stdin.readline())
for _ in range(T):
	n = int(stdin.readline())
	a = list(map(int, stdin.readline().split()))
	e = 0
	o = 0
	d = {}
	for i in range(n):
		d[a[i]] = True
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0:
		print('YES')
		continue
	res = False
	for i in range(n):
		if a[i] + 1 in d:
			res = True
			break
		if a[i] - 1 in d:
			res = True
			break
	if res:
		print('YES')
	else:
		print('NO')


import math as mt
import sys, string
input = sys.stdin.readline
L = lambda : list(map(int, input().split()))
Ls = lambda : list(input().split())
M = lambda : map(int, input().split())
I = lambda : int(input())
t = I()
for _ in range(t):
	n = I()
	l = L()
	e = 0
	o = 0
	w = []
	s = []
	for i in range(n):
		if l[i] % 2 == 0:
			w.append(l[i])
			e += 1
		else:
			s.append(l[i])
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		l.sort()
		f = 0
		for i in range(1, n):
			if abs(l[i] - l[i - 1]) == 1:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


import sys
sys.setrecursionlimit(10 ** 6)
int1 = lambda x: int(x) - 1
p2D = lambda x: print(*x, sep='\n')

def II():
	return int(sys.stdin.readline())

def MI():
	return map(int, sys.stdin.readline().split())

def LI():
	return list(map(int, sys.stdin.readline().split()))

def LLI(rows_number):
	return [LI() for _ in range(rows_number)]

def SI():
	return sys.stdin.readline()[:-1]

def main():
	for _ in range(II()):
		n = II()
		aa = LI()
		aa.sort()
		one = False
		odd = 0
		pa = -1
		for a in aa:
			if a - pa == 1:
				one = True
			odd += a % 2
			pa = a
		if odd % 2 == 0 or one:
			print('YES')
		else:
			print('NO')
main()


t = int(input())
for u in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	yes = []
	no = []
	for i in range(n):
		if a[i] % 2 == 0:
			yes.append(a[i])
		else:
			no.append(a[i])
	if len(yes) % 2 == len(no) % 2 == 0:
		print('YES')
	elif len(yes) % 2 == len(no) % 2 == 1:
		done = False
		for g in yes:
			for h in no:
				if abs(g - h) == 1:
					done = True
					print('YES')
					break
			if done:
				break
		if not done:
			print('NO')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	d = {}
	a = list(map(int, input().split()))
	e = []
	o = []
	ans = 'NO'
	for i in a:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	if len(e) % 2 != 0:
		for i in e:
			if i + 1 in o or i - 1 in o:
				ans = 'YES'
	else:
		ans = 'YES'
	print(ans)


for _ in range(int(input())):
	noa = int(input())
	integers = list(map(int, input().split()))
	integers.sort()
	even = 0
	odd = 0
	result = 0
	previous = -1
	for i in integers:
		if i - previous == 1:
			result += 1
			previous = -1
		else:
			previous = i
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif result > 0:
		print('YES')
	else:
		print('NO')


testy = int(input())
results = []
for i in range(testy):
	trash = input()
	wejscie = list(map(int, input().split()))
	parz = []
	niep = []
	wejscie.sort()
	for num in wejscie:
		if num % 2 == 0:
			parz.append(num)
		else:
			niep.append(num)
	if len(parz) % 2 == 0:
		results.append('YES')
	else:
		i = 0
		j = 0
		res = 'NO'
		while i < len(niep) and j < len(parz):
			if abs(parz[j] - niep[i]) == 1:
				res = 'YES'
				break
			elif parz[j] > niep[i]:
				i = i + 1
			else:
				j = j + 1
		results.append(res)
for result in results:
	print(result)


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	odd = 0
	for j in range(n):
		if l[j] % 2 != 0:
			odd += 1
	even = n - odd
	diff1 = 0
	j = 0
	for z in range(n - 1):
		if l[j + 1] - l[j] == 1:
			diff1 += 1
			j += 1
		j += 1
		if j >= n - 1:
			break
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	else:
		flag = 0
		for zz in range(1, diff1 + 1):
			if (even - zz) % 2 == 0 and (odd - zz) % 2 == 0:
				print('YES')
				flag = 1
			break
		if flag == 1:
			continue
	print('NO')


import sys
import math
import os
import itertools
import string
import heapq
import _collections
from collections import Counter
from collections import defaultdict
from functools import lru_cache
import bisect
import re
import queue
from decimal import *

class Scanner:

	@staticmethod
	def int():
		return int(sys.stdin.readline().rstrip())

	@staticmethod
	def string():
		return sys.stdin.readline().rstrip()

	@staticmethod
	def map_int():
		return [int(x) for x in Scanner.string().split()]

	@staticmethod
	def string_list(n):
		return [Scanner.string() for i in range(n)]

	@staticmethod
	def int_list_list(n):
		return [Scanner.map_int() for i in range(n)]

	@staticmethod
	def int_cols_list(n):
		return [Scanner.int() for i in range(n)]

class Math:

	@staticmethod
	def gcd(a, b):
		if b == 0:
			return a
		return Math.gcd(b, a % b)

	@staticmethod
	def lcm(a, b):
		return a * b // Math.gcd(a, b)

	@staticmethod
	def divisor(n):
		res = []
		i = 1
		for i in range(1, int(n ** 0.5) + 1):
			if n % i == 0:
				res.append(i)
				if i != n // i:
					res.append(n // i)
		return res

	@staticmethod
	def round_up(a, b):
		return -(-a // b)

	@staticmethod
	def is_prime(n):
		if n < 2:
			return False
		if n == 2:
			return True
		if n % 2 == 0:
			return False
		d = int(n ** 0.5) + 1
		for i in range(3, d + 1, 2):
			if n % i == 0:
				return False
		return True

def pop_count(x):
	x = x - (x >> 1 & 6148914691236517205)
	x = (x & 3689348814741910323) + (x >> 2 & 3689348814741910323)
	x = x + (x >> 4) & 1085102592571150095
	x = x + (x >> 8)
	x = x + (x >> 16)
	x = x + (x >> 32)
	return x & 127
MOD = int(1000000000.0) + 7
INF = int(1000000000000000.0)

def solve():
	N = Scanner.int()
	A = Scanner.map_int()
	A.sort()
	on = sum([a % 2 for a in A])
	if on % 2 == 0:
		return True
	for i in range(N - 1):
		if A[i + 1] - A[i] == 1:
			return True
	return False

def main():
	T = Scanner.int()
	for _ in range(T):
		print('YNEOS'[not solve()::2])
main()


text = [*open(0)]
for s in text[2::2]:
	l = list(map(int, s.strip().split()))
	l.sort()
	a = 0
	for i in range(len(l)):
		if l[i] & 1:
			a += 1
	if a:
		pos = 0
		while True:
			if pos > len(l) - 2:
				break
			if l[pos + 1] - l[pos] == 1:
				a = 0
				break
			pos += 1
		if a:
			if a & 1:
				print('NO')
			else:
				print('YES')
		else:
			print('YES')
	else:
		print('YES')


def mergeSort(data):
	if len(data) > 1:
		mid = len(data) // 2
		L = data[:mid]
		R = data[mid:]
		mergeSort(L)
		mergeSort(R)
		i = j = k = 0
		while i < len(L) and j < len(R):
			if L[i] < R[j]:
				data[k] = L[i]
				i += 1
			else:
				data[k] = R[j]
				j += 1
			k += 1
		while i < len(L):
			data[k] = L[i]
			i += 1
			k += 1
		while j < len(R):
			data[k] = R[j]
			j += 1
			k += 1
for t in range(int(input())):
	n = int(input())
	arr = [int(x) for x in input().split()]
	mergeSort(arr)
	cntrl = 0
	for i in range(n - 1):
		if arr[i + 1] - arr[i] == 1:
			cntrl = 1
	even = 0
	odd = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		ans = 'YES'
	elif cntrl == 1:
		ans = 'YES'
	else:
		ans = 'NO'
	print(ans)


import math
t = int(input())
for k in range(t):
	n = int(input())
	a = [int(j) for j in input().split()]
	even = 0
	odd = 0
	for i in a:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
		continue
	flag = 0
	for i in a:
		for j in a:
			if abs(i - j) == 1:
				print('YES')
				flag = 1
				break
		if flag == 1:
			break
	if flag == 0:
		print('NO')


def q_1360_C():

	def solve(n, nums):
		evens = 0
		odds = 0
		for n in nums:
			if n % 2 == 0:
				evens += 1
			else:
				odds += 1
		if evens % 2 == 0 and odds % 2 == 0:
			print('YES')
			return
		if evens % 2 != odds % 2:
			print('NO')
			return
		nums = sorted(nums)
		for i in range(len(nums) - 1):
			if abs(nums[i] - nums[i + 1]) == 1:
				print('YES')
				return
		print('NO')
	t = int(input())
	for test in range(t):
		solve(n=int(input()), nums=[int(w) for w in input().split()])
q_1360_C()


for _ in range(int(input())):
	a = int(input())
	b = sorted(list(map(int, input().split())))
	(x, q, w) = (0, 0, 0)
	for i in range(len(b)):
		if b[i] - b[i - 1] == 1:
			w += 1
		if b[i] % 2 != 0:
			x += 1
		else:
			q += 1
	if w == 0:
		if x % 2 != 0:
			print('NO')
		else:
			print('YES')
	else:
		print('YES')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(_) for _ in input().split()]
	even = 0
	odd = 0
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		a.sort()
		answer = False
		for f in range(len(a) - 1):
			if a[f] + 1 == a[f + 1]:
				answer = True
				break
		if answer == True:
			print('YES')
		else:
			print('NO')


t = int(input())
while t:
	t -= 1
	input()
	data = sorted(list(map(int, input().split())))
	if not len(list(filter(lambda n: n % 2, data))) % 2:
		print('YES')
	else:
		for (idx, val) in enumerate(data):
			if idx == len(data) - 1:
				print('NO')
			elif val + 1 == data[idx + 1]:
				print('YES')
				break


t = int(input())
ans = []
for g in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	w = int(a[0] % 2 == 0)
	q = 0
	for i in range(1, n):
		if a[i] % 2 == 0:
			w += 1
		if a[i] - a[i - 1] == 1:
			q += 1
	e = n - w
	if e % 2 == w % 2 == 0 or (e % 2 == w % 2 == 1 and q > 0):
		ans += ['YES']
	else:
		ans += ['NO']
for i in ans:
	print(i)


def ren(l):
	m = l.sort()
	chet = 0
	nechet = 0
	odin = 0
	n = len(l)
	if l[0] % 2 == 1:
		nechet += 1
	else:
		chet += 1
	for i in range(1, n):
		if abs(l[i] - l[i - 1]) == 1:
			odin += 1
		if l[i] % 2 == 1:
			nechet += 1
		else:
			chet += 1
	if chet - nechet % 2 == 1:
		return 'NO'
	elif chet % 2 == 1:
		if odin >= 1:
			return 'YES'
		else:
			return 'NO'
	else:
		return 'YES'
n = int(input())
for i in range(n):
	m = int(input())
	l = str(input()).split(' ')
	l = list(map(lambda x: int(x), l))
	print(ren(l))


import sys
input = lambda : sys.stdin.readline().strip('\r\n')
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = []
	odd_cnt = 0
	even = []
	even_cnt = 0
	diff = []
	for i in range(n):
		if a[i] % 2 == 1:
			odd.append(a[i])
			odd_cnt += 1
		else:
			even.append(a[i])
			even_cnt += 1
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			diff.append((a[i], a[i + 1]))
	if odd_cnt == 0 and even_cnt % 2 == 0:
		print('YES')
	elif even_cnt == 0 and odd_cnt % 2 == 0:
		print('YES')
	elif odd_cnt % 2 == 0 and even_cnt % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(len(diff)):
			even_cnt -= 1
			odd_cnt -= 1
			if odd_cnt % 2 == 0 and even_cnt % 2 == 0:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')


import collections, heapq, itertools, math, functools
groupby = itertools.groupby
rs = lambda : input()
ri = lambda : int(input())
rm = lambda : map(int, input().split())
rai = lambda : [int(x) for x in input().split()]

def solve():
	even = 0
	even_array = []
	odd_array = []
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even += 1
			even_array.append(a[i])
		else:
			odd_array.append(a[i])
	if even % 2 == 0:
		print('YES')
	else:
		for i in range(len(even_array)):
			if odd_array.count(even_array[i] + 1) or odd_array.count(even_array[i] - 1):
				print('YES')
				break
		else:
			print('NO')
for t in range(ri()):
	n = ri()
	a = rai()
	solve()


testing_mode = True
import sys, traceback
test_data = ''
final_output = ''

def input(input_format=0, multi=0):
	if multi > 0:
		return [input(input_format) for x in range(multi)]
	else:
		next_line = next(test_data, None).strip() if test_data else sys.stdin.readline()
		if input_format == 0:
			formatted_input = [next_line]
		elif input_format == 1:
			formatted_input = list(map(int, next_line.split()))
		elif input_format == 2:
			formatted_input = list(map(float, next_line.split()))
		elif input_format == 3:
			formatted_input = next_line.split()
		elif input_format == 4:
			formatted_input = (lambda x: [x[0], list(map(int, x[1:]))])(next_line.split())
		elif input_format == 5:
			formatted_input = (lambda x: [x[0], list(map(float, x[1:]))])(next_line.split())
		else:
			formatted_input = [next_line]
		return formatted_input if len(formatted_input) > 1 else formatted_input[0]

def log(*args):
	if testing_mode:
		print(*args)

def out(output_line, output_format=0, newline=True):
	global final_output
	formatted_output = ''
	if output_format == 0:
		formatted_output = str(output_line)
	elif output_format == 1:
		formatted_output = ' '.join(map(str, output_line))
	elif output_format == 1:
		formatted_output = '\n'.join(map(str, output_line))
	if testing_mode:
		final_output += formatted_output + '\n' * newline
	else:
		print(formatted_output, end='\n' if newline else '')
test_inputs = ['\n7\n4\n11 14 16 12\n2\n1 8\n4\n1 1 1 1\n4\n1 2 5 6\n2\n12 13\n6\n1 6 3 10 5 8\n6\n1 12 3 10 5 8\n\n', '\n$$$\n', '\n$$$\n', '\n$$$\n']
test_outputs = ['\nYES\nNO\nYES\nYES\nYES\nYES\nNO\n\n', '\n$$$\n', '\n$$$\n', '\n$$$\n']

def solve():
	for z in range(input(1)):
		input()
		k = input(1)
		k.sort()
		c = [0, 0]
		for i in k:
			c[i % 2] += 1
		log(k)
		while not (c[0] % 2 == 0 and c[1] % 2 == 0):
			for i in range(len(k) - 2, -1, -1):
				if i + 1 != len(k) and k[i] + 1 == k[i + 1]:
					c[k[i + 1] % 2] -= 1
					c[k[i] % 2] -= 1
					del k[i + 1]
					del k[i]
					break
			else:
				break
		log(k)
		out('YES' if c[0] % 2 == 0 and c[1] % 2 == 0 else 'NO')
	return

def run_all(overwrite_testing=False):
	global testing_mode, final_output, test_data
	testing_mode = overwrite_testing and testing_mode
	if testing_mode:
		tests_failed = 0
		for (test_number, (test_in, test_out)) in enumerate(zip(test_inputs, test_outputs)):
			final_output = ''
			if test_in.lstrip()[:3] == '$$$':
				continue
			test_data = iter([i for i in test_in.split('\n') if i])
			print(f'Test Case #{test_number + 1}:')
			print('<' * 20)
			fail = False
			verdict = '\x1b[92m\x1b[1mPASS\x1b[0m'
			try:
				solve()
				final = final_output.rstrip('\n')
				raw_out = iter(map(str, final.split('\n'))) if final else iter(())
			except Exception:
				raw_out = ''
				fail = True
				print('\x1b[95m')
				traceback.print_exc()
				print('\x1b[0m')
			if raw_out:
				if test_out.lstrip()[:3] == '$$$':
					verdict = '\x1b[94m\x1b[1mSKIP\x1b[0m'
					print('\x1b[94m' + '\n'.join(list(raw_out)) + '\x1b[0m')
				else:
					for line_out in [i for i in test_out.split('\n') if i]:
						line_raw = next(raw_out, '% None %')
						if line_raw == line_out.strip():
							print(f'\x1b[92m{line_raw}\x1b[0m')
						else:
							print(f'\x1b[91m{line_raw}\x1b[0m')
							fail = True
					line_raw = next(raw_out, None)
					while line_raw:
						print(f'\x1b[91m{line_raw}\x1b[0m')
						line_raw = next(raw_out, None)
						fail = True
			print('>' * 20)
			if fail:
				verdict = '\x1b[91m\x1b[1mFAIL\x1b[0m'
				tests_failed += 1
			print(verdict + '\n')
		if tests_failed:
			print(f"\x1b[91m\x1b[1m{tests_failed} TEST{('S' if tests_failed > 1 else '')} FAILED!\x1b[0m")
		else:
			print(f'\x1b[92m\x1b[1mALL TESTS PASSED!\x1b[0m')
	else:
		test_data = False
		solve()
run_all(False)


from sys import stdin, stdout
import math
from collections import Counter, deque
L = lambda : list(map(int, stdin.readline().strip().split()))
M = lambda : map(int, stdin.readline().strip().split())
I = lambda : int(stdin.readline().strip())
IN = lambda : stdin.readline().strip()
C = lambda : stdin.readline().strip().split()
mod = 1000000007

def s(a):
	print(' '.join(list(map(str, a))))
for i in range(I()):
	n = I()
	a = sorted(L())
	(e, o) = (0, 0)
	for i in a:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		b = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				b = 1
				break
		if b == 1:
			print('YES')
		else:
			print('NO')


def solve(arr, n):
	even = []
	odd = []
	for k in arr:
		if k % 2 == 0:
			even.append(k)
		else:
			odd.append(k)
	if len(even) % 2 == 0:
		return 'YES'
	else:
		for j in odd:
			if j + 1 in even or j - 1 in even:
				return 'YES'
		return 'NO'
ans = []
for i in range(int(input())):
	n = int(input())
	arr = [int(x) for x in input().split()]
	ans.append(solve(arr, n))
for it in ans:
	print(it)


from sys import stdin, setrecursionlimit, stdout
from collections import deque
from math import sqrt, floor, ceil, log, log2, log10, pi, gcd, sin, cos, asin

def ii():
	return int(stdin.readline())

def fi():
	return float(stdin.readline())

def mi():
	return map(int, stdin.readline().split())

def fmi():
	return map(float, stdin.readline().split())

def li():
	return list(mi())

def lsi():
	x = list(stdin.readline())
	x.pop()
	return x

def si():
	return stdin.readline().rstrip()
res = ['YES', 'NO']
test_case = ii()
while test_case:
	test_case -= 1
	n = ii()
	a = li()
	a.sort()
	dif = odd = even = 0
	s = set()
	for i in range(n):
		if a[i] % 2:
			odd += 1
		else:
			even += 1
		if i and a[i] - a[i - 1] == 1:
			dif = 1
	f = 1
	if not odd % 2:
		f = 0
	elif dif:
		f = 0
	print(res[f])


def g(a, n):
	c = 0
	for i in range(n):
		if a[i] % 2 == 1:
			c += 1
	if c % 2 == 0:
		return 'YES'
	else:
		C = []
		r = 0
		a.sort()
		for j in range(1, n):
			C.append(abs(a[j] - a[j - 1]))
		for t in range(n - 1):
			if C[t] == 1:
				r += 1
		if r >= 1 and (n - c - 1) % 2 == 0:
			return 'YES'
		else:
			return 'NO'
t = int(input())
while t > 0:
	n = int(input())
	a = list(map(int, input().split()))
	print(g(a, n))
	t -= 1


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	x = []
	y = []
	for j in l:
		if j % 2 == 0:
			x.append(j)
		else:
			y.append(j)
	if len(x) % 2 == 0 and len(y) % 2 == 0:
		print('YES')
	else:
		log = 0
		for m in range(len(x)):
			for n in range(len(y)):
				a = abs(x[m] - y[n])
				if a == 1:
					print('YES')
					log = 1
					break
			if log == 1:
				break
		if log == 0:
			print('NO')


n = int(input())
for x in range(n):
	throw = input()
	A = list(map(int, input().split()))
	A.sort()
	even = 0
	odd = 0
	for x in A:
		if x & 1:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd & 1 and even & 1:
		for x in range(len(A) - 1):
			if A[x] + 1 == A[x + 1]:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('NO')


for _ in range(int(input())):
	N = int(input())
	a = list(map(int, input().split()))
	a.sort()
	consecutive = 0
	counto = 0
	counte = 0
	if a[0] % 2 == 0:
		counte += 1
	else:
		counto += 1
	for i in range(1, N):
		if a[i] - a[i - 1] == 1:
			consecutive += 1
		if a[i] & 1:
			counto += 1
		else:
			counte += 1
	if counto % 2 == 0 and counte % 2 == 0:
		print('YES')
	elif counto % 2 != 0 and counte % 2 != 0 and (consecutive > 0):
		print('YES')
	else:
		print('NO')


T = int(input())
for t in range(T):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	c_odd = 0
	c_even = 0
	c_diff1 = 0
	prev = -10000
	for a in arr:
		if a % 2 == 0:
			c_even += 1
		else:
			c_odd += 1
		if abs(a - prev) == 1:
			c_diff1 += 1
		prev = a
	if c_even % 2 == 0 and c_odd % 2 == 0:
		print('YES')
	elif c_even % 2 != 0 and c_odd % 2 != 0:
		if c_diff1 > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = [int(i) for i in input().split()]
	c = 0
	for i in range(n):
		if a[i] % 2 == 0:
			c += 1
	if c % 2 == 0:
		print('YES')
	else:
		a.sort()
		odin = 0
		i = 0
		while i < n - 1:
			if a[i + 1] - a[i] == 1:
				odin += 1
				i += 1
			i += 1
		if odin >= 1:
			print('YES')
		else:
			print('NO')


t = int(input())
while t:
	n = int(input())
	a = [int(i) for i in input().split()]
	del_2 = []
	nedel_2 = []
	for i in range(n):
		if a[i] % 2 == 0:
			del_2.append(a[i])
		else:
			nedel_2.append(a[i])
	if len(del_2) % 2 == len(nedel_2) % 2 == 0:
		print('YES')
	else:
		flag = True
		for i in range(len(del_2)):
			for j in range(len(nedel_2)):
				if abs(del_2[i] - nedel_2[j]) == 1:
					print('YES')
					flag = False
					break
			if not flag:
				break
		if flag:
			print('NO')
	t -= 1


import queue
import math
t = int(input())
while t:
	n = int(input())
	a = input().split()
	a = [int(x) for x in a]
	(odd, even) = (0, 0)
	for x in a:
		odd += x % 2
		even += x % 2 + 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		flag = False
		for x in a:
			for y in a:
				if x - y == 1 or x - y == -1:
					flag = True
					break
		if flag:
			print('YES')
		else:
			print('NO')
	t -= 1


def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
entries = inp()
for i in range(entries):
	n = inp()
	l = inlt()
	l.sort()
	so = 0
	se = 0
	o = 0
	e = 0
	i = 0
	last = -1
	while i < len(l):
		flag = 0
		j = i + 1
		if j < len(l):
			while l[j] - l[i] < 2:
				if l[j] - l[i] == 1:
					del l[j]
					n -= 1
					if l[i] % 2 == 0:
						se += 1
						so += 1
						flag = 1
						break
					else:
						so += 1
						se += 1
						flag = 1
						break
				j += 1
				if j >= len(l):
					break
		if flag == 0:
			if l[i] % 2 == 0:
				e += 1
			else:
				o += 1
		i += 1
	if e % 2 == 1 and o % 2 == 1 and (se == 0) and (so == 0):
		print('NO')
	else:
		print('YES')


for i in range(int(input())):
	size = int(input())
	s = list(map(int, input().split()))
	(even, odd) = (0, 0)
	lookup = set()
	odd_list = []
	for a in s:
		if a % 2 == 0:
			even += 1
			lookup.add(a)
		elif a % 2 == 1:
			odd += 1
			odd_list.append(a)
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		j = 0
		dif = odd % 2
		while j < len(odd_list) and dif > 0:
			if odd_list[j] + 1 in lookup or odd_list[j] - 1 in lookup:
				dif -= 1
			j += 1
		if dif == 0:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(0, t):
	n = input()
	a = list(map(int, input().split()))
	a.sort()
	count = len([a1 for a1 in a if a1 % 2 == 0])
	haspair = any((a[i + 1] - a[i] == 1 for i in range(0, len(a) - 1)))
	print('YES' if count % 2 == 0 or haspair else 'NO')


for g in [*open(0)][2::2]:
	a = sorted(map(int, g.split()))
	c = sum((i % 2 for i in a))
	e = 1
	for i in range(len(a) - 1):
		if a[i] + 1 == a[i + 1]:
			e = 0
			break
	print('YNEOS'[c % 2 + e == 2::2])


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(le, lo) = ([], [])
	for i in l:
		if i % 2 == 0:
			le.append(i)
		else:
			lo.append(i)
	if len(le) % 2 == 0 and len(lo) % 2 == 0:
		print('YES')
	else:
		le.sort()
		lo.sort()
		(x, y) = (len(le), len(lo))
		(a, b) = (x, y)
		z = min(x, y)
		l2 = []
		z = 0
		for i in range(x):
			if le[i] - 1 in lo:
				lo.remove(le[i] - 1)
			elif le[i] + 1 in lo:
				lo.remove(le[i] + 1)
			else:
				l2.append(le[i])
			if len(l2) % 2 == 0 and len(lo) % 2 == 0:
				z += 1
				break
		if z > 0:
			print('YES')
		else:
			print('NO')


n = int(input())
for i in range(n):
	x = int(input())
	ls = list(map(int, input().split()))
	m = 0
	k = 0
	for j in range(x):
		if ls[j] & 1:
			m += 1
	ls.sort()
	for j in range(1, x):
		if ls[j] - ls[j - 1] == 1:
			k += 1
	if m & 1 and (not k):
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a = sorted(a)
	even = 0
	hO = False
	try:
		for i in range(n):
			if a[i] % 2 == 0:
				even += 1
			if a[i + 1] - a[i] == 1:
				hO = True
				raise IndexError
	except IndexError:
		if even % 2 == 0 or hO:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	input()
	a = sorted(list(map(int, input().split())))
	if not len(list(filter(lambda n: n % 2, a))) % 2:
		print('YES')
	else:
		for (idx, val) in enumerate(a):
			if idx == len(a) - 1:
				print('NO')
			elif val + 1 == a[idx + 1]:
				print('YES')
				break


t = int(input())
for tc in range(t):
	n = int(input())
	(E, O) = ([], [])
	for i in [int(_) for _ in input().split()]:
		O.append(i) if i % 2 else E.append(i)
	if len(E) % 2:
		ok = False
		for i in E:
			if not ok:
				for j in O:
					if abs(j - i) == 1:
						ok = True
						break
		print('YES' if ok else 'NO')
	else:
		print('YES')


for _ in range(int(input())):
	N = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	for num in arr:
		if num % 2 == 0:
			even.append(num)
		else:
			odd.append(num)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		dic = set(even)
		for num in odd:
			if num - 1 in dic or num + 1 in dic:
				print('YES')
				break
		else:
			print('NO')


import math

class Solution:

	def __init__(self):
		test = int(input())
		for i in range(0, test):
			n = int(input())
			a = list(map(int, input().split()))
			print(self.solve(n, a))

	def solve(self, n, a):
		odd = even = 0
		for i in a:
			odd += i % 2
			even += (i + 1) % 2
		if odd % 2 == 0:
			return 'YES'
		else:
			a.sort()
			for i in range(1, n):
				if a[i] == a[i - 1] + 1:
					return 'YES'
		return 'NO'
Solution()


def main():
	for t in range(int(input())):
		n = int(input())
		a = [int(i) for i in input().split()]
		a.sort()
		evens = 0
		odds = 0
		for i in a:
			if i % 2 == 0:
				evens += 1
			else:
				odds += 1
		if evens % 2 == 0:
			print('YES')
		else:
			possible = False
			for i in range(1, n):
				if a[i] - a[i - 1] == 1:
					possible = True
					break
			if possible:
				print('YES')
			else:
				print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	a = [int(i) for i in input().split()]
	a = sorted(a)
	even = 0
	odd = 0
	pr = 0
	for i in a:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0:
		print('YES')
	else:
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				pr = 1
				break
		if pr == 1:
			print('YES')
		else:
			print('NO')


import sys
import math
input = sys.stdin.buffer.readline
t = int(input())
for _ in range(t):
	n = int(input())
	arr = [int(c) for c in input().split()]
	arr.sort()
	i = 0
	ans = [i % 2 for i in arr]
	if ans.count(1) % 2 == 0 and ans.count(0) % 2 == 0:
		print('YES')
	elif ans.count(1) % 2 != ans.count(0) % 2:
		print('NO')
	else:
		for i in range(len(arr) - 1):
			if arr[i + 1] - arr[i] == 1:
				print('YES')
				break
		else:
			print('NO')


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	(o, e) = ([], [])
	for i in range(n):
		if a[i] % 2 == 0:
			e.append(a[i])
		else:
			o.append(a[i])
	if len(o) % 2 == 0:
		print('YES')
	else:
		for x in o:
			if x - 1 in e or x + 1 in e:
				print('YES')
				break
		else:
			print('NO')


def similar(a, b):
	if abs(a - b) == 1 or a % 2 == b % 2:
		return True
	return False
for _ in range(int(input())):
	n = int(input())
	lst = list(map(int, input().split()))
	even = []
	odd = []
	for i in range(n):
		if lst[i] % 2 == 0:
			even.append(lst[i])
		else:
			odd.append(lst[i])
	if len(even) % 2 == 0 or len(odd) % 2 == 0:
		print('YES')
		continue
	m = False
	for i in even:
		flag = False
		for j in range(len(odd)):
			if similar(i, odd[j]):
				flag = True
				break
		if flag:
			m = True
			break
	if m:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
t = inp()
for i in range(t):
	n = inp()
	arr = inlt()
	one = False
	even = 0
	odd = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 != odd % 2:
		print('NO')
	elif even % 2 == 0:
		print('YES')
	else:
		for i in range(n):
			for j in range(i + 1, n):
				(a, b) = (arr[i], arr[j])
				if abs(a - b) == 1:
					one = True
					break
		if not one:
			print('NO')
		else:
			print('YES')


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	cpair = 0
	for i in l:
		if i % 2 == 0:
			cpair += 1
	if cpair % 2 == 0:
		print('YES')
	else:
		l.sort()
		flag = False
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


def solve(arr, n, ans):
	odd = []
	even = []
	for j in arr:
		if j % 2 == 0:
			even.append(j)
		else:
			odd.append(j)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		ans.append('YES')
	elif len(odd) % 2 != 0 and len(even) % 2 != 0:
		odd = set(odd)
		for i in even:
			if i - 1 in odd or i + 1 in odd:
				ans.append('YES')
				return
		ans.append('NO')
	else:
		ans.append('NO')

def main():
	t = int(input())
	ans = []
	for i in range(t):
		n = int(input())
		arr = list(map(int, input().split()))
		solve(arr, n, ans)
	for i in ans:
		print(i)
main()


import sys
import math
import operator as op
from functools import reduce

def read_line():
	return sys.stdin.readline()[:-1]

def read_int():
	return int(sys.stdin.readline())

def read_int_line():
	return [int(v) for v in sys.stdin.readline().split()]

def read_float_line():
	return [float(v) for v in sys.stdin.readline().split()]

def ncr(n, r):
	r = min(r, n - r)
	numer = reduce(op.mul, range(n, n - r, -1), 1)
	denom = reduce(op.mul, range(1, r + 1), 1)
	return numer / denom
t = read_int()
for i in range(t):
	n = read_int()
	a = read_int_line()
	even = []
	odd = []
	for i in a:
		if i & 1 == 0:
			even.append(i)
		else:
			odd.append(i)
	f = False
	if len(even) & 1 == 0:
		f = True
	else:
		f = False
		for i in even:
			for j in odd:
				if abs(i - j) == 1:
					f = True
					break
	if f:
		print('YES')
	else:
		print('NO')


def qc(ns, n):
	m = sum(map(lambda x: x % 2, ns))
	if m % 2 == 0 and m * 2 == n:
		return True
	mm = n - m
	pair = False
	for i in range(n - 1):
		if ns[i] + 1 == ns[i + 1]:
			pair = True
			break
	if mm % 2 == 1 and (not pair):
		return False
	return True
m = int(input())
for i in range(m):
	n = int(input())
	ns = sorted(list(map(int, input().split())))
	print('YES' if qc(ns, n) else 'NO')


t = int(input())
while t != 0:
	t -= 1
	n = int(input())
	my_num = input()
	my_list = [int(i) for i in my_num.split(' ')]
	even = []
	odd = []
	for item in my_list:
		if item % 2 == 0:
			even.append(item)
		else:
			odd.append(item)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
		continue
	c = 0
	for it1 in odd:
		for it2 in even:
			if abs(it1 - it2) == 1:
				c = 1
				break
		if c == 1:
			break
	if c == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	e = 0
	o = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 != o % 2:
		print('NO')
	elif e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		got = False
		arr.sort()
		for i in range(1, n):
			if abs(arr[i] - arr[i - 1]) == 1:
				got = True
				break
		if got:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(k) for k in input().split()]
	ecnt = 0
	for k in range(len(a)):
		if a[k] % 2 == 0:
			ecnt += 1
	if ecnt % 2 == 0:
		print('YES')
	else:
		check = False
		aevn = [k for k in a if k % 2 == 0]
		aodd = [k for k in a if k % 2 != 0]
		for x in range(len(aevn)):
			for y in range(len(aodd)):
				if abs(aevn[x] - aodd[y]) == 1:
					check = True
					break
		if check:
			print('YES')
		else:
			print('NO')


t = int(input())
result = []
for i in range(t):
	n = int(input())
	a = [int(x) for x in input().split(' ')]
	a.sort()
	countEven = 0
	countOdd = 0
	for x in a:
		if x % 2 == 0:
			countEven = countEven + 1
		else:
			countOdd = countOdd + 1
	if countEven % 2 == 0:
		result.append('YES')
	else:
		ok = True
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				ok = False
				break
		if ok:
			result.append('NO')
		else:
			result.append('YES')
for i in result:
	print(i)


case = int(input())
for i in range(case):
	n = int(input())
	list1 = [int(v) for v in input().split()]
	list1.sort()
	list2 = []
	odd = 0
	even = 0
	for j in range(n - 1):
		list2.append(abs(list1[j + 1] - list1[j]))
	for k in range(n):
		if list1[k] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif 1 in list2:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = [*map(int, input().split())]
	a.sort()
	even = 0
	odd = 0
	cnt = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i != 0:
			if a[i] - a[i - 1] == 1:
				cnt += 1
	if even % 2 == 0 or cnt >= 1:
		print('YES')
	else:
		print('NO')


def st(nk):
	nk.sort()
	diff = list(nk)
	for i in range(len(nk) - 1):
		if nk[i + 1] - nk[i] == 1:
			diff.remove(nk[i + 1])
			diff.remove(nk[i])
			break
	deven = 0
	for i in diff:
		if i % 2 == 0:
			deven = deven + 1
	even = 0
	odd = 0
	for i in nk:
		if i % 2 == 0:
			even = even + 1
		else:
			odd = odd + 1
	if even % 2 == 0 and odd % 2 == 0:
		return 'YES'
	elif len(diff) + 2 == len(nk) and deven % 2 == 0:
		return 'YES'
	else:
		return 'NO'
t = int(input())
ans = []
for i in range(t):
	n = int(input())
	nk = list(map(int, input().rstrip().split()))
	r = st(nk)
	ans.append(r)
for i in ans:
	print(i)


a = int(input())
for fewfweefw in range(a):
	a = int(input())
	lst = input().split()
	lst = [int(p) for p in lst]
	odd = []
	even = []
	for i in lst:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('yes')
	elif len(odd) % 2 == 1 and len(even) % 2 == 1:
		check = True
		for val in odd:
			if val + 1 in even or val - 1 in even:
				check = False
				print('yes')
				break
		if check:
			print('no')
	elif len(odd) % 2 == 1 and len(even) % 2 == 0:
		check = True
		for val in odd:
			if val + 1 in even or val - 1 in even:
				check = False
				print('yes')
				break
		if check:
			print('no')
	elif len(even) % 2 == 1 and len(odd) % 2 == 0:
		check = True
		for val in even:
			if val + 1 in odd or val - 1 in odd:
				print('yes')
				check = False
				break
		if check:
			print('no')


kl = int(input())
for l in range(kl):
	n = int(input())
	a = [int(i) for i in input().split()]
	(pr, prn, prc, sc) = (0, 1, 1, 0)
	for i in range(n):
		if a[i] % 2 == 1:
			sc += 1
			for j in range(n):
				if abs(a[i] - a[j]) == 1:
					pr = 1
	if pr or sc % 2 == 0:
		print('YES')
	else:
		print('NO')


c = int(input())
for w in range(c):
	cond = False
	l = int(input())
	d = [int(x) for x in input().split(' ')]
	odd = [x for x in d if x % 2 != 0]
	even = [x for x in d if x % 2 == 0]
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		cond = True
	else:
		for x in odd:
			if x + 1 in even or x - 1 in even:
				cond = True
				break
	if cond:
		print('Yes')
	else:
		print('No')


t = int(input())
rez = []
for i in range(t):
	n = int(input())
	nn = 0
	s = input().split(' ')
	ch = 0
	for j in range(n):
		s[j] = int(s[j])
		if s[j] % 2 == 0:
			ch += 1
	if ch % 2 == 0:
		rez.append('YES')
	else:
		s.sort()
		for jj in range(n - 1):
			if s[jj + 1] - s[jj] == 1:
				nn = 1
				break
		if nn == 1:
			rez.append('YES')
		else:
			rez.append('NO')
for i in range(len(rez)):
	print(rez[i])


from bisect import bisect
t = int(input())
for _ in range(t):
	n = int(input())
	(*a,) = map(int, input().split())
	ae = [ai for ai in a if ai % 2 == 0]
	ae.sort()
	ao = [ai for ai in a if ai % 2]
	ao.sort()
	if len(ae) % 2 == 0:
		print('YES')
		continue
	flag = False
	for aei in ae:
		j = bisect(ao, aei)
		if abs(ao[j - 1] - aei) == 1 or (j < len(ao) and abs(ao[j] - aei) == 1):
			print('YES')
			flag = True
			break
	if not flag:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	x = list(map(int, input().split()))
	c = 0
	d = 0
	for i in range(n):
		if x[i] % 2 == 0:
			c = c + 1
		else:
			d = d + 1
	if c % 2 == 0 and d % 2 == 0:
		print('YES')
	else:
		e = 0
		x.sort()
		for i in range(0, n - 1):
			if x[i + 1] - x[i] == 1:
				e = e + 1
				break
		if e == 0:
			print('NO')
		else:
			print('YES')


t = int(input(''))
for i in range(t):
	n = int(input(''))
	s = input('')
	L = s.split(' ')
	for j in range(len(L)):
		L[j] = int(L[j])
	Le = []
	Lo = []
	for j in range(len(L)):
		if L[j] % 2 == 0:
			Le.append(L[j])
		else:
			Lo.append(L[j])
	le = len(Le)
	flag = 0
	if le % 2 != 0:
		for j in Le:
			if j - 1 in Lo or j + 1 in Lo:
				flag = 1
				break
		if flag == 1:
			print('YES')
		elif flag == 0:
			print('NO')
	else:
		print('YES')


t = int(input())
for k in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	od = []
	ev = []
	for i in range(n):
		if l[i] % 2 == 0:
			ev.append(l[i])
		else:
			od.append(l[i])
	if len(od) % 2 == 0 and len(ev) % 2 == 0:
		print('Yes')
	else:
		flag = False
		for i in range(len(od)):
			if flag == False:
				for j in range(len(ev)):
					if abs(od[i] - ev[j]) == 1:
						flag = True
						break
			else:
				break
		if flag == False:
			print('No')
		else:
			print('Yes')


n = int(input())
for _ in range(n):
	x = int(input())
	a = list(map(int, input().split()))
	ev = 0
	od = 0
	for i in range(0, x):
		if a[i] % 2 == 0:
			ev += 1
		else:
			od += 1
	if ev % 2 == 0:
		print('YES')
	else:
		a.sort()
		flag = 0
		for i in range(0, x - 1):
			if a[i] + 1 == a[i + 1]:
				flag = 2
				break
		if flag == 2:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	even = 0
	odd = 0
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	f = 0
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			f = 1
			break
	if f:
		print('YES')
	else:
		print('NO')


def modinv(n, p):
	return pow(n, p - 2, p)

def main():
	for case in range(int(input())):
		n = int(input())
		series = [int(x) for x in input().split()]
		odds = []
		evens = []
		odds_set = set()
		evens_set = set()
		for x in series:
			if x % 2 == 0:
				evens.append(x)
				evens_set.add(x)
			else:
				odds.append(x)
				odds_set.add(x)
		if len(odds) % 2 == 0:
			print('YES')
		else:
			a = -1
			b = -1
			for x in odds_set:
				if x - 1 in evens_set:
					a = x
					b = x - 1
					break
				elif x + 1 in evens_set:
					a = x
					b = x + 1
					break
			if a == -1:
				print('NO')
			else:
				print('YES')
py2 = round(0.5)
if py2:
	from future_builtins import ascii, filter, hex, map, oct, zip
	range = xrange
import os, sys
from io import IOBase, BytesIO
BUFSIZE = 8192

class FastIO(BytesIO):
	newlines = 0

	def __init__(self, file):
		self._file = file
		self._fd = file.fileno()
		self.writable = 'x' in file.mode or 'w' in file.mode
		self.write = super(FastIO, self).write if self.writable else None

	def _fill(self):
		s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
		self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
		return s

	def read(self):
		while self._fill():
			pass
		return super(FastIO, self).read()

	def readline(self):
		while self.newlines == 0:
			s = self._fill()
			self.newlines = s.count(b'\n') + (not s)
		self.newlines -= 1
		return super(FastIO, self).readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.getvalue())
			(self.truncate(0), self.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		if py2:
			self.write = self.buffer.write
			self.read = self.buffer.read
			self.readline = self.buffer.readline
		else:
			self.write = lambda s: self.buffer.write(s.encode('ascii'))
			self.read = lambda : self.buffer.read().decode('ascii')
			self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


import sys
import math as mt
input = sys.stdin.buffer.readline
t = int(input())
for __ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	(e, o) = (0, 0)
	p = [0] * 101
	for i in range(n):
		p[l[i]] = 1
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if o % 2 == 0:
		print('YES')
	else:
		ch = 0
		for i in range(1, 100):
			if p[i] == p[i + 1] == 1:
				ch = 1
				break
		if ch == 1:
			print('YES')
		else:
			print('NO')


def main():
	t = int(input())
	for i in range(t):
		n = int(input())
		nums = list(map(int, input().split()))
		(odd, even) = (0, 0)
		all_nums = set(nums)
		for i in nums:
			if i % 2 == 0:
				even += 1
			else:
				odd += 1
		found = False
		if even % 2 == 0:
			print('YES')
			continue
		else:
			for i in nums:
				if i - 1 in all_nums or i + 1 in all_nums:
					print('YES')
					found = True
					break
		if not found:
			print('NO')
main()


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	(odd_cnt, even_cnt) = (0, 0)
	odd = set()
	even = set()
	for aa in a:
		if aa % 2:
			odd.add(aa)
			odd_cnt += 1
		else:
			even.add(aa)
			even_cnt += 1
	if odd_cnt % 2 == 0:
		print('YES')
	elif any([x + 1 in even or x - 1 in even for x in odd]):
		print('YES')
	else:
		print('NO')


t = int(input())
import math
for i in range(t):
	n = int(input())
	a = list(map(int, input().strip().split()))
	even = []
	odd = []
	for i in range(len(a)):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(even) % 2 != 0 and len(odd) % 2 != 0:
		k = 0
		for i in range(len(odd)):
			for j in range(len(even)):
				if abs(odd[i] - even[j]) == 1:
					k = 1
					break
			if k == 1:
				break
		if k == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


def main():
	n = int(input())
	a = sorted(list(map(int, input().split())))
	odd_count = sum(map(lambda x: x % 2, a))
	if not odd_count % 2:
		print('YES')
		return
	followed = False
	for i in range(1, n):
		if a[i] == a[i - 1] + 1:
			followed = True
			break
	if followed:
		print('YES')
		return
	print('NO')
for _ in range(int(input())):
	main()


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	even = []
	odd = []
	for x in a:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for e in range(len(even)):
			for o in range(len(odd)):
				if abs(even[e] - odd[o]) == 1:
					flag = 1
		if flag == 1:
			print('YES')
		else:
			print('NO')


q = int(input())
for i in range(q):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	kol = False
	for i in range(1, n):
		if l[i] == l[i - 1] + 1:
			kol = True
			break
	par = 0
	npar = 0
	for i in l:
		if i % 2 == 0:
			par += 1
		else:
			npar += 1
	if not kol:
		if par % 2 == 0 and npar % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif par % 2 == 0 and npar % 2 == 0:
		print('YES')
	elif par % 2 == 1 and npar % 2 == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = [int(o) for o in input().split()]
	a.sort()
	e = 0
	o = 0
	if a[0] % 2 == 0:
		e += 1
	else:
		o += 1
	ans = 0
	for i in range(1, n):
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
		if a[i] - a[i - 1] == 1:
			ans += 1
	if e % 2 == 0 and o % 2 == 0 or ans >= 1:
		print('YES')
	else:
		print('NO')


try:
	for _ in range(int(input())):
		n = int(input())
		l = list(map(int, input().split()))
		l.sort()
		e = []
		o = []
		f = 0
		for i in l:
			if i % 2 == 0:
				e.append(i)
			else:
				o.append(i)
		if len(e) % 2 == 0:
			print('YES')
		else:
			for i in range(len(o)):
				for j in range(len(e)):
					if abs(o[i] - e[j]) == 1:
						f = 1
						break
				if f == 1:
					break
			if f == 0:
				print('NO')
			else:
				print('YES')
except:
	pass


t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	ch = 0
	nc = 0
	c = 0
	j = 0
	while j != n:
		if j != n - 1:
			if A[j + 1] - A[j] == 1:
				c += 1
		if A[j] % 2 == 0:
			ch += 1
		else:
			nc += 1
		j += 1
	if ch % 2 == 0 and nc % 2 == 0 or (ch % 2 != 0 and nc % 2 != 0 and (c >= 1)):
		print('YES')
	else:
		print('NO')


t = int(input())
odd = 0
even = 0

def check(a):
	a = int(a)
	global odd
	global even
	if a % 2:
		odd += 1
	else:
		even += 1
	return a
while t:
	odd = even = 0
	t -= 1
	n = int(input())
	arr = list(map(check, input().split()))
	arr.sort()
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				flag = 1
				break
		if flag:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	evencount = 0
	yesflag = 0
	for j in range(n):
		if a[j] % 2 == 0:
			evencount += 1
	for j in range(n):
		for k in range(j + 1, n):
			if abs(a[j] - a[k]) == 1:
				yesflag = 1
	if evencount % 2 == 0 or yesflag == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	t -= 1
	n = int(input())
	a = [int(i) for i in input().split()]
	a.sort()
	nopair = []
	temp = 0
	temp1 = 0
	for i in range(1, len(a)):
		if temp1 == 1:
			temp1 = 0
			if i == n - 1:
				nopair.append(a[i])
			continue
		if a[i] - a[i - 1] != 1:
			nopair.append(a[i - 1])
		if i == n - 1 and a[i] - a[i - 1] != 1:
			nopair.append(a[i])
		if a[i] - a[i - 1] == 1:
			temp1 = 1
			temp = 1
	odd = 0
	even = 0
	for i in nopair:
		if i % 2 == 0:
			even += 1
		if i % 2 != 0:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	if even % 2 == 0 and odd % 2 != 0:
		print('NO')
	if even % 2 != 0 and odd % 2 == 0:
		print('NO')
	if even % 2 != 0 and odd % 2 != 0:
		if temp == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	s = input().split()
	for j in range(n):
		s[j] = int(s[j])
	s.sort()
	l = []
	m = []
	for j in range(n):
		if s[j] % 2 == 0:
			l.append(s[j])
		else:
			m.append(s[j])
	a = len(l)
	b = len(m)
	if a % 2 == 0:
		print('YES')
		continue
	else:
		flag = 0
		for j in range(a):
			for k in range(b):
				if l[j] - m[k] == 1 or m[k] - l[j] == 1:
					flag = 1
					break
			if flag == 1:
				break
		if flag:
			print('YES')
		else:
			print('NO')


from collections import deque
from sys import stdin, stdout
input = stdin.readline
for _ in range(int(input())):
	n = int(input())
	arr = sorted(list(map(int, input().split())))
	first = sum([1 for i in arr if i % 2])
	second = sum([1 for i in arr if not i % 2])
	if first % 2 and second % 2:
		was = False
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				was = True
				break
		if not was:
			print('NO')
			continue
	elif first % 2 or second % 2:
		print('NO')
		continue
	print('YES')


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	n = int(input())
	flag = False
	arr = list(map(int, input().split()))
	(oddc, evenc) = (0, 0)
	for i in range(len(arr)):
		if arr[i] % 2:
			oddc += 1
		else:
			evenc += 1
		for j in range(0, len(arr)):
			if arr[i] + 1 == arr[j]:
				flag = True
				break
	if evenc % 2 == 0 or flag:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	even = [e for e in a if e % 2 == 0]
	odd = []
	for e in a:
		if e % 2 == 1:
			odd.append(e)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		yes = False
		for e in even:
			for o in odd:
				if abs(o - e) == 1:
					yes = True
					break
		for o in odd:
			for e in even:
				if abs(o - e) == 1:
					yes = True
					break
		if yes:
			print('YES')
		else:
			print('NO')


t = int(input())
while t:
	n = int(input())
	a = list(map(int, input().split()))
	even = []
	odd = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0:
		print('YES')
	else:
		c = 0
		for i in range(len(even)):
			for j in range(len(odd)):
				if abs(even[i] - odd[j]) == 1:
					c += 1
		if c > 0:
			print('YES')
		else:
			print('NO')
	t -= 1


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	t = [0] * 102
	e = 0
	o = 0
	for i in a:
		t[i] += 1
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	a.sort()
	check = 0
	if o % 2 == 0 or e % 2 == 0:
		print('YES')
		check = 1
	else:
		for i in a:
			if t[i - 1] != 0 or t[i + 1] != 0:
				print('YES')
				check = 1
				break
	if check == 0:
		print('NO')


n = int(input())
for i in range(n):
	t = int(input())
	ls = list(map(int, input().split()))
	lseven = []
	lsodd = []
	for i in ls:
		if i % 2 == 0:
			lseven.append(i)
		else:
			lsodd.append(i)
	if len(lseven) % 2 == 0:
		print('YES')
	else:
		t = 'NO'
		for i in range(len(lseven)):
			for j in range(len(lsodd)):
				if lseven[i] - lsodd[j] == 1 or lseven[i] - lsodd[j] == -1:
					print('YES')
					t = 'YES'
					break
				elif j == len(lsodd) - 1 and i == len(lseven) - 1:
					print('NO')
					t = 'YES'
			if t == 'YES':
				break


t = int(input())
while t:
	n = int(input())
	a = sorted(map(int, input().split()))
	x = [0, 0]
	for v in a:
		x[v % 2] += 1
	(o, e) = x
	print('YNEOS'[o % 2 and e % 2 and all((y - x != 1 for (x, y) in zip(a, a[1:]))) or o % 2 ^ e % 2::2])
	t -= 1


t = int(input())
while t:
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	for x in a:
		if x % 2 == 0:
			even += 1
		else:
			continue
	ex = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			ex += 1
		else:
			continue
	odd = n - even
	if even == odd:
		if even % 2 == 0 or ex >= 1:
			print('YES')
		else:
			print('NO')
	else:
		z = 0
		if even % 2 == 0 and odd % 2 == 0:
			z = 1
		for i in range(1, ex + 1):
			if (odd - i) % 2 == 0 and (even - i) % 2 == 0:
				z = 1
				break
			else:
				continue
		if z == 0:
			print('NO')
		else:
			print('YES')
	t -= 1


T = int(input())
for _ in range(T):
	n = int(input())
	a = input().split()
	no = []
	ne = []
	for i in range(n):
		a[i] = int(a[i])
		if a[i] % 2 == 0:
			ne.append(a[i])
		else:
			no.append(a[i])
	temp1 = len(ne)
	temp2 = len(no)
	flag = 0
	for i in range(temp1):
		if ne[i] - 1 in no or ne[i] + 1 in no:
			flag = 1
			break
	if flag == 1 or temp1 == 0 or temp2 == 0 or (temp1 % 2 == 0 and temp2 % 2 == 0):
		print('YES')
	else:
		print('NO')


def is_split(L):
	even = [i for i in L if i % 2 == 0]
	if len(even) % 2 == 0:
		return 'YES'
	else:
		L.sort()
		diffs = {L[i + 1] - L[i] for i in range(len(L) - 1)}
		if 1 in diffs:
			return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	L = [int(i) for i in input().split()]
	print(is_split(L))


t = int(input())
for i in range(t):
	s = int(input())
	lst = list(map(int, input().split()))
	lst = sorted(lst)
	odd = 0
	even = 0
	dif_1 = 0
	for i in range(0, s):
		if lst[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i < s - 1 and lst[i + 1] - lst[i] == 1:
			dif_1 += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif dif_1 >= 1:
		print('YES')
	else:
		print('NO')


def solve():
	odd = 0
	even = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 != even % 2:
		return 'NO'
	elif odd % 2 == 0 and even % 2 == 0:
		return 'YES'
	else:
		for i in range(n):
			for j in range(n):
				if abs(arr[i] - arr[j]) == 1:
					return 'YES'
	return 'NO'
testcases = int(input())
for i in range(testcases):
	n = int(input())
	arr = list(map(int, input().split()))
	print(solve())


t = int(input())
for i in range(t):
	rezA = []
	rezB = []
	k = input()
	a = sorted(list(map(int, input().split())))
	for i in range(len(a)):
		rezA.append(a[i] % 2)
		if a[i] - a[i - 1] == 1:
			rezB.append(1)
	if (sum(rezA) + sum(rezB)) % 2 == 0:
		print('YES')
	elif sum(rezA) % 2 == 0 and sum(rezA) > 0:
		print('YES')
	elif sum(rezB) % 2 == 0 and sum(rezB) > 0:
		print('YES')
	else:
		print('NO')


test = int(input())
while test > 0:
	n = int(input())
	a = list(map(int, input().split()))
	(odd, eve) = (0, 0)
	a.sort()
	for i in a:
		if i % 2 == 0:
			eve += 1
		else:
			odd += 1
	if eve % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		t = 0
		for i in range(0, n - 1):
			if a[i + 1] - a[i] == 1:
				print('YES')
				t = 1
				break
		if t == 0:
			print('NO')
	test = test - 1


t = int(input())
for i in range(t):
	n = int(input())
	arr = list(map(int, input().strip().split()))
	counteven = 0
	countodd = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			counteven = counteven + 1
		else:
			countodd = countodd + 1
	if counteven % 2 == 0 and countodd % 2 == 0:
		print('YES')
	elif counteven % 2 != 0 and countodd % 2 == 0 or (counteven % 2 == 0 and countodd % 2 != 0):
		print('NO')
	elif counteven % 2 != 0 and countodd % 2 != 0:
		flag = 0
		arr.sort()
		for j in range(1, n):
			t = arr[j] - arr[j - 1]
			if t == 1:
				print('YES')
				flag = 1
				break
			else:
				continue
		if flag == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	s = []
	for i in range(n):
		s.append(l[i] % 2)
	if len(set(s)) == 1:
		print('YES')
	elif s.count(1) % 2 == 0 and s.count(0) % 2 == 0:
		print('YES')
	else:
		l.sort()
		flag = 0
		for i in range(n - 1):
			if l[i + 1] - l[i] == 1 and l[i] % 2 != l[i + 1] % 2:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	odd = [x for x in a if x % 2 == 1]
	even = [x for x in a if x % 2 == 0]
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
		continue
	for x in odd:
		if x + 1 in even:
			odd.remove(x)
			even.remove(x + 1)
			break
		if x - 1 in even:
			odd.remove(x)
			even.remove(x - 1)
			break
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	l = [int(x) for x in input().split()]
	l.sort()
	a = 0
	b = 0
	c = 0
	for j in l:
		if j % 2 == 0:
			a = a + 1
		else:
			b = b + 1
	for h in range(n - 1):
		if l[h + 1] - l[h] == 1:
			c += 1
	if a % 2 == 0 and b % 2 == 0:
		print('YES')
	elif a % 2 != 0 and b % 2 != 0:
		if c >= 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


numbers_quantity = int(input())
answers = []
while numbers_quantity != 0:
	array_length = int(input())
	array_of_numbers = []
	evens = 0
	unevens = 0
	k = 0
	str_of_numbers = map(int, input().split())
	array_of_numbers = [i for i in str_of_numbers]
	array_of_numbers.sort()
	for i in range(array_length):
		if array_of_numbers[i] % 2 == 0:
			evens += 1
		else:
			unevens += 1
	for i in range(array_length - 1):
		if array_of_numbers[i + 1] - array_of_numbers[i] == 1:
			k += 1
			break
	if array_length == 2:
		if evens == 2 or unevens == 2 or k != 0:
			answers.append('YES')
		else:
			answers.append('NO')
	elif array_length > 2:
		if (evens != 0 and evens % 2 != 0 or (unevens != 0 and unevens % 2 != 0)) and k == 0:
			answers.append('NO')
		else:
			answers.append('YES')
	numbers_quantity -= 1
for i in answers:
	print(i)


author = 'DarshanMohan'
import sys

def input():
	return sys.stdin.readline().strip()

def list2d(a, b, c):
	return [[c] * b for i in range(a)]

def list3d(a, b, c, d):
	return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e):
	return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1):
	return int(-(-x // y))

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST():
	return list(MAP())

def Yes():
	print('Yes')

def No():
	print('No')

def YES():
	print('YES')

def NO():
	print('NO')
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
MOD = 10 ** 9 + 7

def add(a, b, c):
	res = a + b
	if res >= c:
		return res - c
	else:
		return res

def mod(a, b, c):
	res = a * b
	if res >= c:
		return res % c
	else:
		return res

def gcd(a, b):
	while b:
		(a, b) = (b, a % b)
	return a

def lcm(a, b):
	w = a // gcd(a, b)
	return w * b
for _ in range(INT()):
	n = INT()
	s = LIST()
	(even, odd) = (0, 0)
	for i in s:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	s.sort()
	pairs = 0
	for i in range(n - 1):
		if abs(s[i + 1] - s[i]) == 1:
			pairs += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 != 0 and odd % 2 != 0:
		if pairs > 0:
			print('YES')
		else:
			print('NO')
	elif even % 2 == 0 and odd % 2 != 0:
		print('NO')
	elif even % 2 != 0 and odd % 2 == 0:
		print('NO')
	elif even == odd:
		if pairs > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


for lo in range(int(input())):
	n = int(input())
	ls = [int(x) for x in input().split()]
	a = [0 for i in range(101)]
	b = [0 for i in range(101)]
	c = d = 0
	for i in ls:
		if i % 2 == 0:
			a[i] = 1
			c += 1
		else:
			b[i] = 1
			d += 1
	if c % 2 == 0:
		print('YES')
	else:
		ans = 'NO'
		for i in range(2, 101):
			if a[i] == 1:
				if i == 100 and b[i - 1] == 1:
					ans = 'YES'
					break
				if i != 100 and (b[i - 1] == 1 or b[i + 1] == 1):
					ans = 'YES'
					break
		print(ans)


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	x = len(a)
	r = 1
	i = 0
	while i < x and r == 1:
		odd = 0
		even = 0
		x = len(a)
		for j in range(x):
			if a[j] % 2 == 0:
				even += 1
			else:
				odd += 1
		if odd % 2 == 0 and even % 2 == 0:
			r = 0
			print('YES')
			break
		if len(a) == 0:
			break
		if a[i] - a[i - 1] == 1:
			a.pop(i)
			a.pop(i - 1)
		else:
			i += 1
	if r:
		print('NO')


def solve():
	n = int(input())
	l = sorted(list(map(int, input().split())))
	(even, odd, diff) = (0, 0, 0)
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	for i in range(1, n):
		if abs(l[i] - l[i - 1]) == 1:
			diff += 1
	if even % 2 == 0 and odd % 2 == 0:
		return 'YES'
	elif even % 2 == 1 and odd % 2 == 1:
		if diff >= 1:
			return 'YES'
		else:
			return 'NO'
	elif even != odd:
		return 'NO'
	else:
		return 'NO'
for t in range(int(input())):
	print(solve())


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	(evenc, oddc) = (0, 0)
	for i in l:
		if i % 2 == 0:
			evenc += 1
		else:
			oddc += 1
	if evenc % 2 == 0 and oddc % 2 == 0:
		print('YES')
	else:
		f = 0
		l.sort()
		for i in range(n - 1):
			if l[i] + 1 == l[i + 1]:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


def read_int():
	return int(input())

def read_ints():
	return list(map(int, input().split(' ')))
t = read_int()
for case_num in range(t):
	n = read_int()
	a = list(read_ints())
	cnt = [0 for i in range(101)]
	even = 0
	for ai in a:
		cnt[ai] += 1
		if ai % 2 == 0:
			even += 1
	odd = n - even
	if even % 2 == 0:
		print('YES')
	else:
		ok = False
		for i in range(1, 100):
			if cnt[i] > 0 and cnt[i + 1] > 0:
				ok = True
				break
		print('YES' if ok else 'NO')


import math

def main():
	for _ in range(int(input())):
		n = int(input())
		a = list(map(int, input().split()))
		o = list(filter(lambda x: x % 2 == 1, a))
		e = list(filter(lambda x: x % 2 == 0, a))
		x = False
		a.sort()
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				x = True
				break
		print('YES' if len(o) % 2 == 0 and len(e) % 2 == 0 or (x and len(o) % 2 == 1 and (len(e) % 2 == 1)) else 'NO')
main()


def chk(a, n):
	k = [x for x in a if x % 2 == 0]
	z = [x for x in a if x not in k]
	if len(k) % 2 == 0:
		return 'YES'
	for i in z:
		if i - 1 in k or i + 1 in k:
			return 'YES'
	return 'NO'
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	print(chk(a, n))


import sys

def test_similar_partition(arr):
	arr.sort()
	consec_strings = {'oddlen_oddstart': 0, 'oddlen_evenstart': 0, 'evenlen': 0}
	last = arr[0]
	consec = 1
	for val in arr[1:]:
		if val - last == 1:
			consec += 1
		elif consec > 1:
			consec_strings['evenlen' if consec % 2 == 0 else 'oddlen_oddstart' if last % 2 == 1 else 'oddlen_evenstart'] += 1
			consec = 1
		last = val
	if consec > 1:
		consec_strings['evenlen' if consec % 2 == 0 else 'oddlen_oddstart' if last % 2 == 1 else 'oddlen_evenstart'] += 1
	neven = sum([1 if x % 2 == 0 else 0 for x in arr])
	nodd = sum([1 if x % 2 == 1 else 0 for x in arr])
	possible = False
	if nodd % 2 == 0 and neven % 2 == 0:
		possible = True
	elif nodd % 2 == 1 and neven % 2 == 1:
		possible = consec_strings['oddlen_oddstart'] > 0 or consec_strings['oddlen_evenstart'] > 0 or consec_strings['evenlen'] > 0
	return possible
IN = [x.strip() for x in sys.stdin.readlines()]
T = int(IN[0])
for i in range(T):
	n = int(IN[1 + 2 * i])
	arr = [int(x) for x in IN[2 + 2 * i].split(' ')]
	possible = test_similar_partition(arr)
	print('YES' if possible else 'NO')


for i in range(int(input())):
	n = int(input())
	even = []
	odd = []
	flag = 0
	l2 = list(map(int, input().split()))
	for j in l2:
		if j % 2 == 0:
			even.append(j)
		else:
			odd.append(j)
	odd_set = set(odd)
	if len(even) % 2 == 0:
		print('YES')
	elif len(even) % 2 != 0:
		for jj in even:
			if jj - 1 in odd_set or jj + 1 in odd_set:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


import sys
input = sys.stdin.readline
(t,) = map(int, input().split())
for _ in range(t):
	(N,) = map(int, input().split())
	X = sorted(list(map(int, input().split())))
	a = b = 0
	for i in range(N - 1):
		if X[i + 1] - X[i] == 1:
			print('YES')
			break
		if X[i] % 2:
			a += 1
	else:
		if X[i + 1] % 2:
			a += 1
		if a % 2 == 0:
			print('YES')
		else:
			print('NO')


import sys
import heapq
import random
import collections

def solve(lst):
	lst = sorted(lst)
	r1 = len([x for x in lst if x % 2 == 1])
	r2 = len([x for x in lst if x % 2 == 0])
	if r1 % 2 == 0:
		return 'YES'
	for (a, b) in zip(lst[1:], lst[:-1]):
		if a - b == 1:
			return 'YES'
	return 'NO'

def console(*args):
	print('\x1b[36m', *args, '\x1b[0m', file=sys.stderr)
	return
for case_num in range(int(input())):
	_ = int(input())
	lst = list(map(int, input().split()))
	res = solve(lst)
	print(res)


t = int(input())
for j in range(t):
	n = int(input())
	g = input().split()
	for i in range(n):
		g[i] = int(g[i])
	k1 = 0
	k2 = 0
	asd = 0
	g.sort()
	for i in range(n):
		if g[i] % 2 == 0:
			k1 += 1
		else:
			k2 += 1
	for i in range(n - 1):
		if g[i + 1] - g[i] == 1:
			asd += 1
	if k1 % 2 == 0 and k2 % 2 == 0 or ((k1 % 2 == 1 and k2 % 2 == 1) and asd >= 1) or asd + 1 == n:
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	t -= 1
	n = int(input())
	arr = list(map(int, input().split()))
	odd = [arr[i] for i in range(n) if arr[i] % 2 != 0]
	even = [arr[i] for i in range(n) if arr[i] % 2 == 0]
	if len(odd) == n or len(even) == n:
		print('YES')
		continue
	if len(odd) % 2 == 0:
		print('YES')
		continue
	odd = set(odd)
	flag = False
	for e in even:
		if e - 1 in odd or e + 1 in odd:
			flag = True
			break
	if flag:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
from collections import defaultdict, Counter, deque
from bisect import bisect_left, bisect_right
for _ in range(int(stdin.readline())):
	n = int(stdin.readline())
	l = list(map(int, stdin.readline().split()))
	l.sort()
	i = 0
	o = e = 0
	count = 0
	while i < n:
		if l[i] & 1:
			o += 1
		else:
			e += 1
		i += 1
	p = e // 2 + o // 2
	if o % 2 != 0:
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				p += 1
				break
	if 2 * p == n:
		print('YES')
	else:
		print('NO')


cases = int(input())
for i in range(cases):
	n = int(input())
	line2 = input().split(' ')
	arr = []
	for a in line2:
		arr.append(int(a))
	odd = 0
	even = 0
	o = []
	e = []
	for b in arr:
		if b % 2 == 0:
			even += 1
			e.append(b)
		else:
			odd += 1
			o.append(b)
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd % 2 != even % 2:
		print('NO')
	else:
		found = False
		for c in o:
			n1 = c + 1
			if n1 in e:
				print('YES')
				found = True
				break
			n2 = c - 1
			if n2 in e:
				print('YES')
				found = True
				break
		if not found:
			print('NO')


def solve():
	n = input()
	pairs = list(map(int, input().split()))

	def similar(pairs):
		pairs.sort()
		odd = sum((p & 1 for p in pairs))
		even = sum((not p & 1 for p in pairs))
		if not odd & 1 and (not even & 1):
			return True
		if not odd & 1 and even & 1 or (odd & 1 and (not even & 1)):
			return False
		neigh = sum((y - x == 1 for (x, y) in zip(pairs, pairs[1:])))
		return neigh > 0
	print('YES' if similar(pairs) else 'NO')
for _ in range(int(input())):
	solve()


cases = int(input())
for _ in range(cases):
	n = int(input())
	s = sorted(list(map(int, input().split())))
	even = 0
	odd = 0
	for i in range(len(s)):
		if s[i] & 1:
			odd += 1
		else:
			even += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		t = 0
		for i in range(1, n):
			if abs(s[i] - s[i - 1]) == 1:
				t = 1
		if t:
			print('YES')
		else:
			print('NO')


def foo(a, n):
	res = 0
	for i in range(n):
		res += a[i] % 2
	return res
t = int(input())
for gf in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	if n % 2 != 0:
		print('NO')
	elif foo(a, n) % 2 == 0:
		print('YES')
	else:
		m = a[1] - a[0]
		flag = False
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				flag = True
		if flag or m == 1:
			print('YES')
		else:
			print('NO')


from sys import stdin

def getl():
	return stdin.readline().strip()

def geta():
	return getl().split()

def geti():
	return [int(x) for x in geta()]
(t,) = geti()
for _ in range(t):
	(n,) = geti()
	a = geti()
	even = 0
	for i in a:
		if i % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
	else:
		a.sort()
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				print('YES')
				break
		else:
			print('NO')


t = int(input())
while t != 0:
	t -= 1
	n = int(input())
	a = list(map(int, input().split(' ')))
	e = 0
	o = 0
	c = 0
	a.sort()
	for i in a:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	i = 0
	while i < n - 1:
		if -a[i] + a[i + 1] == 1:
			c += 1
			i = i + 2
		else:
			i = i + 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif c != 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	c = 0
	list1 = []
	list2 = []
	for j in s:
		if j % 2 == 0:
			c = c + 1
			list1.append(j)
		else:
			list2.append(j)
	if c % 2 == 0:
		print('YES')
	else:
		z = 0
		for j in list1:
			if list2.count(j + 1) > 0 or list2.count(j - 1) > 0:
				print('YES')
				z = 1
				break
		if z == 0:
			print('NO')


t = int(input())
for _ in range(t):
	l = int(input())
	a = list(map(int, input().split()))
	el = []
	ol = []
	if l & 1 == 1:
		print('NO')
	else:
		for i in range(l):
			if a[i] & 1 == 0:
				el.append(a[i])
			else:
				ol.append(a[i])
		if len(el) & 1 == 0 and len(ol) & 1 == 0:
			print('YES')
		else:
			a.sort()
			f = 0
			for i in range(l - 1):
				if a[i + 1] - a[i] == 1:
					f = l
					print('YES')
					break
			if f == 0:
				print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	d = {}
	for i in l:
		try:
			d[i] += 1
		except:
			d[i] = 1
	a = 0
	b = 0
	for i in l:
		if i % 2:
			a += 1
		else:
			b += 1
	if not a % 2:
		print('YES')
	else:
		for i in l:
			try:
				c = d[i - 1]
				print('YES')
				break
			except:
				try:
					c = d[i + 1]
					print('YES')
					break
				except:
					pass
		else:
			print('NO')


def main():
	for _ in range(int(input())):
		n = int(input())
		arr = list(map(int, input().split()))
		arr1 = []
		arr2 = []
		for i in arr:
			if i % 2 == 0:
				arr1.append(i)
			else:
				arr2.append(i)
		if len(arr1) % 2 == 0 and len(arr2) % 2 == 0:
			print('YES')
		else:
			flag = 0
			arr = sorted(arr)
			for i in range(1, len(arr)):
				if arr[i] - arr[i - 1] == 1:
					flag = 1
					break
			if len(arr1) % 2 != 0 and len(arr2) % 2 != 0 and (flag == 1):
				print('YES')
			else:
				print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	ls = list(map(int, input().split()))
	even = []
	flag = 0
	odd = []
	for i in ls:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		flag = 1
	elif len(odd) % 2 != 0 and len(even) % 2 != 0:
		for i in even:
			for j in odd:
				if abs(i - j) == 1:
					flag = 1
					break
	if flag == 1:
		print('YES')
	else:
		print('NO')


def main():
	n_num = int(input())
	for k in range(n_num):
		l = int(input())
		a = sorted(list(map(int, input().split(' '))))
		im = 0
		for i in a:
			im += i % 2
		con = 0
		for i in range(1, len(a)):
			if a[i] - a[i - 1] == 1:
				con += 1
		pa = l - im
		res = im // 2 + pa // 2
		if res + con >= l // 2:
			print('YES')
		else:
			print('NO')
main()


def driver():
	t = int(input())
	for i in range(t):
		print(solution())

def solution():
	n = int(input())
	a = [int(x) for x in input().split()]
	(o, e, p) = (0, 0, 1)
	for i in a:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		return 'YES'
	elif e % 2 == 1 and o % 2 == 1:
		for i in range(n - 1):
			for j in range(i + 1, n):
				if a[i] - a[j] == 1 or a[i] - a[j] == -1:
					return 'YES'
		else:
			return 'NO'
	else:
		return 'NO'
driver()


class UnionFind:

	def __init__(self, n):
		self.n = n
		self.root = [-1] * (n + 1)
		self.rnk = [0] * (n + 1)

	def Find_Root(self, x):
		if self.root[x] < 0:
			return x
		else:
			self.root[x] = self.Find_Root(self.root[x])
			return self.root[x]

	def Unite(self, x, y):
		x = self.Find_Root(x)
		y = self.Find_Root(y)
		if x == y:
			return
		elif self.rnk[x] > self.rnk[y]:
			self.root[x] += self.root[y]
			self.root[y] = x
		else:
			self.root[y] += self.root[x]
			self.root[x] = y
			if self.rnk[x] == self.rnk[y]:
				self.rnk[y] += 1

	def isSameGroup(self, x, y):
		return self.Find_Root(x) == self.Find_Root(y)

	def Count(self, x):
		return -self.root[self.Find_Root(x)]
t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	h = UnionFind(n)
	(e, o) = (-1, -1)
	if a[0] % 2 == 0:
		e = 0
	else:
		o = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			h.Unite(i, i - 1)
		if a[i] % 2 == 0:
			if e != -1:
				h.Unite(e, i)
			e = i
		else:
			if o != -1:
				h.Unite(i, o)
			o = i
	f = 1
	for i in range(n):
		if h.Count(i) % 2 == 1:
			f = 0
			break
	print('YES' if f else 'NO')


t = int(input())
for i in range(t):
	n = int(input())
	e = []
	o = []
	for num in input().split(' '):
		if int(num) % 2 == 0:
			e.append(int(num))
		else:
			o.append(int(num))
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	else:
		c = 0
		for num in e:
			if num + 1 in o or num - 1 in o:
				c = 1
				break
		if c == 1:
			print('YES')
		else:
			print('NO')


def three(a):
	odd = a[0] % 2
	near = False
	for i in range(1, len(a)):
		if abs(a[i] - a[i - 1]) == 1:
			near = True
		odd += a[i] % 2
	if odd % 2 == 0 or near:
		return 'YES'
	return 'NO'
t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	print(three(a))


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	(oddCount, evenCount) = (0, 0)
	consective = False
	for i in range(len(a)):
		if a[i] % 2 == 0:
			evenCount += 1
		else:
			oddCount += 1
		if i > 0 and abs(a[i] - a[i - 1]) == 1:
			consective = True
	if evenCount % 2 == 0 and oddCount % 2 == 0:
		print('YES')
	elif evenCount % 2 == 1 and oddCount % 2 == 1 and consective:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	lst = list(map(int, input().split()))
	lst.sort()
	count1 = count2 = 0
	for i in range(n):
		if lst[i] % 2 == 0:
			count1 += 1
	for i in range(1, n):
		if lst[i] - lst[i - 1] == 1:
			count2 += 1
	if count1 % 2 != 0 and count2 == 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	x = list(map(int, input().split()))
	even = 0
	odd = 0
	for j in range(len(x)):
		if x[j] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 != odd % 2:
		print('NO')
	elif even % 2 == 0:
		print('YES')
	else:
		out = 0
		for i in range(n):
			for j in range(i + 1, n):
				if x[i] % 2 != x[j] % 2 and abs(x[i] - x[j]) == 1:
					print('YES')
					out = 1
					break
			if out == 1:
				break
		if out != 1:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	odd = []
	even = []
	for e in l:
		if e % 2 == 0:
			even.append(e)
		else:
			odd.append(e)
	remO = len(odd) % 2
	remE = len(even) % 2
	flag = False
	if remO == 0 and remE == 0:
		print('YES')
	else:
		for e in even:
			if e - 1 in odd or e + 1 in odd:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


num_lines = int(input())
lineList = [input() for i in range(num_lines * 2)]

def isAb(a, b):
	return abs(a - b) == 1
for line in lineList[1::2]:
	line = [int(i) for i in line.split()]
	evens = [i for i in line if i % 2 == 0]
	odds = [i for i in line if i % 2]
	if len(evens) % 2 == 0 and len(odds) % 2 == 0:
		print('YES')
	else:
		line = sorted(line)
		flag = True
		for (ind, num) in enumerate(line[1:]):
			if isAb(num, line[ind]):
				flag = False
				break
		if flag:
			print('NO')
		else:
			print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	l = [int(x) for x in input().split()]
	count = 0
	for j in range(n):
		if l[j] % 2:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		l.sort()
		true = 0
		for c in range(n - 1):
			if l[c + 1] - l[c] == 1:
				true = 1
				break
		if true:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	array = list(map(int, input().split()))
	array.sort()
	numOdd = 0
	numEven = 0
	if array[0] % 2 == 0:
		numEven += 1
	else:
		numOdd += 1
	prev = array[0]
	minus = 0
	for i in range(1, n):
		if array[i] % 2 == 0:
			numEven += 1
		else:
			numOdd += 1
		if abs(array[i] - prev) == 1:
			minus += 1
		prev = array[i]
	if numEven % 2 == 0 and numOdd % 2 == 0:
		print('YES')
		continue
	if minus > 1:
		numEven = numEven - 1
		numOdd = numOdd - 1
		minus -= 1
	if numEven % 2 == 0 and numOdd % 2 == 0:
		print('YES')
		continue
	if minus > 0:
		numEven = numEven - 1
		numOdd = numOdd - 1
		minus -= 1
	if numEven % 2 == 0 and numOdd % 2 == 0:
		print('YES')
		continue
	else:
		print('NO')


import collections
for _ in range(int(input())):
	n = int(input())
	odd = collections.Counter()
	even = collections.Counter()
	for num in input().split():
		num = int(num)
		if num % 2 == 0:
			even[num] += 1
		else:
			odd[num] += 1
	if sum(odd.values()) % 2 == 0 and sum(even.values()) % 2 == 0:
		print('YES')
	elif any((odd_num + 1 in even or odd_num - 1 in even for odd_num in odd)):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	ct = [0, 0]
	for i in a:
		ct[i % 2] += 1
	if ct[0] % 2 == 0 and ct[1] % 2 == 0:
		print('YES')
	else:
		fl = False
		if ct[0] % 2 == 1 and ct[1] % 2 == 1:
			for i in a:
				if i % 2 == 1:
					if i - 1 in a or i + 1 in a:
						fl = True
						break
		if fl:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	(even, odd) = (0, 0)
	a.sort()
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 != 0 and odd % 2 != 0:
		fg = 0
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				fg = 1
				print('YES')
				break
		if fg == 0:
			print('NO')
	else:
		print('NO')


def check(i):
	list1 = []
	listo = []
	for x in i:
		list1.append(int(x))
		if int(x) % 2 != 0:
			listo.append(int(x))
	o = len(listo)
	if len(list1) == 2:
		if o == 1:
			if list1[0] - list1[1] == 1 or list1[1] - list1[0] == 1:
				return 'YES'
			else:
				return 'NO'
		else:
			return 'YES'
	elif o % 2 == 0:
		return 'YES'
	else:
		for y in list1:
			if y % 2 == 0:
				if y - 1 in listo or y + 1 in listo:
					return 'YES'
		return 'NO'
t = int(input())
listf = []
for x in range(t):
	n = int(input())
	i = input().split()
	listf.append(check(i))
for g in listf:
	print(g)


import sys

def partition_exists(numbers):
	numbers.sort()
	odd = 0
	even = 0
	for n in numbers:
		if n & 1:
			odd += 1
		else:
			even += 1
	cont = 0
	for n in range(1, len(numbers)):
		if numbers[n] - numbers[n - 1] == 1:
			cont += 1
	if odd & 1 and cont == 0:
		return False
	else:
		return True
for line in sys.stdin:
	if ' ' in line:
		print('YES' if partition_exists(list(map(int, line.split()))) else 'NO')


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(no, ne) = (0, 0)
	b = False
	for i in l:
		if i % 2 == 0:
			ne += 1
		else:
			no += 1
	if no % 2 == 0 and ne % 2 == 0:
		b = True
	else:
		for i in range(n - 1):
			if l[i + 1] - l[i] == 1:
				b = True
				break
	if b:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	l = [int(num) for num in input().split()]
	(i, e, c) = (0, 0, 0)
	l.sort()
	for i in range(n):
		if l[i] % 2 == 0:
			e = e + 1
		if i < n - 1 and l[i + 1] - l[i] == 1:
			c = c + 1
	if e % 2 == 0:
		print('YES')
	elif c > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = 0
	even = 0
	yes = False
	for i in range(n):
		odd += a[i] & 1
		even += a[i] & 1 ^ 1
		if n - 1 - i:
			yes |= a[i + 1] - a[i] == 1
	res = False
	res |= odd % 2 == 0
	res |= yes
	print(['NO', 'YES'][int(res)])


for _ in range(int(input())):
	n = int(input())
	A = [int(_) for _ in input().split()]
	(x, y) = (0, 0)
	(X, Y) = ([], [])
	for _ in range(n):
		if A[_] % 2 == 0:
			x += 1
			X.append(A[_])
		else:
			y += 1
			Y.append(A[_])
	if x % 2 == 0:
		print('YES')
	else:
		for _ in range(x):
			if X[_] + 1 in Y or X[_] - 1 in Y:
				print('YES')
				break
		else:
			print('NO')


for _ in range(int(input())):
	input()
	a = list(map(int, input().split()))
	even = sorted((v for v in a if v % 2 == 0))
	odd = sorted((v for v in a if v % 2 == 1))
	if len(even) == len(a) or len(even) % 2 == 0:
		print('YES')
		continue
	found = False
	for v1 in odd:
		for v2 in even:
			if abs(v1 - v2) == 1:
				found = True
		if found:
			break
	if found:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	t = t - 1
	n = int(input())
	l = list(map(int, input().split()))
	even = []
	odd = []
	for w in l:
		if w % 2 == 0:
			even.append(w)
		else:
			odd.append(w)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for w in even:
			if w - 1 in odd or w + 1 in odd:
				flag = 1
				break
		if flag == 0:
			print('NO')
		else:
			print('YES')


def solution1(a):
	even = sum([1 for k in a if k % 2 == 0])
	odd = sum([1 for k in a if k % 2 == 1])
	if even % 2 == 0 and odd % 2 == 1 or (even % 2 == 1 and odd % 2 == 0):
		print('NO')
		return
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		return
	a = set(a)
	for k in a:
		if k + 1 in a:
			print('YES')
			return
	print('NO')
inp = int(input())
for _ in range(inp):
	_ = input()
	a = list(map(int, input().split()))
	solution1(a)


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	odd = len(list(filter(lambda x: x % 2 != 0, a)))
	even = len(list(filter(lambda x: x % 2 == 0, a)))
	oddl = []
	evenl = []
	cap = 0
	for i in a:
		if i % 2 == 0:
			evenl.append(i)
		else:
			oddl.append(i)
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		cap = 1
	elif odd % 2 == 1 and even % 2 == 0:
		for i in oddl:
			if i + 1 in evenl or i - 1 in evenl:
				print('YES')
				cap = 1
				break
	elif odd % 2 == 0 and even % 2 == 1:
		for i in evenl:
			if i + 1 in oddl or i - 1 in oddl:
				print('YES')
				cap = 1
				break
	elif odd % 2 == 1 and even % 2 == 1:
		for i in evenl:
			if i + 1 in oddl or i - 1 in oddl:
				print('YES')
				cap = 1
				break
	if cap == 0:
		print('NO')


def function(a):
	co = 0
	ce = 0
	for i in range(n):
		if a[i] % 2 == 1:
			co += 1
		else:
			ce += 1
	if co % 2 == 0 and ce % 2 == 0:
		return 'YES'
	else:
		for j in range(0, n - 1):
			if a[j + 1] - a[j] == 1:
				return 'YES'
	return 'NO'
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	print(function(a))


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	temp = [0] * (n + 1)
	b = []
	c = []
	o = 0
	e = 0
	for i in a:
		if i % 2:
			o += 1
			b.append(i)
		else:
			c.append(i)
			e += 1
	k = 0
	if o % 2 == 0 or e % 2 == 0:
		print('YES')
		continue
	f = 0
	for i in range(len(b)):
		for j in range(len(c)):
			if abs(b[i] - c[j]) == 1:
				f = 1
				break
		if f:
			break
	if f:
		print('YES')
	else:
		print('NO')


def solve(n, ar):
	odd = 0
	even = 0
	for i in range(n):
		if ar[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 != even % 2:
		print('NO')
		return
	else:
		if even % 2 == 0:
			print('YES')
			return
		else:
			for i in range(n):
				for j in range(i + 1, n):
					if ar[i] % 2 != ar[j] % 2 and abs(ar[i] - ar[j]) == 1:
						print('YES')
						return
		print('NO')
t = int(input())
for _ in range(t):
	n = int(input())
	ar = list(map(int, input().split()))
	solve(n, ar)


t = int(input())
answer = []
for kek in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	chet = 0
	for i in a:
		if i % 2 == 0:
			chet += 1
	if chet % 2 == 0:
		answer.append('YES')
	else:
		flag = False
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				flag = True
		if flag:
			answer.append('YES')
		else:
			answer.append('NO')
print(*answer, sep='\n')


from collections import defaultdict as dfd
import math
import sys
import heapq

def II():
	return int(sys.stdin.readline())

def MI():
	return map(int, sys.stdin.readline().split())

def LI():
	return list(map(int, sys.stdin.readline().split()))

def LLI(rows_number):
	return [LI() for _ in range(rows_number)]

def main():
	for _ in range(II()):
		N = II()
		A = LI()
		B = []
		C = []
		for i in range(N):
			if A[i] % 2 == 0:
				B.append(A[i])
			else:
				C.append(A[i])
		if len(C) % 2 == 0 and len(B) % 2 == 0:
			print('YES')
		elif len(C) % 2 != 0 and len(B) % 2 == 0:
			print('NO')
		elif len(C) % 2 == 0 and len(B) % 2 != 0:
			print('NO')
		else:
			pl = 0
			for i in range(len(B)):
				if B[i] - 1 in C:
					print('YES')
					pl = 1
					break
				elif B[i] + 1 in C:
					print('YES')
					pl = 1
					break
			if pl == 0:
				print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	li = list(sorted(map(int, input().split())))
	ev = 0
	x = 0
	for i in range(n):
		if li[i] % 2 == 0:
			ev += 1
		if i > 0 and li[i] - li[i - 1] == 1:
			x += 1
	if ev % 2 == 0 or x > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(0, t):
	n = int(input())
	odd_count = 0
	even_count = 0
	pair_count = 0
	lis = list(map(int, input().split()))
	lis.sort()
	temp = 0
	for i in lis:
		if i % 2 != 0:
			odd_count = odd_count + 1
		else:
			even_count = even_count + 1
	if odd_count % 2 == 0 and even_count % 2 == 0:
		print('YES')
	else:
		for i in range(0, n - 1):
			if abs(lis[i + 1] - lis[i]) == 1:
				odd_count = odd_count - 1
				even_count = even_count - 1
			if odd_count % 2 == 0 and even_count % 2 == 0:
				print('YES')
				temp = 1
				break
		if temp == 0:
			print('NO')


def main():
	n = int(input())
	s = sorted(list(map(int, input().split())))
	q = s.copy()
	for o in range(n):
		q[o] %= 2
	if sum(q) % 2:
		for o in range(n - 1):
			if s[o] + 1 == s[o + 1]:
				print('YES')
				return
		print('NO')
		return
	print('YES')
for i in range(int(input())):
	main()


import sys
from functools import lru_cache, cmp_to_key
from heapq import merge, heapify, heappop, heappush
from math import *
from collections import defaultdict as dd, deque, Counter as C
from itertools import combinations as comb, permutations as perm
from bisect import bisect_left as bl, bisect_right as br, bisect
from time import perf_counter
from fractions import Fraction
mod = pow(10, 9) + 7
mod2 = 998244353

def data():
	return sys.stdin.readline().strip()

def out(*var, end='\n'):
	sys.stdout.write(' '.join(map(str, var)) + end)

def l():
	return list(sp())

def sl():
	return list(ssp())

def sp():
	return map(int, data().split())

def ssp():
	return map(str, data().split())

def l1d(n, val=0):
	return [val for i in range(n)]

def l2d(n, m, val=0):
	return [l1d(n, val) for j in range(m)]
for _ in range(int(input())):
	n = l()[0]
	s = l()
	o = []
	e = []
	for i in range(n):
		if s[i] % 2 == 0:
			e.append(s[i])
		else:
			o.append(s[i])
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	elif len(e) % 2 != 0 and len(o) % 2 != 0:
		pos = 0
		for x in e:
			if x + 1 in o or x - 1 in o:
				pos = 1
				break
		if pos:
			print('YES')
			continue
		for x in o:
			if x - 1 in e or x + 1 in e:
				pos = 1
				break
		if pos:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


r = int(input())
for t in range(0, r):
	m = 0
	x = 0
	n = int(input())
	even = []
	a = []
	a = list(map(int, input().strip().split()))[:n]
	for i in range(0, n):
		if a[i] % 2 == 0:
			even.append(a[i])
			x += 1
	if x % 2 == 0:
		print('yes')
		continue
	m = 0
	for i in range(0, n):
		for j in range(0, len(even)):
			if abs(a[i] - even[j]) == 1:
				m = 1
				break
		if m == 1:
			break
	if m == 1:
		print('yes')
	else:
		print('no')


t = int(input())
for z in range(t):
	n = int(input())
	l = [int(i) for i in input().split()]
	l.sort()
	p = 0
	for i in range(n):
		if l[i] % 2 == 0:
			p += 1
	b = False
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			b = True
			break
	if p % 2 == 0 and (n - p) % 2 == 0:
		print('YES')
	elif b:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline

def main():
	for _ in range(int(input())):
		n = int(input())
		arr = list(map(int, input().split()))
		even = odd = 0
		is_diff = False
		for i in range(n):
			for j in range(i + 1, n):
				if is_diff:
					break
				num = abs(arr[i] - arr[j])
				if num == 1:
					is_diff = True
			if arr[i] % 2 == 0:
				even += 1
			else:
				odd += 1
		even %= 2
		odd %= 2
		if even == 0 and odd == 0:
			print('YES')
		elif even == 1 and odd == 1 and is_diff:
			print('YES')
		else:
			print('NO')
main()


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
from math import factorial
from collections import Counter, defaultdict, deque
from heapq import heapify, heappop, heappush

def RL():
	return map(int, sys.stdin.readline().rstrip().split())

def RLL():
	return list(map(int, sys.stdin.readline().rstrip().split()))

def N():
	return int(input())

def comb(n, m):
	return factorial(n) / (factorial(m) * factorial(n - m)) if n >= m else 0

def perm(n, m):
	return factorial(n) // factorial(n - m) if n >= m else 0

def mdis(x1, y1, x2, y2):
	return abs(x1 - x2) + abs(y1 - y2)
mod = 998244353
INF = float('inf')

def main():
	for _ in range(N()):
		n = N()
		arr = RLL()
		(a, b) = ([], [])
		dic = set()
		tag = False
		for i in arr:
			if i % 2 == 0:
				a.append(i)
			else:
				b.append(i)
			if i - 1 in dic or i + 1 in dic:
				tag = True
			dic.add(i)
		if len(a) % 2 == 0 and len(b) % 2 == 0:
			print('YES')
		elif len(a) % 2 == 1 and len(b) % 2 == 1 and tag:
			print('YES')
		else:
			print('NO')
main()


t = int(input())
for k in range(t):
	n = int(input())
	a = list(map(int, input().split(' ')))
	o = []
	e = []
	for i in range(0, n, 1):
		if a[i] % 2 == 0:
			e.append(a[i])
		else:
			o.append(a[i])
	if len(o) % 2 == 0 and len(e) % 2 == 0:
		print('Yes')
	else:
		f = 0
		c = 0
		x = len(o) % 2
		y = len(e) % 2
		for i in range(0, len(o), 1):
			for j in range(0, len(e), 1):
				if abs(o[i] - e[j]) == 1:
					c += 1
					e[j] = 0
					break
			if c == x:
				f = 1
				break
		if f == 1:
			print('Yes')
		else:
			print('NO')


t = int(input())
for you in range(t):
	n = int(input())
	l = input().split()
	li = [int(i) for i in l]
	lodd = []
	leven = []
	for i in li:
		if i % 2:
			lodd.append(i)
		else:
			leven.append(i)
	if len(leven) % 2 == 0:
		print('YES')
	else:
		done = 0
		for i in lodd:
			for j in leven:
				if abs(i - j) == 1:
					done = 1
					break
		if done:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	(c, e) = (0, 0)
	s = [int(i) for i in input().split()]
	s.sort()
	for i in range(n):
		if s[i] % 2 == 0:
			e += 1
	for i in range(n - 1):
		if s[i + 1] - s[i] == 1:
			c += 1
	if e % 2 != 0 and c == 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	o = 0
	e = 0
	for j in a:
		if j % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		a.sort()
		p = 0
		for k in range(1, n):
			if a[k] - a[k - 1] == 1 or a[k] - a[k - 1] == -1:
				print('YES')
				p = 1
				break
		if p == 0:
			print('NO')


for xyz in range(0, int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	ec = 0
	oc = 0
	for i in l:
		if i % 2 == 0:
			ec += 1
		else:
			oc += 1
	if ec % 2 ^ oc % 2 == 1:
		print('NO')
	elif ec % 2 == 0 and oc % 2 == 0:
		print('YES')
	else:
		f = False
		for i in range(0, n - 1):
			if l[i] == l[i + 1] - 1:
				f = True
				break
		if f:
			print('YES')
		else:
			print('NO')


t = int(input())
while t:
	t -= 1
	n = int(input())
	l = list(map(int, input().split()))
	e = []
	o = []
	for i in l:
		if i % 2 == 0:
			e.append(i)
		else:
			o.append(i)
	c = len(e)
	d = len(o)
	if c % 2 == 0 and d % 2 == 0:
		print('YES')
		continue
	else:
		f = 1
		for i in range(c):
			for j in range(d):
				if abs(e[i] - o[j]) == 1:
					f = 0
					break
		if f == 1:
			print('NO')
		else:
			print('YES')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	coe = 0
	cod = 0
	le = []
	lo = []
	for i in l:
		if i & 1:
			cod += 1
			lo.append(i)
		else:
			coe += 1
			le.append(i)
	if coe % 2 == 0 and cod % 2 == 0:
		print('YES')
	elif coe & 1 and cod & 1:
		cnt = 0
		for i in le:
			for j in lo:
				if abs(i - j) == 1:
					cnt = 1
					break
		if cnt == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	l = input()
	flag = False
	data = list(map(int, input().split()))
	even_list = sorted([i for i in data if i % 2 == 0])
	odd_list = sorted([i for i in data if i % 2 == 1])
	if len(even_list) % 2 == 0 and len(odd_list) % 2 == 0:
		print('YES')
		continue
	for i in sorted(data):
		if i in data and i + 1 in data:
			print('YES')
			flag = True
			break
	if not flag:
		print('NO')


for i in range(int(input())):
	n = int(input())
	p = [0, 0]
	a = list(map(int, input().split()))
	a.sort()
	for j in a:
		p[j & 1] += 1
	j = 1
	flag = False
	while j < n:
		if a[j] - a[j - 1] == 1:
			flag = True
			break
		j += 1
	if not p[0] & 1 and (not p[1] & 1):
		print('YES')
	elif p[0] & 1 and p[1] & 1 and flag:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	k = []
	k2 = []
	for i in l:
		if i % 2:
			k.append(i)
		else:
			k2.append(i)
	if len(k) % 2 == 0 and len(k2) % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in k:
			for j in k2:
				if abs(i - j) == 1:
					flag = True
					break
		if flag:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = [int(i) for i in input().split()]
	even = 0
	odd = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 1 and odd % 2 == 1:
		arr.sort()
		flag = 0
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				if arr[i] % 2 == 0 and arr[i + 1] % 2 == 1 or (arr[i] % 2 == 1 and arr[i + 1] % 2 == 0):
					flag = 1
					break
		if flag:
			print('YES')
		else:
			print('NO')


t = int(input())
for j in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	r1 = 0
	r2 = 0
	for i in range(n):
		if l[i] % 2 == 1:
			r1 = r1 + 1
		else:
			r2 = r2 + 1
	if r1 % 2 == 0 and r2 % 2 == 0:
		print('YES')
	elif r1 % 2 == 1 and r2 % 2 == 1:
		flag = 0
		l.sort()
		for i in range(n - 1):
			if l[i + 1] - l[i] == 1:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')
	else:
		print('NO')


t = int(input())
for i in range(t):
	p = 0
	n = int(input())
	A = list(map(int, input().split()))
	B = list(filter(lambda x: x % 2 == 0, A))
	C = list(filter(lambda x: x % 2 == 1, A))
	B.sort()
	C.sort()
	if len(B) % 2 != len(C) % 2:
		print('NO')
		p += 1
	elif len(B) % 2 == 0 and len(C) % 2 == 0:
		print('YES')
		p += 1
	else:
		for j in range(len(B)):
			for k in range(len(A)):
				if abs(B[j] - A[k]) == 1:
					print('YES')
					p += 1
					break
			if p == 1:
				break
	if p == 0:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	e = []
	o = []
	for j in range(n):
		if a[j] % 2 == 0:
			e.append(a[j])
		else:
			o.append(a[j])
	if len(e) % 2 == 0:
		print('YES')
	else:
		re = 1
		c = 0
		for j in range(len(e)):
			for k in range(len(o)):
				if abs(e[j] - o[k]) == 1:
					c = 1
					break
			if c == 1:
				break
		if c == 1:
			print('YES')
		else:
			print('NO')


def main():
	n = int(input())
	b = list(map(int, input().split()))
	nec = 0
	odd = 0
	b.sort()
	g = []
	v = set()
	for i in range(1, n):
		if b[i] - b[i - 1] == 1 and i - 1 not in v:
			v.add(i)
			v.add(i - 1)
	for i in range(n):
		if i not in v:
			if b[i] % 2 == 0:
				odd += 1
			else:
				nec += 1
	if nec % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif len(v) == 0:
		print('NO')
	else:
		print('YES')
a = int(input())
for i in range(a):
	main()


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	even = []
	odd = []
	pair = []
	a.sort()
	i = 0
	while i < n:
		if i < n - 1 and a[i + 1] - a[i] == 1:
			pair.append([a[i], a[i + 1]])
			i += 1
		elif a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
		i += 1
	e = len(even)
	o = len(odd)
	p = len(pair)
	if e % 2 == 0 and o % 2 != 0 or (e % 2 != 0 and o % 2 == 0):
		print('NO')
	elif e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif p > 0:
		print('YES')
	else:
		print('NO')


import sys
try:
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
except:
	pass
input = sys.stdin.readline
for tt in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	even = 0
	odd = 0
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		l.sort()
		for i in range(1, n):
			if abs(l[i] - l[i - 1]) == 1:
				print('YES')
				break
		else:
			print('NO')


INF = 10 ** 18
t = int(input())

def solve():
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	ans = False
	for i in range(1, n):
		if a[i] == a[i - 1] + 1:
			ans = True
	ch = 0
	for i in a:
		if i % 2:
			ch += 1
	if ch % 2 == 0:
		ans = True
	if ans:
		print('YES')
	else:
		print('NO')
for tt in range(t):
	solve()


t = int(input())
for i in range(0, t):
	n = int(input())
	l = list(map(int, input().strip().split()))
	count = 0
	for j in l:
		if j % 2 == 1:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		m = sorted(l)
		h = []
		for k in range(1, n):
			h.append(m[k] - m[k - 1])
		event = False
		for g in h:
			if g == 1:
				event = True
				break
		if event:
			print('YES')
		else:
			print('NO')


a = int(input())
for i in range(a):
	a = int(input())
	l = list(map(int, input().split()))
	l = sorted(l)
	p = []
	k = 0
	for j in l:
		if j % 2 != 0:
			p.append(j)
	for j in range(len(l)):
		if l[j] % 2 == 0:
			k += 1
	if k % 2 == 0:
		print('YES')
	elif len(p) % 2 == 0:
		print('YES')
	else:
		t = 0
		for j in range(1, len(l)):
			if l[j] - l[j - 1] == 1:
				t += 1
		if t > 0:
			print('YES')
		else:
			print('NO')


import os
os_input = os.read(0, int(10000000.0)).split()
os_input_pos = -1

def cin():
	global os_input_pos
	os_input_pos += 1
	return os_input[os_input_pos]
T = int(cin())
res = []
while T:
	T -= 1
	n = int(cin())
	a = sorted([int(cin()) for i in range(n)])
	even = [x % 2 for x in a].count(0)
	if even % 2 == 0:
		res.append('YES'.encode())
	else:
		for (i, v) in enumerate(a):
			if i > 0 and a[i - 1] == v - 1:
				res.append('YES'.encode())
				break
		else:
			res.append('NO'.encode())
os.write(1, '\n'.encode().join(res))


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	s1 = []
	s2 = []
	for i in a:
		if i % 2 == 0:
			s2.append(i)
		else:
			s1.append(i)
	if len(s1) % 2 == 0:
		print('YES')
	else:
		i = 0
		s2 = set(s2)
		found = False
		while not found and i < len(s1):
			if s1[i] - 1 in s2 or s1[i] + 1 in s2:
				found = True
				i = len(s1)
			i += 1
		if found:
			print('YES')
		else:
			print('NO')


from sys import stdin
from collections import deque
mod = 10 ** 9 + 7
import sys
import random
from queue import PriorityQueue
from bisect import bisect_right
from bisect import bisect_left
from collections import defaultdict
from math import sqrt, factorial, gcd, log2, inf, ceil
import heapq
input = lambda : sys.stdin.readline().rstrip()
from sys import stdin, stdout
from heapq import heapify, heappush, heappop
from itertools import permutations
from math import factorial as f

def ncr(n, r, p):
	num = den = 1
	for i in range(r):
		num = num * (n - i) % p
		den = den * (i + 1) % p
	return num * pow(den, p - 2, p) % p
import sys
t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	ans = 0
	hash = defaultdict(bool)
	ans = 0
	(even, odd) = (0, 0)
	for i in range(n):
		if l[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if hash[i] == False:
			for j in range(n):
				if i != j and hash[j] == False:
					if abs(l[i] - l[j]) == 1:
						hash[i] = True
						hash[j] = True
						ans += 1
						break
	if even % 2 == odd % 2 == 0 or (even % 2 == odd % 2 == 1 and ans >= 1):
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd_cnt = 0
	even_cnt = 0
	pre_num = 0
	flag = 0
	for (ind, val) in enumerate(a, 1):
		if val % 2 == 0:
			even_cnt += 1
		else:
			odd_cnt += 1
		if flag == 1:
			continue
		if ind == 1:
			pre_num = val
		elif pre_num == val - 1:
			flag = 1
		else:
			pre_num = val
	if odd_cnt % 2 == 0:
		print('YES')
	elif flag == 1:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
cin = stdin.readline
cout = stdout.write
mp = lambda : list(map(int, cin().split()))

def chars():
	s = cin()
	return list(s[:len(s) - 1])
(t,) = mp()
for _ in range(t):
	(n,) = mp()
	a = sorted(mp())
	odd = 0
	for i in range(n):
		odd += (0, 1)[a[i] % 2]
	if not odd % 2:
		cout('yes\n')
	else:
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				cout('yes\n')
				break
		else:
			cout('no\n')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	noe = 0
	flag = 0
	l1 = l.copy()
	if l[len(l) - 1] % 2 == 0:
		noe += 1
	for j in range(len(l1) - 1):
		if l[j] % 2 == 0:
			noe += 1
		if l1[j + 1] - l1[j] == 1:
			flag = 1
	if noe % 2 == 0 or flag == 1:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	a = [int(j) for j in input().split()]
	odd = 0
	even = 0
	m = 0
	a.sort()
	if a[-1] % 2 == 1:
		odd += 1
	else:
		even += 1
	for j in range(n - 1):
		if a[j] % 2 == 0:
			even += 1
		else:
			odd += 1
		if a[j + 1] - a[j] == 1:
			m += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		while m > 0:
			m -= 1
			odd -= 1
			even -= 1
			if odd % 2 == 0 and even % 2 == 0:
				print('YES')
				break
		if m == 0 and (odd % 2 == 1 or even % 2 == 1):
			print('NO')


from math import ceil
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	(odd, even) = (0, 0)
	for i in arr:
		if i % 2 == 0:
			odd += 1
		else:
			even += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == odd % 2:
		ans = 'NO'
		for i in range(1, len(arr)):
			if arr[i] == arr[i - 1] + 1:
				ans = 'YES'
				break
		print(ans)
	else:
		print('NO')


from sys import stdin, stdout
from collections import Counter

def II():
	return int(stdin.readline())

def LI():
	return list(map(int, stdin.readline().split()))
t = II()
for _ in range(t):
	n = II()
	a = LI()
	b = Counter(a)
	l = list(set(a))
	l.sort()
	(odd, even) = (0, 0)
	diffone = False
	prev = -2
	for i in l:
		if i % 2 == 0:
			odd += b[i]
		else:
			even += b[i]
		if i - prev == 1:
			diffone = True
		prev = i
	if odd % 2 == 1 and even % 2 == 1 and (not diffone):
		ans = 'NO'
	else:
		ans = 'YES'
	stdout.write(str(ans) + '\n')


ans = []
t = int(input())
for _ in range(t):
	n = int(input())
	o = []
	e = []
	flag = 0
	l = list(map(int, input().split()))
	if n % 2 == 1:
		ans.append('NO')
	else:
		for i in l:
			if i % 2 == 1:
				o.append(i)
			else:
				e.append(i)
		if len(o) % 2 == 0:
			ans.append('YES')
		else:
			for j in o:
				if j + 1 in e or j - 1 in e:
					ans.append('YES')
					flag = 1
					break
			if flag == 0:
				ans.append('NO')
print('\n'.join(ans))


for _ in range(int(input())):
	n = int(input())
	x = list(map(int, input().split()))
	odd = []
	even = []
	e = 0
	o = 0
	p = 0
	i = 0
	for i in x:
		if i % 2 == 0:
			even.append(i)
			e += 1
		else:
			odd.append(i)
			o += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif o % 2 != 0 and e % 2 != 0:
		if e < o:
			f = 0
			for i in even:
				if i - 1 in odd or i + 1 in odd:
					f = 1
					break
			if f == 0:
				print('NO')
			else:
				print('YES')
		else:
			f = 0
			for i in odd:
				if i - 1 in even or i + 1 in even:
					f = 1
					break
			if f == 0:
				print('NO')
			else:
				print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	d = int(input())
	f = list(map(int, input().split()))
	count = 0
	count1 = 0
	dict1 = {}
	for i in range(d):
		if f[i] % 2 == 0:
			count += 1
		else:
			count1 += 1
		dict1[f[i]] = 1
	for k in range(d):
		if dict1.get(f[k] + 1) == 1:
			print('YES')
			break
	else:
		if count % 2 == 0 and count1 % 2 == 0:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	data = [int(x) for x in input().split()]
	data.sort()
	(e, o, d) = (0, 0, 0)
	for q in range(n):
		if data[q] % 2 == 0:
			e += 1
		else:
			o += 1
		try:
			if data[q + 1] - data[q] == 1:
				d += 1
		except:
			pass
	if e == 0 or o == 0:
		print('YES')
	elif e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif e % 2 == 1 and d >= 1:
		print('YES')
	else:
		print('NO')


def solve(a):
	a.sort()
	odd = []
	even = []
	for e in a:
		if e % 2 == 0:
			even.append(e)
		else:
			odd.append(e)
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		return 'YES'
	(i, j) = (0, 0)
	while 1:
		if odd[i] + 1 < even[j]:
			i += 1
		elif even[j] + 1 < odd[i]:
			j += 1
		else:
			return 'YES'
		if i == len(odd) or j == len(even):
			return 'NO'
	return 'NO'
t = int(input())
for _ in range(t):
	n = input()
	a = [int(x) for x in input().split()]
	print(solve(a))


import math

def valid(a, b):
	if a % 2 == b % 2:
		return True
	if abs(a - b) == 1:
		return True
	return False

def fun(array):
	array.sort()
	(odd, even) = ([], [])
	for i in range(len(array)):
		if array[i] % 2 == 0:
			even.append(array[i])
		else:
			odd.append(array[i])
	if len(even) % 2 == 0:
		return True
	for i in even:
		for j in odd:
			if abs(j - i) == 1:
				return True
	return False
for _ in range(int(input())):
	n = int(input())
	array = list(map(int, input().split()))
	if fun(array):
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	n = int(input())
	li = [int(i) for i in input().split()]
	flage = [False for i in range(0, 102)]
	even = 0
	odd = 0
	adjacent = False
	for i in range(0, n):
		if li[i] % 2 == 0:
			even = +1
		else:
			odd += 1
		flage[li[i]] = True
		if (flage[li[i] - 1] or flage[li[i] + 1]) == True:
			adjacent = True
	if odd % 2 == 0 or adjacent == True:
		print('Yes')
	else:
		print('No')
	t -= 1


def solve(l, n):
	lo = []
	le = []
	for i in l:
		if i % 2 == 0:
			le.append(i)
		else:
			lo.append(i)
	if len(lo) % 2 == 0:
		return 'YES'
	else:
		for i in lo:
			if i - 1 in le or i + 1 in le:
				return 'YES'
	return 'NO'
for t in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	print(solve(l, n))


def ans(arr):
	n_odd = 0
	n_even = 0
	arr1 = []
	arr2 = []
	for i in arr:
		if i % 2 == 0:
			n_even += 1
			arr1.append(i)
		else:
			n_odd += 1
			arr2.append(i)
	if n_even % 2 == 0:
		return 'YES'
	arr1.sort()
	arr2.sort()
	i = 0
	j = 0
	while i < len(arr1) and j < len(arr2):
		if arr1[i] < arr2[j]:
			if arr2[j] - arr1[i] == 1:
				return 'YES'
			i += 1
		else:
			if arr1[i] - arr2[j] == 1:
				return 'YES'
			j += 1
	return 'NO'
m = int(input())
for i in range(m):
	n = int(input())
	a = input().split()
	arr = []
	for i in range(n):
		arr.append(int(a[i]))
	print(ans(arr))


def main():
	n = int(input())
	a = list(map(int, input().split()))
	(mod2, nmod2) = (0, 0)
	for k in a:
		if k % 2 == 0:
			mod2 += 1
		else:
			nmod2 += 1
	if mod2 % 2 == 0 and nmod2 % 2 == 0:
		return 'YES'
	used = set()
	for i in range(n - 1):
		for j in range(i + 1, n):
			if abs(a[i] - a[j]) == 1:
				used.add((min(a[i], a[j]), max(a[i], a[j])))
	if used:
		return 'YES'
	return 'NO'
t = int(input())
for _ in range(t):
	print(main())


def solve(n, a):
	a.sort()
	(odd, even) = (0, 0)
	for i in range(n):
		if a[i] & 1:
			odd += 1
		else:
			even += 1
	one = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			one += 1
	flag = True
	if odd % 2 == 1 and one == 0:
		flag = False
	if flag:
		print('YES')
	else:
		print('NO')
for i in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	solve(n, a)


for _ in range(int(input())):
	n = int(input())
	data = list(map(int, input().split()))
	data.sort()
	even = []
	odd = []
	for x in data:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
	if len(even) % 2 == 0:
		print('YES')
	else:
		found = False
		for x in even:
			for y in odd:
				if abs(x - y) == 1:
					found = True
		if found:
			print('YES')
		else:
			print('NO')


t = int(input())
for z in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	e = 0
	for i in arr:
		if i % 2 == 0:
			e += 1
	if e % 2 == 0:
		print('YES')
	else:
		arr.sort()
		c = 0
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				c = 1
				break
		if c == 0:
			print('NO')
		else:
			print('YES')


t = int(input())
for w in range(t):
	n = int(input())
	arr = list(map(int, input().strip().split()))
	flag = False
	c = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			c += 1
	if c % 2 == 0:
		print('YES')
	else:
		for i in arr:
			if i + 1 in arr:
				print('YES')
				flag = True
				break
		if not flag:
			print('NO')


T = int(input())
for test in range(T):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	odd = 0
	even = 0
	pairs = 0
	if l[0] % 2 == 0:
		even += 1
	else:
		odd += 1
	for i in range(1, n):
		if l[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if l[i] - l[i - 1] == 1:
			pairs += 1
	if odd % 2 == 1 and pairs > 0 or odd % 2 == 0:
		print('YES')
	else:
		print('NO')


from collections import deque

def solve():
	n = int(input())
	li = [int(x) for x in input().split()]
	li.sort()
	(even, odd) = (deque(), deque())
	(e, o) = (0, 0)
	for ele in li:
		if ele % 2 == 0:
			even.append(ele)
			e += 1
		else:
			odd.append(ele)
			o += 1
	if e % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if li[i + 1] - li[i] == 1:
				print('YES')
				return
		else:
			print('NO')
			return
t = int(input())
for i in range(t):
	solve()


from sys import stdin
input = stdin.readline

def main():
	test = int(input())
	for t in range(test):
		n = int(input())
		l = [int(i) for i in input().split(' ')]
		l.sort()
		e = []
		o = []
		for i in l:
			if i % 2 == 0:
				e.append(i)
			else:
				o.append(i)
		if len(o) % 2 == 0 and len(e) % 2 == 0:
			print('YES')
		else:
			flag = False
			for i in range(n - 1):
				if l[i] + 1 == l[i + 1]:
					print('YES')
					flag = True
					break
			if not flag:
				print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	ocnt = 0
	for x in a:
		if x & 1:
			ocnt += 1
	ecnt = n - ocnt
	tmp = ecnt % 2 + ocnt % 2
	if tmp == 0:
		print('YES')
	else:
		a.sort()
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				print('YES')
				break
		else:
			print('NO')


import math
for i in range(int(input())):
	n = int(input())
	l = [int(x) for x in input().split()]
	odd = []
	eve = []
	for i in range(len(l)):
		if l[i] % 2 == 0:
			eve.append(l[i])
		else:
			odd.append(l[i])
	if len(eve) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
		continue
	f = 0
	for i in range(len(odd)):
		if abs(odd[i] - 1) in eve or odd[i] + 1 in eve:
			f = 1
			break
	if f:
		print('YES')
	else:
		print('NO')


n = int(input())
for t in range(n):
	q = int(input())
	b = input().split()
	odd = []
	even = []
	c = []
	for i in b:
		c.append(int(i))
		if int(i) % 2 == 0:
			even.append(int(i))
		else:
			odd.append(int(i))
	if len(odd) % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in odd:
			if i + 1 in even or i - 1 in even:
				print('YES')
				flag = True
				break
		if not flag:
			print('NO')


t = int(input())
import heapq, copy
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().strip().split()))[:n]
	from collections import defaultdict
	store = defaultdict(int)
	even = []
	odd = []
	for num in arr:
		store[num] == 1
		if num % 2 == 0:
			even.append(num)
		else:
			odd.append(num)
		store[num] = 1
	flag = 0
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		flag = 1
	else:
		for num in odd:
			if store[num + 1] == 1 or store[num - 1] == 1:
				flag = 1
				break
	if flag == 0:
		print('NO')
	else:
		print('YES')


for i in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	c = 0
	flag = False
	l.sort()
	for i in range(n):
		if i > 0:
			if l[i] - l[i - 1] == 1:
				print('YES')
				flag = True
				break
		if l[i] % 2 == 0:
			c += 1
	if not flag:
		if c % 2 == 0:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	o = []
	e = []
	a.sort()
	p = 0
	for i in range(1, len(a)):
		if a[i] - a[i - 1] == 1:
			p = 1
			break
	for c in a:
		if c % 2:
			o.append(c)
		else:
			e.append(c)
	if len(o) % 2 == 0 or p == 1:
		print('YES')
	else:
		print('NO')


import bisect
for _ in range(int(input())):
	a = int(input())
	arr = list(map(int, input().split()))
	e = o = 0
	even = odd = []
	for i in arr:
		if i % 2 == 0:
			e += 1
			even.append(i)
		else:
			o += 1
			odd.append(i)
	if e % 2 == 0:
		print('YES')
	else:
		p = 0
		even.sort()
		odd.sort()
		for i in range(len(even)):
			if not p:
				for j in range(len(odd)):
					if abs(even[i] - odd[j]) == 1:
						p = 1
						break
			else:
				break
		if p:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = [int(x) for x in input().split()]
	bucket = {}
	bucket[0] = []
	bucket[1] = []
	for i in arr:
		bucket[i % 2] += [i]
	if len(bucket[0]) % 2 is 0 and len(bucket[1]) % 2 is 0:
		print('YES')
		continue
	flag = 0
	for i in bucket[0]:
		t = 0
		for j in bucket[1]:
			t += abs(i - j) == 1
		flag += t
	if flag > 0:
		print('YES')
	else:
		print('NO')


import os
import sys
from io import BytesIO, IOBase
import math
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	e = []
	o = []
	for i in range(n):
		if l[i] % 2 == 0:
			e.append(l[i])
		else:
			o.append(l[i])
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	else:
		c = 0
		for i in e:
			if i - 1 in o or i + 1 in o:
				c = 1
				break
		if c == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	mark = 0
	e = 0
	for x in a:
		if x % 2 == 0:
			e += 1
	if e % 2 == 0:
		print('YES')
	else:
		for x in a:
			if x + 1 in a:
				print('YES')
				mark = 1
				break
		if mark == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	w1 = 0
	for i in range(n):
		if l[i] % 2 == 0:
			w1 += 1
	if w1 % 2 == 0:
		print('YES')
	else:
		l = sorted(l)
		counter = 0
		for i in range(n - 1):
			if l[i + 1] - l[i] == 1:
				counter += 1
		if counter >= 1:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	l = map(int, input().split())
	l = sorted(l)
	(one, two) = ([], [])
	(even, odd) = (0, 0)
	for i in l:
		if i % 2 == 0:
			even += 1
			two.append(i)
		else:
			odd += 1
			one.append(i)
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	flag = 0
	for i in range(len(one)):
		if one[i] + 1 in two or one[i] - 1 in two:
			flag = 1
			print('YES')
			break
	if flag:
		continue
	print('NO')


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


import sys
from math import tan, pi, cos, sin
_INPUT_LINES = sys.stdin.read().splitlines()
input = iter(_INPUT_LINES).__next__
from itertools import islice, cycle

def go():
	n = int(input())
	s = sorted(map(int, input().split()))
	even = sum((ss % 2 == 0 for ss in s))
	if even % 2 == 0:
		return 'YES'
	for i in range(n - 1):
		if s[i + 1] - s[i] == 1:
			return 'YES'
	return 'NO'
t = int(input())
ans = []
for _ in range(t):
	ans.append(str(go()))
print('\n'.join(ans))


import sys

def input():
	return sys.stdin.readline()[:-1]

def main():
	for _ in range(int(input())):
		n = int(input())
		a = sorted(list(map(int, input().split())))
		g = []
		k = []
		for e in a:
			if e % 2 == 0:
				g.append(e)
			else:
				k.append(e)
		if len(g) % 2 == 0 and len(k) % 2 == 0:
			print('YES')
		else:
			t = 0
			for i in range(len(k)):
				for j in range(len(g)):
					if abs(k[i] - g[j]) == 1:
						t = 1
			if t == 1:
				print('YES')
			else:
				print('NO')
main()


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	(o, e) = ([], [])
	for i in l:
		if i % 2:
			o.append(i)
		else:
			e.append(i)
	if len(o) % 2 == 0:
		print('YES')
	else:
		yes = 0
		for i in o:
			if i - 1 in e or i + 1 in e:
				yes = 1
				break
		if yes:
			print('YES')
		else:
			print('NO')


def solve(odds, evens):
	o = odds[:]
	e = evens[:]
	for odd in odds:
		if odd + 1 in e:
			e.remove(odd + 1)
			o.remove(odd)
		elif odd - 1 in e:
			e.remove(odd - 1)
			o.remove(odd)
		if len(o) % 2 == 0 and len(e) % 2 == 0:
			return 'YES'
	if len(o) % 2 == 0 and len(e) % 2 == 0:
		return 'YES'
	else:
		return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	odds = [x for x in arr if x % 2 != 0]
	evens = [x for x in arr if x % 2 == 0]
	if len(odds) % 2 == 0 and len(evens) % 2 == 0:
		print('YES')
	else:
		print(solve(odds, evens))


t = int(input())
for j in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = []
	odd = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0 or len(odd) % 2 == 0:
		print('YES')
	else:
		y = 0
		for i in even:
			for k in odd:
				if abs(i - k) == 1:
					y = 1
		if y == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	lista = input().split()
	for j in range(n):
		lista[j] = int(lista[j])
	odd = []
	even = []
	for j in lista:
		if j % 2 == 0:
			even += [j]
		else:
			odd += [j]
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(even) % 2 == 1 and len(odd) % 2 == 1:
		count = 0
		for k in even:
			for l in odd:
				if abs(k - l) == 1:
					count += 1
					break
		if count > 0:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	e = []
	o = []
	for j in l:
		if j % 2 == 0:
			e.append(j)
		else:
			o.append(j)
	if len(e) % 2 == 0:
		print('YES')
	else:
		b = []
		for j in range(n - 1):
			a = l[j] - l[j + 1]
			if abs(a) == 1:
				b.append(a)
		if len(b) >= 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	lst = list(map(int, input().split()))
	cnt = []
	cnt2 = []
	lst.sort()
	yo = 0
	for i in lst:
		if i % 2 != 0:
			cnt.append(i)
		else:
			cnt2.append(i)
	pair_cnt = len(cnt) // 2 + len(cnt2) // 2
	if len(cnt) % 2 == 0 and len(cnt2) % 2 == 0:
		print('YES')
	else:
		for i in cnt:
			for j in cnt2:
				if abs(j - i) == 1:
					yo += 2
		if yo >= n - 2 * pair_cnt:
			print('YES')
		else:
			print('NO')


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	for i in range(n):
		for j in range(n - i - 1):
			if a[j] > a[j + 1]:
				(a[j], a[j + 1]) = (a[j + 1], a[j])
	ch = 0
	nch = 0
	diff = 0
	i = 0
	while i < n:
		if i < n - 1 and a[i + 1] - a[i] == 1:
			diff += 1
			i += 2
		else:
			if a[i] % 2 == 0:
				ch += 1
			else:
				nch += 1
			i += 1
	if ch % 2 == 0 and nch % 2 == 0:
		print('YES')
	elif ch % 2 == 1 and nch % 2 == 1 and (diff > 0):
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for _ in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	evenSet = set()
	oddSet = set()
	evenLen = 0
	oddLen = 0
	for i in arr:
		if i % 2 == 0:
			evenSet.add(i)
			evenLen += 1
		else:
			oddSet.add(i)
			oddLen += 1
	if evenLen % 2 == 0 and oddLen % 2 == 0:
		print('YES')
	elif evenLen % 2 == 1 and oddLen % 2 == 1:
		found = False
		for i in oddSet:
			if i - 1 in evenSet or i + 1 in evenSet:
				print('YES')
				found = True
				break
		if not found:
			print('NO')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	even_pair_count = 0
	for num in arr:
		if num % 2 == 0:
			even_pair_count += 1
	if even_pair_count % 2 == 0:
		print('YES')
		continue
	else:
		arr.sort()
		ans = 'NO'
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				ans = 'YES'
				break
		print(ans)


for _ in range(int(input())):
	n = int(input())
	arr = sorted(list(map(int, input().split())))
	ch = 0
	nech = 0
	one = 0
	if arr[0] % 2 == 0:
		ch += 1
	else:
		nech += 1
	for i in range(n - 1):
		if arr[i + 1] - arr[i] == 1:
			one += 1
		if arr[i + 1] % 2 == 0:
			ch += 1
		else:
			nech += 1
	if ch % 2 == 0 and nech % 2 == 0:
		print('YES')
	elif one != 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	(odd, even) = (0, 0)
	f = False
	c = 0
	for i in range(n - 1):
		if s[i + 1] - s[i] == 1:
			c += 1
			if i == n:
				f = True
		if s[i] % 2:
			odd += 1
		else:
			even += 1
	if not f:
		if s[n - 1] % 2:
			odd += 1
		else:
			even += 1
	odd = odd - c
	even = even - c
	if odd % 2 == 0 and even % 2 == 0 or (odd % 2 == 1 and even % 2 == 1 and (c > 0)):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	x = list(map(int, input().split()))
	flag = 0
	c1 = 0
	x.sort()
	for ele in x:
		if ele % 2 != 0:
			c1 += 1
	if c1 % 2 == 0:
		print('YES')
		continue
	for i in range(1, n):
		if abs(x[i] - x[i - 1]) == 1:
			flag += 1
			break
	if flag == 0:
		print('NO')
	else:
		print('YES')


import os
import sys
import io
import math
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	s = set(a)
	nodd = 0
	for i in a:
		if i % 2 != 0:
			nodd += 1
	neven = n - nodd
	if neven % 2 == 0:
		print('YES')
	else:
		for i in a:
			check = False
			if i - 1 in s or i + 1 in s:
				print('YES')
				check = True
				break
		if check == False:
			print('NO')


def solve(alist):
	alist.sort()
	odd = 0
	even = 0
	consecutives = []
	for i in range(len(alist)):
		if alist[i] % 2:
			odd += 1
		else:
			even += 1
		if i > 0:
			if alist[i] - alist[i - 1] == 1:
				consecutives.append([alist[i - 1], alist[i]])
	if odd % 2 == 0 and even % 2 == 0:
		return 'YES'
	if odd % 2 == 1 and even % 2 == 1:
		if len(consecutives) > 0:
			return 'YES'
		else:
			return 'NO'
	return 'NO'
t = int(input())
for _ in range(t):
	n = int(input())
	alist = list(map(int, input().split()))
	result = solve(alist)
	print(result)


for _ in range(int(input())):
	n = int(input())
	arr = [int(i) for i in input().split()]
	odd = []
	even = []
	for a in arr:
		if a % 2 == 1:
			odd.append(a)
		else:
			even.append(a)
	if len(odd) % 2 == 0:
		print('YES')
	else:
		alive = False
		for a in even:
			for b in odd:
				if abs(a - b) == 1:
					alive = True
					break
		if alive:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	(e_count, o_count) = (0, 0)
	(e_items, o_items) = ([], [])
	for j in range(n):
		if A[j] % 2 == 0:
			e_items.append(A[j])
			e_count += 1
		else:
			o_items.append(A[j])
			o_count += 1
	if e_count % 2 == 0 and o_count == 0 or (o_count % 2 == 0 and e_count == 0):
		print('YES')
	elif e_count % 2 == 0 and o_count % 2 == 0:
		print('YES')
	elif e_count % 2 != 0 and o_count % 2 != 0:
		o = 0
		for j in range(e_count):
			for t in range(o_count):
				if abs(e_items[j] - o_items[t]) == 1:
					o = 1
					break
		if o == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


t = int(input())
for _ in range(0, t):
	n = int(input())
	aa = [int(i) for i in input().split()]
	(e, o) = (0, 0)
	for i in aa:
		if i % 2:
			o += 1
		else:
			e += 1
	if not e % 2 and (not o % 2):
		print('YES')
	else:
		aa = sorted(aa)
		k = False
		for i in range(1, n):
			if aa[i] - aa[i - 1] == 1:
				k = True
				break
		if k:
			print('YES')
		else:
			print('NO')


from time import time
from random import randint

class Deleted(Exception):
	pass

def solve(arr):
	start = 0
	arr.sort()
	while sum(arr) % 2 != 0:
		try:
			for i in range(start, len(arr) - 1):
				if arr[i + 1] - arr[i] == 1:
					del arr[i + 1]
					del arr[i]
					start = i
					raise Deleted
			print('NO')
			return
		except Deleted:
			pass
	print('YES')
	return

def submit():
	for case in range(int(input())):
		input()
		numbers = list(map(int, input().split()))
		solve(numbers)

def tryOut():
	start_time = time()
	numbers = [11, 14, 16, 12]
	solve(numbers)
	print(f'Execution time: {time() - start_time}s')
submit()


def check(arr, odd, even):
	if odd % 2 == 0 and even % 2 == 0:
		return 1
	if (odd + even) % 2 != 0:
		return 0
	for i in arr:
		if i + 1 in arr:
			return 1
	return 0
t = int(input())
while t:
	n = int(input())
	arr = list(map(int, input().strip().split()))[:n]
	odd = 0
	even = 0
	for i in arr:
		if i % 2:
			odd += 1
		else:
			even += 1
	ans = check(arr, odd, even)
	if ans:
		print('YES')
	else:
		print('NO')
	t -= 1


from collections import Counter
t = int(input())
for w in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	s = set(a)
	if n % 2:
		print('NO')
		continue
	c = Counter((x % 2 for x in a))
	(o, e) = (c[1], c[0])
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		continue
	else:
		for x in a:
			if x % 2 and (x + 1 in a or x - 1 in a):
				print('YES')
				break
		else:
			print('NO')


for t in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	d = {}
	d[0] = []
	d[1] = []
	for i in range(0, n, 2):
		d[l[i] % 2].append(l[i])
		d[l[i + 1] % 2].append(l[i + 1])
	if len(d[0]) % 2 == 0 and len(d[1]) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for j in d[0]:
			for k in d[1]:
				if abs(j - k) == 1:
					print('YES')
					flag = 1
					break
			if flag == 1:
				break
		else:
			print('NO')


from sys import stdin, stdout
for case in range(int(stdin.readline())):
	n = int(stdin.readline())
	arr = sorted([int(x) for x in stdin.readline().split()])
	even = 0
	adj = False
	for a in arr:
		if a % 2 == 0:
			even += 1
	ind = 0
	for a in range(len(arr) - 1):
		if arr[a] + 1 == arr[a + 1]:
			adj = True
			break
	if even % 2 == 0 or adj:
		print('YES')
	else:
		print('NO')


w = int(input())
for s in range(w):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	chetn = 0
	nechetn = 0
	for i in range(n):
		if a[i] % 2 == 0:
			chetn += 1
		else:
			nechetn += 1
	if chetn % 2 == 0 and nechetn % 2 == 0:
		print('YES')
	else:
		chetn = 0
		nechetn = 0
		col = 0
		i = 0
		while i < n:
			if i < n - 1 and a[i] + 1 == a[i + 1]:
				col += 1
				i += 1
			elif a[i] % 2 == 0:
				chetn += 1
			else:
				nechetn += 1
			i += 1
		if chetn % 2 == nechetn % 2 and col != 0:
			print('YES')
		else:
			print('NO')


def solve(a):
	if len(list(filter(lambda x: x % 2, a))) % 2 == 0:
		return 'YES'
	b = sorted(a)
	return 'YES' if 1 in [b[i + 1] - b[i] for i in range(len(b) - 1)] else 'NO'
t = int(input())
for i_t in range(t):
	input()
	a = list(map(int, input().split(' ')))
	print(solve(a))


t = int(input())
for test in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	arr.sort()
	even = []
	odd = []
	c = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even.append(arr[i])
		else:
			odd.append(arr[i])
		if abs(arr[i] - arr[i - 1]) == 1:
			c += 1
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
		continue
	elif len(even) % 2 == 0 and len(odd) % 2 != 0 or (len(even) % 2 != 0 and len(odd) % 2 == 0):
		print('NO')
	elif c >= 1:
		print('YES')
	else:
		print('NO')


T = int(input())
for t_itr in range(T):
	N = int(input())
	A = list(map(int, input().rstrip().split()))
	odds = 0
	evens = 0
	deltas = 0
	digits = set()
	for a in A:
		digits.add(a)
		if a % 2 == 0:
			odds += 1
		else:
			evens += 1
		if a + 1 in digits or a - 1 in digits:
			deltas += 1
	if odds % 2 == 0 and evens % 2 == 0 or deltas > 0:
		print('YES')
	else:
		print('NO')


def solution():
	n = int(input())
	a = sorted(list(map(lambda x: int(x), input().split())))
	even = 0
	not_even = 0
	for ai in a:
		if ai % 2 == 0:
			even += 1
		else:
			not_even += 1
	if even % 2 != 0:
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				print('YES')
				return
		print('NO')
		return
	print('YES')
t = int(input())
for _ in range(t):
	solution()


t = int(input())
l = []
for i in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	l.append(s)
for j in l:
	ce = 0
	for k in j:
		if k % 2 == 0:
			ce += 1
	if ce % 2 == 0 or ce == 0:
		print('YES')
	else:
		j.sort()
		for p in range(1, len(j)):
			if j[p] - j[p - 1] == 1:
				print('YES')
				break
			elif p == len(j) - 1:
				print('NO')


t = int(input())
while t > 0:
	n = int(input())
	m = list(map(int, input().split()))
	m.sort()
	(e, o) = (m, m)
	if len(m) > 0:
		e = list(filter(lambda d: d % 2 != 0, m))
		o = list(filter(lambda d: d % 2 == 0, m))
	if len(e) % 2 == 0 and len(o) % 2 == 0:
		print('YES')
	elif len(e) % 2 != 0 and len(o) % 2 != 0:
		for x in range(1, n):
			if m[x] - m[x - 1] == 1 and m[x] > -1 and (m[x - 1] > -1):
				m[x] = m[x - 1] = -1
				print('YES')
				break
		else:
			print('NO')
	t = t - 1


import sys
q = int(sys.stdin.readline())
for _ in range(q):
	n = int(sys.stdin.readline())
	a = list(map(int, sys.stdin.readline().split()))
	a = sorted(a)
	cnt_e = 0
	cnt_o = 0
	cnt_ab = 0
	for i in range(n):
		if a[i] % 2 == 0:
			cnt_e += 1
		if a[i] % 2 != 0:
			cnt_o += 1
		if i != n - 1 and abs(a[i] - a[i + 1]) == 1:
			cnt_ab += 1
	if cnt_e % 2 == cnt_o % 2 and cnt_ab >= cnt_e % 2:
		print('YES')
	else:
		print('NO')


t = int(input())
for T in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	even = 0
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
		continue
	flag = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			flag = 1
	if flag == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	odd = []
	even = []
	for i in a:
		if i & 1:
			odd.append(i)
		else:
			even.append(i)
	if not len(odd) & 1:
		print('YES')
	else:
		odd = set(odd)
		for i in even:
			if odd.intersection([i + 1]) or odd.intersection([i - 1]):
				print('YES')
				break
		else:
			print('NO')


def similar_pairs(arr, n):
	sort = sorted(arr)
	even = odd = 0
	for i in range(n):
		if sort[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		return 'YES'
	else:
		for i in range(n - 1):
			if sort[i + 1] - sort[i] == 1:
				return 'YES'
		return 'NO'
t = int(input())
for t_itr in range(t):
	n = int(input())
	arr = list(map(int, input().rstrip().split()))
	result = similar_pairs(arr, n)
	print(result)


import sys
import os
import time
import collections
from collections import Counter, deque
import itertools
import math
import timeit
import random
import string

def sieve(n):
	if n < 2:
		return list()
	prime = [True for _ in range(n + 1)]
	p = 3
	while p * p <= n:
		if prime[p]:
			for i in range(p * 2, n + 1, p):
				prime[i] = False
		p += 2
	r = [2]
	for p in range(3, n + 1, 2):
		if prime[p]:
			r.append(p)
	return r

def divs(n, start=1):
	divisors = []
	for i in range(start, int(math.sqrt(n) + 1)):
		if n % i == 0:
			if n / i == i:
				divisors.append(i)
			else:
				divisors.extend([i, n // i])
	return divisors

def divn(n, primes):
	divs_number = 1
	for i in primes:
		if n == 1:
			return divs_number
		t = 1
		while n % i == 0:
			t += 1
			n //= i
		divs_number *= t

def flin(d, x, default=-1):
	left = right = -1
	for i in range(len(d)):
		if d[i] == x:
			if left == -1:
				left = i
			right = i
	if left == -1:
		return (default, default)
	else:
		return (left, right)

def ceil(n, k):
	return n // k + (n % k != 0)

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return list(map(int, input().split()))

def lcm(a, b):
	return abs(a * b) // math.gcd(a, b)

def prr(a, sep=' ', end='\n'):
	print(sep.join(map(str, a)), end=end)

def dd():
	return collections.defaultdict(int)

def ddl():
	return collections.defaultdict(list)
for _ in range(ii()):
	n = ii()
	d = li()
	odd = []
	even = []
	res = 10 ** 5
	for i in d:
		if i % 2:
			odd.append(i)
		else:
			even.append(i)
	if len(odd) % 2 == 0:
		print('YES')
		continue
	s = set(even)
	f = 0
	for i in odd:
		if i - 1 in s or i + 1 in s:
			f = 1
			break
	print('YES' if f else 'NO')


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	check = False
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			check = True
	e = 0
	o = 0
	for i in range(n):
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == o % 2 == 0:
		print('YES')
	elif e % 2 == o % 2 == 1 and check:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	even = []
	odd = []
	for item in a:
		if item % 2:
			odd.append(item)
		else:
			even.append(item)
	if len(even) % 2 == len(odd) % 2 == 0:
		print('YES')
	elif len(even) % 2 and len(odd) % 2 == 0 or (len(odd) % 2 and len(even) % 2 == 0):
		print('NO')
	else:
		f = 0
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				f = 1
		else:
			print('NO' if f == 0 else 'YES')


import sys
T = int(input())

def ans(a):
	n = len(a)
	num_odds = len(list((x for x in a if x % 2 == 1)))
	if num_odds % 2 == 0:
		return 'YES'
	s = sorted(a)
	for i in range(n - 1):
		if s[i + 1] - s[i] == 1:
			return 'YES'
	return 'NO'
for t in range(T):
	input()
	a = input().split(' ')
	a = list((int(x) for x in a))
	print(ans(a))


import sys
from collections import defaultdict
input = sys.stdin.readline

def print_result(l):
	return print(' '.join(map(str, l)))

def timer(function):
	import time

	def wrapper(*args, **kwargs):
		t1 = time.time()
		val = function()
		t2 = time.time()
		print('Executed \\{}\\ in {:.2f} seconds.'.format(function.__name__, t2 - t1))
		return val
	return wrapper

def solve():
	n = int(input())
	arr = [int(x) for x in input().split(' ')]
	d = defaultdict(int)
	(n_even, n_odd) = (0, 0)
	flag = False
	for ele in arr:
		d[ele] += 1
		if ele % 2 == 0:
			n_even += 1
		else:
			n_odd += 1
	if n_even % 2 == 0 and n_odd % 2 == 0:
		flag = True
	elif n_even % 2 != 0 and n_odd % 2 != 0:
		for ele in arr:
			if d[ele - 1] != 0 or d[ele + 1] != 0:
				flag = True
				break
	print('YES' if flag else 'NO')
t = int(input())
for _ in range(t):
	solve()


T = int(input())
for i in range(T):
	n = int(input())
	s = list(map(int, input().split()))
	s1 = []
	s2 = []
	flag = 0
	for j in s:
		if j % 2 == 0:
			s2.append(j)
		else:
			s1.append(j)
	if len(s1) % 2 == 0 and len(s2) % 2 == 0:
		flag = 1
		print('YES')
	elif len(s1) % 2 != 0 and len(s1) % 2 != 0:
		for k in s1:
			if k + 1 in s2 or k - 1 in s2:
				flag = 1
				print('YES')
				break
		if flag == 0:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	b = set(a)
	(c, d) = ([], [])
	for i in a:
		if i % 2 == 1:
			c.append(i)
		if i % 2 == 0:
			d.append(i)
	l = len(c)
	if l % 2 == 0:
		print('YES')
	else:
		k = 0
		for i in c:
			if i + 1 in b:
				k += 1
				break
			if i - 1 in b:
				k += 1
				break
		if k == 0:
			print('NO')
		else:
			print('YES')


t = int(input())
for q in range(t):
	n = int(input())
	entrada = list(map(int, input().split(' ')))
	entrada.sort()
	pares = 0
	impares = 0
	for k in range(0, len(entrada)):
		if entrada[k] % 2 == 0:
			pares += 1
		else:
			impares += 1
	if pares % 2 == 0 and impares % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(n - 1):
			if abs(entrada[i + 1] - entrada[i]) == 1:
				print('YES')
				flag = True
				break
		if flag == False:
			print('NO')


ans = []
for i in range(int(input())):
	n = int(input())
	lst = list(map(int, input().split()))
	(cnt_even, cnt_odd) = (0, 0)
	for i in lst:
		if i % 2 == 0:
			cnt_even += 1
		else:
			cnt_odd += 1
	if cnt_even % 2 == 0 & cnt_odd % 2 == 0:
		ans.append('YES')
	else:
		lst.sort()
		con = False
		for i in range(n - 1):
			if lst[i] + 1 == lst[i + 1] and (not con):
				con = True
		if con:
			ans.append('YES')
		else:
			ans.append('NO')
for i in ans:
	print(i)


t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	(o, e) = (0, 0)
	for j in A:
		if j & 1:
			o += 1
		else:
			e += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
		continue
	elif o % 2 == 1 and e % 2 == 1:
		flag = 0
		for j in range(1, n, 1):
			if A[j] - A[j - 1] == 1:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')
			continue
		if flag == 1:
			continue
	else:
		print('NO')


t = eval(input())
o = 0
result = []
count = False
for i in range(t):
	e = eval(input())
	entry = input()
	entry = [int(j) for j in entry.split()]
	for n in range(len(entry)):
		if entry[n] % 2 != 0:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		result.append('YES')
	else:
		for z in range(len(entry)):
			for x in range(len(entry)):
				if entry[z] - entry[x] == 1 or entry[z] - entry[x] == -1:
					count = True
		if count == True:
			result.append('YES')
		else:
			result.append('NO')
	count = False
	o = 0
for r in range(len(result)):
	print(result[r])


t = int(input())
for _ in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	(ev, od) = ([], [])
	for a in A:
		if a % 2:
			od.append(a)
		else:
			ev.append(a)
	if len(od) % 2 == len(ev) % 2 == 0:
		print('YES')
		continue
	for e in ev:
		if e + 1 in od or e - 1 in od:
			print('YES')
			break
	else:
		print('NO')


import math

def is_prime(n):
	if n == 1:
		return False
	for i in range(2, int(math.sqrt(n)) + 1):
		if n % i == 0:
			return False
	return True

def inp():
	ls = list(map(int, input().split()))
	return ls
t = int(input())
for i in range(t):
	n = int(input())
	ls = inp()
	ls.sort()
	dif = 0
	one = 0
	zero = 0
	z = 0
	o = 0
	if ls[n - 1] % 2 == 0:
		zero += 1
	elif ls[n - 1] % 2 == 1:
		one += 1
	for k in range(n - 1):
		if ls[k] + 1 == ls[k + 1] and ls[k] % 2 != ls[k + 1] % 2:
			dif += 1
			break
	for j in range(n):
		if ls[j] % 2 == 0:
			z += 1
		elif ls[j] % 2 == 1:
			o += 1
	if z % 2 == 0:
		print('YES')
	elif dif == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	ones = []
	modulus_1 = []
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	for i in range(n):
		for j in range(i, n):
			if arr[i] % 2 != arr[j] % 2 and abs(arr[i] - arr[j]) == 1:
				modulus_1.append(arr[i])
				modulus_1.append(arr[j])
	if len(even) % 2 != len(odd) % 2:
		print('NO')
	elif len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	elif len(odd) % 2 == 1 and len(even) % 2 == 1:
		if len(modulus_1) >= 2:
			print('YES')
		else:
			print('NO')


import sys
import math as m
t = int(input())
while t > 0:
	t = t - 1
	n = int(input())
	l = [int(x) for x in input().split()]
	lo = []
	co = 0
	ce = 0
	cnt = 0
	l.sort()
	for i in range(n):
		if l[i] & 1 == 0:
			ce += 1
		else:
			co += 1
			lo.append(l[i])
	if co & 1 == 0:
		print('YES')
	else:
		for i in range(len(lo)):
			a = lo[i] + 1
			b = lo[i] - 1
			low = 0
			h = n - 1
			while low <= h:
				mid = (low + h) // 2
				if l[mid] == a:
					cnt = 1
					break
				elif l[mid] > a:
					h = mid - 1
				else:
					low = mid + 1
			if cnt == 1:
				break
			low = 0
			h = n - 1
			while low <= h:
				mid = (low + h) // 2
				if l[mid] == b:
					cnt = 1
					break
				elif l[mid] > b:
					h = mid - 1
				else:
					low = mid + 1
			if cnt == 1:
				break
		if cnt == 1:
			print('YES')
		else:
			print('NO')


import sys
import math
from collections import defaultdict as dd
mod = 1000000007
T = 1
T = int(sys.stdin.readline())
for _ in range(T):
	n = int(input())
	l = list(map(int, input().split()))
	od = 0
	for i in l:
		if i & 1:
			od += 1
	if od & 1:
		flg = 0
		for i in l:
			if i + 1 in l:
				flg = 1
				break
		if flg:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(s) for s in input().split()]
	h = 0
	for j in range(n):
		if a[j] % 2 == 0:
			h += 1
	if h % 2 == 0:
		print('YES')
	else:
		a.sort()
		flag = False
		for j in range(n - 1):
			if a[j + 1] - a[j] == 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


for i in range(0, int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	od = 0
	ev = 0
	for j in range(0, n):
		if a[j] % 2 == 0:
			ev = ev + 1
		else:
			od = od + 1
	if ev == n or od == n:
		print('YES')
	elif od % 2 == 0 and ev % 2 == 0:
		print('YES')
	elif od % 2 != 0 and ev % 2 != 0:
		a.sort()
		f = 1
		for j in range(1, len(a)):
			if abs(a[j - 1] - a[j]) == 1:
				f = 0
				break
		if f == 1:
			print('NO')
		else:
			print('YES')
	else:
		print('NO')


t = int(input())
while t:
	t -= 1
	n = int(input())
	setic = set()
	a = list(map(int, input().split()))
	par = b = 0
	for i in a:
		if i % 2:
			par += 1
		setic.add(i + 1)
		setic.add(i - 1)
		if i in setic:
			b = 1
	if par % 2 == 0 or b == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
i = 0
while i < t:
	i += 1
	n = int(input())
	a = input()
	a = a.split()
	j = 0
	while j < n:
		a[j] = int(a[j])
		j += 1
	a.sort()
	j = 0
	c1 = 0
	c0 = 0
	while j < n:
		if a[j] % 2 == 1:
			c1 += 1
		else:
			c0 += 1
		j += 1
	c1 = c1 % 2
	c0 = c0 % 2
	if c1 == 1:
		j = 0
		flag = 0
		while j < n - 1:
			if a[j + 1] - a[j] == 1:
				print('YES')
				flag = 1
				break
			j += 1
		if flag == 0:
			print('NO')
	elif c1 == 0:
		print('YES')


t = int(input())
while t:
	t -= 1
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	ev = [val for val in a if val % 2 == 0]
	od = [val for val in a if val % 2 == 1]
	if len(ev) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(1, n):
			if a[i] == a[i - 1] + 1:
				flag = 1
		if flag:
			print('YES')
		else:
			print('NO')


n = int(input())
arr = []
for i in range(n):
	x = int(input())
	c = list(map(int, input().split(' ')))
	arr.append(c.copy())
for lst in arr:
	lst = sorted(lst)
	x = -1
	for i in range(len(lst)):
		if i == 0:
			if lst[i + 1] - lst[i] == 1:
				x = 1
				break
		elif i == len(lst) - 1:
			if lst[i] - lst[i - 1] == 1:
				x = 1
				break
		elif lst[i + 1] - lst[i] == 1:
			x = 1
			break
		elif lst[i] - lst[i - 1] == 1:
			x = 1
			break
	dct = {}
	for i in range(len(lst)):
		rem = lst[i] % 2
		if rem in dct.keys():
			dct[rem].append(i)
		else:
			dct[rem] = [i]
	val = list(dct.values())
	if len(val[0]) % 2 != 0 and x == 1:
		print('YES')
	elif len(val[0]) % 2 == 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
from math import gcd, ceil, sqrt
ii1 = lambda : int(stdin.readline().strip())
is1 = lambda : stdin.readline().strip()
iia = lambda : list(map(int, stdin.readline().strip().split()))
isa = lambda : stdin.readline().strip().split()
mod = 1000000007
tc = ii1()
for _ in range(tc):
	n = ii1()
	arr = sorted(iia())
	odd = even = cons = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i > 0 and arr[i] - arr[i - 1] == 1:
			cons = 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 != 0 and odd % 2 != 0 and (cons > 0):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	arr = sorted(arr)
	count = 0
	for i in range(n - 1):
		if arr[i + 1] - arr[i] == 1:
			count += 1
	if count > 0:
		print('YES')
		continue
	count = 0
	for i in arr:
		if i % 2 == 0:
			count += 1
	if count % 2 == 0:
		print('YES')
	else:
		print('NO')


import math
import random
mod = 1000000007
r1 = lambda : int(input())
rm = lambda : map(int, input().split())
rls = lambda : list(rm())
test = r1()
while test:
	test -= 1
	n = r1()
	ls = rls()
	odd = 0
	even = 0
	sum = 0
	for i in ls:
		if i != -1 and i % 2 == 0:
			even += 1
		if i != -1 and i % 2 == 1:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	even = 0
	odd = 0
	sum = 0
	ls.sort()
	i = 1
	while i < n:
		if ls[i] - ls[i - 1] == 1:
			ls[i] = -1
			ls[i - 1] = -1
		i += 1
	for i in ls:
		if i != -1 and i % 2 == 0:
			even += 1
		if i != -1 and i % 2 == 1:
			odd += 1
	anss = 0
	for i in range(n):
		if ls[i] == -1:
			anss += 1
	anss = anss // 2
	if even % 2 == 0 and odd % 2 == 0 or (even % 2 == 1 and odd % 2 == 1 and (anss >= 1)):
		print('YES')
	else:
		print('NO')


q = int(input())
while q:
	q -= 1
	n = int(input())
	a = input().split(' ')
	v1 = []
	v2 = []
	for i in range(n):
		a[i] = int(a[i])
		x = a[i] & 1
		if x == 1:
			v1.append(a[i])
		else:
			v2.append(a[i])
	a.sort()
	o = 0
	for i in range(n):
		if a[i] - a[i - 1] == 1:
			o = 1
	if len(v1) % 2 == 0 and len(v2) % 2 == 0:
		print('YES')
	elif o:
		print('YES')
	else:
		print('NO')


import sys
t = int(sys.stdin.readline())
for _ in range(t):
	n = int(sys.stdin.readline())
	a = list(map(int, sys.stdin.readline().split()))
	even = []
	odd = []
	for i in range(n):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
		continue
	elif len(even) % 2 == 0 and len(odd) % 2 == 1:
		print('NO')
		continue
	elif len(even) % 2 == 1 and len(odd) % 2 == 0:
		print('NO')
		continue
	result = 'NO'
	for j in range(len(even)):
		if even[j] - 1 in odd or even[j] + 1 in odd:
			result = 'YES'
			break
	print(result)


t = int(input())
for i1 in range(t):
	n = int(input())
	arr = [int(x) for x in input().split()]
	l = []
	r = []
	for x in arr:
		if x % 2 == 0:
			l.append(x)
		else:
			r.append(x)
	l.sort()
	r.sort()
	i = 0
	j = 0
	k = 0
	while i < len(l) and j < len(r):
		if l[i] > r[j] + 1:
			j += 1
		elif abs(l[i] - r[j]) == 1:
			k += 1
			i += 1
			j += 1
		else:
			i += 1
	if len(l) % 2 == 0 or k > 0:
		print('YES', end='\n')
	else:
		print('NO', end='\n')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	e = 0
	flag = False
	for i in range(n):
		if a[i] % 2 == 0:
			e += 1
		if i + 1 < n and a[i + 1] - a[i] == 1:
			flag = True
	if e % 2 == 0:
		print('YES')
	elif flag:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())

def prog():
	t = inp()
	for i in range(t):
		inp()
		d = inlt()
		odd = 0
		even = 0
		for j in range(len(d)):
			if d[j] % 2 == 0:
				even += 1
			else:
				odd += 1
		if odd % 2 == 0 and even % 2 == 0:
			print('YES')
		else:
			d = sorted(d)
			flag = False
			for j in range(len(d) - 1):
				if abs(d[j] - d[j + 1]) == 1:
					odd -= 1
					even -= 1
				if odd % 2 == 0 and even % 2 == 0:
					print('YES')
					flag = True
					break
			if not flag:
				print('NO')
prog()


T = int(input())
for i in range(T):
	n = int(input())
	ls = [int(i) for i in input().split()]
	ls.sort()
	res = 0
	for j in ls:
		if j % 2 == 1:
			res += 1
	if res % 2 == 0:
		print('YES')
	else:
		br = 0
		for j in range(n - 1):
			if abs(ls[j] - ls[j + 1]) > 1:
				br = 0
			else:
				if ls[j] == ls[j + 1]:
					continue
				br = 1
				print('YES')
				break
		if br == 0:
			print('NO')


from sys import stdin, stdout, setrecursionlimit
from collections import deque, defaultdict
import math
rl = lambda : stdin.readline()
rll = lambda : stdin.readline().split()
rli = lambda : map(int, stdin.readline().split())
(INF, NINF) = (float('inf'), float('-inf'))

def main():
	T = int(rl())
	for _ in range(T):
		n = int(rl())
		A = list(rli())
		A.sort()
		(e, o) = (0, 0)
		close = 0
		for (i, a) in enumerate(A):
			if a % 2 == 0:
				e += 1
			else:
				o += 1
			if i < len(A) - 1:
				if A[i + 1] - A[i] == 1:
					close += 1
		if e % 2 == 0 and o % 2 == 0:
			print('YES')
			continue
		elif e % 2 == 1 and o % 2 == 1 and (close > 0):
			print('YES')
			continue
		print('NO')
	stdout.close()
main()


import math
t = int(input())
for z in range(t):
	n = int(input())
	l = [int(i) for i in input().split()]
	d = [0] * 101
	e = 0
	o = 0
	oo = []
	for i in range(n):
		d[l[i]] += 1
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
			oo.append(l[i])
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		f = False
		for i in oo:
			if d[i + 1] > 0 or d[i - 1] > 0:
				print('YES')
				f = True
				break
		if not f:
			print('NO')


T = int(input())
for t in range(T):
	n = int(input())
	nums = [int(n) for n in input().split()]
	evens = 0
	odds = 0
	for i in nums:
		if i % 2 == 0:
			evens += 1
		else:
			odds += 1
	if evens % 2 == 0 and odds % 2 == 0:
		print('YES')
		continue
	nums.sort()
	for i in range(len(nums) - 1):
		if nums[i + 1] - nums[i] == 1:
			evens -= 1
			odds -= 1
			print('YES')
			break
	if not (evens % 2 == 0 and odds % 2 == 0):
		print('NO')


def solve(n, s):
	s.sort()
	e = 0
	temp = False
	for i in range(len(s)):
		if s[i] % 2 == 0:
			e += 1
		if i == 0:
			continue
		elif s[i] - s[i - 1] == 1:
			temp = True
	if e % 2 == 0:
		return 'YES'
	elif temp:
		return 'YES'
	else:
		return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	print(solve(n, s))


def chk(x, y, ls, size):
	print(x, ls, size)
	low = 0
	high = size - 1
	while low <= high:
		mid = (low + high) // 2
		if ls[mid] == x:
			print('cool')
			return 1
		if ls[mid] > x:
			high = mid - 1
		else:
			low = mid + 1
	print(y, ls, size)
	low = 0
	high = size - 1
	while low <= high:
		mid = (low + high) // 2
		if ls[mid] == y:
			print('lamo')
			return 1
		if ls[mid] > y:
			high = mid - 1
		else:
			low = mid + 1
	return 0
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = []
	even_len = 0
	odd = []
	odd_len = 0
	for i in a:
		if i % 2 == 0:
			even.append(i)
			even_len += 1
		else:
			odd.append(i)
			odd_len += 1
	if even_len % 2 == 0 and odd_len % 2 == 0:
		print('YES')
	else:
		fg = 0
		if odd_len > even_len:
			for i in range(odd_len):
				if odd[i] + 1 in even or odd[i] - 1 in even:
					fg = 1
					break
		else:
			for i in range(even_len):
				if even[i] + 1 in odd or even[i] - 1 in odd:
					fg = 1
					break
		if fg == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	pair = False
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			pair = True
			break
	odd_count = 0
	for elem in a:
		if elem % 2 == 1:
			odd_count += 1
	if odd_count % 2 == 0:
		print('YES')
	elif pair:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	if len(set(a)) == 1:
		print('YES')
	else:
		even = []
		odd = []
		for i in range(len(a)):
			if a[i] % 2:
				odd.append(a[i])
			else:
				even.append(a[i])
		if len(even) % 2 == 0:
			print('YES')
		else:
			even = sorted(even)
			odd = sorted(odd)
			bool_value = False
			for x in even:
				for y in odd:
					if abs(x - y) == 1:
						bool_value = True
						break
				if bool_value:
					break
			if bool_value:
				print('YES')
			else:
				print('NO')


import os
import sys
from io import BytesIO, IOBase

def solution(arr, n):
	arr.sort()
	(eves, odds) = ([], [])
	for i in range(n):
		if arr[i] & 1:
			odds.append(arr[i])
		else:
			eves.append(arr[i])
	if len(odds) % 2 == len(eves) % 2 == 0:
		write('YES')
		return
	for i in range(1, n):
		if arr[i] - arr[i - 1] == 1:
			write('YES')
			return
	write('NO')

def main():
	for _ in range(r_int()):
		n = r_int()
		arr = r_array()
		solution(arr, n)
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))

def input():
	return sys.stdin.readline().rstrip('\r\n')

def write(*args, end='\n'):
	for x in args[:-1]:
		sys.stdout.write(str(x) + ' ')
	sys.stdout.write(str(args[-1]))
	sys.stdout.write(end)

def r_array():
	return [int(x) for x in input().split()]

def r_int():
	return int(input())
main()


from math import *
from copy import *
from string import *
from random import *
from sys import stdin
from sys import maxsize
from operator import *
from itertools import *
from collections import Counter
import math
import math
import time

def bin1(l, r, k, t, b, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		v = k ** mid
		if v == val:
			return v
		elif v > val:
			ans = mid
			return bin1(mid + 1, r, k, t, b, val, ans)
		else:
			return bin1(l, mid - 1, k, t, b, val, ans)

def bin2(l, r, k, t, b, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		v = t * k ** mid + b * mid
		if v == val:
			return v
		elif v > val:
			ans = mid
			return bin2(l, mid - 1, k, t, b, val, ans)
		else:
			return bin2(mid + 1, r, k, t, b, val, ans)

def SieveOfEratosthenes(n):
	prime = [-1 for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == -1:
			for i in range(p * p, n + 1, p):
				prime[i] = p
		p += 1
	for i in range(2, n + 1):
		if prime[i] == -1:
			prime[i] = i
	return prime

def bin(l, r, ll, val):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		if val >= ll[mid][0] and val <= ll[mid][1]:
			return mid
		elif val < ll[mid][0]:
			return bin(l, mid - 1, ll, val)
		else:
			return bin(mid + 1, r, ll, val)

def deci(n):
	s = ''
	while n != 0:
		if n % 2 == 0:
			n = n // 2
			s = '0' + s
		else:
			n = n // 2
			s = '1' + s
	return s

def diff(s1, s2):
	if len(s1) < len(s2):
		v = len(s1)
		while v != len(s2):
			s1 = '0' + s1
			v = v + 1
	else:
		v = len(s2)
		while v != len(s1):
			s2 = '0' + s2
			v = v + 1
	c = 0
	for i in range(len(s1)):
		if s1[i:i + 1] != s2[i:i + 1]:
			c = c + 1
	return c
from sys import stdin, stdout

def fac(a, b):
	v = a
	while a != b:
		v *= a - 1
		a = a - 1
	return v

def bino(l, r, n):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		val1 = math.log(n / mid + 1, 2)
		val2 = int(val1)
		if val1 == val2:
			return val1
		elif val1 < 1.0:
			return bino(l, mid - 1, n)
		else:
			return bino(mid + 1, r, n)

def binary(l, r, val, ans):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		v = val ** 5 - mid ** 5
		print(v)
		if v == ans:
			print('HOHOHOH')
			return mid
		elif v < ans:
			return binary(mid + 1, r, val, ans)
		else:
			return binary(l, mid - 1, val, ans)

def check(n):
	v = 1
	while n != 0:
		if n % 10 == 0 or n % 10 == 1:
			n = n // 10
		else:
			v = 0
			break
	return v

def stairs(n, m, val, c, l):
	if val > n:
		return 100000
	elif val == n:
		if l[val] != -1:
			return l[val]
		elif c % m == 0:
			l[val] = c
			return l[val]
		else:
			l[val] = 100000
			return l[val]
	else:
		l[val] = min(stairs(n, m, val + 1, c + 1, l), stairs(n, m, val + 2, c + 1, l))
		return l[val]

def fact(n):
	if n == 0 or n == 1:
		return 1
	else:
		return n * fact(n - 1)

def some(n):
	s = 0
	while n != 0:
		s += fact(n % 10)
		n //= 10
	return s

def bin(ll, l, r, val):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		if ll[mid] == val:
			return mid
		elif ll[mid] > val:
			return bin(ll, l, mid - 1, val)
		else:
			return bin(ll, mid + 1, r, val)

def fn(n):
	c = -1
	for i in range(2, int(sqrt(n)) + 1):
		if n % 2 == 0:
			c = i
			break
	if c == -1:
		c = n
	return c

def check(n):
	val = 0
	while n != 0:
		if n % 10 > 1:
			val = -1
			break
		n = n // 10
	return val
t = int(input())
for i in range(t):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	odd = 0
	oddlist = []
	for j in range(n):
		if l[j] % 2 != 0:
			odd += 1
			oddlist.append(l[j])
	if odd % 2 == 0:
		print('YES')
	else:
		boo = 0
		for j in range(odd):
			if bin(l, 0, n - 1, oddlist[j] + 1) != -1 or bin(l, 0, n - 1, oddlist[j] - 1) != -1:
				boo = 1
				break
		if boo == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
while t > 0:
	n = int(input())
	li = [int(i) for i in input().split()]
	even = 0
	odd = 0
	for i in li:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	ans = ''
	if even % 2 == 0:
		ans = 'YES'
	else:
		li.sort()
		for i in range(0, n - 1):
			if li[i + 1] - li[i] == 1:
				ans = 'YES'
		if ans == '':
			ans = 'NO'
	print(ans)
	t -= 1


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	even = list()
	odd = list()
	for x in l:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
	if len(even) % 2 == 0:
		print('YES')
		continue
	result = False
	for x in odd:
		if x - 1 in even or x + 1 in even:
			result = True
			break
	if result == True:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	ex = 0
	ey = 0
	for e in l:
		if e % 2 == 0:
			ex += 1
		else:
			ey += 1
	if ex % 2 == 0 and ey % 2 == 0:
		print('YES')
	else:
		f = True
		u = []
		v = []
		s = True
		for i in range(0, n - 1):
			if f == False:
				f = True
			elif l[i + 1] - l[i] == 1:
				if i == n - 2:
					s = False
				u.append(l[i])
				u.append(l[i + 1])
				f = False
			else:
				v.append(l[i])
		if len(u) != n and s == True:
			v.append(l[-1])
		o = 0
		p = 0
		for e in v:
			if e % 2 == 0:
				p += 1
			else:
				o += 1
		if p % 2 == 0 and o % 2 == 0:
			print('YES')
		elif p % 2 != 0 and o % 2 != 0 and (p + o != n):
			print('YES')
		else:
			print('NO')


for case in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	if n & 1:
		print('NO')
		continue
	s1 = [x for x in a if x & 1]
	s2 = [x for x in a if not x & 1]
	if len(s1) & 1:
		flg = False
		for x in s1:
			for y in s2:
				if abs(x - y) == 1:
					flg = True
					break
			if flg:
				break
		print('YES' if flg else 'NO')
		continue
	print('YES')


def solve(a, n):
	a.sort()
	n_evens = 0
	consec_pair = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1 and consec_pair == 0:
			consec_pair = 1
		if a[i] % 2 == 0:
			n_evens += 1
	if a[-1] % 2 == 0:
		n_evens += 1
	if n_evens % 2 == 0:
		print('YES')
		return
	elif consec_pair == 1:
		print('YES')
	else:
		print('NO')
t = int(input())
for test in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	solve(a, n)


for _ in range(int(input())):
	n = int(input())
	A = list(map(int, input().split()))
	e = 0
	el = []
	ell = 0
	minEdiff = 0
	minOdiff = 0
	o = 0
	ol = []
	oll = 0
	for i in A:
		if i % 2 == 0:
			e += 1
			el.append(i)
			ell = i
		else:
			o += 1
			ol.append(i)
			oll = i
	for i in range(len(ol) - 1):
		if ol[i] + 1 in A or ol[i] - 1 in A:
			minOdiff = 1
	for i in range(len(el) - 1):
		if el[i] + 1 in A or el[i] - 1 in A:
			minEdiff = 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif max(ell, oll) - min(ell, oll) == 1 or ell % 2 == oll % 2:
		print('YES')
	elif minEdiff == 1 or minOdiff == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	lst = list(map(int, input().split()))
	eve = 0
	odd = 0
	for j in range(n):
		if lst[j] % 2 == 0:
			eve += 1
		else:
			odd += 1
	lst.sort()
	pair = 0
	for j in range(n - 1):
		if lst[j + 1] - lst[j] == 1:
			pair += 1
	if odd % 2 == 1 and pair >= 1 or odd % 2 == 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(i, b) = (0, 0)
	while i < n - 1:
		if a[i + 1] - a[i] == 1:
			b += 1
			i += 2
		else:
			i += 1
	(c, d) = (0, 0)
	for i in range(n):
		if a[i] % 2 == 0:
			c += 1
	d = n - c
	if c % 2 == 0 and d % 2 == 0 or (c % 2 != 0 and d % 2 != 0 and (b > 0)):
		print('YES')
	else:
		print('NO')


q = int(input())
while q > 0:
	q -= 1
	n = int(input())
	mass = list(map(lambda x: int(x), input().split()))
	mass.sort()
	a = 0
	b = 0
	l = 0
	for i in range(len(mass)):
		if mass[i] % 2:
			a += 1
		if l == 1:
			l = 0
			continue
		if i < len(mass) - 1 and mass[i] + 1 == mass[i + 1]:
			b += 1
			l = 1
	if a % 2 == 0 or b > 0:
		print('YES')
	else:
		print('NO')


def solve():
	cc = [0, 0]
	odd = []
	even = []
	for i in range(n):
		if a[i] & 1:
			cc[1] += 1
			odd.append(a[i])
		else:
			cc[0] += 1
			even.append(a[i])
	if not cc[0] & 1:
		print('YES')
		return
	for e in even:
		for o in odd:
			if abs(e - o) == 1:
				print('YES')
				return
	print('NO')
	return
t = int(input())
for i in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	solve()


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	rem = [0, 0]
	flag = False
	for i in range(n):
		rem[arr[i] % 2] += 1
		if arr[i] == arr[i - 1] + 1:
			flag = True
	if rem[0] % 2 == 0 and rem[1] % 2 == 0 or flag:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	x = sorted([int(x) for x in input().split()])
	k = 0
	for j in x:
		if j % 2:
			k += 1
	if k % 2:
		p = False
		for j in range(1, len(x)):
			if x[j] - 1 == x[j - 1]:
				print('YES')
				p = True
				break
		if p:
			continue
	print('YES' if k % 2 == 0 else 'NO')


a = int(input())
for _ in range(a):
	x = int(input())
	li = list(map(int, input().split()))
	(odd, even) = (0, 0)
	for i in li:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
		continue
	else:
		li = set(list(li))
		for i in li:
			if i + 1 in li or i - 1 in li:
				print('YES')
				break
		else:
			print('NO')


from sys import *
input = stdin.buffer.readline
for u in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	(x, y) = (0, 0)
	(xx, yy) = ([], [])
	for i in range(n):
		if l[i] % 2 == 0:
			x = x + 1
			xx.append(l[i])
		else:
			y += 1
			yy.append(l[i])
	if x % 2 == 0 and y % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(x):
			if xx[i] + 1 in yy or xx[i] - 1 in yy:
				f = 1
				break
		if f == 0:
			print('NO')
		else:
			print('YES')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(v) for v in input().split()]
	o = 0
	e = 0
	odd = []
	ev = [0] * 103
	for j in range(n):
		if a[j] % 2 != 0:
			o = o + 1
			odd.append(a[j])
		else:
			e = e + 1
			ev[a[j]] = 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif o % 2 == 0 or e % 2 == 0:
		print('NO')
	else:
		f = 0
		for j in range(0, o):
			if ev[odd[j] - 1] == 1 or ev[odd[j] + 1] == 1:
				print('YES')
				f = 1
				break
		if f == 0:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	for ch in arr:
		if ch % 2 == 0:
			even.append(ch)
		else:
			odd.append(ch)
	if len(even) % 2 == 0:
		print('yes')
	else:
		ans = 'no'
		for i in odd:
			check = False
			for j in even:
				if abs(i - j) == 1:
					ans = 'yes'
					check = True
					break
			if check:
				break
		print(ans)


def ans(l, a):
	odds = []
	evens = []
	for i in a:
		if i % 2 == 0:
			evens.append(i)
		else:
			odds.append(i)
	if len(odds) % 2 != len(evens) % 2:
		return 'NO'
	elif len(odds) % 2 == 0 and len(evens) % 2 == 0:
		return 'YES'
	else:
		for i in odds:
			for j in evens:
				if i + 1 == j or i - 1 == j:
					return 'YES'
		return 'NO'
t = int(input())
for i in range(t):
	l = int(input())
	a = list(map(int, input().split()))
	print(ans(l, a))


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(i) for i in input().split(' ')]
	s = sorted(a)
	o = sum([i % 2 for i in s])
	if o % 2 == 0:
		print('YES')
	elif min([[s[i + 1] - s[i], 100000000000000000][s[i] == s[i + 1]] for i in range(n - 1)]) == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(count_even, count_odd) = (0, 0)
	for i in a:
		if i % 2 == 0:
			count_even += 1
		else:
			count_odd += 1
	if count_odd % 2 == 0 and count_even % 2 == 0:
		print('YES')
	elif count_odd % 2 != 0 and count_even % 2 != 0:
		flag = 0
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				print('YES')
				flag = 1
				break
		if flag == 0:
			print('NO')
	else:
		print('NO')


t = int(input())
count = 0
while count < t:
	count += 1
	n = int(input())
	l = list(map(int, input().split(' ')))
	odds = list(filter(lambda x: x % 2 == 1, l))
	evens = list(filter(lambda x: x % 2 == 0, l))
	if len(odds) % 2 == 0 and len(evens) % 2 == 0:
		print('YES')
	else:
		l = sorted(l)
		tcount = 0
		maybe = False
		while tcount < n - 1:
			if l[tcount + 1] - l[tcount] == 1:
				maybe = True
				break
			tcount += 1
		if maybe:
			print('YES')
		else:
			print('NO')


import sys
from collections import deque, defaultdict as dd
from bisect import bisect, bisect_left, bisect_right, insort, insort_left, insort_right
from itertools import permutations
from datetime import datetime
from math import ceil, sqrt, log, gcd

def ii():
	return int(input())

def si():
	return input()

def mi():
	return map(int, input().split())

def li():
	return list(mi())
abc = 'abcdefghijklmnopqrstuvwxyz'
abd = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'g': 6, 'h': 7, 'i': 8, 'j': 9, 'k': 10, 'l': 11, 'm': 12, 'n': 13, 'o': 14, 'p': 15, 'q': 16, 'r': 17, 's': 18, 't': 19, 'u': 20, 'v': 21, 'w': 22, 'x': 23, 'y': 24, 'z': 25}
mod = 1000000007
inf = float('inf')
vow = ['a', 'e', 'i', 'o', 'u']
(dx, dy) = ([-1, 1, 0, 0], [0, 0, 1, -1])

def read():
	tc = 0
	if tc:
		input = sys.stdin.readline
	else:
		sys.stdin = open('input1.txt', 'r')
		sys.stdout = open('output1.txt', 'w')

def solve():
	for _ in range(ii()):
		n = ii()
		a = li()
		e = []
		o = []
		for i in a:
			if i & 1:
				o.append(i)
			else:
				e.append(i)
		c1 = len(o) % 2
		c2 = len(e) % 2
		if c1 == 0 and c2 == 0:
			print('YES')
		elif c1 ^ c2:
			print('NO')
		else:
			f = 0
			for i in e:
				for j in o:
					if abs(i - j) == 1:
						f = 1
						break
			if f:
				print('YES')
			else:
				print('NO')
solve()


import math, sys, bisect
from collections import defaultdict, Counter, deque

def input():
	return sys.stdin.readline().strip()
ilele = lambda : map(int, input().split())
alele = lambda : list(map(int, input().split()))

def Y(c):
	print(['NO', 'YES'][c])

def y(c):
	print(['no', 'yes'][c])
for _ in range(int(input())):
	N = int(input())
	A = alele()
	A.sort()
	E = []
	O = []
	i = 1
	f = 0
	while i < len(A):
		if A[i] - A[i - 1] == 1:
			f = 1
		if A[i - 1] % 2 == 0:
			E.append(A[i - 1])
		else:
			O.append(A[i - 1])
		i += 1
	if A[-1] % 2 == 0:
		E.append(A[-1])
	else:
		O.append(A[-1])
	if len(E) % 2 == 0 and len(O) % 2 == 0:
		Y(1)
	else:
		Y(f)


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	(c, c1) = (0, 0)
	for i in l:
		if i % 2 == 0:
			c += 1
		else:
			c1 += 1
	f = 0
	if c % 2 != c1 % 2:
		print('NO')
		f = 1
	elif c % 2 == 0:
		print('YES')
		f = 1
	else:
		for i in range(0, n):
			for j in range(i + 1, n):
				if abs(l[i] - l[j]) == 1:
					print('YES')
					f = 1
					break
			if f == 1:
				break
		if f == 0:
			print('NO')


import sys, re, math
from collections import deque, defaultdict, Counter, OrderedDict
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, gcd
from heapq import heappush, heappop, heapify, nlargest, nsmallest

def STR():
	return list(input())

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST():
	return list(map(int, input().split()))

def list2d(a, b, c):
	return [[c] * b for i in range(a)]

def sortListWithIndex(listOfTuples, idx):
	return sorted(listOfTuples, key=lambda x: x[idx])

def sortDictWithVal(passedDic):
	temp = sorted(passedDic.items(), key=lambda kv: (kv[1], kv[0]))
	toret = {}
	for tup in temp:
		toret[tup[0]] = tup[1]
	return toret

def sortDictWithKey(passedDic):
	return dict(OrderedDict(sorted(passedDic.items())))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10 ** 9 + 7
t = INT()
while t != 0:
	n = INT()
	a = LIST()
	a.sort()
	rep = 0
	odd = 0
	even = 0
	for i in range(n):
		if i > 0:
			if a[i] - a[i - 1] == 1:
				rep += 1
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif rep >= 1:
		print('YES')
	else:
		print('NO')
	t -= 1


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


for _ in range(int(input())):
	lens = int(input())
	arrs = [int(x) for x in input().split()]
	odds = 0
	ans = 'NO'
	for i in arrs:
		odds += i % 2
	if odds % 2 == 0:
		ans = 'YES'
	else:
		for i in range(lens):
			for j in range(lens):
				if arrs[i] - arrs[j] == 1:
					ans = 'YES'
					break
			if ans == 'YES':
				break
	print(ans)


t = int(input())
for j in range(t):
	n = int(input())
	lt = input()
	lst = list((int(num) for num in lt.strip().split()))
	lst.sort()
	b = x = int(0)
	for i in lst:
		if i % 2 == 0:
			b += 1
	if b % 2 == 0:
		print('Yes')
	else:
		for i in range(n - 1):
			if lst[i + 1] - lst[i] == 1:
				x += 1
				print('Yes')
				break
		if x == 0:
			print('No')


n = int(input())
for i in range(0, n):
	o = int(input())
	p = input().rstrip().split(' ')
	p.sort(key=int)
	L = []
	Q = []
	for j in range(0, len(p)):
		if int(p[j]) % 2 == 0:
			L.append(int(p[j]))
		else:
			Q.append(int(p[j]))
	if len(L) % 2 == 0 and len(Q) % 2 == 0:
		print('YES')
	else:
		G = 0
		for j in range(0, len(L)):
			A = L[j] - 1
			B = L[j] + 1
			if A in Q or B in Q:
				G = 1
				break
		if G == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))[:n]
	a = sorted(a)
	c = 0
	s = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			c = 1
			break
	for i in range(n):
		if a[i] % 2 != 0:
			s = s + 1
	if c == 1 or s % 2 == 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	a = []
	b = []
	c = 0
	for i in range(n - 1):
		if l[i + 1] - l[i] == 1:
			c = 1
	for i in range(len(l)):
		if l[i] % 2 == 0:
			a.append(l[i])
		else:
			b.append(l[i])
	if len(a) % 2 == 0 and len(b) % 2 == 0:
		print('YES')
	elif c == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	B = []
	for i in A:
		if i % 2 == 0:
			B.append(i)
	if len(B) % 2 != 0:
		t = 0
		for i in range(1, n):
			if A[i] - A[i - 1] == 1:
				t += 1
		if t == 0:
			print('NO')
		else:
			print('YES')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	even = 0
	odd = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 != 0 and odd % 2 != 0:
		found = False
		for i in range(n):
			for j in range(n):
				if i != j and abs(arr[i] - arr[j]) == 1:
					if found == False:
						print('YES')
						found = True
		if found == False:
			print('NO')
	else:
		print('NO')


t = int(input())
for k in range(t):
	n = int(input())
	a = list(map(int, input().split()))[:n]
	a.sort()
	count1 = 0
	count2 = 0
	for i in range(n):
		if a[i] % 2 == 0:
			count1 = count1 + 1
		else:
			count2 = count2 + 1
	if count1 % 2 == 0 and count2 % 2 == 0:
		print('YES')
	else:
		i = 1
		while i < n:
			m = a[i] - a[i - 1]
			if m == 1:
				count1 = count1 - 1
				count2 = count2 - 1
				if count1 % 2 == 0 and count2 % 2 == 0:
					break
				i = i + 2
			else:
				i = i + 1
		if count1 % 2 == 0 and count2 % 2 == 0:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = sorted(list(map(int, input().split())))
	even = 0
	odd = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


cases = int(input())
for x in range(0, cases):
	lenght = int(input())
	sequence = [int(x) for x in input().split()]
	min_diff_counter = 0
	evens_counter = 0
	odds_counter = 0
	sequence = sorted(sequence)
	for x in range(0, lenght - 1):
		if sequence[x] % 2 == 0:
			evens_counter += 1
		else:
			odds_counter += 1
		if sequence[x + 1] - sequence[x] == 1:
			min_diff_counter += 1
	if sequence[-1] % 2 == 0:
		evens_counter += 1
	else:
		odds_counter += 1
	if evens_counter % 2 == 0 and odds_counter % 2 == 0:
		print('YES')
	elif evens_counter % 2 == 1 and odds_counter % 2 == 1 and min_diff_counter:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	even_list = []
	odd_list = []
	for element in arr:
		if element % 2 == 0:
			even_list.append(element)
		else:
			odd_list.append(element)
	if len(even_list) % 2 == 0:
		print('YES')
	else:
		counter = 0
		for element in even_list:
			if element + 1 in odd_list or element - 1 in odd_list:
				print('YES')
				counter = 1
				break
		if counter == 0:
			print('NO')


from collections import Counter
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	c1 = 0
	c2 = 0
	for i in a:
		if i % 2:
			c1 += 1
		else:
			c2 += 1
	if not c1 % 2 and (not c2 % 2):
		print('YES')
	else:
		d = 0
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				d += 1
		for i in range(n):
			a[i] %= 2
		ok = False
		c = Counter(a)
		c1 = 0
		c2 = 0
		if 1 in c:
			c1 = c[1]
		if 0 in c:
			c2 = c[0]
		while d > 0:
			if c1 % 2 == 0 and c2 % 2 == 0:
				ok = True
				break
			if c1 > 0 and c2 > 0:
				c1 -= 1
				c2 -= 1
				d -= 1
			else:
				break
		if c1 % 2 == 0 and c2 % 2 == 0:
			ok = True
		c = Counter(a)
		c1 = 0
		c2 = 0
		if 1 in c:
			c1 = c[1]
		if 0 in c:
			c2 = c[0]
		if c1 % 2 == 0 and c2 % 2 == 0:
			ok = True
		print('YES' if ok else 'NO')


a = int(input())
for i in range(0, a):
	b = input()
	even = []
	odd = []
	c = list(map(int, input().split()))
	l1 = 0
	l2 = 0
	for j in c:
		if j % 2 == 0:
			even.append(j)
			l1 += 1
		else:
			odd.append(j)
			l2 += 1
	if l1 % 2 == 0 and l2 % 2 == 0:
		print('YES')
	else:
		found = 0
		if l1 < l2:
			for k in even:
				if k + 1 in odd or k - 1 in odd:
					print('YES')
					found = 1
					break
		else:
			for k in odd:
				if k + 1 in even or k - 1 in even:
					print('YES')
					found = 1
					break
		if found == 0:
			print('NO')


cases = int(input())
for _ in range(cases):
	size = int(input())
	arr = list(map(int, input().split(' ')))
	arr.sort()
	to_pair = size / 2
	one_parities = 0
	unpaired = 0
	paired = 0
	prev = None
	for i in range(size):
		if arr[i] % 2 == 0:
			paired += 1
		else:
			unpaired += 1
		if prev is not None:
			if arr[i] - prev == 1:
				one_parities += 1
		prev = arr[i]
	if paired // 2 + unpaired // 2 + one_parities >= to_pair:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(0, t):
	n = int(input())
	l = list(map(int, input().split()))
	c1 = 0
	c2 = 0
	for j in range(0, n):
		if l[j] % 2 == 0:
			c1 += 1
		else:
			c2 += 1
	if c1 % 2 == 0 and c2 % 2 == 0:
		print('Yes')
	else:
		l.sort()
		f = 0
		for j in range(0, n - 1):
			if l[j + 1] - l[j] == 1:
				print('Yes')
				f = 1
				break
		if f == 0:
			print('No')


def func(l):
	even = []
	odd = []
	for i in l:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		return 1
	else:
		for i in even:
			if i + 1 in odd or i - 1 in odd:
				return 1
				break
	return 0
t = int(input())
l = []
for i in range(t):
	n = int(input())
	l = [int(x) for x in input().split()]
	if func(l):
		print('YES')
	else:
		print('NO')


from sys import stdin
input = stdin.readline
t = int(input().strip())
for _ in range(t):
	n = int(input().strip())
	arr = list(map(int, input().split()))
	odd = []
	even = []
	for i in arr:
		if i % 2:
			odd.append(i)
		else:
			even.append(i)
	if len(odd) % 2:
		for i in odd:
			if i + 1 in even or i - 1 in even:
				print('YES')
				break
		else:
			print('NO')
	else:
		print('YES')


x = int(input())
a = list()
for i in range(x):
	n = input()
	a.append(list(map(int, input().split())))
for i in a:
	x = list(filter(lambda n: n % 2 == 0, i))
	if len(x) % 2 == 0:
		print('YES')
	else:
		for j in x:
			if j + 1 in i or j - 1 in i:
				print('YES')
				break
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	ar = sorted(map(int, input().split()))
	evens = 0
	odd = 0
	differe1 = 0
	i = 0
	while i < n - 1:
		if ar[i + 1] - ar[i] == 1:
			differe1 += 1
			i += 2
		else:
			i += 1
	for i in ar:
		if i % 2 == 0:
			evens += 1
		else:
			odd += 1
	if evens % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif evens % 2 != 0 and differe1 >= 1:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	n = int(input())
	a = list(map(int, input().split()))
	a = sorted(a)
	e = 0
	for i in range(n):
		if a[i] % 2 == 0:
			e += 1
	flag = 0
	if e % 2 == 0:
		print('YES')
	else:
		for i in range(len(a) - 1):
			if abs(a[i] - a[i + 1]) == 1:
				flag = 1
				break
		if flag == 0:
			print('NO')
		else:
			print('YES')
	t = t - 1


import sys
from bisect import bisect_left, bisect_right
input = lambda : sys.stdin.readline()
int_arr = lambda : list(map(int, input().split()))
str_arr = lambda : list(map(str, input().split()))
get_str = lambda : map(str, input().split())
get_int = lambda : map(int, input().split())
get_flo = lambda : map(float, input().split())
mod = 1000000007

def solve(n, arr):
	odd = []
	even = []
	for i in arr:
		if i % 2 != 0:
			odd.append(i)
		else:
			even.append(i)
	(lo, le) = (len(odd), len(even))
	if lo % 2 == 0 and le % 2 == 0:
		print('YES')
		return
	elif lo % 2 == 1 and le % 2 == 1:
		if lo > le:
			for i in range(le):
				if even[i] - 1 in odd or even[i] + 1 in odd:
					print('YES')
					return
			else:
				print('NO')
		elif le > lo:
			for i in range(lo):
				if odd[i] - 1 in even or odd[i] + 1 in even:
					print('YES')
					return
			else:
				print('NO')
		else:
			for i in range(lo):
				if odd[i] - 1 in even or odd[i] + 1 in even:
					print('YES')
					return
			else:
				print('NO')
	else:
		print('NO')
for _ in range(int(input())):
	n = int(input())
	arr = sorted(int_arr())
	solve(n, arr)


for ii in range(int(input())):
	n = int(input())
	a = [int(i) for i in input().split()]
	ne = 0
	no = 0
	for i in range(n):
		if a[i] % 2 == 0:
			ne += 1
		else:
			no += 1
	if no % 2 == 0 and ne % 2 == 0:
		print('YES')
	elif no % 2 != 0 and ne % 2 == 0 or (no % 2 == 0 and ne % 2 != 0):
		print('NO')
	else:
		count = 0
		a.sort()
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				count += 1
		if count >= 1:
			print('YES')
		else:
			print('NO')


from collections import defaultdict
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	odd = defaultdict(int)
	even = defaultdict(int)
	o = 0
	e = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even[arr[i]] += 1
			e += 1
		else:
			odd[arr[i]] += 1
			o += 1
	if e % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in odd:
			if even[i + 1] != 0 or even[i - 1] != 0:
				f = 1
		if f == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	N = int(input())
	arr = [int(i) for i in input().split()]
	even = [elem for elem in arr if elem % 2 == 0]
	odd = [elem for elem in arr if elem % 2 != 0]
	if len(even) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for elem in odd:
			if elem - 1 in even or elem + 1 in even:
				flag = 1
				print('YES')
				break
		if flag == 0:
			print('NO')


def f(x):
	return x & 1
for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	temp = list(map(f, l))
	if sum(temp) & 1 == 0:
		print('YES')
		continue
	l.sort()
	flag = False
	for i in range(n - 1):
		if l[i + 1] - l[i] == 1:
			flag = True
			break
	if flag:
		print('YES')
	else:
		print('NO')


def main():
	for i in range(int(input())):
		n = input()
		array_in = [int(x) for x in input().split()]
		even = [x for x in array_in if x % 2 == 0]
		odd = [x for x in array_in if x % 2 != 0]
		(flag, odd_set) = (False, set(odd))
		if len(even) % 2 == 0 and len(odd) % 2 == 0 or (len(even) == 0 or len(odd) == 0):
			print('YES')
			flag = True
		else:
			for num in even:
				if num - 1 in odd_set or num + 1 in odd_set:
					print('YES')
					flag = True
					break
		if flag == False:
			print('NO')
main()


for _ in range(int(input())):
	n = int(input())
	a = [*map(int, input().split())]
	a.sort()
	count = 0
	se = 0
	so = 0
	for i in range(0, n - 1):
		if a[i + 1] - a[i] == 1:
			count += 1
			break
		if a[i] % 2 == 0:
			se += 1
		elif a[i] % 2 == 1:
			so += 1
	if a[-1] % 2 == 0:
		se += 1
	elif a[-1] % 2 == 1:
		so += 1
	if count == 1:
		print('YES')
	elif se % 2 == 0 and so % 2 == 0:
		print('YES')
	else:
		print('NO')


from sys import stdin
t = int(stdin.readline())
while t:
	t -= 1
	n = int(stdin.readline())
	a = list(map(int, stdin.readline().split()))
	eve = list(filter(lambda x: x & 1 == 0, a))
	odd = list(filter(lambda x: x & 1, a))
	e = len(eve) % 2
	o = len(odd) % 2
	ans = 'NO'
	if e == 0 and o == 0:
		ans = 'YES'
	else:
		a.sort()
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				ans = 'YES'
				break
	print(ans)


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	pr = 0
	i = 0
	(even, odd) = (0, 0)
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	for i in range(0, n - 1):
		if arr[i] == arr[i + 1] - 1:
			pr += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		continue
	else:
		if pr == n // 2:
			print('YES')
			continue
		if pr != 0:
			pr = 1
		else:
			pr = 0
		if (odd - pr) % 2 == 0 and (even - pr) % 2 == 0:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	E = []
	O = []
	result = 'YES'
	for i in input().split():
		i = int(i)
		if i & 1:
			O += [i]
		else:
			E += [i]
	l_O = len(O)
	l_E = len(E)
	if l_O & 1:
		for i in O:
			if i + 1 in E:
				l_O -= 1
				l_E -= 1
				E.remove(i + 1)
			elif i - 1 in E:
				l_O -= 1
				l_E -= 1
				E.remove(i - 1)
			if l_O & 1 == 0:
				break
	if l_O & 1:
		print('NO')
	else:
		print(result)


t = int(input())
for _ in range(t):
	n = int(input())
	lista = list(map(int, input().split()))
	lista.sort()
	reszty = []
	odl = 0
	for i in range(len(lista)):
		reszty.append(lista[i] % 2)
	jedynki = reszty.count(1)
	zera = reszty.count(0)
	if jedynki % 2 == 0 and zera % 2 == 0:
		print('YES')
	else:
		for j in range(len(lista) - 1):
			if lista[j + 1] - lista[j] == 1:
				print('YES')
				break
			else:
				odl += 1
		if odl == len(lista) - 1:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(odd, even, d) = ([], [], 0)
	for i in range(n):
		if a[i] % 2 == 0:
			even += [a[i]]
		else:
			odd += [a[i]]
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if abs(a[i + 1] - a[i]) == 1:
				d += 1
				break
		if d:
			print('YES')
		else:
			print('NO')


def solve():
	n = int(input())
	A = list(map(int, input().split()))
	(ne, no, eA, oA) = (0, 0, [], [])
	for a in A:
		if a % 2 == 0:
			eA.append(a)
			ne += 1
		else:
			oA.append(a)
			no += 1
	if ne % 2 == 0 or no % 2 == 0:
		print('YES')
	else:
		flag = False
		for a1 in eA:
			for a2 in oA:
				if abs(a1 - a2) <= 1:
					flag = True
		if flag:
			print('YES')
		else:
			print('NO')
t = int(input())
while t > 0:
	t -= 1
	solve()


t = int(input())
for i in range(t):
	n = int(input())
	L = list(map(int, input().strip().split(' ')))
	even_counter = 0
	odd_counter = 0
	for j in range(len(L)):
		if L[j] % 2 == 0:
			even_counter += 1
		else:
			odd_counter += 1
	if even_counter % 2 == 0 and odd_counter % 2 == 0:
		print('YES')
	else:
		yes = 0
		for j in range(len(L)):
			for k in range(len(L)):
				if L[j] < L[k]:
					(L[k], L[j]) = (L[j], L[k])
		for j in range(1, len(L)):
			if L[j] - L[j - 1] == 1:
				print('YES')
				yes = 1
				break
		if yes == 0:
			print('NO')


from collections import defaultdict

def func(A):
	(odd, even) = (0, 0)
	m = max(A)
	hash = [False] * (m + 2)
	for i in A:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
		hash[i] = True
	if odd % 2 == 0 and even % 2 == 0:
		return 'YES'
	rem = int(odd // 2)
	for i in A:
		if hash[i - 1] == True or hash[i + 1] == True:
			return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	print(func(A))


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	nodd = 0
	neven = 0
	for i in l:
		if i % 2 == 0:
			neven += 1
		if i % 2 == 1:
			nodd += 1
	if neven % 2 == 0 and nodd % 2 == 0:
		print('YES')
	else:
		j = 0
		found = False
		while j < len(l) - 1:
			if l[j + 1] - l[j] == 1:
				found = True
			j += 1
		if found:
			print('YES')
		else:
			print('NO')


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def fact(x):
	if x == 0:
		return 1
	else:
		return x * fact(x - 1)

def lower_bound(li, num):
	answer = -1
	start = 0
	end = len(li) - 1
	while start <= end:
		middle = (end + start) // 2
		if li[middle] >= num:
			answer = middle
			end = middle - 1
		else:
			start = middle + 1
	return answer

def upper_bound(li, num):
	answer = -1
	start = 0
	end = len(li) - 1
	while start <= end:
		middle = (end + start) // 2
		if li[middle] <= num:
			answer = middle
			start = middle + 1
		else:
			end = middle - 1
	return answer

def abs(x):
	return x if x >= 0 else -x

def binary_search(li, val, lb, ub):
	ans = 0
	while lb <= ub:
		mid = (lb + ub) // 2
		if li[mid] > val:
			ub = mid - 1
		elif val > li[mid]:
			lb = mid + 1
		else:
			ans = 1
			break
	return ans
for _ in range(int(input())):
	li = [0] * 100
	n = int(input())
	nums = list(map(int, input().split()))
	(cntev, cntod) = (0, 0)
	for i in range(n):
		li[nums[i] - 1] = 1
		if nums[i] % 2 == 0:
			cntev += 1
		else:
			cntod += 1
	flag = 0
	if cntev % 2 == 0 and cntod % 2 == 0:
		flag = 1
	for i in range(99):
		if li[i] == 1 and li[i + 1] == 1:
			flag = 1
	print('YNEOS'[flag == 0::2])


for _ in range(int(input())):
	n = int(input())
	l = [int(x) for x in input().split()]
	if len(l) == 2:
		if l[0] % 2 == l[1] % 2 or abs(l[0] - l[1]) == 1:
			print('YES')
		else:
			print('NO')
	else:
		even = []
		odd = []
		for i in range(n):
			if l[i] % 2 == 0:
				even.append(l[i])
			else:
				odd.append(l[i])
		if len(even) % 2 == 0 and len(odd) % 2 == 0:
			print('YES')
		else:
			l.sort()
			flag = 0
			for i in range(1, n):
				if l[i] - l[i - 1] == 1:
					flag = 1
					break
			if flag == 1:
				print('YES')
			else:
				print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	arr = input().split()
	cSum = 0
	buck = [0] * 102
	flag = False
	for x in arr:
		cSum += int(x) % 2
		buck[int(x)] = 1
		if buck[int(x) - 1] or buck[int(x) + 1]:
			flag = True
	if cSum % 2 == 0 or flag:
		print('Yes')
	else:
		print('No')


from itertools import tee, combinations

def pairwise(iterable):
	(a, b) = tee(iterable)
	next(b, None)
	return zip(a, b)

def c():
	len_v = int(input())
	v = list(map(int, input().split()))
	qtd_pares = sum((1 for num in v if num % 2 == 0))
	qtd_impares = len_v - qtd_pares
	if qtd_pares % 2 != qtd_impares % 2:
		print('NO')
	elif qtd_pares % 2 == 0:
		print('YES')
	else:
		for pair in combinations(v, 2):
			if pair[0] % 2 != pair[1] % 2 and abs(pair[0] - pair[1]) == 1:
				print('YES')
				return
		print('NO')

def main():
	for _ in range(int(input())):
		c()
main()


for j in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	i = 0
	(even_cnt, odd_cnt) = (0, 0)
	flag = 0
	while i < n:
		if flag == 0 and i < n - 1 and (a[i] + 1 == a[i + 1]):
			i += 2
			flag = 1
		else:
			if a[i] % 2 == 0:
				even_cnt += 1
			else:
				odd_cnt += 1
			i += 1
	if even_cnt % 2 == odd_cnt % 2 == 0 or flag == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(0, t):
	n = int(input())
	l = list(map(int, input().split()))
	even = 0
	odd = 0
	for j in range(0, n):
		if l[j] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		l.sort()
		yes = False
		for j in range(1, n):
			if l[j] == l[j - 1] + 1:
				yes = True
		if yes:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	(o, e) = (0, 0)
	for z in a:
		if z & 1:
			o += 1
		else:
			e += 1
	diff = 0
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			diff += 1
	f = 1
	if o & 1 and diff == 0:
		f = 0
	if f:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	S = list(map(int, input().split()))
	E = []
	O = []
	for j in S:
		if j % 2 == 0:
			E.append(j)
		else:
			O.append(j)
	if len(E) % 2 == 0 and len(O) % 2 == 0:
		print('YES')
	else:
		z = 0
		for x in E:
			for y in O:
				if abs(x - y) == 1:
					z = 1
		if z == 1:
			print('YES')
		else:
			print('NO')


tests = int(input())
for t in range(tests):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	chet = 0
	nechet = 0
	for i in range(n):
		if a[i] % 2 == 0:
			chet += 1
		else:
			nechet += 1
	if chet % 2 == 0 and nechet % 2 == 0:
		print('YES')
		continue
	s = False
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			s = True
			break
	if not s:
		print('NO')
		continue
	print('YES')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	o = 0
	for i in range(n):
		if a[i] & 1 > 0:
			o += 1
	if o % 2 == 0:
		print('yes')
	else:
		f = False
		a.sort()
		for i in range(n - 1):
			if abs(a[i + 1] - a[i]) == 1:
				f = True
		if f:
			print('yes')
		else:
			print('no')


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	c = 0
	for j in range(n - 1):
		c += a[j] - a[j + 1] == -1
	o = sum((x % 2 for x in a))
	e = n - o
	if o % 2 != e % 2:
		print('NO')
	elif o % 2 == 1:
		print('YES' if c > 0 else 'NO')
	else:
		print('YES')


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return list(map(int, input().split()))

def solve(n, arr):
	e_set = set()
	o_list = []
	e_list = []
	for i in range(n):
		if arr[i] % 2 != 0:
			o_list.append(arr[i])
		else:
			e_list.append(arr[i])
		e_set.add(arr[i])
	if len(o_list) % 2 == 0:
		return 'YES'
	for i in o_list:
		if i - 1 in e_set or i + 1 in e_set:
			return 'YES'
	return 'NO'
t = inp()
for i in range(t):
	n = inp()
	arr = inlt()
	print(solve(n, arr))


def solution():
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even_count = 0
	odd_count = 0
	for ai in a:
		if ai % 2 == 0:
			even_count += 1
		else:
			odd_count += 1
	if odd_count % 2 == 0:
		print('YES')
		return
	ans = 'NO'
	for i in range(n - 1):
		if abs(a[i] - a[i + 1]) == 1:
			ans = 'YES'
			break
	print(ans)
T = int(input())
while T:
	solution()
	T -= 1


from fractions import Fraction
import bisect
import os
from collections import Counter
import bisect
from collections import defaultdict
import math
import random
import heapq as hq
from math import sqrt
import sys
from functools import reduce, cmp_to_key
from collections import deque
import threading
from itertools import combinations
from io import BytesIO, IOBase
from itertools import accumulate

def input():
	return sys.stdin.readline().strip()

def iinput():
	return int(input())

def tinput():
	return input().split()

def rinput():
	return map(int, tinput())

def rlinput():
	return list(rinput())
mod = int(1000000000.0) + 7

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))
t = 1
for _ in range(iinput()):
	n = iinput()
	a = rlinput()
	a.sort()
	evens = 0
	odds = 0
	odd = []
	for i in a:
		if i % 2:
			odds += 1
			odd.append(i)
		else:
			evens += 1
	if odds % 2 == 0 and evens % 2 == 0:
		print('YES')
	else:
		flg = False
		for i in a:
			if i % 2 == 0 and (i + 1 in odd or i - 1 in odd):
				flg = True
				break
		print(['NO', 'YES'][flg])


t = int(input())
while t > 0:
	t -= 1
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	r = []
	for i in l:
		r.append(i % 2)
	d = []
	for i in range(1, n):
		d.append(abs(l[i] - l[i - 1]))
	p = 0
	q = 0
	for i in r:
		if i == 1:
			p += 1
		else:
			q += 1
	q %= 2
	p %= 2
	if p == 0 and q == 0:
		print('YES')
	else:
		c = 0
		for i in d:
			if i == 1:
				c += 1
		if p == q and p <= c:
			print('YES')
		else:
			print('NO')


klp = int(input())
for klpr in range(klp):
	n = int(input())
	a = set()
	b = set()
	k = 0
	for i in input().split():
		i = int(i)
		if i % 2 == 0:
			a.add(i)
		else:
			b.add(i)
			k += 1
	pr = 0
	if k % 2 == 0:
		print('YES')
	else:
		for i in b:
			if i + 1 in a or i - 1 in a:
				print('YES')
				pr = 1
				break
		if pr == 0:
			print('NO')


from sys import stdin, stdout
import collections
import heapq
import itertools
import functools
import math
import operator

def read_line():
	return stdin.readline().strip()

def read_int():
	return int(read_line())

def read_arr():
	return read_line().split(' ')

def read_int_arr():
	return [int(x) for x in read_arr()]

def query_interactive(s):
	print(s)
	stdout.flush()

def main():
	T = 1
	T = read_int()
	for _ in range(T):
		N = read_int()
		a = read_int_arr()
		par_zero = 0
		par_one = 0
		nums = set()
		for v in a:
			if v % 2 == 0:
				par_zero += 1
			else:
				par_one += 1
			nums.add(v)
		if par_zero % 2 == 0 and par_one % 2 == 0:
			print('YES')
			continue
		else:
			for v in a:
				if v + 1 in nums or v - 1 in nums:
					print('YES')
					break
			else:
				print('NO')
main()


from collections import Counter
for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	count_odd = 0
	count_even = 0
	for i in a:
		if i % 2:
			count_odd += 1
		else:
			count_even += 1
	counts = Counter(a)
	if count_odd % 2 == 0 and count_even % 2 == 0:
		print('YES')
		continue
	if count_even % 2 and count_odd % 2:
		flag = 0
		for i in a:
			if i + 1 in counts or i - 1 in counts:
				flag = 1
				print('YES')
				break
		if flag == 1:
			continue
	print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	li = list(map(int, input().split()))
	li.sort()
	x = 0
	o = 0
	e = 0
	for i in li:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	for i in range(n - 1):
		if li[i + 1] - li[i] == 1:
			x += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	elif (e - x) % 2 == 0 and (o - x) % 2 == 0:
		print('YES')
	elif o % 2 != 0 and e % 2 != 0 and (x > 1):
		print('YES')
	elif x == n - 1:
		print('YES')
	else:
		print('NO')


def solve():
	n = int(input())
	array = sorted([int(x) for x in input().split()])
	odd = sum((a % 2 == 1 for a in array))
	even = sum((a % 2 == 0 for a in array))
	if odd % 2 == 0 and even % 2 == 0:
		return 'YES'
	maxn = max(odd, even)
	minn = min(odd, even)
	if (maxn - minn) % 2 != 0:
		return 'NO'

	def isOdd(n):
		return n % 2 == 1
	func = isOdd
	taken = set()
	needed = 1
	num = 0
	i = 0
	while i < len(array) and num < needed:
		if func(array[i]):
			prev = array[i - 1] if i > 0 else None
			if prev and array[i] - prev == 1 and (i - 1 not in taken) and (not func(prev)):
				taken.add(i - 1)
				taken.add(i)
				num += 1
			next = array[i + 1] if i < len(array) - 1 and i not in taken else None
			if next and next - array[i] == 1 and (i + 1 not in taken) and (not func(next)):
				taken.add(i + 1)
				num += 1
		i += 1
	if num == needed:
		return 'YES'
	return 'NO'
T = int(input())
for case in range(T):
	print(solve())


from collections import defaultdict
import sys, math
f = None
try:
	f = open('q1.input', 'r')
except IOError:
	f = sys.stdin
if 'xrange' in dir(__builtins__):
	range = xrange

def print_case_iterable(case_num, iterable):
	print('Case #{}: {}'.format(case_num, ' '.join(map(str, iterable))))

def print_case_number(case_num, iterable):
	print('Case #{}: {}'.format(case_num, iterable))

def print_iterable(A):
	print(' '.join(A))

def read_int():
	return int(f.readline().strip())

def read_int_array():
	return [int(x) for x in f.readline().strip().split(' ')]

def rns():
	a = [x for x in f.readline().split(' ')]
	return (int(a[0]), a[1].strip())

def read_string():
	return list(f.readline().strip())

def bi(x):
	return bin(x)[2:]
from copy import deepcopy

def solution(a, n):
	odds = 0
	evens = 0
	for x in a:
		if x % 2:
			odds += 1
		else:
			evens += 1
	if odds % 2 == 0:
		return 'YES'
	d = set()
	for x in a:
		if x - 1 in d or x + 1 in d:
			return 'YES'
		d.add(x)
	return 'NO'

def main():
	T = read_int()
	for i in range(T):
		n = read_int()
		a = read_int_array()
		x = solution(a, n)
		if 'xrange' not in dir(__builtins__):
			print(x)
		else:
			(print >> output, str(x))
	if 'xrange' in dir(__builtins__):
		print(output.getvalue())
		output.close()
if 'xrange' in dir(__builtins__):
	import cStringIO
	output = cStringIO.StringIO()
main()


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = 0
	even = 0
	yn = False
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			yn = True
			break
	if not yn:
		for i in range(n):
			if a[i] % 2:
				odd += 1
		if odd % 2 == 0:
			yn = True
	if yn:
		print('YES')
	else:
		print('NO')


from __future__ import division, print_function
import itertools
import sys
import os
from io import BytesIO, IOBase
if sys.version_info[0] < 3:
	input = raw_input
	range = xrange
	filter = itertools.ifilter
	map = itertools.imap
	zip = itertools.izip

def is_it_local():
	script_dir = str(os.getcwd()).split('/')
	username = 'dipta007'
	return username in script_dir

def READ(fileName):
	if is_it_local():
		sys.stdin = open(f'./{fileName}', 'r')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
if not is_it_local():
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
	input = lambda : sys.stdin.readline().rstrip('\r\n')

def input1(type=int):
	return type(input())

def input2(type=int):
	[a, b] = list(map(type, input().split()))
	return (a, b)

def input3(type=int):
	[a, b, c] = list(map(type, input().split()))
	return (a, b, c)

def input_array(type=int):
	return list(map(type, input().split()))

def input_string():
	s = input()
	return list(s)

def main():
	t = input1()
	for ci in range(t):
		n = input1()
		arr = input_array()
		(even, odd) = ([], [])
		mp = {}
		for v in arr:
			if v not in mp:
				mp[v] = 0
			mp[v] += 1
			if v % 2:
				odd.append(v)
			else:
				even.append(v)
		if len(odd) % 2 == 0 and len(even) % 2 == 0:
			print('YES')
		else:
			flg = 0
			for v in odd:
				if mp.get(v - 1, 0) or mp.get(v + 1, 0):
					flg = 1
					break
			if flg:
				print('YES')
			else:
				print('NO')
	pass
READ('in.txt')
main()


import sys
input = sys.stdin.readline
t = int(input())
for i in range(t):
	n = int(input())
	b = sorted(list(map(int, input().split())))
	e = 0
	o = 0
	for j in range(n):
		if b[j] % 2 == 0:
			e += 1
		else:
			o += 1
	k = 0
	j = 0
	while j < n - 1:
		if b[j + 1] - b[j] == 1:
			k += 1
		j += 1
	if e % 2 == 0:
		print('YES')
	elif k > 0:
		print('YES')
	else:
		print('NO')


def get(od, ev):
	if len(ev) % 2 == 0:
		return 'YES'
	for i in od:
		if i - 1 in ev or i + 1 in ev:
			return 'YES'
	return 'NO'
for _ in range(int(input())):
	n = int(input())
	A = list(map(int, input().split()))
	ev = []
	od = []
	for i in A:
		if i % 2 == 0:
			ev.append(i)
		else:
			od.append(i)
	print(get(od, ev))


T = int(input())
G = []
K = []
for i in range(T):
	G = []
	K = []
	N = int(input())
	A = list(map(int, input().split()))
	A.sort()
	for j in range(N):
		if j <= N - 2 and A[j + 1] - A[j] == 1:
			print('YES')
			break
		if A[j] % 2 == 0:
			G.append(A[j])
		else:
			K.append(A[j])
	else:
		if len(G) % 2 == 0 and len(K) % 2 == 0:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	(ce, co) = (0, 0)
	for x in l:
		if x % 2 == 0:
			ce += 1
		else:
			co += 1
	key = 0
	if ce % 2 == 0 and co % 2 == 0:
		ans = 'YES'
		key = 1
	else:
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				ans = 'YES'
				key = 1
				break
	if key == 0:
		ans = 'NO'
	print(ans)


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	odd = [i for i in a if i % 2 == 1]
	eve = [i for i in a if i % 2 == 0]
	if len(odd) % 2 == 0:
		print('YES')
		continue
	found = False
	for i in odd:
		if i + 1 in eve or i - 1 in eve:
			print('YES')
			found = True
			break
	if not found:
		print('NO')


tes = int(input())
while tes != 0:
	n1 = int(input())
	(e, o, f) = (0, 0, 0)
	v = list(map(int, input().split()))
	for i in range(n1):
		if v[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		v.sort()
		for j in range(1, n1):
			if v[j] - v[j - 1] == 1:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')
	tes -= 1


import sys
import math
import random
input = sys.stdin.readline

def inp():
	return int(input())

def inara():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
t = inp()
for _ in range(t):
	n = inp()
	ara = inara()
	cnt = 0
	for num in ara:
		cnt += num % 2
	ara.sort()
	flag = False
	for i in range(1, n):
		flag |= ara[i] - ara[i - 1] == 1
	if flag or cnt % 2 == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	ar = list(map(int, input().split(' ')))
	ar.sort()
	odds = 0
	evens = 0
	pairs = 0
	if ar[0] % 2 == 0:
		evens += 1
	if ar[0] % 2 == 1:
		odds += 1
	for j in range(1, n):
		if ar[j] - ar[j - 1] == 1:
			pairs += 1
		if ar[j] % 2 == 0:
			evens += 1
		if ar[j] % 2 == 1:
			odds += 1
	if odds % 2 == 0 and evens % 2 == 0 or (odds % 2 == 1 and evens % 2 == 1 and (pairs >= 1)):
		print('YES')
	else:
		print('NO')


t = int(input())
for tc in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	dis = 0
	even = 0
	if a[0] % 2 == 0:
		even += 1
	for i in range(1, n):
		if a[i] % 2 == 0:
			even += 1
		if a[i] - a[i - 1] == 1:
			dis += 1
	odd = n - even
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif dis >= 1:
		print('YES')
	else:
		print('NO')


import sys

def input():
	return sys.stdin.readline().strip()

def list2d(a, b, c):
	return [[c] * b for i in range(a)]

def list3d(a, b, c, d):
	return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e):
	return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1):
	return int(-(-x // y))

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST(N=None):
	return list(MAP()) if N is None else [INT() for i in range(N)]

def Yes():
	print('Yes')

def No():
	print('No')

def YES():
	print('YES')

def NO():
	print('NO')
INF = 10 ** 19
MOD = 10 ** 9 + 7
for _ in range(INT()):
	N = INT()
	A = LIST()
	cnte = cnto = 0
	for i in range(N):
		if A[i] % 2 == 0:
			cnte += 1
		else:
			cnto += 1
	if cnte % 2 == 0 and cnto % 2 == 0:
		YES()
	else:
		A.sort()
		i = 0
		while i < N - 1:
			if A[i + 1] - A[i] == 1:
				YES()
				break
			else:
				i += 1
		else:
			NO()


def solve():
	n = int(input())
	arr = list(map(int, input().split()))
	even = 0
	for elem in arr:
		if elem % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
	else:
		arr.sort()
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				print('YES')
				return
		print('NO')
t = int(input())
for _ in range(t):
	solve()


t = int(input())
for _ in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	even = []
	odd = []
	for i in range(n):
		if s[i] % 2 == 0:
			even.append(s[i])
		else:
			odd.append(s[i])
	if len(even) % 2 == 0:
		print('YES')
	else:
		even = set(even)
		for val in odd:
			if val - 1 in even or val + 1 in even:
				print('YES')
				break
		else:
			print('NO')


import math
t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	o = 0
	e = 0
	lo = []
	le = []
	if n == 2:
		if abs(l[0] - l[1]) == 1 or (l[0] + l[1]) % 2 == 0:
			print('YES')
		else:
			print('NO')
	else:
		for i in range(n):
			if l[i] % 2 == 0:
				e = e + 1
				le.append(l[i])
			else:
				o = o + 1
				lo.append(l[i])
		if o % 2 == 0 and e % 2 == 0:
			print('YES')
		else:
			f = 0
			for i in lo:
				if i + 1 in le or i - 1 in le:
					print('YES')
					f = 1
					break
			if f == 0:
				print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	(odd, even) = (0, 0)
	for elem in a:
		if elem % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0:
		print('YES')
		continue
	a.sort()
	flag = False
	for i in range(len(a) - 1):
		if a[i + 1] - a[i] == 1:
			flag = True
			break
	print('YES') if flag else print('NO')


def bs(arr, x):
	low = 0
	high = len(arr) - 1
	mid = 0
	while low <= high:
		mid = (high + low) // 2
		if arr[mid] < x:
			low = mid + 1
		elif arr[mid] > x:
			high = mid - 1
		else:
			return mid
	return -1
t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().strip().split()))
	o = []
	e = []
	for x in a:
		if x % 2 == 0:
			e.append(x)
		else:
			o.append(x)
	if len(o) % 2 == 0:
		print('YES')
	else:
		f = 0
		if len(o) < len(e):
			e.sort()
			for x in o:
				if bs(e, x - 1) != -1 or bs(e, x + 1) != -1:
					f = 1
					break
			if f == 0:
				print('NO')
			else:
				print('YES')
		else:
			o.sort()
			for x in e:
				if bs(o, x - 1) != -1 or bs(o, x + 1) != -1:
					f = 1
					break
			if f == 0:
				print('NO')
			else:
				print('YES')


from collections import Counter
import sys
sys.setrecursionlimit(10 ** 6)
mod = 1000000007
inf = int(1e+18)
dx = [0, 1, 0, -1]
dy = [1, 0, -1, 0]

def inverse(a):
	return pow(a, mod - 2, mod)

def usearch(x, a):
	lft = 0
	rgt = len(a) + 1
	while rgt - lft > 1:
		mid = (rgt + lft) // 2
		if a[mid] <= x:
			lft = mid
		else:
			rgt = mid
	return lft

def solve():
	n = int(input())
	a = sorted(map(int, input().split()))
	even = 0
	odd = 0
	for x in a:
		if x % 2:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		return
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			print('YES')
			return
	print('NO')

def main():
	n = int(input())
	for i in range(n):
		solve()
main()


for _ in range(int(input())):
	n = int(input())
	v = list(map(int, input().split()))
	v.sort()
	even = odd = 0
	parity = 0
	for i in range(len(v)):
		if v[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i != 0 and v[i] - v[i - 1] == 1:
			parity = 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif even % 2 == 0 and odd % 2 != 0:
		print('NO')
	elif even % 2 != 0 and odd % 2 == 0:
		print('NO')
	elif parity == 1:
		print('YES')
	else:
		print('NO')


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


from collections import Counter
from collections import defaultdict
from collections import deque
import math
import heapq
import sys
input = sys.stdin.readline
import bisect
rs = lambda : input().strip()
ri = lambda : int(input())
rl = lambda : list(map(int, input().split()))
rls = lambda : list(map(str, input().split()))
t = int(input())
for _ in range(0, t):
	n = int(input())
	a = rl()
	even = []
	odd = []
	for i in range(0, n):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		print('YES')
		continue
	else:
		s1 = set(odd)
		s2 = set(even)
		f = 0
		for i in s1:
			if i - 1 in s2 or i + 1 in s2:
				f = 1
				break
		if f:
			print('YES')
		else:
			print('NO')


t = int(input())

def q(l, n):
	e = []
	o = []
	for x in l:
		if x % 2 == 0:
			e.append(x)
		else:
			o.append(x)
	ne = len(e)
	no = n - ne
	if ne % 2 == 0:
		return 'YES'
	elif ne < no:
		for x in e:
			if x + 1 in o or x - 1 in o:
				return 'YES'
		return 'NO'
	else:
		for x in o:
			if x + 1 in e or x - 1 in e:
				return 'YES'
		return 'NO'
for i in range(t):
	n = int(input())
	a = input().split()
	l = list(map(int, a))
	print(q(l, n))


for _ in range(int(input())):
	n = int(input())
	lst = list(map(int, input().split()))
	even = []
	odd = []
	e = o = 0
	for ele in lst:
		if ele % 2 == 0:
			even.append(ele)
		else:
			odd.append(ele)
	e = len(even)
	o = len(odd)
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif o % 2 == 1 and e % 2 == 1:
		s = set(even)
		valid = False
		for ele in odd:
			if ele - 1 in s or ele + 1 in s:
				valid = True
				break
		if valid:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


T = int(input())
for t in range(T):
	N = int(input())
	A = list(map(int, input().split()))
	par = [a % 2 for a in A]
	odd = sum(par)
	even = N - odd
	res = 'NO'
	if even % 2 == 0 and odd % 2 == 0:
		res = 'YES'
	elif even % 2 != 0 and odd % 2 != 0:
		sA = sorted(A)
		for i in range(N - 1):
			ai = sA[i]
			aip = sA[i + 1]
			if aip - ai == 1:
				res = 'YES'
				break
	print(res)


from fractions import Fraction
import sys
import bisect
import heapq
from math import *
from collections import Counter as counter
from itertools import combinations as comb
from itertools import permutations as permutate
from bisect import bisect_left as bl
from bisect import bisect_right as br
from bisect import bisect
mod = pow(10, 9) + 7

def inp():
	return sys.stdin.readline().strip()

def out(var):
	sys.stdout.write(str(var))

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def sep():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def graph(vertex):
	return [[] for i in range(0, vertex + 1)]

def zerolist(n):
	return [0] * n

def nextline():
	out('\n')

def testcase(t):
	for p in range(t):
		solve()

def printlist(a):
	for p in range(0, len(a)):
		out(str(a[p]) + ' ')

def lcm(a, b):
	return a * b // gcd(a, b)

def solve():
	n = int(inp())
	a = sorted(lis())
	odd = []
	even = []
	diff1 = []
	for i in range(0, n):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(even) % 2 == 0:
		print('YES')
	else:
		f = True
		for i in range(0, len(even)):
			if f == False:
				break
			for j in range(0, len(odd)):
				if abs(even[i] - odd[j]) == 1:
					f = False
					print('YES')
					break
		if f:
			print('NO')
testcase(int(inp()))


for _ in range(int(input())):
	n = int(input())
	(odd, even) = ([], [])
	f = 0
	arr = list(map(int, input().split()))
	for i in arr:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if (len(even) and len(odd)) % 2 == 0:
		print('YES')
	else:
		for i in odd:
			if i - 1 in even or i + 1 in even:
				print('YES')
				f = 1
				break
			else:
				continue
		if f == 0:
			print('NO')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
mod2 = 998244353
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return list(map(int, sys.stdin.readline().split()))

def LLI():
	return [list(map(int, l.split())) for l in sys.stdin.readlines()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def pe(s):
	return print(str(s), file=sys.stderr)

def JA(a, sep):
	return sep.join(map(str, a))

def JAA(a, s, t):
	return s.join((t.join(map(str, b)) for b in a))

def main():
	t = I()
	rr = []
	for _ in range(t):
		n = I()
		a = LI()
		c = [0] * 2
		f = False
		t = sorted(a)
		for i in range(n):
			c[t[i] % 2] += 1
			f |= abs(t[i] - t[i - 1]) == 1
		if c[0] % 2 == 1 and (not f):
			rr.append('NO')
		else:
			rr.append('YES')
	return JA(rr, '\n')
print(main())


t = int(input())
while t:
	t += -1
	n = int(input())
	l = list(map(int, input().split()))
	(even, odd) = (0, 0)
	l.sort()
	check = 0
	for i in l:
		if i % 2:
			odd -= -1
		else:
			even -= -1
	for i in range(1, n):
		if l[i] - l[i - 1] == 1:
			check = 1
			break
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif check == 1:
		print('YES')
	else:
		print('NO')


import math
for w in range(int(input())):
	n = int(input())
	par = []
	impar = []
	for i in input().split():
		if int(i) % 2 == 0:
			par.append(int(i))
		else:
			impar.append(int(i))
	if len(par) % 2 == 0 and len(impar) % 2 == 0:
		print('YES')
	elif len(par) == 1 and len(impar) == 1:
		print('YES' if abs(par[0] - impar[0]) == 1 else 'NO')
	elif abs(len(par) - len(impar)) % 2 == 1:
		print('NO')
	else:
		flag = 0
		par.sort()
		impar.sort()
		for i in par:
			for t in impar:
				if abs(i - t) == 1:
					flag = 1
					break
				elif abs(i - t) > 1 and t > i:
					break
			if flag == 1:
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


T = int(input())
for t in range(T):
	n = int(input())
	l = sorted(list(map(int, input().rstrip().split())))
	flag = False
	pari = 0
	dispari = 0
	for i in range(n - 1):
		if l[i + 1] == l[i] + 1:
			flag = True
	for el in l:
		if el % 2 == 0:
			pari += 1
		else:
			dispari += 1
	if pari % 2 == 0 and dispari % 2 == 0:
		print('YES')
	elif flag:
		print('YES')
	else:
		print('NO')


import math
TT = int(input())
for _ in range(TT):
	n = int(input())
	l = list(map(int, input().split()))
	odd = []
	even = []
	allset = set()
	for x in l:
		if x % 2 == 0:
			even.append(x)
		else:
			odd.append(x)
		allset.add(x)
	if len(odd) % 2 == 0:
		print('YES')
		continue
	found = False
	for x in odd:
		if x - 1 in allset or x + 1 in allset:
			found = True
			break
	if found:
		print('YES')
	else:
		print('NO')


def call():
	n = int(input())
	(ecoN, odcoN) = (0, 0)
	l = [int(x) for x in input().split()]
	for i in l:
		if i & 1:
			odcoN += 1
		else:
			ecoN += 1
	if odcoN % 2 != ecoN % 2:
		print('NO')
		return
	if ecoN % 2 == 0:
		print('YES')
		return
	else:
		for i in range(0, n):
			for j in range(i + 1, n):
				if l[i] % 2 != l[j] % 2 and abs(l[i] - l[j]) == 1:
					print('YES')
					return
	print('NO')
for _ in range(int(input())):
	call()


t = int(input())
for _ in range(t):
	ans = True
	n = int(input())
	l = list(map(int, input().split()))
	(odd, eve) = ([], [])
	for i in l:
		if i & 1:
			odd.append(i)
		else:
			eve.append(i)
	if len(odd) & 1 ^ 1:
		print('YES')
		continue
	for i in odd:
		if i + 1 in eve or i - 1 in eve:
			print('YES')
			break
	else:
		print('NO')


from collections import defaultdict
from collections import OrderedDict
from collections import deque
import bisect
import math
import heapq
import sys
import io, os
for ii in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	e = 0
	o = 0
	for i in arr:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	if e % 2 != o % 2:
		print('NO')
	elif e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(n):
			for j in range(n):
				if i != j and abs(arr[i] - arr[j]) == 1:
					f = 1
					print('YES')
					break
			if f:
				break
		if not f:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	i = 0
	count_odd = 0
	for e in a:
		if e % 2 == 1:
			count_odd += 1
	if count_odd % 2 == 1:
		f = False
		for x in a:
			for y in a:
				if x - y == 1:
					f = True
		if f:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	odd = []
	even = []
	for i in a:
		if i % 2 == 0:
			even.append(i)
		else:
			odd.append(i)
	if len(odd) == n or len(even) == n:
		print('YES')
		continue
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
		continue
	if len(odd) % 2 == 0 and len(even) % 2 == 1:
		print('NO')
		continue
	if len(odd) % 2 == 1 and len(even) % 2 == 0:
		print('NO')
		continue
	cnt = 0
	for i in odd:
		if i + 1 in even:
			cnt += 1
		elif i - 1 in even:
			cnt += 1
	if cnt == 0:
		print('NO')
		continue
	else:
		print('YES')
		continue


for _ in range(int(input())):
	n = int(input())
	lis = list(map(int, input().split()))
	even = 0
	odd = 0
	for i in lis:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	cont = 0
	for j in range(n):
		for k in range(j + 1, n):
			if abs(lis[k] - lis[j]) == 1:
				cont += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('yes')
	elif cont >= 1:
		print('yes')
	else:
		print('no')


for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	even = 0
	odd = 0
	x = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		elif i % 2 != 0:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		arr.sort()
		for i in range(1, n):
			if arr[i - 1] % 2 == 0 and arr[i] % 2 != 0 or (arr[i - 1] % 2 != 0 and arr[i] % 2 == 0):
				if abs(arr[i - 1] - arr[i]) == 1:
					x = 1
					break
		if x == 1:
			print('YES')
		else:
			print('NO')


for ii in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	odd = 0
	close = 0
	for i in range(n - 1):
		if abs(a[i] - a[i + 1]) == 1:
			close += 1
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if a[-1] % 2 == 0:
		even += 1
	else:
		odd += 1
	if even % 2 == 0 and odd % 2 == 0 or (even % 2 == 1 and odd % 2 == 1 and (close > 0)):
		print('YES')
	else:
		print('NO')


inte = int(input())
for i in range(inte):
	nu = []
	n = 0
	n = int(input())
	nu = list(map(int, input().split()))
	nu = sorted(nu)
	par = 0
	impar = 0
	otra = 0
	for i in range(n):
		if nu[i] % 2 == 0:
			par += 1
		else:
			impar += 1
	if par % 2 == 0 and impar % 2 == 0:
		print('YES')
	else:
		for j in range(0, n - 1):
			if abs(nu[j] - nu[j + 1]) == 1:
				otra = 1
				break
		if otra == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	A = [int(a) for a in input().split()]
	ans = 'NO'
	A.sort()
	for i in range(n - 1):
		if A[i + 1] - A[i] == 1:
			ans = 'YES'
			break
	cnt = 0
	for a in A:
		if a % 2 == 0:
			cnt += 1
	if cnt % 2 == 0:
		ans = 'YES'
	print(ans)


t = int(input())

def check(l):
	n = len(l)
	s1 = 0
	s2 = 0
	for i in range(n):
		if l[i] % 2 == 1:
			s1 += 1
		else:
			s2 += 1
	if s1 % 2 == 0 and s2 % 2 == 0:
		return True
	else:
		return False
for i in range(t):
	k = False
	n = int(input())
	l = list(map(int, input().split()))
	if n % 2 == 1:
		continue
	l = sorted(l)
	if check(l):
		print('YES')
		continue
	j = 0
	while j < n - 1:
		if l[j + 1] - l[j] == 1:
			l.pop(j)
			l.pop(j)
			n -= 2
			if check(l):
				print('YES')
				k = True
				break
		else:
			j += 1
	if k:
		continue
	else:
		print('NO')


for _ in range(int(input())):
	tam = int(input())
	num = [int(i) for i in input().split()]
	num.sort()
	par = 0
	impar = 0
	for i in num:
		par += 1 - i % 2
		impar += i % 2
	diff = par % 2
	i = 1
	while i < tam and diff > 0:
		if num[i] - num[i - 1] == 1:
			diff -= 1
		i += 1
	if diff == 0:
		print('YES')
	else:
		print('NO')


def odd(x):
	return x & 1 == 1

def even(x):
	return not odd(x)

def input_as_list():
	return list(map(int, input().split()))
tests = int(input())
for _ in range(tests):
	[n] = input_as_list()
	elems = input_as_list()
	odds = list(filter(odd, elems))
	evens = list(filter(even, elems))
	answer = 'YES'
	if odd(len(odds)):
		answer = 'NO'
		elems.sort()
		for i in range(n - 1):
			if elems[i] + 1 == elems[i + 1]:
				answer = 'YES'
				break
	print(answer)


t = int(input())
while t:
	t -= 1
	n = int(input())
	a = list(map(int, input().split()))
	odd = 0
	even = 0
	m = 0
	mod = []
	for i in range(n):
		if a[i] & 1:
			odd += 1
		else:
			even += 1
		if m < 2:
			for j in range(n):
				if i == j:
					continue
				if abs(a[i] - a[j]) == 1:
					m += 1
				if m == 2:
					break
	if odd % 2 != even % 2:
		print('No')
	elif odd & 1:
		if m >= 2:
			print('Yes')
		else:
			print('No')
	else:
		print('Yes')


T = int(input())
for _ in range(T):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	odd = 0
	even = 0
	diff = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	for i in range(1, n):
		if abs(arr[i] - arr[i - 1]) == 1:
			diff += 1
	if odd % 2 == 0 and even % 2 == 0 or (odd % 2 == 1 and even % 2 == 1 and (diff > 0)):
		print('YES')
	else:
		print('NO')


t = int(input())
for tc in range(t):
	n = int(input())
	num = list(map(int, input().split()))
	ev = []
	od = []
	for i in num:
		if i % 2 == 0:
			ev.append(i)
		else:
			od.append(i)
	if len(ev) % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in od:
			for j in ev:
				if abs(i - j) == 1:
					f = 1
					break
			if f == 1:
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


import math
import sys
import collections
from collections import defaultdict
sys.setrecursionlimit(10 ** 9)
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	flag = 0
	even = 0
	odd = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if i > 0:
			if arr[i] - arr[i - 1] == 1:
				flag = 1
	if even % 2 == 0 and odd % 2 == 0 or flag == 1:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	x = sum((1 for i in a if i % 2 == 0))
	if x % 2 == 0:
		print('Yes')
	else:
		a.sort()
		for i in range(n - 1):
			if a[i] + 1 == a[i + 1]:
				print('Yes')
				n = 0
				break
		if n != 0:
			print('No')


from sys import stdin
for _ in range(int(input())):
	n = int(input())
	arr = list(map(int, stdin.readline().split()))
	(od, ev) = ([], [])
	for i in range(n):
		if arr[i] % 2 == 0:
			ev.append(arr[i])
		else:
			od.append(arr[i])
	if len(ev) % 2 == 0 and len(od) % 2 == 0:
		print('Yes')
	else:
		cond = False
		for ele in od:
			if ele + 1 in ev or ele - 1 in ev:
				cond = True
				break
		if cond == True:
			print('Yes')
		else:
			print('No')


for i in range(int(input())):
	vals = [[], [], []]
	n = int(input())
	prompt = [int(i) for i in input().split(' ')]
	for i in prompt:
		if i % 2 == 0:
			vals[0].append(i)
		else:
			vals[1].append(i)
	if len(vals[0]) % 2 == 0 and len(vals[1]) % 2 == 0:
		print('YES')
	else:
		for i in vals[0]:
			for l in vals[1]:
				if abs(i - l) == 1:
					vals[2].append([i, l])
		if len(vals[2]) >= (len(vals[1]) - len(vals[2])) % 2:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	m = []
	n = []
	for i in range(len(l)):
		if l[i] % 2 == 0:
			m.append(l[i])
		else:
			n.append(l[i])
	if len(m) % 2 == 0 and len(n) % 2 == 0:
		print('YES')
	else:
		a = len(m)
		b = len(n)
		for i in m:
			for j in n:
				if a % 2 != 0 and b % 2 != 0:
					if abs(i - j) == 1:
						a -= 1
						b -= 1
		if a % 2 == 0 and b % 2 == 0:
			print('YES')
		else:
			print('NO')


import math
from collections import defaultdict, Counter, deque
INF = float('inf')

def primeFactor(n):
	if n % 2 == 0:
		return 2
	i = 3
	while i ** 2 <= n:
		if n % i == 0:
			return i
		i += 1
	return n

def main():
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	count_even = 0
	count_odd = 0
	for i in range(n):
		if i > 0 and arr[i] - arr[i - 1] == 1:
			print('YES')
			return
		if arr[i] % 2 == 0:
			count_even += 1
		else:
			count_odd += 1
	if count_even % 2 == 0 or count_odd % 2 == 0:
		print('YES')
	else:
		print('NO')
	return
t = int(input())
for _ in range(t):
	main()


import sys
import collections as cc
I = lambda : list(map(int, input().split()))
for tc in range(int(input())):
	(n,) = I()
	l = I()
	o = 0
	e = 0
	l.sort()
	for i in range(n):
		if l[i] % 2:
			o += 1
		else:
			e += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	else:
		f = 0
		for i in range(n - 1):
			if l[i] + 1 == l[i + 1]:
				f = 1
				break
		if f:
			print('YES')
		else:
			print('NO')


t = int(input())
for __ in range(t):
	n = int(input())
	a = sorted([int(num) for num in input().split()])
	count = 0
	odd = 0
	flug = True
	for i in range(n):
		if i > 0:
			if abs(a[i] - a[i - 1]) == 1:
				odd += 1
		if a[i] % 2 == 0:
			count += 1
	if odd > 0 or count % 2 == 0:
		print('YES')
	else:
		print('NO')


TC = int(input())
for cn in range(TC):
	n = int(input())
	a = list(map(int, input().strip().split()))[:n]
	a.sort()
	(even, odd, adj) = (0, 0, 0)
	for (indx, val) in enumerate(a):
		if val % 2 == 0:
			even += 1
		else:
			odd += 1
		if indx < n - 1 and a[indx] + 1 == a[indx + 1]:
			adj += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	elif adj > 0:
		print('YES')
	else:
		print('NO')


import sys, math, cmath, time
start_time = time.time()
global tt

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	return input().strip()

def invr():
	return map(int, input().split())

def solve():
	n = inp()
	a = inlt()
	a.sort()
	q = []
	w = []
	for i in range(len(a)):
		if a[i] % 2 == 0:
			q.append(a[i])
		else:
			w.append(a[i])
	if len(q) % 2 == 0:
		print('YES')
	else:
		qw = 0
		for i in range(len(q)):
			for j in range(len(w)):
				if abs(q[i] - w[j]) == 1:
					print('YES')
					qw = 1
					break
			if qw == 1:
				break
		if qw == 0:
			print('NO')

def main():
	global tt
	if not ONLINE_JUDGE:
		sys.stdin = open('input.txt', 'r')
		sys.stdout = open('output.txt', 'w')
	t = 1
	t = inp()
	for tt in range(t):
		solve()
	if not ONLINE_JUDGE:
		print('Time Elapsed :', time.time() - start_time, 'seconds')
	sys.stdout.close()

def counter(a):
	q = [0] * max(a)
	for i in range(len(a)):
		q[a[i] - 1] = q[a[i] - 1] + 1
	return q

def string_counter(a):
	q = [0] * 26
	for i in range(len(a)):
		q[ord(a[i]) - 97] = q[ord(a[i]) - 97] + 1
	return q
ONLINE_JUDGE = __debug__
if ONLINE_JUDGE:
	input = sys.stdin.readline
main()


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	d = [0] * 101
	for el in a:
		d[el] += 1
	evens = sum((d[i] for i in range(1, 101) if i % 2 == 0))
	odds = sum((d[i] for i in range(1, 101) if i % 2 != 0))
	if evens % 2 == 0 and odds % 2 == 0:
		print('YES')
	else:
		found = False
		for i in range(1, 101):
			if d[i] > 0 and d[i - 1] > 0:
				print('YES')
				found = True
				break
		if not found:
			print('NO')


T = int(input())
for _ in range(T):
	N = int(input())
	S = [int(s) for s in input().split()]
	S.sort()
	(o, e, d) = (0, 0, 0)
	for i in range(N - 1):
		if S[i] + 1 == S[i + 1]:
			d += 1
		if S[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if S[-1] % 2 == 0:
		e += 1
	else:
		o += 1
	if d == N / 2 or (e % 2 == 0 and o % 2 == 0):
		print('Yes')
	elif e % 2 != o % 2:
		print('No')
	else:
		print('Yes' if d > 0 else 'No')


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	_ = input()
	a = list(map(int, input().split()))
	a.sort()
	num_even = 0
	num_odd = 0
	for i in a:
		if i % 2:
			num_odd += 1
		else:
			num_even += 1
	num_seq = 0
	for (i, j) in zip(a, a[1:]):
		if j - i == 1:
			num_seq += 1
	if num_even % 2:
		if num_seq:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


from math import inf, sqrt, floor, ceil
from collections import Counter, defaultdict, deque
from heapq import heappush as hpush, heappop as hpop, heapify as h
from operator import itemgetter
from itertools import product
for _ in range(int(input())):
	n = int(input())
	(le, lo) = (0, 0)
	a = list(map(int, input().split()))
	(even, odd) = (set(), set())
	for v in a:
		if v & 1:
			lo += 1
			odd.add(v)
		else:
			le += 1
			even.add(v)
	if not le & 1 and (not lo & 1):
		print('YES')
	elif le & 1 and lo & 1:
		check = 1
		for v in odd:
			if v + 1 in even or v - 1 in even:
				check = 0
				print('YES')
				break
		if check:
			print('NO')
	else:
		print('NO')


def countEven(a):
	res = 0
	for i in a:
		if i % 2 == 0:
			res += 1
	return res
for t in range(int(input())):
	n = int(input())
	a = sorted([int(x) for x in input().split()])
	even = countEven(a)
	ans = '?'
	if even % 2 == 0:
		ans = 'YES'
	else:
		for i in range(1, len(a)):
			if abs(a[i] - a[i - 1]) == 1:
				ans = 'YES'
				break
			else:
				ans = 'NO'
	print(ans)


t = int(input())
for i in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	odd = 0
	even = 0
	pair = 0
	for j in range(n):
		if A[j] % 2 == 0:
			even += 1
		else:
			odd += 1
		if j == n - 1:
			break
		if A[j + 1] - A[j] == 1:
			pair = 1
	even = even % 2
	odd = odd % 2
	if even == 0 and odd == 0:
		print('YES')
	elif even == 1 and odd == 1 and pair:
		print('YES')
	else:
		print('NO')


t = int(input())
for ts in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	o = sum((i % 2 for i in a))
	e = n - o
	if e % 2 + o % 2 == 0:
		print('YES')
	else:
		a.sort()
		f = True
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1 and a[i + 1] % 2 + a[i] % 2 == 1:
				print('YES')
				f = False
				break
		if f:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	v = list(map(int, input().split(' ')))
	v.sort(reverse=False)
	p = [0, 0]
	j = 0
	d = 0
	while n > j:
		if n > j + 1 and v[j + 1] - v[j] == 1:
			j += 2
			d += 1
		else:
			j += 1
	for j in range(n):
		p[v[j] % 2] += 1
	if p[0] % 2 == 0 and p[1] % 2 == 0 or (p[0] % 2 == 1 and p[1] % 2 == 1 and (d >= 1)):
		print('YES')
	else:
		print('NO')


from collections import Counter
from sys import stdin
input = stdin.readline
for Ti in range(int(input().strip())):
	n = int(input().strip())
	a = [int(x) for x in input().strip().split()]
	a.sort()
	m = [a[0]]
	cnt = 0
	for i in range(1, len(a)):
		if m and a[i] == m[-1] + 1:
			m.pop()
			cnt += 1
		else:
			m.append(a[i])
	a = [x % 2 for x in m]
	c = Counter(a)
	if not c[0] % 2 and (not c[1] % 2):
		print('YES')
	elif cnt:
		print('YES')
	else:
		print('NO')


for _ in [0] * int(input()):
	n = int(input())
	a = list(map(int, input().split()))
	rem = [i % 2 for i in a]
	odd = rem.count(1)
	even = rem.count(0)
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		continue
	else:
		a1 = sorted(a)
		pair = False
		for i in range(n - 1):
			if abs(a1[i] - a1[i + 1]) == 1:
				pair = True
				break
		if pair == False:
			print('NO')
		else:
			print('YES')


t = int(input())
while t:
	n = int(input())
	l1 = list(map(int, input().split()))
	l1.sort()
	odd = 0
	even = 0
	checker = 0
	for i in range(0, n):
		if l1[i] % 2 == 0:
			even = even + 1
		else:
			odd = odd + 1
	for i in range(1, n):
		check = abs(l1[i] - l1[i - 1])
		if check == 1:
			checker = checker + 1
	if odd % 2 == 0:
		print('YES')
	elif checker > 0:
		print('YES')
	else:
		print('NO')
	t = t - 1


import sys
t = int(sys.stdin.readline())
ans_arr = []
for x in range(t):
	n = int(sys.stdin.readline())
	a = [int(j) for j in sys.stdin.readline().split()]
	even = 0
	odd = 0
	for x in range(n):
		if a[x] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		ans_arr.append(str('YES'))
	else:
		a.sort()
		ans = 'NO'
		for p in range(n - 1):
			if a[p + 1] - a[p] == 1:
				ans = 'YES'
				break
		ans_arr.append(ans)
print('\n'.join(ans_arr))


t = int(input())
for _ in range(t):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	nch = 0
	mark = False
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			print('YES')
			mark = True
			break
		else:
			nch += a[i] % 2
	if mark:
		continue
	nch += a[n - 1] % 2
	if nch % 2:
		print('NO')
	else:
		print('YES')


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even_count = 0
	odd_count = 0
	diffExist = False
	prevElem = a[0]
	for elem in a:
		if elem - prevElem == 1:
			diffExist = True
		prevElem = elem
		if elem % 2 == 0:
			even_count += 1
		else:
			odd_count += 1
	if even_count % 2 == 0 and odd_count % 2 == 0:
		print('YES')
	elif even_count % 2 == odd_count % 2 and diffExist:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = [int(_) for _ in input().split()]
	evenCnt = 0
	even = []
	odd = []
	for i in a:
		if i % 2 == 0:
			evenCnt += 1
			even.append(i)
		else:
			odd.append(i)
	oddCnt = n - evenCnt
	if evenCnt % 2 == 0:
		print('YES')
	else:
		flg = False
		for e in even:
			for o in odd:
				if abs(e - o) == 1:
					print('YES')
					flg = True
					if flg:
						break
			if flg:
				break
		if not flg:
			print('NO')


def fun(ls, n):
	count_odd = 0
	count_even = 0
	st_odd = set()
	st_even = set()
	for i in ls:
		if i % 2 != 0:
			count_odd += 1
			st_odd.add(i)
		else:
			count_even += 1
			st_even.add(i)
	if count_odd % 2 == 0 and count_even % 2 == 0 or count_odd == n or count_even == n:
		print('YES')
	else:
		for i in st_odd:
			if i + 1 in st_even or i - 1 in st_even:
				print('YES')
				return
		print('NO')
T = int(input())
ls = []
for i in range(T):
	val = int(input())
	ls = list(map(int, input().split()))
	fun(ls, val)


t = int(input())

def fun(n, a):
	ans = 0
	even = []
	odd = []
	for i in range(n):
		if a[i] % 2 == 0:
			even.append(a[i])
		else:
			odd.append(a[i])
	if len(odd) == 0:
		print('YES')
	else:
		flag = 0
		if len(odd) % 2 == 0 and len(even) % 2 == 0:
			print('YES')
		else:
			flag = 0
			for i in odd:
				if even.count(i + 1) != 0 or even.count(i - 1) != 0:
					flag += 1
			if flag:
				print('YES')
			else:
				print('NO')
while t:
	t -= 1
	n = int(input())
	a = [int(i) for i in input().split()]
	fun(n, a)


n = int(input())
for i in range(n):
	a = int(input())
	l = list(map(int, input().split()))
	k = sorted(l)
	m = 0
	r = 0
	for i in range(0, len(k)):
		if k[i] % 2 != 0:
			m = m + 1
	for i in range(0, len(k) - 1):
		if k[i] % 2 != 0:
			if k[i + 1] - k[i] == 1 or k[i] - k[i - 1] == 1:
				r = r + 1
	if k[len(k) - 1] % 2 != 0:
		if k[-1] - k[-2] == 1:
			r = r + 1
	if m % 2 == 0:
		print('YES')
	elif r > 0:
		print('YES')
	else:
		print('NO')


z = lambda : int(input())
z1 = lambda : input()
z2 = lambda : map(int, input().split())
for _ in ' ' * z():
	a = z()
	b = sorted(z2())
	o = e = s = 0
	for i in range(a):
		if b[i] & 1:
			o += 1
		else:
			e += 1
		if i > 0:
			if b[i] - b[i - 1] == 1:
				s += 1
	if o & 1 == e & 1 == 0:
		print('YES')
	elif s:
		print('YES')
	else:
		print('NO')


import sys
from math import pi, cos
TEST = 0
if TEST == 1:
	input_file = open('inputC.txt', 'r')
	input_from_file = input_file.readlines()

def read_int():
	if TEST:
		return int(input_from_file.pop(0))
	else:
		return int(sys.stdin.readline())

def read_ints():
	if TEST:
		return list(map(int, input_from_file.pop(0).rstrip().split()))
	else:
		return list(map(int, sys.stdin.readline().split()))
t = read_int()

def sim(x, y):
	return x % 2 == y % 2 or abs(x - y) == 1
for test in range(t):
	n = read_int()
	a = read_ints()
	odds = []
	evens = []
	for chislo in a:
		if chislo % 2 == 0:
			evens.append(chislo)
		else:
			odds.append(chislo)
	if len(evens) % 2 != 0:
		res = 'NO'
		for o in odds:
			for e in evens:
				if abs(e - o) <= 1:
					res = 'YES'
	else:
		res = 'YES'
	print(res)


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	e = 0
	o = 0
	for i in a:
		if i % 2:
			o += 1
		else:
			e += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		a.sort()
		abss = 0
		i = 1
		while i < n:
			if a[i] - a[i - 1] == 1:
				abss += 1
				i += 2
			else:
				i += 1
		if abss > 0:
			print('YES')
		else:
			print('NO')
		continue
		print(abss)
		e -= abss
		o -= abss
		if e % 2 == 0 and o % 2 == 0:
			print('YES')
		else:
			print('NO')


def solve(n, a):
	(ev, od) = (0, 0)
	for i in range(n):
		if a[i] % 2:
			od += 1
		else:
			ev += 1
	if ev % 2 == 0 and od % 2 == 0:
		return 'YES'
	else:
		for i in range(n - 1):
			if a[i] == a[i + 1] - 1:
				ev -= 1
				od -= 1
				break
		if ev % 2 == 0 and od % 2 == 0:
			return 'YES'
	return 'NO'

def bruh():
	t = int(input())
	ans = [0] * t
	for i in range(t):
		n = int(input())
		a = [int(i) for i in input().split()]
		ans[i] = solve(n, sorted(a))
	print('\n'.join(map(str, ans)))
bruh()


t = int(input())
for _ in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	even_count = 0
	even = []
	odd_count = 0
	odd = []
	for a in A:
		if a % 2 == 0:
			even.append(a)
			even_count += 1
		else:
			odd.append(a)
			odd_count += 1
	if even_count % 2 == 0 and odd_count % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(even_count):
			for j in range(odd_count):
				if abs(even[i] - odd[j]) == 1:
					flag = True
					print('YES')
					break
			if flag:
				break
		if not flag:
			print('NO')


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


for any in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	c_even = 0
	c = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			c += 1
	for i in range(n):
		if a[i] & 1 == 0:
			c_even += 1
	if c > 0 or c_even & 1 == 0:
		print('YES')
	else:
		print('NO')


import bisect
import os
from collections import Counter
import bisect
from collections import defaultdict
import math
import random
import heapq as hq
from math import sqrt
import sys
from functools import reduce, cmp_to_key
from collections import deque
import threading
from itertools import combinations
from io import BytesIO, IOBase
from itertools import accumulate

def primeFactors(n):
	prime = set()
	while n % 2 == 0:
		prime.add(2)
		n = n // 2
	for i in range(3, int(math.sqrt(n)) + 1, 2):
		while n % i == 0:
			prime.add(i)
			n = n // i
	if n > 2:
		prime.add(n)
	return list(prime)

def getFactors(n):
	factors = []
	i = 1
	while i <= math.sqrt(n):
		if n % i == 0:
			if n // i == i:
				factors.append(i)
			else:
				factors.append(i)
				factors.append(n // i)
		i = i + 1
	return factors

def SieveOfEratosthenes(n):
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	num = []
	for p in range(2, n + 1):
		if prime[p]:
			num.append(p)
	return num

def lcm(a, b):
	return a * b // math.gcd(a, b)

def sort_dict(key_value):
	return sorted(key_value.items(), key=lambda kv: (kv[1], kv[0]))

def list_input():
	return list(map(int, input().split()))

def num_input():
	return map(int, input().split())

def string_list():
	return list(input())

def decimalToBinary(n):
	return bin(n).replace('0b', '')

def binaryToDecimal(n):
	return int(n, 2)

def solve():
	n = int(input())
	arr = list_input()
	even = odd = 0
	even_list = {}
	odd_list = {}
	for i in arr:
		if i % 2 == 0:
			even += 1
			even_list[i] = 0
		else:
			odd += 1
			odd_list[i] = 0
	if odd == 0 or even == 0:
		print('YES')
	elif odd % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		for i in odd_list.keys():
			try:
				t = even_list[i - 1]
				print('YES')
				return
			except KeyError:
				pass
			try:
				t = even_list[i + 1]
				print('YES')
				return
			except KeyError:
				pass
		print('NO')
t = int(input())
for _ in range(t):
	solve()


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
for n in range(inp()):
	inp()
	c = inlt()
	(odd, even, yes) = (0, 0, 0)
	for (ind, num) in enumerate(c):
		if num % 2 == 1:
			odd += 1
		elif num % 2 == 0:
			even += 1
		if sum((1 for x in range(ind + 1, len(c)) if abs(num - c[x]) == 1)) >= 1 and yes == 0:
			yes = 1
	if even % 2 == 0 or yes == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	lol = [int(n) for n in input().split()]
	even = 0
	odd = 0
	f = 1
	for i in lol:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		for j in lol:
			if j - 1 in lol:
				print('YES')
				f = 0
				break
		if f == 1:
			print('NO')


T = int(input())
for t in range(T):
	N = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	nevens = sum([1 if k % 2 == 0 else 0 for k in arr])
	if nevens % 2 == 0:
		print('YES')
	else:
		found = False
		for i in range(len(arr) - 1):
			if arr[i + 1] - arr[i] == 1:
				found = True
		if found:
			print('YES')
		else:
			print('NO')


a = int(input())
for i in range(a):
	b = int(input())
	lis = list(map(int, input().split()))
	o = 0
	e = 0
	lis2 = []
	lis2o = []
	for j in lis:
		if j % 2 == 0:
			e += 1
			lis2.append(j)
		else:
			o += 1
			lis2o.append(j)
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		k = 0
		for j in lis2:
			if j + 1 in lis2o or j - 1 in lis2o:
				e -= 1
				o -= 1
				if e % 2 == 0 and o % 2 == 0:
					k = 1
					print('YES')
					break
		if k == 0:
			print('NO')


def read_int():
	n = int(input())
	return n

def read_ints():
	ints = [int(x) for x in input().split(' ')]
	return ints

def solve(n, a):
	a.sort()
	evens = 0
	odds = 0
	one_off = 0
	for i in range(n):
		val = a[i]
		if val % 2:
			odds += 1
		else:
			evens += 1
		if i != 0:
			if a[i] - a[i - 1] == 1:
				one_off += 1
	cnt = 0
	cnt += evens % 2
	cnt += odds % 2
	if cnt == 0:
		return 'YES'
	while one_off > 0:
		odds -= 1
		evens -= 1
		cnt = 0
		cnt += evens % 2
		cnt += odds % 2
		if cnt == 0:
			return 'YES'
		one_off -= 1
	return 'NO'
t = read_int()
for case in range(t):
	n = read_int()
	a = read_ints()
	sol = solve(n, a)
	print(sol)


for i in range(int(input())):
	n = int(input())
	e = [int(i) for i in input().split()]
	ne = 0
	no = 0
	for i in e:
		if i & 1:
			no += 1
		else:
			ne += 1
	if not (ne % 2 or no % 2):
		print('YES')
		continue
	ne //= 2
	no //= 2
	e = [i for i in sorted(e)]
	cm = 0
	for i in range(n - 1):
		if abs(e[i] - e[i + 1]) == 1:
			cm += 1
	if n // 2 <= cm + ne + no:
		print('YES')
	else:
		print('NO')


def solve():
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	even = 0
	odd = 0
	diff_one = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			diff_one += 1
		if a[i] % 2:
			odd += 1
		else:
			even += 1
	if a[n - 1] % 2:
		odd += 1
	else:
		even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('Yes')
	elif diff_one > 0:
		print('Yes')
	else:
		print('No')
t = int(input())
for test in range(t):
	solve()


import sys
input = sys.stdin.readline
Q = int(input())
Query = []
for _ in range(Q):
	N = int(input())
	A = list(map(int, input().split()))
	Query.append((N, A))
for (N, A) in Query:
	B = [[], []]
	for a in A:
		B[a % 2].append(a)
	ok = False
	if len(B[0]) % 2 == 0:
		ok = True
	else:
		P = set(B[1])
		for b in B[0]:
			if b + 1 in P or b - 1 in P:
				ok = True
				break
	print('YES' if ok else 'NO')


t = int(input())

def diff(a, n):
	for i in range(n):
		for j in range(i + 1, n, 1):
			if abs(a[i] - a[j]) == 1:
				return 1
	else:
		return 0
for i in range(t):
	n = int(input())
	if n % 2 != 0:
		print('NO')
	else:
		a = []
		even = []
		odd = []
		d1 = []
		a = [int(i) for i in input().split(' ')]
		even = list(filter(lambda n: n % 2 == 0, a))
		odd = list(filter(lambda n: n % 2 != 0, a))
		if len(even) % 2 == 0 and len(odd) % 2 == 0:
			print('YES')
		elif diff(a, n) == 1:
			print('YES')
		else:
			print('NO')


import sys
from math import sqrt, floor, factorial, gcd
from collections import deque, Counter, defaultdict
inp = sys.stdin.readline
read = lambda : list(map(int, inp().strip().split()))

def a():
	ans = ''
	for _ in range(int(inp())):
		(a, b) = read()
		i = 1
		while i < max(max(a, b), min(a, b) * 2) or i ** 2 < a * b * 2:
			i += 1
		ans += str(i ** 2) + '\n'
	print(ans)

def b():
	ans = ''
	for _ in range(int(inp())):
		n = int(inp())
		arr = sorted(read())
		x = 10 ** 9
		for i in range(n - 1):
			x = min(x, abs(arr[i] - arr[i + 1]))
		ans += str(x) + '\n'
	print(ans)

def c():
	ans = ''
	for _ in range(int(inp())):
		n = int(inp())
		arr = read()
		odd_set = []
		even_set = []
		for i in arr:
			if i % 2:
				odd_set.append(i)
			else:
				even_set.append(i)
		if len(even_set) % 2 == 0 and len(odd_set) % 2 == 0:
			ans += 'YES\n'
			continue
		elif len(even_set) % 2 == 1 and len(odd_set) % 2 == 1:
			flag = 0
			for i in odd_set:
				if i + 1 in even_set or i - 1 in even_set:
					ans += 'YES\n'
					flag = 1
					break
			if flag:
				continue
			else:
				ans += 'NO\n'
		else:
			ans += 'NO\n'
	print(ans)
c()


for ad in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	x = []
	e = 0
	o = 0
	for i in range(n - 1):
		x.append(l[i + 1] - l[i])
	c = x.count(1)
	for i in l:
		if i % 2 == 0:
			e += 1
		else:
			o += 1
	e %= 2
	o %= 2
	if n % 2 == 1:
		print('NO')
	elif e == 0 and o == 0:
		print('YES')
	elif c > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for x in range(t):
	n = int(input())
	a = [x for x in map(int, input().split(' '))]
	eve = [x for x in a if x % 2 == 0]
	odd = [x for x in a if x % 2 == 1]
	if len(eve) % 2 == 0:
		print('YES')
	else:
		ans = 0
		for x in eve:
			for y in odd:
				t = x - y
				if t == -1 or t == 1:
					ans = 1
					break
			if ans == 1:
				break
		if ans == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	N = int(input())
	(*a,) = map(int, input().split())
	a.sort()
	c = 0
	odd = sum((x % 2 for x in a))
	if odd % 2:
		if any([a[i + 1] - a[i] == 1 for i in range(N - 1)]):
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().rstrip().split())))
	od = sum((n % 2 for n in a))
	if od % 2 == 0:
		print('YES')
	elif any((x - y == 1 for (y, x) in zip(a, a[1:]))):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = map(int, input().split())
	a = list(map(int, input().split()))
	a.sort()
	i = 0
	ct = 0
	aa = 0
	pr = []
	cc = 0
	x = 0
	for iwc in a:
		if iwc % 2 == 0:
			cc += 1
	if cc % 2 == 0:
		print('YES')
	else:
		while aa < len(a) - 1:
			bb = a[aa + 1]
			cc = a[aa]
			if bb - cc != 1:
				pr.append(a[aa])
				aa += 1
			else:
				aa += 2
				x = 1
		if len(pr) % 2 != 0:
			pr.append(a[len(a) - 1])
		for iw in pr:
			if iw % 2 == 0:
				ct += 1
		if ct % 2 == 0 or x > 0:
			print('YES')
		else:
			print('NO')


def f(b):
	cnt = 0
	for i in b:
		if i % 2 == 0:
			cnt += 1
	if cnt % 2 == 0:
		return 'YES'
	else:
		b.sort()
		for i in range(1, len(b)):
			if abs(b[i] - b[i - 1]) == 1:
				return 'YES'
		else:
			return 'NO'
n = int(input())
for i in range(0, n):
	x = int(input())
	y = list(map(int, input().split()))
	print(f(y))


for i in range(int(input())):
	a = int(input())
	x = [int(x) for x in input().split()]
	x.sort()
	ev = od = n = 0
	for j in range(a - 1):
		if x[j] % 2 == 0:
			ev += 1
		else:
			od += 1
		if x[j + 1] - x[j] == 1:
			n += 1
	if x[-1] % 2 == 0:
		ev += 1
	else:
		od += 1
	if ev % 2 == od % 2 == 0 or (ev % 2 == od % 2 and n >= 1):
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	ar = list(map(int, input().split()))
	ec = 0
	oar = []
	ear = []
	for i in ar:
		if i % 2 == 0:
			ec += 1
			ear.append(i)
		else:
			oar.append(i)
	b = False
	if ec % 2 == 1:
		for i in ear:
			for j in oar:
				if i - j == 1 or j - i == 1:
					b = True
		if b:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for j in range(int(input())):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	(a, c) = (0, 0)
	for i in range(n):
		if l[i] - l[i - 1] == 1 and i != 0:
			a += 1
		if l[i] % 2 == 0:
			c += 1
	if c % 2 == 0 or a >= 1:
		print('YES')
	else:
		print('NO')


def func(s):
	ne = 0
	for x in s:
		if x % 2 == 0:
			ne += 1
	if ne % 2 == 0:
		return True
	return False
ki = int(input())
while ki:
	ki = ki - 1
	n = int(input())
	s = list(map(int, input().split()))
	if func(s):
		print('YES')
	else:
		s = sorted(s)
		t = False
		for i in range(len(s) - 1):
			if s[i] == s[i + 1] + 1 or s[i] + 1 == s[i + 1]:
				t = True
				break
		if t:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	s = sorted(list(map(int, input().split())))
	(even, odd) = (len(list(filter(lambda x: not x % 2, s))), len(list(filter(lambda x: x % 2, s))))
	if even % 2 != odd % 2:
		print('NO')
	elif even % 2 == odd % 2 == 0:
		print('YES')
	else:
		b = False
		for i in range(1, n):
			if s[i] - s[i - 1] == 1:
				b = True
				break
		if b:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	(*a,) = map(int, input().split())
	odd = sum((x % 2 for x in a))
	if odd % 2:
		s = set(a)
		if any((x + 1 in s for x in a)):
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


from sys import stdin
import math

def readline():
	return stdin.readline()
tests = int(readline())

def solve(n, arr):
	even = 0
	similar = []
	for i in range(0, n):
		if arr[i] % 2 == 0:
			even += 1
		for j in range(i + 1, n):
			if abs(arr[i] - arr[j]) == 1:
				similar.append(j)
	if even % 2 == 0 or len(similar):
		return 'YES'
	return 'NO'
for t in range(0, tests):
	n = int(readline())
	arr = list(map(int, readline().split(' ')))
	print(solve(n, arr))


test = int(input())
for i in range(test):
	n = int(input())
	arr = [int(i) for i in input().split()]
	even = 0
	odd = 0
	for i in range(n):
		if arr[i] % 2:
			odd += 1
		else:
			even += 1
	if even % 2 != odd % 2:
		print('NO')
	elif even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in range(n - 1):
			for j in range(i + 1, n):
				if arr[i] % 2 != arr[j] % 2 and abs(arr[i] - arr[j]) == 1:
					flag = 1
					break
		if flag:
			print('YES')
		else:
			print('NO')


import sys
from math import ceil, sqrt, sin, pi, tan
from collections import defaultdict
read = sys.stdin.buffer.readline
import heapq
mi = lambda : map(int, read().split())
li = lambda : list(mi())
cin = lambda : int(read())

def isp(n):
	i = 2
	while i * i <= n:
		if n % i == 0:
			return False
		i += 1
	return True
ps = lambda x: x == pow(int(sqrt(x)), 2)
for _t in range(cin()):
	n = cin()
	a = li()
	a.sort()
	flag = False
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			flag = True
	(rem0, rem1) = ([], [])
	for el in a:
		if el % 2 == 0:
			rem0.append(el)
		else:
			rem1.append(el)
	if len(rem1) % 2 == 0 or flag:
		print('yes')
	else:
		print('no')


tests = int(input())
for i in range(tests):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	tr = False
	for i in range(n - 1):
		if arr[i + 1] - arr[i] == 1:
			tr = True
	if tr:
		print('YES')
	else:
		i = 0
		for x in arr:
			if x % 2 == 0:
				i += 1
		if i % 2 == 0:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	flag = 0
	arr = list(map(int, input().split()))
	even = [x for x in arr if x % 2 == 0]
	odd = [x for x in arr if x % 2 != 0]
	if len(even) % 2 == 0:
		print('YES')
		flag = 1
	else:
		arr = sorted(arr)
		for i in range(len(arr) - 1):
			if abs(arr[i] - arr[i + 1]) == 1:
				print('YES')
				flag = 1
				break
	if flag == 0:
		print('NO')


for nt in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	o = []
	e = []
	for i in a:
		if i % 2:
			o.append(i)
		else:
			e.append(i)
	if not len(o) % 2:
		print('YES')
		continue
	ans = 'NO'
	for i in o:
		for j in e:
			if abs(i - j) == 1:
				ans = 'YES'
				break
	print(ans)


a = int(input())
for i in range(0, a):
	b = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	evenc = 0
	oddc = 0
	for i in arr:
		if i % 2 == 0:
			evenc = evenc + 1
		else:
			oddc = oddc + 1
	if evenc % 2 == 0:
		print('YES')
	else:
		k = 0
		for i in range(0, len(arr)):
			for j in range(i, len(arr)):
				if arr[j] == arr[i] + 1:
					k = 1
					break
			if k == 1:
				break
		if k == 1:
			print('YES')
		else:
			print('NO')


for l in [*open(0)][2::2]:
	b = c = 0
	p = -1
	for i in sorted(map(int, l.split())):
		b += i - p == 1
		c += i % 2
		p = i
	print('NYOE S'[b > 0 or not c % 2::2])


def to_list(s):
	return list(map(lambda x: int(x), s.split(' ')))

def solve(a):
	s_a = sorted(a)
	near_count = 0
	even_count = 0
	odd_count = 0
	for i in range(len(a) - 1):
		if s_a[i + 1] - s_a[i] == 1:
			near_count += 1
	for i in range(len(a)):
		if s_a[i] % 2 == 0:
			even_count += 1
		else:
			odd_count += 1
	if (even_count % 2 == 0) & (odd_count % 2 == 0):
		return 'YES'
	elif (even_count % 2 != 0) & (odd_count % 2 != 0) & (near_count > 0):
		return 'YES'
	else:
		return 'NO'
t = int(input())
answers = []
for i in range(t):
	n = int(input())
	a = to_list(input())
	answers.append(solve(a))
print('\n'.join(answers))


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	e = 0
	o = 0
	for i in range(n):
		if a[i] % 2 == 0:
			e += 1
		else:
			o += 1
	count = 0
	i = 0
	while i < n - 1:
		if abs(a[i + 1] - a[i]) == 1:
			count += 1
			i += 1
		i += 1
	if o % 2 == 0 and e % 2 == 0:
		print('YES')
	elif count >= 1:
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	n = int(input())
	s = list(map(int, input().split()))
	count_even = []
	count_odd = []
	possible = False
	for i in s:
		if i % 2 == 0:
			count_even.append(i)
		else:
			count_odd.append(i)
	if len(count_odd) % 2 != 0:
		for i in count_odd:
			if i - 1 in count_even or i + 1 in count_even:
				possible = True
	else:
		possible = True
	if possible:
		print('YES')
	else:
		print('NO')
	t -= 1


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(x) for x in input().split()]
	ce = 0
	co = 0
	for i in a:
		if i % 2 == 0:
			ce += 1
		else:
			co += 1
	if co % 2 == 0 and ce % 2 == 0:
		print('YES')
	else:
		a.sort()
		ans = 0
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				print('YES')
				ans = 1
				break
		if ans == 0:
			print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	arr = [int(i) for i in input().split()]
	E = []
	O = []
	for i in range(n):
		if arr[i] % 2 == 0:
			E.append(arr[i])
		else:
			O.append(arr[i])
	E.sort()
	O.sort()
	e = len(E)
	o = len(O)
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		c = 0
		k = 0
		if o != e:
			if e < o:
				for i in range(e):
					p = E[i]
					if p - 1 in O or p + 1 in O:
						c += 1
						v = e - c
						u = o - c
						if v % 2 == 0 and u % 2 == 0:
							k = 1
							print('YES')
							break
			if o < e:
				for i in range(min(e, o)):
					q = O[i]
					if q - 1 in E or q + 1 in E:
						c += 1
						v = e - c
						u = o - c
						if v % 2 == 0 and u % 2 == 0:
							k = 1
							print('YES')
							break
		if o == e:
			for i in range(o):
				p = O[i]
				if p - 1 in E or p + 1 in E:
					c += 1
					v = e - c
					u = o - c
					if v % 2 == 0 and u % 2 == 0:
						k = 1
						print('YES')
						break
		v = e - c
		u = o - c
		if k == 0:
			if v % 2 == 0 and u % 2 == 0:
				print('YES')
			else:
				print('NO')


from sys import stdin, stdout

def find(a, N):
	if N % 2:
		return 'NO'
	a.sort()
	b = c = 0
	for i in range(N):
		if a[i] % 2:
			b += 1
		if i > 0 and a[i] - a[i - 1] == 1:
			c = 1
	if c:
		return 'YES'
	if b % 2:
		return 'NO'
	return 'YES'

def main():
	for _ in range(int(stdin.readline())):
		N = int(stdin.readline())
		arr = list(map(int, stdin.readline().split()))
		print(find(arr, N))
main()


def solve():
	n = int(input())
	l = list(map(int, input().split()))
	(o, e) = ([], [])
	for num in l:
		if num % 2:
			o.append(num)
		else:
			e.append(num)
	if len(o) % 2 == 0 and len(e) % 2 == 0:
		return True
	for o_num in o:
		for e_num in e:
			if abs(o_num - e_num) == 1:
				return True
	return False

def main():
	t = int(input())
	for _ in range(t):
		ret = solve()
		ans = 'YES' if ret else 'NO'
		print(ans)
main()


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	e = 0
	o = 0
	a = [0] * 101
	f = 0
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		a[l[i]] += 1
	if e % 2 == 0:
		print('YES')
	else:
		for i in range(100):
			if a[i] != 0 and a[i + 1] != 0:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


import math
import sys
t = int(input())
for i in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	diffs = [s[i] - s[i - 1] for i in range(1, len(s))]
	if 1 in diffs:
		print('YES')
	elif len([even for even in s if even % 2 == 0]) % 2 == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	e = [i for i in a if i % 2 == 0]
	o = [i for i in a if i % 2 != 0]
	le = len(e)
	lo = len(o)
	d = []
	if len(e) % 2 != 0:
		for i in o:
			for j in e:
				d.insert(0, abs(i - j))
		if 1 in d:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for i in range(0, int(input())):
	t = int(input())
	lista = [int(x) for x in input().split()]
	lista.sort()
	pares = [x for x in lista if x % 2 == 0]
	if len(pares) % 2 == 0:
		print('YES')
	else:
		j = 0
		transitorio = 0
		while j < len(lista) - 1:
			if lista[j + 1] - lista[j] == 1:
				print('YES')
				transitorio = 1
				break
			else:
				j += 1
		if transitorio == 0:
			print('NO')


T = int(input())
for _ in range(T):
	N = int(input())
	arr = [int(i) for i in input().split()]
	even_lst = []
	odd_lst = []
	for x in arr:
		if x % 2 == 0:
			even_lst.append(x)
		else:
			odd_lst.append(x)
	if len(even_lst) % 2 == 0:
		print('YES')
	else:
		flag = 0
		for x in odd_lst:
			if x - 1 in even_lst or x + 1 in even_lst:
				flag = 1
				print('YES')
				break
		if flag == 0:
			print('NO')


def solve(a):
	(ce, co) = ([], [])
	for i in a:
		if i % 2 == 0:
			ce.append(i)
		else:
			co.append(i)
	if len(ce) % 2 != 0 and len(co) % 2 != 0:
		for i in co:
			if i + 1 in ce or i - 1 in ce:
				return True
	if len(ce) % 2 == 0 and len(co) % 2 == 0:
		return True
g = int(input())
while g:
	g -= 1
	f = int(input())
	a = list(map(int, input().split()))
	if solve(a):
		print('YES')
	else:
		print('NO')


t = int(input())
for q in range(t):
	n = int(input())
	ch = input()
	L = [int(i) for i in ch.split()]
	L.sort()
	t = False
	for i in range(1, n):
		if L[i] - L[i - 1] == 1:
			t = True
	nb = 0
	for i in range(n):
		if L[i] % 2 == 0:
			nb += 1
	if nb % 2 == 0 or t:
		print('YES')
	else:
		print('NO')


a = input()
for x in range(int(a)):
	b = input()
	c = input()
	list1 = [int(i) for i in c.split(' ')]
	list2 = []
	list3 = []
	for i in list1:
		if i % 2 == 0:
			list2.append(i)
		else:
			list3.append(i)
	if len(list2) % 2 == 0 and len(list3) % 2 == 0:
		print('YES')
	else:
		tag = 0
		for i in list2:
			if i - 1 in list3:
				tag = 1
				break
			if i + 1 in list3:
				tag = 1
				break
		if tag == 1:
			print('YES')
		else:
			print('NO')


for i in range(int(input())):
	n = int(input())
	data = list(map(int, input().split()))
	os = 0
	js = 0
	for j in data:
		if j % 2 == 0:
			os += 1
		else:
			js += 1
	if js % 2 == 0 and os % 2 == 0:
		print('YES')
		continue
	else:
		data.sort()
		flag = False
		for j in range(n - 1):
			if data[j + 1] - data[j] == 1:
				flag = True
				break
		if flag:
			print('YES')
		else:
			print('NO')


a = int(input())
for _ in range(a):
	b = int(input())
	l = list(map(int, input().split()))
	p = 0
	for i in range(b):
		if l[i] % 2 == 0:
			p += 1
	l.sort()
	q = 0
	for j in range(1, b):
		if l[j] - l[j - 1] == 1:
			q += 1
	if b == 2 and q == 0 and (b - p != 2) and (b != 2):
		print('No')
		continue
	if (b - p) % 2 == 0 and p % 2 == 0:
		print('Yes')
		continue
	if (b - p) % 2 != 0 and p % 2 == 0:
		print('Yes')
		continue
	if (b - p) % 2 == 0 and p % 2 != 0:
		print('Yes')
		continue
	elif q > 0 and (b - p) % 2 != 0 and (p % 2 != 0):
		print('Yes')
		continue
	if b == 2 and p == 2:
		print('Yes')
		continue
	if b == 2 and b - p == 2:
		print('Yes')
		continue
	if b == 2 and q > 0:
		print('Yes')
		continue
	else:
		print('No')


import math
t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	even = 0
	odd = 0
	for i in range(n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('Yes')
	else:
		diff = 0
		arr = sorted(arr)
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				diff += 1
		if diff > 0:
			print('Yes')
		else:
			print('No')


def par(a):
	if a % 2 == 0:
		return 1
	else:
		return -1
for case in range(int(input())):
	n = int(input())
	arr = [int(x) for x in input().split()]
	(even, odd) = (0, 0)
	flag = 0
	for i in arr:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if par(even) == par(odd):
		if par(even) == 1:
			print('YES')
		else:
			arr.sort()
			for i in range(1, n):
				if abs(arr[i - 1] - arr[i]) == 1:
					print('YES')
					flag = 1
					break
			if flag == 0:
				print('NO')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	s.sort()
	z = []
	f = []
	for i in s:
		if i % 2 == 0:
			z.append(i)
		else:
			f.append(i)
	zz = len(z) % 2
	ff = len(f) % 2
	if zz == 0 and ff == 0:
		print('YES')
	else:
		tt = False
		for i in f:
			for j in z:
				if abs(i - j) == 1:
					tt = True
		if tt:
			print('YES')
		else:
			print('NO')


n = int(input())

def makeIt(lst):
	if len(list(filter(lambda var: var % 2 == 0, lst))) % 2 == 0:
		return 'YES'
	lstDvojic = []
	for (i, e) in enumerate(lst[1:]):
		if e - lst[i] == 1 and len(lstDvojic) == 0:
			lstDvojic.append([lst[i], e])
		elif e - lst[i] == 1 and (not lst[i] in lstDvojic[-1]):
			lstDvojic.append([lst[i], e])
	if len(lstDvojic) > 0:
		return 'YES'
	else:
		return 'NO'
for j in range(n):
	a = int(input())
	pole = [int(_) for _ in input().split()]
	pole.sort()
	print(makeIt(pole))


test = int(input())
respostas = []

def paridade(x):
	if x & 1 == 0:
		return 0
	else:
		return 1
for x in range(test):
	n = int(input())
	numeros = list(map(int, input().split()))
	pares = 0
	impares = 0
	for x in numeros:
		if paridade(x) == 0:
			pares += 1
		else:
			impares += 1
	e = paridade(pares)
	o = paridade(impares)
	if e != o:
		respostas.append('NO')
	elif e == 0 and o == 0:
		respostas.append('YES')
	else:
		numeros.sort()
		i = 0
		j = 1
		sim = True
		while j != n:
			if abs(numeros[i] - numeros[j]) == 1:
				sim = False
				respostas.append('YES')
				break
			i += 1
			j += 1
		if sim is True:
			respostas.append('NO')
for x in respostas:
	print(x)


def fun(n, arr):
	dict = {}
	odd = 0
	even = 0
	for i in range(0, n):
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		dict[arr[i]] = 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
		return
	for i in range(0, n):
		z = arr[i] + 1
		if dict.get(z) == 1:
			print('YES')
			return
	print('NO')
	return
for i in range(0, int(input())):
	n = int(input())
	arr = [int(x) for x in input().split()]
	fun(n, arr)


t = int(input())
from collections import Counter
for _ in range(t):
	n = int(input())
	inp = list(map(int, input().split()))
	ev = 0
	od = 0
	for i in range(len(inp)):
		if inp[i] & 1:
			od += 1
		else:
			ev += 1
	if od % 2 == 0:
		print('YES')
	else:
		flag = 0
		c = Counter(inp)
		for i in range(len(inp)):
			if c[inp[i] + 1] >= 1 or c[inp[i] - 1] >= 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	even = 0
	for e in a:
		if e % 2 == 0:
			even += 1
	if even % 2 == 0:
		print('YES')
	else:
		flag = False
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				flag = True
		if flag:
			print('YES')
		else:
			print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	e = 0
	o = 0
	odd = set()
	even = set()
	for i in a:
		if i % 2 == 0:
			e += 1
			even.add(i)
		else:
			o += 1
			odd.add(i)
	if e % 2 == 0:
		print('YES')
	else:
		x = 0
		for i in list(even):
			if i - 1 in odd or i + 1 in odd:
				print('YES')
				x = 1
				break
		if x == 0:
			print('NO')


from sys import *
from math import *
from bisect import *
from heapq import heappush, heappop
from itertools import combinations
from collections import deque
setrecursionlimit(100000000)
input = stdin.readline
lmi = lambda : list(map(int, input().split()))
mi = lambda : map(int, input().split())
si = lambda : input().strip('\n')
ssi = lambda : input().strip('\n').split()
for _ in range(int(input())):
	n = int(input())
	a = lmi()
	a.sort()
	pa = [[], []]
	for i in a:
		pa[i % 2].append(i)
	if len(pa[0]) % 2 == 0 and len(pa[1]) % 2 == 0:
		print('YES')
		continue
	find = False
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			find = True
	if find:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline
import heapq
import copy
import math
import decimal
from decimal import *

class Node:

	def _init_(self, val):
		self.data = val
		self.left = None
		self.right = None

class fen_tree:

	def __init__(self, list):
		self.array = [0] + list
		for idx in range(1, len(self.array)):
			idx2 = idx + (idx & -idx)
			if idx2 < len(self.array):
				self.array[idx2] += self.array[idx]

	def prefix_query(self, idx):
		result = 0
		while idx:
			result += self.array[idx]
			idx -= idx & -idx
		return result

	def prints(self):
		print(self.array)
		return

	def range_query(self, from_idx, to_idx):
		return self.prefix_query(to_idx) - self.prefix_query(from_idx - 1)

	def update(self, idx, add):
		while idx < len(self.array):
			self.array[idx] += add
			idx += idx & -idx

def pre_sum(arr):
	p = [0]
	for i in arr:
		p.append(p[-1] + i)
	p.pop(0)
	return p

def pre_back(arr):
	p = [0]
	for i in arr:
		p.append(p[-1] + i)
	p.pop(0)
	return p

def bin_search(arr, l, r, val):
	if arr[r] <= val:
		return r + 1
	if r - l < 2:
		if arr[l] > val:
			return l
		else:
			return r
	mid = int((l + r) / 2)
	if arr[mid] <= val:
		return bin_search(arr, mid, r, val)
	else:
		return bin_search(arr, l, mid, val)

def search_leftmost(arr, val):

	def helper(arr, l, r, val):
		print(l, r)
		if arr[l] == val:
			return l
		if r - l <= 1:
			if arr[r] == val:
				return r
			else:
				print('not found')
				return
		mid = int((r + l) / 2)
		if arr[mid] >= val:
			return helper(arr, l, mid, val)
		else:
			return helper(arr, mid, r, val)
	return helper(arr, 0, len(arr) - 1, val)

def search_rightmost(arr, val):

	def helper(arr, l, r, val):
		print(l, r)
		if arr[r] == val:
			return r
		if r - l <= 1:
			if arr[l] == val:
				return r
			else:
				print('not found')
				return
		mid = int((r + l) / 2)
		if arr[mid] > val:
			return helper(arr, l, mid, val)
		else:
			return helper(arr, mid, r, val)
	return helper(arr, 0, len(arr) - 1, val)

def preorder_postorder(root, paths, parent, left, level):
	l = 0
	queue = [root]
	while queue != []:
		node = queue[-1]
		flag = 0
		for i in paths[node]:
			if i != parent[node] and level[i] == sys.maxsize:
				parent[i] = node
				level[i] = level[node] + 1
				flag = 1
				queue.append(i)
		if flag == 0:
			left[parent[node]] += 1 + left[node]
			queue.pop()
	return [parent, left, level]

def nCr(n, r, p):
	if r == 0:
		return 1
	num = den = 1
	for i in range(r):
		num = num * (n - i) % p
		den = den * (i + 1) % p
	return num * pow(den, p - 2, p) % p

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())

def pr_list(a):
	print(*a, sep=' ')

def main():
	tests = inp()
	mod = 998244353
	limit = 10 ** 18
	for test in range(tests):
		n = inp()
		a = inlt()
		hashm = {}
		odd = 0
		even = 0
		for i in a:
			hashm[i] = 1
			if i % 2 == 0:
				even += 1
			else:
				odd += 1
		if odd % 2 == 0:
			print('YES')
			continue
		flag = 0
		for i in a:
			if i - 1 in hashm or i + 1 in hashm:
				flag = 1
				break
		if flag == 0:
			print('NO')
		else:
			print('YES')
main()


t = int(input())
for i in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	x = []
	count = 0
	y = []
	for j in range(n):
		if a[j] % 2 == 0:
			x.append(a[j])
		else:
			y.append(a[j])
	if len(x) % 2 == 0 and len(y) % 2 == 0:
		print('YES')
	else:
		z = max(len(x), len(y))
		s = min(len(x), len(y))
		for j in range(len(x)):
			for k in range(len(y)):
				if abs(x[j] - y[k]) == 1:
					count = 1
					break
			if count == 1:
				break
		if count == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for x in range(t):
	n = int(input())
	numbers = list(map(int, input().split()))
	odd = 0
	even = 0
	for y in numbers:
		if y % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		numbers.sort()
		parities = 0
		for z in range(len(numbers) - 1):
			if numbers[z] == numbers[z + 1] - 1:
				parities += 1
				break
		odd -= parities
		even -= parities
		if even % 2 == 0 and odd % 2 == 0:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	cnt1 = len([i for i in a if i % 2])
	cnt = 0
	i = 1
	while i <= n - 1:
		if a[i] - a[i - 1] == 1:
			cnt += 1
			i += 1
		i += 1
	print('YES' if cnt1 % 2 == 0 or (cnt1 % 2 == 1 and cnt >= 1) else 'NO')


t = int(input())
for _ in range(t):
	n = int(input())
	s = list(map(int, input().split()))
	flagUnique = False
	s.sort()
	odd = []
	even = []
	for i in s:
		if i % 2 == 1:
			odd.append(i)
		else:
			even.append(i)
	if len(even) % 2 == 0:
		flagUnique = True
	for i in even:
		if odd.__contains__(i - 1) or odd.__contains__(i + 1):
			flagUnique = True
			break
	print('yes' if flagUnique else 'no')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	ans = [0, 0]
	for i in arr:
		ans[i % 2] += 1
	if ans[0] % 2 == 0 and ans[1] % 2 == 0:
		print('YES')
	else:
		arr.sort()
		d = {}
		for i in arr:
			d[i] = 1
		ans = 'NO'
		for i in range(n):
			if arr[i] - 1 in d:
				ans = 'YES'
				break
		print(ans)


t = int(input())
while t:
	t -= 1
	n = int(input())
	a = list(map(int, input().split()))
	odd = 0
	even = 0
	for e in a:
		if e % 2:
			odd += 1
		else:
			even += 1
	adj = 0
	a.sort()
	for i in range(1, n):
		if abs(a[i] - a[i - 1]) == 1:
			adj += 1
	if n % 2:
		print('NO')
	elif odd % 2 + even % 2 == 0:
		print('YES')
	elif odd % 2 + even % 2 == 2:
		if adj > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


for t in range(int(input())):
	n = int(input())
	a = sorted(map(int, input().split()))
	(odd, even) = ([], [])
	for i in a:
		if i & 1:
			odd.append(i)
		else:
			even.append(i)
	st = 0
	while len(odd) & 1 or len(even) & 1:
		for i in range(st, len(a) - 1):
			q = a[i]
			w = a[i + 1]
			if w - q == 1:
				if q & 1:
					odd.remove(q)
					even.remove(w)
				else:
					odd.remove(w)
					even.remove(q)
				a.remove(q)
				a.remove(w)
				st = i
				break
		else:
			if len(a) > 0:
				print('NO')
				break
	else:
		print('YES')


def inp_n():
	return int(input())

def inp_list():
	return list(map(int, input().split()))

def inp_mul_num():
	return map(int, input().split())

def is_odd(n):
	if n & 1:
		return True
	return False
from collections import defaultdict
import math
for _ in range(inp_n()):
	n = inp_n()
	l = inp_list()
	l.sort()
	e = o = 0
	for el in l:
		if el % 2 == 0:
			e += 1
		else:
			o += 1
	s = e // 2 + o // 2
	v = n // 2 - s
	if v != 0:
		for i in range(1, n):
			if v > 0 and l[i] - l[i - 1] == 1:
				v -= 1
		if v == 0:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


import sys
import os
import heapq
try:
	path = './file/input.txt'
	if os.path.exists(path):
		sys.stdin = open(path, 'r')
except:
	pass
t = int(input())

def printd(value):
	pass
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split(' ')))
	arr.sort()
	isYes = False
	even = 0
	odd = 0
	for i in range(0, n):
		if i > 0:
			if arr[i] - arr[i - 1] == 1:
				isYes = True
		if arr[i] % 2 == 0:
			even += 1
	if even % 2 == 0:
		isYes = True
	print('YES' if isYes else 'NO')


for _ in range(int(input())):
	n = int(input())
	a = sorted(list(map(int, input().split())))
	cnt = 0
	i = 1
	cntod = len([i for i in a if i % 2])
	cntev = n - cntod
	while i <= n - 1:
		if a[i] - a[i - 1] == 1:
			cnt += 1
			i += 1
		i += 1
	if cntod % 2 == 0:
		print('YES')
	elif cntod % 2 == 1 and cnt >= 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	arr = list(map(int, input().split()))
	c = 0
	for i in arr:
		if i % 2 == 0:
			c = c + 1
	if c % 2 == 0:
		print('YES')
	else:
		flag = 0
		for i in arr:
			for j in arr:
				if i - j == 1 or i - j == -1:
					flag = 1
		if flag == 1:
			print('YES')
		else:
			print('NO')


import sys
input = sys.stdin.readline

def solve():
	n = int(input())
	a = list(map(int, input().split()))
	even = 0
	noteven = 0
	for j in range(n):
		if a[j] % 2:
			even += 1
		else:
			noteven += 1
	if noteven % 2 == 0 and even % 2 == 0:
		print('YES')
	else:
		for j in range(n):
			breaker = False
			for k in range(j + 1, n):
				if a[j] % 2 != a[k] and abs(a[j] - a[k]) == 1:
					print('YES')
					return
		print('NO')
T = int(input())
for i in range(T):
	solve()


from sys import stdin
input = stdin.readline
R = lambda : map(int, input().split())
for _ in range(int(input())):
	n = int(input())
	a = list(R())
	v = []
	e = []
	o = []
	for i in a:
		if i % 2:
			o += (i,)
		else:
			e += (i,)
	if len(e) % 2:
		for i in e:
			for j in o:
				v += (abs(i - j),)
		if 1 in v:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	e_lst = []
	o_lst = []
	for i in a:
		if i % 2 == 0:
			e_lst += [i]
		else:
			o_lst += [i]
	if len(e_lst) % 2 == 0:
		print('YES')
	else:
		flag = 0
		a = sorted(a)
		for i in range(n - 1):
			if a[i + 1] - a[i] == 1:
				flag = 1
				break
		if flag == 1:
			print('YES')
		else:
			print('NO')


import math
for _ in range(int(input())):
	n = int(input())
	li = list(map(int, input().split()))
	li.sort()
	i = 0
	ans = 0
	e = 0
	for i in li:
		if i % 2 == 0:
			e += 1
	i = 0
	while i < n - 1:
		if li[i + 1] - li[i] == 1:
			ans += 1
			i += 1
		i += 1
	if e % 2 == 0:
		print('YES')
	elif ans > 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	arr = list(sorted(map(int, input().split())))
	s = sum((x % 2 for x in arr))
	if not s % 2:
		print('YES')
	else:
		poss = False
		for i in range(1, n):
			if arr[i] - arr[i - 1] == 1:
				poss = True
				break
		print('YES' if poss else 'NO')


def solve(n, ar):
	ec = 0
	oc = 0
	for i in range(n):
		if ar[i] % 2 == 0:
			ec += 1
		else:
			oc += 1
	c = 0
	for i in range(n - 1):
		for j in range(i + 1, n):
			if abs(ar[i] - ar[j]) == 1:
				c = c + 1
	if ec % 2 != 0 and oc % 2 != 0 and (c > 0) or (ec % 2 == 0 and oc % 2 == 0):
		return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	n = int(input())
	lst = list(map(int, input().split()))
	r = solve(n, lst)
	print(r)


t = int(input())
for i in range(t):
	n = int(input())
	a = list(sorted(map(int, input().split())))
	r = 0
	c = 0
	for i in range(n):
		if i > 0 and a[i] - a[i - 1] == 1:
			r += 1
		if a[i] % 2 == 0:
			c += 1
	if r == 0 and c % 2 == 1:
		print('NO')
	else:
		print('YES')


n = int(input())
for i in range(n):
	x = int(input())
	l = list(map(int, input().split()))
	c = 0
	d = 0
	e = 0
	l.sort()
	for i in range(x - 1):
		if l[i] % 2 == 0:
			c += 1
		if l[i] % 2 != 0:
			d += 1
		if abs(l[i] - l[i + 1]) == 1:
			e += 1
	if l[-1] % 2 == 0:
		c += 1
	else:
		d += 1
	f = 0
	if c % 2 != d % 2:
		print('NO')
	elif c % 2 == 0 and d % 2 == 0:
		print('YES')
	elif c % 2 != 0 and d % 2 != 0:
		if e > 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	n = int(input())
	a = list(map(int, input().split(' ')))
	o = []
	e = []
	for x in range(n):
		if a[x] % 2 == 0:
			e.append(a[x])
		else:
			o.append(a[x])
	if len(o) % 2 == 0 and len(e) % 2 == 0:
		print('YES')
	elif len(o) % 2 != 0 and len(e) % 2 != 0:
		for x in e:
			chk = 0
			if x + 1 in o or x - 1 in o:
				chk = 1
				break
		if chk == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


import sys
input = sys.stdin.readline
t = int(input())
for i in range(t * 2):
	if i % 2 == 0:
		p = int(input())
	else:
		x = input().split()
		x = [int(a) for a in x]
		x.sort()
		good_diff = 0
		for j in range(len(x) - 1):
			if abs(x[j] - x[j + 1]) == 1:
				good_diff = 1
		(a, b) = (0, 0)
		for el in x:
			if el % 2 == 0:
				a += 1
			else:
				b += 1
		if p % 2 == 1:
			print('NO')
		else:
			if a % 2 == 0 and b % 2 == 0:
				print('YES')
			if a % 2 == 1 and b % 2 == 1:
				if good_diff == 1:
					print('YES')
				else:
					print('NO')


import sys
t = int(input())
while t:
	t -= 1
	_ = input()
	arr = [int(i) for i in input().split()]
	no_even = 0
	no_odd = 0
	arr.sort()
	booli = False
	prev = -sys.maxsize
	small = sys.maxsize
	for i in arr:
		if i - prev == 1:
			booli = True
		prev = i
		if i % 2 == 0:
			no_even += 1
		else:
			no_odd += 1
	if (no_even - no_odd) % 2 == 0 and no_even % 2 == 0 and (no_odd % 2 == 0):
		print('YES')
	elif booli:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	n = int(input())
	l1 = list(map(int, input().split()))
	l2 = []
	for j in range(n):
		l2.append(l1[j] % 2)
	if l2.count(1) % 2 == 0:
		print('YES')
	elif l2.count(1) % 2 != 0:
		count = 0
		for k in range(n):
			if l2[k] == 0:
				continue
			elif l2[k] == 1:
				if l1[k] + 1 in l1:
					count = 1
					print('YES')
					break
				elif l1[k] - 1 in l1:
					count = 1
					print('YES')
					break
		if count == 0:
			print('NO')


import collections

def solve(n, arr):
	arrSet = set(arr)
	arr.sort()
	(oddCount, evenCount) = (0, 0)
	for num in arr:
		if num & 1:
			oddCount += 1
		else:
			evenCount += 1
	if oddCount % 2 == 0 and evenCount % 2 == 0:
		return True
	possiblePairs = []
	for num in arr:
		if num + 1 in arrSet:
			possiblePairs.append((num, num + 1))
	for pair in possiblePairs:
		(one, two) = (pair[0], pair[1])
		(newOddCount, newEvenCount) = (oddCount, evenCount)
		if one & 1:
			newOddCount -= 1
		else:
			newEvenCount -= 1
		if two & 1:
			newOddCount -= 1
		else:
			newEvenCount -= 1
		if newOddCount % 2 == 0 and newEvenCount % 2 == 0:
			return True
	return False
t = int(input().strip())
for i in range(t):
	n = int(input().strip())
	arr = list(map(int, input().strip().split()))
	print('YES' if solve(n, arr) else 'NO')


import sys
for _ in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	kek = 0
	for i in range(n):
		if i > 0:
			if a[i] == a[i - 1] + 1:
				kek = 1
	cnt1 = 0
	cnt2 = 0
	for i in range(n):
		if a[i] % 2 == 0:
			cnt1 += 1
		else:
			cnt2 += 1
	if cnt1 % 2 == 1 and cnt2 % 2 == 1 and kek:
		print('YES')
	elif cnt1 % 2 == 0 and cnt2 % 2 == 0:
		print('YES')
	else:
		print('NO')


T = int(input())
for t in range(T):
	N = int(input())
	A = sorted(map(int, input().split()))
	prev = A[0]
	even_cnt = 0
	odd_cnt = 0
	have_pair = False
	if prev % 2 == 0:
		even_cnt += 1
	else:
		odd_cnt += 1
	for a in A[1:]:
		if prev % 2 != a % 2 and a - prev == 1:
			have_pair = True
		if a % 2 == 0:
			even_cnt += 1
		else:
			odd_cnt += 1
		prev = a
	if even_cnt % 2 == 0 or have_pair:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	a = 0
	b = 0
	for j in l:
		if j % 2 == 0:
			a += 1
		else:
			b += 1
	if a % 2 == 0 and b % 2 == 0:
		print('YES')
	else:
		l = sorted(l)
		c = True
		for j in range(n - 1):
			if l[j + 1] - l[j] == 1:
				print('YES')
				c = False
				break
		if c:
			print('NO')


a = int(input())
for i in range(0, a):
	b = int(input())
	c = list(map(int, input().split()))
	c.sort()
	d0 = []
	d1 = []
	for k in c:
		if k % 2 == 0:
			d0.append(k)
		else:
			d1.append(k)
	if len(d0) % 2 == 0:
		print('YES')
	else:
		switch = 0
		for jj in d0:
			for jjj in d1:
				if abs(jjj - jj) == 1:
					switch = 1
					break
			if switch == 1:
				break
		if switch == 1:
			print('YES')
		else:
			print('NO')


import sys
import heapq

def main():
	t = int(input())
	for _ in range(t):
		n = int(sys.stdin.readline().strip())
		nums = list(map(int, sys.stdin.readline().split()))
		oddCnt = 0
		evenCnt = 0
		for i in nums:
			if i % 2:
				oddCnt += 1
			else:
				evenCnt -= 1
		if oddCnt % 2 == 0:
			print('YES')
			continue
		nums.sort()
		flag = False
		for i in range(1, n):
			if nums[i] - nums[i - 1] == 1 and nums[i] % 2 + nums[i - 1] % 2 == 1:
				flag = True
		if flag:
			print('YES')
		else:
			print('NO')
	return
main()


for _ in range(int(input())):
	n = int(input())
	l = sorted([int(i) for i in input().split()])
	odd = sorted([i for i in l if i % 2])
	even = sorted([i for i in l if i % 2 == 0])
	if len(odd) % 2 == 0 and len(even) % 2 == 0:
		print('YES')
	elif len(odd) % 2 != len(even) % 2:
		print('NO')
	else:
		result = 'NO'
		for i in range(len(odd)):
			if odd[i] + 1 in even or odd[i] - 1 in even:
				result = 'YES'
		print(result)


import math
import collections
from sys import stdin, stdout, setrecursionlimit
from bisect import bisect_left as bsl
from bisect import bisect_right as bsr
import heapq as hq
setrecursionlimit(2 ** 20)
t = int(stdin.readline())
for _ in range(t):
	n = int(stdin.readline())
	a = list(map(int, stdin.readline().rstrip().split()))
	d = {}
	(co, ce) = (0, 0)
	l = []
	for i in a:
		if i % 2 == 0:
			ce += 1
			d[i] = True
		else:
			co += 1
			l.append(i)
	chk = False
	if ce % 2 == 0 and co % 2 == 0:
		chk = True
	else:
		for i in l:
			if i + 1 in d or i - 1 in d:
				chk = True
				break
	if chk:
		print('YES')
	else:
		print('NO')


from sys import stdin
I = stdin.readline
for _ in range(int(I())):
	n = int(I())
	a = sorted(map(int, I().split()))
	has_diff_1 = False
	even = odd = 0
	for (i, v) in enumerate(a):
		if v % 2 == 0:
			even += 1
		else:
			odd += 1
		if i > 0 and abs(a[i] - a[i - 1]) == 1:
			has_diff_1 = True
	if odd % 2 == even % 2:
		if even % 2 == 1 and (not has_diff_1):
			print('NO')
		else:
			print('YES')
	else:
		print('NO')


t = int(input())
while t:
	n = int(input())
	lst = list(map(int, input().split()))
	diff = 0
	parity = {i: 0 for i in range(2)}
	lst.sort()
	i = 0
	while i < len(lst) - 1:
		if lst[i + 1] - lst[i] == 1:
			diff += 1
		i += 1
	for i in range(n):
		if lst[i] % 2 == 0:
			parity[0] += 1
		else:
			parity[1] += 1
	res = 0
	(a, b) = (parity[0], parity[1])
	if a % 2 != b % 2:
		print('NO')
		t -= 1
		continue
	if a % 2 == 0 and b % 2 == 0:
		print('YES')
		t -= 1
		continue
	if a % 2 == 1 and b % 2 == 1:
		if diff > 0:
			print('YES')
		else:
			print('NO')
	t -= 1


import sys
from collections import deque
input = sys.stdin.buffer.readline

def solve():
	even = 0
	odd = 0
	even += (a[n - 1] + 1) % 2
	odd += a[n - 1] % 2
	for i in range(n - 1):
		even += (a[i] + 1) % 2
		odd += a[i] % 2
		if a[i + 1] - a[i] == 1:
			print('YES')
			return
	if even % 2 == 0 and odd % 2 == 0:
		print('YES')
	else:
		print('NO')
for _ in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	solve()


t = int(input())
for _ in range(t):
	n = int(input())
	l = list(map(int, input().strip().split()))
	even = 0
	odd = 0
	flag = 0
	for i in l:
		if i % 2 == 0:
			even += 1
		else:
			odd += 1
	if even % 2 != odd % 2:
		print('no')
	elif even % 2 == 0:
		print('yes')
	else:
		for i in range(n - 1):
			for j in range(i + 1, n):
				if abs(l[i] - l[j]) == 1 and l[i] % 2 != l[j] % 2:
					print('yes')
					flag = 1
					break
			if flag == 1:
				break
		if flag == 0:
			print('no')


for i in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	b = []
	c = 0
	d = 0
	j = 0
	while j < len(a):
		if a[j] % 2 == 0:
			b.append(a[j])
			a.remove(a[j])
			c += 1
		else:
			j += 1
	if c % 2 == 0:
		print('YES')
	else:
		for j in b:
			if j + 1 in a or j - 1 in a:
				d = 1
				print('YES')
				break
		if d == 0:
			print('NO')


from sys import stdin, stdout
for query in range(int(stdin.readline())):
	n = int(stdin.readline())
	a = [int(x) for x in stdin.readline().split()]
	a = sorted(a)
	evens = 0
	mybool = False
	if a[0] % 2 == 0:
		evens += 1
	for x in range(1, n):
		if a[x] % 2 == 0:
			evens += 1
		if a[x] - a[x - 1] == 1:
			mybool = True
	if evens % 2 == 0:
		mybool = True
	if mybool:
		stdout.write('YES\n')
	else:
		stdout.write('NO\n')


t = int(input())
while t != 0:
	n = int(input())
	A = sorted(list(map(int, input().split())))
	e = 0
	o = 0
	i = 0
	while i < n:
		if A[i] % 2 == 0:
			e += 1
		else:
			o += 1
		i += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		tmp = 0
		i = 0
		while i < n - 1:
			if A[i + 1] - A[i] == 1:
				tmp = 1
				break
			i += 1
		if tmp == 1:
			print('YES')
		else:
			print('NO')
	t -= 1


for t in range(int(input())):
	n = int(input())
	a = list(map(int, input().split()))
	a.sort()
	pair = odd = v = 0
	for i in range(n):
		if a[i] % 2 == 0:
			pair += 1
			continue
		else:
			odd += 1
			continue
	if pair % 2 != odd % 2:
		print('NO')
	elif pair % 2 == 0:
		print('YES')
	else:
		for i in range(n - 1):
			if abs(a[i] - a[i + 1]) == 1:
				print('YES')
				break
			else:
				v += 1
		if v == n - 1:
			print('NO')


t = int(input())
while t > 0:
	t -= 1
	n = int(input())
	arr = [int(x) for x in input().split()]
	arr.sort()
	odd = 0
	even = 0
	con = 0
	i = 0
	while i < n - 1:
		if arr[i] + 1 == arr[i + 1]:
			con += 1
			i += 2
		elif arr[i] % 2 == 0:
			even += 1
			i += 1
		else:
			odd += 1
			i += 1
	if i == n - 1:
		if arr[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif con > 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	n = int(input())
	a = [int(i) for i in input().split()]
	a.sort()
	e = not a[n - 1] % 2
	f = 0
	for i in range(n - 1):
		if a[i] % 2 == 0:
			e += 1
		if abs(a[i] - a[i + 1]) == 1:
			f = 1
	if e % 2:
		if f:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	n = int(input())
	a = [int(x) for x in input().split()]
	a.sort()
	cnt1 = 0
	cnt2 = 0
	for i in range(n - 1):
		if a[i + 1] - a[i] == 1:
			cnt1 += 1
	for j in range(n):
		if a[j] % 2 == 0:
			cnt2 += 1
	if cnt1 > 0 or cnt2 % 2 == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
cnt = 0
while cnt < t:
	cnt += 1
	flag = False
	n = int(input())
	a = [int(i) for i in input().split()]
	a = sorted(a)
	for i in range(1, n):
		if a[i] - a[i - 1] == 1:
			flag = True
			break
	d = {0: 0, 1: 0}
	for i in a:
		d[i % 2] = d.get(i % 2, 0) + 1
	if d[0] % 2 == 0 and d[1] % 2 == 0:
		print('YES')
	elif flag == True:
		print('YES')
	else:
		print('NO')


N = int(input())
ans = []
for _ in range(N):
	m = int(input())
	A = list(map(int, input().split()))
	A.sort()
	even = 0
	odd = 0
	one = 0
	for i in range(m - 1):
		if A[i] % 2 == 0:
			even += 1
		else:
			odd += 1
		if A[i + 1] - A[i] == 1:
			one += 1
	if A[m - 1] % 2 == 0:
		even += 1
	else:
		odd += 1
	if even % 2 == 0:
		ans.append('YES')
	elif one >= 1:
		ans.append('YES')
	else:
		ans.append('NO')
for i in ans:
	print(i)


from __future__ import division, print_function
import os, sys
import math
import collections
from io import BytesIO, IOBase
if sys.version_info[0] < 3:
	from __builtin__ import xrange as range
	from future_builtins import ascii, filter, hex, map, oct, zip

def ii():
	return int(input())

def si():
	return input()

def mi():
	return map(int, input().strip().split(' '))

def msi():
	return map(str, input().strip().split(' '))

def li():
	return list(mi())

def dmain():
	sys.setrecursionlimit(100000000)
	threading.stack_size(40960000)
	thread = threading.Thread(target=main)
	thread.start()
abc = 'abcdefghijklmnopqrstuvwxyz'
abd = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'g': 6, 'h': 7, 'i': 8, 'j': 9, 'k': 10, 'l': 11, 'm': 12, 'n': 13, 'o': 14, 'p': 15, 'q': 16, 'r': 17, 's': 18, 't': 19, 'u': 20, 'v': 21, 'w': 22, 'x': 23, 'y': 24, 'z': 25}
mod = 1000000007
inf = float('inf')
vow = ['a', 'e', 'i', 'o', 'u']
(dx, dy) = ([-1, 1, 0, 0], [0, 0, 1, -1])

def getKey(item):
	return item[1]

def sort2(l):
	return sorted(l, key=getKey, reverse=True)

def d2(n, m, num):
	return [[num for x in range(m)] for y in range(n)]

def isPowerOfTwo(x):
	return x and (not x & x - 1)

def decimalToBinary(n):
	return bin(n).replace('0b', '')

def ntl(n):
	return [int(i) for i in str(n)]

def ncr(n, r):
	return factorial(n) // (factorial(r) * factorial(n - r))

def binary_search(arr, low, high, x):
	if high >= low:
		mid = (high + low) // 2
		if arr[mid] == x:
			return mid
		elif arr[mid] > x:
			return binary_search(arr, low, mid - 1, x)
		else:
			return binary_search(arr, mid + 1, high, x)
	else:
		return -1

def ceil(x, y):
	if x % y == 0:
		return x // y
	else:
		return x // y + 1

def powerMod(x, y, p):
	res = 1
	x %= p
	while y > 0:
		if y & 1:
			res = res * x % p
		y = y >> 1
		x = x * x % p
	return res

def gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x

def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True

def read():
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')

def padded_bin_with_complement(x):
	if x < 0:
		return bin(2 ** 16 - abs(x))[2:].zfill(16)
	else:
		return bin(x)[2:].zfill(16)

def binaryToDecimal(binary):
	binary1 = binary
	(decimal, i, n) = (0, 0, 0)
	while binary != 0:
		dec = binary % 10
		decimal = decimal + dec * pow(2, i)
		binary = binary // 10
		i += 1
	print(decimal)

def CountFrequency(arr):
	return collections.Counter(arr)

def pos(a):
	b = [0] * len(a)
	c = sorted(a)
	for i in range(len(a)):
		for j in range(len(a)):
			if c[j] == a[i]:
				b[i] = j
				break
	return b

def main():
	for _ in range(ii()):
		n = ii()
		a = li()
		odd = 0
		eve = 0
		l = 0
		con = 998244353
		a.sort()
		for i in range(n - 1):
			if i == con:
				continue
			if abs(a[i] - a[i + 1]) == 1:
				l += 1
				con = i + 1
		for i in range(n):
			if a[i] % 2:
				odd += 1
			else:
				eve += 1
		res = math.floor(odd / 2) + math.floor(eve / 2) + l
		if res * 2 >= n:
			print('YES')
		else:
			print('NO')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


import sys, os.path
if os.path.exists('input.txt'):
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
sys.setrecursionlimit(10 ** 5)

def i():
	return sys.stdin.readline().strip()

def ii():
	return int(sys.stdin.readline())

def li():
	return list(sys.stdin.readline().strip())

def mii():
	return map(int, sys.stdin.readline().split())

def lii():
	return list(map(int, sys.stdin.readline().strip().split()))

def odd(x):
	return True if x % 2 == 1 else False

def even(x):
	return True if x % 2 == 0 else False

def solve():
	a = ii()
	b = sorted(lii())
	e = o = 0
	for x in b:
		if odd(x):
			o += 1
		else:
			e += 1
	if e % 2 == 0 and o % 2 == 0:
		print('YES')
	else:
		c = 0
		while c <= a - 2:
			if abs(b[c] - b[c + 1]) != 1:
				c += 1
			else:
				print('YES')
				return False
		print('NO')
for _ in range(ii()):
	solve()


t = int(input())
for i in range(t):
	n = int(input())
	l = list(map(int, input().split(' ')))
	a = []
	b = []
	for i in l:
		if i % 2 == 0:
			a.append(i)
		else:
			b.append(i)
	a.sort()
	b.sort()
	if len(a) % 2 == 0:
		print('YES')
	else:
		s = -1
		for i in a:
			c = i - 1
			d = i + 1
			if c in b or d in b:
				s = 0
				break
		if s == 0:
			print('YES')
		else:
			print('NO')


for testcase in range(int(input())):
	n = int(input())
	arr = list(map(int, input().split()))
	arr.sort()
	(even, odd) = ([], [])
	flag = 1
	for i in range(n):
		if arr[i] % 2 == 0:
			even.append(arr[i])
		else:
			odd.append(arr[i])
	if len(odd) % 2 == 0:
		print('YES')
	else:
		for i in even:
			f = 1
			for j in odd:
				if abs(i - j) == 1:
					f = 0
					print('YES')
					break
			else:
				continue
			break
		if f:
			print('NO')


t = int(input())
while t > 0:
	n = int(input())
	inp = input().split()
	a = [int(i) for i in inp]
	chan = le = 0
	for i in a:
		if i % 2 == 0:
			chan += 1
	if chan % 2 == 0:
		print('YES')
	else:
		check = 0
		for i in range(0, n - 1):
			for j in range(i + 1, n):
				if (a[j] + a[i]) % 2 != 0 and abs(a[i] - a[j]) == 1:
					check = 1
					break
			if check == 1:
				break
		if check == 1:
			print('YES')
		else:
			print('NO')
	t -= 1


n = int(input())
for i in range(n):
	t = int(input())
	aa = input()
	number = []
	for j in range(t):
		number.append(int(aa.split(' ')[j]))
	number.sort()
	if len(number) % 2 == 1:
		print('no')
		continue
	elif len(number) == 2:
		if number[1] - number[0] == 1:
			print('Yes')
		elif number[1] % 2 == number[0] % 2:
			print('Yes')
		else:
			print('No')
	else:
		num_even = [i for i in number if i % 2 == 0]
		if len(num_even) % 2 == 0:
			print('Yes')
		else:
			for j in range(t - 1):
				if number[j + 1] - number[j] == 1:
					print('Yes')
					break
			else:
				print('No')


n = int(input())
for i in range(n):
	input()
	a = list(map(int, input().split()))
	a.sort()
	res = len(a)
	f = 0
	count = 0
	for j in range(len(a)):
		if a[j] % 2 == 0:
			count += 1
	for j in range(len(a) - 1):
		if a[j + 1] - a[j] == 1:
			f = 1
			break
	if count % 2 == 0 or f == 1:
		print('YES')
	else:
		print('NO')


import sys
import math
import itertools
import functools
import collections
import operator
import fileinput
import copy
ORDA = 97

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return [int(i) for i in input().split()]

def lcm(a, b):
	return abs(a * b) // math.gcd(a, b)

def revn(n):
	return str(n)[::-1]

def dd():
	return collections.defaultdict(int)

def ddl():
	return collections.defaultdict(list)

def sieve(n):
	if n < 2:
		return list()
	prime = [True for _ in range(n + 1)]
	p = 3
	while p * p <= n:
		if prime[p]:
			for i in range(p * 2, n + 1, p):
				prime[i] = False
		p += 2
	r = [2]
	for p in range(3, n + 1, 2):
		if prime[p]:
			r.append(p)
	return r

def divs(n, start=1):
	r = []
	for i in range(start, int(math.sqrt(n) + 1)):
		if n % i == 0:
			if n / i == i:
				r.append(i)
			else:
				r.extend([i, n // i])
	return r

def divn(n, primes):
	divs_number = 1
	for i in primes:
		if n == 1:
			return divs_number
		t = 1
		while n % i == 0:
			t += 1
			n //= i
		divs_number *= t

def prime(n):
	if n == 2:
		return True
	if n % 2 == 0 or n <= 1:
		return False
	sqr = int(math.sqrt(n)) + 1
	for d in range(3, sqr, 2):
		if n % d == 0:
			return False
	return True

def convn(number, base):
	newnumber = 0
	while number > 0:
		newnumber += number % base
		number //= base
	return newnumber

def cdiv(n, k):
	return n // k + (n % k != 0)
for _ in range(ii()):
	n = ii()
	arr = sorted(li())
	(odd, even) = (0, 0)
	for i in range(n):
		if arr[i] & 1:
			odd += 1
		else:
			even += 1
	if odd % 2 == 0 and even % 2 == 0:
		print('YES')
	elif odd % 2 == 1 and even % 2 == 0 or (odd % 2 == 0 and even % 2 == 1):
		print('NO')
	else:
		for i in range(n - 1):
			if arr[i + 1] - arr[i] == 1:
				print('YES')
				break
		else:
			print('NO')


t = int(input())
while t:
	n = int(input())
	if n % 2 == 0:
		flag = 0
		o = 0
		e = 0
		x = input()
		l = [int(y) for y in x.split()]
		for z in l:
			if z % 2 == 0:
				e += 1
			else:
				o += 1
		if e % 2 == 0 and o % 2 == 0:
			print('YES')
		elif e % 2 == 1 and o % 2 == 1:
			l.sort()
			for i in range(len(l) - 1):
				if abs(l[i] - l[i + 1]) == 1:
					flag = 1
			if flag != 0:
				print('YES')
			else:
				print('NO')
		elif e != o:
			print('NO')
		else:
			print('NO')
		t -= 1
	else:
		print('NO')
		t -= 1


t = int(input())
for _ in range(t):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	a = 0
	b = 0
	check = False
	for i in range(n):
		if l[i] % 2:
			a += 1
		else:
			b += 1
		if i > 0:
			if l[i] - l[i - 1] == 1:
				check = True
	if check:
		print('YES')
	elif a % 2 == 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	n = int(input())
	inp = list(map(int, input().split()))
	xor = 0
	ans = False
	sortinp = sorted(inp)
	i = 0
	while i < n - 1:
		if sortinp[i + 1] - sortinp[i] == 1:
			ans = True
		i += 1
	if ans:
		print('YES')
	else:
		for val in inp:
			lasti = bin(val)[-1]
			xor = xor ^ int(lasti)
		if xor == 0:
			print('YES')
		else:
			print('NO')


for _ in range(int(input())):
	n = int(input())
	A = list(map(int, input().split()))
	A = sorted(A)
	count = [0 for i in range(max(A))]
	for i in A:
		count[i - 1] += 1
	oddC = 0
	evCo = 0
	for i in range(len(count)):
		if i % 2 == 1:
			evCo += count[i]
		elif i % 2 == 0:
			oddC += count[i]
	if evCo % 2 == 0 and oddC % 2 == 0:
		print('YES')
	elif evCo % 2 == 1 and oddC % 2 == 0 or (evCo % 2 == 0 and oddC % 2 == 1):
		print('NO')
	elif evCo % 2 == 1 and oddC % 2 == 1:
		work = False
		for i in range(n):
			for j in range(i + 1, n):
				if abs(A[j] - A[i]) == 1:
					print('YES')
					work = True
					break
			if work:
				break
		if not work:
			print('NO')
	else:
		print('NO')


import os
import sys
from io import BytesIO, IOBase
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())

def main():
	try:
		for _ in range(inp()):
			n = inp()
			a = sorted(inlt())
			diff = 0
			(o, e) = (0, 0)
			for i in range(n):
				if a[i] % 2:
					o += 1
				else:
					e += 1
				if i > 0 and a[i] - a[i - 1] == 1:
					diff += 1
			if not o % 2 and (not e % 2):
				print('YES')
			elif o % 2 + e % 2 <= 2 * diff:
				print('YES')
			else:
				print('NO')
	except Exception as e:
		print(e)
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


t = int(input())
while t > 0:
	t = t - 1
	n = int(input())
	a = input()
	A = list(map(int, list(a.split())))
	e = 0
	o = 0
	for i in A:
		if i % 2 == 0:
			e = e + 1
		else:
			o = o + 1
	if e % 2 == 0 and o % 2 == 0:
		print('Yes')
	elif e % 2 != o % 2:
		print('No')
	else:
		flag = 0
		A.sort()
		for i in range(1, n - 1):
			if abs(A[i] - A[i + 1]) == 1 or abs(A[i] - A[i - 1]) == 1:
				print('Yes')
				flag = 1
				break
		if flag == 0:
			if abs(A[0] - A[1]) == 1 or abs(A[n - 2] - A[n - 1]) == 1:
				print('Yes')
			else:
				print('No')


for _ in range(int(input())):
	n = int(input())
	l = list(map(int, input().split()))
	l.sort()
	c = 0
	k = 0
	xx = 0
	for i in l:
		if i % 2 == 0:
			c += 1
		else:
			k += 1
	if c % 2 == 0 and k % 2 == 0:
		print('YES')
	else:
		for i in range(1, n):
			if l[i] - l[i - 1] == 1:
				xx = 1
				break
		if xx == 1:
			print('YES')
		else:
			print('NO')


n = int(input())
from math import *
for _ in range(n):
	n = int(input())
	l = sorted(list(map(int, input().split())))
	(e, o, d) = (0, 0, 0)
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
		if l[i] - l[i - 1] == 1:
			d = 1
	if e % 2 == 0 and o % 2 == 0 or ((e - d) % 2 == 0 and (o - d) % 2 == 0):
		print('YES')
	else:
		print('NO')


def main():
	d = int(input())
	for i in range(0, d):
		input()
		l = list(map(int, input().split()))
		e = [j for j in l if j % 2 == 0]
		o = [j for j in l if j % 2 != 0]
		mod_o = [j % 2 for j in l]
		pairL = list()
		if not o:
			print('YES')
			continue
		o.sort()
		if e:
			e.sort()
		if len(o) % 2 == 0:
			print('YES')
			continue
		for j in range(0, len(o)):
			if o[j] + 1 in e:
				temp = o[j] + 1
				pairL.append(o.pop(j))
				pairL.append(e.pop(e.index(temp)))
			elif o[j] - 1 in e:
				temp = o[j] - 1
				pairL.append(o.pop(j))
				pairL.append(e.pop(e.index(temp)))
			if len(o) % 2 == 0:
				break
		if len(o) % 2 == 0:
			print('YES')
			continue
		print('NO')
main()


import math
t = int(input())
for u in range(t):
	n = int(input())
	a = list(sorted(list(map(int, input().split()))))
	e = 0
	o = 0
	deff = 0
	for i in range(n):
		if a[i] % 2 == 0:
			o += 1
		else:
			e += 1
	if o % 2 == 0:
		deff = 1
	else:
		for i in range(1, n):
			if a[i] - a[i - 1] == 1:
				deff = 1
	if deff == 1:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())

def similar_pairs(a, n):
	if n % 2 == 1:
		return 'NO'
	odd = []
	even = []
	for num in a:
		if num % 2 == 0:
			even.append(num)
		else:
			odd.append(num)
	if len(even) % 2 == 0 and len(odd) % 2 == 0:
		return 'YES'
	even = set(even)
	for num in odd:
		if num + 1 in even or num - 1 in even:
			return 'YES'
	return 'NO'

def main():
	t = inp()
	for _ in range(t):
		n = inp()
		a = invr()
		ans = similar_pairs(a, n)
		print(ans)
main()