#include <iostream>
using namespace std;

int main() {
    int n;
    int ji = 0;
    int temp;
    while (cin >> n) { // 注意 while 处理多个 case
        for (int i = 0; i < n; ++i) {
            cin >> temp;
            if (temp % 2 == 1) {
                ++ji;
            }
        }
        if ((ji == 0) || (ji == 2 && n == 3)) {
            cout << "NO\n";
        } else {
            cout << "YES\n";
        }
    }
}
// 64 位输出请用 printf("%lld")

判断奇数的个数,组合的形式为:1奇数2偶数、3奇数。反过来说,奇数个数大于等于三的都可以。

那就剩下三种情况,没有奇数、只有一个、只有两个。

没有奇数肯定不行!

只有一个肯定可以,因为数据总数大于等于三,剩下两个都是偶数,属于第一种情况。

有两个奇数时,看是否能形成第一种情况,能找到2个偶数就可以,也就是说,总个数大于三。也就是总个数等于三时,不行!

综上,不行的只有两种情况。

进阶:可能会出现超长数字,无法做余数。

进阶:三数之和,动态规划。