#include using namespace std; int main(){ int n, k; cin >> n >> k; assert(4 <= n && n <= 100000); int f = 0, N = n; vector facter(n, 1), prime(n); for(int i = 2; i < n; i++) for(int j = i; j < n; j += i) facter[j]++; for(int i = 2; i * i <= n; i++) if(n % i == 0) { int p = 1; while(n % i == 0) { f++; p *= i; n /= i; for(int j = p; j < N; j += p) prime[j]++; } } if(n != 1) { f++; for(int i = n; i < N; i += n) prime[i]++; } assert(1 <= k && k <= 15 && k < f); int max = 0, ans; for(int i = 2; i < N; i++) if(prime[i] >= k && max < facter[i]) { max = facter[i]; ans = i; } cout << ans << endl; }