Kitahara Haruki has bought n apples for Touma Kazusa and Ogiso Setsuna. Now he wants to divide all the apples between the friends.

Each apple weights 100 grams or 200 grams. Of course Kitahara Haruki doesn't want to offend any of his friend. Therefore the total weight of the apples given to Touma Kazusa must be equal to the total weight of the apples given to Ogiso Setsuna.

But unfortunately Kitahara Haruki doesn't have a knife right now, so he cannot split any apple into some parts. Please, tell him: is it possible to divide all the apples in a fair way between his friends?


-----Input-----

The first line contains an integer n (1 ≤ n ≤ 100) — the number of apples. The second line contains n integers w_1, w_2, ..., w_{n} (w_{i} = 100 or w_{i} = 200), where w_{i} is the weight of the i-th apple.


-----Output-----

In a single line print "YES" (without the quotes) if it is possible to divide all the apples between his friends. Otherwise print "NO" (without the quotes).


-----Examples-----
Input
3
100 200 100

Output
YES

Input
4
100 100 100 200

Output
NO



-----Note-----

In the first test sample Kitahara Haruki can give the first and the last apple to Ogiso Setsuna and the middle apple to Touma Kazusa.

Difficulty: EASY
Tags: Implementation

Complete search
Skill types: Complete search

Starter code:

Solutions:
n = int(input())
s = [int(i) for i in input().split()]
(n1, n2) = (0, 0)
for i in range(n):
	if s[i] == 200:
		n2 += 1
	else:
		n1 += 1
a = (n2 - n2 // 2) * 200
b = n2 // 2 * 200
while n1:
	if b <= a:
		b += 100
	else:
		a += 100
	n1 -= 1
if a == b:
	print('YES')
else:
	print('NO')


n = int(input())
x = list(map(int, input().split()))
a = x.count(100)
b = x.count(200)
if a % 2 == 1:
	print('NO')
elif b % 2 == 1 and a < 2:
	print('NO')
else:
	print('YES')


from itertools import permutations
n = int(input())
nums = [int(x) for x in input().split(' ')]
cnt_100 = 0
cnt_200 = 0
for num in nums:
	if num == 100:
		cnt_100 += 1
	else:
		cnt_200 += 1
if cnt_100 % 2 == 0 and cnt_200 % 2 == 0 and (n > 1):
	print('YES')
elif cnt_200 % 2 != 0 and cnt_100 % 2 != 0 and (n > 1):
	print('NO')
elif cnt_100 < cnt_200 and cnt_100 % 2 != 0 and (cnt_200 % 2 == 0) and (n > 1):
	print('NO')
elif cnt_100 > cnt_200 and cnt_100 % 2 == 0 and (cnt_200 % 2 != 0) and (n > 1):
	print('YES')
elif cnt_200 > cnt_100 and cnt_200 % 2 != 0 and (cnt_100 % 2 == 0) and (cnt_100 >= 2):
	print('YES')
else:
	print('NO')


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


n = int(input())
l = list(map(int, input().split()))
num1 = 0
num2 = 0
for x in l:
	if x == 100:
		num1 += 1
	else:
		num2 += 1
if num1 % 2 == 0 and num2 % 2 == 0:
	print('YES')
elif num2 % 2 != 0 and num1 != 0 and (num1 % 2 == 0):
	print('YES')
else:
	print('NO')


from collections import Counter
n = int(input())
arr = list(map(int, input().split()))
c1 = c2 = 0
for i in arr:
	if i == 100:
		c1 += 1
	else:
		c2 += 1
if c1 % 2 != 0 or (c2 % 2 != 0 and c1 == 0):
	print('NO')
else:
	print('YES')


n = int(input())
l = list(map(int, input().strip().split()))
f1 = []
f2 = []
flag5 = 0
for i in range(0, n):
	if l[i] == 200:
		if flag5 == 0:
			f1.append(200)
			flag5 = 1
		else:
			f2.append(200)
			flag5 = 0
if len(f1) == len(f2):
	if l.count(100) % 2 == 0:
		print('YES')
	else:
		print('NO')
else:
	k = l.count(100)
	if k < 2:
		print('NO')
	else:
		k -= 2
		if k % 2 == 0:
			print('YES')
		else:
			print('NO')


n = int(input())
a = list(map(int, input().split(' ')))
c1 = 0
c2 = 0
for i in range(len(a)):
	if a[i] == 100:
		c1 += 1
	else:
		c2 += 1
if c1 > 0 and c2 > 0:
	if c1 % 2 == 0 and c2 % 2 == 0:
		print('YES')
	elif c1 % 2 == 0 and c2 % 2 != 0:
		print('YES')
	else:
		print('NO')
if c1 == 0 and c2 > 0:
	if c2 % 2 == 0:
		print('YES')
	else:
		print('NO')
if c2 == 0 and c1 > 0:
	if c1 % 2 == 0:
		print('YES')
	else:
		print('NO')


n = input()
weight = list(map(int, input().split()))
if sum(weight) % 200 == 0 and (int(n) % 2 == 1 and 100 in weight and (200 in weight) or int(n) % 2 == 0):
	print('YES')
else:
	print('NO')


n = int(input())
w = list(map(int, input().split()))
(w1, w2) = (0, 0)
w.sort(reverse=True)
for num in w:
	if w1 <= w2:
		w1 += num
	else:
		w2 += num
print('YES') if w1 == w2 else print('NO')


n = int(input())
l = list(map(int, input().split()))
if not sum(l) % 4 and l.count(100) % 2 == 0 and (l.count(200) % 2 == 0 or l.count(100) > 0):
	print('YES')
else:
	print('NO')


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


input()
x = [int(l) for l in input().split()]
n = sum(x)
if n % 200 == 100:
	print('NO')
else:
	need = n // 2
	x.sort()
	x = list(reversed(x))
	has100 = 100 in x
	done = True
	for i in x:
		if need == 100 and has100:
			if done:
				print('YES')
			done = False
		if need == 0:
			if done:
				print('YES')
			done = False
		need -= i
	if done:
		print('NO')


y = input()
x = input()
list = []
n = 0
while n < len(x):
	list.append(x[n:n + 3])
	n += 4
a = list.count('100')
b = list.count('200')
fair = 'YES'
if a % 2 == 1:
	fair = 'NO'
if a == 0:
	if b % 2 == 1:
		fair = 'NO'
print(fair)


n = int(input())
a = [int(i) for i in input().split()]
if a.count(200) == n and n % 2 != 0:
	print('NO')
else:
	b = sum(a)
	if b % 200 == 0:
		print('YES')
	else:
		print('NO')


n = int(input())
weights = input().split()
weights = [int(w) for w in weights]
count100 = 0
count200 = 0
for i in range(n):
	if weights[i] == 100:
		count100 += 1
	elif weights[i] == 200:
		count200 += 1
if count200 % 2 == 0:
	if count100 % 2 == 1:
		print('NO')
	else:
		print('YES')
elif count100 == 0:
	print('NO')
elif count100 % 2 == 1:
	print('NO')
else:
	print('YES')


n = int(input())
w = list(map(int, input().split()))
sum_100 = 0
sum_200 = 0
if sum(w) % 200 == 0 and (w.count(200) % 2 == 0 or w.count(100) >= 2):
	print('YES')
else:
	print('NO')


count = int(input())
apples = input().split()
sto = apples.count('100')
dv = apples.count('200')
if sto % 2 == 1 or (dv % 2 == 1 and sto < 2):
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))
a.sort()
if a.count(100) % 2 == 0:
	if a.count(200) % 2 == 0:
		print('YES')
	elif a.count(100) > 0:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


n = int(input())
a = sorted(list(map(int, input().split())))
(x, y) = (a.count(100), a.count(200))
print('NO' if n == 1 or x % 2 == 1 or (y % 2 == 1 and x < 2) else 'YES')


n = int(input())
a = [int(x) for x in input().split()]
print('NO' if sum(a) / 100 % 2 or n == 1 or (sum((x % 200 for x in a)) == 0 and n % 2) else 'YES')


numApple = int(input())
weight = list(map(int, input().split()))
w1 = weight.count(100)
w2 = weight.count(200)
if w1 % 2 == 1 or (w2 % 2 == 1 and w1 == 0):
	print('NO')
else:
	print('YES')


n = int(input())
(small, big) = (0, 0)
for apple in input().split():
	if apple == '100':
		small += 1
	else:
		big += 1
if big % 2 == 0:
	if small % 2 == 0:
		print('YES')
	else:
		print('NO')
elif small % 2 == 0 and small >= 2:
	print('YES')
else:
	print('NO')


n = int(input())
a = [int(j) for j in input().split()]
x = a.count(200)
y = a.count(100)
if x % 2 == 0 and y % 2 == 0:
	print('YES')
elif x % 2 == 1 and y % 2 == 0 and (y >= 2):
	print('YES')
else:
	print('NO')


n = int(input())
a = [int(i) for i in input().split()]
t = a.count(200)
o = a.count(100)
if t % 2 == 0 and o % 2 == 0 or (t % 2 == 1 and o > 1 and (o % 2 == 0)):
	print('YES')
else:
	print('NO')


n = int(input())
l = list(map(int, input().split()))
r = sum(l) // 100
if r % 2 != 0:
	print('NO')
	exit(0)
l.sort(reverse=True)
r = r // 2
for i in l:
	if r - i // 100 >= 0:
		r -= i // 100
if r == 0:
	print('YES')
else:
	print('NO')


import math
n = int(input())
w = list(map(int, input().split()))
x = 100
y = 200
tot = sum(w)
remain = tot / 2 % 100
if n % 2 != 0 and (x not in w or y not in w):
	print('NO')
elif remain == 50:
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))
s = sum(a)
x = a.count(100)
y = a.count(200)
flag = 1
if s % 200 == 0:
	if y > x:
		if y % 2 and x == 0:
			flag = 0
else:
	flag = 0
if flag:
	print('YES')
else:
	print('NO')


n = input()
n = int(n)
sum100 = 0
a = input().split()
a = list(map(int, a))
for list in a:
	if list == 100:
		sum100 += 1
sum200 = len(a) - sum100
if sum100 % 2 != 0:
	print('NO')
elif sum200 % 2 != 0 and sum100 == 0:
	print('NO')
else:
	print('YES')


n = int(input())
x = list(map(int, input().split()))
if n == 1:
	print('NO')
elif sum(x) // 2 // 10 % 10 != 0 or (n % 2 != 0 and len(set(x)) == 1):
	print('NO')
else:
	print('YES')


n = int(input().rstrip())
apples = list(map(int, input().rstrip().split()))
count2 = 0
count1 = 0
for i in apples:
	if i == 200:
		count2 += 1
	else:
		count1 += 1
if count2 % 2 == 0:
	if count1 % 2 == 0:
		print('YES')
	else:
		print('NO')
elif count1 >= 2:
	count1 = count1 - 2
	if count1 % 2 == 0:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


n = input()
arr = input()
apples = [int(x) for x in arr.split(' ')]
tk = []
os = []
apples.sort(reverse=True)
for apple in apples:
	if sum(tk) > sum(os):
		os.append(apple)
	else:
		tk.append(apple)
if sum(tk) == sum(os):
	print('YES')
else:
	print('NO')


n = int(input())
arr = list(map(int, input().split()))
if n == 1:
	print('NO')
else:
	hund = arr.count(100)
	doub = arr.count(200)
	(ishundEven, isDoubEven) = (False, False)
	if hund % 2 == 0:
		ishundEven = True
	if doub % 2 == 0:
		isDoubEven = True
	if isDoubEven and ishundEven or (isDoubEven == False and (ishundEven and hund != 0)):
		print('YES')
	else:
		print('NO')


apples = int(input(''))
basket = input('').split()
n = []
m = []
for i in basket:
	if int(i) == 100:
		n.append(100)
	else:
		m.append(200)
total = 0
for i in basket:
	total = total + int(i)
x = len(n)
y = len(m)
if total % 200 == 0:
	if x == 0:
		if y % 2 == 0:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')
else:
	print('NO')


n = int(input())
lis = list(map(int, input().split()))
hun = 0
thun = 0
for i in lis:
	if i == 100:
		hun += 1
	else:
		thun += 1
if thun == 0 or hun == 0:
	if thun == 0:
		if hun % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif thun % 2 == 0:
		print('YES')
	else:
		print('NO')
elif (200 * thun + 100 * hun) % 200 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
l = list(map(int, input().split()))
if n == 1:
	print('NO')
else:
	s = sum(l)
	s = s / 100
	if s % 2 == 0:
		if l.count(200) == len(l) and len(l) % 2 != 0:
			print('NO')
		else:
			print('YES')
	else:
		print('NO')


(n, k) = (int(input()), input()[::4].count('2'))
print('YES' if (k + n) % 2 == 0 and ((k + n) % 4 == 0 or k < n) else 'NO')


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

def si():
	return input()

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

def li():
	return list(mi())
import math
n = ii()
a = li()
s = sum(a)
b = a.count(100)
if s % 400 == 0:
	print('YES')
elif s % 200 == 0 and b:
	print('YES')
else:
	print('NO')


n = int(input())
arr = list(map(int, input().split()))
hund = arr.count(100)
twohund = arr.count(200)
if hund % 2 != 0 or (twohund % 2 != 0 and hund < 2):
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))

def fn(a, n):
	if n == 1:
		return 'NO'
	elif sum(a) % 200 == 0 and n % 2 != 0 and (100 not in a):
		return 'NO'
	elif sum(a) % 200 == 0:
		return 'YES'
	else:
		return 'NO'
print(fn(a, n))


import math
from collections import defaultdict, Counter, deque
INF = float('inf')

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

def isPrime(n):
	if n <= 1:
		return False
	i = 2
	while i ** 2 <= n:
		if n % i == 0:
			return False
		i += 1
	return True

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 vars():
	return map(int, input().split())

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

def main():
	n = int(input())
	arr = array()
	h = arr.count(100)
	t = arr.count(200)
	f = 0
	s = 0
	while t > 0:
		if f <= s:
			f += 2
		else:
			s += 2
		t -= 1
	while h > 0:
		if f <= s:
			if s - f >= 2 and h > 1:
				f += 1
				h -= 1
			f += 1
		else:
			if f - s >= 2 and h > 1:
				s += 1
				h -= 1
			s += 1
		h -= 1
	if s == f:
		print('YES')
	else:
		print('NO')
t = 1
for _ in range(t):
	main()


n = int(input())
weights = list(map(int, input().split()))
if weights.count(200) % 2 == 0:
	if weights.count(100) % 2 == 0:
		print('YES')
	else:
		print('NO')
elif weights.count(100) % 2 == 0 and weights.count(100) >= 2:
	print('YES')
else:
	print('NO')


n = int(input())
a = sorted([int(x) for x in input().split()], reverse=True)
b1 = 0
b2 = 0
for i in a:
	if b1 >= b2:
		b2 += i
	else:
		b1 += i
if b1 == b2:
	print('YES')
else:
	print('NO')


n = int(input())
l = list(map(int, input().split()))
oh = l.count(100)
th = n - oh
if oh % 2 == 1:
	print('NO')
elif oh == 0 and th % 2 == 1:
	print('NO')
else:
	print('YES')


n = int(input())
w = list(map(int, input().split()))
a = w.count(100)
b = w.count(200)
if a % 2 == 0 and b % 2 == 0 or (b % 2 == 1 and a > 1 and (a % 2 == 0)):
	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')
n = int(input())
vals = list(map(int, input().split()))
h1 = 0
h2 = 0
for s in range(n):
	if vals[s] == 100:
		h1 += 1
	else:
		h2 += 1
if h1 % 2 == 0 and h2 % 2 == 0:
	print('YES')
elif h1 % 2 == 0 and h2 % 2 == 1:
	if h1 >= 2:
		print('YES')
	else:
		print('NO')
elif h1 % 2 == 1 and h2 % 2 == 0:
	print('NO')
else:
	print('NO')


n = int(input())
arr = input().split()
a = 0
b = 0
for ch in arr:
	if ch == '100':
		a += 1
	else:
		b += 1
if b % 2 == 1:
	a -= 2
	if a < 0 or a % 2 == 1:
		print('NO')
	else:
		print('YES')
elif a % 2 == 0:
	print('YES')
else:
	print('NO')


import sys
n = int(input())
inp = list(map(int, input().split()))
total = sum(inp)
if total % 200 != 0:
	print('NO')
	exit()
a = inp.count(100)
b = inp.count(200)
half = total / 2
for i in range(b + 1):
	if 200 * i <= half and half - 200 * i <= a * 100:
		print('YES')
		exit()
print('NO')


n = int(input())
lst = list(map(int, input().split()))
(od, ev) = (0, 0)
for i in range(n):
	if lst[i] == 200:
		od += 1
	else:
		ev += 1
if not od % 2 and (not ev % 2) or (od % 2 and ev > 1 and (not ev % 2)):
	print('YES')
else:
	print('NO')


import sys
input = lambda : sys.stdin.readline().strip('\r\n')
n = int(input())
w = list(map(int, input().split()))
one = w.count(100)
two = w.count(200)
if one * 0.5 == two or (two % 2 == 0 and one % 2 == 0) or (two % 2 == 1 and one % 2 == 0 and (one >= 2)):
	print('YES')
else:
	print('NO')


ilo = int(input())
inp = input()
tmp = inp.split()
licz = []
odp = 0
l100 = 0
l200 = 0
for i in range(ilo):
	licz.append(int(tmp[i]))
for i in range(ilo):
	odp += licz[i]
	if licz[i] == 100:
		l100 += 1
	else:
		l200 += 1
if odp // 100 % 2 == 0 and (l200 % 2 == 0 or l100 >= 2):
	print('YES')
else:
	print('NO')


n = int(input())
lines = str(input()).split()
lines = [int(it) for it in lines]
num_200 = sum(lines) // 100 - n
num_100 = n - num_200
if num_200 % 2 > 0:
	if num_100 < 2 or num_100 % 2 > 0:
		print('NO')
	else:
		print('YES')
elif num_100 % 2 > 0:
	print('NO')
else:
	print('YES')


n = int(input())
l = [int(i) for i in input().split()]
s = sum(l)
dp = [0] * (s + 1)
dp[0] = 1
for i in l:
	for j in range(s + 1):
		if i <= j and dp[j - i]:
			dp[j] = 1
if dp[s // 2] == 1:
	print('YES')
else:
	print('NO')


n = int(input())
a = input()
if n == 1:
	print('NO')
else:
	b = a.count('100')
	c = a.count('200')
	if b % 2 == 0 and c % 2 == 0:
		print('YES')
	else:
		if 2 * b >= c:
			b = b - c * 2
			c = 0
		else:
			c = c - b / 2
			b = b % 2
		if b % 2 or c % 2:
			print('NO')
		else:
			print('YES')


import math
t = 1
for _ in range(t):
	n = int(input())
	A = list(map(int, input().split()))
	A.sort()
	s = sum(A)
	a = 0
	b = 0
	for i in range(n):
		if A[i] == 100:
			a += 1
		else:
			b += 1
	if s // 2 % 100 != 0:
		print('NO')
		break
	else:
		ans = 'NO'
		x = s // 2
		for i in range(a + 1):
			for j in range(b + 1):
				if 100 * i + 200 * j == x:
					ans = 'YES'
	print(ans)


S = sorted
M = lambda : map(int, input().split())
m = int(input())
a = list(M())
(cnto, cnte) = (0, 0)
for i in a:
	if i == 100:
		cnto += 1
	else:
		cnte += 1
if cnto > 0:
	if cnto % 2 == 0:
		print('YES')
	else:
		print('NO')
elif cnte % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
apples = list(map(int, input().split()))
l = False
a100 = 0
tot = 0
for a in apples:
	tot += a
	if l is False:
		if a == 100:
			a100 += 1
			if a100 == 2:
				l = True
if tot % 400 == 0:
	print('YES')
elif tot % 400 == 200 and l:
	print('YES')
else:
	print('NO')


n = int(input())
w = sorted([int(i) for i in input().split()], reverse=True)
t = sum(w) / 2
for i in w:
	if i <= t:
		t -= i
if t == 0:
	print('YES')
else:
	print('NO')


n = int(input())
arr = list(map(int, input().split()))
cnt_200 = arr.count(200)
cnt_100 = arr.count(100)
if cnt_100 % 2 == 0 and (cnt_200 % 2 == 0 or (cnt_200 % 2 == 1 and cnt_100 >= 2)):
	print('YES')
else:
	print('NO')


n = int(input())
L = list(map(int, input().split()))
cent = 0
for i in range(n):
	if L[i] == 100:
		cent = cent + 1
dcent = n - cent
if cent != 0:
	if cent % 2 == 0:
		print('YES')
	else:
		print('NO')
elif dcent % 2 == 0:
	print('YES')
else:
	print('NO')


def harukisGift():
	n = int(input())
	w = list(map(int, input().split()))
	hc = w.count(100)
	thc = w.count(200)
	if thc % 2 == 0 and hc % 2 == 0 or (thc % 2 != 0 and hc % 2 == 0 and (hc != 0)):
		print('YES')
		return
	else:
		print('NO')
		return
harukisGift()


n_maca = int(input())
peso_maca = list(map(int, input().split()))
quant_1 = peso_maca.count(100)
quant_2 = peso_maca.count(200)
if n_maca >= 1:
	print('YES' if quant_1 % 2 == 0 and (quant_2 % 2 == 0 or quant_1 > 0) else 'NO')
else:
	print('NO')


import collections
n = int(input())
if n == 1:
	print('NO')
	exit()
A = [int(x) for x in input().split()]
D = collections.Counter(A)
if D[100] % 2 == 0:
	if D[200] % 2 == 0:
		print('YES')
	elif D[100]:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


from collections import Counter
n = int(input())
line = list(map(int, input().split()))
count_dict = Counter(line)
if count_dict[100] % 2 == 1 or (count_dict[200] % 2 == 1 and count_dict[100] == 0):
	print('NO')
else:
	print('YES')


def isSubsetSum(set, n, sum):
	subset = [[False for i in range(sum + 1)] for i in range(n + 1)]
	for i in range(n + 1):
		subset[i][0] = True
	for i in range(1, sum + 1):
		subset[0][i] = False
	for i in range(1, n + 1):
		for j in range(1, sum + 1):
			if j < set[i - 1]:
				subset[i][j] = subset[i - 1][j]
			if j >= set[i - 1]:
				subset[i][j] = subset[i - 1][j] or subset[i - 1][j - set[i - 1]]
	return subset[n][sum]
n = int(input())
w = list(map(int, input().split()))
sm = sum(w)
if sm % 2 == 0:
	if isSubsetSum(w, n, sm // 2) == True:
		print('YES')
	else:
		print('NO')
else:
	print('YES')


n = int(input())
a = [int(x) for x in input().split()]
dic = {100: 0, 200: 0}
for i in a:
	dic[i] += 1
total = dic[100] * 100 + dic[200] * 200
mid = total // 2
if mid % 100 != 0:
	print('NO')
elif mid % 200 == 0:
	print('YES')
elif dic[100] >= 1:
	print('YES')
else:
	print('NO')


n = int(input())
ar = list(map(int, input().split()))
count100 = 0
count200 = 0
for elm in ar:
	if elm == 100:
		count100 += 1
	else:
		count200 += 1
ok = False
for i in range(count100 + 1):
	for j in range(count200 + 1):
		if i * 100 + j * 200 == (count100 - i) * 100 + (count200 - j) * 200:
			ok = True
			break
if ok:
	print('YES')
else:
	print('NO')


def main():
	n = int(input())
	dados = sorted(map(int, input().split()))
	(f1, f2) = (0, 0)
	for i in range(len(dados) - 1, -1, -1):
		if f1 <= f2:
			f1 += dados[i]
		else:
			f2 += dados[i]
	if f1 == f2:
		print('YES', end='')
	else:
		print('NO', end='')
main()


N = int(input())
a = [i for i in input().split()]
x = a.count('100')
y = a.count('200')
print('YES' if ((x == 0) & (y % 2 == 0) or (x != 0) & (x % 2 == 0)) & (N >= 2) else 'NO')


n = int(input())
weights = list(map(int, input().split()))
count1 = 0
count2 = 0
if len(weights) == 1:
	print('NO')
	exit()
for w in weights:
	if w == 100:
		count1 += 1
	else:
		count2 += 1
if count2 & 1 and count1 & 1:
	print('NO')
elif count2 & 1 and count1 == 0:
	print('NO')
elif count1 & 1 and count2 == 0:
	print('NO')
elif count1 & 1 and count2 % 2 == 0:
	print('NO')
else:
	print('YES')


def main():
	n = int(input())
	a = 0
	b = 0
	nums = list(map(int, input().split(' ')))
	s = 0
	for num in nums:
		if num == 100:
			a += 1
		else:
			b += 1
		s += num
	if s % 200 != 0:
		return False
	half = s // 2
	for i in range(0, b + 1):
		if 200 * i <= half and half - 200 * i <= a * 100:
			return True
	return False
print('YES') if main() else print('NO')


n = int(input())
var = map(int, input().split())
sum1 = 0
sum2 = 0
var = sorted(var, reverse=True)
for index in var:
	if sum1 <= sum2:
		sum1 += index
	else:
		sum2 += index
if sum1 == sum2:
	print('YES')
else:
	print('NO')


n = int(input())
l_w = list(map(int, input().split()))
n200 = 0
n100 = 0
for w in l_w:
	if w == 200:
		n200 += 1
	else:
		n100 += 1
for i in range(n200 + 1):
	for j in range(n100 + 1):
		if i * 200 + j * 100 == (n200 - i) * 200 + (n100 - j) * 100:
			print('YES')
			quit()
print('NO')


n = int(input())
arr = map(int, input().split())
c = d = 0
for x in arr:
	if x == 100:
		c += 1
	else:
		d += 1
d = d & 1
if c & 1 or (d and c < 2):
	print('NO')
else:
	print('YES')


n = int(input())
macas = list(map(int, input().split(' ')))
macas.sort(reverse=True)
amigo_1 = 0
amigo_2 = 0
for maca in macas:
	if amigo_1 <= amigo_2:
		amigo_1 += maca
	else:
		amigo_2 += maca
if amigo_1 == amigo_2:
	print('YES')
else:
	print('NO')


n = int(input())
a = list(map(int, input().split()))
a1 = a.count(100)
a2 = a.count(200)
if a1 % 2 == 0 and a1 > 0 or (a1 == 0 and a2 % 2 == 0):
	print('YES')
else:
	print('NO')


n = int(input())
arr = [int(x) // 100 for x in input().split(' ')]
one = arr.count(1)
two = n - one
if sum(arr) & 1:
	print('NO')
elif two:
	if sum(arr) // 2 % 2 == 0:
		print('YES')
	elif one:
		print('YES')
	else:
		print('NO')
else:
	print('YES')


n = int(input())
a = [int(i) for i in input().split()]
a.sort()
ans = 'NO'
half = sum(a) // 2
su = sum(a[:n // 2 - 1])
for i in range(n // 2 + n % 2):
	su += a[n // 2 + i]
	if i > 0:
		su -= a[i - 1]
	if su == half:
		ans = 'YES'
		break
print(ans)


n = int(input())
w = list(map(int, input().split()))
(c100, c200) = (0, 0)
for e in w:
	if e == 100:
		c100 += 1
	else:
		c200 += 1
half = sum(w) // 2
while half >= 200 and c200:
	half -= 200
	c200 -= 1
while half and c100:
	half -= 100
	c100 -= 1
if c100 * 100 + 200 * c200 == sum(w) // 2:
	print('YES')
else:
	print('NO')


numberOfApples = int(input())
(numberOfOnes, numberOfTwos) = (0, 0)
appleWeights = input().split(' ')
numberOfOnes = appleWeights.count('100')
numberOfTwos = appleWeights.count('200')
if not numberOfTwos % 2 and (not numberOfOnes % 2):
	print('YES')
elif numberOfTwos % 2 and (not numberOfOnes % 2) and (numberOfOnes >= 2):
	print('YES')
else:
	print('NO')


n = int(input())
a = list(map(int, input().split()))
b = [0] * 201
for i in range(len(a)):
	b[a[i]] = b[a[i]] + 1
if b[100] % 2 == 0:
	if b[100] != 0:
		print('YES')
	elif b[200] % 2 == 0:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


from sys import stdin as sin

def aint():
	return int(sin.readline())

def amap():
	return map(int, sin.readline().split())

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

def astr():
	return str(sin.readline().split())
n = int(input())
l = alist()
l.sort(reverse=True)
a = 0
b = 0
for i in l:
	if a < b:
		a += i
	else:
		b += i
if a == b:
	print('YES')
else:
	print('NO')


import sys
import math
n = int(sys.stdin.readline())
wn = [int(int(x) / 100) for x in sys.stdin.readline().split()]
a = 0
b = 0
for i in wn:
	if i == 2:
		a += 1
	else:
		b += 1
if b % 2 != 0:
	print('NO')
elif b == 0 and a % 2 != 0:
	print('NO')
else:
	print('YES')


n = int(input())
a = [int(x) for x in input().split()]
n1 = 0
n2 = 0
for e in a:
	if e == 100:
		n1 += 1
	else:
		n2 += 1
if n2 % 2 == 1:
	if n1 > 0 and n1 % 2 == 0:
		print('YES')
	else:
		print('NO')
elif n1 % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
w = sorted(list(map(int, input().split())), reverse=True)
h = sum(w) // 2
ans = 0
for i in w:
	if h >= ans + i:
		ans += i
	if h == ans:
		print('YES')
		break
if h != ans:
	print('NO')


input()
apples = [int(n.rstrip('0')) for n in input().split(' ')]
total = 0
twos = 0
for apple in apples:
	if apple == 2:
		twos += 1
	total += apple
if len(apples) == 1:
	print('NO')
elif total % 2 == 0:
	if twos == len(apples) and twos % 2 != 0:
		print('NO')
	else:
		print('YES')
else:
	print('NO')


n = int(input())
a = list(map(int, input().split()))
p = a.count(100)
q = a.count(200)
if p > 0 and q == 0:
	if p % 2 == 0:
		print('YES')
	else:
		print('NO')
elif q > 0 and p == 0:
	if q % 2 == 0:
		print('YES')
	else:
		print('NO')
elif p > q:
	z = 2 * q
	k = 1 * p
	if z == k or (z % 2 == 0 and k % 2 == 0):
		print('YES')
	else:
		print('NO')
elif q > p:
	z = 2 * q
	k = 1 * p
	if z == k or (z % 2 == 0 and k % 2 == 0):
		print('YES')
	else:
		print('NO')
elif p % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
a = list(map(int, input().split()))
s = sum(a)
if n == 1:
	print('NO')
elif s % 200 == 0:
	if s // 200 == n and n % 2 == 1:
		print('NO')
	else:
		print('YES')
else:
	print('NO')


num_apple = int(input())
weight = input().split()
if num_apple != 1:
	count1 = 0
	count2 = 0
	i = 0
	while i < len(weight):
		if '100' == weight[i]:
			count1 += 1
		i += 1
	j = 0
	while j < len(weight):
		if '200' == weight[j]:
			count2 += 1
		j += 1
	if count1 % 2 == 0 and count2 % 2 == 0:
		print('YES')
	elif count1 % 2 != 0 and count2 % 2 != 0:
		print('NO')
	elif count1 % 2 != 0 and count2 % 2 == 0:
		print('NO')
	elif count1 % 2 == 0 and count2 % 2 != 0:
		if count1 == 0 and count2 % 2 != 0:
			print('NO')
		else:
			print('YES')
else:
	print('NO')


n = int(input())
a = list(map(int, input().split()))
cnt1 = 0
cnt2 = 0
for i in range(n):
	if a[i] == 100:
		cnt1 += 1
	else:
		cnt2 += 1
if cnt2 % 2 != 0:
	if cnt1 % 2 == 0 and cnt1 > 0:
		print('YES')
	else:
		print('NO')
elif cnt1 % 2 == 0:
	print('YES')
else:
	print('NO')


import sys
n = sys.stdin.readline()
inputStr = sys.stdin.readline()
weights = inputStr.split(' ')
totalWeight = 0
for weight in weights:
	totalWeight += int(weight)
if totalWeight % 200 == 0 and len(weights) > 1:
	if len(weights) % 2 != 0 and totalWeight / len(weights) == 200:
		print('NO')
	else:
		print('YES')
else:
	print('NO')


n = int(input())
A = list(map(int, input().split()))
odd = 0
even = 0
for i in A:
	if i == 100:
		odd += 1
	else:
		even += 1
x = 0
for i in range(odd + 1):
	for j in range(even + 1):
		if i + 2 * j == odd - i + 2 * (even - j):
			x = 1
if x == 1:
	print('YES')
else:
	print('NO')


n = int(input())
arr = list(map(int, input().split()))
if sum(arr) % 200 == 0 and arr.count(100) > 0 or sum(arr) % 400 == 0:
	print('YES')
else:
	print('NO')


import sys
import math
from collections import *

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

def get_list():
	return list(get_ints())

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

def printsp(*args):
	return print(*args, end=' ')
UGLYMOD = int(1000000000.0 + 7)
SEXYMOD = 998244353
MAXN = int(100000.0)
n = int(input())
li = get_list()
c100 = c200 = s = 0
for i in li:
	if i == 100:
		c100 += 1
	else:
		c200 += 1
	s += i // 2
s -= min(c200, s // 200) * 200
if s % 100 == 0 and s // 100 <= c100:
	print('YES')
else:
	print('NO')


import operator as op
import re
import sys
from bisect import bisect, bisect_left, insort, insort_left
from collections import Counter, defaultdict, deque
from copy import deepcopy
from decimal import Decimal
from functools import reduce
from itertools import accumulate, combinations, combinations_with_replacement, groupby, permutations, product
from math import acos, asin, atan, ceil, cos, degrees, factorial, gcd, hypot, log2, pi, radians, sin, sqrt, tan
from operator import itemgetter, mul
from string import ascii_lowercase, ascii_uppercase, digits

def inp():
	return int(input())

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

def instr():
	s = input()
	return list(s[:len(s)])

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

def def_value():
	return 0
n = inp()
a = inlist()
target = sum(a) // 2
current = 0
a = sorted(a, reverse=True)
for i in range(n):
	if target >= current + a[i]:
		current += a[i]
if target == current:
	print('YES')
else:
	print('NO')


n = int(input())
l = [int(x) // 100 for x in input().split()]
a = l.count(2)
b = l.count(1)
c = a & 1
if b & 1:
	print('NO')
elif c == 0:
	print('YES')
elif b >= 2:
	print('YES')
else:
	print('NO')


n = int(input())
apples = [int(string) for string in input().split()]
big_count = apples.count(200)
small_count = apples.count(100)
half = sum(apples) // 2
apples = sorted(apples, reverse=True)
if half % 100 > 0 or n == 1:
	print('NO')
elif half % 200 > 0 and small_count == 0:
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))
t = a.count(200)
o = a.count(100)
if t % 2 == 0 and o % 2 == 0 or (t % 2 == 1 and o > 1 and (o % 2 == 0)):
	print('YES')
else:
	print('NO')


from collections import Counter
n = int(input())
w = list(map(int, input().split(' ')))
counter = Counter(w)
total = sum(w)
if total / 2 % 100 != 0:
	print('NO')
	exit()
each = int(total / 2)
if counter[200] >= int(each / 200) and each % 200 == 0:
	print('YES')
	exit()
if counter[200] > each / 200:
	print('YES' if counter[100] > 0 else 'NO')
	exit()
elif counter[100] >= each % 200 / 100:
	print('YES')
else:
	print('NO')


n = int(input())
lis = input().split()
p = 0
q = 0
for k in lis:
	if k == '100':
		p += 1
	if k == '200':
		q += 1
if p % 2 == 1:
	print('NO')
elif q % 2 == 0:
	print('YES')
elif p == 0:
	print('NO')
else:
	print('YES')


n = int(input())
q = map(int, input().split())
f = list(q)
i = 0
w = 0
l = len(f)
x = f.count(200)
y = f.count(100)
while i < l:
	t = f[i]
	w = w + t
	i += 1
v = w
k = v % 100
if n > 1:
	if k == 0:
		if y % 2 == 0 and x == 0:
			print('YES')
		elif x % 2 == 0 and y == 0:
			print('YES')
		elif x % 2 == 0 and y % 2 == 0:
			print('YES')
		elif y == 2 * x:
			print('YES')
		elif x % 2 != 0 and y % 2 == 0 and (y > 0):
			print('YES')
		else:
			print('NO')
	elif k != 0 or x % 2 != 0:
		print('NO')
	else:
		print('NO')
if n <= 1:
	print('NO')


n = int(input())
l = list(map(int, input().split()))
a = []
l.sort(reverse=True)
a.append(l[0])
b = []
for i in range(1, len(l)):
	if sum(a) < sum(b):
		a.append(l[i])
	else:
		b.append(l[i])
if sum(a) == sum(b):
	print('YES')
else:
	print('NO')


n = int(input())
a = list(map(int, input().split()))
n1 = a.count(100)
n2 = n - n1
if n1 > 0 and n2 > 0:
	if n2 % 2 == 0:
		if n1 % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif (n1 - 2) % 2 == 0:
		print('YES')
	else:
		print('NO')
elif n1 % 2 == 0 and n2 % 2 == 0:
	print('YES')
else:
	print('NO')


def main():
	n = int(input())
	a = input().strip().split()
	if n == 1:
		x = 'NO'
	else:
		x = add(a)
	print(x)

def add(a):
	ad = 0
	for i in a:
		ad += int(i)
	x = ad // 100
	if '100' in a:
		if x % 2 == 0:
			return 'YES'
		else:
			return 'NO'
	elif x % 4 == 0:
		return 'YES'
	else:
		return 'NO'
main()


from sys import stdin as cin
from itertools import product
from bisect import bisect_left as bl
from collections import Counter
n = int(cin.readline())
a = list(list(map(int, cin.readline().split())))
c = Counter(a)
if c[100] % 2 == 0 and c[200] % 2 == 0 or (c[200] % 2 != 0 and (c[100] % 2 == 0 and c[100] > 1)):
	print('YES')
else:
	print('NO')


n = int(input())
data = list(map(int, input().split()))
hundred = data.count(100)
if len(data) == 1:
	print('NO')
elif hundred == 0 and len(data) % 2 == 1:
	print('NO')
elif hundred % 2 == 0:
	print('YES')
else:
	print('NO')


(N, MyDict) = (int(input()), {200: 0, 100: 0})
X = list(map(int, input().split()))
for i in X:
	MyDict[i] += 1
Equal = sum(X) / 2
for key in MyDict.keys():
	Equal -= min(Equal // key, MyDict[key]) * key
print('NO' if Equal else 'YES')


import sys
f = sys.stdin
n = int(f.readline().strip())
a = [int(u) for u in f.readline().strip().split()]
a = sorted(a, reverse=True)
W1 = 0
W2 = 0
for i in range(int(n / 2)):
	W1 += a[2 * i]
	W2 += a[2 * i + 1]
if n % 2 == 1:
	W2 += a[n - 1]
if W1 == W2:
	res = 'YES'
else:
	res = 'NO'
print(res)


n = int(input())
s = list(map(int, input().split()))
a = sum(s)
s.count(100)
s.count(200)
if a // 2 % 100 == 0:
	if s.count(100) % 2 == 0 and s.count(200) % 2 == 0:
		print('YES')
		exit()
	if s.count(100) > 1 and s.count(200) % 2 == 1:
		print('YES')
		exit()
print('NO')


n = int(input())
arr = list(map(int, input().split()))
if sum(arr) % 2 != 0:
	print('NO')
else:
	x = arr.count(100)
	y = arr.count(200)
	if x % 2 == 0 and x > 0:
		print('YES')
	elif x == 0 and y % 2 == 0:
		print('YES')
	else:
		print('NO')


n = int(input())
s = input().split()
c1 = s.count('100')
c2 = n - c1
print('YES' if c1 and c2 and (c1 == 2 * c2) or (not c2 and (not c1 % 2)) or (not c1 and (not c2 % 2)) or (c1 > c2 % 2 and (c1 - 2 * c2 % 2) % 2 == 0) else 'NO')


import sys
input = sys.stdin.readline

def io():
	n = int(input())
	ls = sorted(list(map(int, input().split())), reverse=True)
	return (n, ls)

def solve():
	(n, ls) = io()
	a = 0
	b = 0
	for i in ls:
		if a > b:
			b += i
		else:
			a += i
	if a == b:
		print('YES')
	else:
		print('NO')
solve()


n = int(input())
a = list(map(int, input().split()))
if len(set(a)) == 1 and a[0] == 200 and (len(a) % 2 == 1):
	print('NO')
	exit()
if n == 1:
	print('NO')
	exit()
k = sum(a)
if k // 2 % 100 == 50:
	print('NO')
else:
	print('YES')


n = int(input())
A = list(map(int, input().split()))
(two, one) = (A.count(200), A.count(100))
for o in range(one + 1):
	for t in range(two + 1):
		if o * 100 + t * 200 == (one - o) * 100 + (two - t) * 200:
			print('YES')
			exit(0)
print('NO')


n = int(input())
x = [int(x) for x in input().split()]
s = 0
if n != 1:
	v = 0
	for i in range(n):
		if x[i] == 200:
			v = v + 1
	if v == n:
		if n % 2 != 0:
			print('NO')
		else:
			print('YES')
	else:
		for i in range(n):
			s = s + x[i] / 100
		if s % 2 == 0:
			print('YES')
		else:
			print('NO')
else:
	print('NO')


def present(lst):
	if lst.count(100) % 2 == 1 or (lst.count(200) % 2 == 1 and lst.count(100) == 0):
		return 'NO'
	return 'YES'
n = int(input())
a = [int(i) for i in input().split()]
print(present(a))


import sys

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

def iinput():
	return int(input())

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

def get_list():
	return list(map(int, sys.stdin.readline().strip().split()))
n = iinput()
s = list(map(int, input().split()))
l = sum(s) // 100
p = []
if n == 1:
	print('NO')
elif n % 2 == 0:
	if l % 2 == 0:
		print('YES')
	else:
		print('NO')
else:
	for i in range(n):
		p.append(200)
	if p == s:
		print('NO')
	elif l % 2 == 0:
		print('YES')
	else:
		print('NO')


n = int(input())
arr = list(map(int, input().split()))
count100 = arr.count(100)
count200 = arr.count(200)
if count100 + count200 == 1:
	print('NO')
elif count200 % 2 != 0 and count100 == 0:
	print('NO')
elif (count200 * 200 + count100 * 100) / 100 % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
arr = list(map(int, input().split()))
h = arr.count(100)
t = arr.count(200)
if n % 2 == 0:
	if n == h or n == t:
		print('YES')
	elif h % 2 == 0:
		print('YES')
	else:
		print('NO')
elif h == 0 or t == 0:
	print('NO')
elif h % 2 != 0:
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))
hun = tun = 0
for item in a:
	if item == 100:
		hun += 1
	else:
		tun += 1
if sum(a) % 200:
	print('NO')
	exit()
hf = sum(a) // 2
ans = 0
for i in range(tun + 1):
	if 200 * i <= hf and hf - 200 * i <= hun * 100:
		ans = 1
print('YES' if ans else 'NO')


t = int(input())
a = list(map(int, input().split()))
f = 0
b = a.count(100)
c = sum(a) // 2 % 200
if c == 0:
	f = 1
elif c == 100:
	if b >= 2:
		f = 1
if f:
	print('YES')
else:
	print('NO')


n = int(input())
ds = len([s for s in input().split() if s == '200'])
cs = n - ds
if cs % 2 == 1:
	print('NO')
elif cs > 1:
	print('YES')
elif ds % 2 == 1:
	print('NO')
else:
	print('YES')


def main():
	n = int(input())
	w = list(map(int, input().split()))
	(w100, w200) = (w.count(100), w.count(200))
	for i in range(w100 + 1):
		for j in range(w200 + 1):
			if i + 2 * j == w100 - i + 2 * w200 - 2 * j:
				print('YES')
				return
	print('NO')
main()


def parser():
	while 1:
		data = list(input().split(' '))
		for number in data:
			if len(number) > 0:
				yield number
input_parser = parser()

def get_word():
	global input_parser
	return next(input_parser)

def get_number():
	data = get_word()
	try:
		return int(data)
	except ValueError:
		return float(data)
N = get_number()
count100 = 0
count200 = 0
for i in range(N):
	if get_number() == 100:
		count100 += 1
	else:
		count200 += 1
if count100 % 2 == 0:
	if count200 % 2 == 0:
		print('YES')
	elif count100 > 0:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


n = int(input())
v = [int(x) for x in input().strip().split()]
x = y = 0
for i in range(0, n):
	if v[i] == 200:
		x += 1
	else:
		y += 1
flag = False
for i in range(0, x + 1):
	for j in range(0, y + 1):
		if 2 * x + y == 2 * (2 * i + j):
			flag = True
			break
	if flag:
		break
if flag:
	print('YES')
else:
	print('NO')


n = int(input())
w = list(map(int, input().split()))
(odd, even) = (w.count(100), w.count(200))
if even % 2 == 0 and odd % 2 == 0:
	print('YES')
elif even % 2 and odd % 2 == 0 and (odd > 0):
	print('YES')
else:
	print('NO')


n = int(input())
l = list(map(int, input().split()))
(x, y) = (0, 0)
l.sort(reverse=True)
for i in range(n):
	if x <= y:
		x += l[i]
	else:
		y = y + l[i]
if x == y:
	print('YES')
else:
	print('NO')


n = int(input())
v = [int(i) for i in input().split()]
(one, two) = (0, 0)
for i in v:
	if i == 100:
		one = one + 1
	else:
		two = two + 1
if two % 2 != 0:
	if one > 1 and one % 2 == 0:
		print('YES')
	else:
		print('NO')
elif one % 2 == 0:
	print('YES')
else:
	print('NO')


from collections import Counter

def main():
	n = int(input())
	c = Counter(map(int, input().split()))
	print(('YES', 'NO')[c[100] & 1 if c[100] else c[200] & 1])
main()


n = int(input())
s = list(map(int, input().split()))
h = 0
th = 0
for data in s:
	if data == 100:
		h += 1
	else:
		th += 1
if h % 2 != 0:
	print('NO')
	quit()
if h == 0 and th % 2 != 0:
	print('NO')
	quit()
dif = h - 2 * th
if dif % 2 == 0:
	print('YES')
else:
	print('NO')


def equal_apples(apples):
	two_g = 0
	one_g = 0
	for x in apples:
		if x == '200':
			two_g += 1
		else:
			one_g += 1
	if two_g % 2 == 0:
		if one_g % 2 == 0:
			return 'YES'
		else:
			return 'NO'
	elif one_g < 2:
		return 'NO'
	else:
		one_g -= 2
		if one_g % 2 == 0:
			return 'YES'
		else:
			return 'NO'
n = int(input())
apples = input().split()
print(equal_apples(apples))


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


n = input()
arr = input().split()
o = t = 0
for _ in arr:
	if _ == '100':
		o += 1
	else:
		t += 1
if o % 2 == 0 and t % 2 == 0 or (o > 1 and t % 2 and (o % 2 == 0)):
	print('YES')
else:
	print('NO')


def main():
	n = int(input())
	arr = input().split()
	one = arr.count('100')
	two = arr.count('200')
	if one % 2 == 1 or (two % 2 == 1 and one == 0):
		print('NO')
	else:
		print('YES')
main()


x = int(input())
i = input().split()
a = [int(k) for k in i]
s = 0
h = a.count(100)
t = a.count(200)
if t != 0 and h != 0:
	if h % 2 == 0:
		print('YES')
	else:
		print('NO')
elif t == 0:
	if h % 2 == 0:
		print('YES')
	else:
		print('NO')
elif h == 0:
	if t % 2 == 0:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


n = int(input())
l = list(map(int, input().split()))
x = l.count(100)
y = l.count(200)
if x % 2 == 0 and y % 2 == 0 or ((x % 2 == 0 and x > 1) and y % 2 == 1):
	print('YES')
else:
	print('NO')


x = int(input())
y = list(map(int, input().split()))
o = y.count(100)
t = y.count(200)
if o % 2 == 0 and t % 2 == 0:
	print('YES')
elif o == 0 or t == 0:
	print('YNEOS'[(t + o) % 2::2])
else:
	print('YNEOS'[abs(o - 2 * t) % 2::2])


n = int(input())
M = sorted([int(x) // 100 for x in input().split()])
if sum(M) & 1:
	print('NO')
else:
	goal = sum(M) // 2
	if goal & 1:
		if M[0] == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


n = int(input())
apples = list(map(int, input().split()))
dict = {100: 0, 200: 0}
for i in apples:
	dict[i] += 1
if dict[100] > 1 or dict[200] > 1:
	if dict[100] % 2 != 0:
		print('NO')
	if dict[100] % 2 == 0:
		if dict[200] % 2 != 0 and dict[100] > 1:
			print('YES')
		elif dict[200] % 2 == 0:
			print('YES')
		else:
			print('NO')
else:
	print('NO')


import operator
from sys import stdin
n = int(input())
k = [int(i) for i in stdin.readline().split()]
o = k.count(100)
t = k.count(200)
if (o + t * 2) % 2 == 1:
	print('NO')
elif t % 2 == 1 and o < 1:
	print('NO')
else:
	print('YES')


def solve():
	n = int(input())
	w = list(map(int, input().split()))
	fh = w.count(100)
	fth = w.count(200)
	if fh % 2 == 1 or (fth % 2 == 1 and fh < 2) or (fh % 2 == 1 and fth % 2 == 1):
		print('NO')
		return
	print('YES')
try:
	solve()
except:
	pass


n = int(input())
c = list(map(int, input().split()))
if c.count(100) % 2 != 0 or n == 1 or (c.count(100) == 0 and c.count(200) % 2 != 0):
	print('NO')
else:
	print('YES')


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


n = int(input())
lista = input().split()
valor = lista.count('100')
if valor == 0:
	if lista.count('200') % 2 == 1:
		print('NO')
	else:
		print('YES')
elif valor % 2 == 0:
	print('YES')
else:
	print('NO')


import sys, os, io, time, copy
if os.path.exists('input.txt'):
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
import math

def divide(arr, N):
	req = sum(arr)
	if req % 2 != 0:
		return 0
	else:
		req = req // 2
		table = [False] * (req + 1)
		for i in range(N):
			for j in range(req):
				if table[j] == True and j + arr[i] <= req:
					table[j + arr[i]] = True
			if arr[i] <= req:
				table[arr[i]] = True
		if table[req] == True:
			return True
		else:
			return False

def main():
	n = int(input())
	arr = list(map(int, input().split()))
	if divide(arr, n):
		print('YES')
	else:
		print('NO')
main()


a = input()
a = [int(x) for x in input().split()]
a.sort(reverse=True)
(x, y) = (0, 0)
for v in a:
	if x > y:
		y += v
	else:
		x += v
if x == y:
	print('YES')
else:
	print('NO')


n = map(int, input().split())
weight = list(map(int, input().split()))
dict = {100: 0, 200: 0}
for w in weight:
	dict[w] += 1
if dict[100] % 2 == 0 and dict[200] % 2 == 0 or (dict[100] % 2 == 0 and dict[100] > 0 and (dict[200] % 2 > 0)):
	print('YES')
else:
	print('NO')


n = input()
dic = {100: 0, 200: 0}
a = list(map(int, input().split()))
for i in a:
	dic[i] += 1
if dic[100] % 2 == 0 and dic[200] % 2 == 0:
	print('YES')
elif dic[200] % 2 != 0 and dic[100] % 2 == 0 and (dic[100] >= 2):
	print('YES')
else:
	print('NO')


n = int(input())
ans = sorted(list(map(int, input().split())))
c1 = ans.count(200)
c2 = ans.count(100)
if c1 == n:
	result = n % 2 == 0
elif c2 == n:
	result = n % 2 == 0
else:
	result = sum(ans) % 200 == 0
print('NYOE S'[result::2])


n = input()
a = [*map(int, input().split())]
x = a.count(200)
y = a.count(100)
print('YNEOS'[y == 0 and x % 2 != 0 or y % 2 != 0::2])


n = int(input())
cnt = [0] * 3
for i in input().split():
	cnt[int(i) // 100] += 1
s = cnt[1] + 2 * cnt[2]
if s % 2 == 1:
	print('NO')
elif s // 2 - min(s // 4, cnt[2]) * 2 <= cnt[1]:
	print('YES')
else:
	print('NO')


x = input()
list = input()
list = list.split(' ')
cien = 0
doscien = 0
total = 0
for item in list:
	total += int(item)
	if item == '100':
		cien += 1
	else:
		doscien += 1
if int(x) == 1:
	print('NO')
elif int(x) % 2 == 0:
	print('YES' if total / 2 % 100 == 0 else 'NO')
elif cien != 0 and cien % 2 == 0 and (total / 2 % 100 == 0):
	print('YES')
else:
	print('NO')


n = int(input())
wights = list(map(int, input().split()))
(c1, c2) = (0, 0)
for lol in range(n):
	if wights[lol] == 100:
		c1 += 1
	else:
		c2 += 1
possible = True
if c1 % 2 != 0 or (c2 % 2 != 0 and c1 < 2):
	possible = False
if possible:
	print('YES')
else:
	print('NO')


n = int(input())
a = list(map(int, input().split()))
left = sum(a)
target = left // 2
c200 = a.count(200)
c100 = n - c200
while left - 200 >= target and c200 > 0:
	left -= 200
	c200 -= 1
while left - 100 >= target and c100 > 0:
	left -= 100
	c100 -= 1
print('YES' if left == target else 'NO')


from collections import Counter
n = int(input())
w = list(map(int, input().split()))
if sum(w) % 200 == 0:
	n1 = Counter(w)[100]
	n2 = Counter(w)[200]
	if n1 * 100 >= n2 * 200:
		print('YES')
	elif n1 == 0:
		if n2 % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif n1 > 0:
		print('YES')
else:
	print('NO')


n = int(input())
W = list(map(int, input().split()))
(count1, count2) = (0, 0)
for i in W:
	if i == 100:
		count1 += 1
	else:
		count2 += 1
count2 = count2 % 2
count1 = count1 - 2 * count2
if count1 % 2 == 0 and count1 >= 0:
	print('YES')
else:
	print('NO')


n = int(input())
arr = list(map(int, input().split()))
cnt1 = cnt2 = su = 0
for x in arr:
	if x == 200:
		cnt2 += 1
	else:
		cnt1 += 1
	su += x
if su / 100 % 2 != 0:
	print('NO')
else:
	half = su // 2
	ans = False
	for i in range(cnt2 + 1):
		if 200 * i <= half and half - 200 * i <= cnt1 * 100:
			ans = True
	if ans:
		print('YES')
	else:
		print('NO')


n = int(input())
if 1 <= n <= 100:
	w = [int(i) for i in input().split(' ')]
	no_of_100s = 0
	no_of_200s = 0
	for i in range(n):
		if w[i] == 100:
			no_of_100s += 1
		if w[i] == 200:
			no_of_200s += 1
	no_of_200s = no_of_200s % 2
	no_of_100s = no_of_100s - 2 * no_of_200s
	if no_of_100s % 2 == 0 and no_of_100s >= 0:
		print('YES')
	else:
		print('NO')


class InputHandlerObject(object):
	inputs = []

	def getInput(self, n=0):
		res = ''
		inputs = self.inputs
		if not inputs:
			inputs.extend(input().split(' '))
		if n == 0:
			res = inputs[:]
			inputs[:] = []
		while n > len(inputs):
			inputs.extend(input().split(' '))
		if n > 0:
			res = inputs[:n]
			inputs[:n] = []
		return res
InputHandler = InputHandlerObject()
g = InputHandler.getInput
n = int(input())
a = [int(x) for x in g()]
c100 = a.count(100)
if sum(a) % 200:
	print('NO')
elif n % 2 and (not c100):
	print('NO')
else:
	print('YES')


a = int(input())
b = list(map(int, input().split()))
big = b.count(200)
s = b.count(100)
if big % 2 == 0 and s % 2 == 0 or (s % 2 == 0 and s >= 2):
	print('YES')
else:
	print('NO')


n = int(input())
x = [int(x) for x in input().split()]
s = str(sum(x) // 2)
s = s[::-1]
if len(x) == 1:
	print('NO')
	exit()
if x.count(200) == n and int(s[2]) % 2 != 0:
	print('NO')
	exit()
if s[1] != '0' or s[0] != '0':
	print('NO')
else:
	print('YES')


n = int(input())
w = [int(x) for x in input().split()]
n1 = 0
for x in w:
	if x == 100:
		n1 += 1
n2 = n - n1
n2 = n2 % 2
n1 -= 2 * n2
if n1 >= 0 and n1 % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
weight = list(map(int, input().split()))
cont = 0
for i in range(n):
	if weight[i] == 100:
		cont = cont + 1
if cont % 2 == 1 or (n % 2 == 1 and cont == 0):
	print('NO')
else:
	print('YES')


import sys, math
from collections import deque, defaultdict
import operator as op
from functools import reduce
from itertools import permutations
I = sys.stdin.readline

def ii():
	return int(I().strip())

def li():
	return list(map(int, I().strip().split()))

def mi():
	return map(int, I().strip().split())

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

def gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x

def valid(row, col, rows, cols, rcross, lcross):
	return rows[row] == 0 and cols[col] == 0 and (rcross[col + row] == 0) and (lcross[col - row] == 0)

def div(n):
	tmp = []
	for i in range(2, int(n ** 0.5) + 1):
		if n % i == 0:
			cnt = 0
			while n % i == 0:
				n = n // i
				cnt += 1
			tmp.append((i, cnt))
	if n > 1:
		tmp.append((n, 1))
	return tmp

def isPrime(n):
	if n <= 1:
		return False
	elif n <= 2:
		return True
	else:
		flag = True
		for i in range(2, int(n ** 0.5) + 1):
			if n % i == 0:
				flag = False
				break
		return flag

def s(b):
	ans = []
	while b > 0:
		tmp = b % 10
		ans.append(tmp)
		b = b // 10
	return ans

def main():
	n = ii()
	arr = li()
	cnt100 = arr.count(100)
	cnt200 = arr.count(200)
	if n == 1 or cnt100 % 2 == 1:
		print('NO')
	elif cnt200 % 2 == 1 and cnt100 == 0:
		print('NO')
	else:
		print('YES')
main()


n = int(input())
w = list(map(int, input().split()))
d = {}
for i in w:
	if i in d:
		d[i] += 1
	else:
		d[i] = 1
if n == 1:
	print('NO')
elif w.count(100) == 0:
	if w.count(200) % 2 == 0:
		print('YES')
	else:
		print('NO')
elif w.count(200) == 0:
	if w.count(100) % 2 == 0:
		print('YES')
	else:
		print('NO')
elif sum(w) % 200 == 0:
	print('YES')
else:
	print('NO')


n = input()
arr = map(int, input().strip().split())
(n100, n200) = (0, 0)
for i in arr:
	if i == 100:
		n100 += 1
	if i == 200:
		n200 += 1
n200 %= 2
n100 -= 2 * n200
if n100 % 2 == 0 and n100 >= 0:
	print('YES')
else:
	print('NO')


import sys
input = sys.stdin.readline
n = int(input())
a = b = 0
for i in input().split():
	if int(i) == 100:
		a += 1
	else:
		b += 1
if a % 2 == 1 or (a == 0 and b % 2 == 1):
	print('NO')
	sys.exit()
if a % 2 == 0:
	print('YES')
	sys.exit()
else:
	print('NO')
	sys.exit()


n = int(input())
a = list(map(int, input().split()))
w100 = 0
w200 = 0
for i in a:
	if i == 100:
		w100 += 1
	else:
		w200 += 1
total = 100 * w100 + 200 * w200
if total % 200 != 0:
	print('NO')
else:
	h = total / 2
	f = False
	for j in range(w200 + 1):
		if 200 * j <= h and h - 200 * j <= w100 * 100:
			f = True
	if f:
		print('YES')
	else:
		print('NO')


n = int(input())
lst = list(map(int, input().split()))
touma = 0
ogiso = 0
lst.sort(reverse=True)
newlst = lst.copy()
y = int(sum(lst) / 2)
for item in lst:
	if touma + item <= y:
		touma = touma + item
		newlst.remove(item)
		continue
	if ogiso + item <= y:
		ogiso = ogiso + item
		newlst.remove(item)
if touma == ogiso and len(newlst) == 0:
	print('YES')
else:
	print('NO')


input()
l = [int(i) for i in input().split(' ')]
c = [l.count(100), l.count(200)]
if c[1] & 1:
	c[0] -= 2
	c[1] += 1
if c[0] >= 0 and (not c[0] & 1):
	print('YES')
else:
	print('NO')


n = int(input())
pesos = input().split()
rep = pesos.count('100')
rep1 = pesos.count('200')
if n == 1:
	print('NO')
elif rep == 0:
	if rep1 % 2 == 0:
		print('YES')
	else:
		print('NO')
elif rep > 0:
	if rep % 2 == 0:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


import collections as col
(n, apples) = (int(input()), col.Counter(map(int, input().split(' '))))
if apples[200] % 2 != 0 and apples[100] == 0:
	print('NO')
elif apples[100] % 2 != 0:
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))
c1 = a.count(100)
c2 = a.count(200)
sm = c2 * 2 + c1
if sm % 2 == 0 and (c1 >= 2 or sm % 4 == 0):
	print('YES')
else:
	print('NO')
pass


length = int(input())
weights = list(map(int, input().split()))
ones = [x for x in weights if x == 100]
twos = [x for x in weights if x == 200]
if not ones or not twos:
	if length % 2 == 0:
		print('YES')
	else:
		print('NO')
elif len(ones) % 2 == 0:
	print('YES')
else:
	print('NO')


tc = int(input())
c100 = 0
c200 = 0
a = [int(x) for x in input().split()]
for n in a:
	if n == 100:
		c100 += 1
	else:
		c200 += 1
if c100 == 0 and c200 % 2 != 0:
	print('NO')
elif c200 == 0 and c100 % 2 != 0:
	print('NO')
elif c100 % 2 == 0 and c200 % 2 != 0:
	print('YES')
elif c100 % 2 == 0 and c200 % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
d = {100: 0, 200: 0}
s = 0
for w in list(map(int, input().split())):
	s += w
	d[w] += 1
if n < 2:
	print('NO')
elif s // 100 % 2 != 0:
	print('NO')
elif d[100] == 0 and d[200] % 2 != 0:
	print('NO')
else:
	print('YES')


n = int(input())
apples = [int(w) for w in input().split()]
(touma, ogiso) = (0, 0)
apples.sort()
for a in reversed(apples):
	if touma > ogiso:
		ogiso += a
	else:
		touma += a
print('YES' if touma == ogiso else 'NO')


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


def solve():
	n = int(input())
	w = list(map(int, input().split()))
	s = sum(w) // 100
	if s % 2 == 1 or (n % 2 == 1 and s / 2 == n):
		print('NO')
	else:
		print('YES')
T = int(1)
while T:
	solve()
	T = T - 1


mod = 10 ** 9 + 7

def readInt():
	return int(input())

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

def readStringList():
	return list(input())

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

def readString():
	return input()
from heapq import heappop, heappush, heapify

def execute():
	n = readInt()
	arr = readIntList()
	(a, b) = (0, 0)
	for val in arr:
		if val == 200:
			a += 1
		else:
			b += 1
	print('YES') if b != 0 and b % 2 == 0 or (b == 0 and a % 2 == 0) else print('NO')
execute()


__author__ = 'runekri3'
n = int(input())
weights = list(map(int, input().split()))
count_100 = weights.count(100)
count_200 = weights.count(200)
if count_200 % 2 == 0:
	if count_100 % 2 == 0:
		print('YES')
	else:
		print('NO')
elif count_100 % 2 == 0 and count_100 >= 2:
	print('YES')
else:
	print('NO')


n = int(input())
nums = [int(x) // 100 for x in input().split()]
if sum(nums) % 2 == 1 or (min(nums) == 2 and sum(nums) % 4 != 0):
	print('NO')
else:
	print('YES')


def go():
	n = int(input())
	a = [int(i) for i in input().split(' ')]
	two = a.count(200)
	one = a.count(100)
	if one % 2 == 1:
		return 'NO'
	if two % 2 == 1 and (one == 0 or one % 2 == 1):
		return 'NO'
	return 'YES'
print(go())


n = int(input())
l = list(map(int, input().split()))
t = 0
for i in range(len(l)):
	if len(set(l)) == 1 and n % 2 != 0:
		t = -1
	elif l[i] == 100:
		t += 1
	elif l[i] == 200:
		t += 2
if t % 2 == 0:
	print('YES')
elif t == -1:
	print('NO')
else:
	print('NO')


n = int(input())
w = list(map(int, input().split()))
one_hundred = w.count(100)
two_hundred = w.count(200)
if one_hundred % 2 == 1 or (two_hundred % 2 == 1 and one_hundred == 0):
	print('NO')
else:
	print('YES')


n = int(input())
lst = list(map(int, input().split()))
print(['NO', 'YES'][sum(lst) % 200 == 0 and (n % 2 == 1 and 100 in lst and (200 in lst) or n % 2 == 0)])


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, copy, functools
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 IF(c, t, f):
	return t if c else f

def YES(c):
	return IF(c, 'YES', 'NO')

def Yes(c):
	return IF(c, 'Yes', 'No')

def main():
	t = 1
	rr = []
	for _ in range(t):
		n = I()
		a = LI()
		s = sum(a) // 100
		f1 = any((c == 100 for c in a))
		rr.append(YES(s % 2 == 0 and (s % 4 == 0 or f1)))
	return JA(rr, '\n')
print(main())


import sys

def minp():
	return sys.stdin.readline().strip()
n = int(minp())
a = 0
b = 0
for i in minp().split():
	if i == '100':
		a += 1
	elif i == '200':
		b += 1
ok = False
for i in range(a + b * 2):
	have = [a, b]
	will = [0, 0]
	for j in range(2):
		z = min((i - will[j]) // 2, have[1])
		have[1] -= z
		will[j] += z * 2
		z = min(i - will[j], have[0])
		have[0] -= z
		will[j] += z
	if will[0] == i and will[1] == i and (have[0] == 0) and (have[1] == 0):
		print('YES')
		ok = True
		break
if not ok:
	print('NO')


input()
a = 0
b = 0
for k in map(int, input().split()):
	if k == 100:
		a += 1
	else:
		b += 1
r = a - 2 * (b % 2)
if r < 0:
	print('NO')
elif a == 0:
	if b % 2 == 0:
		print('YES')
	else:
		print('NO')
elif b == 0:
	if a % 2 == 0:
		print('YES')
	else:
		print('NO')
elif r % 2 == 0:
	print('YES')
else:
	print('NO')


import collections
n = int(input())
a = [int(i) for i in input().split()]
s = sum(a)
t = s // 100
if t % 2 != 0:
	print('NO')
elif n == 1:
	print('NO')
else:
	d = collections.Counter(a)
	if n % 2 == 0:
		if d[100] % 2 == 0 or d[200] % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif d[100] % 2 != 0 and d[200] % 2 == 0 and (d[200] != 0):
		print('YES')
	elif d[100] % 2 == 0 and d[200] % 2 != 0 and (d[100] != 0):
		print('YES')
	else:
		print('NO')


n = int(input())
a = list(input().split(' '))
a = list((int(x) for x in a))
(one, two) = (0, 0)
for i in range(n):
	if a[i] == 100:
		one += 1
	else:
		two += 1
flag = False
if one % 2 == 0 and two % 2 == 0 or (one > two and two % 2 == 1 and (one % 2 == 0) and (one >= 2)) or (one < two and two % 2 == 1 and (one % 2 == 0) and (one >= 2)):
	flag = True
if not flag:
	print('NO')
else:
	print('YES')


n = int(input())
w = list(map(int, input().split()))
f = 0
if w.count(100) % 2 != 0:
	print('NO')
	f = 1
if w.count(200) % 2 != 0:
	if w.count(100) % 2 == 0 and w.count(100) >= 2:
		print('YES')
	elif f == 0:
		print('NO')
if w.count(200) % 2 == 0 and w.count(100) % 2 == 0:
	print('YES')


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():
	n = I()
	arr = L()
	(y1, x1) = (0, 0)
	(v1, v2) = (0, 0)
	c1 = 0
	for i in range(n):
		if arr[i] == 100:
			c1 += 1
			y1 += 1
		if arr[i] == 200:
			x1 += 2
		if x1 == 4:
			v1 += 2
			v2 += 2
			x1 = 0
		if y1 == 4:
			c1 = 1
			v1 += 2
			v2 += 2
			y1 = 0
	if x1 == 2:
		if y1 % 2 != 0:
			print('NO')
		elif y1 == 2:
			v1 += 2
			v2 += 2
			print('YES')
		elif c1:
			print('YES')
		else:
			print('NO')
	elif x1 == 0:
		if y1 % 2 != 0:
			print('NO')
		else:
			print('YES')
main()


n = int(input())
cost = list(map(int, input().split()))
sum = 0
for a in cost:
	sum += a
if cost.count(100) > 0 and cost.count(100) % 2 == 0 or sum % 400 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
(c1, c2) = (0, 0)
for i in input().split():
	if i == '100':
		c1 += 1
	else:
		c2 += 1
(t1, t2) = (0, 0)
while 1:
	if c2 == 0:
		break
	elif c2:
		if t1 <= t2:
			t1 += 200
			c2 = max(0, c2 - 1)
		else:
			t2 += 200
			c2 = max(0, c2 - 1)
while 1:
	if c1 == 0:
		break
	elif c1:
		if t1 <= t2:
			t1 += 100
			c1 = max(0, c1 - 1)
		else:
			t2 += 100
			c1 = max(0, c1 - 1)
print('YES') if t1 == t2 else print('NO')


n = input()
cnt = {100: 0, 200: 0}
w = list(map(int, input().split()))
for i in w:
	cnt[i] += 1
if cnt[100] & 1 or (cnt[100] == 0 and cnt[200] & 1):
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))
s1 = a.count(100)
s2 = a.count(200)
if n == 1:
	print('NO')
	exit(0)
if s1 == 0:
	if s2 % 2:
		print('NO')
	else:
		print('YES')
elif s2 == 0:
	if s1 % 2:
		print('NO')
	else:
		print('YES')
elif (s1 + s2 * 2) % 2:
	print('NO')
else:
	print('YES')


n = int(input())
apples = list(map(int, input().split()))
hundreds = 0
twohundreds = 0
sumw = 0
for apple in apples:
	if apple == 100:
		hundreds += 1
	else:
		twohundreds += 1
	sumw += apple
if n >= 2 and (twohundreds % 2 == 0 and hundreds % 2 == 0 or (twohundreds % 2 == 1 and hundreds % 2 == 0 and (hundreds > 0))):
	print('YES')
else:
	print('NO')


a = [*open(0)][1].split()
(a, b) = [a.count('100'), a.count('200')]
print('YNEOS'[(a + 2 * b) % 2 or (b % 2 and a < 2)::2])


n = int(input())
a = list(map(int, input().split()))
doso = 0
soo = 0
s = sum(a)
for i in a:
	if i == 200:
		doso += 1
	else:
		soo += 1
j = s / 100
if n == 1:
	print('NO')
elif int(j) % 2 == 0 and soo >= 1 or (doso % 2 == 0 and soo == 0):
	print('YES')
else:
	print('NO')


input()
weights = input().split()
a = weights.count('100')
b = weights.count('200')
print('YES' if b % 2 == 0 and a % 2 == 0 or (b % 2 == 1 and a > 1 and (a % 2 == 0)) else 'NO')


n = int(input())
w = input().split()
(w1, w2) = (0, 0)
for x in w:
	if x == '100':
		w1 += 1
	else:
		w2 += 1
w2 = w2 % 2
if w2 == 0:
	if w1 % 2 == 0:
		print('YES')
	else:
		print('NO')
elif w1 >= 2 and w1 % 2 == 0:
	print('YES')
else:
	print('NO')


import sys
n = int(sys.stdin.readline())
ais = list(map(int, sys.stdin.readline().split()))
weights = {100: ais.count(100), 200: ais.count(200)}
total = 100 * weights[100] + 200 * weights[200]
if total // 100 % 2 != 0 or n <= 1:
	print('NO')
elif weights[200] % 2 == 1 and weights[100] <= 0:
	print('NO')
else:
	print('YES')


n = int(input())
l = [int(x) for x in input().split(' ')]
hundred_count = l.count(100)
two_hundred_count = l.count(200)
print('YES' if hundred_count % 2 == 0 and (two_hundred_count % 2 == 0 or hundred_count > 0) else 'NO')


n = int(input())
weights = list(map(int, input().split()))
(count_100, count_200) = (0, 0)
for weight in weights:
	if weight == 100:
		count_100 += 1
	else:
		count_200 += 1
if count_100 == 0 and count_200 % 2 == 1:
	print('NO')
elif count_100 % 2 == 0:
	print('YES')
else:
	print('NO')


n1 = input()
n2 = sorted([int(x) for x in input().split()])[::-1]
mochila = [0, 0]
for i in range(int(n1)):
	if mochila[0] > mochila[1]:
		mochila[1] += n2[i]
	else:
		mochila[0] += n2[i]
if mochila[0] == mochila[1]:
	print('YES')
else:
	print('NO')


(_, A) = (input(), list(map(int, input().split())))
if sum(A) % 200 == 0 and (len(A) % 2 == 0 or (len(A) % 2 == 1 and 100 in A and (200 in A))):
	print('YES')
else:
	print('NO')


import math

def cmp(a):
	return a[1] * 10000 + a[0]
n = int(input())
array = list(map(int, input().split(' ')))
two = 0
one = 0
for i in range(n):
	if array[i] == 100:
		one += 1
	else:
		two += 1
sone = one
stwo = two
for i in range(two):
	if one > 1:
		one -= 2
		two -= 1
	if one % 2 == 0 and two % 2 == 0:
		print('YES')
		exit(0)
one = sone
two = stwo
one = one % 2
two = two % 2
if one == 0 and two == 0:
	print('YES')
else:
	print('NO')


n = int(input())
a = [int(a) for a in input().split()]
two = 0
one = 0
for i in a:
	if i == 200:
		two += 1
	else:
		one += 1
left200 = two % 2
left100 = one - left200 * 2
if left100 >= 0 and left100 % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
m = list(map(int, input().strip().split(' ')))
a = m.count(100)
b = n - a
if a % 2 == 0 and a != 0 or (a == 0 and b % 2 == 0):
	print('YES')
else:
	print('NO')


n = int(input())
M = sorted(map(lambda x: int(x) // 100, input().split()))
if sum(M) & 1:
	print('NO')
else:
	goal = sum(M) // 2
	if goal & 1:
		if M[0] == 1:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


import sys
sys.setrecursionlimit(10 ** 5 + 1)
inf = int(10 ** 20)
max_val = inf
min_val = -inf
RW = lambda : sys.stdin.readline().strip()
RI = lambda : int(RW())
RMI = lambda : [int(x) for x in sys.stdin.readline().strip().split()]
RWI = lambda : [x for x in sys.stdin.readline().strip().split()]
n = RI()
l = RMI()
hun = l.count(100)
two = l.count(200)
if n % 2 == 0:
	if hun % 2 == 0 and two % 2 == 0:
		print('YES')
	else:
		print('NO')
elif abs(2 * two - hun) % 2 == 0 and hun != 0:
	print('YES')
else:
	print('NO')


n = int(input())
l = [0] * 3
for w in input().split():
	l[int(w) // 100] += 1
s = l[1] + 2 * l[2]
if s % 2 == 1:
	print('NO')
elif s // 2 - min(s // 4, l[2]) * 2 <= l[1]:
	print('YES')
else:
	print('NO')


def arr_inp():
	return [int(x) for x in input().split()]
(n, w) = (int(input()), arr_inp())
w.sort(reverse=True)
(kazusa, ogiso) = (0, 0)
for i in w:
	if kazusa < ogiso:
		kazusa += i
	else:
		ogiso += i
print('YNEOS'[kazusa != ogiso::2])


n = int(input())
w = [int(i) for i in input().split()]
num_100 = w.count(100)
num_200 = w.count(200)
if num_100 % 2 == 0 and num_200 % 2 == 0:
	print('YES')
elif num_100 >= 2 and num_100 % 2 == 0 and (num_200 % 2 == 1):
	print('YES')
else:
	print('NO')


from collections import Counter
n = int(input())
l = list(input().split())
c = Counter(l)
if c['100'] % 2 == 0 and c['200'] % 2 == 0:
	print('YES')
elif c['100'] % 2 == 0 and c['100'] > 0:
	print('YES')
else:
	print('NO')


n = int(input())
arr = list(map(int, input().split()))
a1 = arr.count(100)
sa = sum(arr)
if sa % 200:
	print('NO')
	exit()
k = sa // 200
if k & 1 and (not a1):
	print('NO')
else:
	print('YES')


n = int(input())
arr = [int(i) for i in input().split()]
c1 = 0
c2 = 0
if sum(arr) // 100 % 2 != 0:
	print('NO')
else:
	for i in range(n):
		if arr[i] == 100:
			c1 += 1
		else:
			c2 += 1
	s = sum(arr) // 2
	t = s // 200
	if t > c2:
		s = s - c2 * 200
	else:
		s = s - t * 200
	if s / 100 <= c1:
		print('YES')
	else:
		print('NO')


a = input()
b = input()
a = int(a)
b = [int(i) for i in b.split(' ')]
c1 = c2 = 0
for i in b:
	if i == 100:
		c1 += 1
	else:
		c2 += 1
c2 %= 2
c1 -= c2 * 2
if c1 < 0 or c1 % 2 == 1:
	print('NO')
else:
	print('YES')


def func():
	count100 = 0
	count200 = 0
	_ = input()
	arr = input().split()
	for item in arr:
		if item == '100':
			count100 += 1
		else:
			count200 += 1
	if count100 == 0 and count200 % 2 != 0:
		return False
	return not count100 % 2
print('YES' if func() else 'NO')


from collections import Counter
(n, c) = (input(), Counter(input().split()))
if c['200'] & 1:
	c['100'] -= 2
if c['100'] < 0 or c['100'] & 1:
	print('NO')
else:
	print('YES')


import sys
n = int(sys.stdin.readline())
weights = list(map(int, sys.stdin.readline().split()))
sum = 0
h = False
for w in weights:
	if w == 100:
		h = True
	sum = abs(sum - w)
print('YES' if h and sum == 200 or sum == 0 else 'NO')


n = int(input())
l = [int(i) for i in input().split()]
s1 = 0
s2 = 0
for i in range(n):
	if l[i] == 100:
		s1 += 1
	elif l[i] == 200:
		s2 += 1
if s1 == 0 and s2 % 2 != 0:
	print('NO')
elif (s1 + s2 * 2) % 2 == 0:
	print('YES')
else:
	print('NO')


n = int(input())
W = list(map(int, input().split()))
print('NO' if sum(W) % 200 or (n % 2 and W.count(100) < 1) else 'YES')


def main():
	n = input()
	apps = [int(i) for i in input().split()]
	apps.sort()
	apps.reverse()
	a = 0
	b = 0
	for app in apps:
		if a > b:
			b += app
		else:
			a += app
	if a == b:
		print('YES')
	else:
		print('NO')
main()


from collections import Counter

class CodeforcesTask433ASolution:

	def __init__(self):
		self.result = ''
		self.n = 0
		self.a = []

	def read_input(self):
		self.n = int(input())
		self.a = [int(x) for x in input().split(' ')]

	def process_task(self):
		cnt = Counter(self.a)
		sol = False
		for a in range(cnt[100] + 1):
			for b in range(cnt[200] + 1):
				if a * 100 + b * 200 == (cnt[100] - a) * 100 + (cnt[200] - b) * 200:
					sol = True
		self.result = 'NO' if not sol else 'YES'

	def get_result(self):
		return self.result
Solution = CodeforcesTask433ASolution()
Solution.read_input()
Solution.process_task()
print(Solution.get_result())


from functools import reduce
from collections import Counter
import time
import datetime

def time_t():
	print('Current date and time: ', datetime.datetime.now())
	print('Current year: ', datetime.date.today().strftime('%Y'))
	print('Month of year: ', datetime.date.today().strftime('%B'))
	print('Week number of the year: ', datetime.date.today().strftime('%W'))
	print('Weekday of the week: ', datetime.date.today().strftime('%w'))
	print('Day of year: ', datetime.date.today().strftime('%j'))
	print('Day of the month : ', datetime.date.today().strftime('%d'))
	print('Day of week: ', datetime.date.today().strftime('%A'))

def ip():
	return int(input())

def sip():
	return input()

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

def mips():
	return map(str, input().split())

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

def matip(n, m):
	lst = []
	for i in range(n):
		arr = lip()
		lst.append(arr)
	return lst

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

def minJumps(arr, n):
	jumps = [0 for i in range(n)]
	if n == 0 or arr[0] == 0:
		return float('inf')
	jumps[0] = 0
	for i in range(1, n):
		jumps[i] = float('inf')
		for j in range(i):
			if i <= j + arr[j] and jumps[j] != float('inf'):
				jumps[i] = min(jumps[i], jumps[j] + 1)
				break
	return jumps[n - 1]

def dic(arr):
	return Counter(arr)
n = ip()
arr = lip()
one = 0
two = 0
for item in arr:
	if item == 100:
		one += 1
	else:
		two += 1
if two % 2 != 0:
	one -= 2
else:
	one = one
if one >= 0:
	if one % 2 == 0 and n != 1:
		print('YES')
	else:
		print('NO')
else:
	print('NO')


t = int(input())
a = list(map(int, input().split()))
if sum(a) / 100 % 2 == 1 or (min(a) == 200 and sum(a) % 400 != 0):
	print('NO')
else:
	print('YES')


r = lambda : list(map(int, input().split()))
n = int(input())
arr = r()
x = arr.count(200)
y = arr.count(100)
x = x % 2
y -= 2 * x
if y < 0 or y % 2:
	print('NO')
else:
	print('YES')


import os
import sys
import math
from io import BytesIO, IOBase
from collections import deque, defaultdict, OrderedDict, Counter
from heapq import heappush, heappop, heapify
from bisect import bisect_right, insort, bisect_left
from functools import lru_cache
sys.setrecursionlimit(10 ** 6)

def STRIN():
	return input()

def INTIN():
	return int(input())

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

def LSTR():
	return list(map(str, input().split()))

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

def MSTR():
	return map(str, input().split())

def solve(s):
	if s == s[::-1]:
		return True
	return False

def main():
	n = INTIN()
	l = LINT()
	s = sum(l)
	f = 0
	d = {100: 0, 200: 0}
	for i in range(n):
		d[l[i]] += 1
	a = d[100]
	b = d[200]
	if a % 2 == 0 and b % 2 == 0 or (b % 2 != 0 and a > 0 and (a % 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')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


n = int(input().strip())
a = list(map(int, input().split()))
k = sum(a) / 2
if k == int(k):
	k = int(k)
	f = [0] * (k + 1)
	f[0] = 1
	for i in range(len(a)):
		f_n = f[:]
		for z in range(a[i], k + 1):
			if f[z - a[i]] == 1:
				f_n[z] = 1
		f = f_n
	print('YES' if f[k] == 1 else 'NO')
else:
	print('NO')


n = int(input())
apples = list(map(int, input().split(' ')))
total = sum(apples)
a = apples.count(100)
b = apples.count(200)
if total % 200 != 0:
	print('NO')
else:
	flag = 0
	half = total / 2
	for i in range(b + 1):
		taken = 200 * i
		if taken <= half and half - taken <= a * 100:
			flag = 1
	if flag:
		print('YES')
	else:
		print('NO')


n = int(input())
c1 = input().count('1')
if c1 & 1:
	print('NO')
elif c1 == 0 and n & 1:
	print('NO')
else:
	print('YES')


n = int(input())
a = list(map(int, input().split()))
(b, c) = (a.count(100), a.count(200))
d = sum(a) // 2
for i in range(b + 1):
	for j in range(c + 1):
		if j * 200 + i * 100 == d:
			print('YES')
			exit(0)
print('NO')


input()
a = list(map(int, input().split()))
if a.count(100) == 0:
	if a.count(200) % 2 == 0:
		print('YES')
		exit()
if a.count(100) % 2 == 0 and a.count(100) != 0:
	print('YES')
	exit()
else:
	print('NO')


n = int(input())
string = input()
apples = list(map(int, string.split()))
s = sum(apples)
condition = s // n == 200 and n % 2 == 1
if s // 100 % 2 == 0 and (not condition):
	print('YES')
else:
	print('NO')


from sys import stdin
n = int(stdin.readline().rstrip())
l = list(map(int, stdin.readline().split()))
d = {200: 0, 100: 0}
for i in l:
	d[i] += 1
p = 0
if d[200] % 2 == 0 and d[100] % 2 == 0:
	p = 1
if d[200] % 2 != 0:
	if d[100] >= 2 and d[100] % 2 == 0:
		p = 1
if p == 0:
	print('NO')
else:
	print('YES')


n = int(input())
apples = []
apples[0:n - 1] = input().split()
weight = []
sum = 0
for i in range(n):
	sum += int(apples[i])
	weight.append(int(apples[i]))
count100 = 0
if sum / 100 % 2:
	print('NO')
else:
	(tk, os) = (0, 0)
	for i in weight:
		if i == 200:
			if tk > os:
				os += i
			else:
				tk += i
		else:
			count100 += 1
	count100 -= abs(tk - os) / 100
	if count100 >= 0:
		tk = os
		if count100 % 2 == 0:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')


n = int(input())
p = input()
p = list(map(int, p.split()))
(c, d, s) = (0, 0, 0)
for i in p:
	if i == 100:
		c += 1
	else:
		d += 1
	s += i
if c % 2 == 0:
	if c == 0:
		if d % 2 == 0:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')
else:
	print('NO')


input()
lit = list(map(int, input().split()))
(t, r) = (lit.count(100), lit.count(200))
print('YNEOS'[(t + r * 2) % 2 or (r % 2 and t < 2)::2])


n = int(input())
a = input().split()
b = a.count('100')
c = a.count('200')
if b > 0 and b % 2 == 0:
	print('YES')
elif c % 2 == 0 and c > 0 and (b == 0):
	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()]
n = Int()
a = array()
c1 = a.count(100)
c2 = a.count(200)
if c1 % 2 == 0 and c2 % 2 == 0:
	print('YES')
elif c2 % 2 == 1 and c1 % 2 == 0 and (c1 >= 2):
	print('YES')
else:
	print('NO')


from collections import Counter
n = int(input())
arr = input().strip().split()
cnt = Counter(arr)
var1 = cnt['200'] % 2
var2 = cnt['100'] - 2 * var1
print('YES' if var2 % 2 == 0 and var2 >= 0 else 'NO')


n = int(input())
arr = [int(i) for i in input().split()]
count = [0, 0]
for i in arr:
	count[i // 100 - 1] += 1
if not count[0] % 2 and (count[0] > 0 or count[1] % 2 == 0):
	print('YES')
else:
	print('NO')


n = int(input())
apple = list(map(int, input().split()))
one = 0
two = 0
for i in apple:
	if i == 100:
		one += 1
	else:
		two += 1
if one % 2 == 1:
	print('NO')
elif one == 0 and two % 2 == 1:
	print('NO')
else:
	print('YES')


n = int(input())
c1 = c2 = 0
l = [int(x) for x in input().split()]
for i in range(n):
	if l[i] == 100:
		c1 += 1
	else:
		c2 += 1
if c1 % 2 == 0 and c2 % 2 == 0:
	print('YES')
elif (c1 == 0 and c2 != 0) and c2 % 2 == 0 or ((c2 == 0 and c1 != 0) and c1 % 2 == 0):
	print('YES')
elif c1 % 2 == 0 and c2 % 2 != 0 and (c1 != 0):
	print('YES')
else:
	print('NO')


import math
from bisect import bisect_left, bisect, bisect_right
from itertools import accumulate

def index(a, x):
	i = bisect_left(a, x)
	if i != len(a) and a[i] == x:
		return i
	return -1

def find_lt(a, x):
	i = bisect_left(a, x)
	if i:
		return a[i - 1]
	raise ValueError

def find_le(a, x):
	i = bisect_right(a, x)
	if i:
		return a[i - 1]
	raise ValueError

def find_gt(a, x):
	i = bisect_right(a, x)
	if i != len(a):
		return a[i]
	raise ValueError

def find_ge(a, x):
	i = bisect_left(a, x)
	if i != len(a):
		return a[i]
	raise ValueError
st = ''

def func(n, l1):
	l1.sort()
	one = l1.count(100)
	two = n - one
	if one & 1:
		return 'NO'
	if one % 2 == 0 and two % 2 == 0:
		return 'YES'
	if two % 2 and one > 1:
		return 'YES'
	return 'NO'
n = int(input())
l1 = list(map(int, input().split()))
print(func(n, l1))


n = int(input())
apple = [int(x) for x in input().split(' ')]
avg = sum(apple) / 2
length = len(apple)
if len(apple) == 1 or avg % 100 != 0 or (apple.count(200) == length and length % 2 == 1):
	print('NO')
else:
	print('YES')


n = int(input())
A = [int(x) for x in input().split()]
cnt_100 = 0
cnt_200 = 0
for i in A:
	if i == 100:
		cnt_100 += 1
	elif i == 200:
		cnt_200 += 1
if cnt_100 % 2 != 0:
	print('NO')
elif cnt_100 == 0 or cnt_200 == 0:
	if cnt_100 == 0:
		if cnt_200 % 2 == 0:
			print('YES')
		else:
			print('NO')
	elif cnt_200 == 0:
		print('YES')
else:
	print('YES')


def findSubsetSum(ar, N, s):
	subset = [[False for i in range(s + 1)] for i in range(N + 1)]
	for i in range(N + 1):
		subset[i][0] = True
	for i in range(1, s + 1):
		subset[0][i] = False
	for i in range(1, N + 1):
		for j in range(1, s + 1):
			if j < ar[i - 1]:
				subset[i][j] = subset[i - 1][j]
			if j >= ar[i - 1]:
				subset[i][j] = subset[i - 1][j] or subset[i - 1][j - ar[i - 1]]
	return subset[N][s]
n = int(input())
arr = list(map(int, input().split()))
if findSubsetSum(arr, n, sum(arr) // 2) == True:
	print('YES')
else:
	print('NO')


n = int(input())
l = input().split()
(s, s1, s2) = (0, 0, 0)
for i in range(n):
	l[i] = int(l[i]) // 100
	if l[i] == 1:
		s1 += 1
	else:
		s2 += 1
	s += l[i]
if s % 2 != 0 or (n == s2 and s2 % 2 != 0):
	print('NO')
else:
	print('YES')