loopring_sign 0.1.4

This crate generates an eddsa signature for loopring
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
use std::{str::FromStr, vec};

use num_bigint::BigInt;

lazy_static! {
    pub static ref CONSTANTS_C_59: Vec<BigInt> = {
        let numbers = [
            "14397397413755236225575615486459253198602422701513067526754101844196324375522",
            "10405129301473404666785234951972711717481302463898292859783056520670200613128",
            "5179144822360023508491245509308555580251733042407187134628755730783052214509",
            "9132640374240188374542843306219594180154739721841249568925550236430986592615",
            "20360807315276763881209958738450444293273549928693737723235350358403012458514",
            "17933600965499023212689924809448543050840131883187652471064418452962948061619",
            "3636213416533737411392076250708419981662897009810345015164671602334517041153",
            "2008540005368330234524962342006691994500273283000229509835662097352946198608",
            "16018407964853379535338740313053768402596521780991140819786560130595652651567",
            "20653139667070586705378398435856186172195806027708437373983929336015162186471",
            "17887713874711369695406927657694993484804203950786446055999405564652412116765",
            "4852706232225925756777361208698488277369799648067343227630786518486608711772",
            "8969172011633935669771678412400911310465619639756845342775631896478908389850",
            "20570199545627577691240476121888846460936245025392381957866134167601058684375",
            "16442329894745639881165035015179028112772410105963688121820543219662832524136",
            "20060625627350485876280451423010593928172611031611836167979515653463693899374",
            "16637282689940520290130302519163090147511023430395200895953984829546679599107",
            "15599196921909732993082127725908821049411366914683565306060493533569088698214",
            "16894591341213863947423904025624185991098788054337051624251730868231322135455",
            "1197934381747032348421303489683932612752526046745577259575778515005162320212",
            "6172482022646932735745595886795230725225293469762393889050804649558459236626",
            "21004037394166516054140386756510609698837211370585899203851827276330669555417",
            "15262034989144652068456967541137853724140836132717012646544737680069032573006",
            "15017690682054366744270630371095785995296470601172793770224691982518041139766",
            "15159744167842240513848638419303545693472533086570469712794583342699782519832",
            "11178069035565459212220861899558526502477231302924961773582350246646450941231",
            "21154888769130549957415912997229564077486639529994598560737238811887296922114",
            "20162517328110570500010831422938033120419484532231241180224283481905744633719",
            "2777362604871784250419758188173029886707024739806641263170345377816177052018",
            "15732290486829619144634131656503993123618032247178179298922551820261215487562",
            "6024433414579583476444635447152826813568595303270846875177844482142230009826",
            "17677827682004946431939402157761289497221048154630238117709539216286149983245",
            "10716307389353583413755237303156291454109852751296156900963208377067748518748",
            "14925386988604173087143546225719076187055229908444910452781922028996524347508",
            "8940878636401797005293482068100797531020505636124892198091491586778667442523",
            "18911747154199663060505302806894425160044925686870165583944475880789706164410",
            "8821532432394939099312235292271438180996556457308429936910969094255825456935",
            "20632576502437623790366878538516326728436616723089049415538037018093616927643",
            "71447649211767888770311304010816315780740050029903404046389165015534756512",
            "2781996465394730190470582631099299305677291329609718650018200531245670229393",
            "12441376330954323535872906380510501637773629931719508864016287320488688345525",
            "2558302139544901035700544058046419714227464650146159803703499681139469546006",
            "10087036781939179132584550273563255199577525914374285705149349445480649057058",
            "4267692623754666261749551533667592242661271409704769363166965280715887854739",
            "4945579503584457514844595640661884835097077318604083061152997449742124905548",
            "17742335354489274412669987990603079185096280484072783973732137326144230832311",
            "6266270088302506215402996795500854910256503071464802875821837403486057988208",
            "2716062168542520412498610856550519519760063668165561277991771577403400784706",
            "19118392018538203167410421493487769944462015419023083813301166096764262134232",
            "9386595745626044000666050847309903206827901310677406022353307960932745699524",
            "9121640807890366356465620448383131419933298563527245687958865317869840082266",
            "3078975275808111706229899605611544294904276390490742680006005661017864583210",
            "7157404299437167354719786626667769956233708887934477609633504801472827442743",
            "14056248655941725362944552761799461694550787028230120190862133165195793034373",
            "14124396743304355958915937804966111851843703158171757752158388556919187839849",
            "11851254356749068692552943732920045260402277343008629727465773766468466181076",
            "9799099446406796696742256539758943483211846559715874347178722060519817626047",
            "10156146186214948683880719664738535455146137901666656566575307300522957959544",
            "19908645952733301583346063785055921934459499091029406575311417879963332475861",
        ];
        numbers
            .iter()
            .map(|&num_str| BigInt::from_str(num_str).unwrap())
            .collect()
    };
    pub static ref CONSTANTS_M_2: Vec<Vec<BigInt>> = vec![
        vec![
            "5905559862616915807900579325651902433433685645159267419610962108431726462693",
            "12711080208452642132636348910936535131635469619255658927004323269777977499766"
        ],
        vec![
            "1630059164638566989648383609786744055995088365519873639181021774367459228529",
            "18634098492055214324873285470566015538548967469826511946578953323931218028182"
        ]
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
    pub static ref CONSTANTS_M_3: Vec<Vec<BigInt>> = vec![
        vec![
            "12711080208452642132636348910936535131635469619255658927004323269777977499766",
            "11739432287187184656569880828944421268616385874806221589758215824904320817117",
            "4977258759536702998522229302103997878600602264560359702680165243908162277980"
        ],
        vec![
            "18634098492055214324873285470566015538548967469826511946578953323931218028182",
            "16872301185549870956030057498946148102848662396374401407323436343924021192350",
            "107933704346764130067829474107909495889716688591997879426350582457782826785"
        ],
        vec![
            "10964855577711430604889230155222964616951177623752692235240949905229827667414",
            "18618317300596756144100783409915332163189452886691331959651778092154775572832",
            "13596762909635538739079656925495736900379091964739248298531655823337482778123"
        ],
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
    pub static ref CONSTANTS_M_6: Vec<Vec<BigInt>> = vec![
        vec![
            "19167410339349846567561662441069598364702008768579734801591448511131028229281",
            "14183033936038168803360723133013092560869148726790180682363054735190196956789",
            "9067734253445064890734144122526450279189023719890032859456830213166173619761",
            "16378664841697311562845443097199265623838619398287411428110917414833007677155",
            "12968540216479938138647596899147650021419273189336843725176422194136033835172",
            "3636162562566338420490575570584278737093584021456168183289112789616069756675"
        ],
        vec![
            "17034139127218860091985397764514160131253018178110701196935786874261236172431",
            "2799255644797227968811798608332314218966179365168250111693473252876996230317",
            "2482058150180648511543788012634934806465808146786082148795902594096349483974",
            "16563522740626180338295201738437974404892092704059676533096069531044355099628",
            "10468644849657689537028565510142839489302836569811003546969773105463051947124",
            "3328913364598498171733622353010907641674136720305714432354138807013088636408"
        ],
        vec![
            "18985203040268814769637347880759846911264240088034262814847924884273017355969",
            "8652975463545710606098548415650457376967119951977109072274595329619335974180",
            "970943815872417895015626519859542525373809485973005165410533315057253476903",
            "19406667490568134101658669326517700199745817783746545889094238643063688871948",
            "17049854690034965250221386317058877242629221002521630573756355118745574274967",
            "4964394613021008685803675656098849539153699842663541444414978877928878266244"
        ],
        vec![
            "19025623051770008118343718096455821045904242602531062247152770448380880817517",
            "9077319817220936628089890431129759976815127354480867310384708941479362824016",
            "4770370314098695913091200576539533727214143013236894216582648993741910829490",
            "4298564056297802123194408918029088169104276109138370115401819933600955259473",
            "6905514380186323693285869145872115273350947784558995755916362330070690839131",
            "4783343257810358393326889022942241108539824540285247795235499223017138301952"
        ],
        vec![
            "16205238342129310687768799056463408647672389183328001070715567975181364448609",
            "8303849270045876854140023508764676765932043944545416856530551331270859502246",
            "20218246699596954048529384569730026273241102596326201163062133863539137060414",
            "1712845821388089905746651754894206522004527237615042226559791118162382909269",
            "13001155522144542028910638547179410124467185319212645031214919884423841839406",
            "16037892369576300958623292723740289861626299352695838577330319504984091062115"
        ],
        vec![
            "15162889384227198851506890526431746552868519326873025085114621698588781611738",
            "13272957914179340594010910867091459756043436017766464331915862093201960540910",
            "9416416589114508529880440146952102328470363729880726115521103179442988482948",
            "8035240799672199706102747147502951589635001418759394863664434079699838251138",
            "21642389080762222565487157652540372010968704000567605990102641816691459811717",
            "20261355950827657195644012399234591122288573679402601053407151083849785332516"
        ]
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
    pub static ref CONSTANTS_M_7: Vec<Vec<BigInt>> = vec![
        vec![
            "14183033936038168803360723133013092560869148726790180682363054735190196956789",
            "9067734253445064890734144122526450279189023719890032859456830213166173619761",
            "16378664841697311562845443097199265623838619398287411428110917414833007677155",
            "12968540216479938138647596899147650021419273189336843725176422194136033835172",
            "3636162562566338420490575570584278737093584021456168183289112789616069756675",
            "8949952361235797771659501126471156178804092479420606597426318793013844305422",
            "13586657904816433080148729258697725609063090799921401830545410130405357110367"
        ],
        vec![
            "2799255644797227968811798608332314218966179365168250111693473252876996230317",
            "2482058150180648511543788012634934806465808146786082148795902594096349483974",
            "16563522740626180338295201738437974404892092704059676533096069531044355099628",
            "10468644849657689537028565510142839489302836569811003546969773105463051947124",
            "3328913364598498171733622353010907641674136720305714432354138807013088636408",
            "8642889650254799419576843603477253661899356105675006557919250564400804756641",
            "14300697791556510113764686242794463641010174685800128469053974698256194076125"
        ],
        vec![
            "8652975463545710606098548415650457376967119951977109072274595329619335974180",
            "970943815872417895015626519859542525373809485973005165410533315057253476903",
            "19406667490568134101658669326517700199745817783746545889094238643063688871948",
            "17049854690034965250221386317058877242629221002521630573756355118745574274967",
            "4964394613021008685803675656098849539153699842663541444414978877928878266244",
            "15474947305445649466370538888925567099067120578851553103424183520405650587995",
            "1016119095639665978105768933448186152078842964810837543326777554729232767846"
        ],
        vec![
            "9077319817220936628089890431129759976815127354480867310384708941479362824016",
            "4770370314098695913091200576539533727214143013236894216582648993741910829490",
            "4298564056297802123194408918029088169104276109138370115401819933600955259473",
            "6905514380186323693285869145872115273350947784558995755916362330070690839131",
            "4783343257810358393326889022942241108539824540285247795235499223017138301952",
            "1420772902128122367335354247676760257656541121773854204774788519230732373317",
            "14172871439045259377975734198064051992755748777535789572469924335100006948373"
        ],
        vec![
            "8303849270045876854140023508764676765932043944545416856530551331270859502246",
            "20218246699596954048529384569730026273241102596326201163062133863539137060414",
            "1712845821388089905746651754894206522004527237615042226559791118162382909269",
            "13001155522144542028910638547179410124467185319212645031214919884423841839406",
            "16037892369576300958623292723740289861626299352695838577330319504984091062115",
            "19189494548480259335554606182055502469831573298885662881571444557262020106898",
            "19032687447778391106390582750185144485341165205399984747451318330476859342654"
        ],
        vec![
            "13272957914179340594010910867091459756043436017766464331915862093201960540910",
            "9416416589114508529880440146952102328470363729880726115521103179442988482948",
            "8035240799672199706102747147502951589635001418759394863664434079699838251138",
            "21642389080762222565487157652540372010968704000567605990102641816691459811717",
            "20261355950827657195644012399234591122288573679402601053407151083849785332516",
            "14514189384576734449268559374569145463190040567900950075547616936149781403109",
            "19038036134886073991945204537416211699632292792787812530208911676638479944765"
        ],
        vec![
            "15627836782263662543041758927100784213807648787083018234961118439434298020664",
            "5655785191024506056588710805596292231240948371113351452712848652644610823632",
            "8265264721707292643644260517162050867559314081394556886644673791575065394002",
            "17151144681903609082202835646026478898625761142991787335302962548605510241586",
            "18731644709777529787185361516475509623264209648904603914668024590231177708831",
            "20697789991623248954020701081488146717484139720322034504511115160686216223641",
            "6200020095464686209289974437830528853749866001482481427982839122465470640886"
        ]
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
    pub static ref CONSTANTS_M_9: Vec<Vec<BigInt>> = vec![
        vec![
            "16378664841697311562845443097199265623838619398287411428110917414833007677155",
            "12968540216479938138647596899147650021419273189336843725176422194136033835172",
            "3636162562566338420490575570584278737093584021456168183289112789616069756675",
            "8949952361235797771659501126471156178804092479420606597426318793013844305422",
            "13586657904816433080148729258697725609063090799921401830545410130405357110367",
            "9234644095326950665182299534206533404013403644192586933457524891645396292987",
            "21716239453658409906539773463855601090749352024072354407676420846971925763352",
            "4217850196621719492070441371114581340961962601115446718610695075341064782843",
            "14091314373946770079087815723744110798105826012788667211882320191290756637054"
        ],
        vec![
            "16563522740626180338295201738437974404892092704059676533096069531044355099628",
            "10468644849657689537028565510142839489302836569811003546969773105463051947124",
            "3328913364598498171733622353010907641674136720305714432354138807013088636408",
            "8642889650254799419576843603477253661899356105675006557919250564400804756641",
            "14300697791556510113764686242794463641010174685800128469053974698256194076125",
            "5585884681068831368957819127799934550116264845072199016558603424861777753252",
            "3478164595623309231528081170973492360030471123077314602599603198947503453402",
            "7199924820941799838017782197767573398800843214159492464366697425752021794207",
            "1154943146689858448412819104632261733949486281652220573359100064807135186211"
        ],
        vec![
            "19406667490568134101658669326517700199745817783746545889094238643063688871948",
            "17049854690034965250221386317058877242629221002521630573756355118745574274967",
            "4964394613021008685803675656098849539153699842663541444414978877928878266244",
            "15474947305445649466370538888925567099067120578851553103424183520405650587995",
            "1016119095639665978105768933448186152078842964810837543326777554729232767846",
            "1094643194372100629123149177218988304969310518086967353237224710253647912217",
            "19683112286289404632257045032408336402139497606956310649520051095163041093043",
            "15078463390585580460701632423762128113753337560111211686732764674670454433375",
            "1801502535278136950711454362447206750370371584220726360504187134310004854946"
        ],
        vec![
            "4298564056297802123194408918029088169104276109138370115401819933600955259473",
            "6905514380186323693285869145872115273350947784558995755916362330070690839131",
            "4783343257810358393326889022942241108539824540285247795235499223017138301952",
            "1420772902128122367335354247676760257656541121773854204774788519230732373317",
            "14172871439045259377975734198064051992755748777535789572469924335100006948373",
            "701171404446517799603547590964435136387194297039347722754381539762095803416",
            "9803177017074123807147870516958969882415683917143053879462479514476003798692",
            "10882504770686057070666901469152010168883484553788707224519875015429176286468",
            "16116223334794707241932949543829423645032061244136000915663484670112660674335"
        ],
        vec![
            "1712845821388089905746651754894206522004527237615042226559791118162382909269",
            "13001155522144542028910638547179410124467185319212645031214919884423841839406",
            "16037892369576300958623292723740289861626299352695838577330319504984091062115",
            "19189494548480259335554606182055502469831573298885662881571444557262020106898",
            "19032687447778391106390582750185144485341165205399984747451318330476859342654",
            "12323575831655155253804858088151729263068755350164008078826612164541519408135",
            "13364062595561633544353642535185185386831615196434150714209983763273382358030",
            "9274699025052388999143876606332457090594226076618918017186910082987520766620",
            "21666017696927606866900803180167159825580415253627077790152277311026667245774"
        ],
        vec![
            "8035240799672199706102747147502951589635001418759394863664434079699838251138",
            "21642389080762222565487157652540372010968704000567605990102641816691459811717",
            "20261355950827657195644012399234591122288573679402601053407151083849785332516",
            "14514189384576734449268559374569145463190040567900950075547616936149781403109",
            "19038036134886073991945204537416211699632292792787812530208911676638479944765",
            "686782683208273499702675091923241011258708712578932107294509288335035332309",
            "19460483659494742538635058842962321840203437040436001627070209503346220914620",
            "2717363541929281429425363151363573812700929689092742076307025102432122849113",
            "592856464239577084277812148344474334229160123467784799518401396518621499307"
        ],
        vec![
            "8265264721707292643644260517162050867559314081394556886644673791575065394002",
            "17151144681903609082202835646026478898625761142991787335302962548605510241586",
            "18731644709777529787185361516475509623264209648904603914668024590231177708831",
            "20697789991623248954020701081488146717484139720322034504511115160686216223641",
            "6200020095464686209289974437830528853749866001482481427982839122465470640886",
            "15003643064481014784403977252896879471469342634022488726217418739723899468318",
            "12647612870405528475535038805212974373775200663189541014169237057917818933775",
            "4495592920221816845183500919899258791575337853955422662005352518056111526526",
            "17016589944599426232470877677784553412045023522564439128359954090088542925927"
        ],
        vec![
            "19539311024738522891356101949155059335275979719197714163855792975479791830596",
            "6659076024959487416731638372513310695435146898436979094444558067856073756736",
            "18638411010780926799370141496147754702830985736366292681854483730874058975603",
            "13991166219115538669786979327638629497368851557264728153209258584901344742173",
            "10708464376044593093210642907737038037693199311429347815304064429229497756513",
            "6487544089495620557439978277791925879985014522759859697996101158123830288903",
            "2913307273815072522855995578822138088278918070152314785631428419886490815017",
            "14285037819197997716648396320167175389429136413217640368836681114764148118185",
            "3333794576395592518925638954760517866119123399586466538142440796174614359894"
        ],
        vec![
            "21422243299611537762274736309721876243615704845934179576439297719647792004094",
            "454751400352787889753204068724447886439869504887169238390605352931357717966",
            "18410998549604629667288121409987879184434965955790116388599455426890628819225",
            "21124868883310895249704508909746850568648918888363322451096318445789496113765",
            "3729190893061666874168977650023409592233396533084615654829157344975623505524",
            "10648014247890130944143499130156012552468488977293052246766339673997837070992",
            "9568023470137472494284353113734549348684200769702589788112091125656147667116",
            "3536927330244885178374691992819629480677300039684470529320471913652629606838",
            "11398590172899810645820530606484864595574598270604175688862890426075002823331"
        ]
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
    pub static ref CONSTANTS_M_10: Vec<Vec<BigInt>> = vec![
        vec![
            "12968540216479938138647596899147650021419273189336843725176422194136033835172",
            "3636162562566338420490575570584278737093584021456168183289112789616069756675",
            "8949952361235797771659501126471156178804092479420606597426318793013844305422",
            "13586657904816433080148729258697725609063090799921401830545410130405357110367",
            "9234644095326950665182299534206533404013403644192586933457524891645396292987",
            "21716239453658409906539773463855601090749352024072354407676420846971925763352",
            "4217850196621719492070441371114581340961962601115446718610695075341064782843",
            "14091314373946770079087815723744110798105826012788667211882320191290756637054",
            "1836151420849876287257251498242729836824311746824392923242828663131666580828",
            "6835788420848335173243495671810987843103243246225527562249885075005140362623"
        ],
        vec![
            "10468644849657689537028565510142839489302836569811003546969773105463051947124",
            "3328913364598498171733622353010907641674136720305714432354138807013088636408",
            "8642889650254799419576843603477253661899356105675006557919250564400804756641",
            "14300697791556510113764686242794463641010174685800128469053974698256194076125",
            "5585884681068831368957819127799934550116264845072199016558603424861777753252",
            "3478164595623309231528081170973492360030471123077314602599603198947503453402",
            "7199924820941799838017782197767573398800843214159492464366697425752021794207",
            "1154943146689858448412819104632261733949486281652220573359100064807135186211",
            "2014307020840030171599981482679561995491247943968618411317941095661736771072",
            "3570239959937051869699597646596776576100477379279696986371716806585418148999"
        ],
        vec![
            "17049854690034965250221386317058877242629221002521630573756355118745574274967",
            "4964394613021008685803675656098849539153699842663541444414978877928878266244",
            "15474947305445649466370538888925567099067120578851553103424183520405650587995",
            "1016119095639665978105768933448186152078842964810837543326777554729232767846",
            "1094643194372100629123149177218988304969310518086967353237224710253647912217",
            "19683112286289404632257045032408336402139497606956310649520051095163041093043",
            "15078463390585580460701632423762128113753337560111211686732764674670454433375",
            "1801502535278136950711454362447206750370371584220726360504187134310004854946",
            "8621790518781836243437824920511539973165116610755426647487428365048155246615",
            "12942512140539042341676889757219435053433203623152024989066217867030059451362"
        ],
        vec![
            "6905514380186323693285869145872115273350947784558995755916362330070690839131",
            "4783343257810358393326889022942241108539824540285247795235499223017138301952",
            "1420772902128122367335354247676760257656541121773854204774788519230732373317",
            "14172871439045259377975734198064051992755748777535789572469924335100006948373",
            "701171404446517799603547590964435136387194297039347722754381539762095803416",
            "9803177017074123807147870516958969882415683917143053879462479514476003798692",
            "10882504770686057070666901469152010168883484553788707224519875015429176286468",
            "16116223334794707241932949543829423645032061244136000915663484670112660674335",
            "1050574705143710849158660280515783436048703475592206287328683483437386496342",
            "3193766187369768098819373128520920194995009659905354541728591134729338630146"
        ],
        vec![
            "13001155522144542028910638547179410124467185319212645031214919884423841839406",
            "16037892369576300958623292723740289861626299352695838577330319504984091062115",
            "19189494548480259335554606182055502469831573298885662881571444557262020106898",
            "19032687447778391106390582750185144485341165205399984747451318330476859342654",
            "12323575831655155253804858088151729263068755350164008078826612164541519408135",
            "13364062595561633544353642535185185386831615196434150714209983763273382358030",
            "9274699025052388999143876606332457090594226076618918017186910082987520766620",
            "21666017696927606866900803180167159825580415253627077790152277311026667245774",
            "19428861633624669932732235043823844526934683635426508396069006262580783292098",
            "349092129900167299852086304168956780686281800973047308710033408193673557137"
        ],
        vec![
            "21642389080762222565487157652540372010968704000567605990102641816691459811717",
            "20261355950827657195644012399234591122288573679402601053407151083849785332516",
            "14514189384576734449268559374569145463190040567900950075547616936149781403109",
            "19038036134886073991945204537416211699632292792787812530208911676638479944765",
            "686782683208273499702675091923241011258708712578932107294509288335035332309",
            "19460483659494742538635058842962321840203437040436001627070209503346220914620",
            "2717363541929281429425363151363573812700929689092742076307025102432122849113",
            "592856464239577084277812148344474334229160123467784799518401396518621499307",
            "19605232505714887411140533539156676078023064817112556974818688529720554103027",
            "17281837796802566248553868696561647661575293017929540397986609448489469656408"
        ],
        vec![
            "17151144681903609082202835646026478898625761142991787335302962548605510241586",
            "18731644709777529787185361516475509623264209648904603914668024590231177708831",
            "20697789991623248954020701081488146717484139720322034504511115160686216223641",
            "6200020095464686209289974437830528853749866001482481427982839122465470640886",
            "15003643064481014784403977252896879471469342634022488726217418739723899468318",
            "12647612870405528475535038805212974373775200663189541014169237057917818933775",
            "4495592920221816845183500919899258791575337853955422662005352518056111526526",
            "17016589944599426232470877677784553412045023522564439128359954090088542925927",
            "7427163762123037666168877552179990976257321514817431071386277873217974716214",
            "6954714365751319627532260089365398510597789423888128188300193742623440858991"
        ],
        vec![
            "6659076024959487416731638372513310695435146898436979094444558067856073756736",
            "18638411010780926799370141496147754702830985736366292681854483730874058975603",
            "13991166219115538669786979327638629497368851557264728153209258584901344742173",
            "10708464376044593093210642907737038037693199311429347815304064429229497756513",
            "6487544089495620557439978277791925879985014522759859697996101158123830288903",
            "2913307273815072522855995578822138088278918070152314785631428419886490815017",
            "14285037819197997716648396320167175389429136413217640368836681114764148118185",
            "3333794576395592518925638954760517866119123399586466538142440796174614359894",
            "3845776014605207395343871969433626371796105685015639546701817312715048078273",
            "9263887251631740182673249586528554091206122902651331921320275863021853816005"
        ],
        vec![
            "454751400352787889753204068724447886439869504887169238390605352931357717966",
            "18410998549604629667288121409987879184434965955790116388599455426890628819225",
            "21124868883310895249704508909746850568648918888363322451096318445789496113765",
            "3729190893061666874168977650023409592233396533084615654829157344975623505524",
            "10648014247890130944143499130156012552468488977293052246766339673997837070992",
            "9568023470137472494284353113734549348684200769702589788112091125656147667116",
            "3536927330244885178374691992819629480677300039684470529320471913652629606838",
            "11398590172899810645820530606484864595574598270604175688862890426075002823331",
            "13867154112143118575451613166385157242483631693788556304796979714601785936825",
            "15587970419040244702732665316366587844861765432258110249032770438196575054494"
        ],
        vec![
            "6960294372035221293581956312209136863848983347653614884808509682463381341123",
            "15065949325738665978704380810964125491600291026570726386996048869310110891732",
            "15565208172936548126814901061215221899993229204075026231475743356766667186275",
            "14273341415389175002732931022197371408910107356935395501556639778517250463216",
            "5902907000654141499635699176721929039612928718177921573754626287345808685856",
            "203666313136774023325316072654501128468371734762708925063627487502421439094",
            "9450682786498823752891980662275296997029499323840362934742782429277244701264",
            "5845919573782750816116964311797087944211904659910565804455233427824994872877",
            "2620768939180089200997122995060391898943652408298747707765440591474859977536",
            "6097212856823059610806594870167172449630826014160149958358449182659226854683"
        ]
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
    pub static ref CONSTANTS_M_12: Vec<Vec<BigInt>> = vec![
        vec![
            "8949952361235797771659501126471156178804092479420606597426318793013844305422",
            "13586657904816433080148729258697725609063090799921401830545410130405357110367",
            "9234644095326950665182299534206533404013403644192586933457524891645396292987",
            "21716239453658409906539773463855601090749352024072354407676420846971925763352",
            "4217850196621719492070441371114581340961962601115446718610695075341064782843",
            "14091314373946770079087815723744110798105826012788667211882320191290756637054",
            "1836151420849876287257251498242729836824311746824392923242828663131666580828",
            "6835788420848335173243495671810987843103243246225527562249885075005140362623",
            "1980065348636533793938224420722478561090879463814453742159951744016644584724",
            "15713403866108081374909941292970437652990369272785906691248434303775169969543",
            "14959743792706716021142885528088392553078212698661562097167510503161229999990",
            "15006586652538422799588174804684510919512328790284816768463531865354612746131"
        ],
        vec![
            "8642889650254799419576843603477253661899356105675006557919250564400804756641",
            "14300697791556510113764686242794463641010174685800128469053974698256194076125",
            "5585884681068831368957819127799934550116264845072199016558603424861777753252",
            "3478164595623309231528081170973492360030471123077314602599603198947503453402",
            "7199924820941799838017782197767573398800843214159492464366697425752021794207",
            "1154943146689858448412819104632261733949486281652220573359100064807135186211",
            "2014307020840030171599981482679561995491247943968618411317941095661736771072",
            "3570239959937051869699597646596776576100477379279696986371716806585418148999",
            "6444436284087049954311426326470253493866988349227325357692234777181945302138",
            "4084181522452846717426267118401257065171304838427595913046458801675418547946",
            "13989632073452219820350995430504114247219866494172950970739079321835291324671",
            "13418719828600374542384556966295703666596070930672811607179449002639059599541"
        ],
        vec![
            "15474947305445649466370538888925567099067120578851553103424183520405650587995",
            "1016119095639665978105768933448186152078842964810837543326777554729232767846",
            "1094643194372100629123149177218988304969310518086967353237224710253647912217",
            "19683112286289404632257045032408336402139497606956310649520051095163041093043",
            "15078463390585580460701632423762128113753337560111211686732764674670454433375",
            "1801502535278136950711454362447206750370371584220726360504187134310004854946",
            "8621790518781836243437824920511539973165116610755426647487428365048155246615",
            "12942512140539042341676889757219435053433203623152024989066217867030059451362",
            "20440428457116895728643297727585714505972968360880851439871840763004876047842",
            "501563077712479629714853317258969081525260934521262312772885253926721582762",
            "753123978024633956735577324441899899633658365336405510640245528428125257350",
            "15438139118673148272474914574603568698207304684426092003641682993272711781065"
        ],
        vec![
            "1420772902128122367335354247676760257656541121773854204774788519230732373317",
            "14172871439045259377975734198064051992755748777535789572469924335100006948373",
            "701171404446517799603547590964435136387194297039347722754381539762095803416",
            "9803177017074123807147870516958969882415683917143053879462479514476003798692",
            "10882504770686057070666901469152010168883484553788707224519875015429176286468",
            "16116223334794707241932949543829423645032061244136000915663484670112660674335",
            "1050574705143710849158660280515783436048703475592206287328683483437386496342",
            "3193766187369768098819373128520920194995009659905354541728591134729338630146",
            "5442308134552484158006176363860250847803335445074346356521667371941439320753",
            "11191223378227773223878730222746316529427664100909744690819477729631161942363",
            "11726035845675343757836923739489072381179982752991909557580776186859596967156",
            "16901810476261424999482203611679314176669106099527895459084749754823603991308"
        ],
        vec![
            "19189494548480259335554606182055502469831573298885662881571444557262020106898",
            "19032687447778391106390582750185144485341165205399984747451318330476859342654",
            "12323575831655155253804858088151729263068755350164008078826612164541519408135",
            "13364062595561633544353642535185185386831615196434150714209983763273382358030",
            "9274699025052388999143876606332457090594226076618918017186910082987520766620",
            "21666017696927606866900803180167159825580415253627077790152277311026667245774",
            "19428861633624669932732235043823844526934683635426508396069006262580783292098",
            "349092129900167299852086304168956780686281800973047308710033408193673557137",
            "9891605682735775701372497220084495703059875491976279694547892411730413275106",
            "9572033480346284888842892814742041052680607489312867118792896402407551781000",
            "9419692140501576607876338606093398306760750606675978490359415622226726545243",
            "8624211117939275106682081656519108589416393964885797669702352155223639676615"
        ],
        vec![
            "14514189384576734449268559374569145463190040567900950075547616936149781403109",
            "19038036134886073991945204537416211699632292792787812530208911676638479944765",
            "686782683208273499702675091923241011258708712578932107294509288335035332309",
            "19460483659494742538635058842962321840203437040436001627070209503346220914620",
            "2717363541929281429425363151363573812700929689092742076307025102432122849113",
            "592856464239577084277812148344474334229160123467784799518401396518621499307",
            "19605232505714887411140533539156676078023064817112556974818688529720554103027",
            "17281837796802566248553868696561647661575293017929540397986609448489469656408",
            "5179101331705486631216523439406626504427859861086380006880198353271403634284",
            "21494373900212553862269598166466369411014604306433901007975656990265100086773",
            "12479091560441248082862707244714931628551465467233671548318239199145856448347",
            "12491607425761055729662442019363508424269807364745212435444190648207572076545"
        ],
        vec![
            "20697789991623248954020701081488146717484139720322034504511115160686216223641",
            "6200020095464686209289974437830528853749866001482481427982839122465470640886",
            "15003643064481014784403977252896879471469342634022488726217418739723899468318",
            "12647612870405528475535038805212974373775200663189541014169237057917818933775",
            "4495592920221816845183500919899258791575337853955422662005352518056111526526",
            "17016589944599426232470877677784553412045023522564439128359954090088542925927",
            "7427163762123037666168877552179990976257321514817431071386277873217974716214",
            "6954714365751319627532260089365398510597789423888128188300193742623440858991",
            "20741354368082668749519294669330263800034959643576788680679721465758396340655",
            "8690392737093296508596420240113481624211167630103821946341025063336615861750",
            "128326679649384002269047621993838921105558466114089093801619612520960648926",
            "12703817225095950516595285538310896530137847080299329755804157103829069832883"
        ],
        vec![
            "13991166219115538669786979327638629497368851557264728153209258584901344742173",
            "10708464376044593093210642907737038037693199311429347815304064429229497756513",
            "6487544089495620557439978277791925879985014522759859697996101158123830288903",
            "2913307273815072522855995578822138088278918070152314785631428419886490815017",
            "14285037819197997716648396320167175389429136413217640368836681114764148118185",
            "3333794576395592518925638954760517866119123399586466538142440796174614359894",
            "3845776014605207395343871969433626371796105685015639546701817312715048078273",
            "9263887251631740182673249586528554091206122902651331921320275863021853816005",
            "14516758205336303628030971413987867488663371869161580208931064798637853946497",
            "15357311091575984266241753426851379448502423574157741469776854720990327180318",
            "15592199505650910310179975282703642781152274938814852803050516371497805905618",
            "11696071630533658433430012425611085012006305934825565097498631527205190114355"
        ],
        vec![
            "21124868883310895249704508909746850568648918888363322451096318445789496113765",
            "3729190893061666874168977650023409592233396533084615654829157344975623505524",
            "10648014247890130944143499130156012552468488977293052246766339673997837070992",
            "9568023470137472494284353113734549348684200769702589788112091125656147667116",
            "3536927330244885178374691992819629480677300039684470529320471913652629606838",
            "11398590172899810645820530606484864595574598270604175688862890426075002823331",
            "13867154112143118575451613166385157242483631693788556304796979714601785936825",
            "15587970419040244702732665316366587844861765432258110249032770438196575054494",
            "1760728291310754125712539670786268511398339681699173022567759629151538940271",
            "10983112402223375904816148852700278466880680448249842946746264282026432805356",
            "15317492529014085340160234749721835831474162547771507349755909013051779433016",
            "16522315899813393602217644554675335137456173932685599501256120168385052319551"
        ],
        vec![
            "15565208172936548126814901061215221899993229204075026231475743356766667186275",
            "14273341415389175002732931022197371408910107356935395501556639778517250463216",
            "5902907000654141499635699176721929039612928718177921573754626287345808685856",
            "203666313136774023325316072654501128468371734762708925063627487502421439094",
            "9450682786498823752891980662275296997029499323840362934742782429277244701264",
            "5845919573782750816116964311797087944211904659910565804455233427824994872877",
            "2620768939180089200997122995060391898943652408298747707765440591474859977536",
            "6097212856823059610806594870167172449630826014160149958358449182659226854683",
            "21035421258088434187064210132510536027666832877207574626482275926069854695763",
            "13051875927006043184532456259732675608112064860752811133476026158472953275617",
            "9863361682300502736731454118729857964509172642453643136605329752639270646259",
            "6864936489606613569949200125517908551657368982395164693026803780881403832845"
        ],
        vec![
            "7324527588398529369832404971572555764840381229220960043028736393060929031165",
            "16180780920520829787590397461786386727911681900904540409095357904584006980425",
            "11923552431018057977761262750896735278348525198229774660021082286179569562761",
            "16103000669516568314626924758129945191156182821310825343179071305812017533451",
            "6703384075365774580846496809352382349237535411108756946275887008878257647636",
            "8320969168029750438001524325485404349446296049650925704636382736628876200413",
            "7711442374668991871896332031308406364421360151841877944011644435604249756323",
            "4858024683814982254309886653697281467687205888514801303577930237690860071670",
            "21452852726519764756830618853858002743210980897675031341247154775030934599037",
            "13833240608470544540225953613275063421934297305979294165453842748748438594425",
            "8100247873651925632034289001098959227000685657042182048193147401160223524912",
            "10121389091958157720142199475024283036593233305586359212041679488821565236710"
        ],
        vec![
            "4504593921994952598155657828894656279482867500985575499664289188003946121851",
            "14511147299412740304746841320688216321036602714960166007170353213473524352104",
            "16528025842375043435837119470493256268433673445086331728490793208867786241828",
            "9900154154386663479537586819894718944687713302473452381603628292243002702279",
            "17445064292175618291837332432796219832109705978726091185424692935685474443383",
            "9477523956585809224358176702160144713654392239223858397591554583998674321011",
            "5579747340111624719474392885678928647910939579910780777119735981799709775053",
            "5540078687649959444165462224899672030870257411479656684734160045273088947455",
            "5080667717011927915807989683903164006615302718909764087091456973642565978968",
            "8405426129356335885106454141349949656435052005686122818690562623647725612759",
            "14153792492527926309111680484388508008319725250964284816755179056859092161333",
            "9095727891321434705384160430973826842535919861682195638384112440257688759288"
        ]
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
    pub static ref CONSTANTS_M_13: Vec<Vec<BigInt>> = vec![
        vec![
            "13586657904816433080148729258697725609063090799921401830545410130405357110367",
            "9234644095326950665182299534206533404013403644192586933457524891645396292987",
            "21716239453658409906539773463855601090749352024072354407676420846971925763352",
            "4217850196621719492070441371114581340961962601115446718610695075341064782843",
            "14091314373946770079087815723744110798105826012788667211882320191290756637054",
            "1836151420849876287257251498242729836824311746824392923242828663131666580828",
            "6835788420848335173243495671810987843103243246225527562249885075005140362623",
            "1980065348636533793938224420722478561090879463814453742159951744016644584724",
            "15713403866108081374909941292970437652990369272785906691248434303775169969543",
            "14959743792706716021142885528088392553078212698661562097167510503161229999990",
            "15006586652538422799588174804684510919512328790284816768463531865354612746131",
            "6722003314234384626117852426038768604713438612656541411100053653684379192144",
            "4242900714002637160237691581352854499594023697293551240818960152419012534784"
        ],
        vec![
            "14300697791556510113764686242794463641010174685800128469053974698256194076125",
            "5585884681068831368957819127799934550116264845072199016558603424861777753252",
            "3478164595623309231528081170973492360030471123077314602599603198947503453402",
            "7199924820941799838017782197767573398800843214159492464366697425752021794207",
            "1154943146689858448412819104632261733949486281652220573359100064807135186211",
            "2014307020840030171599981482679561995491247943968618411317941095661736771072",
            "3570239959937051869699597646596776576100477379279696986371716806585418148999",
            "6444436284087049954311426326470253493866988349227325357692234777181945302138",
            "4084181522452846717426267118401257065171304838427595913046458801675418547946",
            "13989632073452219820350995430504114247219866494172950970739079321835291324671",
            "13418719828600374542384556966295703666596070930672811607179449002639059599541",
            "7644969330219224547287769516033436965799428928441591606450985163053392793344",
            "6280436684085269171590673027048410351649289641146944008145604425101757414762"
        ],
        vec![
            "1016119095639665978105768933448186152078842964810837543326777554729232767846",
            "1094643194372100629123149177218988304969310518086967353237224710253647912217",
            "19683112286289404632257045032408336402139497606956310649520051095163041093043",
            "15078463390585580460701632423762128113753337560111211686732764674670454433375",
            "1801502535278136950711454362447206750370371584220726360504187134310004854946",
            "8621790518781836243437824920511539973165116610755426647487428365048155246615",
            "12942512140539042341676889757219435053433203623152024989066217867030059451362",
            "20440428457116895728643297727585714505972968360880851439871840763004876047842",
            "501563077712479629714853317258969081525260934521262312772885253926721582762",
            "753123978024633956735577324441899899633658365336405510640245528428125257350",
            "15438139118673148272474914574603568698207304684426092003641682993272711781065",
            "10689812918505616661608691890720390469226403703723381016350310491737813313974",
            "1924725056931387958278889757445074574089297279768556322739137505931263014453"
        ],
        vec![
            "14172871439045259377975734198064051992755748777535789572469924335100006948373",
            "701171404446517799603547590964435136387194297039347722754381539762095803416",
            "9803177017074123807147870516958969882415683917143053879462479514476003798692",
            "10882504770686057070666901469152010168883484553788707224519875015429176286468",
            "16116223334794707241932949543829423645032061244136000915663484670112660674335",
            "1050574705143710849158660280515783436048703475592206287328683483437386496342",
            "3193766187369768098819373128520920194995009659905354541728591134729338630146",
            "5442308134552484158006176363860250847803335445074346356521667371941439320753",
            "11191223378227773223878730222746316529427664100909744690819477729631161942363",
            "11726035845675343757836923739489072381179982752991909557580776186859596967156",
            "16901810476261424999482203611679314176669106099527895459084749754823603991308",
            "4772799230215502787387625800375266198310018865322967995359111556777265293420",
            "4288576265376429508866293694414174912547365651471706203767654622778961072749"
        ],
        vec![
            "19032687447778391106390582750185144485341165205399984747451318330476859342654",
            "12323575831655155253804858088151729263068755350164008078826612164541519408135",
            "13364062595561633544353642535185185386831615196434150714209983763273382358030",
            "9274699025052388999143876606332457090594226076618918017186910082987520766620",
            "21666017696927606866900803180167159825580415253627077790152277311026667245774",
            "19428861633624669932732235043823844526934683635426508396069006262580783292098",
            "349092129900167299852086304168956780686281800973047308710033408193673557137",
            "9891605682735775701372497220084495703059875491976279694547892411730413275106",
            "9572033480346284888842892814742041052680607489312867118792896402407551781000",
            "9419692140501576607876338606093398306760750606675978490359415622226726545243",
            "8624211117939275106682081656519108589416393964885797669702352155223639676615",
            "12665059648441553978570163871651535927964637259373194577287421931722711027942",
            "19902414416640214856640678626000636593994956378173579902243476569198060051869"
        ],
        vec![
            "19038036134886073991945204537416211699632292792787812530208911676638479944765",
            "686782683208273499702675091923241011258708712578932107294509288335035332309",
            "19460483659494742538635058842962321840203437040436001627070209503346220914620",
            "2717363541929281429425363151363573812700929689092742076307025102432122849113",
            "592856464239577084277812148344474334229160123467784799518401396518621499307",
            "19605232505714887411140533539156676078023064817112556974818688529720554103027",
            "17281837796802566248553868696561647661575293017929540397986609448489469656408",
            "5179101331705486631216523439406626504427859861086380006880198353271403634284",
            "21494373900212553862269598166466369411014604306433901007975656990265100086773",
            "12479091560441248082862707244714931628551465467233671548318239199145856448347",
            "12491607425761055729662442019363508424269807364745212435444190648207572076545",
            "2158389749885037372770745658770751221882088914371545859189544616894572777936",
            "444652790339185347562311359321953826932850429877175475185013904665251018946"
        ],
        vec![
            "6200020095464686209289974437830528853749866001482481427982839122465470640886",
            "15003643064481014784403977252896879471469342634022488726217418739723899468318",
            "12647612870405528475535038805212974373775200663189541014169237057917818933775",
            "4495592920221816845183500919899258791575337853955422662005352518056111526526",
            "17016589944599426232470877677784553412045023522564439128359954090088542925927",
            "7427163762123037666168877552179990976257321514817431071386277873217974716214",
            "6954714365751319627532260089365398510597789423888128188300193742623440858991",
            "20741354368082668749519294669330263800034959643576788680679721465758396340655",
            "8690392737093296508596420240113481624211167630103821946341025063336615861750",
            "128326679649384002269047621993838921105558466114089093801619612520960648926",
            "12703817225095950516595285538310896530137847080299329755804157103829069832883",
            "2516481353863286804779030034991274003091884750376436535868787992170119380775",
            "13185746349401158353633500923134753690414463215010331946684089239815388797999"
        ],
        vec![
            "10708464376044593093210642907737038037693199311429347815304064429229497756513",
            "6487544089495620557439978277791925879985014522759859697996101158123830288903",
            "2913307273815072522855995578822138088278918070152314785631428419886490815017",
            "14285037819197997716648396320167175389429136413217640368836681114764148118185",
            "3333794576395592518925638954760517866119123399586466538142440796174614359894",
            "3845776014605207395343871969433626371796105685015639546701817312715048078273",
            "9263887251631740182673249586528554091206122902651331921320275863021853816005",
            "14516758205336303628030971413987867488663371869161580208931064798637853946497",
            "15357311091575984266241753426851379448502423574157741469776854720990327180318",
            "15592199505650910310179975282703642781152274938814852803050516371497805905618",
            "11696071630533658433430012425611085012006305934825565097498631527205190114355",
            "9675000134469381494468008700239205713775978238953418124765050248135042267115",
            "21636111004377929229774040837424846543342293995051799920480015069120480600478"
        ],
        vec![
            "3729190893061666874168977650023409592233396533084615654829157344975623505524",
            "10648014247890130944143499130156012552468488977293052246766339673997837070992",
            "9568023470137472494284353113734549348684200769702589788112091125656147667116",
            "3536927330244885178374691992819629480677300039684470529320471913652629606838",
            "11398590172899810645820530606484864595574598270604175688862890426075002823331",
            "13867154112143118575451613166385157242483631693788556304796979714601785936825",
            "15587970419040244702732665316366587844861765432258110249032770438196575054494",
            "1760728291310754125712539670786268511398339681699173022567759629151538940271",
            "10983112402223375904816148852700278466880680448249842946746264282026432805356",
            "15317492529014085340160234749721835831474162547771507349755909013051779433016",
            "16522315899813393602217644554675335137456173932685599501256120168385052319551",
            "5832666872201353066141882890901243110499314121092889231480902289394293205220",
            "14778587923187278042924759519063503729377452007427310376922251107476335821851"
        ],
        vec![
            "14273341415389175002732931022197371408910107356935395501556639778517250463216",
            "5902907000654141499635699176721929039612928718177921573754626287345808685856",
            "203666313136774023325316072654501128468371734762708925063627487502421439094",
            "9450682786498823752891980662275296997029499323840362934742782429277244701264",
            "5845919573782750816116964311797087944211904659910565804455233427824994872877",
            "2620768939180089200997122995060391898943652408298747707765440591474859977536",
            "6097212856823059610806594870167172449630826014160149958358449182659226854683",
            "21035421258088434187064210132510536027666832877207574626482275926069854695763",
            "13051875927006043184532456259732675608112064860752811133476026158472953275617",
            "9863361682300502736731454118729857964509172642453643136605329752639270646259",
            "6864936489606613569949200125517908551657368982395164693026803780881403832845",
            "13543108642878675312287084337358022913410274488752899319752800412871492410315",
            "20735029507019217038441905900900011586082605676085434605827601381067408772839"
        ],
        vec![
            "16180780920520829787590397461786386727911681900904540409095357904584006980425",
            "11923552431018057977761262750896735278348525198229774660021082286179569562761",
            "16103000669516568314626924758129945191156182821310825343179071305812017533451",
            "6703384075365774580846496809352382349237535411108756946275887008878257647636",
            "8320969168029750438001524325485404349446296049650925704636382736628876200413",
            "7711442374668991871896332031308406364421360151841877944011644435604249756323",
            "4858024683814982254309886653697281467687205888514801303577930237690860071670",
            "21452852726519764756830618853858002743210980897675031341247154775030934599037",
            "13833240608470544540225953613275063421934297305979294165453842748748438594425",
            "8100247873651925632034289001098959227000685657042182048193147401160223524912",
            "10121389091958157720142199475024283036593233305586359212041679488821565236710",
            "17679139357473294411084805082149369891566315066810950690553593909841224749698",
            "5745168543650122191238012790353274949236757316939697215769496258381365157104"
        ],
        vec![
            "14511147299412740304746841320688216321036602714960166007170353213473524352104",
            "16528025842375043435837119470493256268433673445086331728490793208867786241828",
            "9900154154386663479537586819894718944687713302473452381603628292243002702279",
            "17445064292175618291837332432796219832109705978726091185424692935685474443383",
            "9477523956585809224358176702160144713654392239223858397591554583998674321011",
            "5579747340111624719474392885678928647910939579910780777119735981799709775053",
            "5540078687649959444165462224899672030870257411479656684734160045273088947455",
            "5080667717011927915807989683903164006615302718909764087091456973642565978968",
            "8405426129356335885106454141349949656435052005686122818690562623647725612759",
            "14153792492527926309111680484388508008319725250964284816755179056859092161333",
            "9095727891321434705384160430973826842535919861682195638384112440257688759288",
            "525844820226607279261280990028210711618218343012201065882085947162542608108",
            "10584421738198625238287526628685318785969653190071782510616238160463228408988"
        ],
        vec![
            "2882714818088102388247231723654063912187615406203152326122709307988347283077",
            "18591374639006516669971631071969040281259448932717435559823992098426299707077",
            "1680340864535981809898681240181403206011018277970403157094851711703425560715",
            "2984952658486342048219059368566849957041027742693099614812811782460367613275",
            "2928426982786615081330845232031686514230666920847050155182767214409180960814",
            "3015367340702561841666387409334020137010037968536103279430071917711772540037",
            "13663565517613094943055488310199504888408926491219128855167216364452908496200",
            "16815342412796685070748229542687133133506812464709750021955403443804490467953",
            "4533506778739702660383639084626571069692010901277393488174883882341066497912",
            "14523936445207359641763389972803953600701474705478950437875748846368862178807",
            "11962700467102255999055969416326709423256739554565579087170307880927509861042",
            "2264910039365652727051642338056949842496033733584751140517379287045506472810",
            "19889684800677035390159391514058316422087905364769196678613430344453618347396"
        ],
    ]
    .iter()
    .map(|vec| vec
        .iter()
        .map(|&num_str| BigInt::from_str(num_str).unwrap())
        .collect::<Vec<BigInt>>())
    .collect();
}