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);
        }
    }
}