//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int siz(string s){ return (int)s.size(); } int main(){ int N, K; cin >> N >> K; vector X(4e6, 0); vector Era(4e6, true); Era[0] = Era[1] = false; for(int i = 2; i*i <= 2e6; i++){ if(!Era[i]) continue; X[i]++; for(int j = i*2; j <= 2e6; j += i){ Era[j] = false; X[j]++; } } int ans = 0; for(int i = 2; i <= N; i++){ if(K <= X[i]) ans++; } printl(ans); return 0; }