//No.106 素数が嫌い!2 import java.util.*; import java.io.*; import static java.util.Arrays.*; import static java.lang.Math.*; public class No106 { static final Scanner in = new Scanner(System.in); static final PrintWriter out = new PrintWriter(System.out,false); static void solve() { int n = in.nextInt(); int k = in.nextInt(); boolean[] isPrime = sieveOfEratosthenes(n+1); int[] cnt = new int[n+1]; int ans = 0; for (int i=2; i<=n; i++) { if (isPrime[i]) cnt[i]++; if (cnt[i] >= k) ans++; if (!isPrime[i]) continue; for (int j=i+i; j<=n; j+=i) { cnt[j]++; } } out.println(ans); } static boolean[] sieveOfEratosthenes(int n) { boolean[] isPrime = new boolean[n]; Arrays.fill(isPrime,true); isPrime[0] = isPrime[1] = false; for (int i=2; i