#include <bits/stdc++.h>
void start(int *ST, int *END, int n, char *A) {
  int i, kol_vo = 0;
  for (i = n; i > 0; i--) {
    if (A[i] == 'A' && END[0] == -1) {
      kol_vo++;
      END[0] = i;
    }
    if (A[i] == 'B' && END[1] == -1) END[1] = i;
    kol_vo++;
    ;
    if (A[i] == 'C' && END[2] == -1) END[2] = i;
    kol_vo++;
    if (A[i] == 'D' && END[3] == -1) END[3] = i;
    kol_vo++;
    if (A[i] == 'E' && END[4] == -1) END[4] = i;
    kol_vo++;
    if (A[i] == 'F' && END[5] == -1) END[5] = i;
    kol_vo++;
    if (A[i] == 'G' && END[6] == -1) END[6] = i;
    kol_vo++;
    if (A[i] == 'H' && END[7] == -1) END[7] = i;
    kol_vo++;
    if (A[i] == 'I' && END[8] == -1) END[8] = i;
    kol_vo++;
    if (A[i] == 'J' && END[9] == -1) END[9] = i;
    kol_vo++;
    if (A[i] == 'K' && END[10] == -1) {
      END[10] = i;
      kol_vo++;
    }
    if (A[i] == 'L' && END[11] == -1) {
      END[11] = i;
      kol_vo++;
    }
    if (A[i] == 'M' && END[12] == -1) {
      END[12] = i;
      kol_vo++;
    }
    if (A[i] == 'N' && END[13] == -1) {
      END[13] = i;
      kol_vo++;
    }
    if (A[i] == 'O' && END[14] == -1) {
      END[14] = i;
      kol_vo++;
    }
    if (A[i] == 'P' && END[15] == -1) {
      END[15] = i;
      kol_vo++;
    }
    if (A[i] == 'Q' && END[16] == -1) {
      END[16] = i;
      kol_vo++;
    }
    if (A[i] == 'R' && END[17] == -1) {
      END[17] = i;
      kol_vo++;
    }
    if (A[i] == 'S' && END[18] == -1) {
      END[18] = i;
      kol_vo++;
    }
    if (A[i] == 'T' && END[19] == -1) {
      END[19] = i;
      kol_vo++;
    }
    if (A[i] == 'U' && END[20] == -1) {
      END[20] = i;
      kol_vo++;
    }
    if (A[i] == 'V' && END[21] == -1) {
      END[21] = i;
      kol_vo++;
    }
    if (A[i] == 'W' && END[22] == -1) {
      END[22] = i;
      kol_vo++;
    }
    if (A[i] == 'X' && END[23] == -1) {
      END[23] = i;
      kol_vo++;
    }
    if (A[i] == 'Y' && END[24] == -1) {
      END[24] = i;
      kol_vo++;
    }
    if (A[i] == 'Z' && END[25] == -1) {
      END[25] = i;
      kol_vo++;
    }
    if (kol_vo == 26) break;
  }
}
int main() {
  int n, k, i, ST[26], END[26], answ = 1;
  char *Guest, tmp;
  scanf("%d %d", &n, &k);
  n++;
  Guest = (char *)malloc(n * sizeof(char));
  for (i = 0; i < n; i++) scanf("%c", &Guest[i]);
  for (i = 0; i < 26; i++) {
    ST[i] = -1;
    END[i] = -1;
  }
  start(ST, END, n, Guest);
  for (i = 1; i < n; i++) {
    if (Guest[i] == 'A' && ST[0] == -1) {
      ST[0] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[0] == i) k++;
    if (Guest[i] == 'B' && ST[1] == -1) {
      ST[1] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[1] == i) k++;
    if (Guest[i] == 'C' && ST[2] == -1) {
      ST[2] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[2] == i) k++;
    if (Guest[i] == 'D' && ST[3] == -1) {
      ST[3] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[3] == i) k++;
    if (Guest[i] == 'E' && ST[4] == -1) {
      ST[4] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[4] == i) k++;
    if (Guest[i] == 'F' && ST[5] == -1) {
      ST[5] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[5] == i) k++;
    if (Guest[i] == 'G' && ST[6] == -1) {
      ST[6] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[6] == i) k++;
    if (Guest[i] == 'H' && ST[7] == -1) {
      ST[7] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[7] == i) k++;
    if (Guest[i] == 'I' && ST[8] == -1) {
      ST[8] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[8] == i) k++;
    if (Guest[i] == 'J' && ST[9] == -1) {
      ST[9] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[9] == i) k++;
    if (Guest[i] == 'K' && ST[10] == -1) {
      ST[10] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[10] == i) k++;
    if (Guest[i] == 'L' && ST[11] == -1) {
      ST[11] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[11] == i) k++;
    if (Guest[i] == 'M' && ST[12] == -1) {
      ST[12] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[12] == i) k++;
    if (Guest[i] == 'N' && ST[13] == -1) {
      ST[13] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[13] == i) k++;
    if (Guest[i] == 'O' && ST[14] == -1) {
      ST[14] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[14] == i) k++;
    if (Guest[i] == 'P' && ST[15] == -1) {
      ST[15] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[15] == i) k++;
    if (Guest[i] == 'Q' && ST[16] == -1) {
      ST[16] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[16] == i) k++;
    if (Guest[i] == 'R' && ST[17] == -1) {
      ST[17] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[17] == i) k++;
    if (Guest[i] == 'S' && ST[18] == -1) {
      ST[18] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[18] == i) k++;
    if (Guest[i] == 'T' && ST[19] == -1) {
      ST[19] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[19] == i) k++;
    if (Guest[i] == 'U' && ST[20] == -1) {
      ST[20] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[20] == i) k++;
    if (Guest[i] == 'V' && ST[21] == -1) {
      ST[21] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[21] == i) k++;
    if (Guest[i] == 'W' && ST[22] == -1) {
      ST[22] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[22] == i) k++;
    if (Guest[i] == 'X' && ST[23] == -1) {
      ST[23] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[23] == i) k++;
    if (Guest[i] == 'Y' && ST[24] == -1) {
      ST[24] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[24] == i) k++;
    if (Guest[i] == 'Z' && ST[25] == -1) {
      ST[25] = 1;
      k--;
      if (k < 0) answ = -1;
    }
    if (END[25] == i) k++;
  }
  if (answ == -1)
    printf("YES");
  else
    printf("NO");
  return 0;
}
