§
    OŠtjB…  ã                   óÖ  — d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZmZ d„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d „ Z.d!„ Z/d"„ Z0d#„ Z1d$„ Z2d%„ Z3d&„ Z4d'„ Z5d(„ Z6d)„ Z7d*„ Z8d+„ Z9d,„ Z:d-„ Z;d.„ Z<d/„ Z=d0„ Z>d1„ Z?d2„ Z@d3„ ZAd4„ ZBd5„ ZCd6„ ZDd7„ ZEd8„ ZFd9„ ZGd:„ ZHd;„ ZId<„ ZJd=„ ZKd>„ ZLd?„ ZMd@„ ZNdA„ ZOdB„ ZPdC„ ZQdDS )EzEArithmetics for dense recursive polynomials in ``K[x]`` or ``K[X]``. é    )Ú	dup_sliceÚdup_LCÚdmp_LCÚ
dup_degreeÚ
dmp_degreeÚ	dup_stripÚ	dmp_stripÚ
dmp_zero_pÚdmp_zeroÚ	dmp_one_pÚdmp_oneÚ
dmp_groundÚ	dmp_zeros)ÚExactQuotientFailedÚPolynomialDivisionFailedc                 ó  — |s| S t          | ¦  «        }||z
  dz
  }||dz
  k    r$t          | d         |z   g| dd…         z   ¦  «        S ||k    r|g|j        g||z
  z  z   | z   S | d|…         | |         |z   gz   | |dz   d…         z   S )zÓ
    Add ``c*x**i`` to ``f`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_add_term(x**2 - 1, ZZ(2), 4)
    2*x**4 + x**2 - 1

    é   r   N©Úlenr   Úzero©ÚfÚcÚiÚKÚnÚms         úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/densearith.pyÚdup_add_termr      s±   € ð ð ØˆåˆA‰Œ€AØ	ˆA‰�‰	€AàˆA�‰E‚z€zÝ˜!˜Aœ$ ™(˜ a¨¨¨¤eÑ+Ñ,Ô,Ð,à�Š6ˆ6Ø�3˜!œ&˜ 1 q¡5Ñ)Ñ)¨AÑ-Ð-à�R�a�R”5˜A˜aœD 1™H˜:Ñ%¨¨!¨a©%¨&¨&¬	Ñ1Ð1ó    c                 ó¢  — |st          | |||¦  «        S |dz
  }t          ||¦  «        r| S t          | ¦  «        }||z
  dz
  }||dz
  k    r2t          t	          | d         |||¦  «        g| dd…         z   |¦  «        S ||k    r|gt          ||z
  ||¦  «        z   | z   S | d|…         t	          | |         |||¦  «        gz   | |dz   d…         z   S )zÝ
    Add ``c(x_2..x_u)*x_0**i`` to ``f`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_add_term(x*y + 1, 2, 2)
    2*x**2 + x*y + 1

    r   r   N)r   r
   r   r	   Údmp_addr   ©r   r   r   Úur   Úvr   r   s           r   Údmp_add_termr&   +   sû   € ð ð (Ý˜A˜q ! QÑ'Ô'Ð'à	ˆA‰€Aå�!�QÑÔð ØˆåˆA‰Œ€AØ	ˆA‰�‰	€AàˆA�‰E‚z€zÝ�' ! A¤$¨¨1¨aÑ0Ô0Ð1°A°a°b°b´EÑ9¸1Ñ=Ô=Ð=à�Š6ˆ6Ø�3� 1 q¡5¨!¨QÑ/Ô/Ñ/°!Ñ3Ð3à�R�a�R”5�G A a¤D¨!¨Q°Ñ2Ô2Ð3Ñ3°a¸¸A¹¸¸´iÑ?Ð?r    c                 ó  — |s| S t          | ¦  «        }||z
  dz
  }||dz
  k    r$t          | d         |z
  g| dd…         z   ¦  «        S ||k    r| g|j        g||z
  z  z   | z   S | d|…         | |         |z
  gz   | |dz   d…         z   S )zÚ
    Subtract ``c*x**i`` from ``f`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_sub_term(2*x**4 + x**2 - 1, ZZ(2), 4)
    x**2 - 1

    r   r   Nr   r   s         r   Údup_sub_termr(   M   s³   € ð ð ØˆåˆA‰Œ€AØ	ˆA‰�‰	€AàˆA�‰E‚z€zÝ˜!˜Aœ$ ™(˜ a¨¨¨¤eÑ+Ñ,Ô,Ð,à�Š6ˆ6Ø�B�4˜1œ6˜( A¨¡EÑ*Ñ*¨QÑ.Ð.à�R�a�R”5˜A˜aœD 1™H˜:Ñ%¨¨!¨a©%¨&¨&¬	Ñ1Ð1r    c                 óÂ  — |st          | | ||¦  «        S |dz
  }t          ||¦  «        r| S t          | ¦  «        }||z
  dz
  }||dz
  k    r2t          t	          | d         |||¦  «        g| dd…         z   |¦  «        S ||k    r*t          |||¦  «        gt          ||z
  ||¦  «        z   | z   S | d|…         t	          | |         |||¦  «        gz   | |dz   d…         z   S )zä
    Subtract ``c(x_2..x_u)*x_0**i`` from ``f`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_sub_term(2*x**2 + x*y + 1, 2, 2)
    x*y + 1

    r   r   N)r   r
   r   r	   Údmp_subÚdmp_negr   r#   s           r   Údmp_sub_termr,   j   s
  € ð ð )Ý˜A ˜r 1 aÑ(Ô(Ð(à	ˆA‰€Aå�!�QÑÔð ØˆåˆA‰Œ€AØ	ˆA‰�‰	€AàˆA�‰E‚z€zÝ�' ! A¤$¨¨1¨aÑ0Ô0Ð1°A°a°b°b´EÑ9¸1Ñ=Ô=Ð=à�Š6ˆ6Ý˜A˜q !Ñ$Ô$Ð%­	°!°a±%¸¸AÑ(>Ô(>Ñ>ÀÑBÐBà�R�a�R”5�G A a¤D¨!¨Q°Ñ2Ô2Ð3Ñ3°a¸¸A¹¸¸´iÑ?Ð?r    c                 óD   ‡— ‰r| sg S ˆfd„| D ¦   «         |j         g|z  z   S )zÖ
    Multiply ``f`` by ``c*x**i`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_mul_term(x**2 - 1, ZZ(3), 2)
    3*x**4 - 3*x**2

    c                 ó   •— g | ]}|‰z  ‘ŒS © r/   ©Ú.0Úcfr   s     €r   ú
<listcomp>z dup_mul_term.<locals>.<listcomp>�   ó   ø€ Ð%Ð%Ð%˜B��a‘Ð%Ð%Ð%r    ©r   )r   r   r   r   s    `  r   Údup_mul_termr6   Œ   s@   ø€ ð ð 3�Að 3Øˆ	à%Ð%Ð%Ð% !Ð%Ñ%Ô%¨¬¨°©
Ñ2Ð2r    c                 óà   ‡‡‡— |st          | ‰|‰¦  «        S |dz
  Št          | |¦  «        r| S t          ‰‰¦  «        rt          |¦  «        S ˆˆˆfd„| D ¦   «         t          |‰‰¦  «        z   S )zí
    Multiply ``f`` by ``c(x_2..x_u)*x_0**i`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_mul_term(x**2*y + x, 3*y, 2)
    3*x**4*y**2 + 3*x**3*y

    r   c                 ó4   •— g | ]}t          |‰‰‰¦  «        ‘ŒS r/   )Údmp_mul©r1   r2   r   r   r%   s     €€€r   r3   z dmp_mul_term.<locals>.<listcomp>¸   s'   ø€ Ð3Ð3Ð3¨"•˜˜Q  1Ñ%Ô%Ð3Ð3Ð3r    )r6   r
   r   r   )r   r   r   r$   r   r%   s    `  `@r   Údmp_mul_termr;       s“   øøø€ ð ð (Ý˜A˜q ! QÑ'Ô'Ð'à	ˆA‰€Aå�!�QÑÔð ØˆÝ�!�QÑÔð IÝ˜‰{Œ{Ðà3Ð3Ð3Ð3Ð3Ð3°Ð3Ñ3Ô3µiÀÀ1ÀaÑ6HÔ6HÑHÐHr    c                 ó&   — t          | |d|¦  «        S )zð
    Add an element of the ground domain to ``f``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_add_ground(x**3 + 2*x**2 + 3*x + 4, ZZ(4))
    x**3 + 2*x**2 + 3*x + 8

    r   )r   ©r   r   r   s      r   Údup_add_groundr>   »   ó   € õ ˜˜1˜a Ñ#Ô#Ð#r    c                 óJ   — t          | t          ||dz
  ¦  «        d||¦  «        S )zô
    Add an element of the ground domain to ``f``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_add_ground(x**3 + 2*x**2 + 3*x + 4, ZZ(4))
    x**3 + 2*x**2 + 3*x + 8

    r   r   )r&   r   ©r   r   r$   r   s       r   Údmp_add_groundrB   Ì   ó(   € õ ˜�: a¨¨Q©Ñ/Ô/°°A°qÑ9Ô9Ð9r    c                 ó&   — t          | |d|¦  «        S )zó
    Subtract an element of the ground domain from ``f``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_sub_ground(x**3 + 2*x**2 + 3*x + 4, ZZ(4))
    x**3 + 2*x**2 + 3*x

    r   )r(   r=   s      r   Údup_sub_groundrE   Ý   r?   r    c                 óJ   — t          | t          ||dz
  ¦  «        d||¦  «        S )z÷
    Subtract an element of the ground domain from ``f``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_sub_ground(x**3 + 2*x**2 + 3*x + 4, ZZ(4))
    x**3 + 2*x**2 + 3*x

    r   r   )r,   r   rA   s       r   Údmp_sub_groundrG   î   rC   r    c                 ó,   ‡— ‰r| sg S ˆfd„| D ¦   «         S )zâ
    Multiply ``f`` by a constant value in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_mul_ground(x**2 + 2*x - 1, ZZ(3))
    3*x**2 + 6*x - 3

    c                 ó   •— g | ]}|‰z  ‘ŒS r/   r/   r0   s     €r   r3   z"dup_mul_ground.<locals>.<listcomp>  r4   r    r/   r=   s    ` r   Údup_mul_groundrJ   ÿ   s3   ø€ ð ð &�Að &Øˆ	à%Ð%Ð%Ð% !Ð%Ñ%Ô%Ð%r    c                 óX   ‡‡‡— |st          | ‰‰¦  «        S |dz
  Šˆˆˆfd„| D ¦   «         S )zÚ
    Multiply ``f`` by a constant value in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_mul_ground(2*x + 2*y, ZZ(3))
    6*x + 6*y

    r   c                 ó4   •— g | ]}t          |‰‰‰¦  «        ‘ŒS r/   )Údmp_mul_groundr:   s     €€€r   r3   z"dmp_mul_ground.<locals>.<listcomp>&  ó'   ø€ Ð6Ð6Ð6¨R�^˜B  1 aÑ(Ô(Ð6Ð6Ð6r    )rJ   ©r   r   r$   r   r%   s    ` `@r   rM   rM     sJ   øøø€ ð ð 'Ý˜a  AÑ&Ô&Ð&à	ˆA‰€Aà6Ð6Ð6Ð6Ð6Ð6°1Ð6Ñ6Ô6Ð6r    c                 óx   ‡‡— ‰st          d¦  «        ‚| s| S ‰j        rˆˆfd„| D ¦   «         S ˆfd„| D ¦   «         S )a)  
    Quotient by a constant in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x = ring("x", ZZ)
    >>> R.dup_quo_ground(3*x**2 + 2, ZZ(2))
    x**2 + 1

    >>> R, x = ring("x", QQ)
    >>> R.dup_quo_ground(3*x**2 + 2, QQ(2))
    3/2*x**2 + 1

    úpolynomial divisionc                 ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS r/   )Úquo©r1   r2   r   r   s     €€r   r3   z"dup_quo_ground.<locals>.<listcomp>A  s%   ø€ Ð+Ð+Ð+ "�—’�r˜1‘”Ð+Ð+Ð+r    c                 ó   •— g | ]}|‰z  ‘ŒS r/   r/   r0   s     €r   r3   z"dup_quo_ground.<locals>.<listcomp>C  s   ø€ Ð&Ð&Ð&˜R��q‘Ð&Ð&Ð&r    )ÚZeroDivisionErrorÚis_Fieldr=   s    ``r   Údup_quo_groundrX   )  sk   øø€ ð$ ð 7ÝÐ 5Ñ6Ô6Ð6Øð Øˆà„zð 'Ø+Ð+Ð+Ð+Ð+¨Ð+Ñ+Ô+Ð+à&Ð&Ð&Ð& 1Ð&Ñ&Ô&Ð&r    c                 óX   ‡‡‡— |st          | ‰‰¦  «        S |dz
  Šˆˆˆfd„| D ¦   «         S )a=  
    Quotient by a constant in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x,y = ring("x,y", ZZ)
    >>> R.dmp_quo_ground(2*x**2*y + 3*x, ZZ(2))
    x**2*y + x

    >>> R, x,y = ring("x,y", QQ)
    >>> R.dmp_quo_ground(2*x**2*y + 3*x, QQ(2))
    x**2*y + 3/2*x

    r   c                 ó4   •— g | ]}t          |‰‰‰¦  «        ‘ŒS r/   )Údmp_quo_groundr:   s     €€€r   r3   z"dmp_quo_ground.<locals>.<listcomp>]  rN   r    )rX   rO   s    ` `@r   r[   r[   F  sJ   øøø€ ð$ ð 'Ý˜a  AÑ&Ô&Ð&à	ˆA‰€Aà6Ð6Ð6Ð6Ð6Ð6°1Ð6Ñ6Ô6Ð6r    c                 óN   ‡‡— ‰st          d¦  «        ‚| s| S ˆˆfd„| D ¦   «         S )zÔ
    Exact quotient by a constant in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x = ring("x", QQ)

    >>> R.dup_exquo_ground(x**2 + 2, QQ(2))
    1/2*x**2 + 1

    rQ   c                 ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS r/   )ÚexquorT   s     €€r   r3   z$dup_exquo_ground.<locals>.<listcomp>s  s%   ø€ Ð)Ð)Ð) ˆQ�WŠW�R˜‰^Œ^Ð)Ð)Ð)r    )rV   r=   s    ``r   Údup_exquo_groundr_   `  sG   øø€ ð ð 7ÝÐ 5Ñ6Ô6Ð6Øð Øˆà)Ð)Ð)Ð)Ð) aÐ)Ñ)Ô)Ð)r    c                 óX   ‡‡‡— |st          | ‰‰¦  «        S |dz
  Šˆˆˆfd„| D ¦   «         S )zÞ
    Exact quotient by a constant in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x,y = ring("x,y", QQ)

    >>> R.dmp_exquo_ground(x**2*y + 2*x, QQ(2))
    1/2*x**2*y + x

    r   c                 ó4   •— g | ]}t          |‰‰‰¦  «        ‘ŒS r/   )Údmp_exquo_groundr:   s     €€€r   r3   z$dmp_exquo_ground.<locals>.<listcomp>‰  s(   ø€ Ð8Ð8Ð8¨rÕ˜b ! Q¨Ñ*Ô*Ð8Ð8Ð8r    )r_   rO   s    ` `@r   rb   rb   v  sJ   øøø€ ð ð )Ý  1 aÑ(Ô(Ð(à	ˆA‰€Aà8Ð8Ð8Ð8Ð8Ð8°QÐ8Ñ8Ô8Ð8r    c                 ó&   — | s| S | |j         g|z  z   S )zÓ
    Efficiently multiply ``f`` by ``x**n`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_lshift(x**2 + 1, 2)
    x**4 + x**2

    r5   ©r   r   r   s      r   Ú
dup_lshiftre   Œ  s#   € ð ð Øˆà�A”F�8˜A‘:‰~Ðr    c                 ó   — | d| …         S )a  
    Efficiently divide ``f`` by ``x**n`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_rshift(x**4 + x**2, 2)
    x**2 + 1
    >>> R.dup_rshift(x**4 + x**2 + 2, 2)
    x**2 + 1

    Nr/   rd   s      r   Ú
dup_rshiftrg      s   € ð  ˆSˆqˆbˆSŒ6€Mr    c                 ó    ‡— ˆfd„| D ¦   «         S )zÂ
    Make all coefficients positive in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_abs(x**2 - 1)
    x**2 + 1

    c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r/   )Úabs)r1   Úcoeffr   s     €r   r3   zdup_abs.<locals>.<listcomp>Á  s#   ø€ Ð*Ð*Ð*˜eˆQ�UŠU�5‰\Œ\Ð*Ð*Ð*r    r/   ©r   r   s    `r   Údup_absrm   ³  s   ø€ ð +Ð*Ð*Ð* qÐ*Ñ*Ô*Ð*r    c                 óR   ‡‡— |st          | ‰¦  «        S |dz
  Šˆˆfd„| D ¦   «         S )zÊ
    Make all coefficients positive in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_abs(x**2*y - x)
    x**2*y + x

    r   c                 ó2   •— g | ]}t          |‰‰¦  «        ‘ŒS r/   )Údmp_abs©r1   r2   r   r%   s     €€r   r3   zdmp_abs.<locals>.<listcomp>×  ó%   ø€ Ð,Ð,Ð, 2�W�R˜˜AÑÔÐ,Ð,Ð,r    )rm   ©r   r$   r   r%   s     `@r   rp   rp   Ä  óB   øø€ ð ð Ý�q˜!‰}Œ}Ðà	ˆA‰€Aà,Ð,Ð,Ð,Ð,¨Ð,Ñ,Ô,Ð,r    c                 ó   — d„ | D ¦   «         S )z¸
    Negate a polynomial in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_neg(x**2 - 1)
    -x**2 + 1

    c                 ó   — g | ]}| ‘ŒS r/   r/   ©r1   rk   s     r   r3   zdup_neg.<locals>.<listcomp>è  s   € Ð$Ð$Ð$˜ˆeˆVÐ$Ð$Ð$r    r/   rl   s     r   Údup_negrx   Ú  s   € ð %Ð$ Ð$Ñ$Ô$Ð$r    c                 óR   ‡‡— |st          | ‰¦  «        S |dz
  Šˆˆfd„| D ¦   «         S )zÀ
    Negate a polynomial in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_neg(x**2*y - x)
    -x**2*y + x

    r   c                 ó2   •— g | ]}t          |‰‰¦  «        ‘ŒS r/   )r+   rq   s     €€r   r3   zdmp_neg.<locals>.<listcomp>þ  rr   r    )rx   rs   s     `@r   r+   r+   ë  rt   r    c                 ód  — | s|S |s| S t          | ¦  «        }t          |¦  «        }||k    r't          d„ t          | |¦  «        D ¦   «         ¦  «        S t          ||z
  ¦  «        }||k    r| d|…         | |d…         } }n|d|…         ||d…         }}|d„ t          | |¦  «        D ¦   «         z   S )zÄ
    Add dense polynomials in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_add(x**2 - 1, x - 2)
    x**2 + x - 3

    c                 ó   — g | ]
\  }}||z   ‘ŒS r/   r/   ©r1   ÚaÚbs      r   r3   zdup_add.<locals>.<listcomp>  ó    € Ð8Ð8Ð8¡T Q¨˜1˜q™5Ð8Ð8Ð8r    Nc                 ó   — g | ]
\  }}||z   ‘ŒS r/   r/   r}   s      r   r3   zdup_add.<locals>.<listcomp>!  ó    € Ð2Ð2Ð2™t˜q !�Q˜‘UÐ2Ð2Ð2r    )r   r   Úziprj   ©r   Úgr   ÚdfÚdgÚkÚhs          r   Údup_addrŠ     sÐ   € ð ð ØˆØð Øˆå	�A‰Œ€BÝ	�A‰Œ€Bà	ˆR‚x€xÝÐ8Ð8­S°°A©Y¬YÐ8Ñ8Ô8Ñ9Ô9Ð9å��R‘‰LŒLˆà�Š7ˆ7Ø�R�a�R”5˜!˜A˜B˜Bœ%ˆqˆAˆAà�R�a�R”5˜!˜A˜B˜Bœ%ˆqˆAàÐ2Ð2¥s¨1¨a¡y¤yÐ2Ñ2Ô2Ñ2Ð2r    c                 óº  ‡‡— |st          | |‰¦  «        S t          | |¦  «        }|dk     r|S t          ||¦  «        }|dk     r| S |dz
  Š||k    r+t          ˆˆfd„t          | |¦  «        D ¦   «         |¦  «        S t	          ||z
  ¦  «        }||k    r| d|…         | |d…         } }n|d|…         ||d…         }}|ˆˆfd„t          | |¦  «        D ¦   «         z   S )zÖ
    Add dense polynomials in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_add(x**2 + y, x**2*y + x)
    x**2*y + x**2 + x + y

    r   r   c                 ó:   •— g | ]\  }}t          ||‰‰¦  «        ‘ŒS r/   ©r"   ©r1   r~   r   r   r%   s      €€r   r3   zdmp_add.<locals>.<listcomp>B  ó+   ø€ ÐFÐFÐF±4°1°a�7 1 a¨¨AÑ.Ô.ÐFÐFÐFr    Nc                 ó:   •— g | ]\  }}t          ||‰‰¦  «        ‘ŒS r/   r�   rŽ   s      €€r   r3   zdmp_add.<locals>.<listcomp>K  ó+   ø€ Ð@Ð@Ð@©T¨Q°•W˜Q  1 aÑ(Ô(Ð@Ð@Ð@r    )rŠ   r   r	   rƒ   rj   ©	r   r…   r$   r   r†   r‡   rˆ   r‰   r%   s	      `    @r   r"   r"   $  s  øø€ ð ð  Ý�q˜!˜QÑÔÐå	�A�qÑ	Ô	€Bà	ˆA‚v€vØˆå	�A�qÑ	Ô	€Bà	ˆA‚v€vØˆà	ˆA‰€Aà	ˆR‚x€xÝÐFÐFÐFÐFÐF½3¸qÀ!¹9¼9ÐFÑFÔFÈÑJÔJÐJå��R‘‰LŒLˆà�Š7ˆ7Ø�R�a�R”5˜!˜A˜B˜Bœ%ˆqˆAˆAà�R�a�R”5˜!˜A˜B˜Bœ%ˆqˆAàÐ@Ð@Ð@Ð@Ð@µS¸¸A±Y´YÐ@Ñ@Ô@Ñ@Ð@r    c                 óœ  — | st          ||¦  «        S |s| S t          | ¦  «        }t          |¦  «        }||k    r't          d„ t          | |¦  «        D ¦   «         ¦  «        S t	          ||z
  ¦  «        }||k    r| d|…         | |d…         } }n"t          |d|…         |¦  «        ||d…         }}|d„ t          | |¦  «        D ¦   «         z   S )zÉ
    Subtract dense polynomials in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_sub(x**2 - 1, x - 2)
    x**2 - x + 1

    c                 ó   — g | ]
\  }}||z
  ‘ŒS r/   r/   r}   s      r   r3   zdup_sub.<locals>.<listcomp>e  r€   r    Nc                 ó   — g | ]
\  }}||z
  ‘ŒS r/   r/   r}   s      r   r3   zdup_sub.<locals>.<listcomp>n  r‚   r    )rx   r   r   rƒ   rj   r„   s          r   Údup_subr–   N  sã   € ð ð Ý�q˜!‰}Œ}ÐØð Øˆå	�A‰Œ€BÝ	�A‰Œ€Bà	ˆR‚x€xÝÐ8Ð8­S°°A©Y¬YÐ8Ñ8Ô8Ñ9Ô9Ð9å��R‘‰LŒLˆà�Š7ˆ7Ø�R�a�R”5˜!˜A˜B˜Bœ%ˆqˆAˆAå˜1˜R˜a˜Rœ5 !Ñ$Ô$ a¨¨¨¤eˆqˆAàÐ2Ð2¥s¨1¨a¡y¤yÐ2Ñ2Ô2Ñ2Ð2r    c                 óö  ‡‡— |st          | |‰¦  «        S t          | |¦  «        }|dk     rt          ||‰¦  «        S t          ||¦  «        }|dk     r| S |dz
  Š||k    r+t          ˆˆfd„t	          | |¦  «        D ¦   «         |¦  «        S t          ||z
  ¦  «        }||k    r| d|…         | |d…         } }n#t          |d|…         |‰¦  «        ||d…         }}|ˆˆfd„t	          | |¦  «        D ¦   «         z   S )zÜ
    Subtract dense polynomials in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_sub(x**2 + y, x**2*y + x)
    -x**2*y + x**2 - x + y

    r   r   c                 ó:   •— g | ]\  }}t          ||‰‰¦  «        ‘ŒS r/   ©r*   rŽ   s      €€r   r3   zdmp_sub.<locals>.<listcomp>�  r�   r    Nc                 ó:   •— g | ]\  }}t          ||‰‰¦  «        ‘ŒS r/   r™   rŽ   s      €€r   r3   zdmp_sub.<locals>.<listcomp>˜  r‘   r    )r–   r   r+   r	   rƒ   rj   r’   s	      `    @r   r*   r*   q  s,  øø€ ð ð  Ý�q˜!˜QÑÔÐå	�A�qÑ	Ô	€Bà	ˆA‚v€vÝ�q˜!˜QÑÔÐå	�A�qÑ	Ô	€Bà	ˆA‚v€vØˆà	ˆA‰€Aà	ˆR‚x€xÝÐFÐFÐFÐFÐF½3¸qÀ!¹9¼9ÐFÑFÔFÈÑJÔJÐJå��R‘‰LŒLˆà�Š7ˆ7Ø�R�a�R”5˜!˜A˜B˜Bœ%ˆqˆAˆAå˜1˜R˜a˜Rœ5 ! QÑ'Ô'¨¨1¨2¨2¬ˆqˆAàÐ@Ð@Ð@Ð@Ð@µS¸¸A±Y´YÐ@Ñ@Ô@Ñ@Ð@r    c                 óB   — t          | t          |||¦  «        |¦  «        S )zá
    Returns ``f + g*h`` where ``f, g, h`` are in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_add_mul(x**2 - 1, x - 2, x + 2)
    2*x**2 - 5

    )rŠ   Údup_mul©r   r…   r‰   r   s       r   Údup_add_mulrž   ›  ó"   € õ �1•g˜a  AÑ&Ô&¨Ñ*Ô*Ð*r    c           	      óF   — t          | t          ||||¦  «        ||¦  «        S )zç
    Returns ``f + g*h`` where ``f, g, h`` are in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_add_mul(x**2 + y, x, x + 2)
    2*x**2 + 2*x + y

    )r"   r9   ©r   r…   r‰   r$   r   s        r   Údmp_add_mulr¢   ¬  ó&   € õ �1•g˜a  A qÑ)Ô)¨1¨aÑ0Ô0Ð0r    c                 óB   — t          | t          |||¦  «        |¦  «        S )zØ
    Returns ``f - g*h`` where ``f, g, h`` are in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_sub_mul(x**2 - 1, x - 2, x + 2)
    3

    )r–   rœ   r�   s       r   Údup_sub_mulr¥   ½  rŸ   r    c           	      óF   — t          | t          ||||¦  «        ||¦  «        S )zß
    Returns ``f - g*h`` where ``f, g, h`` are in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_sub_mul(x**2 + y, x, x + 2)
    -2*x + y

    )r*   r9   r¡   s        r   Údmp_sub_mulr§   Î  r£   r    c           
      ó  — | |k    rt          | |¦  «        S | r|sg S t          | ¦  «        }t          |¦  «        }t          ||¦  «        dz   }|dk     s|j        s’g }t	          d||z   dz   ¦  «        D ]j}|j        }t	          t          d||z
  ¦  «        t          ||¦  «        dz   ¦  «        D ]}	|| |	         |||	z
           z  z  }Œ|                     |¦  «         Œkt          |¦  «        S |dz  }
t          | d|
|¦  «        t          |d|
|¦  «        }}t          t          | |
||¦  «        |
|¦  «        }t          t          ||
||¦  «        |
|¦  «        }t          |||¦  «        t          |||¦  «        }}t          t          |||¦  «        t          |||¦  «        |¦  «        }t          |t          |||¦  «        |¦  «        }t          t          |t          ||
|¦  «        |¦  «        t          |d|
z  |¦  «        |¦  «        S )zÂ
    Multiply dense polynomials in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_mul(x - 2, x + 2)
    x**2 - 4

    r   éd   r   é   )Údup_sqrr   ÚmaxÚis_ExactÚranger   ÚminÚappendr   r   rg   rœ   rŠ   r–   re   )r   r…   r   r†   r‡   r   r‰   r   rk   ÚjÚn2ÚflÚglÚfhÚghÚloÚhiÚmids                     r   rœ   rœ   ß  s  € ð 	ˆA‚v€vÝ�q˜!‰}Œ}Ðàð �!ð Øˆ	å	�A‰Œ€BÝ	�A‰Œ€BåˆB�‰Œ�a‰€Aàˆ3‚w€w�a”j€wØˆå�q˜"˜r™' A™+Ñ&Ô&ð 	ð 	ˆAØ”FˆEå�3˜q ! b¡&™>œ>­3¨r°1©:¬:¸©>Ñ:Ô:ð 'ð '�Ø˜˜1œ˜a  A¡œh™Ñ&��à�HŠH�U‰OŒOˆOˆOå˜‰|Œ|Ðð
 �‰Tˆå˜1˜a  QÑ'Ô'­°1°a¸¸QÑ)?Ô)?ˆBˆå�	 ! R¨¨AÑ.Ô.°°AÑ6Ô6ˆÝ�	 ! R¨¨AÑ.Ô.°°AÑ6Ô6ˆå˜˜R Ñ#Ô#¥W¨R°°QÑ%7Ô%7ˆBˆå•g˜b " aÑ(Ô(­'°"°b¸!Ñ*<Ô*<¸aÑ@Ô@ˆÝ�c�7 2 r¨1Ñ-Ô-¨qÑ1Ô1ˆå•w˜r¥:¨c°2°qÑ#9Ô#9¸1Ñ=Ô=Ý! " a¨¡d¨AÑ.Ô.°ñ3ô 3ð 	3r    c                 ó*  — |st          | ||¦  «        S | |k    rt          | ||¦  «        S t          | |¦  «        }|dk     r| S t          ||¦  «        }|dk     r|S g |dz
  }}t          d||z   dz   ¦  «        D ]Œ}t	          |¦  «        }	t          t          d||z
  ¦  «        t          ||¦  «        dz   ¦  «        D ]3}
t          |	t          | |
         |||
z
           ||¦  «        ||¦  «        }	Œ4| 	                    |	¦  «         Œ�t          ||¦  «        S )zÆ
    Multiply dense polynomials in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_mul(x*y + 1, x)
    x**2*y + x

    r   r   )rœ   Údmp_sqrr   r®   r   r¬   r¯   r"   r9   r°   r	   )r   r…   r$   r   r†   r‡   r‰   r%   r   rk   r±   s              r   r9   r9     s-  € ð ð  Ý�q˜!˜QÑÔÐàˆA‚v€vÝ�q˜!˜QÑÔÐå	�A�qÑ	Ô	€Bà	ˆA‚v€vØˆå	�A�qÑ	Ô	€Bà	ˆA‚v€vØˆàˆq�1‰u€q€Aå�1�b˜2‘g ‘kÑ"Ô"ð ð ˆÝ˜‘”ˆå•s˜1˜a "™f‘~”~¥s¨2¨q¡z¤z°A¡~Ñ6Ô6ð 	Hð 	HˆAÝ˜E¥7¨1¨Q¬4°°1°q±5´¸1¸aÑ#@Ô#@À!ÀQÑGÔGˆEˆEà	�Š�‰Œˆˆå�Q˜‰?Œ?Ðr    c                 ó²  — t          | ¦  «        dz
  g }}t          dd|z  dz   ¦  «        D ]ž}|j        }t          d||z
  ¦  «        }t	          ||¦  «        }||z
  dz   }||dz  z   dz
  }t          ||dz   ¦  «        D ]}	|| |	         | ||	z
           z  z  }Œ||z  }|dz  r| |dz            }
||
dz  z  }|                     |¦  «         ŒŸt          |¦  «        S )zÅ
    Square dense polynomials in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_sqr(x**2 + 1)
    x**4 + 2*x**2 + 1

    r   r   rª   )r   r®   r   r¬   r¯   r°   r   )r   r   r†   r‰   r   r   ÚjminÚjmaxr   r±   Úelems              r   r«   r«   C  s  € õ �‰FŒF�Q‰J˜ˆ€Bå�1�a˜‘d˜Q‘hÑÔð ð ˆØŒFˆå�1�a˜"‘f‰~Œ~ˆÝ�1�b‰zŒzˆà�4‰K˜!‰Oˆà�a˜1‘f‰}˜qÑ ˆå�t˜T A™XÑ&Ô&ð 	ð 	ˆAØ��1”�a˜˜A™”h‘ÑˆAˆAà	ˆQ‰ˆàˆq‰5ð 	Ø�T˜A‘X”;ˆDØ��q‘‰LˆAà	�Š�‰Œˆˆå�Q‰<Œ<Ðr    c                 ó�  — |st          | |¦  «        S t          | |¦  «        }|dk     r| S g |dz
  }}t          dd|z  dz   ¦  «        D ]ï}t          |¦  «        }t	          d||z
  ¦  «        }t          ||¦  «        }	|	|z
  dz   }
||
dz  z   dz
  }	t          ||	dz   ¦  «        D ]3}t          |t          | |         | ||z
           ||¦  «        ||¦  «        }Œ4t          | |d¦  «        ||¦  «        }|
dz  r,t          | |	dz            ||¦  «        }t          ||||¦  «        }| 
                    |¦  «         Œðt          ||¦  «        S )zð
    Square dense polynomials in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_sqr(x**2 + x*y + y**2)
    x**4 + 2*x**3*y + 3*x**2*y**2 + 2*x*y**3 + y**4

    r   r   rª   )r«   r   r®   r   r¬   r¯   r"   r9   rM   r»   r°   r	   )r   r$   r   r†   r‰   r%   r   r   r½   r¾   r   r±   r¿   s                r   r»   r»   k  sm  € ð ð Ý�q˜!‰}Œ}Ðå	�A�qÑ	Ô	€Bà	ˆA‚v€vØˆàˆq�1‰u€q€Aå�1�a˜‘d˜Q‘hÑÔð ð ˆÝ�Q‰KŒKˆå�1�a˜"‘f‰~Œ~ˆÝ�1�b‰zŒzˆà�4‰K˜!‰Oˆà�a˜1‘f‰}˜qÑ ˆå�t˜T A™XÑ&Ô&ð 	@ð 	@ˆAÝ˜�7 1 Q¤4¨¨1¨q©5¬°1°aÑ8Ô8¸!¸QÑ?Ô?ˆAˆAå˜1˜a˜a ™dœd A qÑ)Ô)ˆàˆq‰5ð 	'Ý˜1˜T A™Xœ;¨¨1Ñ-Ô-ˆDÝ˜˜4  AÑ&Ô&ˆAà	�Š�‰Œˆˆå�Q˜‰?Œ?Ðr    c                 óä   — |s|j         gS |dk     rt          d¦  «        ‚|dk    s| r| |j         gk    r| S |j         g}	 |dz  |}}|dz  rt          || |¦  «        }|snt          | |¦  «        } Œ1|S )zÕ
    Raise ``f`` to the ``n``-th power in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_pow(x - 2, 3)
    x**3 - 6*x**2 + 12*x - 8

    r   ú+Cannot raise polynomial to a negative powerr   Trª   )ÚoneÚ
ValueErrorrœ   r«   )r   r   r   r…   r   s        r   Údup_powrÅ   ›  s§   € ð ð Ø”ˆwˆØˆ1‚u€uÝÐFÑGÔGÐGØˆA‚v€v�Q€v˜! ¤˜wš,˜,Øˆà	
Œˆ€Að	Ø�!‰t�Qˆ1ˆàˆq‰5ð 	Ý˜˜1˜aÑ Ô ˆAàð Øå�A�q‰MŒMˆð	ð €Hr    c                 óT  — |st          | ||¦  «        S |st          ||¦  «        S |dk     rt          d¦  «        ‚|dk    s!t          | |¦  «        st	          | ||¦  «        r| S t          ||¦  «        }	 |dz  |}}|dz  rt          || ||¦  «        }|snt          | ||¦  «        } Œ3|S )zæ
    Raise ``f`` to the ``n``-th power in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_pow(x*y + 1, 3)
    x**3*y**3 + 3*x**2*y**2 + 3*x*y + 1

    r   rÂ   r   Trª   )rÅ   r   rÄ   r
   r   r9   r»   )r   r   r$   r   r…   r   s         r   Údmp_powrÇ   À  sÞ   € ð ð  Ý�q˜!˜QÑÔÐàð Ý�q˜!‰}Œ}ÐØˆ1‚u€uÝÐFÑGÔGÐGØˆA‚v€v•˜A˜qÑ!Ô!€v¥Y¨q°!°QÑ%7Ô%7€vØˆå��1‰Œ€Að	Ø�!‰t�Qˆ1ˆàˆq‰5ð 	Ý˜˜1˜a Ñ#Ô#ˆAàð Øå�A�q˜!ÑÔˆð	ð €Hr    c                 óJ  — t          | ¦  «        }t          |¦  «        }g | |}}}|st          d¦  «        ‚||k     r||fS ||z
  dz   }t          ||¦  «        }		 t          ||¦  «        }
||z
  |dz
  }}t          ||	|¦  «        }t	          ||
||¦  «        }t          ||	|¦  «        }t          ||
||¦  «        }t          |||¦  «        }|t          |¦  «        }}||k     rn||k     st          | ||¦  «        ‚Œ¡|	|z  }t          |||¦  «        }t          |||¦  «        }||fS )zÍ
    Polynomial pseudo-division in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_pdiv(x**2 + 1, 2*x - 4)
    (2*x + 4, 20)

    rQ   r   )r   rV   r   rJ   r   r6   r–   r   )r   r…   r   r†   r‡   ÚqÚrÚdrÚNÚlc_gÚlc_rr±   ÚQÚRÚGÚ_drr   s                    r   Údup_pdivrÓ   è  sW  € õ 
�A‰Œ€BÝ	�A‰Œ€Bà�1�bˆ"€q€Aàð ÝÐ 5Ñ6Ô6Ð6Ø	ˆbŠˆØ�!ˆtˆà
ˆR‰�!‰€AÝ�!�Q‰<Œ<€Dð4Ý�a˜‰|Œ|ˆØ�B‰w˜˜A™ˆ1ˆå˜1˜d AÑ&Ô&ˆÝ˜˜D ! QÑ'Ô'ˆå˜1˜d AÑ&Ô&ˆÝ˜˜D ! QÑ'Ô'ˆÝ�A�q˜!ÑÔˆà•j ‘m”mˆRˆà�Š7ˆ7ØØ�s’(�(Ý*¨1¨a°Ñ3Ô3Ð3ð!4ð$ 	ˆa‰€Aå�q˜!˜QÑÔ€AÝ�q˜!˜QÑÔ€Aàˆaˆ4€Kr    c                 óÎ  — t          | ¦  «        }t          |¦  «        }| |}}|st          d¦  «        ‚||k     r|S ||z
  dz   }t          ||¦  «        }	 t          ||¦  «        }	||z
  |dz
  }}
t          |||¦  «        }t	          ||	|
|¦  «        }t          |||¦  «        }|t          |¦  «        }}||k     rn||k     st          | ||¦  «        ‚Œ~t          |||z  |¦  «        S )zÃ
    Polynomial pseudo-remainder in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_prem(x**2 + 1, 2*x - 4)
    20

    rQ   r   )r   rV   r   rJ   r6   r–   r   )r   r…   r   r†   r‡   rÊ   rË   rÌ   rÍ   rÎ   r±   rÐ   rÑ   rÒ   s                 r   Údup_premrÕ     s  € õ 
�A‰Œ€BÝ	�A‰Œ€Bàˆr€r€Aàð ÝÐ 5Ñ6Ô6Ð6Ø	ˆbŠˆØˆà
ˆR‰�!‰€AÝ�!�Q‰<Œ<€Dð4Ý�a˜‰|Œ|ˆØ�B‰w˜˜A™ˆ1ˆå˜1˜d AÑ&Ô&ˆÝ˜˜D ! QÑ'Ô'ˆÝ�A�q˜!ÑÔˆà•j ‘m”mˆRˆà�Š7ˆ7ØØ�s’(�(Ý*¨1¨a°Ñ3Ô3Ð3ð4õ ˜!˜T 1™W aÑ(Ô(Ð(r    c                 ó0   — t          | ||¦  «        d         S )a   
    Polynomial exact pseudo-quotient in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_pquo(x**2 - 1, 2*x - 2)
    2*x + 2

    >>> R.dup_pquo(x**2 + 1, 2*x - 4)
    2*x + 4

    r   )rÓ   ©r   r…   r   s      r   Údup_pquorØ   J  s   € õ" �A�q˜!ÑÔ˜QÔÐr    c                 óR   — t          | ||¦  «        \  }}|s|S t          | |¦  «        ‚)a\  
    Polynomial pseudo-quotient in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_pexquo(x**2 - 1, 2*x - 2)
    2*x + 2

    >>> R.dup_pexquo(x**2 + 1, 2*x - 4)
    Traceback (most recent call last):
    ...
    ExactQuotientFailed: [2, -4] does not divide [1, 0, 1]

    )rÓ   r   ©r   r…   r   rÉ   rÊ   s        r   Ú
dup_pexquorÛ   ^  s6   € õ& �A�q˜!ÑÔ�D€A€qàð (Øˆå! ! QÑ'Ô'Ð'r    c                 óÎ  — |st          | ||¦  «        S t          | |¦  «        }t          ||¦  «        }|dk     rt          d¦  «        ‚t          |¦  «        | |}}}||k     r||fS ||z
  dz   }	t	          ||¦  «        }
	 t	          ||¦  «        }||z
  |	dz
  }	}t          ||
d||¦  «        }t          |||||¦  «        }t          ||
d||¦  «        }t          |||||¦  «        }t          ||||¦  «        }|t          ||¦  «        }}||k     rn||k     st          | ||¦  «        ‚Œ©t          |
|	|dz
  |¦  «        }t          ||d||¦  «        }t          ||d||¦  «        }||fS )zß
    Polynomial pseudo-division in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_pdiv(x**2 + x*y, 2*x + 2)
    (2*x + 2*y - 2, -4*y + 4)

    r   rQ   r   )
rÓ   r   rV   r   r   r;   r&   r*   r   rÇ   )r   r…   r$   r   r†   r‡   rÉ   rÊ   rË   rÌ   rÍ   rÎ   r±   rÏ   rÐ   rÑ   rÒ   r   s                     r   Údmp_pdivrÝ   y  s¨  € ð ð !Ý˜˜1˜aÑ Ô Ð å	�A�qÑ	Ô	€BÝ	�A�qÑ	Ô	€Bà	ˆA‚v€vÝÐ 5Ñ6Ô6Ð6å˜‰{Œ{˜A˜rˆ"€q€Aà	ˆB‚w€wØ�!ˆtˆà
ˆR‰�!‰€AÝ�!�Q‰<Œ<€Dð4Ý�a˜‰|Œ|ˆØ�B‰w˜˜A™ˆ1ˆå˜˜D ! Q¨Ñ*Ô*ˆÝ˜˜D ! Q¨Ñ*Ô*ˆå˜˜D ! Q¨Ñ*Ô*ˆÝ˜˜D ! Q¨Ñ*Ô*ˆÝ�A�q˜!˜QÑÔˆà•j  AÑ&Ô&ˆRˆà�Š7ˆ7ØØ�s’(�(Ý*¨1¨a°Ñ3Ô3Ð3ð!4õ$ 	��a˜˜Q™ Ñ"Ô"€Aå�Q˜˜1˜a Ñ#Ô#€AÝ�Q˜˜1˜a Ñ#Ô#€Aàˆaˆ4€Kr    c                 ó2  — |st          | ||¦  «        S t          | |¦  «        }t          ||¦  «        }|dk     rt          d¦  «        ‚| |}}||k     r|S ||z
  dz   }t          ||¦  «        }		 t          ||¦  «        }
||z
  |dz
  }}t	          ||	d||¦  «        }t	          ||
|||¦  «        }t          ||||¦  «        }|t          ||¦  «        }}||k     rn||k     st          | ||¦  «        ‚Œƒt          |	||dz
  |¦  «        }t	          ||d||¦  «        S )zÏ
    Polynomial pseudo-remainder in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_prem(x**2 + x*y, 2*x + 2)
    -4*y + 4

    r   rQ   r   )rÕ   r   rV   r   r;   r*   r   rÇ   )r   r…   r$   r   r†   r‡   rÊ   rË   rÌ   rÍ   rÎ   r±   rÐ   rÑ   rÒ   r   s                   r   Údmp_premrß   ²  sS  € ð ð !Ý˜˜1˜aÑ Ô Ð å	�A�qÑ	Ô	€BÝ	�A�qÑ	Ô	€Bà	ˆA‚v€vÝÐ 5Ñ6Ô6Ð6àˆr€r€Aà	ˆB‚w€wØˆà
ˆR‰�!‰€AÝ�!�Q‰<Œ<€Dð4Ý�a˜‰|Œ|ˆØ�B‰w˜˜A™ˆ1ˆå˜˜D ! Q¨Ñ*Ô*ˆÝ˜˜D ! Q¨Ñ*Ô*ˆÝ�A�q˜!˜QÑÔˆà•j  AÑ&Ô&ˆRˆà�Š7ˆ7ØØ�s’(�(Ý*¨1¨a°Ñ3Ô3Ð3ð4õ 	��a˜˜Q™ Ñ"Ô"€Aå˜˜1˜a  AÑ&Ô&Ð&r    c                 ó2   — t          | |||¦  «        d         S )a.  
    Polynomial exact pseudo-quotient in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = x**2 + x*y
    >>> g = 2*x + 2*y
    >>> h = 2*x + 2

    >>> R.dmp_pquo(f, g)
    2*x

    >>> R.dmp_pquo(f, h)
    2*x + 2*y - 2

    r   )rÝ   ©r   r…   r$   r   s       r   Údmp_pquorâ   å  s   € õ* �A�q˜!˜QÑÔ Ô"Ð"r    c                 óp   — t          | |||¦  «        \  }}t          ||¦  «        r|S t          | |¦  «        ‚)a�  
    Polynomial pseudo-quotient in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = x**2 + x*y
    >>> g = 2*x + 2*y
    >>> h = 2*x + 2

    >>> R.dmp_pexquo(f, g)
    2*x

    >>> R.dmp_pexquo(f, h)
    Traceback (most recent call last):
    ...
    ExactQuotientFailed: [[2], [2]] does not divide [[1], [1, 0], []]

    )rÝ   r
   r   ©r   r…   r$   r   rÉ   rÊ   s         r   Ú
dmp_pexquorå   ý  sB   € õ. �A�q˜!˜QÑÔ�D€A€qå�!�QÑÔð (Øˆå! ! QÑ'Ô'Ð'r    c                 óÖ  — t          | ¦  «        }t          |¦  «        }g | |}}}|st          d¦  «        ‚||k     r||fS t          ||¦  «        }	 t          ||¦  «        }	|	|z  rn€|                     |	|¦  «        }
||z
  }t	          ||
||¦  «        }t          ||
||¦  «        }t          |||¦  «        }|t          |¦  «        }}||k     rn||k     st          | ||¦  «        ‚Œ–||fS )z×
    Univariate division with remainder over a ring.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_rr_div(x**2 + 1, 2*x - 4)
    (0, x**2 + 1)

    rQ   )r   rV   r   r^   r   r6   r–   r   ©r   r…   r   r†   r‡   rÉ   rÊ   rË   rÍ   rÎ   r   r±   r‰   rÒ   s                 r   Ú
dup_rr_divrè     s  € õ 
�A‰Œ€BÝ	�A‰Œ€Bà�1�bˆ"€q€Aàð ÝÐ 5Ñ6Ô6Ð6Ø	ˆbŠˆØ�!ˆtˆå�!�Q‰<Œ<€Dð4Ý�a˜‰|Œ|ˆà�$‰;ð 	Øà�GŠG�D˜$ÑÔˆØ�‰Gˆå˜˜A˜q !Ñ$Ô$ˆÝ˜˜A˜q !Ñ$Ô$ˆÝ�A�q˜!ÑÔˆà•j ‘m”mˆRˆà�Š7ˆ7ØØ�s’(�(Ý*¨1¨a°Ñ3Ô3Ð3ð%4ð( ˆaˆ4€Kr    c                 óH  — |st          | ||¦  «        S t          | |¦  «        }t          ||¦  «        }|dk     rt          d¦  «        ‚t          |¦  «        | |}}}||k     r||fS t	          ||¦  «        |dz
  }
}		 t	          ||¦  «        }t          ||	|
|¦  «        \  }}t          ||
¦  «        snn||z
  }t          |||||¦  «        }t          |||||¦  «        }t          ||||¦  «        }|t          ||¦  «        }}||k     rn||k     st          | ||¦  «        ‚Œ¤||fS )zá
    Multivariate division with remainder over a ring.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_rr_div(x**2 + x*y, 2*x + 2)
    (0, x**2 + x*y)

    r   rQ   r   )rè   r   rV   r   r   Ú
dmp_rr_divr
   r&   r;   r*   r   ©r   r…   r$   r   r†   r‡   rÉ   rÊ   rË   rÍ   r%   rÎ   r   rÐ   r±   r‰   rÒ   s                    r   rê   rê   M  ó\  € ð ð #Ý˜!˜Q Ñ"Ô"Ð"å	�A�qÑ	Ô	€BÝ	�A�qÑ	Ô	€Bà	ˆA‚v€vÝÐ 5Ñ6Ô6Ð6å˜‰{Œ{˜A˜rˆ"€q€Aà	ˆB‚w€wØ�!ˆtˆå�Q˜‰lŒl˜A ™Eˆ!€Dð4Ý�a˜‰|Œ|ˆÝ˜$  a¨Ñ+Ô+‰ˆˆ1å˜!˜QÑÔð 	Øà�‰Gˆå˜˜A˜q ! QÑ'Ô'ˆÝ˜˜A˜q ! QÑ'Ô'ˆÝ�A�q˜!˜QÑÔˆà•j  AÑ&Ô&ˆRˆà�Š7ˆ7ØØ�s’(�(Ý*¨1¨a°Ñ3Ô3Ð3ð%4ð( ˆaˆ4€Kr    c                 ó@  — t          | ¦  «        }t          |¦  «        }g | |}}}|st          d¦  «        ‚||k     r||fS t          ||¦  «        }	 t          ||¦  «        }	|                     |	|¦  «        }
||z
  }t	          ||
||¦  «        }t          ||
||¦  «        }t          |||¦  «        }|t          |¦  «        }}||k     rnS||k    r5|j        s.t          |dd…         ¦  «        }t          |¦  «        }||k     rnn||k     st          | ||¦  «        ‚ŒË||fS )zÙ
    Polynomial division with remainder over a field.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x = ring("x", QQ)

    >>> R.dup_ff_div(x**2 + 1, 2*x - 4)
    (1/2*x + 1, 5)

    rQ   Tr   N)
r   rV   r   r^   r   r6   r–   r­   r   r   rç   s                 r   Ú
dup_ff_divrî   ‚  sH  € õ 
�A‰Œ€BÝ	�A‰Œ€Bà�1�bˆ"€q€Aàð ÝÐ 5Ñ6Ô6Ð6Ø	ˆbŠˆØ�!ˆtˆå�!�Q‰<Œ<€Dð4Ý�a˜‰|Œ|ˆà�GŠG�D˜$ÑÔˆØ�‰Gˆå˜˜A˜q !Ñ$Ô$ˆÝ˜˜A˜q !Ñ$Ô$ˆÝ�A�q˜!ÑÔˆà•j ‘m”mˆRˆà�Š7ˆ7ØØ�3ŠYˆY˜qœzˆYå˜!˜A˜B˜Bœ%Ñ Ô ˆAÝ˜A‘”ˆBØ�BŠwˆwØð à�s’(�(Ý*¨1¨a°Ñ3Ô3Ð3ð+4ð. ˆaˆ4€Kr    c                 óH  — |st          | ||¦  «        S t          | |¦  «        }t          ||¦  «        }|dk     rt          d¦  «        ‚t          |¦  «        | |}}}||k     r||fS t	          ||¦  «        |dz
  }
}		 t	          ||¦  «        }t          ||	|
|¦  «        \  }}t          ||
¦  «        snn||z
  }t          |||||¦  «        }t          |||||¦  «        }t          ||||¦  «        }|t          ||¦  «        }}||k     rn||k     st          | ||¦  «        ‚Œ¤||fS )zî
    Polynomial division with remainder over a field.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x,y = ring("x,y", QQ)

    >>> R.dmp_ff_div(x**2 + x*y, 2*x + 2)
    (1/2*x + 1/2*y - 1/2, -y + 1)

    r   rQ   r   )rî   r   rV   r   r   Ú
dmp_ff_divr
   r&   r;   r*   r   rë   s                    r   rð   rð   ¶  rì   r    c                 óT   — |j         rt          | ||¦  «        S t          | ||¦  «        S )a.  
    Polynomial division with remainder in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x = ring("x", ZZ)
    >>> R.dup_div(x**2 + 1, 2*x - 4)
    (0, x**2 + 1)

    >>> R, x = ring("x", QQ)
    >>> R.dup_div(x**2 + 1, 2*x - 4)
    (1/2*x + 1, 5)

    )rW   rî   rè   r×   s      r   Údup_divrò   ë  s2   € ð$ 	„zð #Ý˜!˜Q Ñ"Ô"Ð"å˜!˜Q Ñ"Ô"Ð"r    c                 ó0   — t          | ||¦  «        d         S )a  
    Returns polynomial remainder in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x = ring("x", ZZ)
    >>> R.dup_rem(x**2 + 1, 2*x - 4)
    x**2 + 1

    >>> R, x = ring("x", QQ)
    >>> R.dup_rem(x**2 + 1, 2*x - 4)
    5

    r   ©rò   r×   s      r   Údup_remrõ     ó   € õ$ �1�a˜ÑÔ˜AÔÐr    c                 ó0   — t          | ||¦  «        d         S )a  
    Returns exact polynomial quotient in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x = ring("x", ZZ)
    >>> R.dup_quo(x**2 + 1, 2*x - 4)
    0

    >>> R, x = ring("x", QQ)
    >>> R.dup_quo(x**2 + 1, 2*x - 4)
    1/2*x + 1

    r   rô   r×   s      r   Údup_quorø     rö   r    c                 óR   — t          | ||¦  «        \  }}|s|S t          | |¦  «        ‚)aW  
    Returns polynomial quotient in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_exquo(x**2 - 1, x - 1)
    x + 1

    >>> R.dup_exquo(x**2 + 1, 2*x - 4)
    Traceback (most recent call last):
    ...
    ExactQuotientFailed: [2, -4] does not divide [1, 0, 1]

    )rò   r   rÚ   s        r   Ú	dup_exquorú   -  s6   € õ& �1�a˜ÑÔ�D€A€qàð (Øˆå! ! QÑ'Ô'Ð'r    c                 óX   — |j         rt          | |||¦  «        S t          | |||¦  «        S )aK  
    Polynomial division with remainder in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x,y = ring("x,y", ZZ)
    >>> R.dmp_div(x**2 + x*y, 2*x + 2)
    (0, x**2 + x*y)

    >>> R, x,y = ring("x,y", QQ)
    >>> R.dmp_div(x**2 + x*y, 2*x + 2)
    (1/2*x + 1/2*y - 1/2, -y + 1)

    )rW   rð   rê   rá   s       r   Údmp_divrü   H  s6   € ð$ 	„zð &Ý˜!˜Q  1Ñ%Ô%Ð%å˜!˜Q  1Ñ%Ô%Ð%r    c                 ó2   — t          | |||¦  «        d         S )a)  
    Returns polynomial remainder in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x,y = ring("x,y", ZZ)
    >>> R.dmp_rem(x**2 + x*y, 2*x + 2)
    x**2 + x*y

    >>> R, x,y = ring("x,y", QQ)
    >>> R.dmp_rem(x**2 + x*y, 2*x + 2)
    -y + 1

    r   ©rü   rá   s       r   Údmp_remrÿ   `  ó   € õ$ �1�a˜˜AÑÔ˜qÔ!Ð!r    c                 ó2   — t          | |||¦  «        d         S )a2  
    Returns exact polynomial quotient in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x,y = ring("x,y", ZZ)
    >>> R.dmp_quo(x**2 + x*y, 2*x + 2)
    0

    >>> R, x,y = ring("x,y", QQ)
    >>> R.dmp_quo(x**2 + x*y, 2*x + 2)
    1/2*x + 1/2*y - 1/2

    r   rþ   rá   s       r   Údmp_quor  u  r   r    c                 óp   — t          | |||¦  «        \  }}t          ||¦  «        r|S t          | |¦  «        ‚)aˆ  
    Returns polynomial quotient in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = x**2 + x*y
    >>> g = x + y
    >>> h = 2*x + 2

    >>> R.dmp_exquo(f, g)
    x

    >>> R.dmp_exquo(f, h)
    Traceback (most recent call last):
    ...
    ExactQuotientFailed: [[2], [2]] does not divide [[1], [1, 0], []]

    )rü   r
   r   rä   s         r   Ú	dmp_exquor  Š  sB   € õ. �1�a˜˜AÑÔ�D€A€qå�!�QÑÔð (Øˆå! ! QÑ'Ô'Ð'r    c                 óN   — | s|j         S t          t          | |¦  «        ¦  «        S )zÍ
    Returns maximum norm of a polynomial in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_max_norm(-x**2 + 2*x - 3)
    3

    )r   r¬   rm   rl   s     r   Údup_max_normr  ©  ó)   € ð ð "ØŒvˆå•7˜1˜a‘=”=Ñ!Ô!Ð!r    c                 ól   ‡‡— |st          | ‰¦  «        S |dz
  Št          ˆˆfd„| D ¦   «         ¦  «        S )zÏ
    Returns maximum norm of a polynomial in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_max_norm(2*x*y - x - 3)
    3

    r   c              3   ó:   •K  — | ]}t          |‰‰¦  «        V — Œd S ©N)Údmp_max_norm©r1   r   r   r%   s     €€r   ú	<genexpr>zdmp_max_norm.<locals>.<genexpr>Ð  s/   øè è € Ð0Ð0¨�|˜A˜q !Ñ$Ô$Ð0Ð0Ð0Ð0Ð0Ð0r    )r  r¬   rs   s     `@r   r  r  ½  sM   øø€ ð ð "Ý˜A˜qÑ!Ô!Ð!à	ˆA‰€AåÐ0Ð0Ð0Ð0Ð0¨aÐ0Ñ0Ô0Ñ0Ô0Ð0r    c                 óN   — | s|j         S t          t          | |¦  «        ¦  «        S )zË
    Returns l1 norm of a polynomial in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_l1_norm(2*x**3 - 3*x**2 + 1)
    6

    )r   Úsumrm   rl   s     r   Údup_l1_normr  Ó  r  r    c                 ól   ‡‡— |st          | ‰¦  «        S |dz
  Št          ˆˆfd„| D ¦   «         ¦  «        S )zÉ
    Returns l1 norm of a polynomial in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_l1_norm(2*x*y - x - 3)
    6

    r   c              3   ó:   •K  — | ]}t          |‰‰¦  «        V — Œd S r
  )Údmp_l1_normr  s     €€r   r  zdmp_l1_norm.<locals>.<genexpr>ú  s/   øè è € Ð/Ð/¨�{˜1˜a Ñ#Ô#Ð/Ð/Ð/Ð/Ð/Ð/r    )r  r  rs   s     `@r   r  r  ç  sM   øø€ ð ð !Ý˜1˜aÑ Ô Ð à	ˆA‰€AåÐ/Ð/Ð/Ð/Ð/¨QÐ/Ñ/Ô/Ñ/Ô/Ð/r    c                 ó@   — t          d„ | D ¦   «         |j        ¦  «        S )zÜ
    Returns squared l2 norm of a polynomial in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_l2_norm_squared(2*x**3 - 3*x**2 + 1)
    14

    c                 ó   — g | ]}|d z  ‘ŒS )rª   r/   rw   s     r   r3   z'dup_l2_norm_squared.<locals>.<listcomp>  s   € Ð(Ð(Ð(˜U��q‘Ð(Ð(Ð(r    )r  r   rl   s     r   Údup_l2_norm_squaredr  ý  s%   € õ Ð(Ð( aÐ(Ñ(Ô(¨!¬&Ñ1Ô1Ð1r    c                 ól   ‡‡— |st          | ‰¦  «        S |dz
  Št          ˆˆfd„| D ¦   «         ¦  «        S )zÚ
    Returns squared l2 norm of a polynomial in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_l2_norm_squared(2*x*y - x - 3)
    14

    r   c              3   ó:   •K  — | ]}t          |‰‰¦  «        V — Œd S r
  )Údmp_l2_norm_squaredr  s     €€r   r  z&dmp_l2_norm_squared.<locals>.<genexpr>!  s0   øè è € Ð7Ð7°Õ" 1 a¨Ñ+Ô+Ð7Ð7Ð7Ð7Ð7Ð7r    )r  r  rs   s     `@r   r  r    sM   øø€ ð ð )Ý" 1 aÑ(Ô(Ð(à	ˆA‰€AåÐ7Ð7Ð7Ð7Ð7°QÐ7Ñ7Ô7Ñ7Ô7Ð7r    c                 óf   — | s|j         gS | d         }| dd…         D ]}t          |||¦  «        }Œ|S )zØ
    Multiply together several polynomials in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_expand([x**2 - 1, x, 2])
    2*x**3 - 2*x

    r   r   N)rÃ   rœ   )Úpolysr   r   r…   s       r   Ú
dup_expandr  $  sM   € ð ð Ø”ˆwˆàˆaŒ€Aà�1�2�2ŒYð ð ˆÝ�A�q˜!ÑÔˆˆà€Hr    c                 óx   — | st          ||¦  «        S | d         }| dd…         D ]}t          ||||¦  «        }Œ|S )zï
    Multiply together several polynomials in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_expand([x**2 + y**2, x + 1])
    x**3 + x**2 + x*y**2 + y**2

    r   r   N)r   r9   )r  r$   r   r   r…   s        r   Ú
dmp_expandr  =  sT   € ð ð Ý�q˜!‰}Œ}ÐàˆaŒ€Aà�1�2�2ŒYð  ð  ˆÝ�A�q˜!˜QÑÔˆˆà€Hr    N)RÚ__doc__Úsympy.polys.densebasicr   r   r   r   r   r   r	   r
   r   r   r   r   r   Úsympy.polys.polyerrorsr   r   r   r&   r(   r,   r6   r;   r>   rB   rE   rG   rJ   rM   rX   r[   r_   rb   re   rg   rm   rp   rx   r+   rŠ   r"   r–   r*   rž   r¢   r¥   r§   rœ   r9   r«   r»   rÅ   rÇ   rÓ   rÕ   rØ   rÛ   rÝ   rß   râ   rå   rè   rê   rî   rð   rò   rõ   rø   rú   rü   rÿ   r  r  r  r  r  r  r  r  r  r  r/   r    r   ú<module>r"     s©  ðØ KÐ Kðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð SÐ RÐ RÐ RÐ RÐ RÐ RÐ Rð2ð 2ð 2ð:@ð @ð @ðD2ð 2ð 2ð:@ð @ð @ðD3ð 3ð 3ð(Ið Ið Ið6$ð $ð $ð":ð :ð :ð"$ð $ð $ð":ð :ð :ð"&ð &ð &ð(7ð 7ð 7ð,'ð 'ð 'ð:7ð 7ð 7ð4*ð *ð *ð,9ð 9ð 9ð,ð ð ð(ð ð ð&+ð +ð +ð"-ð -ð -ð,%ð %ð %ð"-ð -ð -ð, 3ð  3ð  3ðF'Að 'Að 'AðT 3ð  3ð  3ðF'Að 'Að 'AðT+ð +ð +ð"1ð 1ð 1ð"+ð +ð +ð"1ð 1ð 1ð"63ð 63ð 63ðr(ð (ð (ðV%ð %ð %ðP-ð -ð -ð`"ð "ð "ðJ%ð %ð %ðP2ð 2ð 2ðj*)ð *)ð *)ðZ ð  ð  ð((ð (ð (ð66ð 6ð 6ðr0'ð 0'ð 0'ðf#ð #ð #ð0(ð (ð (ð>.ð .ð .ðb2ð 2ð 2ðj1ð 1ð 1ðh2ð 2ð 2ðj#ð #ð #ð0ð ð ð*ð ð ð*(ð (ð (ð6&ð &ð &ð0"ð "ð "ð*"ð "ð "ð*(ð (ð (ð>"ð "ð "ð(1ð 1ð 1ð,"ð "ð "ð(0ð 0ð 0ð,2ð 2ð 2ð"8ð 8ð 8ð,ð ð ð2ð ð ð ð r    