Skip to content

An implementation of the Galbraith–Petit–Silva quantum-resistant cryptosystem.

Notifications You must be signed in to change notification settings

benediamond/galbraith-petit-silva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository implements the "Galbraith–Petit–Silva" quantum-resistant cryptosystem, now published in the Journal of Cryptology. It uses as a dependency the number-theory library LiDIA, in a fork of which I have added extended support for point-counting-related operations on curves over prime-power-order fields. As far as I know, it is the first implementation of this theoretically compelling post-quantum cryptosystem.

This is still a proof-of-concept, and not suitable (or practical, yet) for actual cryptographic use.

Technical Notes

Precise technical details of this implementation's approach are given in the technical note docs/GPS.pdf; a summary is given below.

Overview

The main innovation I introduce to the original work of GPS is the use of a prime p == 1 (mod 8) and a curve j_0 over F_p for which the endomorphism ring O_0 = End(j_0) resides in the third row of the table of Petit and Lauter, Prop. 1. For such j_0, the specialized modular polynomials \Phi_l_i(X, j_0) lack repeated roots over F_p^2; as such, the method of Elkies serves to efficiently factor E(j_0)'s division polynomials \psi_l_i(X). I first re-situate into a preprocessing step the construction of all torsion bases E_0[l_i], so that, during walking, only random combinations of these (pre-calculated) bases must be generated; the approach of Elkies (with improvements due to Müller) efficiently yields these torsion bases, as the order-(l_i - 1) / 2 factors of \psi_l_i(X) it produces correspond exactly to order-l_i subgroups of E[l_i] (and hence to candidate basis elements).

Thus, I never directly factor division polynomials (except when calculating E[q], where q is as in Petit and Lauter, Prop. 1.).

One consequence of this approach is that prime powers l_i^e_i can no longer be used, at least not in any obvious way.

Performance and Parallelization

Targeting 8 bits of post-quantum security, I performed this preprocessing step for a 32-bit prime p.

Performance during signing (and preprocessing!) is mediated primarily by the degrees of the extension fields over which the torsion subgroups E[l_i] reside (see e.g. CSIDH for similar remarks). These degrees, in turn, are controlled by the orders of the p^2-Frobenius's respective restrictions to E[l_i], or, in other words, by the multiplicative orders of -p (mod l_i). (Adam Leonard van Tuyl's masters thesis is a helpful reference for these ideas.) Indeed, the prime p = 4294022113 minimizes, over those primes p just below 2 ^ {4 * 8}, the maximum, over those l_i required to obtain adequate mixing in p's supersingular isogeny graph, of the multiplicative order of -p in (Z / l_i Z)*.

This pre-generation step still takes some time, unfortunately, mainly because of finding roots in these extension fields. (I can't currently construct extension fields using as towers, i.e. by specifying irreducible polynomials; even if I could, there are two polynomials for which we need simultaneous roots—the two separate factors of the divpol—and even towers wouldn't help construct both, at least not asymptotically.) Preprocessing for the prime p = 4294022113 took about a day's worth of work on a single CPU.

As for signing, things are still pretty horrendous—signing with p = 4294022113 takes over two hours. The serialization l = 4.txt uses a prime p = 577513 of only 16 bits, for which signing takes about 12 minutes.

Verifying takes about just a minute or two, and uses the modular polynomials database of Andrew Sutherland, whom I thank. The relevant files (i.e., for each l_i) must placed in the directory src/modular/.

Preprocessing, signing and verifying would all benefit vastly from parallelization. See #4 for more discussion on this. Put simply, parallelization would impose virtually no overhead, in the sense that with multiple cores would simply divide the total time correspondingly.

Differences from Galbraith--Petit--Silva: Detail

Here are few more miscellaneous notes.

  • As mentioned above, I move torsion-basis-generation to a preprocessing step. During walking, for each l, only the coefficients of each Q_i with respect to the pre-computed l-torsion basis must be randomly generated.
  • As a consequence of this, it is necessary, for the success of Algorithm 2, that the powersmooth norm S of the endormorphism ring ideal generated by Algorithm 1 be known in advance. Resultingly, it not possible to dynamically adjust the powersmooth numbers S_1 and S_2 as suggested in GPS, Algorithm 1. I therefore require that S_1 * S_2 equal the powersmooth norm S_1 * S_2 originally chosen. On the other hand, it is not necessary, as appears to be implied by Algorithm 3, that these numbers individually (at least at first) agree with their counterparts specified in section 4.5; rather, only their product must. I therefore choose, in order to ensure that the right-hand sides of lines 11 and 18 be large enough, an "imbalanced" approach where S_2 is much larger than S_1 (only in Algorithm 1, that is).
  • As another consequence, line 14 of Algorithm 1 can't go through as written. Instead, I keep regenerating beta_1 until the Legendre condition of line 14 is true immediately (that is, with r = 1). If either of the two executions of Cornacchia's algorithm fails (with a negative right-hand-side), I re-start the entire procedure using a new N.
  • The "linear algebra modulo N" of line 13, described further in Kohel, Lauter, Petit, and Tignol, section 4.3, requires an isomorphism O/NO --> M_2(Z / NZ). A pair (x, y) satisfying -p == x^2 - q * y^2 (mod N), with the aid of which which this isomorphism can be computed (see Keith Conrad's explainer on quaternion algebras, Theorem 4.16), is constructed most naturally when -q is a square modulo N (see Theorem 4.14—but also cf. Corollary 4.24). I thus enforce in Algorithm 1, jacobi(-q, N) == 1.

There are more changes that I can't recall; I will try to add these as time goes on.

Building and Usage Instructions

First, build and install my fork of LiDIA. Also install Crypto++.

To build GPS, navigate to the main repo directory and run

make

To execute it, run

./build/apps/main

The example usage given in main.cc imports a GPS object from a file, generates a keypair, and signs and verifies a message. Here is an example output:

l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (1024039354 * x+ 723293216)
l = 17, stepped: (4269012328 * x+ 4209262985)
l = 23, stepped: (2027896434 * x+ 292084266)
l = 31, stepped: (1013339165 * x+ 4096055887)
l = 41, stepped: (1135594996 * x+ 4075991212)
l = 47, stepped: (1928295985 * x+ 377822549)
l = 59, stepped: (1083658958 * x+ 1712272068)
l = 67, stepped: (612479712 * x+ 204096452)
l = 73, stepped: (335876204 * x+ 4260578668)
l = 83, stepped: (3337266679 * x+ 3949172542)
l = 97, stepped: (297699532 * x+ 3719556583)
l = 103, stepped: (796321653 * x+ 3832474970)
l = 109, stepped: (4124633003 * x+ 2901807847)
l = 127, stepped: (1012845504 * x+ 1921421461)
l = 137, stepped: (1405876012 * x+ 2848063426)
l = 149, stepped: (2254180367 * x+ 3629639434)
l = 157, stepped: (2921010378 * x+ 534673766)
Truncated...

extending the walk...
l = 5, stepped: (3599356662 * x+ 4192873431)
l = 13, stepped: (2702132709 * x+ 4147490973)
l = 19, stepped: (31099660 * x+ 960114139)
l = 29, stepped: (2655822120 * x+ 1941725318)
l = 37, stepped: (3715304286 * x+ 3394496960)
l = 43, stepped: (1947975176 * x+ 2724412800)
l = 53, stepped: (2273390774 * x+ 365244239)
l = 61, stepped: (3961142780 * x+ 1043243065)
l = 71, stepped: (2018330369 * x+ 4081628657)
l = 79, stepped: (2586239148 * x+ 2490970222)
l = 89, stepped: (754065599 * x+ 749609434)
l = 101, stepped: (2078325974 * x+ 2011036428)
l = 107, stepped: (3926131552 * x+ 1583377848)
l = 113, stepped: (93374631 * x+ 1322407140)
l = 131, stepped: (541001676 * x+ 3929581764)
l = 139, stepped: (2452379602 * x+ 770965010)
l = 151, stepped: (3101252489 * x+ 1833632349)
rerouting...
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (1467772212 * x+ 2032228124)
l = 17, stepped: (1853520961 * x+ 1342851880)
l = 23, stepped: (1255551440 * x+ 3338398197)
l = 31, stepped: (2710275085 * x+ 1637122263)
l = 41, stepped: (971422078 * x+ 3424420327)
l = 47, stepped: (1528768697 * x+ 3051547026)
l = 59, stepped: (2508938079 * x+ 3984910724)
l = 67, stepped: (3777471269 * x+ 1927136657)
l = 73, stepped: (2962023209 * x+ 3564426131)
l = 83, stepped: (21270104 * x+ 1735917548)
l = 97, stepped: (1627083871 * x+ 446315990)
l = 103, stepped: (3269059357 * x+ 3249034444)
l = 109, stepped: (685412283 * x+ 3005144320)
l = 127, stepped: (3587987788 * x+ 311569447)
l = 137, stepped: (3670945846 * x+ 3505259424)
l = 149, stepped: (1504343098 * x+ 3968423865)
l = 157, stepped: (3413637835 * x+ 307982721)
l = 5, stepped: (2368189160 * x+ 1708533858)
l = 13, stepped: (1625289063 * x+ 2336947685)
l = 19, stepped: (372692267 * x+ 1417985216)
l = 29, stepped: (1503217381 * x+ 3263562769)
l = 37, stepped: (584869876 * x+ 3296049053)
l = 43, stepped: (1970145899 * x+ 1117641991)
l = 53, stepped: (2105926990 * x+ 2732262018)
l = 61, stepped: (2786459827 * x+ 1385202726)
l = 71, stepped: (2224861246 * x+ 2637757920)
l = 79, stepped: (2405885894 * x+ 2432294524)
l = 89, stepped: (3398783995 * x+ 2446729659)
l = 101, stepped: (1712928761 * x+ 657803838)
l = 107, stepped: (1293249768 * x+ 3860077733)
l = 113, stepped: (2378617708 * x+ 2622284720)
l = 131, stepped: (4024088130 * x+ 1167808301)
l = 139, stepped: (206946804 * x+ 4104617374)
l = 151, stepped: (3101252489 * x+ 1833632349)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (3422301922 * x+ 457777012)
l = 19, stepped: (2269979361 * x+ 432131144)
l = 29, stepped: (1871523477 * x+ 2426336875)
l = 37, stepped: (1779942129 * x+ 1068230015)
l = 43, stepped: (4094694373 * x+ 335398796)
l = 53, stepped: (1189108606 * x+ 3417939464)
l = 61, stepped: (1551463775 * x+ 1393767033)
l = 71, stepped: (2704224202 * x+ 2563209389)
l = 79, stepped: (2621795206 * x+ 1841719400)
l = 89, stepped: (409378877 * x+ 3820665426)
l = 101, stepped: (1595661201 * x+ 1764679513)
l = 107, stepped: (1181317846 * x+ 3101059481)
l = 113, stepped: (846834159 * x+ 3647486534)
l = 131, stepped: (1384659356 * x+ 2909822995)
l = 139, stepped: (714799026 * x+ 1028312772)
l = 151, stepped: (3227963528 * x+ 2095425920)
rerouting...
second cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (1467772212 * x+ 2032228124)
l = 17, stepped: (2324933327 * x+ 765760870)
l = 23, stepped: (179764000 * x+ 1030090280)
l = 31, stepped: (1142344331 * x+ 3678566362)
l = 41, stepped: (250252827 * x+ 751300065)
l = 47, stepped: (2594109463 * x+ 3868782560)
l = 59, stepped: (3392805320 * x+ 4111861178)
l = 67, stepped: (189585980 * x+ 2103141300)
l = 73, stepped: (355319048 * x+ 517026040)
l = 83, stepped: (1620265934 * x+ 1814816426)
l = 97, stepped: (1187607931 * x+ 776451852)
l = 103, stepped: (3050656775 * x+ 2217639895)
l = 109, stepped: (4111643573 * x+ 1373916108)
l = 127, stepped: (649109110 * x+ 501811270)
l = 137, stepped: (4197778292 * x+ 3775866000)
l = 149, stepped: (4272042651 * x+ 2166311405)
l = 157, stepped: (167850839 * x+ 116822475)
l = 5, stepped: (539403471 * x+ 3882968334)
l = 13, stepped: (3383158587 * x+ 3651128669)
l = 19, stepped: (1378717848 * x+ 3413586885)
l = 29, stepped: (522156506 * x+ 54265699)
l = 37, stepped: (1004524862 * x+ 2387108255)
l = 43, stepped: (2920410168 * x+ 3089275449)
l = 53, stepped: (3077020576 * x+ 1195189054)
l = 61, stepped: (1586286861 * x+ 1283942731)
l = 71, stepped: (2152225334 * x+ 3812885020)
l = 79, stepped: (907424678 * x+ 1969752286)
l = 89, stepped: (265382478 * x+ 1657100671)
l = 101, stepped: (4093616105 * x+ 3140921188)
l = 107, stepped: (2284028115 * x+ 357017992)
l = 113, stepped: (2095750701 * x+ 3685209801)
l = 131, stepped: (2827631995 * x+ 593505054)
l = 139, stepped: (3227251341 * x+ 585755158)
l = 151, stepped: (3227963528 * x+ 2095425920)
extending the walk...
l = 5, stepped: (3328366654 * x+ 321795247)
l = 13, stepped: (3035733210 * x+ 1175921684)
l = 19, stepped: (3364712216 * x+ 3334699832)
l = 29, stepped: (3607916884 * x+ 672350472)
l = 37, stepped: (1422321510 * x+ 2987643761)
l = 43, stepped: (3845221787 * x+ 1677087658)
l = 53, stepped: (315940026 * x+ 2776171184)
l = 61, stepped: (3656322884 * x+ 3731665763)
l = 71, stepped: (336576452 * x+ 3989074579)
l = 79, stepped: (2366606280 * x+ 383660398)
l = 89, stepped: (146545683 * x+ 3115270439)
l = 101, stepped: (1427998854 * x+ 1375131784)
l = 107, stepped: (1491898215 * x+ 3328056036)
l = 113, stepped: (3166914913 * x+ 350537074)
l = 131, stepped: (1140001440 * x+ 2667922424)
l = 139, stepped: (436179791 * x+ 3610368098)
l = 151, stepped: (3375440712 * x+ 2992470223)
rerouting...
second cornacchia failed!
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (4033535488 * x+ 830270293)
l = 17, stepped: (2184978669 * x+ 1292711940)
l = 23, stepped: (4245330235 * x+ 1550788533)
l = 31, stepped: (885864682 * x+ 3529708308)
l = 41, stepped: (1434748162 * x+ 2787826210)
l = 47, stepped: (163318607 * x+ 2723335989)
l = 59, stepped: (2733396347 * x+ 310743036)
l = 67, stepped: (2519232356 * x+ 2934999174)
l = 73, stepped: (3492744272 * x+ 3206682926)
l = 83, stepped: (876606498 * x+ 2091672789)
l = 97, stepped: (2074003467 * x+ 4059145512)
l = 103, stepped: (3512533811 * x+ 195763855)
l = 109, stepped: (2261182736 * x+ 1306485580)
l = 127, stepped: (2332139506 * x+ 3374432635)
l = 137, stepped: (634356412 * x+ 3228199195)
l = 149, stepped: (3424307886 * x+ 2470931149)
l = 157, stepped: (440391 * x+ 3513548935)
l = 5, stepped: (86008380 * x+ 2267332157)
l = 13, stepped: (645376089 * x+ 3001679936)
l = 19, stepped: (2667549135 * x+ 695701503)
l = 29, stepped: (2445267287 * x+ 3132223076)
l = 37, stepped: (1334789817 * x+ 1003139892)
l = 43, stepped: (503395049 * x+ 549662647)
l = 53, stepped: (2781216685 * x+ 246524979)
l = 61, stepped: (2364649242 * x+ 251801343)
l = 71, stepped: (2099428179 * x+ 399610433)
l = 79, stepped: (2091346149 * x+ 301855767)
l = 89, stepped: (370236293 * x+ 170539510)
l = 101, stepped: (3772356979 * x+ 2360800146)
l = 107, stepped: (1064158385 * x+ 3447324783)
l = 113, stepped: (2811098931 * x+ 776282417)
l = 131, stepped: (3629135458 * x+ 1390970671)
l = 139, stepped: (3322586986 * x+ 3881468127)
l = 151, stepped: (3375440712 * x+ 2992470223)
extending the walk...
l = 5, stepped: (3792044029 * x+ 3063216605)
l = 13, stepped: (646139427 * x+ 3769055635)
l = 19, stepped: (1209680429 * x+ 2007518678)
l = 29, stepped: (3143683233 * x+ 1915358426)
l = 37, stepped: (2374483618 * x+ 1850755547)
l = 43, stepped: (208003897 * x+ 2355359319)
l = 53, stepped: (1779954476 * x+ 2018807826)
l = 61, stepped: (665339372 * x+ 1991800440)
l = 71, stepped: (383838919 * x+ 885453395)
l = 79, stepped: (1284219701 * x+ 1259057293)
l = 89, stepped: (2258791549 * x+ 2533074923)
l = 101, stepped: (2321868346 * x+ 663661044)
l = 107, stepped: (94859115 * x+ 3013437914)
l = 113, stepped: (252567376 * x+ 3544373793)
l = 131, stepped: (243162388 * x+ 2968091467)
l = 139, stepped: (2377551566 * x+ 3570733756)
l = 151, stepped: (1052321399 * x+ 384557073)
rerouting...
second cornacchia failed!
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (467620162 * x+ 3735934094)
l = 17, stepped: (515502286 * x+ 1007361990)
l = 23, stepped: (1015084451 * x+ 915375356)
l = 31, stepped: (165265036 * x+ 3209606592)
l = 41, stepped: (3122902886 * x+ 4243721278)
l = 47, stepped: (785194225 * x+ 2896086991)
l = 59, stepped: (959680835 * x+ 1634956330)
l = 67, stepped: (2226980757 * x+ 2353902149)
l = 73, stepped: (2603345832 * x+ 700194477)
l = 83, stepped: (3271646558 * x+ 338591842)
l = 97, stepped: (1374841994 * x+ 567203871)
l = 103, stepped: (2934595864 * x+ 4051693072)
l = 109, stepped: (2561588394 * x+ 86587863)
l = 127, stepped: (4257612127 * x+ 1937955411)
l = 137, stepped: (929112954 * x+ 3642491116)
l = 149, stepped: (2527755726 * x+ 3374285285)
l = 157, stepped: (2857949187 * x+ 570044076)
l = 5, stepped: (1138643156 * x+ 1140915643)
l = 13, stepped: (1066848750 * x+ 2682036545)
l = 19, stepped: (523690544 * x+ 258438810)
l = 29, stepped: (195594102 * x+ 1081667804)
l = 37, stepped: (3366462636 * x+ 2167493284)
l = 43, stepped: (3281763653 * x+ 2193686604)
l = 53, stepped: (2012469991 * x+ 3369976055)
l = 61, stepped: (1849313571 * x+ 833543596)
l = 71, stepped: (1369844419 * x+ 3692788922)
l = 79, stepped: (2242667652 * x+ 3069443789)
l = 89, stepped: (1127408685 * x+ 3906337930)
l = 101, stepped: (990820117 * x+ 3832508679)
l = 107, stepped: (445771952 * x+ 4170688114)
l = 113, stepped: (4220099941 * x+ 2508341034)
l = 131, stepped: (1006569836 * x+ 648130668)
l = 139, stepped: (2313668923 * x+ 647987057)
l = 151, stepped: (1052321399 * x+ 384557073)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (3422301922 * x+ 457777012)
l = 19, stepped: (57955330 * x+ 1950349050)
l = 29, stepped: (1826079164 * x+ 18589853)
l = 37, stepped: (1421559429 * x+ 3790747334)
l = 43, stepped: (1730639013 * x+ 1669544396)
l = 53, stepped: (4168396269 * x+ 2915012970)
l = 61, stepped: (4135089212 * x+ 1382131987)
l = 71, stepped: (1056604614 * x+ 2927646842)
l = 79, stepped: (1054317979 * x+ 1274137161)
l = 89, stepped: (2715151353 * x+ 646792133)
l = 101, stepped: (3689469071 * x+ 3062713350)
l = 107, stepped: (1571416940 * x+ 806811092)
l = 113, stepped: (2341916560 * x+ 2753571869)
l = 131, stepped: (3148101709 * x+ 1561375167)
l = 139, stepped: (2410555512 * x+ 896089813)
l = 151, stepped: (1170474736 * x+ 2330380997)
rerouting...
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
first cornacchia failed!
l = 3, stepped: (2004180704 * x+ 2755075260)
l = 11, stepped: (2972979179 * x+ 3216361350)
l = 17, stepped: (3326080074 * x+ 270001239)
l = 23, stepped: (1261584911 * x+ 21797966)
l = 31, stepped: (1271989973 * x+ 2556412338)
l = 41, stepped: (1623906375 * x+ 2098898182)
l = 47, stepped: (500734080 * x+ 3950318887)
l = 59, stepped: (1243838481 * x+ 1609849990)
l = 67, stepped: (2322713881 * x+ 983762785)
l = 73, stepped: (344194864 * x+ 1258138759)
l = 83, stepped: (913180652 * x+ 1843550802)
l = 97, stepped: (663690091 * x+ 1688043601)
l = 103, stepped: (810502899 * x+ 2138589866)
l = 109, stepped: (1394156342 * x+ 2747221787)
l = 127, stepped: (1607112785 * x+ 313884969)
l = 137, stepped: (911859145 * x+ 3706188254)
l = 149, stepped: (2356293161 * x+ 1262634820)
l = 157, stepped: (3935030397 * x+ 2993865036)
l = 5, stepped: (1376019938 * x+ 3648305194)
l = 13, stepped: (2881593031 * x+ 2782326186)
l = 19, stepped: (2424295158 * x+ 860947233)
l = 29, stepped: (1788842217 * x+ 2669290562)
l = 37, stepped: (1252434601 * x+ 1702302741)
l = 43, stepped: (3104073778 * x+ 3161426082)
l = 53, stepped: (344098741 * x+ 3621841571)
l = 61, stepped: (3291743963 * x+ 2299421903)
l = 71, stepped: (1416447967 * x+ 207298543)
l = 79, stepped: (413200613 * x+ 1314232032)
l = 89, stepped: (2613413229 * x+ 2222265320)
l = 101, stepped: (2733422771 * x+ 2193485865)
l = 107, stepped: (277583189 * x+ 4163294724)
l = 113, stepped: (325584810 * x+ 4105687990)
l = 131, stepped: (1766185316 * x+ 2251352202)
l = 139, stepped: (558732267 * x+ 1854445397)
l = 151, stepped: (1170474736 * x+ 2330380997)
extending the walk...
l = 5, stepped: (3599356662 * x+ 4192873431)
l = 13, stepped: (1744788121 * x+ 2529363538)
l = 19, stepped: (3719586359 * x+ 293050942)
l = 29, stepped: (3977693478 * x+ 1485600569)
l = 37, stepped: (1472209835 * x+ 1134650987)
l = 43, stepped: (3981025943 * x+ 4186386953)
l = 53, stepped: (3299896892 * x+ 566326498)
l = 61, stepped: (4032228374 * x+ 2034476266)
l = 71, stepped: (1783434202 * x+ 1157456906)
l = 79, stepped: (1519817360 * x+ 720792378)
l = 89, stepped: (793565549 * x+ 3083042679)
l = 101, stepped: (3973756644 * x+ 508219957)
l = 107, stepped: (3801641305 * x+ 120892865)
l = 113, stepped: (61042251 * x+ 1910378190)
l = 131, stepped: (1624147077 * x+ 2258132305)
l = 139, stepped: (3899628424 * x+ 700673804)
l = 151, stepped: (972293004 * x+ 3928022699)
rerouting...
second cornacchia failed!
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (2004180704 * x+ 2755075260)
l = 17, stepped: (1428885471 * x+ 1538438113)
l = 23, stepped: (2091509440 * x+ 3798834760)
l = 31, stepped: (3502546266 * x+ 3963961644)
l = 41, stepped: (2116904957 * x+ 2932474867)
l = 47, stepped: (3703822836 * x+ 1802271677)
l = 59, stepped: (3889793059 * x+ 831618455)
l = 67, stepped: (4278466717 * x+ 2995313875)
l = 73, stepped: (1516322300 * x+ 1683050793)
l = 83, stepped: (2966390917 * x+ 3506473404)
l = 97, stepped: (72531385 * x+ 3022939199)
l = 103, stepped: (3377876073 * x+ 720623013)
l = 109, stepped: (1284000003 * x+ 2450974599)
l = 127, stepped: (117493549 * x+ 3107448524)
l = 137, stepped: (391629720 * x+ 2539505459)
l = 149, stepped: (3257722472 * x+ 3375065166)
l = 157, stepped: (4014263528 * x+ 129374386)
l = 5, stepped: (2647118784 * x+ 2931432995)
l = 13, stepped: (3734273160 * x+ 3446213711)
l = 19, stepped: (3088065369 * x+ 1826892979)
l = 29, stepped: (3250982219 * x+ 4234247446)
l = 37, stepped: (1071938712 * x+ 4005604657)
l = 43, stepped: (2713711103 * x+ 2936192250)
l = 53, stepped: (1887903419 * x+ 3702836467)
l = 61, stepped: (3255180012 * x+ 1389523443)
l = 71, stepped: (2557886297 * x+ 161985140)
l = 79, stepped: (3935404356 * x+ 887820645)
l = 89, stepped: (4167444982 * x+ 1475744096)
l = 101, stepped: (941536798 * x+ 169211997)
l = 107, stepped: (3902762938 * x+ 732842767)
l = 113, stepped: (138317999 * x+ 4292911938)
l = 131, stepped: (1742529522 * x+ 59952741)
l = 139, stepped: (4072247320 * x+ 599140180)
l = 151, stepped: (972293004 * x+ 3928022699)
extending the walk...
l = 5, stepped: (3792044029 * x+ 3063216605)
l = 13, stepped: (3685728892 * x+ 1279901309)
l = 19, stepped: (3008732045 * x+ 3627232524)
l = 29, stepped: (2759360981 * x+ 2221558738)
l = 37, stepped: (3916844609 * x+ 504602145)
l = 43, stepped: (2012286211 * x+ 865902713)
l = 53, stepped: (881858550 * x+ 2401486905)
l = 61, stepped: (575433780 * x+ 3693116859)
l = 71, stepped: (810390033 * x+ 2692790896)
l = 79, stepped: (1054356886 * x+ 3277276111)
l = 89, stepped: (3463442188 * x+ 4276207560)
l = 101, stepped: (99139614 * x+ 3452194429)
l = 107, stepped: (1243235317 * x+ 2861636069)
l = 113, stepped: (356697256 * x+ 3225796085)
l = 131, stepped: (1817610520 * x+ 1988296623)
l = 139, stepped: (2438919953 * x+ 4092082489)
l = 151, stepped: (3252673556 * x+ 167240357)
rerouting...
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (1467772212 * x+ 2032228124)
l = 17, stepped: (4290442147 * x+ 1750695022)
l = 23, stepped: (147478907 * x+ 2733173209)
l = 31, stepped: (427472163 * x+ 2598115541)
l = 41, stepped: (3102663930 * x+ 2720891979)
l = 47, stepped: (1741324806 * x+ 1864668531)
l = 59, stepped: (919854463 * x+ 2857413268)
l = 67, stepped: (3497752230 * x+ 2028958287)
l = 73, stepped: (1288122111 * x+ 2448009389)
l = 83, stepped: (1554363611 * x+ 1690841358)
l = 97, stepped: (304498297 * x+ 168924933)
l = 103, stepped: (242907944 * x+ 1206465036)
l = 109, stepped: (723087706 * x+ 3701814140)
l = 127, stepped: (3898386605 * x+ 1062130356)
l = 137, stepped: (1083788995 * x+ 2906998676)
l = 149, stepped: (116487570 * x+ 3547758796)
l = 157, stepped: (1401603634 * x+ 1066420528)
l = 5, stepped: (665658602 * x+ 2222504303)
l = 13, stepped: (874419537 * x+ 633331146)
l = 19, stepped: (379339128 * x+ 3335444697)
l = 29, stepped: (30331020 * x+ 3640327807)
l = 37, stepped: (2882644203 * x+ 3628163000)
l = 43, stepped: (3958974183 * x+ 3639228632)
l = 53, stepped: (3721062789 * x+ 4114953830)
l = 61, stepped: (4276932093 * x+ 2038719477)
l = 71, stepped: (2157669091 * x+ 2426516015)
l = 79, stepped: (1758210718 * x+ 2671018835)
l = 89, stepped: (2780681391 * x+ 3662721055)
l = 101, stepped: (1193765562 * x+ 574126581)
l = 107, stepped: (1486385093 * x+ 744722)
l = 113, stepped: (1570998499 * x+ 2655417524)
l = 131, stepped: (1753503048 * x+ 1181019911)
l = 139, stepped: (3130821042 * x+ 3857003549)
l = 151, stepped: (3252673556 * x+ 167240357)
extending the walk...
l = 5, stepped: (3328366654 * x+ 321795247)
l = 13, stepped: (476247961 * x+ 1842590053)
l = 19, stepped: (116127956 * x+ 1208413964)
l = 29, stepped: (2504220417 * x+ 1843935975)
l = 37, stepped: (3929300034 * x+ 222417653)
l = 43, stepped: (1192238022 * x+ 1845685479)
l = 53, stepped: (652621514 * x+ 2106975294)
l = 61, stepped: (2137012031 * x+ 331990648)
l = 71, stepped: (3592837043 * x+ 3437978203)
l = 79, stepped: (1690080735 * x+ 2686279320)
l = 89, stepped: (2758768693 * x+ 4142335401)
l = 101, stepped: (3841942057 * x+ 2016002583)
l = 107, stepped: (3082789277 * x+ 257591510)
l = 113, stepped: (434643501 * x+ 2255957336)
l = 131, stepped: (794872018 * x+ 877245436)
l = 139, stepped: (3068525040 * x+ 550791516)
l = 151, stepped: (488832409 * x+ 3005517047)
rerouting...
first cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (1985949741 * x+ 3805978753)
l = 17, stepped: (2568512692 * x+ 2792993200)
l = 23, stepped: (1025690076 * x+ 1220711847)
l = 31, stepped: (3413218394 * x+ 1825112971)
l = 41, stepped: (2969524835 * x+ 587481931)
l = 47, stepped: (4010118489 * x+ 1025699916)
l = 59, stepped: (2017499098 * x+ 3642537806)
l = 67, stepped: (762404003 * x+ 1225132446)
l = 73, stepped: (3646142374 * x+ 717830882)
l = 83, stepped: (1228269380 * x+ 1050156223)
l = 97, stepped: (3996205029 * x+ 1866856074)
l = 103, stepped: (2617788971 * x+ 3740746387)
l = 109, stepped: (2608429695 * x+ 1065700920)
l = 127, stepped: (1896866712 * x+ 2325962098)
l = 137, stepped: (612951735 * x+ 3424381039)
l = 149, stepped: (118798483 * x+ 611492820)
l = 157, stepped: (1110314333 * x+ 2636866709)
l = 5, stepped: (474339462 * x+ 1230227452)
l = 13, stepped: (3780227183 * x+ 203438716)
l = 19, stepped: (2005277021 * x+ 746035432)
l = 29, stepped: (1785112334 * x+ 1626403181)
l = 37, stepped: (2953738017 * x+ 2135124034)
l = 43, stepped: (3243477678 * x+ 2970667965)
l = 53, stepped: (3390702635 * x+ 2115679681)
l = 61, stepped: (878736116 * x+ 787617717)
l = 71, stepped: (204414003 * x+ 4277933409)
l = 79, stepped: (609978261 * x+ 2592213170)
l = 89, stepped: (3940351641 * x+ 1845604638)
l = 101, stepped: (4264992306 * x+ 2739249028)
l = 107, stepped: (2147952094 * x+ 366623174)
l = 113, stepped: (3713869350 * x+ 1463098800)
l = 131, stepped: (2762513036 * x+ 99746898)
l = 139, stepped: (437236313 * x+ 795141261)
l = 151, stepped: (488832409 * x+ 3005517047)
extending the walk...
l = 5, stepped: (3599356662 * x+ 4192873431)
l = 13, stepped: (4057808676 * x+ 1979597366)
l = 19, stepped: (538376694 * x+ 3864926573)
l = 29, stepped: (655883337 * x+ 2457967725)
l = 37, stepped: (3292260338 * x+ 508820248)
l = 43, stepped: (2307715881 * x+ 3223256683)
l = 53, stepped: (2644157970 * x+ 1298855176)
l = 61, stepped: (498729944 * x+ 4157692632)
l = 71, stepped: (2617005768 * x+ 146871085)
l = 79, stepped: (2001186466 * x+ 3985731636)
l = 89, stepped: (3866988494 * x+ 2218374681)
l = 101, stepped: (869020161 * x+ 1697468461)
l = 107, stepped: (2510467239 * x+ 2766456828)
l = 113, stepped: (3054267541 * x+ 406293757)
l = 131, stepped: (895465418 * x+ 2034723673)
l = 139, stepped: (2906711134 * x+ 4070268535)
l = 151, stepped: (143110832 * x+ 2761965993)
rerouting...
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (4033535488 * x+ 830270293)
l = 17, stepped: (3044990722 * x+ 2342466665)
l = 23, stepped: (305028352 * x+ 4207333540)
l = 31, stepped: (2209331486 * x+ 2600783954)
l = 41, stepped: (1332750955 * x+ 795775668)
l = 47, stepped: (1982623567 * x+ 3087329994)
l = 59, stepped: (1137861307 * x+ 2022288075)
l = 67, stepped: (4005182557 * x+ 3418008098)
l = 73, stepped: (1443920063 * x+ 1219016761)
l = 83, stepped: (1888657267 * x+ 365652525)
l = 97, stepped: (87849143 * x+ 467418310)
l = 103, stepped: (647603835 * x+ 570556036)
l = 109, stepped: (2753971409 * x+ 2995583692)
l = 127, stepped: (3512942034 * x+ 3690174242)
l = 137, stepped: (3697180977 * x+ 1295560912)
l = 149, stepped: (3907836363 * x+ 2788008411)
l = 157, stepped: (3944820705 * x+ 3234023019)
l = 5, stepped: (3719194514 * x+ 320123748)
l = 13, stepped: (835930052 * x+ 724936562)
l = 19, stepped: (2676599502 * x+ 2434294128)
l = 29, stepped: (1230210657 * x+ 103692500)
l = 37, stepped: (2001602320 * x+ 3283343290)
l = 43, stepped: (1399804930 * x+ 2007907907)
l = 53, stepped: (2208864840 * x+ 48827660)
l = 61, stepped: (3150914795 * x+ 4162209427)
l = 71, stepped: (3924645333 * x+ 3841492948)
l = 79, stepped: (3963230908 * x+ 1911506137)
l = 89, stepped: (2707674636 * x+ 2429080062)
l = 101, stepped: (4274625534 * x+ 338091911)
l = 107, stepped: (1847197139 * x+ 2357837687)
l = 113, stepped: (2936780970 * x+ 2693725350)
l = 131, stepped: (1305077050 * x+ 750527375)
l = 139, stepped: (1870930686 * x+ 2963499379)
l = 151, stepped: (143110832 * x+ 2761965993)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (1763630610 * x+ 1801497252)
l = 19, stepped: (3881679342 * x+ 2610841184)
l = 29, stepped: (3958788075 * x+ 3617132606)
l = 37, stepped: (793558104 * x+ 1649461982)
l = 43, stepped: (2659677422 * x+ 3024103403)
l = 53, stepped: (2299064671 * x+ 1918741219)
l = 61, stepped: (2494829607 * x+ 3693583959)
l = 71, stepped: (3802574553 * x+ 1224907724)
l = 79, stepped: (2011215410 * x+ 4289304654)
l = 89, stepped: (1198568341 * x+ 2038251436)
l = 101, stepped: (862136483 * x+ 657045061)
l = 107, stepped: (316593445 * x+ 3329326396)
l = 113, stepped: (1273007774 * x+ 838968343)
l = 131, stepped: (3952273637 * x+ 2244353165)
l = 139, stepped: (3912485800 * x+ 3486274232)
l = 151, stepped: (2981237000 * x+ 1644927876)
rerouting...
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (1024039354 * x+ 723293216)
l = 17, stepped: (3770620150 * x+ 3206423833)
l = 23, stepped: (754480008 * x+ 1935070569)
l = 31, stepped: (1954535819 * x+ 4070706961)
l = 41, stepped: (1843086055 * x+ 458417643)
l = 47, stepped: (132346103 * x+ 3444662638)
l = 59, stepped: (3012963438 * x+ 2634864531)
l = 67, stepped: (1236628733 * x+ 2106101669)
l = 73, stepped: (2398268219 * x+ 2310798185)
l = 83, stepped: (3476754045 * x+ 2984350977)
l = 97, stepped: (3925760536 * x+ 154441654)
l = 103, stepped: (2511300415 * x+ 547130966)
l = 109, stepped: (3172307069 * x+ 1074356165)
l = 127, stepped: (3903008399 * x+ 1152907380)
l = 137, stepped: (1143148900 * x+ 4032213631)
l = 149, stepped: (2878354673 * x+ 2756746413)
l = 157, stepped: (1420266752 * x+ 3636704847)
l = 5, stepped: (2057562031 * x+ 1825476632)
l = 13, stepped: (2072567587 * x+ 537223468)
l = 19, stepped: (1065946788 * x+ 1023154857)
l = 29, stepped: (2252932259 * x+ 3471011694)
l = 37, stepped: (1355200202 * x+ 1258286480)
l = 43, stepped: (1198513779 * x+ 1951750572)
l = 53, stepped: (128375862 * x+ 2834947671)
l = 61, stepped: (937406167 * x+ 177786753)
l = 71, stepped: (1292967241 * x+ 500577719)
l = 79, stepped: (2674515041 * x+ 1896013290)
l = 89, stepped: (1934883599 * x+ 2041648357)
l = 101, stepped: (3516232270 * x+ 4089136900)
l = 107, stepped: (3604274908 * x+ 3444235984)
l = 113, stepped: (98387995 * x+ 2637240804)
l = 131, stepped: (2297672804 * x+ 290750441)
l = 139, stepped: (3823364519 * x+ 3217157738)
l = 151, stepped: (2981237000 * x+ 1644927876)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (1763630610 * x+ 1801497252)
l = 19, stepped: (1396620850 * x+ 3953945739)
l = 29, stepped: (3978884289 * x+ 1679537190)
l = 37, stepped: (3227758404 * x+ 444312461)
l = 43, stepped: (4161653985 * x+ 3842207425)
l = 53, stepped: (1135964510 * x+ 1282112546)
l = 61, stepped: (241230047 * x+ 2816345157)
l = 71, stepped: (1190898411 * x+ 371617287)
l = 79, stepped: (1296102986 * x+ 283303886)
l = 89, stepped: (2101656761 * x+ 462297621)
l = 101, stepped: (379574285 * x+ 2055437547)
l = 107, stepped: (1776574897 * x+ 3393032415)
l = 113, stepped: (418875602 * x+ 2024878929)
l = 131, stepped: (2149160445 * x+ 1260318598)
l = 139, stepped: (2269855323 * x+ 1274341569)
l = 151, stepped: (1782956990 * x+ 489814695)
rerouting...
first cornacchia failed!
second cornacchia failed!
second cornacchia failed!
first cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (2826249901 * x+ 2293361821)
l = 17, stepped: (1183507995 * x+ 3694097891)
l = 23, stepped: (628832227 * x+ 1499186087)
l = 31, stepped: (523223106 * x+ 2991467841)
l = 41, stepped: (593458934 * x+ 222926107)
l = 47, stepped: (2733474618 * x+ 108542173)
l = 59, stepped: (970440816 * x+ 4120580151)
l = 67, stepped: (475614679 * x+ 939706753)
l = 73, stepped: (3668199212 * x+ 810630798)
l = 83, stepped: (2125145033 * x+ 3079009558)
l = 97, stepped: (632254102 * x+ 1817485696)
l = 103, stepped: (3119275956 * x+ 2990929917)
l = 109, stepped: (2010123073 * x+ 1392018934)
l = 127, stepped: (2569859918 * x+ 3583082495)
l = 137, stepped: (859457236 * x+ 1507760107)
l = 149, stepped: (648276491 * x+ 269814320)
l = 157, stepped: (3445682038 * x+ 2960302830)
l = 5, stepped: (3449909359 * x+ 1607388055)
l = 13, stepped: (721550529 * x+ 780409764)
l = 19, stepped: (2503691273 * x+ 3248346664)
l = 29, stepped: (113368555 * x+ 1505641559)
l = 37, stepped: (115188292 * x+ 547288393)
l = 43, stepped: (1555465497 * x+ 2277565430)
l = 53, stepped: (76896476 * x+ 2804632833)
l = 61, stepped: (954547823 * x+ 1320978252)
l = 71, stepped: (3001266262 * x+ 1364678878)
l = 79, stepped: (2684380904 * x+ 414274747)
l = 89, stepped: (2794572319 * x+ 4146808160)
l = 101, stepped: (3997003349 * x+ 2126542458)
l = 107, stepped: (3053175693 * x+ 1617772720)
l = 113, stepped: (869693639 * x+ 2648526743)
l = 131, stepped: (2635423467 * x+ 803649231)
l = 139, stepped: (2818992676 * x+ 4236561792)
l = 151, stepped: (1782956990 * x+ 489814695)
extending the walk...
l = 5, stepped: (3599356662 * x+ 4192873431)
l = 13, stepped: (4057808676 * x+ 1979597366)
l = 19, stepped: (964392223 * x+ 3403414964)
l = 29, stepped: (99523146 * x+ 2309692538)
l = 37, stepped: (3897185506 * x+ 2176700889)
l = 43, stepped: (736029593 * x+ 392429514)
l = 53, stepped: (2699223081 * x+ 2472345498)
l = 61, stepped: (2426723293 * x+ 3046644982)
l = 71, stepped: (1345040505 * x+ 599896264)
l = 79, stepped: (2964982017 * x+ 4011721094)
l = 89, stepped: (112048397 * x+ 3630042041)
l = 101, stepped: (1496624177 * x+ 3933550159)
l = 107, stepped: (756145065 * x+ 639968592)
l = 113, stepped: (2949374087 * x+ 1457213071)
l = 131, stepped: (427013887 * x+ 3031285715)
l = 139, stepped: (2946290249 * x+ 2841030145)
l = 151, stepped: (2029670595 * x+ 486529060)
rerouting...
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (1024039354 * x+ 723293216)
l = 17, stepped: (613226449 * x+ 3508263082)
l = 23, stepped: (1711330659 * x+ 1728794801)
l = 31, stepped: (4166102523 * x+ 554503040)
l = 41, stepped: (1441581797 * x+ 981034942)
l = 47, stepped: (746076218 * x+ 2632054072)
l = 59, stepped: (3246912761 * x+ 483615662)
l = 67, stepped: (1842273347 * x+ 1106017504)
l = 73, stepped: (1615517202 * x+ 1801907036)
l = 83, stepped: (368107522 * x+ 511337083)
l = 97, stepped: (930771005 * x+ 371886759)
l = 103, stepped: (1894073271 * x+ 4182752906)
l = 109, stepped: (333272317 * x+ 96132284)
l = 127, stepped: (523929556 * x+ 4148854078)
l = 137, stepped: (2216922953 * x+ 145098821)
l = 149, stepped: (4096793301 * x+ 1197192800)
l = 157, stepped: (2294811020 * x+ 3492368459)
l = 5, stepped: (1646238360 * x+ 1049279774)
l = 13, stepped: (1268422688 * x+ 145461274)
l = 19, stepped: (1443770472 * x+ 449309901)
l = 29, stepped: (3699707503 * x+ 1656094692)
l = 37, stepped: (1646932327 * x+ 876720675)
l = 43, stepped: (551325209 * x+ 3170848176)
l = 53, stepped: (161946074 * x+ 2840380229)
l = 61, stepped: (3628915453 * x+ 235629920)
l = 71, stepped: (3640001729 * x+ 3439464864)
l = 79, stepped: (3416867735 * x+ 551599684)
l = 89, stepped: (88061666 * x+ 1904241756)
l = 101, stepped: (2052918989 * x+ 721482204)
l = 107, stepped: (3878831999 * x+ 1454702557)
l = 113, stepped: (3207122348 * x+ 351137530)
l = 131, stepped: (3116691168 * x+ 2181589923)
l = 139, stepped: (1198396239 * x+ 2561106640)
l = 151, stepped: (2029670595 * x+ 486529060)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (3734840355 * x+ 667615769)
l = 19, stepped: (1680462053 * x+ 2827683412)
l = 29, stepped: (2338641866 * x+ 3579170590)
l = 37, stepped: (1550144070 * x+ 316157251)
l = 43, stepped: (2737848872 * x+ 2716335226)
l = 53, stepped: (2684161077 * x+ 2907269008)
l = 61, stepped: (3997914750 * x+ 1100967852)
l = 71, stepped: (2747481973 * x+ 1487483375)
l = 79, stepped: (2449247169 * x+ 979050317)
l = 89, stepped: (3627572359 * x+ 200617458)
l = 101, stepped: (1318482003 * x+ 2083608262)
l = 107, stepped: (989961293 * x+ 1089052436)
l = 113, stepped: (3315807679 * x+ 93742865)
l = 131, stepped: (2791613805 * x+ 1766886980)
l = 139, stepped: (2718158391 * x+ 1131282878)
l = 151, stepped: (108288979 * x+ 2194748710)
rerouting...
second cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (260486625 * x+ 2617752639)
l = 17, stepped: (1322450775 * x+ 1264123966)
l = 23, stepped: (1469899836 * x+ 600503771)
l = 31, stepped: (3573920245 * x+ 149577861)
l = 41, stepped: (3114408797 * x+ 3479443855)
l = 47, stepped: (3511674868 * x+ 1857691654)
l = 59, stepped: (2541104849 * x+ 1817185264)
l = 67, stepped: (1103705715 * x+ 3601776563)
l = 73, stepped: (839613964 * x+ 862666682)
l = 83, stepped: (1515328343 * x+ 4124731827)
l = 97, stepped: (475984187 * x+ 1280303593)
l = 103, stepped: (429773899 * x+ 1801023349)
l = 109, stepped: (594334709 * x+ 783683957)
l = 127, stepped: (166885356 * x+ 563396474)
l = 137, stepped: (1832936402 * x+ 1606478654)
l = 149, stepped: (677727719 * x+ 3352228638)
l = 157, stepped: (4112853981 * x+ 1491123804)
l = 5, stepped: (82034840 * x+ 685090201)
l = 13, stepped: (2664899261 * x+ 4146642707)
l = 19, stepped: (1626998866 * x+ 4076053284)
l = 29, stepped: (1452928292 * x+ 3585701264)
l = 37, stepped: (2649063896 * x+ 3032337575)
l = 43, stepped: (3053084051 * x+ 1268578712)
l = 53, stepped: (636079460 * x+ 3762924697)
l = 61, stepped: (1339917679 * x+ 2570149297)
l = 71, stepped: (1014705828 * x+ 2463951205)
l = 79, stepped: (3462532885 * x+ 221644487)
l = 89, stepped: (556805264 * x+ 21969604)
l = 101, stepped: (3820892075 * x+ 4050981452)
l = 107, stepped: (3416623911 * x+ 1238697631)
l = 113, stepped: (2308802522 * x+ 909788081)
l = 131, stepped: (1140175138 * x+ 641505557)
l = 139, stepped: (1167853352 * x+ 2694727840)
l = 151, stepped: (108288979 * x+ 2194748710)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (1763630610 * x+ 1801497252)
l = 19, stepped: (2012683672 * x+ 68585453)
l = 29, stepped: (1932697961 * x+ 2901054339)
l = 37, stepped: (2233660736 * x+ 2328476464)
l = 43, stepped: (1014729676 * x+ 3686045183)
l = 53, stepped: (782747253 * x+ 4280055779)
l = 61, stepped: (423720818 * x+ 575359426)
l = 71, stepped: (2041646948 * x+ 4235002870)
l = 79, stepped: (3614341472 * x+ 3636898981)
l = 89, stepped: (2036508589 * x+ 926408607)
l = 101, stepped: (589327948 * x+ 1156840262)
l = 107, stepped: (66876486 * x+ 1336586006)
l = 113, stepped: (3308638522 * x+ 2092701899)
l = 131, stepped: (1186619313 * x+ 3689592169)
l = 139, stepped: (3516633154 * x+ 3558906422)
l = 151, stepped: (4037053260 * x+ 459515516)
rerouting...
second cornacchia failed!
l = 3, stepped: (2004180704 * x+ 2755075260)
l = 11, stepped: (3790414662 * x+ 244365650)
l = 17, stepped: (3162894794 * x+ 364947393)
l = 23, stepped: (4291393264 * x+ 3242976795)
l = 31, stepped: (473333240 * x+ 943832203)
l = 41, stepped: (914038706 * x+ 2759774341)
l = 47, stepped: (1029314205 * x+ 1851528642)
l = 59, stepped: (1442132405 * x+ 348489728)
l = 67, stepped: (2606152667 * x+ 2618700411)
l = 73, stepped: (1162812849 * x+ 808536919)
l = 83, stepped: (2349686012 * x+ 1141694494)
l = 97, stepped: (494880781 * x+ 2554325253)
l = 103, stepped: (4181867061 * x+ 3583429234)
l = 109, stepped: (1557880708 * x+ 3122132422)
l = 127, stepped: (1022163449 * x+ 3480155015)
l = 137, stepped: (2973076898 * x+ 514620271)
l = 149, stepped: (2826542866 * x+ 1585910028)
l = 157, stepped: (3697628897 * x+ 966068894)
l = 5, stepped: (3589098659 * x+ 585526797)
l = 13, stepped: (817360767 * x+ 2560502889)
l = 19, stepped: (3994561013 * x+ 4257909500)
l = 29, stepped: (3643965107 * x+ 704333049)
l = 37, stepped: (3402399732 * x+ 357000126)
l = 43, stepped: (570439002 * x+ 2753268146)
l = 53, stepped: (837968291 * x+ 1806953131)
l = 61, stepped: (3244005240 * x+ 1811991457)
l = 71, stepped: (3108963297 * x+ 1785708127)
l = 79, stepped: (3491634024 * x+ 1514617981)
l = 89, stepped: (3610255310 * x+ 30235099)
l = 101, stepped: (1236425134 * x+ 1839433319)
l = 107, stepped: (3493367183 * x+ 1480200124)
l = 113, stepped: (3468107804 * x+ 3310255120)
l = 131, stepped: (3416747797 * x+ 2123107311)
l = 139, stepped: (2684707433 * x+ 2079592791)
l = 151, stepped: (4037053260 * x+ 459515516)
extending the walk...
l = 5, stepped: (3792044029 * x+ 3063216605)
l = 13, stepped: (489269062 * x+ 2334308578)
l = 19, stepped: (3607134962 * x+ 3303159099)
l = 29, stepped: (1062422185 * x+ 2571925269)
l = 37, stepped: (3020416885 * x+ 2468779710)
l = 43, stepped: (3967284885 * x+ 759011931)
l = 53, stepped: (3761049805 * x+ 1168512863)
l = 61, stepped: (1689649735 * x+ 2751049106)
l = 71, stepped: (3856115098 * x+ 752533845)
l = 79, stepped: (2858680596 * x+ 2444985313)
l = 89, stepped: (2711199106 * x+ 1398258391)
l = 101, stepped: (686769131 * x+ 2372612400)
l = 107, stepped: (2094875239 * x+ 1365592254)
l = 113, stepped: (3286786769 * x+ 3022434994)
l = 131, stepped: (2757046733 * x+ 1185415628)
l = 139, stepped: (3927712353 * x+ 2083485227)
l = 151, stepped: (1938536493 * x+ 1913316173)
rerouting...
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (2308072372 * x+ 2300201910)
l = 17, stepped: (1725509421 * x+ 2663192869)
l = 23, stepped: (1474111918 * x+ 1209744094)
l = 31, stepped: (25075986 * x+ 317424807)
l = 41, stepped: (3319307338 * x+ 1968619113)
l = 47, stepped: (584308888 * x+ 4230151867)
l = 59, stepped: (3832620082 * x+ 2868433515)
l = 67, stepped: (172466201 * x+ 2428593059)
l = 73, stepped: (2026963116 * x+ 940452611)
l = 83, stepped: (1268136313 * x+ 3423046378)
l = 97, stepped: (1391765420 * x+ 2320975090)
l = 103, stepped: (4040221024 * x+ 2097342630)
l = 109, stepped: (1832288044 * x+ 448557545)
l = 127, stepped: (872963311 * x+ 3008249401)
l = 137, stepped: (3213827230 * x+ 898856840)
l = 149, stepped: (2913730229 * x+ 3592940390)
l = 157, stepped: (3180515863 * x+ 2196879998)
l = 5, stepped: (3142333137 * x+ 197619508)
l = 13, stepped: (2439950967 * x+ 891999774)
l = 19, stepped: (1168136774 * x+ 3174224412)
l = 29, stepped: (2804368437 * x+ 122210578)
l = 37, stepped: (1039541656 * x+ 1330090169)
l = 43, stepped: (1082793050 * x+ 853865150)
l = 53, stepped: (554941080 * x+ 2003107125)
l = 61, stepped: (2396289145 * x+ 645201743)
l = 71, stepped: (2851757467 * x+ 1312852849)
l = 79, stepped: (387018954 * x+ 1254723097)
l = 89, stepped: (3501974837 * x+ 2945127168)
l = 101, stepped: (2468972200 * x+ 765036789)
l = 107, stepped: (877107705 * x+ 2677121922)
l = 113, stepped: (2211850397 * x+ 2306756658)
l = 131, stepped: (1400200368 * x+ 697006625)
l = 139, stepped: (1962998278 * x+ 2779113245)
l = 151, stepped: (1938536493 * x+ 1913316173)
extending the walk...
l = 5, stepped: (3792044029 * x+ 3063216605)
l = 13, stepped: (3708481935 * x+ 70030136)
l = 19, stepped: (1455497443 * x+ 3043443199)
l = 29, stepped: (2427363334 * x+ 817815692)
l = 37, stepped: (2114842011 * x+ 2688950826)
l = 43, stepped: (1274045418 * x+ 1395104811)
l = 53, stepped: (1354008434 * x+ 4042825486)
l = 61, stepped: (1397410799 * x+ 3082358445)
l = 71, stepped: (2243239807 * x+ 3422292030)
l = 79, stepped: (3311765012 * x+ 3497661062)
l = 89, stepped: (60114264 * x+ 825449694)
l = 101, stepped: (2359572351 * x+ 2881432274)
l = 107, stepped: (2162843740 * x+ 1146212322)
l = 113, stepped: (1775842708 * x+ 604157752)
l = 131, stepped: (4221036339 * x+ 3400937072)
l = 139, stepped: (2684041347 * x+ 2313298245)
l = 151, stepped: (3605863719 * x+ 1707606625)
rerouting...
second cornacchia failed!
first cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (2826249901 * x+ 2293361821)
l = 17, stepped: (677649575 * x+ 3293655430)
l = 23, stepped: (3212839437 * x+ 3087797158)
l = 31, stepped: (3373882776 * x+ 2112823116)
l = 41, stepped: (1069680538 * x+ 62796400)
l = 47, stepped: (1204761037 * x+ 71424620)
l = 59, stepped: (2819376729 * x+ 3250621922)
l = 67, stepped: (1207220114 * x+ 3812871743)
l = 73, stepped: (3490577174 * x+ 311866547)
l = 83, stepped: (629463195 * x+ 2838487614)
l = 97, stepped: (3193083708 * x+ 2058642174)
l = 103, stepped: (688111559 * x+ 772223647)
l = 109, stepped: (647697896 * x+ 2634144324)
l = 127, stepped: (1824800230 * x+ 1949311094)
l = 137, stepped: (3325096803 * x+ 1884981655)
l = 149, stepped: (3019972373 * x+ 2653965287)
l = 157, stepped: (1805730838 * x+ 2401761392)
l = 5, stepped: (4052331371 * x+ 78877366)
l = 13, stepped: (1567080481 * x+ 3041140919)
l = 19, stepped: (344280693 * x+ 2672681978)
l = 29, stepped: (2050482619 * x+ 998777203)
l = 37, stepped: (1975140875 * x+ 1894605498)
l = 43, stepped: (1259098348 * x+ 1967592634)
l = 53, stepped: (3674365352 * x+ 1935504809)
l = 61, stepped: (2973279737 * x+ 1499146881)
l = 71, stepped: (1116149119 * x+ 3785844243)
l = 79, stepped: (865266810 * x+ 2152257686)
l = 89, stepped: (1904432667 * x+ 2538358212)
l = 101, stepped: (1824449420 * x+ 592930726)
l = 107, stepped: (720511433 * x+ 2971906208)
l = 113, stepped: (3179012656 * x+ 2861848758)
l = 131, stepped: (2874607523 * x+ 235534442)
l = 139, stepped: (2177494280 * x+ 3421775861)
l = 151, stepped: (3605863719 * x+ 1707606625)
extending the walk...
l = 5, stepped: (3599356662 * x+ 4192873431)
l = 13, stepped: (2702132709 * x+ 4147490973)
l = 19, stepped: (624721109 * x+ 3539842238)
l = 29, stepped: (688197188 * x+ 299193756)
l = 37, stepped: (3834125114 * x+ 2809834258)
l = 43, stepped: (20860258 * x+ 2382260926)
l = 53, stepped: (496344090 * x+ 606271414)
l = 61, stepped: (375213538 * x+ 1256676267)
l = 71, stepped: (3552551986 * x+ 2413963910)
l = 79, stepped: (1779662904 * x+ 460493030)
l = 89, stepped: (1224123604 * x+ 1537399061)
l = 101, stepped: (2279225513 * x+ 4055007249)
l = 107, stepped: (2842656084 * x+ 3585844920)
l = 113, stepped: (2133719845 * x+ 611724903)
l = 131, stepped: (430265580 * x+ 1908201341)
l = 139, stepped: (154554544 * x+ 2883172318)
l = 151, stepped: (1012468185 * x+ 3599628229)
rerouting...
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (1467772212 * x+ 2032228124)
l = 17, stepped: (2324933327 * x+ 765760870)
l = 23, stepped: (3676894311 * x+ 2625453893)
l = 31, stepped: (1889639283 * x+ 1906551239)
l = 41, stepped: (136106935 * x+ 3420688961)
l = 47, stepped: (2873615188 * x+ 2485715820)
l = 59, stepped: (1217892898 * x+ 3380015320)
l = 67, stepped: (4260813456 * x+ 3577920624)
l = 73, stepped: (200328240 * x+ 1418105339)
l = 83, stepped: (3090804314 * x+ 2640491935)
l = 97, stepped: (1662420597 * x+ 1273125728)
l = 103, stepped: (3885288578 * x+ 1449267082)
l = 109, stepped: (1239757591 * x+ 1622064288)
l = 127, stepped: (747956152 * x+ 3845125501)
l = 137, stepped: (406174455 * x+ 1513379913)
l = 149, stepped: (314340070 * x+ 2174309203)
l = 157, stepped: (2074918149 * x+ 3034833312)
l = 5, stepped: (849645030 * x+ 4069982077)
l = 13, stepped: (2768020368 * x+ 3211047830)
l = 19, stepped: (2629320405 * x+ 3879455054)
l = 29, stepped: (370686204 * x+ 3064400147)
l = 37, stepped: (2630142712 * x+ 359874264)
l = 43, stepped: (2891104650 * x+ 2425149447)
l = 53, stepped: (430244449 * x+ 1009292918)
l = 61, stepped: (899059978 * x+ 1826520724)
l = 71, stepped: (1660292614 * x+ 3372546790)
l = 79, stepped: (3532627462 * x+ 3342586124)
l = 89, stepped: (501737594 * x+ 3888613978)
l = 101, stepped: (827523879 * x+ 4237351571)
l = 107, stepped: (3662419844 * x+ 2595856085)
l = 113, stepped: (2104021249 * x+ 716763735)
l = 131, stepped: (2738466410 * x+ 1738305909)
l = 139, stepped: (2209771207 * x+ 3277080687)
l = 151, stepped: (1012468185 * x+ 3599628229)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (3734840355 * x+ 667615769)
l = 19, stepped: (1174731952 * x+ 1364372877)
l = 29, stepped: (1037631385 * x+ 874505586)
l = 37, stepped: (1863630432 * x+ 3317647902)
l = 43, stepped: (3195832340 * x+ 2321794991)
l = 53, stepped: (938209312 * x+ 1023843753)
l = 61, stepped: (1816473083 * x+ 3954152747)
l = 71, stepped: (3523935829 * x+ 1864698911)
l = 79, stepped: (3318538727 * x+ 3698721561)
l = 89, stepped: (4036973677 * x+ 3088978596)
l = 101, stepped: (3232586022 * x+ 1584703242)
l = 107, stepped: (1544398377 * x+ 827242045)
l = 113, stepped: (249309290 * x+ 422125091)
l = 131, stepped: (429943080 * x+ 2732354721)
l = 139, stepped: (2531331552 * x+ 4072838648)
l = 151, stepped: (3348124972 * x+ 730984246)
rerouting...
l = 3, stepped: (2289841409 * x+ 256504173)
l = 11, stepped: (3793201473 * x+ 708859021)
l = 17, stepped: (868786491 * x+ 2226728572)
l = 23, stepped: (3405981145 * x+ 3491588667)
l = 31, stepped: (4082930162 * x+ 1233164126)
l = 41, stepped: (499533922 * x+ 1858858960)
l = 47, stepped: (1296892399 * x+ 3572639041)
l = 59, stepped: (833130858 * x+ 877931061)
l = 67, stepped: (605312164 * x+ 1677387114)
l = 73, stepped: (2156466573 * x+ 2277961905)
l = 83, stepped: (2163709037 * x+ 521224380)
l = 97, stepped: (1199322758 * x+ 578120950)
l = 103, stepped: (1010980967 * x+ 4097839484)
l = 109, stepped: (414747686 * x+ 3840509345)
l = 127, stepped: (3465044053 * x+ 2251087973)
l = 137, stepped: (3064268365 * x+ 46446364)
l = 149, stepped: (3401596479 * x+ 4223862514)
l = 157, stepped: (703403905 * x+ 2268968557)
l = 5, stepped: (2590625757 * x+ 104043321)
l = 13, stepped: (1586839938 * x+ 902664073)
l = 19, stepped: (346578026 * x+ 4167812711)
l = 29, stepped: (2068042527 * x+ 2027324304)
l = 37, stepped: (530764701 * x+ 3689493580)
l = 43, stepped: (2982171047 * x+ 3485366275)
l = 53, stepped: (1654958669 * x+ 360403845)
l = 61, stepped: (2033952082 * x+ 2851041723)
l = 71, stepped: (1154401710 * x+ 526937264)
l = 79, stepped: (90322175 * x+ 1700332722)
l = 89, stepped: (1088042866 * x+ 3692053185)
l = 101, stepped: (2271051959 * x+ 2372576045)
l = 107, stepped: (1461875626 * x+ 2053295860)
l = 113, stepped: (1151137096 * x+ 2373074202)
l = 131, stepped: (4038512927 * x+ 132515217)
l = 139, stepped: (3127490836 * x+ 4002522634)
l = 151, stepped: (3348124972 * x+ 730984246)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (774337440 * x+ 1747462194)
l = 19, stepped: (3174846669 * x+ 956228710)
l = 29, stepped: (859453418 * x+ 1979146841)
l = 37, stepped: (2293458399 * x+ 3623813574)
l = 43, stepped: (1581308973 * x+ 2105315222)
l = 53, stepped: (933484448 * x+ 1981318913)
l = 61, stepped: (1064381629 * x+ 3616780266)
l = 71, stepped: (1995418486 * x+ 1088499341)
l = 79, stepped: (3482413775 * x+ 3202666689)
l = 89, stepped: (1178731989 * x+ 545666653)
l = 101, stepped: (2350103555 * x+ 4231541244)
l = 107, stepped: (2715247315 * x+ 506687099)
l = 113, stepped: (979814931 * x+ 1709501044)
l = 131, stepped: (2954030737 * x+ 708564490)
l = 139, stepped: (3045244808 * x+ 2861654456)
l = 151, stepped: (3669095242 * x+ 813160908)
rerouting...
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (3660865447 * x+ 3053367526)
l = 17, stepped: (1774822065 * x+ 924798886)
l = 23, stepped: (4248752607 * x+ 1182785929)
l = 31, stepped: (926556298 * x+ 2941361703)
l = 41, stepped: (3017345106 * x+ 2571205325)
l = 47, stepped: (1220965767 * x+ 2071077738)
l = 59, stepped: (2215826420 * x+ 1680631202)
l = 67, stepped: (2265094981 * x+ 3506695823)
l = 73, stepped: (1680138541 * x+ 1721909626)
l = 83, stepped: (2667795795 * x+ 1381385729)
l = 97, stepped: (2668953165 * x+ 1370500361)
l = 103, stepped: (2023543270 * x+ 1602046325)
l = 109, stepped: (3483444305 * x+ 1245643557)
l = 127, stepped: (1428441089 * x+ 2287771806)
l = 137, stepped: (2129159604 * x+ 2534162955)
l = 149, stepped: (1345192878 * x+ 570816043)
l = 157, stepped: (1116686869 * x+ 4014076709)
l = 5, stepped: (2879518100 * x+ 1804392417)
l = 13, stepped: (2027008882 * x+ 1740423179)
l = 19, stepped: (611104410 * x+ 2211075334)
l = 29, stepped: (685361688 * x+ 584970223)
l = 37, stepped: (2384983229 * x+ 492971705)
l = 43, stepped: (30202613 * x+ 479717501)
l = 53, stepped: (2975461288 * x+ 2778266307)
l = 61, stepped: (2191342672 * x+ 1735982157)
l = 71, stepped: (481919574 * x+ 1374513196)
l = 79, stepped: (1154444646 * x+ 2629322201)
l = 89, stepped: (4161367091 * x+ 1174501228)
l = 101, stepped: (2737085182 * x+ 4167502494)
l = 107, stepped: (1357045042 * x+ 3444425717)
l = 113, stepped: (328451034 * x+ 226730842)
l = 131, stepped: (941566598 * x+ 4155963794)
l = 139, stepped: (1294860731 * x+ 2144443807)
l = 151, stepped: (3669095242 * x+ 813160908)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (304580367 * x+ 863458348)
l = 19, stepped: (1323337077 * x+ 2829659282)
l = 29, stepped: (3141438632 * x+ 1999780135)
l = 37, stepped: (1994216942 * x+ 3555958874)
l = 43, stepped: (4003742069 * x+ 3247920698)
l = 53, stepped: (2074293347 * x+ 1483750462)
l = 61, stepped: (1294692152 * x+ 2597418259)
l = 71, stepped: (145078703 * x+ 1353255927)
l = 79, stepped: (166407896 * x+ 109189333)
l = 89, stepped: (388714386 * x+ 490321656)
l = 101, stepped: (2453183285 * x+ 2469290039)
l = 107, stepped: (543056334 * x+ 2263791267)
l = 113, stepped: (443079446 * x+ 3618075202)
l = 131, stepped: (330087323 * x+ 3985772167)
l = 139, stepped: (2387666492 * x+ 2302874920)
l = 151, stepped: (2748046068 * x+ 1254272770)
rerouting...
second cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2289841409 * x+ 256504173)
l = 11, stepped: (1321042934 * x+ 567557819)
l = 17, stepped: (29200020 * x+ 3168422348)
l = 23, stepped: (4073754303 * x+ 1453540064)
l = 31, stepped: (2670064970 * x+ 3425804111)
l = 41, stepped: (742391661 * x+ 3241128133)
l = 47, stepped: (1921567570 * x+ 955668134)
l = 59, stepped: (1412594003 * x+ 1927798224)
l = 67, stepped: (1540586065 * x+ 1867523062)
l = 73, stepped: (2244270293 * x+ 1715436246)
l = 83, stepped: (243954332 * x+ 2987436276)
l = 97, stepped: (1836591553 * x+ 2726902540)
l = 103, stepped: (3147716005 * x+ 2882719886)
l = 109, stepped: (3551881672 * x+ 3585528054)
l = 127, stepped: (3469764429 * x+ 1287994899)
l = 137, stepped: (3703167471 * x+ 3860268243)
l = 149, stepped: (3247244678 * x+ 3567536666)
l = 157, stepped: (2228500388 * x+ 440977675)
l = 5, stepped: (6835543 * x+ 2161590708)
l = 13, stepped: (2016084315 * x+ 1100188682)
l = 19, stepped: (3845883496 * x+ 370339108)
l = 29, stepped: (1268283308 * x+ 532838416)
l = 37, stepped: (1598656143 * x+ 159363585)
l = 43, stepped: (1017774755 * x+ 3840618595)
l = 53, stepped: (3781127065 * x+ 2451628236)
l = 61, stepped: (2603022556 * x+ 788573179)
l = 71, stepped: (1062724424 * x+ 2695597226)
l = 79, stepped: (326066843 * x+ 2204253420)
l = 89, stepped: (303880949 * x+ 3850204989)
l = 101, stepped: (2190202359 * x+ 3136018815)
l = 107, stepped: (1313313530 * x+ 205494416)
l = 113, stepped: (1516767030 * x+ 3667920487)
l = 131, stepped: (669871581 * x+ 2195886131)
l = 139, stepped: (53911293 * x+ 1915876000)
l = 151, stepped: (2748046068 * x+ 1254272770)
extending the walk...
l = 5, stepped: (3599356662 * x+ 4192873431)
l = 13, stepped: (2613249000 * x+ 1504489024)
l = 19, stepped: (2949832873 * x+ 3297992887)
l = 29, stepped: (670488523 * x+ 601107457)
l = 37, stepped: (2438302012 * x+ 1453379152)
l = 43, stepped: (4046654186 * x+ 4251140030)
l = 53, stepped: (3064763556 * x+ 1144890865)
l = 61, stepped: (308134739 * x+ 1774926947)
l = 71, stepped: (3469475520 * x+ 872313058)
l = 79, stepped: (1217297941 * x+ 469683796)
l = 89, stepped: (1435803495 * x+ 2518481958)
l = 101, stepped: (3402205227 * x+ 1043017553)
l = 107, stepped: (1775055083 * x+ 2298328553)
l = 113, stepped: (3974419482 * x+ 1240757745)
l = 131, stepped: (4155756100 * x+ 612026979)
l = 139, stepped: (481885129 * x+ 2701097086)
l = 151, stepped: (2969457714 * x+ 831167480)
rerouting...
second cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2042458538 * x+ 2149819085)
l = 11, stepped: (1467772212 * x+ 2032228124)
l = 17, stepped: (3024267414 * x+ 3947100251)
l = 23, stepped: (1995189468 * x+ 996450152)
l = 31, stepped: (3757172073 * x+ 2544726035)
l = 41, stepped: (745924049 * x+ 642338315)
l = 47, stepped: (854184702 * x+ 1691479550)
l = 59, stepped: (426943109 * x+ 3760430210)
l = 67, stepped: (3009643915 * x+ 3408686090)
l = 73, stepped: (3075147571 * x+ 3691934597)
l = 83, stepped: (47421672 * x+ 2429148516)
l = 97, stepped: (2181373850 * x+ 2105108885)
l = 103, stepped: (3027783484 * x+ 4284938969)
l = 109, stepped: (1110566038 * x+ 715096841)
l = 127, stepped: (3628047412 * x+ 4209792455)
l = 137, stepped: (13788943 * x+ 141823931)
l = 149, stepped: (4264804267 * x+ 373644866)
l = 157, stepped: (2631892441 * x+ 1510879316)
l = 5, stepped: (2965600801 * x+ 438191814)
l = 13, stepped: (1561979252 * x+ 569105146)
l = 19, stepped: (3459679261 * x+ 2319268288)
l = 29, stepped: (1017732576 * x+ 3804293865)
l = 37, stepped: (2661833997 * x+ 3712257046)
l = 43, stepped: (3591896706 * x+ 2381938598)
l = 53, stepped: (3749294555 * x+ 2686057011)
l = 61, stepped: (2478519717 * x+ 1802994264)
l = 71, stepped: (1042317662 * x+ 1024002182)
l = 79, stepped: (1778294048 * x+ 2928263918)
l = 89, stepped: (719943463 * x+ 218192848)
l = 101, stepped: (1166986786 * x+ 1102622568)
l = 107, stepped: (2848425664 * x+ 1456404964)
l = 113, stepped: (2371251143 * x+ 3231938860)
l = 131, stepped: (1910205215 * x+ 3292623427)
l = 139, stepped: (2331543958 * x+ 601624029)
l = 151, stepped: (2969457714 * x+ 831167480)
extending the walk...
l = 5, stepped: (3328366654 * x+ 321795247)
l = 13, stepped: (1935557856 * x+ 1062839313)
l = 19, stepped: (2653859863 * x+ 3921322536)
l = 29, stepped: (3978743305 * x+ 2241903598)
l = 37, stepped: (3162112453 * x+ 2460558007)
l = 43, stepped: (1631861430 * x+ 4134515039)
l = 53, stepped: (550627818 * x+ 2798465895)
l = 61, stepped: (2093749642 * x+ 1651239559)
l = 71, stepped: (2378989282 * x+ 1945679789)
l = 79, stepped: (357291893 * x+ 86937389)
l = 89, stepped: (2680963187 * x+ 3728936952)
l = 101, stepped: (4118557043 * x+ 2816009763)
l = 107, stepped: (1810526986 * x+ 959342635)
l = 113, stepped: (2731668383 * x+ 3290960435)
l = 131, stepped: (4192774024 * x+ 1752870434)
l = 139, stepped: (1410762200 * x+ 2335978636)
l = 151, stepped: (2524645526 * x+ 990206579)
rerouting...
l = 3, stepped: (2004180704 * x+ 2755075260)
l = 11, stepped: (1699701078 * x+ 268666887)
l = 17, stepped: (3365674204 * x+ 2146293270)
l = 23, stepped: (523878 * x+ 2108909987)
l = 31, stepped: (1059361408 * x+ 3338833667)
l = 41, stepped: (1873057957 * x+ 1084799987)
l = 47, stepped: (764372265 * x+ 3198593647)
l = 59, stepped: (1998253336 * x+ 2205781757)
l = 67, stepped: (1005482230 * x+ 610432486)
l = 73, stepped: (542116260 * x+ 746716642)
l = 83, stepped: (3668987466 * x+ 1528211693)
l = 97, stepped: (270054345 * x+ 78437344)
l = 103, stepped: (3583951688 * x+ 1190760732)
l = 109, stepped: (1994106664 * x+ 3405073364)
l = 127, stepped: (2068691991 * x+ 2996573892)
l = 137, stepped: (80602898 * x+ 2364470204)
l = 149, stepped: (2966911426 * x+ 1244152614)
l = 157, stepped: (3959389115 * x+ 1157143557)
l = 5, stepped: (2801012532 * x+ 3380961708)
l = 13, stepped: (426758221 * x+ 1397148647)
l = 19, stepped: (3758859917 * x+ 2740745673)
l = 29, stepped: (354005132 * x+ 933881175)
l = 37, stepped: (2884596462 * x+ 2245135143)
l = 43, stepped: (2847842460 * x+ 653315465)
l = 53, stepped: (1423949396 * x+ 3778792968)
l = 61, stepped: (1363764858 * x+ 3868066356)
l = 71, stepped: (2326231019 * x+ 595799486)
l = 79, stepped: (623791387 * x+ 2249275210)
l = 89, stepped: (2755312373 * x+ 3798270776)
l = 101, stepped: (1091034219 * x+ 3638944390)
l = 107, stepped: (2136235187 * x+ 364365545)
l = 113, stepped: (1002380804 * x+ 3551270213)
l = 131, stepped: (2738292097 * x+ 4028718614)
l = 139, stepped: (3740341188 * x+ 2828367618)
l = 151, stepped: (2524645526 * x+ 990206579)
extending the walk...
l = 5, stepped: (1225456630 * x+ 1186366068)
l = 13, stepped: (3205629671 * x+ 633786362)
l = 19, stepped: (3510269148 * x+ 2497356776)
l = 29, stepped: (4120365503 * x+ 3835175152)
l = 37, stepped: (413569521 * x+ 1730849341)
l = 43, stepped: (747176027 * x+ 1191828408)
l = 53, stepped: (1747293670 * x+ 4085703005)
l = 61, stepped: (1287452016 * x+ 2380060822)
l = 71, stepped: (2717655930 * x+ 1573021562)
l = 79, stepped: (495635195 * x+ 2903957790)
l = 89, stepped: (205426303 * x+ 392361064)
l = 101, stepped: (352640547 * x+ 2176133701)
l = 107, stepped: (3703127027 * x+ 2254177312)
l = 113, stepped: (4256495691 * x+ 193460756)
l = 131, stepped: (223273641 * x+ 2590951206)
l = 139, stepped: (4213249302 * x+ 551433960)
l = 151, stepped: (4064216898 * x+ 1849656634)
rerouting...
first cornacchia failed!
l = 3, stepped: (2251563575 * x+ 321777528)
l = 11, stepped: (398284091 * x+ 61200050)
l = 17, stepped: (337559166 * x+ 4109451924)
l = 23, stepped: (1060356152 * x+ 755428702)
l = 31, stepped: (2183845989 * x+ 1004920730)
l = 41, stepped: (2028942162 * x+ 2080171141)
l = 47, stepped: (1208710137 * x+ 1997071388)
l = 59, stepped: (3321652631 * x+ 111848135)
l = 67, stepped: (1504349304 * x+ 1140464887)
l = 73, stepped: (493266050 * x+ 3905735085)
l = 83, stepped: (3833669831 * x+ 3144948426)
l = 97, stepped: (756893930 * x+ 1661372523)
l = 103, stepped: (3780245467 * x+ 1233476367)
l = 109, stepped: (2464254050 * x+ 1371930483)
l = 127, stepped: (104607134 * x+ 861669166)
l = 137, stepped: (3178649947 * x+ 3135496305)
l = 149, stepped: (1798298471 * x+ 4104079783)
l = 157, stepped: (4073434338 * x+ 713414726)
l = 5, stepped: (1199010853 * x+ 1603300635)
l = 13, stepped: (443061539 * x+ 435974036)
l = 19, stepped: (2109935184 * x+ 2227501801)
l = 29, stepped: (2256474293 * x+ 1943599927)
l = 37, stepped: (1438085379 * x+ 702403580)
l = 43, stepped: (191439573 * x+ 601048599)
l = 53, stepped: (3746468849 * x+ 3989977699)
l = 61, stepped: (2242287486 * x+ 3999076609)
l = 71, stepped: (1030647847 * x+ 3441132503)
l = 79, stepped: (3992970000 * x+ 2456069200)
l = 89, stepped: (3960074898 * x+ 1938025329)
l = 101, stepped: (991658267 * x+ 3757149500)
l = 107, stepped: (2795836601 * x+ 2458901005)
l = 113, stepped: (2745528953 * x+ 810203087)
l = 131, stepped: (50560972 * x+ 1725369624)
l = 139, stepped: (170210546 * x+ 3298244139)
l = 151, stepped: (4064216898 * x+ 1849656634)
extending the walk...
l = 5, stepped: (3599356662 * x+ 4192873431)
l = 13, stepped: (1531430654 * x+ 3995335123)
l = 19, stepped: (4163743713 * x+ 2697959460)
l = 29, stepped: (473194153 * x+ 2295562144)
l = 37, stepped: (1374906958 * x+ 4195626720)
l = 43, stepped: (3778347424 * x+ 2297996765)
l = 53, stepped: (2362264262 * x+ 2631251768)
l = 61, stepped: (3445289710 * x+ 1733920268)
l = 71, stepped: (4165141247 * x+ 4052234039)
l = 79, stepped: (3804221660 * x+ 2326290282)
l = 89, stepped: (3982139361 * x+ 3693834177)
l = 101, stepped: (4047333123 * x+ 1026890507)
l = 107, stepped: (1490152786 * x+ 3266146777)
l = 113, stepped: (3766953496 * x+ 4115484225)
l = 131, stepped: (1362249107 * x+ 3364071220)
l = 139, stepped: (446923566 * x+ 4115928968)
l = 151, stepped: (2638205475 * x+ 3887374924)
rerouting...
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
second cornacchia failed!
first cornacchia failed!
second cornacchia failed!
l = 3, stepped: (2004180704 * x+ 2755075260)
l = 11, stepped: (3790414662 * x+ 244365650)
l = 17, stepped: (3094877327 * x+ 3428531665)
l = 23, stepped: (976575025 * x+ 51136860)
l = 31, stepped: (2150605649 * x+ 832429834)
l = 41, stepped: (2471283778 * x+ 158149711)
l = 47, stepped: (2994340883 * x+ 1556801193)
l = 59, stepped: (4062971446 * x+ 4000091853)
l = 67, stepped: (1113055926 * x+ 2999287578)
l = 73, stepped: (1438722178 * x+ 1991475956)
l = 83, stepped: (3855687034 * x+ 1367713720)
l = 97, stepped: (132923213 * x+ 2371099598)
l = 103, stepped: (87606895 * x+ 503120112)
l = 109, stepped: (1580176165 * x+ 939917819)
l = 127, stepped: (1538530859 * x+ 254401375)
l = 137, stepped: (421691743 * x+ 2712284346)
l = 149, stepped: (3037302084 * x+ 1438364745)
l = 157, stepped: (3718407117 * x+ 2395014602)
l = 5, stepped: (1616077897 * x+ 3880093780)
l = 13, stepped: (122588671 * x+ 2851578875)
l = 19, stepped: (113311217 * x+ 3470171943)
l = 29, stepped: (3644555944 * x+ 1560311572)
l = 37, stepped: (3615062465 * x+ 756407657)
l = 43, stepped: (815133976 * x+ 1554214913)
l = 53, stepped: (3402082239 * x+ 4138560857)
l = 61, stepped: (2381462129 * x+ 104971942)
l = 71, stepped: (2481277569 * x+ 3856607711)
l = 79, stepped: (1148673226 * x+ 3395149980)
l = 89, stepped: (1956768110 * x+ 3071413770)
l = 101, stepped: (1742968909 * x+ 905978978)
l = 107, stepped: (1902758832 * x+ 1870829227)
l = 113, stepped: (2353600036 * x+ 2178858732)
l = 131, stepped: (3501096402 * x+ 640726907)
l = 139, stepped: (3617251512 * x+ 3565897594)
l = 151, stepped: (2638205475 * x+ 3887374924)

F0D4D9 1 0 2 1 12 41 6 21 51 35 27 21 60 96 78 88 25 92 0 0 17 4 35 11 13 33 23 31 56 14 9 41 104 43 90 1 0 4 5 1 16 22 39 16 46 7 3 57 90 115 117 125 21 4 5 2 24 0 17 31 6 25 79 41 85 35 30 71 83 88 1 9 8 19 30 5 11 25 25 48 80 30 59 36 35 118 100 134 5 13 6 10 5 40 26 17 20 25 68 74 1 63 96 84 93 1 11 15 0 7 19 45 59 20 29 42 10 56 42 108 136 68 76 0 0 18 10 27 25 14 14 6 21 3 101 92 87 0 57 1 0 10 17 6 3 7 39 50 0 2 41 62 15 46 68 43 8 4 3 11 27 5 27 33 48 11 8 85 77 79 104 20 103 151 5 5 10 13 26 15 52 57 70 1 57 101 6 76 32 39 84 2 10 1 10 29 1 46 15 54 24 45 71 52 98 126 77 132 1 9 15 13 11 2 8 1 50 15 18 95 91 54 84 97 114 111 3 13 8 1 7 6 17 38 49 59 47 91 20 56 12 29 12 0 1 18 21 34 18 22 20 48 21 2 97 66 8 96 101 79 2 7 0 21 28 35 18 58 60 48 20 89 60 29 51 127 137 99 5 13 7 1 2 6 49 61 38 41 42 73 65 110 52 73 37 2 0 17 2 26 4 43 35 9 11 54 96 21 71 112 46 117 45 0 0 1 20 5 40 11 38 50 53 86 23 80 67 70 10 49 0 12 4 9 5 19 21 40 36 24 64 7 107 71 58 61 2 0 1 9 11 11 1 47 51 17 45 27 91 98 74 6 87 122 1 3 1 5 10 26 42 40 13 17 12 9 84 17 124 83 80 87 2 4 0 20 0 2 47 21 33 57 62 37 102 41 11 35 34 5 7 3 12 12 2 2 7 22 55 84 46 27 20 107 49 100 1 0 4 17 6 3 18 1 58 14 42 14 79 6 119 110 66 42 5 5 10 19 19 24 42 59 7 53 76 96 72 37 62 36 0 0 12 1 1 8 23 52 11 53 45 77 51 23 42 114 64 90 1 7 5 20 31 18 5 18 24 13 34 41 24 82 9 40 15 4 4 5 19 25 15 21 34 19 57 2 71 43 5 68 130 14 110 3 1 10 17 17 36 14 3 12 19 24 27 64 75 78 96 88 49 5 2 16 2 4 0 37 24 0 51 46 27 11 17 119 117 64 1 0 9 8 19 37 45 46 37 37 71 35 57 3 85 12 125 72 2 2 16 1 18 25 43 25 0 23 83 4 47 34 33 46 74 2 2 5 23 23 4 48 18 20 48 40 83 25 50 109 10 70 0 8 12 26 33 41 16 2 28 71 26 69 83 93 40 113 123 0 7 8 21 8 18 30 43 3 7 61 7 101 17 17 118 77 104 1 0 1 25 24 37 30 23 33 3 19 21 32 41 84 100 64 680F1A43F0724AA01F27539D1D81C9541A 7B3EF2B00BEAA2411DCA5F6514E087509F 1F31AF8EF8D424981D54B2319623C88AC2 1D027867E7167EA8586B0B1DCAC983494E 073AE1EE1DE803464B98D78306086BCDD913A45A0EE9B27947A3B2A0D01E2E0E66DF16 31E781A76E4CDB50CBBF442141461F83E62B204235FB637FC30470FE44B4E9A3FC9EC2 70A62A9228D80CA7BFEFBAE588F4C8DF5958FB8504E253E03CB34BE4A4BC6EBDD5986A F54499E252F060D456F36EBEFA0DA6303CFE41B8300E8A5121EA20D02D8E797DCC3A0A A78EED5534783C3DD15857A8A0043575C4 827CFDF048DAC3A0A019ECF7798370F418634D9F2E287B4FFAB93D52D5A991FB9506EF EFDE8544A15734726C556F26450227CF0D B629BC0B746A4208C8D480D03A462B8226 84234E736BC3616211C68297A0F4726819D5C1B7E345D134A7144ACA52E00E8FDB0047 C758DE08F992B94660659C6F2CBD3B46E44734FC453925C408585C88CDFF82CC92899E B897374B9FCA79BAAFF6B86AF53BB4AE18 4ABB60B7D653C23D74CAAA5DA39C3C030C104517C6717D7E8319B3313333B1BCEB803C AE904C9109F51EBC8F3443A15FA7562884 79FC87576FB579524C26ACD10A8B7F7D2464037401E0F0FC4B60BD4F380D33B7D1551F 94717C79F46958FD2970F1A0961762BFFF B532342EF15A78A6FE6D194C66AC5BCAC7 E9984FDC821EA9FC0A7BCF4F9342E76442 6B34280C546F3184F5EC47AD224C3C59D6014CA5E9ED58C8B87B3C6860742F4D1B8EC6 A25AD6E1C40DA3F076A186974F1ED3136746EC7B47B42F3E1353DACE49FFC7606F869F 7B2CD5F12DCD0E7AB3392903C370DED6CA
1

Contributing

I would welcome contributions by anyone interested. Feel free to raise a pull request or leave comments. See also the issues. Thanks for your interest!

About

An implementation of the Galbraith–Petit–Silva quantum-resistant cryptosystem.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages