
    \h+                        S r SSKJrJrJrJrJrJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJrJrJrJr  SSKJrJrJrJrJrJr  SSKJr  SS	KJr  SS
KJr  SSK J!r!J"r"  SSK#J$r$  SSK%J&r&J'r'J(r(  \'S(S j5       r)\'S(S j5       r*\'SS.S j5       r+\'\S4S j5       r,\'S)S j5       r-S r.S r/S r0S r1S r2S r3SSK4J5r5  S r6S r7S r8S  r9S! r:S" r;S# r<S$ r=S% r>S& r?S' r@g)*zIFunctions for generating interesting polynomials, e.g. for benchmarking.     )AddMulSymbolsympifyDummysymbols)Tuple)S)	nextprime)dmp_add_termdmp_negdmp_muldmp_sqr)dmp_zerodmp_one
dmp_grounddup_from_raw_dict	dmp_raise
dup_random)ZZ)dup_zz_cyclotomic_poly)DMP)PolyPurePoly)_analyze_gens)subsetspublic
filldedentNFc                    U S::  a  [        SU -  5      eUb  [        U5        O[        S5      nU S:  a\  SSKJn  SSKJn  SnU" S5      /n[        SU S-   5       H%  n[        U5      nUR                  U" U5      5        M'     U" [        U6 XS	9$ U S:X  a	  US-  S-
  nOAU S:X  a  US
-  SUS-  -  -
  S-   nO)U S:X  a#  US-  SUS-  -  -
  SUS
-  -  -   SUS-  -  -
  S-   nU(       a  [        WU5      $ W$ )zGenerates n-th Swinnerton-Dyer polynomial in `x`.

Parameters
----------
n : int
    `n` decides the order of polynomial
x : optional
polys : bool, optional
    ``polys=True`` returns an expression, otherwise
    (default) returns an expression.
r   z6Cannot generate Swinnerton-Dyer polynomial of order %sx   )sqrt   )minimal_polynomial   polys   
      (      i`  i  i@  )
ValueErrorr   r   (sympy.functions.elementary.miscellaneousr"   numberfieldsr$   ranger   appendr   r   )	nr    r'   r"   r$   paiexs	            P/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/specialpolys.pyswinnerton_dyer_polyr8      s    	AvDqHJ 	J 	}
#J1uA4!WIq!a%A!AHHT!W ! "#q'1::AvTAX	
aTBq!tG^a	
aTBq!tG^c!Q$h&QT1C7#8B?++    c                    U S::  a  [        SU -  5      e[        [        [        U 5      [        5      [        5      nUb  [
        R                  " X15      nO [        R                  " U[        S5      5      nU(       a  U$ UR                  5       $ )zGenerates cyclotomic polynomial of order `n` in `x`.

Parameters
----------
n : int
    `n` decides the order of polynomial
x : optional
polys : bool, optional
    ``polys=True`` returns an expression, otherwise
    (default) returns an expression.
r   z1Cannot generate cyclotomic polynomial of order %sr    )
r-   r   r   intr   r   newr   r   as_expr)r2   r    r'   polys       r7   cyclotomic_polyr?   A   sv     	Av?!CE 	E %c!fb126D}xx ||D%*-4,dlln,r9   r&   c                >   [        U5      nU S:  d  U [        U5      :  d  U(       d  [        SU < SU< 35      eU (       d  [        R                  nO2[        [        U[        U 5      5       Vs/ s H  n[        U6 PM     sn6 nU(       a  [        U/UQ76 $ U$ s  snf )z
Generates symmetric polynomial of order `n`.

Parameters
==========

polys: bool, optional (default: False)
    Returns a Poly object when ``polys=True``, otherwise
    (default) returns an expression.
r   z.Cannot generate symmetric polynomial of order z for )
r   lenr-   r
   Oner   r   r;   r   r   )r2   r'   gensr>   ss        r7   symmetric_polyrE   \   s     D1uCITVWY]^__uugdCF&;<&;S!W&;<= %4t/4/ =s   /Bc                 \    [        [        XX45      XS9nU(       a  U$ UR                  5       $ )a  Generates a polynomial of degree ``n`` with coefficients in
``[inf, sup]``.

Parameters
----------
x
    `x` is the independent term of polynomial
n : int
    `n` decides the order of polynomial
inf
    Lower limit of range in which coefficients lie
sup
    Upper limit of range in which coefficients lie
domain : optional
     Decides what ring the coefficients are supposed
     to belong. Default is set to Integers.
polys : bool, optional
    ``polys=True`` returns an expression, otherwise
    (default) returns an expression.
)domain)r   r   r=   )r    r2   infsuprG   r'   r>   s          r7   random_polyrJ   t   s*    , 
13/BD4,dlln,r9   c           	         [        USS5      n[        U[        5      (       a  [        U< SU < 35      nO#U(       a  U[	        U6 R
                  -  (       a  Sn[        U[        5      (       a  [        U< SU < 35      nO#U(       a  U[	        U6 R
                  -  (       a  SnU(       d  [        [        S5      5      e/ n[        [        U 5       Vs/ s H	  oaX&   -
  PM     sn6 n[        U 5       HO  nXqX&   -
  -  n[        [        U 5       V	s/ s H  oU	:w  d  M
  X&   X)   -
  PM     sn	6 n
UR                  X-  5        MQ     [        [        XS5       VVs/ s H	  u  pX-  PM     snn6 $ s  snf s  sn	f s  snnf )zConstruct Lagrange interpolating polynomial for ``n``
data points. If a sequence of values are given for ``X`` and ``Y``
then the first ``n`` values will be used.
free_symbolsN:Fz~
            Expecting symbol for x that does not appear in X or Y.
            Use `interpolate(list(zip(X, Y)), x)` instead.)getattr
isinstancestrr   r	   rL   r-   r   r   r0   r1   r   zip)r2   r    XYokcoeffsr5   numertnumerjdenomcoeffys                r7   interpolating_polyr\      sK    
ND	)B!Sq!$%	UAY+++!Sq!$%	UAY+++ %> ? @ 	@ FU1X.Xqt8X./F1XAD!U1X@Xa{qtad{X@Aek" 
 V8XU899 / A 9s   E-	E2
E2
E7
c           	         [        U S-   5       Vs/ s H  n[        S[        U5      -   5      PM     nnUS   US   pCU[        USS 6 -   nUS-  [        USS  Vs/ s H  ofS-  PM	     sn6 -   nUS-   US-   -  R                  " U6 nUS-   SU-  US-  -  US-  -   S-
  -  R                  " U6 n	[        S/UQ76 n
XU
4$ s  snf s  snf )%Fateman's GCD benchmark: trivial GCD r#   y_r   Nr%   )r0   r   rP   r   as_polyr   )r2   r5   rS   y_0y_1ur[   vFGHs              r7   fateman_poly_F_1ri      s    (-a!e51s1v	A5tQqTc1QR5kAQQqrU+U!tU+,,A
a%!a%!!1%A
a%"S&a-#q&(1,	-66:AQA7N 	6
 ,s   !B>C
c                 \   U" S5      U" S5      /n[        U 5       H  n[        X15      U/nM     U" S5      U" S5      U" S5      /n[        SU 5       H  n[        X15      [        U5      U/nM     U S-
  n[        U[	        U" S5      U5      SX5      n[        U[	        U" S5      U5      SX5      nU" S5      * U" S5      // U" S5      U" S5      U" S5      * //n[        U[	        U" S5      U5      SX5      n	[        XSU5      n
[        XgX5      n[        XX5      n[        X5      nXU4$ )r^   r#   r   r%   r!   )r0   r   r   r   r   r   r   )r2   Krd   r5   re   mUVfWrS   rf   rg   rh   s                 r7   dmp_fateman_poly_F_1rq      s0   	
1qtA1XQ]A  
1qtQqTA1a[Q]HQK+  	
AAQ
1Q4+Q5AQ
1Q4+Q5AQ4%1QqT1Q4!A$/0AQ
1Q4+Q5A!1AaAaAA7Nr9   c           	         [        U S-   5       Vs/ s H  n[        S[        U5      -   5      PM     nnUS   n[        USS 6 n[	        X4-   S-   S-  /UQ76 n[	        X4-
  S-
  S-  /UQ76 n[	        X4-   S-   S-  /UQ76 nXV-  XW-  U4$ s  snf )7Fateman's GCD benchmark: linearly dense quartic inputs r#   r_   r   Nr%   r0   r   rP   r   r   )r2   r5   rS   rb   rd   rh   rf   rg   s           r7   fateman_poly_F_2ru      s    (-a!e51s1v	A5
A$CQqrUAcgkA""AcgkA""AcgkA""A3Q; 	6s   !B	c                    U" S5      U" S5      /n[        U S-
  5       H  n[        X15      U/nM     U S-
  n[        U[        U" S5      US-
  5      SX5      n[	        [        XA5      [        XTU5      /X5      n[	        [        XA5      U/X5      n[        U[        US-
  U5      SX5      n[	        [        XA5      U/X5      n[        XhX5      [        XxX5      U4$ )rs   r#   r   r%   )r0   r   r   r   r   r   r   )	r2   rk   rd   r5   rl   re   ro   ghs	            r7   dmp_fateman_poly_F_2ry      s    	
1qtA1q5\Q]A  	
AAQ
1Q4Q/A9Aa 0118A"A)AQAq)1a3A"A)A1a 3Q66r9   c           	      v   [        U S-   5       Vs/ s H  n[        S[        U5      -   5      PM     nnUS   n[        USS  Vs/ s H
  oDU S-   -  PM     sn6 n[	        X0S-   -  U-   S-   S-  /UQ76 n[	        X0S-   -  U-
  S-
  S-  /UQ76 n[	        X0S-   -  U-   S-   S-  /UQ76 nXg-  Xh-  U4$ s  snf s  snf )8Fateman's GCD benchmark: sparse inputs (deg f ~ vars f) r#   r_   r   Nr%   rt   )	r2   r5   rS   rb   r[   rd   rh   rf   rg   s	            r7   fateman_poly_F_3r|     s    (-a!e51s1v	A5
A$C!AB%(%Q!a%j%()AcElQ"Q&++AcElQ"Q&++AcElQ"Q&++A3Q; 	6 )s   !B1B6c           	      d   [        U S-   UR                  0U5      n[        SU S-
  5       H"  n[        U/[	        X15      U S-   US-   U5      nM$     [        U[        U" S5      U S-
  5      SX5      n[        [        [        X@S-
  U5      /[	        U S-
  U5      U S-   X5      X5      n[        [        U/[	        U S-
  U5      U S-   X5      X5      n[        U[	        U S-
  U5      SU S-
  U5      n[        [        U/[	        U S-
  U5      U S-   X5      X5      n[        XWX5      [        XgX5      U4$ )r{   r#   r   r%   )	r   oner0   r   r   r   r   r   r   )r2   rk   rd   r5   re   ro   rw   rx   s           r7   dmp_fateman_poly_F_3r     s3   1q5!%%.!,A1a!e_!gamQUAE1=  	Q
1Q4Q/A9AgaQ*+WQUA->AqLa	TAaS'!a%"3QUAA1HAQAq)1a!eQ7AaS'!a%"3QUAA1HA1a 3Q66r9   )ringc                     [        S[        5      u  pp#US-  U-  US-  -  SUS-  -  U-  U-  -   SUS-  -  U-  -   SUS-  -  -   SU-  -   SUS-  -  US-  -  -   SUS-  -  U-  -   SUS-  -  -   X#S-  -  -   SU-  U-  -   U-   S-   $ )Nx,y,zr%   r!   r(      r,   r#   r   r   Rr    r[   zs       r7   _f_0r   ,  s    gr"JA!a46!Q$;1a4!#a1fQh.1a47!A#=!Q$q!tKaPQSTPTfUVhVYZ[\^_[_Y__bcghdhbhhklmnknopkppsttwxxxr9   c                  0   [        S[        5      u  pp#US-  U-  U-  US-  US-  -  US-  -  -   US-  US-  -  -   SUS-  -  U-  U-  -   SUS-  -  U-  -   US-  US-  -  -   SUS-  -  U-  -   XS-  -  U-  -   SU-  US-  -  U-  -   SU-  US-  -  -   X-  US-  -  -   SU-  U-  US-  -  -   X-  U-  -   SU-  U-  -   SU-  US-  -  -   SU-  U-  -   S	U-  -   US-  US-  -  -   SUS-  -  U-  -   SU-  US-  -  -   S
U-  U-  -   SU-  -   SU-  -   S-   $ )Nr   r!   r%         r)   ib     i,  i@     iX  ip  r   r   s       r7   _f_1r   0  sZ   gr"JA!a46!8ad1a4i1n$q!tAqDy02ad719Q;>AqDJQPQTRSUVRVYVY[\]_`\`Y`abYbbefjkgkeklmemmprstptuvxyuypyz{p{{  A  BC  C  DE  GH  DH  H  H  KL  KN  OP  RS  OS  KS  S  VX  YZ  VZ  [\  V\  ]^  `a  ]a  Va  a  de  dg  hi  di  i  lo  pq  lq  rs  ls  s  vx  yz  vz  {|  ~  {  v    BE  FG  BG  HI  BI  I  LO  PQ  LQ  Q  TU  WX  TX  YZ  \]  Y]  T]  ]  `b  cd  fg  cg  `g  hi  `i  i  ln  op  lp  qr  tu  qu  lu  u  x{  |}  x}  ~  x    BE  FG  BG  G  JM  NO  JO  O  RV  V  Vr9   c                     [        S[        5      u  pp#US-  US-  -  US-  US-  -  U-  -   US-  U-  US-  -  -   US-  US-  -  -   US-  US-  -  -   US-  U-  U-  -   SUS-  -  U-  -   SUS-  -  U-  -   US-  US-  -  U-  -   SUS-  -  US-  -  -
  US-  US-  -  -   SUS-  -  US-  -  -
  X#-  -   SU-  -
  SU-  -   S-
  $ )Nr   r   r!   r%   Z      i  r   r   s       r7   _f_2r   4  s   gr"JA!a419q!tAqDy{"QT!VAqD[01a419<q!tAqDyH1a4PQ6RS8SVXYZ\]Y]V]^_V__bdefhieibijkbkknoqrnrstvwswnwxynyy|~  @A  CD  @D  }D  EF  HI  EI  }I  I  LM  OP  LP  QR  TU  QU  LU  U  XZ  [\  ^_  [_  X_  `a  cd  `d  Xd  d  gh  gj  j  mo  pq  mq  q  tv  wx  tx  x  {~  ~  ~r9   c                     [        S[        5      u  pp#US-  US-  -  US-  US-  -  -   US-  -   US-  US-  -  U-  -   US-  U-  -   US-  US-  -  -   US-  US-  -  US-  -  -   US-  U-  US-  -  -   US-  U-  U-  -   XS-  -  US-  -  -   XS-  -  -   X-  US-  -  -   X-  US-  -  -   X-  US-  -  -   US-  U-  -   X#S-  -  -   $ )Nr   r   r%   r(   r!      r   r   s       r7   _f_3r   8  s   gr"JA!a419q!tAqDy 1a4'!Q$q!t)A+51Q>AadJQPQTRSUVRVYWXZ[W[^[^_ab^bcd^defhiei^iilmoplpqrlrstlttwx|}y}w}~  BC  C  xC  C  FG  KL  HL  FL  L  OP  OR  ST  VW  SW  OW  W  Z[  Z]  ^_  ab  ^b  Zb  b  ef  eh  ij  lm  im  em  m  pq  st  pt  uv  pv  v  yz  ~  {  y    r9   c                     [        S[        5      u  pp#US-  * US-  -  U-  US-  US-  -  US-  -  -
  US-  US-  -  US-  -  -
  SUS-  -  US-  -  -
  US	-  US-  -  US
-  -  -
  US	-  US-  -  US-  -  -   SUS	-  -  US-  -  U-  -   SUS	-  -  US-  -  US-  -  -
  US	-  US
-  -  US-  -  -
  US-  US
-  -  US-  -  -   SUS-  -  US
-  -  US-  -  -   US-  U-  US-  -  -
  US
-  US-  -  US
-  -  -   SUS
-  -  US-  -  US-  -  -   US
-  US-  -  US
-  -  -
  SUS
-  -  US-  -  US-  -  -   SUS
-  -  US-  -  -   SUS
-  -  US
-  -  US-  -  -
  US-  US-  -  US	-  -  -   SUS-  -  US-  -  US
-  -  -   US-  US-  -  US	-  -  -
  SUS-  -  US
-  -  US
-  -  -   SUS-  -  US
-  -  US-  -  -   US-  US-  -  US-  -  -   SUS-  -  US-  -  US-  -  -   SUS-  -  U-  US
-  -  -
  US-  US-  -  -   SUS-  -  US-  -  -   XS-  -  US	-  -  -   SU-  US-  -  US
-  -  -   SU-  US-  -  US
-  -  -   SU-  US-  -  US-  -  -   US
-  US-  -  -   SUS
-  -  US	-  -  -   SUS	-  -  -   SUS
-  -  -   $ )Nr   	   r*   r   r!   r      r%   r,   r(   r      r   r   s       r7   _f_4r   <  s	   gr"JA!qD5A:a<!Q$q!t)AqD.(1a42:ad?:Qq!tVAqD[H1a4PQSTPT9UVXYUY>Y\]_`\`abdeae\efgijfj\jjmnoprsosmstuwxtxmxyzmzz}~  @A  CD  @D  ~D  EF  HI  EI  ~I  JK  MN  JN  ~N  N  QR  TU  QU  VW  YZ  VZ  QZ  [\  ^_  [_  Q_  _  bc  ef  bf  gh  jk  gk  bk  lm  op  lp  bp  p  st  uv  xy  uy  sy  z{  }~  z~  s~  @  BC  C  sC  C  FG  IJ  FJ  KL  FL  MN  PQ  MQ  FQ  Q  TU  WX  TX  YZ  \^  Y^  T^  _`  bc  _c  Tc  c  fg  hi  kl  hl  fl  mn  pr  mr  fr  st  vw  sw  fw  w  z{  }~  z~  @  BC  C  zC  DE  GH  DH  zH  H  KL  MN  PQ  MQ  KQ  RS  UV  RV  KV  WX  Z[  W[  K[  [  ^`  ab  de  ae  ^e  fg  ij  fj  ^j  j  mn  op  rs  os  ms  tu  wx  tx  mx  yz  |}  y}  m}  }  @A  CD  @D  EF  HI  EI  @I  JK  MN  JN  @N  N  QR  ST  VW  SW  QW  XY  [\  X\  Q\  ]^  `a  ]a  Qa  a  de  gh  dh  ij  lm  im  dm  no  qr  nr  dr  r  uv  wx  z{  w{  u{  |}  @  |@  u@  AB  DE  AE  uE  E  HJ  KL  NO  KO  HO  PQ  ST  PT  HT  UV  XY  UY  HY  Y  \]  _`  \`  ab  de  ae  \e  fg  ij  fj  \j  j  mn  op  rs  os  ms  tu  wx  tx  mx  yz  |}  y}  m}  }  @A  BC  EF  BF  @F  GH  @H  IJ  LM  IM  @M  M  PQ  ST  PT  UV  XY  UY  PY  Y  \]  ^_  ab  ^b  \b  cd  fg  cg  \g  g  jk  op  lp  jp  qr  tu  qu  ju  u  xy  z{  x{  |}  @  |@  x@  AB  DE  AE  xE  E  HI  JK  HK  LM  OP  LP  HP  QR  TU  QU  HU  U  XZ  [\  X\  ]^  `a  ]a  Xa  bc  ef  bf  Xf  f  ij  lm  im  no  qr  nr  ir  r  uv  wx  z{  w{  u{  |}  @	  |@	  u@	  @	  C	D	  E	F	  H	I	  E	I	  C	I	  I	  L	N	  O	P	  R	S	  O	S	  L	S	  S	  S	r9   c                      [        S[        5      u  pp#US-  * SUS-  -  U-  -
  SUS-  -  U-  -   SU-  US-  -  -
  SU-  U-  U-  -   SU-  US-  -  -
  US-  -
  SUS-  -  U-  -   SU-  US-  -  -
  US-  -   $ )Nr   r!   r%   r,   r   r   s       r7   _f_5r   @  s    gr"JA!qD51QT6!8a1fQh&1QT1AaCE!G;ac!Q$hFAMPQRSUVRVPVWXPXX[\]^[^_`bc_c[ccfgijfjjjr9   c                     [        S[        5      u  pp#nSUS-  -  U-  SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  -
  SU-  US-  -  -
  SU-  US-  -  -
  S	U-  U-  US-  -  -   S
U-  U-  U-  U-  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  US-  -  -   US-  US-  -  US-  -  -
  US-  US-  -  -   SUS-  -  US-  -  -   SUS-  -  US-  -  -   SUS-  -  US-  -  -
  SU-  US-  -  -
  $ )Nzx,y,z,tiC  r(   -   r!   r%   i  /      ^   r   r,   r   )r   r    r[   r   ts        r7   _f_6r   D  s   B'MA!19Q;AqDAad**R1WQT\9CE!Q$JFAaQRdRUXYZUZ[\U\]^`a]aUaadfghdhijdjkldlmndnnqrstvwswqwxy{|x|q|}~  AB  ~B  rB  B  EF  GH  JK  GK  EK  LM  OP  LP  EP  P  ST  VW  SW  XY  [\  X\  S\  ]^  `a  ]a  Sa  a  de  gh  dh  ij  lm  im  dm  m  pq  rs  uv  rv  pv  wx  z{  w{  p{  {  ~  @A  CD  @D  ~D  EF  HI  EI  ~I  I  LM  NO  QR  NR  LR  ST  VW  SW  LW  W  Z[  \]  Z]  ^_  ab  ^b  Zb  b  br9   c                     [        S[        5      u  pp#SUS-  -  US-  -  US-  -  SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  U-  US-  -  -
  US-  US-  -  US-  -  -   SUS-  -  US-  -  U-  -   US-  US-  -  US-  -  -
  SUS-  -  US-  -  US-  -  -   SUS-  -  U-  US-  -  -
  SUS-  -  US-  -  -
  SUS-  -  US-  -  -   SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  U-  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  US-  -  U-  -   US-  US-  -  US-  -  -   US-  US-  -  US-  -  -
  SUS-  -  US-  -  US-  -  -
  S	US-  -  US-  -  U-  -   SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -   SUS-  -  US-  -  -
  SUS-  -  US-  -  -   SUS-  -  US-  -  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  US-  -  U-  -   SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -   SU-  US-  -  U-  -   SU-  US-  -  US-  -  -
  SU-  U-  U-  -
  SU-  US-  -  -   SUS-  -  -
  SU-  US-  -  -   $ )
Nr   r(   r,   r%   r!   r   r   r*   r   r   r   s       r7   _w_1r   H  sL   gr"JA!QT6!Q$;q!ta1fQTk!Q$..1a41QT1AAAadF1HQPQTMQTUWXTXYZ\]Y]T]^_ab^bTbbeghiklhlelmnpqmqeqrsessvwyzvz{|~{v  AB  DE  AE  wE  E  HJ  KL  NO  KO  HO  PQ  ST  PT  HT  UV  XY  UY  HY  Y  \^  _`  bc  _c  \c  de  \e  fg  ij  fj  \j  j  mo  pq  st  pt  mt  uv  xy  uy  my  y  |}  ~  AB  ~B  |B  CD  FG  CG  |G  G  JK  LM  OP  LP  JP  QR  TU  QU  JU  VW  YZ  VZ  JZ  Z  ]^  _`  bc  _c  ]c  de  gh  dh  ]h  ij  ]j  j  mn  op  rs  os  ms  tu  wx  tx  mx  yz  |}  y}  m}  }  @A  BC  EF  BF  @F  GH  JK  GK  @K  LM  OP  LP  @P  P  ST  UV  XY  UY  SY  Z[  ]^  Z^  S^  _`  bc  _c  Sc  c  fg  hi  kl  hl  fl  mn  fn  op  rs  os  fs  s  vw  xy  {|  x|  v|  }~  v~  @  BC  C  vC  C  FG  HI  KL  HL  FL  MN  FN  OP  RS  OS  FS  S  VW  XY  [\  X\  V\  ]^  `a  ]a  Va  bc  Vc  c  fg  ij  fj  kl  no  ko  fo  pq  st  pt  ft  t  wx  z{  w{  |}  @  |@  w@  AB  DE  AE  wE  E  HI  JK  MN  JN  HN  OP  RS  OS  HS  TU  WX  TX  HX  X  [\  ]^  `a  ]a  [a  bc  ef  bf  [f  gh  [h  h  km  no  qr  nr  kr  st  kt  uv  xy  uy  ky  y  |~  @  BC  C  |C  DE  |E  FG  IJ  FJ  |J  J  MO  PQ  ST  PT  MT  UV  XY  UY  MY  Y  \]  ^_  ab  ^b  \b  cd  fg  cg  \g  g  jk  lm  op  lp  jp  qr  tu  qu  ju  u  xy  z{  }~  z~  x~  @  BC  C  xC  DE  GH  DH  xH  H  KL  MN  PQ  MQ  KQ  RS  UV  RV  KV  WX  KX  X  [\  ]^  `a  ]a  [a  bc  [c  de  gh  dh  [h  h  kl  mn  pq  mq  kq  rs  ks  tu  wx  tx  kx  x  {|  }~  @	A	  }A	  {A	  B	C	  {C	  D	E	  G	H	  D	H	  {H	  H	  K	L	  M	N	  K	N	  O	P	  R	S	  O	S	  K	S	  T	U	  K	U	  U	  X	Y	  Z	[	  X	[	  \	]	  _	`	  \	`	  X	`	  a	b	  d	e	  a	e	  X	e	  e	  h	i	  j	k	  h	k	  l	m	  h	m	  n	o	  h	o	  o	  r	s	  t	u	  r	u	  v	w	  y	z	  v	z	  r	z	  z	  }	~	  	@
  B
C
  	C
  }	C
  C
  F
G
  H
I
  F
I
  J
K
  M
N
  J
N
  F
N
  N
  N
r9   c                  B   [        S[        5      u  pnSUS-  -  US-  -  SUS-  -  US-  -  -   SUS-  -  US-  -  -   S	US-  -  US-  -  -
  S
US-  -  US-  -  -   SUS-  -  US-  -  -   SUS-  -  U-  -   SUS-  -  -   US-  US-  -  -   US-  US-  -  -   SUS-  -  -
  US-  US-  -  -   US-  US-  -  -
  SUS-  -  US-  -  -
  SUS-  -  US-  -  -   US-  US-  -  -
  SUS-  -  US-  -  -   US-  US-  -  -
  SUS-  -  US-  -  -   SUS-  -  -   SUS-  -  -
  $ )Nzx,y   r*   r!   0   r%   r   r   H      r,   r(   r   i$  r   )r   r    r[   s      r7   _w_2r   L  s   5"oGA!ad71a4<"QT'!Q$,&AqDA51a41Dr!Q$wqRSt|SVWXY[\X\V\]^`a]aVaadefgijfjdjkldllopqrtuquouuxy{|x|}~  AB  ~B  yB  B  EF  HI  EI  JK  MN  JN  EN  N  QS  TU  WX  TX  QX  X  [\  ^_  [_  `a  cd  `d  [d  d  gh  jk  gk  lm  op  lp  gp  p  st  uv  xy  uy  sy  z{  }~  z~  s~  ~  AD  EF  HI  EI  AI  JK  MN  JN  AN  N  QR  TU  QU  VW  YZ  VZ  QZ  Z  ]^  _`  bc  _c  ]c  de  gh  dh  ]h  h  kl  no  ko  pq  st  pt  kt  t  wy  z{  }~  z~  w~  @  BC  C  wC  C  FH  IJ  LM  IM  FM  M  PR  ST  VW  SW  PW  W  Wr9   c                      [        5       [        5       [        5       [        5       [	        5       [        5       [        5       4$ N)r   r   r   r   r   r   r    r9   r7   f_polysr   P  s%    6464646464646AAr9   c                  *    [        5       [        5       4$ r   )r   r   r   r9   r7   w_polysr   S  s    646>r9   )NF)r    r[   )A__doc__
sympy.corer   r   r   r   r   r   sympy.core.containersr	   sympy.core.singletonr
   sympy.ntheoryr   sympy.polys.densearithr   r   r   r   sympy.polys.densebasicr   r   r   r   r   r   sympy.polys.domainsr   sympy.polys.factortoolsr   sympy.polys.polyclassesr   sympy.polys.polytoolsr   r   sympy.polys.polyutilsr   sympy.utilitiesr   r   r   r8   r?   rE   rJ   r\   ri   rq   ru   ry   r|   r   sympy.polys.ringsr   r   r   r   r   r   r   r   r   r   r   r   r   r9   r7   <module>r      s   O A @ ' " #   # : ' 0 / 7 7 &, &,R - -4 #( 0 0. ') - -4 : :B"< 7* 7* #yV~S	kbN
WBr9   