/*
#include <stdio.h>
int main()
{
int i,a,b,n=0;
scanf("%d %d", &a, &b);
for(i=a ; i<=b ; i++)
{
if(i%2==0)
{
n = n-i;
printf("-%d", i);
}
else if(i%2!=0)
{
n = n+i;
if(i==a)
{
printf("%d", i);
}
else
{
printf("+%d", i);
}
}
}
printf("=%d", n);
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int n,c=0;
scanf("%d", &n);
while(1)
{
n = n/10;
c++;
if(n==0)
{
break;
}
}
printf("%d", c);
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int a,sum=0;
long long int n;
scanf("%lld", &n);
while(1)
{
sum = sum+n%10;
n = n/10;
if(n==0)
{
break;
}
}
if(sum%7!=4)
{
printf("Good");
}
else
{
printf("Bad");
}
return 0;
}
*/
#include <stdio.h>
int main()
{
int i,n,k,c=0;
scanf("%d %d", &n, &k);
for(i=1 ; i<=n ; i++)
{
if(n%i==0)
{
c++;
if(c==k)
{
printf("%d", i); break;
}
}
}
//만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 0을 출력하시오.
return 0;
}