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
p = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43]
def solve(n, pos):
    # si n>1 ans = 10**18 sino ans =1 dado que solo se necesita 1 divisor y 
    # solo 1 cumple tener un unico divisor
    ans = 10 ** 18 if n > 1 else 1
    for exp in range(2, n + 1): 
        # analizamos los posibles exponentes como se calculo matematicamente no
        #  tiene sentido pregunta por un exponente que no cumpla que (exp+1)|n
        if n % exp == 0: 
            # ans queda siendo la menor de las respuestas hasta ahora o la 
            # nueva respuesta se calcula mediante el primo que se esta 
            # analizando elevado al exponente -1 * solve en los divisores
            # restantes n/exp cambiando la pos para analiar el primo siguiente
            
            ans = min(ans, p[pos] ** (exp - 1) * solve(n // exp, pos + 1)) 
    return ans

inp = int(input())
print(solve(inp, 0))
