#include <bits/stdc++.h>
using namespace std;
vector<bool> v(100001, true);
vector<long long> vec;
void isprime(long long n) {
  long long i;
  long long j;
  long long count = 1;
  v[1] = false;
  v[0] = false;
  for (i = 4; i <= 100001; i += 2) v[i] = false;
  for (i = 3; i * i <= 100001; i += 2) {
    if (v[i]) {
      for (j = i * i; j <= 100001; j = j + (2 * i)) v[j] = false;
    }
  }
  for (i = 2; i <= n; i++) {
    if (v[i] == true) {
      vec.push_back(i);
    }
  }
}
int main() {
  long long n, k;
  cin >> n >> k;
  isprime(n);
  long long count = 0;
  for (long long i = 0; i < vec.size(); i++) {
    for (long long j = 0; j < vec.size(); j++) {
      if (vec[j] + vec[j + 1] + 1 == vec[i]) {
        count++;
        break;
      }
    }
  }
  if (count >= k) {
    cout << "YES"
         << "\n";
  } else {
    cout << "NO"
         << "\n";
  }
  return 0;
}
