func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<int> prime_pair;   int least[1001];   void sieve(int n) {     vector<int> pr, prime;     for (int i = 2; i <= n; i++) {       if (!least[i]) {         least[i] = i;         pr.push_back(i);       }       for (int j = 0; j < pr.size() && pr[j] <= least[i] && i * pr[j] <= n; j++) {         least[i * pr[j]] = pr[j];       }     }     for (int i = 2; i <= n; i++)       if (least[i] == i) prime.push_back(i);     for (int i = 1; i < prime.size(); i++) {       int temp = prime[i] + prime[i - 1];       prime_pair.push_back(temp);     }   }   bool bi_search(int val) {     int left = 0, right = prime_pair.size() - 1;     while (right >= left) {       int mid = (left + right) / 2;       if (prime_pair[mid] == val) return true;       if (prime_pair[mid] > val)         right = mid - 1;       else         left = mid + 1;     }     return false;   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     int n, k;     cin >> n >> k;     sieve(n);     int res = 0;     for (int i = 13; i <= n; i++) {       if (least[i] == i && bi_search(i - 1)) {         res++;       }     }     if (res >= k)       cout <<  YES n ;     else       cout <<  NO n ;     return 0;   }   