(p1, p2)
p2 * p1 with p2 in the coefficient domain of p1.

        Examples
        --------
        >>> from sympy.polys.domains import ZZ
        >>> from sympy.polys.rings import ring

        >>> _, x, y = ring('x, y', ZZ)
        >>> p = x + y
        >>> 4 * p
        4*x + 4*y
p2 * p1 with p2 in the coefficient domain of p1.
p2 * p1 with p2 in the coefficient domain of p1 .
def __rmul__(p1, p2):
        """p2 * p1 with p2 in the coefficient domain of p1.

        Examples
        --------
        >>> from sympy.polys.domains import ZZ
        >>> from sympy.polys.rings import ring

        >>> _, x, y = ring('x, y', ZZ)
        >>> p = x + y
        >>> 4 * p
        4*x + 4*y

        """
        p = p1.ring.zero
        if not p2:
            return p
        try:
            p2 = p.ring.domain_new(p2)
        except CoercionFailed:
            return NotImplemented
        else:
            for exp1, v1 in p1.items():
                v = p2*v1
                if v:
                    p[exp1] = v
            return p
def __rmul__ ( p1 , p2 ) : p = p1 . ring . zero if not p2 : return p try : p2 = p . ring . domain_new ( p2 ) except CoercionFailed : return NotImplemented else : for exp1 , v1 in p1 . items ( ) : v = p2 * v1 if v : p [ exp1 ] = v return p