#include <bits/stdc++.h>
using namespace std;
template <typename T>
ostream &operator<<(ostream &o, vector<T> v) {
  if (v.size() > 0) o << v[0];
  for (unsigned i = 1; i < v.size(); i++) o << " " << v[i];
  return o << "\n";
}
template <typename T>
istream &operator>>(istream &in, vector<T> &v) {
  for (unsigned i = 0; i < v.size(); i++) in >> v[i];
  return in;
}
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> v(n);
  cin >> v;
  int arr[2000] = {0};
  for (int i = (0); i < (n); i++) arr[v[i]]++;
  int mx = -1;
  for (int i = (0); i < (1500); i++) mx = max(mx, arr[i]);
  int k = ceil((float)n / 2);
  if (mx <= k)
    cout << "YES\n";
  else
    cout << "NO\n";
}
