import java.util.Arrays;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//能构成排列的只有两种情况
//1、一到九每个数字的数量都相等,此时可以直接用1-9重复排列即可
//2、有部分数字数量比其他多,此时它必须在头尾如123456789123,所以它最多只能比其他数字次数多1
//所以只需要统计所有数字次数,用最大次数减去最小次数,如果大于1就表示无法排列
while (in.hasNext()) {
String n=in.nextLine();
char[] arr=in.nextLine().replaceAll(" ","").toCharArray();
//统计数字出现次数,索引0指向数字1,类推
int[] counts=new int[9];
for(int i=0;i<arr.length;i++){
counts[arr[i]-'1']++;
}
//找出出现次数最少的那个数字的次数
int min=counts[0];
for(int i=1;i<counts.length;i++){
min=Math.min(min,counts[i]);
}
//结果初始为yes,如果找到不符合要求的就修改为no
String s="YES";
for(int i=0;i<counts.length;i++){
if(counts[i]-min>1){
s="NO";
break;
}
}
System.out.println(s);
}
}
}