class_docstr: Represents ordinals in Cantor normal form.
  
  Internally, this class is just a list of instances of OmegaPower.
  
  Examples
  ========
  >>> from sympy import Ordinal, OmegaPower
  >>> from sympy.sets.ordinals import omega
  >>> w = omega
  >>> w.is_limit_ordinal
  True
  >>> Ordinal(OmegaPower(w + 1, 1), OmegaPower(3, 2))
  w**(w + 1) + w**3*2
  >>> 3 + w
  w
  >>> (w + 1) * w
  w**2
  
  References
  ==========
  
  .. [1] https://en.wikipedia.org/wiki/Ordinal_arithmetic
code: def __str__(self):
      net_str = ""
      plus_count = 0
      if self == ord0:
          return "ord0"
      for i in self.terms:
          if plus_count:
              net_str += " + "
  
          if i.exp == ord0:
              net_str += str(i.mult)
          elif i.exp == 1:
              net_str += "w"
          elif len(i.exp.terms) > 1 or i.exp.is_limit_ordinal:
              net_str += "w**(%s)" % i.exp
          else:
              net_str += "w**%s" % i.exp
  
          if not i.mult == 1 and not i.exp == ord0:
              net_str += "*%s" % i.mult
  
          plus_count += 1
      return net_str
  
imports: from sympy.core import Basic, Integer
  import operator
label_desc: Use image node_id 15 for calling the Ordinal obj's underlying member method code with example usage: obj.__str__() and returns: net_str, str