output_description: Print the answer.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N P
attempt: import collections
  import math
  
  n, p = [int(i) for i in input().split()]
  d = collections.defaultdict(lambda: 0)
  
  def bunkai(q):
  	if q == 1:
  		return 0
  	for i in range(2, math.ceil(math.sqrt(p))):
  		if q % i == 0:
  			d[i] += 1
  			return bunkai(q//i)
  
  if n == 1 or p == 1:
  	print(p)
  else:
  	bunkai(p)
  	ans = 1
  
  	for j in d.key
  		k = d[j]
  		if k // n >= 1:
  			ans *= j**(k//n)
  	print(ans)
  
problem_description: 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.
samples: [{"input": "3 24", "output": "2\n    \n\nThe greatest common divisor would be 2 when, for example, a_1=2, a_2=6 and\na_3=2.\n\n* * *"}, {"input": "5 1", "output": "1\n    \n\nAs a_i are positive integers, the only possible case is a_1 = a_2 = a_3 = a_4\n= a_5 = 1.\n\n* * *"}, {"input": "1 111", "output": "111\n    \n\n* * *"}, {"input": "4 972439611840", "output": "206"}]