code: def _prime_decomp_easy_case(p, ZK):
      r"""
      Compute the decomposition of rational prime *p* in the ring of integers
      *ZK* (given as a :py:class:`~.Submodule`), in the "easy case", i.e. the
      case where *p* does not divide the index of $\theta$ in *ZK*, where
      $\theta$ is the generator of the ``PowerBasis`` of which *ZK* is a
      ``Submodule``.
      """
      T = ZK.parent.T
      T_bar = Poly(T, modulus=p)
      lc, fl = T_bar.factor_list()
      if len(fl) == 1 and fl[0][1] == 1:
          return [PrimeIdeal(ZK, p, ZK.parent.zero(), ZK.n, 1)]
      return [
          PrimeIdeal(
              ZK,
              p,
              ZK.parent.element_from_poly(Poly(t, domain=ZZ)),
              t.degree(),
              e,
          )
          for t, e in fl
      ]
  
imports: from sympy.polys.polytools import Poly
  from sympy.polys.domains.finitefield import FF
  from sympy.polys.domains.rationalfield import QQ
  from sympy.polys.domains.integerring import ZZ
  from sympy.polys.matrices.domainmatrix import DomainMatrix
  from sympy.polys.polyerrors import CoercionFailed
  from sympy.polys.polyutils import IntegerPowerable
  from sympy.utilities.decorator import public
  from .basis import round_two, nilradical_mod_p
  from .exceptions import StructureError
  from .modules import ModuleEndomorphism, find_min_poly
  from .utilities import coeff_search, supplement_a_subspace
label_desc: Use image node_id 5 for calling a global function with example usage: _prime_decomp_easy_case(p, ZK) and returns: unknown, list