#include <bits/stdc++.h>
using namespace std;
vector<int> prime;
bool isprime[1002];
int n, k;
int main() {
  memset(isprime, true, sizeof(isprime));
  isprime[0] = isprime[1] = false;
  for (int i = 2; i * i <= 1000; ++i)
    if (isprime[i])
      for (int j = i + i; j <= 1000; j += i) isprime[j] = false;
  for (int i = 2; i <= 1000; ++i)
    if (isprime[i]) prime.push_back(i);
  cin >> n >> k;
  int count = 0;
  for (int i = 2; i <= n; ++i)
    if (isprime[i]) {
      bool is = false;
      for (int j = 0; j < prime.size() - 1; ++j)
        if (i == prime[j] + prime[j + 1] + 1) is = true;
      if (is) ++count;
    }
  if (count >= k)
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
  return 0;
}
