#include<bits/stdc++.h>
using namespace std;
int main()
{
int n; cin >> n;
unordered_map<int,int> freq;
int x;
bool ans = true;
for(int i = 0; i < n; i++) {
cin >> x;
freq[x]++;
if(freq[x] > ceil(n/2.0))
ans = false;
}
int tmp = n;
cout << ((ans) ? "YES\n" : "NO\n");
while(tmp) {
for(auto &x : freq)
if(x.second) {
cout << x.second-- << " ";
tmp--;
}
}
cout << "\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IG47IGNpbiA+PiBuOwogICAgdW5vcmRlcmVkX21hcDxpbnQsaW50PiBmcmVxOwogICAgaW50IHg7CiAgICBib29sIGFucyA9IHRydWU7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IHg7CiAgICAgICAgZnJlcVt4XSsrOwoJCWlmKGZyZXFbeF0gPiBjZWlsKG4vMi4wKSkKICAgICAgICAgICAgYW5zID0gZmFsc2U7CiAgICB9CgoJaW50IHRtcCA9IG47Cgljb3V0IDw8ICgoYW5zKSA/ICJZRVNcbiIgOiAiTk9cbiIpOwoJd2hpbGUodG1wKSB7CgkJZm9yKGF1dG8gJnggOiBmcmVxKQoJCQlpZih4LnNlY29uZCkgewoJCQkJY291dCA8PCB4LnNlY29uZC0tIDw8ICIgIjsKCQkJCXRtcC0tOwoJCQl9Cgl9CiAgICAKCWNvdXQgPDwgIlxuIjsKfQo=