#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <cctype>
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
typedef long long LL;
vector<LL>q;
int main()
{
LL n, k;
scanf("%lld %lld", &n, &k);
for(LL i=1;i*i<=n;i++)
{
if(n%i==0)
{
q.push_back(i);
if(i*i!=n) q.push_back(n/i);
}
}
sort(q.begin(),q.end());
if(k<=q.size())
cout<<q[k-1];
else
printf("-1\n");
return 0;
}