Given the number n, find the smallest positive integer which has exactly n divisors. It is guaranteed that for the given n the answer will not exceed 1018.

Input

The first line of the input contains integer n (1 ≤ n ≤ 1000).

Output

Output the smallest positive integer with exactly n divisors.

Examples

Input

4


Output

6


Input

6


Output

12
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
  static BigInteger oo = new BigInteger("1000000000000000009");
  static int[] prs = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59};
  static int nprs = 17;
  static BigInteger dp[][] = new BigInteger[17][1001];

  static BigInteger calc(int ind, int rem) {
    if (rem == 1) return BigInteger.ONE;
    if (ind == nprs) return oo;
    if (dp[ind][rem] != null) return dp[ind][rem];
    BigInteger ret = oo;
    BigInteger cur = BigInteger.ONE;
    int p = 1;
    while (p <= rem && cur.compareTo(oo) == -1) {
      if (rem % p == 0) {
        BigInteger temp = calc(ind + 1, rem / p);
        temp = temp.multiply(cur);
        if (temp.compareTo(ret) == -1) ret = temp;
      }
      p++;
      cur = cur.multiply(BigInteger.valueOf(prs[ind]));
    }
    return dp[ind][rem] = ret;
  }

  public static void main(String[] args) {
    Scanner cin = new Scanner(System.in);
      int n = cin.nextInt();
      BigInteger ret1 = calc(0, n);
      System.out.println(ret1);
    }

}