//活动地址: 牛客春招刷题训练营 - 编程打卡活动
#include <algorithm>
#include<iostream>
using namespace std;

int cnt[10];// 开一个数组来存储 每个数字出现的次数
// 优化版, arr都不用开。 
int main(){
	int n, a;
	cin >> n;
	for(int i = 0; i < n; i++){
		cin >> a; 
		cnt[a]++;  // 对 1 - 9 每个数字记数。 
	}
	
	sort(cnt + 1, cnt + 10);  // cnt[1]为最小值, cnt[9]为最大值。
	if(cnt[9] - cnt[1] >= 2)  // 如果所有数字出现次数相等,或者出现最多的那些数字只比出现最少的那些数字多出现一次,那就能 YES, 否则就 NO 。
		cout << "NO" << endl;
	else
		cout << "YES" << endl;
	return 0;
} 
//活动地址: 牛客春招刷题训练营 - 编程打卡活动