

#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
// 약수가 몇 번째인지 세어주는 count 변수
int count = 0;
// 결과를 출력해주는 result 변수
int result = 0;
// 약수는 n 이상의 숫자로는 나올수가 없으므로 n만큼 반복
for (int i = 1; i <= n; i++) {
// 약수면 count++
if (n % i == 0) {
count++;
}
// 만약 m번째 약수라면, result에 현재 약수 재할당, 반복문 중단
if (count == m) {
result = i;
break;
}
}
// 만약 m번째 약수가 없으면 0 출력, 아니라면 result 출력
if (count < m) {
cout << 0;
} else {
cout << result;
}
}