433 3
FZDDHMJGBZCHFUXBBPIEBBEFDWOMXXEPOMDGSMPIUZOMRZQNSJAVNATGIWPDFISKFQXJNVFXPHOZDAEZFDAHDXXQKZMGNSGKQNWGNGJGJZVVITKNFLVCPMZSDMCHBTVAWYVZLIXXIADXNYILEYNIQHKMOGMVOCWGHCWIYMPEPADSJAAKEGTUSEDWAHMNYJDIHBKHVUHLYGNGZDBULRXLSAJHPCMNWCEAAPYMHDTYWPADOTJTXTXUKLCHWKUSZRHEKQEFPVJEJJHRWCKYOIWALRTIBUMNOCRXLSIKQCJVQXEPGOHRUDJDKMUUUDORURWXJNVRVMNOUNRFKSVMTMZGOIJLXEPAMVGESOADYIGZXRBJDIWKNOWTCSROAQTBECHTOZVSQUOOJRZIBAUHMKAXDCIMDZJFMABGRNTGPUJAUNFPFWCJG
 6 2
ABCABC
 41 19
TMEYYIIELFDCMBDKWWKYNRNDUPRONYROXQCLVQALP
 5 2
ABACA
 377 3
EADADBBBBDEAABBAEBABACDBDBBCACAADBEAEACDEAABACADEEDEACACDADABBBBDDEECBDABACACBAECBADAEBDEEBDBCDAEADBCDDACACDCCEEDBCCBBCEDBECBABCDDBBDEADEDAEACDECECBEBACBCCDCDBDAECDECADBCBEDBBDAAEBCAAECCDCCDBDDEBADEEBDCAEABBDEDBBDDEAECCBDDCDEACDAECCBDDABABEAEDCDEDBAECBDEACEBCECEACDCBABCBAAEAADACADBBBBABEADBCADEBCBECCABBDDDEEBCDEBADEBDAAABBEABADEDEAEABCEEBEEDEAEBEABCEDDBACBCCADEBAAAAAEABABBCE
 3 26
AAB
 27 1
ABCDEFGHIJKLMNOPQRSTUVWXYZA
 73 2
DEBECECBBADAADEAABEAEEEAEBEAEBCDDBABBAEBACCBEEBBAEADEECACEDEEDABACDCDBBBD
 7 2
ABCDBCD
 5 1
AZAZA
 44 15
HGJIFCGGCDGIJDHBIBGAEABCIABIGBDEADBBBAGDFDHA
 5 2
ABCAB
 8 3
ABCBCDCA
 26 1
ABCDEFGHIJKLMNOPQRSTUVWXYZ

YES
 YES
 NO
 NO
 YES
 NO
 YES
 YES
 YES
 YES
 NO
 YES
 NO
 NO

import java.util.*;
import java.io.*;
 
public class question2{
	static class InputReader {
		public BufferedReader reader;
			public StringTokenizer tokenizer;
 
			public InputReader() {
				reader = new BufferedReader(new InputStreamReader(System.in));
				tokenizer = null;
			}
 
			public String next() {
				while (tokenizer == null || !tokenizer.hasMoreTokens()) {
					try {
						tokenizer = new StringTokenizer(reader.readLine());
					} catch (IOException e) {
						throw new RuntimeException(e);
					}
				}
				return tokenizer.nextToken();
			}
 
			public int nextInt() {
				return Integer.parseInt(next());
			}
 
			public long nextLong() {
				return Long.parseLong(next());
			}
 
			public double nextDouble() {
				return Double.parseDouble(next());
			}
 
			public String nextLine() {
				String s = null;
				try {
					s = reader.readLine();
				} catch (IOException e) {
					throw new RuntimeException(e);
				}
				return s;
			}
 
			public String nextParagraph() {
				String line = null;
				String ans = "";
				try {
					while ((line = reader.readLine()) != null) {
						ans += line;
					}
				} catch (IOException e) {
					throw new RuntimeException(e);
				}
				return ans;
			}
		}
 
	static void printArray(int ar[]){
		for(int x:ar)
			System.out.print(x+" ");
	}
	static boolean checkCondition(int a,int b){
		int max = Math.max(a,b);
		int c=a|b;
		if(c <= max)
			return true;
		else return false;
	}
	public static void main(String args[]){
		InputReader sc=new InputReader();
		PrintWriter pw=new PrintWriter(System.out);
		int n=sc.nextInt();
		int k=sc.nextInt();
		String guest = sc.nextLine();
		int freq[]=new int[26];
		boolean mark[]=new boolean[26];
		int i;
		for(i=0;i<guest.length();i++){
			freq[guest.charAt(i)-'A']++;
		}
		int total = 0;
		for(i=0;i<guest.length();i++){
			if(!mark[guest.charAt(i)-'A']){
				total++;
				if(total > k){
					pw.println("YES");
					pw.close();
					break;
				}
				mark[guest.charAt(i)-'A'] = true;
				freq[guest.charAt(i)-'A']--;
			}else{
				freq[guest.charAt(i)-'A']--;
			}
			if(freq[guest.charAt(i)-'A'] == 0){
				total--;
			} 
		}
		if(i == guest.length()){
			pw.println("NO");
		}
		pw.close();
	}
} 