Problem:
Score : 300 points

Problem Statement

There are N integers a_1, a_2, ..., a_N not less than 1.
The values of a_1, a_2, ..., a_N are not known, but it is known that a_1 \times a_2 \times ... \times a_N = P.

Find the maximum possible greatest common divisor of a_1, a_2, ..., a_N.

Constraints

1 \leq N \leq 10^{12}

1 \leq P \leq 10^{12}

Input

Input is given from Standard Input in the following format:

N P

Output

Print the answer.

Sample Input 1

3 24

Sample Output 1

2

The greatest common divisor would be 2 when, for example, a_1=2, a_2=6 and a_3=2.

Sample Input 2

5 1

Sample Output 2

1

As a_i are positive integers, the only possible case is a_1 = a_2 = a_3 = a_4 = a_5 = 1.

Sample Input 3

1 111

Sample Output 3

111

Sample Input 4

4 972439611840

Sample Output 4

206

Solution in Haskell (GHC 7.10.3) (judge verdict: Wrong Answer)

primeFactorize 1 = []
primeFactorize x =
    let v = head $ nativeFactors x in
        v : primeFactorize (x `div` v)

nativeFactors n = [x | x <- [2..n], n `mod` x == 0]

count xs = loop xs 1
    where
        loop [] c = []
        loop (x:[]) c = (x, c+1):[]
        loop (x:y:[]) c = if x == y 
                          then (x, c+2):[]
                          else (x, c+1):(y, 1):[]
        loop (x:y:xs) c = if x == y
                          then loop (y:xs) (c+1)
                          else (x, c):loop (y:xs) 1


main = do
    (n:p:_) <- fmap (map read . words) getLine :: IO[Integer]
    print $ solve n p

solve :: Integer -> Integer -> Integer
solve n p = product . map (\ (x, e) -> x ^ (e `div` n)) . count $ primeFactorize p