#include <bits/stdc++.h>
using namespace std;
bool prime[1000 + 10];
bool nold[1000 + 10];
void sieve() {
  int i, j, k;
  for (i = 3; i <= 1000; i += 2) prime[i] = true;
  prime[2] = true;
  int squreroot = (int)sqrt(1000);
  for (i = 3; i <= squreroot + 2; i += 2) {
    if (prime[i]) {
      for (j = i * i; j < 1000 + 2; j += 2 * i) {
        prime[j] = false;
      }
    }
  }
  return;
}
void noldbach() {
  for (int i = 13; i <= 1000 + 10; i++) {
    if (prime[i] == true) {
      int r = i - 1;
      int j = 2, k = 3;
      while (j + k <= r) {
        if (j + k == r) {
          nold[i] = true;
          break;
        }
        j = k;
        k = k + 1;
        while (prime[k] != 1) k++;
      }
    }
  }
}
int main() {
  int n, k, cnt;
  sieve();
  noldbach();
  while (scanf("%d%d", &n, &k) == 2) {
    cnt = 0;
    for (int i = 2; i <= n; i++) {
      if (nold[i] == 1) cnt++;
    }
    if (cnt >= k)
      printf("YES\n");
    else
      printf("NO\n");
  }
  return 0;
}
