#include "bits/stdc++.h" #ifndef err #define err(...) #endif using namespace std; void Calc(); #define ALL(a) begin(a),end(a) #define RALL(a) (a).rbegin(),(a).rend() typedef int64_t ll; typedef uint64_t ull; int main() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(15); cin.exceptions(istream::failbit | istream::badbit); Calc(); cout.flush(); return 0; } struct Scanner { templatestatic A Next() { A a; cin >> a; return a; } templatestatic vector Array(int n) { vector a(n); for (A&i : a) cin >> i; return a; } static string Line() { string s; getline(cin, s); return s; } static int Int() { return Next(); } templateScanner&operator,(A&a) { a = Next(); return *this; } templateoperator A() { return Next(); } }in; /*---------------------------------------------------------------------*/ void Calc() { map m; int n = in; for (int i = 0; i < n; i++) { m[in.Next()]++; } int maxi = 0; for (auto& i : m) { maxi = max(i.second, maxi); } if (n % 2) n++; if (maxi > n / 2) { cout << "NO" << endl; } else { cout << "YES" << endl; } }