+
    ‹°³j«@  ã                   ó”  € ^ RI t ^ RIHt ^ .R,          t]! ^^4       F6  t].^^],
          ,          ,          ]^],          R^]^,           ,          1&   K8  	  RR ltRR ltR t	R t
R tR t] P                  t] P                  tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R# ) é    Né   c                 ó0  € V '       g   R # \        W,	          4      p V ^ÿ,          pV'       d   \        V,          V,           # ^V,           pV ^,          p V P                  4       ^,
          pV ^V,          8X  d	   WC,           # VR8  d%   V ^ÿ,          '       g   V ^,          p V^,          pK#  MRV^,	          pV ^ÿ,          '       g;   V ^V,          ^,
          ,          '       d   V^,          pK(  W,          p W5,          pKI  V\        V ^ÿ,          ,          ,           # )Ni,  )ÚabsÚ_small_trailingÚ
bit_length)ÚxÚnÚlow_byteÚtÚzÚps   &&    ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/external/ntheory.pyÚ	bit_scan1r      sÜ   € ßÙÜˆA�F‹€AØ�4�x€HßÜ˜xÕ(¨1Õ,Ð,à	ˆA�€AØˆ!…G€Aà	�‰‹˜Õ€AØˆA��F„{Ø�uˆàˆ3„wà�d—(”(Ø�!�GˆAØ��FŠAð ð ��FˆØ�d—(”(Ø˜˜Q� !•|×$Ô$Ø�a•’Ø�GˆAØ�FŠAØŒ˜q 4�xÕ(Õ(Ð(ó    c                 ó6   € \        V ^V,          ,           V4      # )é   )r   )r   r	   s   &&r   Ú	bit_scan0r   0   s   € Ü�Q˜!˜q�&•\ 1Ó%Ð%r   c                 óÔ  € V^8  d   \        R4      hV ^ 8X  d   R# V^8X  d   \        V 4      pW,	          V3# ^ p\        W4      w  rEV'       g™   Tp V^,          pV^8”  dx   V^,          .pV'       df   VR,          p\        W4      w  rEV'       g6   V^\        V4      ,          ,          pTp VP	                  V^,          4       K[  VP                  4        Km  \        W4      w  rEK   W3# )é   zfactor must be > 1)r   r   éÿÿÿÿ)Ú
ValueErrorr   ÚdivmodÚlenÚappendÚpop)r   ÚfÚbÚmÚyÚremÚpow_listÚ_fs   &&      r   Úremover#   4   sÏ   € Øˆ1„uÜÐ-Ó.Ð.ØˆA„vØˆØˆA„vÜ�a‹LˆØ�v�qˆyÐØ	€AÜ�A‹\�F€AßØˆØ	ˆQ�ˆØˆqŒ5Ø˜1��vˆHßØ˜b•\�Ü ›‘�ßØ˜œc (›mÕ+Õ+�AØ�AØ—O‘O B¨¥EÖ*à—L‘L–NÜ˜“‰ˆ‰3Øˆ4€Kr   c                óR   € \        \        P                  ! \        V 4      4      4      # )z
Return x!.)ÚintÚmlibÚifac©r   s   &r   Ú	factorialr)   P   s   € äŒt�yŠyœ˜Q›Ó Ó!Ð!r   c                óR   € \        \        P                  ! \        V 4      4      4      # )zInteger square root of x.)r%   r&   Úisqrtr(   s   &r   Úsqrtr,   U   s   € äŒt�zŠzœ#˜a›&Ó!Ó"Ð"r   c                óp   € \         P                  ! \        V 4      4      w  r\        V4      \        V4      3# )z'Integer square root of x and remainder.©r&   Úsqrtremr%   )r   ÚsÚrs   &  r   r/   r/   Z   s)   € ä�<Š<œ˜A›Ó�D€AÜ�‹F”C˜“FÐÐr   c                 ó"   € V ^ 8  d   RV ) 3# ^V 3# )r   r   © ©r	   s   &r   Ú_signr5   d   s   € Øˆ1„uØ�A�2ˆvˆØˆaˆ4€Kr   c                 ód  € V '       d	   V'       g:   \        V 4      ;'       g    \        V4      pV'       g   R# W V,          W,          3# \        V 4      w  r0\        V4      w  rA^^ re^ ^r‡V'       d0   \        W4      w  ršYrYeW–,          ,
          reY‡W˜,          ,
          r‡K7  WV,          Wt,          3# )r   )r   r   r   )r   r5   r   )Úar   ÚgÚx_signÚy_signr   r1   r   r0   ÚqÚcs   &&         r   Úgcdextr=   j   s”   € ß—AÜ�‹F×Ð”c˜!“fˆßØÐØ˜•6˜1�6Ð"Ð"ä�a“�I€FÜ�a“�I€FØˆa€qØˆa€qç
Ü�a‹|‰ˆØˆ1Ø�a•c•'ˆ1Ø�a•c•'Š1à�6�z˜1�:Ð&Ð&r   c                óp  € V ^ 8  d   R# R^V ^,          ,          ,          '       d   R# V R,          pR^V^c,          ,          ,          '       d   R# R^V^[,          ,          ,          '       d   R# R^V^U,          ,          ,          '       d   R# \         P                  ! \        V 4      4      ^,          ^ 8H  # )z$Return True if x is a square number.Fl	   ì}ù{·wïoÏ^¿?{þ~ý iE¯ l   ì}}k-î[o{?_}l   ì=}:žM¯vÏ?£_ l   ì}¬sŽ�;®y½r.   ©r   r   s   & r   Ú	is_squarer@      sŒ   € àˆ1„uÙð* *¨Q°1°sµ7­^×<Ô<ÙØ	ˆF�
€AØ" a¨A°­F¥m×4Ô4ÙØ  A¨!¨b­&¥M×2Ô2ÙØ !¨¨B­¥-×0Ô0ÙÜ�<Š<œ˜A›Ó Õ" aÑ'Ð'r   c                óR   €  \        V RV4      #   \         d    \        R4      hi ; i)z½Modular inverse of x modulo m.

Returns y such that x*y == 1 mod m.

Uses ``math.pow`` but reproduces the behaviour of ``gmpy2.invert``
which raises ZeroDivisionError if no inverse exists.
zinvert() no inverse existsr   )Úpowr   ÚZeroDivisionErrorr?   s   &&r   ÚinvertrD   £   s0   € ð>Ü�1�b˜!‹}ÐøÜô >ÜÐ <Ó=Ð=ð>ús   ‚ �&c                ó®   € V^ 8:  g   V^,          '       g   \        R4      hW,          p V '       g   ^ # \        W^,
          ^,          V4      ^8X  d   ^# R# )ztLegendre symbol (x / y).

Following the implementation of gmpy2,
the error is raised only when y is an even number.
zy should be an odd primer   )r   rB   )r   r   s   &&r   ÚlegendrerF   ±   sK   € ð 	ˆA„v�Q˜—U”UÜÐ3Ó4Ð4Ø…F€AßÙÜ
ˆ1�1�u˜�l˜AÓ !Ô#ÙØ€Ir   c                óž  € V^ 8:  g   V^,          '       g   \        R4      hW,          p V '       g   \        V^8H  4      # V^8X  g   V ^8X  d   ^# \        W4      ^8w  d   ^ # ^pV ^ 8w  dc   V ^,          ^ 8X  d&   V ^ 8”  d   V ^,          p V^,          R9   g   K.  V) pK3  YrV ^,          V^,          u;8X  d   ^8X  d   M MV) pW,          p Ki  V# )zJacobi symbol (x / y).z#y should be an odd positive integer©é   é   )r   r%   Úgcd)r   r   Újs   && r   ÚjacobirM   Á   s¸   € àˆA„v�Q˜—U”UÜÐ>Ó?Ð?Ø…F€AßÜ�1˜‘6‹{ÐØˆA„v��a”ÙÜ
ˆ1ƒy�A„~ÙØ	€AØ
ˆqŒ&Ø�!�e�qŒj˜Q œUØ�!�GˆAØ�1�u˜ŽØ�B’Øˆ1Øˆq�5�A˜•EÖ˜Q×Ø�ˆAØ	�ŠØ€Hr   c                óü   € \        W4      ^8w  d   ^ # V^ 8X  d   ^# V^ 8  d
   V ^ 8  d   RM^p\        V4      p\        V4      pW,          pV^,          '       d   V ^,          R9   d   V) pV\        W4      ,          # )zKronecker symbol (x / y).r   rH   )rK   r   r   rM   )r   r   Úsignr0   s   &&  r   Ú	kroneckerrP   Ù   so   € ä
ˆ1ƒy�A„~ÙØˆA„vÙØ�Q”˜1˜qœ5‰2 a€DÜˆA‹€AÜ�!‹€AØ…G€AØˆ1‡u„u��Q•˜&”ØˆuˆØ”&˜“,ÕÐr   c                 ó~  € V ^ 8  d   \        R4      hV^8  d   \        R4      hV R9   d   V R3# V^8X  d   V R3# V^8X  d+   \        P                  ! V 4      w  r#\        V4      V'       * 3# WP	                  4       8¼  d   R#  \        V RV,          ,          R,           4      pVR	8”  dQ   R
Tr' W!^,
          ,          pY!^,
          V,          W,          ,           V,          r'\        W',
          4      ^8  g   KL  MTpW!,          pW€8  d   V^,          pW!,          pK  W€8”  d   V^,          pW!,          pK  W(V 8H  3#   \
         dv    \        P                  ! T 4      T,          pT^58”  d<   \        T^5,
          4      p\        RYV,
          ,          ^,           4      T,          p EL\        RT,          4      p ELi ; i)r   zy must be nonnegativezn must be positiveTg      ð?g      à?g       @)r   r   )r   Fl           r   )	r   r&   r/   r%   r   ÚOverflowErrorÚmathÚlog2r   )	r   r	   r   r    ÚguessÚexpÚshiftÚxprevr   s	   &&       r   ÚirootrY   è   s‚  € Øˆ1„uÜÐ0Ó1Ð1Øˆ1„uÜÐ-Ó.Ð.ØˆF„{Ø�$ˆwˆØˆA„vØ�$ˆwˆØˆA„vÜ—’˜a“‰ˆÜ�1‹v˜3”wˆÐØ�L‰L‹NÔØˆð"Ü�A˜˜1�•I •OÓ$ˆð ˆu„}à�uˆqØØ˜•E•
ˆAØ �E 1�9 q¥tÕ+¨aÕ/�1Ü�1•9‹~ Ö!Øàˆà	�€AØ
Œ%Ø	ˆQ�ˆØ�DŠØ
Œ%Ø	ˆQ�ˆØ�DŠØ�1‰fˆ9Ðøô3 ô "Ü�iŠi˜‹l˜1�nˆØ�Œ8Ü˜˜b�“MˆEÜ˜˜c�kÕ*¨QÕ.Ó/°5Õ8‹Eä˜˜S�“M‹Eð"ús   Â D< Ä<A'F<Æ&F<Æ;F<c                 óô   € V^8  d   \        R4      hV ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # W,          p\        W4      ^8w  d   \        R4      h\        W^,
          V 4      ^8H  # )r   z7is_fermat_prp() requires 'a' greater than or equal to 2z.is_fermat_prp() requires 'n' be greater than 0Fz&is_fermat_prp() requires gcd(n,a) == 1)r   rK   rB   ©r	   r7   s   &&r   Úis_fermat_prpr\     sz   € Øˆ1„uÜÐRÓSÐSØˆ1„uÜÐIÓJÐJØˆA„vÙØˆ1…u�„zØ�A‰vˆØ…F€AÜ
ˆ1ƒy�A„~ÜÐAÓBÐBÜˆq�a•%˜Ó˜qÑ Ð r   c                 ó  € V^8  d   \        R4      hV ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # W,          p\        W4      ^8w  d   \        R4      h\        W^,	          V 4      \        W4      V ,          8H  # )r   z6is_euler_prp() requires 'a' greater than or equal to 2z-is_euler_prp() requires 'n' be greater than 0Fz%is_euler_prp() requires gcd(n,a) == 1)r   rK   rB   rM   r[   s   &&r   Úis_euler_prpr^   %  sƒ   € Øˆ1„uÜÐQÓRÐRØˆ1„uÜÐHÓIÐIØˆA„vÙØˆ1…u�„zØ�A‰vˆØ…F€AÜ
ˆ1ƒy�A„~ÜÐ@ÓAÐAÜˆq�q•&˜!Ó¤ q£¨qÕ 0Ñ0Ð0r   c                 óü   € \        V ^,
          4      p\        WV,	          V 4      pV^8X  g   W^,
          8X  d   R# \        V^,
          4       F*  p\        V^V 4      pW^,
          8X  d    R# V^8X  g   K)   R# 	  R# )r   TF)r   rB   Úrange)r	   r7   r0   Ú_s   &&  r   Ú_is_strong_prprb   4  sl   € Ü�!�a•%Ó€AÜˆA�A�v�qÓ€AØˆA„v�˜!•e”ÙÜ�1�q•5Ž\ˆÜ��1�a‹LˆØ�A•Œ:ÚØ�Ž6Úñ ñ r   c                 óÞ   € V^8  d   \        R4      hV ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # W,          p\        W4      ^8w  d   \        R4      h\        W4      # )r   z7is_strong_prp() requires 'a' greater than or equal to 2z.is_strong_prp() requires 'n' be greater than 0Fz&is_strong_prp() requires gcd(n,a) == 1)r   rK   rb   r[   s   &&r   Úis_strong_prprd   B  so   € Øˆ1„uÜÐRÓSÐSØˆ1„uÜÐIÓJÐJØˆA„vÙØˆ1…u�„zØ�A‰vˆØ…F€AÜ
ˆ1ƒy�A„~ÜÐAÓBÐBÜ˜!ÓÐr   c                ó2  € V^ 8X  d   R# V^,          ^V,          ,
          p^pTpW ,          pV^8X  d¬   \        V4      R,           F“  pWV,          V ,          pWf,          ^,
          V ,          pVR8X  g   K1  WQ,          V,           Wa,          WT,          ,           reV^,          '       d	   WP,          pV^,          '       d	   W`,          pV^,	          V^,	          reK•  	  EM)V^8X  d³   VR8X  d¬   \        V4      R,           F‹  pWV,          V ,          pV^8X  d   Wf,          ^,
          V ,          pMWf,          ^,           V ,          p^pVR8X  g   KQ  WV,           V^,          reV^,          '       d	   WP,          pV^,          pWe,          pRpK�  	  Wp,          pEMpV^8X  d¤   \        V4      R,           FŒ  pWV,          V ,          pWf,          ^V,          ,
          V ,          pWw,          pVR8X  dG   WV,           W%,          ^,          reV^,          '       d	   WP,          pV^,          pWV,
          pWr,          pWp,          pKŽ  	  MÆ\        V4      R,           F°  pWV,          V ,          pWf,          ^V,          ,
          V ,          pWw,          pVR8X  dk   WQ,          V,           Wa,          WT,          ,           reV^,          '       d	   WP,          pV^,          '       d	   W`,          pV^,	          V^,	          reWr,          pWp,          pK²  	  WP,          W`,          V3# )a  Return the modular Lucas sequence (U_k, V_k, Q_k).

Explanation
===========

Given a Lucas sequence defined by P, Q, returns the kth values for
U and V, along with Q^k, all modulo n. This is intended for use with
possibly very large values of n and k, where the combinatorial functions
would be completely unusable.

.. math ::
    U_k = \begin{cases}
         0 & \text{if } k = 0\\
         1 & \text{if } k = 1\\
         PU_{k-1} - QU_{k-2} & \text{if } k > 1
    \end{cases}\\
    V_k = \begin{cases}
         2 & \text{if } k = 0\\
         P & \text{if } k = 1\\
         PV_{k-1} - QV_{k-2} & \text{if } k > 1
    \end{cases}

The modular Lucas sequences are used in numerous places in number theory,
especially in the Lucas compositeness tests and the various n + 1 proofs.

Parameters
==========

n : int
    n is an odd number greater than or equal to 3
P : int
Q : int
    D determined by D = P**2 - 4*Q is non-zero
k : int
    k is a nonnegative integer

Returns
=======

U, V, Qk : (int, int, int)
    `(U_k \bmod{n}, V_k \bmod{n}, Q^k \bmod{n})`

Examples
========

>>> from sympy.external.ntheory import _lucas_sequence
>>> N = 10**2000 + 4561
>>> sol = U, V, Qk = _lucas_sequence(N, 3, 1, N//2); sol
(0, 2, 1)

References
==========

.. [1] https://en.wikipedia.org/wiki/Lucas_sequence

:rI   NNÚ1)r   r   r   r   )Úbin)	r	   ÚPÚQÚkÚDÚUÚVÚQkr   s	   &&&&     r   Ú_lucas_sequencero   Q  s  € ðr 	ˆA„vØÐØ	ˆ1�ˆq��s�
€AØ	€AØ	€AØ	
�€BØˆA„vä�Q“˜—�ˆAØ•˜•	ˆAØ•�q•˜A•ˆAØ�CŽxØ•s˜Q•w ¥ a¥c¥	�1Ø�q—5”5Ø•F�AØ�q—5”5Ø•F�AØ˜A•v˜q A�v’1ó ð 
ˆaŒ�A˜”Gä�Q“˜—�ˆAØ•˜•	ˆAØ�QŒwØ•S˜1•W •M‘à•S˜1•W •M�Ø�Ø�CŽxð �˜q A�v�1Ø�q—5”5Ø•F�AØ�a•�Ø•�Ø’ñ ð  	�ŠØ	
ˆaŒÜ�Q“˜—�ˆAØ•˜•	ˆAØ•�q˜•t•˜qÕ ˆAØ�HˆBØ�CŒxð � ¥¨�z�1Ø�q—5”5Ø•F�AØ�a•�Ø•E�Ø•�Ø�GŠBò ô  �Q“˜—�ˆAØ•˜•	ˆAØ•�q˜•t•˜qÕ ˆAØ�HˆBØ�CŒxØ•s˜Q•w ¥ a¥c¥	�1Ø�q—5”5Ø•F�AØ�q—5”5Ø•F�AØ˜A•v˜q A�v�1Ø•�Ø�GŠBñ ð �E�1•5˜"ÐÐr   c                 ó  € V^,          ^V,          ,
          pV^ 8X  g   V^ 8:  g   VR9  d   \        R4      hV ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # \        WW 4      ^,          W,          8H  # )r   z,invalid values for p,q in is_fibonacci_prp()z1is_fibonacci_prp() requires 'n' be greater than 0F)r   r   )r   ro   ©r	   r   r;   Úds   &&& r   Úis_fibonacci_prprs   Ð  s}   € Ø	ˆ1�ˆq��s�
€AØˆA„v��a”˜1 GÔ+ÜÐGÓHÐHØˆ1„uÜÐLÓMÐMØˆA„vÙØˆ1…u�„zØ�A‰vˆÜ˜1 Ó& qÕ)¨Q­UÑ2Ð2r   c           
      óD  € V^,          ^V,          ,
          pV^ 8X  d   \        R4      hV ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # \        WV,          4      ^V 39  d   \        R4      h\        WW \        W04      ,
          4      ^ ,          ^ 8H  # )r   z(invalid values for p,q in is_lucas_prp()z-is_lucas_prp() requires 'n' be greater than 0Fz)is_lucas_prp() requires gcd(n,2*q*D) == 1)r   rK   ro   rM   rq   s   &&& r   Úis_lucas_prpru   Ý  s—   € Ø	ˆ1�ˆq��s�
€AØˆA„vÜÐCÓDÐDØˆ1„uÜÐHÓIÐIØˆA„vÙØˆ1…u�„zØ�A‰vˆÜ
ˆ1��cƒ{˜1˜a˜&Ô ÜÐDÓEÐEÜ˜1 ¬¨q«Õ$4Ó5°aÕ8¸AÑ=Ð=r   c                óP  € \        ^R^4       F‹  pV^,          '       d   V) p\        W4      pVR8X  d0   \        V ^^V,
          ^,          V ^,           4      ^ ,          ^ 8H  u # V^ 8X  d   W,          '       d    R# V^8X  g   Kw  \        V 4      '       g   KŠ   R# 	  \	        R4      h)a  Lucas compositeness test with the Selfridge parameters for n.

Explanation
===========

The Lucas compositeness test checks whether n is a prime number.
The test can be run with arbitrary parameters ``P`` and ``Q``, which also change the performance of the test.
So, which parameters are most effective for running the Lucas compositeness test?
As an algorithm for determining ``P`` and ``Q``, Selfridge proposed method A [1]_ page 1401
(Since two methods were proposed, referred to simply as A and B in the paper,
we will refer to one of them as "method A").

method A fixes ``P = 1``. Then, ``D`` defined by ``D = P**2 - 4Q`` is varied from 5, -7, 9, -11, 13, and so on,
with the first ``D`` being ``jacobi(D, n) == -1``. Once ``D`` is determined,
``Q`` is determined to be ``(P**2 - D)//4``.

References
==========

.. [1] Robert Baillie, Samuel S. Wagstaff, Lucas Pseudoprimes,
       Math. Comp. Vol 35, Number 152 (1980), pp. 1391-1417,
       https://doi.org/10.1090%2FS0025-5718-1980-0583518-6
       http://mpqs.free.fr/LucasPseudoprimes.pdf

é@B Fz=appropriate value for D cannot be found in is_selfridge_prp()r   )r`   rM   ro   r@   r   )r	   rk   rL   s   &  r   Ú_is_selfridge_prprx   ì  sŽ   € ô4 �1�i Ö#ˆØˆq�5Œ5Ø�ˆAÜ�1‹LˆØ�Œ7Ü" 1 a¨!¨A­#°!­°Q¸µUÓ;¸AÕ>À!ÑCÒCØ�Œ6�a—e”eÚà�Ž7”y —|”|Úñ $ô ÐTÓ
UÐUr   c                 ót   € V ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # \        V 4      # )r   ú1is_selfridge_prp() requires 'n' be greater than 0F)r   rx   r4   s   &r   Úis_selfridge_prpr{     s>   € Øˆ1„uÜÐLÓMÐMØˆA„vÙØˆ1…u�„zØ�A‰vˆÜ˜QÓÐr   c                 ó(  € V^,          ^V,          ,
          pV^ 8X  d   \        R4      hV ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # \        WV,          4      ^V 39  d   \        R4      h\        W04      p\        W,
          4      p\	        WW V,
          V,	          4      w  rgpV^ 8X  g   V^ 8X  d   R# \        V^,
          4       F7  p	Ww,          ^V,          ,
          V ,          pV^ 8X  d    R# \        V^V 4      pK9  	  R# )r   z/invalid values for p,q in is_strong_lucas_prp()rz   Fz0is_strong_lucas_prp() requires gcd(n,2*q*D) == 1T)r   rK   rM   r   ro   r`   rB   )
r	   r   r;   rk   rL   r0   rl   rm   rn   ra   s
   &&&       r   Úis_strong_lucas_prpr}     sö   € Ø	ˆ1�ˆq��s�
€AØˆA„vÜÐJÓKÐKØˆ1„uÜÐLÓMÐMØˆA„vÙØˆ1…u�„zØ�A‰vˆÜ
ˆ1��cƒ{˜1˜a˜&Ô ÜÐKÓLÐLÜˆq‹€AÜ�!•%Ó€AÜ˜q Q¨Q­°1­Ó5�H€Aˆ"ØˆA„v��a”ÙÜ�1�q•5Ž\ˆØ�S�1�R•4�Z˜1ÕˆØ�Œ6ÚÜ��Q˜‹]Šñ	 ñ
 r   c                 ó4  € \        ^R^4       Fý  pV^,          '       d   V) p\        W4      pVR8X  d¢   \        V ^,           4      p\        V ^^V,
          ^,          V ^,           V,	          4      w  rEpV^ 8X  g   V^ 8X  d    R# \        V^,
          4       F8  pWU,          ^V,          ,
          V ,          pV^ 8X  d     R# \	        V^V 4      pK:  	   R# V^ 8X  d   W,          '       d    R# V^8X  g   Ké  \        V 4      '       g   Kü   R# 	  \        R4      h)rJ   rw   TFzDappropriate value for D cannot be found in is_strong_selfridge_prp()r   )r`   rM   r   ro   rB   r@   r   )r	   rk   rL   r0   rl   rm   rn   ra   s   &       r   Ú_is_strong_selfridge_prpr   7  sé   € Ü�1�i Ö#ˆØˆq�5Œ5Ø�ˆAÜ�1‹LˆØ�Œ7Ü˜!˜a�%Ó ˆAÜ& q¨!¨a°­c°a­Z¸!¸a½%ÀA½ÓF‰HˆA�"Ø�AŒv˜˜aœÚÜ˜1˜q�5–\�Ø•S˜1˜R�4•Z 1Õ$�Ø˜”6ÛÜ˜˜Q “]’ñ	 "ò
 Ø�Œ6�a—e”eÚà�Ž7”y —|”|Úñ' $ô( Ð[Ó
\Ð\r   c                 ót   € V ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # \        V 4      # )r   z8is_strong_selfridge_prp() requires 'n' be greater than 0F)r   r   r4   s   &r   Úis_strong_selfridge_prpr�   O  s>   € Øˆ1„uÜÐSÓTÐTØˆA„vÙØˆ1…u�„zØ�A‰vˆÜ# AÓ&Ð&r   c                 óœ   € V ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # \        V ^4      ;'       d    \        V 4      # )r   z,is_bpsw_prp() requires 'n' be greater than 0F)r   rb   rx   r4   s   &r   Úis_bpsw_prprƒ   Y  sN   € Øˆ1„uÜÐGÓHÐHØˆA„vÙØˆ1…u�„zØ�A‰vˆÜ˜!˜QÓ×8Ð8Ô$5°aÓ$8Ð8r   c                 óœ   € V ^8  d   \        R4      hV ^8X  d   R# V ^,          ^ 8X  d   V ^8H  # \        V ^4      ;'       d    \        V 4      # )r   z3is_strong_bpsw_prp() requires 'n' be greater than 0F)r   rb   r   r4   s   &r   Úis_strong_bpsw_prpr…   c  sN   € Øˆ1„uÜÐNÓOÐOØˆA„vÙØˆ1…u�„zØ�A‰vˆÜ˜!˜QÓ×?Ð?Ô$<¸QÓ$?Ð?r   )r   )%rS   Úmpmath.libmpÚlibmpr&   r   r`   rL   r   r   r#   r)   r,   r/   rK   Úlcmr5   r=   r@   rD   rF   rM   rP   rY   r\   r^   rb   rd   ro   rs   ru   rx   r{   r}   r   r�   rƒ   r…   r3   r   r   Ú<module>r‰      s   ðó å ð �#˜•)€Ù	ˆq�!Ž€AØ/0¨c°Q¸1¸q½5µ\Õ.B€O�A˜•FÐ*˜a A¨¥E�lÐ*Ó+ñ 
ô)ô@&òò8"ò
#ò
ð ‡h�h€Ø
‡h�h€òò'ò*!(òH>òò ò0ò+ò\!ò1òò ò|ò~
3ò>ò%VòP òò2]ò0'ò9ô@r   