Problem: You are given two integers n and k. Find k-th smallest divisor of n, or report that it doesn't exist.

Divisor of n is any such natural number, that n can be divided by it without remainder.

Input

The first line contains two integers n and k (1 ≤ n ≤ 1015, 1 ≤ k ≤ 109).

Output

If n has less than k divisors, output -1.

Otherwise, output the k-th smallest divisor of n.

Examples

Input

4 2


Output

2


Input

5 3


Output

-1


Input

12 5


Output

6

Note

In the first example, number 4 has three divisors: 1, 2 and 4. The second one is 2.

In the second example, number 5 has only two divisors: 1 and 5. The third divisor doesn't exist, so the answer is -1.

Solution (in JAVA):

Solution:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author anvit
 */
import java.util.*;
public class kthdivisor {
   public static void main(String[] args){
       Scanner in=new Scanner(System.in);
       long n=in.nextLong();
       int k=in.nextInt();
       long count=0;
       ArrayList<Long> l1=new ArrayList<Long>();
       ArrayList<Long> l2=new ArrayList<Long>();
       for(long i=1;i<=Math.sqrt(n);i++){
           if(n%i==0){
               l1.add(i);
               if(n/i!=i)
               l2.add(n/i);
           }
       }
       if(l1.size()+l2.size()<k)
           System.out.println(-1);
       else if(l1.size()>=k){
           System.out.println(l1.get(k-1));
       }
       else{
           System.out.println(l2.get(l2.size()-(k-l1.size())));
       }
   } 
}