import sys

input = sys.stdin.readline



N = int(eval(input()))

od = sum(int(x)&1 for x in input().split())

ev = N - od



x = od // 2

od -= 2*x

ev += 2*x

ev = min(ev,1)



rest = od + ev

answer = 'YES' if rest == 1 else 'NO'

print(answer)
import sys

read = sys.stdin.buffer.read

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines



"""

・ev,ev -> ev or od,od -> ev

・奇数の個数 mod 2 が不変量

・1回以上操作をすると偶数が1つ以上残る

・N >= 2なので偶数が残る。よってodが奇数個ならむり

・奇数が偶数個なら、奇数を固めたあとつぶしていけばできる

"""



N,*A = list(map(int,read().split()))



od = sum(x&1 for x in A)

answer = 'NO' if od & 1 else 'YES'

print(answer)
import sys

input = sys.stdin.readline
N = int(eval(input()))
od = sum(int(x) & 1 for x in input().split())
ev = N - od
x = od // 2
od -= 2 * x
ev += 2 * x
ev = min(ev, 1)
rest = od + ev
answer = "YES" if rest == 1 else "NO"
print(answer)

import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
"""
・ev,ev -> ev or od,od -> ev
・奇数の個数 mod 2 が不変量
・1回以上操作をすると偶数が1つ以上残る
・N >= 2なので偶数が残る。よってodが奇数個ならむり
・奇数が偶数個なら、奇数を固めたあとつぶしていけばできる
"""
N, *A = list(map(int, read().split()))
od = sum(x & 1 for x in A)
answer = "NO" if od & 1 else "YES"
print(answer)

-input = sys.stdin.readline -N = int(eval(input())) -od = sum(int(x) & 1 for x in input().split()) -ev = N - od -x = od // 2 -od -= 2 * x -ev += 2 * x -ev = min(ev, 1) -rest = od + ev -answer = "YES" if rest == 1 else "NO" +read = sys.stdin.buffer.read +readline = sys.stdin.buffer.readline +readlines = sys.stdin.buffer.readlines +""" +・ev,ev -> ev or od,od -> ev +・奇数の個数 mod 2 が不変量 +・1回以上操作をすると偶数が1つ以上残る +・N >= 2なので偶数が残る。よってodが奇数個ならむり +・奇数が偶数個なら、奇数を固めたあとつぶしていけばできる +""" +N, *A = list(map(int, read().split())) +od = sum(x & 1 for x in A) +answer = "NO" if od & 1 else "YES"