#include <bits/stdc++.h>
using namespace std;
long long n, k;
long long prime[1000005];
long long tot = 0;
void Pre(long long x) {
  long long p = sqrt(x);
  for (long long i = 1; i <= p; i++) {
    if (x % i == 0) {
      prime[++tot] = i;
      if (i != (x / i)) prime[++tot] = x / i;
    }
  }
}
signed main() {
  scanf("%lld%lld", &n, &k);
  Pre(n);
  sort(prime + 1, prime + 1 + tot);
  if (tot >= k) {
    printf("%lld\n", prime[k]);
  } else {
    printf("-1\n");
  }
  return 0;
}
