code: def _is_nthpow_residue_bign_prime_power(a, n, p, k):
      r"""
      Returns True if `x^n = a \pmod{p^k}` has solutions for `n > 2`.
  
      Parameters
      ==========
  
      a : positive integer
      n : integer, n > 2
      p : prime number
      k : positive integer
  
      """
      while a % p == 0:
          a %= pow(p, k)
          if not a:
              return True
          a, mu = remove(a, p)
          if mu % n:
              return False
          k -= mu
      if p != 2:
          f = p ** (k - 1) * (p - 1)  # f = totient(p**k)
          return pow(a, f // gcd(f, n), pow(p, k)) == 1
      if n & 1:
          return True
      c = min(bit_scan1(n) + 2, k)
      return a % pow(2, c) == 1
  
imports: from __future__ import annotations
  from sympy.external.gmpy import gcd, lcm, invert, sqrt, legendre, jacobi, kronecker, bit_scan1, remove
  from sympy.polys import Poly
  from sympy.polys.domains import ZZ
  from sympy.polys.galoistools import gf_crt1, gf_crt2, linear_congruence, gf_csolve
  from .primetest import isprime
  from .factor_ import factorint, _perfect_power
  from .modular import crt
  from sympy.utilities.decorator import deprecated
  from sympy.utilities.memoization import recurrence_memo
  from sympy.utilities.misc import as_int
  from sympy.utilities.iterables import iproduct
  from sympy.core.random import _randint, randint
  from itertools import product
label_desc: Use image node_id 14 for calling a global function with example usage: _is_nthpow_residue_bign_prime_power(a, n, p, k) and returns: unknown, unknown, True, True, False