#include <bits/stdc++.h>
int main() {
  std::size_t N, P, ans{};
  std::cin >> N >> P;
  std::size_t ceil = std::ceil(std::pow(P, 1. / N));
  for (std::size_t i{1}; i <= ceil; ++i) {
    [&, S = P]() mutable {
      for (std::size_t k{}; k < N; ++k) {
        if (!(S % i))
          S /= i;
        else
          return;
      }
      ans = i;
    }();
  }
  std::cout << ans << std::endl;
}
