分糖果
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

幼儿园准备了n包糖果,每包糖果里有123颗美味的糖果。现在需要将这些这些糖果平分给两个表现优异的小朋友以作奖励,为了公平公正,需要确保两位小朋友分得的糖果颗数相等,且每一包糖果都需要分给正好一位小朋友。幼儿园园长委托你帮忙判断下:是否存在可行的分配方法?

输入描述:

输入共两行。
第一行一个整数n(1\le n \le 2\times 10^5),表示糖果的包数。
第二行n个整数,第i个整数a_i(1\le a_i \le 3)表示第i包中糖果的数量。

输出描述:

如果存在可行的分配方案,则输出"YES";否则输出"NO"。
示例1

输入

复制
5
1 3 3 2 1

输出

复制
YES
示例2

输入

复制
4
3 1 3 3

输出

复制
NO