n, p = gets.chomp.split.map(&:to_i)
ans = 1

soinsu = []
tmp = p+0
i = 2
while true
  if tmp ** (1.0/2) < i
    soinsu << tmp
    break
  end
  if tmp%i==0
    soinsu << i
    # soinsu << p/i
    tmp /= i
    # iまで調べたのだからもう一度iから調べる
  else
    i+=1
  end
end
soinsu.sort!
soinsu.uniq!

ary = []
soinsu.each do |num|
  tmp = p+0
  while true
    if num == 1
      break
    elsif tmp % (num**n)==0
      ary << num
      tmp /= num**n
    else
      break
    end
  end
end

ans = 1
ary.each do |i|
  ans *= i
end

puts ans
