#include #include #include #include #include using namespace std; int main() { int N, K, i = 2; cin >> N >> K; int a = N; pair b; vector c; while (a >= i * i) { if (0 == a % i) { a /= i; c.push_back(i); } else ++i; } c.push_back(a); for (i = 1; i < N; ++i) { a = i; int d = 0, j = 2; vector e, f; while (a >= j * j) { if (0 == a % j) { a /= j; e.push_back(j); } else ++j; } e.push_back(a); set_intersection(c.begin(), c.end(), e.begin(), e.end(), inserter(f, f.end())); if (K <= f.size()) { for (j = 1; j * j <= i; ++j) { if (0 == i % j) { ++d; if (i / j != j) ++d; } } if (b.first < d) { b.first = d; b.second = i; } } } cout << b.second; }