import std.algorithm, std.array, std.container, std.range; import std.string, std.conv; import std.math, std.bigint, std.bitmanip, std.random; import std.stdio, std.typecons; void main() { auto rd = readln.split.map!(to!int); auto n = rd[0], k = rd[1]; auto pfi = primeFactors(n); writeln(pfi.filter!(pf => pf >= k).array.length); } int[] primeFactors(int n) { auto sieve = new int[n + 1]; foreach (p; 2..n + 1) if (sieve[p] == 0) foreach (q; iota(p, n + 1, p)) sieve[q] += 1; return sieve; }