úÎVyRˆB      !"#$%&'()*+,-./0123456789:;<=>?@ASafeN?ÿÓA (simple) continued fraction can be represented as a list of coefficients. This list is either finite (in the case of rational numbers), or infinite (in the case of irrational numbers. If the fraction represents a quadratic number (that is, a number that can be the root of some quadratic polynomial), then the infinite list of coefficients consists of a finite sequence of coefficients followed by a (finite) sequence of coefficients that repeats indefinitely.<A Gaussian integer is a+bi, where a and b are both integers.B,A type to represent a public or private key.-The canonical representation of x in Z mod m.ZList all pythagorean triples that include a given length (either as a leg or hypotenuse).=List all pythagorean triples that include a given leg length.GList all primitive pythagorean triples that include a given leg length. 5List all pythagorean triples with a given hypotenuse. ?List all primitive pythagorean triples with a given hypotenuse. 2List all divisors of n (not just proper divisors). 6List the prime factors of n, and their multiplicities.bCompute Euler's phi. This is equal to the number of integers <= n that are relatively prime to n.#List the unique prime factors of n.Compute if n is prime.]Compute whether two integers are relatively prime to each other. That is, if their GCD == 1.^Evaluate a polynomial (in Zm) with given coefficients at a given point using Horner's method.lFind the zeros to a given polynomial in Zm, where the coefficients are given in order of descending degree. Raise a to the power of e in Zm.[Given primes p and q, generate all pairs of public/private keys derived from those values.=Use the given key to encode/decode the message or ciphertext.!Compute the group of units of Zm.%Compute the nilpotent elements of Zm.&Compute the idempotent elements of Zm."Compute the primitive roots of Zm.Compute the "almost roots" of Zm. An almost root is a unit, is not a primitive root, and generates the whole group of units when exponentiated.Compute the order of x in Zm.'Computes the orders of all units in Zm.ŠFind powers of all the primitive roots of Zm that are equal to x. Equivalently, express x as powers of roots (almost or primitive) in Zm.@Solve the power congruence for x, given e, k, m: x^e = k (mod m) zCompute the integer log base B of k in Zm. Equivalently, given 2 elements of Zm, find what powers of b produce k, if any.!'Compute the Legendre symbol of p and q."#Compute the Kronecker symbol (a|n).#,Compute tau(n), the number of divisors of n.$5Compute sigma(n), the sum of powers of divisors of n.%HCompute mobius(n): (-1)^littleOmega(n) if n is square-free, 0 otherwise.&;Compute littleOmega(n), the number of unique prime factors.'QCompute bigOmega(n), the number of prime factors of n (including multiplicities).($The real part of a Gaussian integer.))The imaginary part of a Gaussian integer.*Conjugate a Gaussian integer.+2The square of the magnitude of a Gaussian integer.,#Add two Gaussian integers together.-+Subtract one Gaussian integer from another..Multiply two Gaussian integers./'Divide one Gaussian integer by another.0DCompute the remainder when dividing one Gaussian integer by another.12Compute whether a given Gaussian integer is prime.2UAn infinte list of the Gaussian primes. This list is in order of ascending magnitude.3)Compute the GCD of two Gaussian integers.4JFind a Gaussian integer whose magnitude squared is the given prime number.5*Raise a Gaussian integer to a given power.6TCompute the prime factorization of a Gaussian integer. This is unique up to units (+- 1, +- i).7)Compute the factorial of a given integer.8The Fibonacci sequence.9RGiven a set of n elements, compute the number of ways to arrange k elements of it.:QGiven a set of n elements, compute the number of ways to choose r elements of it.;€Given a list of spots, where each spot is a list of its possible values, enumerate all possible assignments of values to spots.<LGiven an integer n, find all ways of expressing n as the sum of two squares.=LConvert a Double to a (finite) continued fraction. This is inherently lossy.>[Convert the quadratic number (m0 + sqrt(d)) / q0 to its continued fraction representation.?íConvert a continued fraction to a rational number. If the fraction is finite, then this is an exact conversion. If the fraction is infinite, this conversion is necessarily lossy, since the fraction does not represent a rational number.@OConvert a rational number to a continued fraction. This is an exact conversion.A¶Convert a continued fraction to a Fractional type. This is lossy due to precision in the Fractional type, and due to conversion of irrational continued fractions to rational types.MBCD EF GH !"#$%&'()*+,-.I/0123456789:;<=>?@AJKLB  !"#$%&'()*+,-./0123456789:;<=>?@AB  !"#$%&'()*+,-./0123456789:;<=@>?AJBCD EF GH !"#$%&'()*+,-.I/0123456789:;<=>?@AJKLM      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNONumbe_ApmNFVJAQE6Cynrjf0ekkQ NumberTheoryContinuedFractionFiniteInfiniteGaussInt:+canonpythSidepythLeg primPythLegpythHyp primPythHypdivisors factorizenonUnitFactorizetotientprimesisPrime areCoprimeevalPolypolyCong exponentiate rsaGenKeysrsaEvalunits nilpotents idempotentsroots almostRootsorderordersexpressAsRoots powerCongilogBMlegendre kroneckertausigmamobius littleOmegabigOmegarealimag conjugate magnitude.+.-.*./.%gIsPrimegPrimesgGCD gFindPrime gExponentiate gFactorize factorial fibonaccipermutechoose enumerateasSumOfSquarescontinuedFractionFromDoublecontinuedFractionFromQuadraticcontinuedFractionToRationalcontinuedFractionFromRationalcontinuedFractionToFractionalKeysqrti isIntegralgeneratePythTripleareLegalParametersForPythTriplecollapseMultiplicitiesrootsOrAlmostRoots divToNearest$fShowContinuedFraction$fMonoidGaussInt$fShowGaussInt