+
    i+                        R t ^ RIHtHtHtHtHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHtHtHtHt ^ RIHtHtHtHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
I H!t!H"t" ^ RI#H$t$ ^ RI%H&t&H't'H(t( ]'R'R l4       t)]'R'R l4       t*]'RR/R l4       t+]']R3R l4       t,]'R(R l4       t-R t.R t/R t0R t1R t2R t3^ RI4H5t5 R t6R t7R t8R t9R  t:R! t;R" t<R# t=R$ t>R% t?R& t@R# ))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                   V ^ 8:  d   \        RV ,          4      hVe   \        V4       M\        R4      pV ^8  de   ^ RIHp ^RIHp ^pV! ^4      .p\        ^V ^,           4       F%  p\        V4      pVP                  V! V4      4       K'  	  V! \        V!  WR7      # V ^8X  d   V^,          ^,
          pMV ^8X  d'   V^,          ^
V^,          ,          ,
          ^,           pMVV ^8X  dP   V^,          ^(V^,          ,          ,
          RV^,          ,          ,           RV^,          ,          ,
          R,           pV'       d   \        XV4      # X# )	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.
z6Cannot generate Swinnerton-Dyer polynomial of order %sx)sqrt)minimal_polynomial)polysi`  i  i@  )
ValueErrorr   r   (sympy.functions.elementary.miscellaneousr    numberfieldsr!   ranger
   appendr   r   )	nr   r"   r    r!   paiexs	   &&&      x/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/polys/specialpolys.pyswinnerton_dyer_polyr.      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                ,   V ^ 8:  d   \        RV ,          4      h\        \        \        V 4      \        4      \        4      pVe   \
        P                  ! W14      pM \        P                  ! V\        R4      4      pV'       d   V# VP                  4       # )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.
z1Cannot generate cyclotomic polynomial of order %sr   )
r#   r   r   intr   r   newr   r   as_expr)r(   r   r"   polys   &&& r-   cyclotomic_polyr5   A   sv     	Av?!CE 	E %c!fb126D}xx ||D%*-4,dlln,r/   r"   c          	     L   \        V4      pV ^ 8  g   V \        V4      8  g	   V'       g   \        RV : RV: 24      hV '       g   \        P                  pM3\        \        V\        V 4      4       Uu. uF  p\        V!  NK  	  up!  pV'       d   \        V.VO5!  # T# u upi )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.
z.Cannot generate symmetric polynomial of order z for )
r   lenr#   r	   Oner   r   r1   r   r   )r(   r"   gensr4   ss   &$*  r-   symmetric_polyr;   \   s     D1uCITVWY]^__uugdCF&;<&;S!W&;<= %4t/4/ =s   3B!c                d    \        \        WW44      WR7      pV'       d   V# VP                  4       # )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   r3   )r   r(   infsupr=   r"   r4   s   &&&&&& r-   random_polyr@   t   s*    , 
13/BD4,dlln,r/   c           	     n   \        VRR4      p\        V\        4      '       d   \        V: RV : 24      pM*V'       d#   V\	        V!  P
                  ,          '       d   Rp\        V\        4      '       d   \        V: RV : 24      pM*V'       d#   V\	        V!  P
                  ,          '       d   RpV'       g   \        \        R4      4      h. p\        \        V 4       Uu. uF  qaW&,          ,
          NK  	  up!  p\        V 4       Fl  pWqW&,          ,
          ,          p\        \        V 4       U	u. uF   qV	8w  g   K  W&,          W),          ,
          NK"  	  up	!  p
VP                  W,          4       Kn  	  \        \        WS4       UUu. uF  w  rW,          NK  	  upp!  # u upi u up	i u uppi )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   rB   r#   r   r   r&   r'   r   zip)r(   r   XYokcoeffsr+   numertnumerjdenomcoeffys   &&&&         r-   interpolating_polyrR      sW    
ND	)B!Sq!$%	UAY++++!Sq!$%	UAY++++ %> ? @ 	@ FU1X.Xqt88X./F1XAD!U1X@Xa{qtad{{X@Aek" 
 V8XU899 / A 9s   $F'5F,
F,
F1
c           	     >   \        V ^,           4       Uu. uF  p\        R\        V4      ,           4      NK   	  ppV^ ,          V^,          rCV\        VR,          !  ,           pV^,          \        VR,           Uu. uF  qf^,          NK  	  up!  ,           pV^,           V^,           ,          P                  ! V!  pV^,           RV,          V^,          ,          V^,          ,           ^,
          ,          P                  ! V!  p	\        ^.VO5!  p
WV
3# u upi u upi )%Fateman's GCD benchmark: trivial GCD y_   NN)r&   r   rF   r   as_polyr   )r(   r+   rI   y_0y_1urQ   vFGHs   &          r-   fateman_poly_F_1ra      s    (-a!e51s1v	A5tQqTc1R5kAQQrU+U!ttU+,,A
a%!a%!!1%A
a%"S&a-#q&(1,	-66:AQA7N 	6
 ,s   $D;D
c                d   V! ^4      V! ^ 4      .p\        V 4       F  p\        W14      V.pK  	  V! ^4      V! ^ 4      V! ^ 4      .p\        ^ V 4       F  p\        W14      \        V4      V.pK  	  V ^,
          p\        V\	        V! ^4      V4      ^ W4      p\        V\	        V! ^4      V4      ^ W4      pV! ^4      ) V! ^ 4      .. V! ^4      V! ^ 4      V! ^4      ) ..p\        V\	        V! ^4      V4      ^ W4      p	\        W^V4      p
\        WgW4      p\        WW4      p\        W4      pWV3# )rT   )r&   r   r   r   r   r   r   )r(   Kr\   r+   r]   mUVfWrI   r^   r_   r`   s   &&            r-   dmp_fateman_poly_F_1ri      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7Nr/   c           	        \        V ^,           4       Uu. uF  p\        R\        V4      ,           4      NK   	  ppV^ ,          p\        VR,          !  p\	        W4,           ^,           ^,          .VO5!  p\	        W4,
          ^,
          ^,          .VO5!  p\	        W4,           ^,           ^,          .VO5!  pWV,          WW,          V3# u upi )7Fateman's GCD benchmark: linearly dense quartic inputs rU   rV   r&   r   rF   r   r   )r(   r+   rI   rZ   r\   r`   r^   r_   s   &       r-   fateman_poly_F_2rm      s    (-a!e51s1v	A5
A$CQrUAcgkA""AcgkA""AcgkA""A3Q; 	6s   $Cc                   V! ^4      V! ^ 4      .p\        V ^,
          4       F  p\        W14      V.pK  	  V ^,
          p\        V\        V! ^4      V^,
          4      ^ W4      p\	        \        WA4      \        WTV4      .W4      p\	        \        WA4      V.W4      p\        V\        V^,
          V4      ^ W4      p\	        \        WA4      V.W4      p\        WhW4      \        WxW4      V3# )rk   )r&   r   r   r   r   r   r   )	r(   rc   r\   r+   rd   r]   rg   ghs	   &&       r-   dmp_fateman_poly_F_2rq      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6r/   c           	     2   \        V ^,           4       Uu. uF  p\        R\        V4      ,           4      NK   	  ppV^ ,          p\        VR,           Uu. uF  qDV ^,           ,          NK  	  up!  p\	        W0^,           ,          V,           ^,           ^,          .VO5!  p\	        W0^,           ,          V,
          ^,
          ^,          .VO5!  p\	        W0^,           ,          V,           ^,           ^,          .VO5!  pWg,          Wh,          V3# u upi u upi )8Fateman's GCD benchmark: sparse inputs (deg f ~ vars f) rU   rV   rl   )	r(   r+   rI   rZ   rQ   r\   r`   r^   r_   s	   &        r-   fateman_poly_F_3rt     s    (-a!e51s1v	A5
A$C!B%(%Q!a%jj%()AcElQ"Q&++AcElQ"Q&++AcElQ"Q&++A3Q; 	6 )s   $DDc           	        \        V ^,           VP                  /V4      p\        ^ V ^,
          4       F*  p\        V.\	        W14      V ^,           V^,           V4      pK,  	  \        V\        V! ^4      V ^,
          4      ^ W4      p\        \        \        W@^,
          V4      .\	        V ^,
          V4      V ^,           W4      W4      p\        \        V.\	        V ^,
          V4      V ^,           W4      W4      p\        V\	        V ^,
          V4      ^ V ^,
          V4      p\        \        V.\	        V ^,
          V4      V ^,           W4      W4      p\        WWW4      \        WgW4      V3# )rs   )	r   oner&   r   r   r   r   r   r   )r(   rc   r\   r+   r]   rg   ro   rp   s   &&      r-   dmp_fateman_poly_F_3rw     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6r/   )ringc                  >   \        R \        4      w  rr#V^,          V,          V^,          ,          ^V^,          ,          V,          V,          ,           ^V^,          ,          V,          ,           ^V^,          ,          ,           ^V,          ,           ^V^,          ,          V^,          ,          ,           ^V^,          ,          V,          ,           ^V^,          ,          ,           W#^,          ,          ,           ^V,          V,          ,           V,           ^,           # x,y,zrx   r   Rr   rQ   zs       r-   _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xr/   c                     \        R \        4      w  rr#V^,          V,          V,          V^,          V^,          ,          V^,          ,          ,           V^,          V^,          ,          ,           ^V^,          ,          V,          V,          ,           ^V^,          ,          V,          ,           V^,          V^,          ,          ,           ^
V^,          ,          V,          ,           W^,          ,          V,          ,           ^V,          V^,          ,          V,          ,           ^V,          V^,          ,          ,           W,          V^,          ,          ,           ^
V,          V,          V^,          ,          ,           W,          V,          ,           RV,          V,          ,           ^V,          V^,          ,          ,           ^V,          V,          ,           RV,          ,           V^,          V^,          ,          ,           ^
V^,          ,          V,          ,           ^V,          V^,          ,          ,           RV,          V,          ,           ^V,          ,           RV,          ,           R,           # )r{   ib  i,  i@  iX  ip  r|   r}   s       r-   _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r/   c                  d   \        R \        4      w  rr#V^,          V^,          ,          V^,          V^,          ,          V,          ,           V^,          V,          V^,          ,          ,           V^,          V^,          ,          ,           V^,          V^,          ,          ,           V^,          V,          V,          ,           ^ZV^,          ,          V,          ,           ^ZV^,          ,          V,          ,           V^,          V^,          ,          V,          ,           ^V^,          ,          V^,          ,          ,
          V^,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,
          W#,          ,           ^V,          ,
          ^ZV,          ,           R,
          # )r{   i  r|   r}   s       r-   _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  {~  ~  ~r/   c                     \        R \        4      w  rr#V^,          V^,          ,          V^,          V^,          ,          ,           V^,          ,           V^,          V^,          ,          V,          ,           V^,          V,          ,           V^,          V^,          ,          ,           V^,          V^,          ,          V^,          ,          ,           V^,          V,          V^,          ,          ,           V^,          V,          V,          ,           W^,          ,          V^,          ,          ,           W^,          ,          ,           W,          V^,          ,          ,           W,          V^,          ,          ,           W,          V^,          ,          ,           V^,          V,          ,           W#^,          ,          ,           # rz   r|   r}   s       r-   _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    r/   c                  ~   \        R \        4      w  rr#V^	,          ) V^,          ,          V,          V^,          V^,          ,          V^,          ,          ,
          V^,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,
          V^,          V^	,          ,          V^,          ,          ,
          V^,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,
          V^,          V^,          ,          V^,          ,          ,
          V^,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,           V^,          V,          V^,          ,          ,
          V^,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,           V^,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,
          V^,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,           V^,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,           V^,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,           ^V^,          ,          V,          V^,          ,          ,
          V^,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           W^,          ,          V^,          ,          ,           ^V,          V^,          ,          V^,          ,          ,           ^V,          V^,          ,          V^,          ,          ,           ^V,          V^,          ,          V^,          ,          ,           V^,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           ^V^,          ,          ,           ^V^,          ,          ,           # rz   r|   r}   s       r-   _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	r/   c                     \        R \        4      w  rr#V^,          ) ^V^,          ,          V,          ,
          ^V^,          ,          V,          ,           ^V,          V^,          ,          ,
          ^V,          V,          V,          ,           ^V,          V^,          ,          ,
          V^,          ,
          ^V^,          ,          V,          ,           ^V,          V^,          ,          ,
          V^,          ,           # rz   r|   r}   s       r-   _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jr/   c                  :   \        R \        4      w  rr#pRV^,          ,          V,          ^-V^,          ,          V^,          ,          V^,          ,          ,           ^-V^,          ,          V^,          ,          ,
          RV,          V^,          ,          ,
          ^/V,          V^,          ,          ,
          ^V,          V,          V^,          ,          ,           ^^V,          V,          V,          V,          ,           ^	V^,          ,          V^,          ,          V^,          ,          ,
          ^	V^,          ,          V^,          ,          ,           V^,          V^,          ,          V^,          ,          ,
          V^,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,
          ^V,          V^,          ,          ,
          # )zx,y,z,tiC  i  r|   )r~   r   rQ   r   ts        r-   _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r/   c                     \        R \        4      w  rr#^V^,          ,          V^,          ,          V^,          ,          ^V^,          ,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V,          V^,          ,          ,
          V^,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V,          ,           V^,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          V^,          ,          ,           ^V^,          ,          V,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V,          V^,          ,          ,
          ^V^,          ,          V,          V^,          ,          ,
          ^V^,          ,          V,          V^,          ,          ,
          ^V^,          ,          V^,          ,          V,          ,           V^,          V^,          ,          V^,          ,          ,           V^,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          V^,          ,          ,
          ^	V^,          ,          V^,          ,          V,          ,           ^V^,          ,          V,          V^,          ,          ,
          ^V^,          ,          V,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          V,          ,           ^V^,          ,          V,          V^,          ,          ,
          ^V^,          ,          V,          V^,          ,          ,
          ^V^,          ,          V,          V^,          ,          ,           ^V,          V^,          ,          V,          ,           ^V,          V^,          ,          V^,          ,          ,
          ^V,          V,          V,          ,
          ^V,          V^,          ,          ,           ^V^,          ,          ,
          ^V,          V^,          ,          ,           # rz   r|   r}   s       r-   _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
r/   c                  
   \        R \        4      w  rp^V^,          ,          V^,          ,          ^0V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           ^HV^,          ,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,           ^V^,          ,          V^,          ,          ,           ^V^,          ,          V,          ,           ^V^,          ,          ,           V^,          V^,          ,          ,           V^,          V^,          ,          ,           ^V^,          ,          ,
          V^,          V^,          ,          ,           V^,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,
          RV^,          ,          V^,          ,          ,           V^,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,           V^,          V^,          ,          ,
          ^V^,          ,          V^,          ,          ,           ^0V^,          ,          ,           ^V^,          ,          ,
          # )zx,yi$  r|   )r~   r   rQ   s      r-   _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r/   c                      \        4       \        4       \        4       \        4       \	        4       \        4       \        4       3# N)r   r   r   r   r   r   r    r/   r-   f_polysr   P  s%    6464646464646AAr/   c                  *    \        4       \        4       3# r   )r   r   r   r/   r-   w_polysr   S  s    646>r/   )NF)r   rQ   )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   r.   r5   r;   r@   rR   ra   ri   rm   rq   rt   rw   sympy.polys.ringsrx   r   r   r   r   r   r   r   r   r   r   r   r   r/   r-   <module>r      s   O A @ ' " #   # : ' 0 / 7 7 &, &,R - -4 05 0 0. ') - -4 : :B"< 7* 7* #yV~S	kbN
WBr/   