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:
import java.util.Calendar;
import java.util.*;
import java.io.*;
import java.lang.*;
//import java.math;
import java.util.Arrays; 
public class Rathod 
{
  public static void main(String[] args)
  {
    long i,k;
    int j=0;
    int p=1;
    Scanner sc=new Scanner(System.in);
    long n;
    n=sc.nextLong();
    k=sc.nextLong();
    
    long sqrt=(long) Math.sqrt(n);
    int s=(int) sqrt;
    int ar[]=new int[s];
    for(i=1;i<=s;i++)
    {
       if(n%i==0)
       {
           ar[j]=(int) i;
           j++;
       }
    } 
    if((n==1)&&(k>1))
    System.out.println(-1);
    else if(k<=j)
    {
        System.out.println(ar[(int) (k-1)]);
    }
    else if((k<=2*j)&&(sqrt*sqrt!=n))
    {
        
        int la=(int) (j-(k-j))           ;
        System.out.println(n/(ar[la]));
        
    }
    else if((k<=2*j-1)&&(sqrt*sqrt==n))
    {
        int la=(int) (j-(k-j))-1           ;
        System.out.println(n/(ar[la])); 
    }
    else
    {
        System.out.println("-1");
    }
    
  }
}