class_docstr: Class representing a monomial, i.e. a product of powers. 
class_docstr_tok: ["Class","representing","a","monomial",",","i.e",".","a","product","of","powers","."]
code: def __pow__(self, other):
      n = int(other)
  
      if not n:
          return self.rebuild([0] * len(self))
      elif n > 0:
          exponents = self.exponents
  
          for i in range(1, n):
              exponents = monomial_mul(exponents, self.exponents)
  
          return self.rebuild(exponents)
      else:
          raise ValueError(
              "a non-negative integer expected, got %s" % other
          )
  
imports: from itertools import combinations_with_replacement, product
  from textwrap import dedent
  from sympy.core import Mul, S, Tuple, sympify
  from sympy.polys.polyerrors import ExactQuotientFailed
  from sympy.polys.polyutils import PicklableWithSlots, dict_from_expr
  from sympy.utilities import public
  from sympy.utilities.iterables import is_sequence, iterable
label_desc: Use image node_id 13 for calling the Monomial obj's underlying member method code with example usage: obj.__pow__(other) and returns: self, self