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
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
use crate::poseidon::ArithmeticSpongeParams;
use mina_curves::pasta::Fp;
use once_cell::sync::Lazy;

/* Generated by params.sage */

use std::str::FromStr;

fn params() -> ArithmeticSpongeParams<Fp> {
    ArithmeticSpongeParams {
        mds: vec![
            vec![
                Fp::from_str(
                    "5328350144166205084223774245058198666309664348635459768305312917086056785354",
                )
                .unwrap(),
                Fp::from_str(
                    "15214731724107930304595906373487084110291887262136882623959435918484004667388",
                )
                .unwrap(),
                Fp::from_str(
                    "22399519358931858664262538157042328690232277435337286643350379269028878354609",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10086628405675314879458652402278736459294354590428582803795166650930540770072",
                )
                .unwrap(),
                Fp::from_str(
                    "17127968360683744052278857147989507037142007029142438136689352416106177192235",
                )
                .unwrap(),
                Fp::from_str(
                    "14207324749280135281015658576564097509614634975132487654324863824516044294735",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "3059104278162906687184746935153057867173086006783171716838577369156969739687",
                )
                .unwrap(),
                Fp::from_str(
                    "16755849208683706534025643823697988418063305979108082130624352443958404325985",
                )
                .unwrap(),
                Fp::from_str(
                    "16889774624482628108075965871448623911656600744832339664842346756371603433407",
                )
                .unwrap(),
            ],
        ],
        round_constants: vec![
            vec![
                Fp::from_str(
                    "1346081094044643970582493287085428191977688221215786919106342366360741041016",
                )
                .unwrap(),
                Fp::from_str(
                    "10635969173348128974923358283368657934408577270968219574411363948927109531877",
                )
                .unwrap(),
                Fp::from_str(
                    "18431955373344919956072236142080066866861234899777299873162413437379924987003",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "5797044060651575840084283729791357462720161727701814038830889113712361837236",
                )
                .unwrap(),
                Fp::from_str(
                    "931288489507796144596974766082847744938192694315568692730730202141894005205",
                )
                .unwrap(),
                Fp::from_str(
                    "13659894470945121760517769979107966886673294523737498361566285362771110125394",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6076231707445968054305995680347976771585015308155855387339303513025362636128",
                )
                .unwrap(),
                Fp::from_str(
                    "28822740034050339685362260108484262889265034407340240070058997651710236456303",
                )
                .unwrap(),
                Fp::from_str(
                    "23420266473857869790486107029614186913447272961845992963194006142267563993493",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13753917374184785903125509246122783296344288469304898921025291716613575849357",
                )
                .unwrap(),
                Fp::from_str(
                    "22396739346703340038555577564698139382745239004673153148674304627904081092826",
                )
                .unwrap(),
                Fp::from_str(
                    "13064238335532551154986111986409392866270911640785653458047811526842088084911",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "23165923875642452719095776619341762858050322341374771345641255745672274104746",
                )
                .unwrap(),
                Fp::from_str(
                    "1876216571769482372914291210815859835162659440705283782713345335434924136736",
                )
                .unwrap(),
                Fp::from_str(
                    "25448252060136178247213604035267580231762596830634036926922217427938159849142",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2161875315509206970842862195937323600322108268401381254431163181777726747153",
                )
                .unwrap(),
                Fp::from_str(
                    "19159855698625842998331760283165907305622417625829203038229273729196960321630",
                )
                .unwrap(),
                Fp::from_str(
                    "24828563875172432296791053766778475681869974948122169083176331088266823626561",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15959479662608710141128458274961057999257961784282074767105536637788386907463",
                )
                .unwrap(),
                Fp::from_str(
                    "8006369581283017287449277389162056290714176164680299906116833200510117952858",
                )
                .unwrap(),
                Fp::from_str(
                    "18794336794618132129607701188430371953320538976527988886453665523008714542779",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19408271715954593722501381885401160867835377473312521553027032015227895029571",
                )
                .unwrap(),
                Fp::from_str(
                    "13654747284005184272412579731446984220568337794941823533879059135026064413631",
                )
                .unwrap(),
                Fp::from_str(
                    "14094055032353750931629930778481002727722804310855727808905931659115939920989",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13241818625838429282823260827177433104574315653706102174619924764342778921524",
                )
                .unwrap(),
                Fp::from_str(
                    "25709259239494174564705048436260891089407557689981668111890003079561388887725",
                )
                .unwrap(),
                Fp::from_str(
                    "26866626910239634723971078462134580196819809568632305020800296809092442642381",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "23886826350713085163238005260075062110062681905356997481925492650252417143049",
                )
                .unwrap(),
                Fp::from_str(
                    "16853602711255261520713463306790360324679500458440235992292027384928526778856",
                )
                .unwrap(),
                Fp::from_str(
                    "18444710386168488194610417945072711530390091945738595259171890487504771614189",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16896789009769903615328691751424474161656500693270070895928499575572871141439",
                )
                .unwrap(),
                Fp::from_str(
                    "23842266984616972287898037872537536999393060934879414668030219493005225085992",
                )
                .unwrap(),
                Fp::from_str(
                    "24369698563802298585444760814856330583118549706483939267059237951238240608187",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25360195173713628054110426524260405937218170863260484655473435413697869858790",
                )
                .unwrap(),
                Fp::from_str(
                    "1486437708678506228822038923353468635394979165769861487132708983207562337116",
                )
                .unwrap(),
                Fp::from_str(
                    "18653498960429911228442559598959970807723487073275324556015861725806677047150",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "18878179044241268037057256060083772636369783391816038647949347814518015576522",
                )
                .unwrap(),
                Fp::from_str(
                    "178715779905629247116805974152863592571182389085419970371289655361443016848",
                )
                .unwrap(),
                Fp::from_str(
                    "8381006794425876451998903949255801618132578446062133243427381291481465852184",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4176946262813877719206528849579392120806054050640974718891398605746592169324",
                )
                .unwrap(),
                Fp::from_str(
                    "16376345520728802444699629729684297833862527190772376028981704525651968727081",
                )
                .unwrap(),
                Fp::from_str(
                    "8399065769082251057361366626601550736334213197703006866551331927128775757919",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15435308585611812393531506745122614542196708285088622615406141986333182280857",
                )
                .unwrap(),
                Fp::from_str(
                    "4082259282787276939431186930090898350392871145699460879678141552997816391817",
                )
                .unwrap(),
                Fp::from_str(
                    "26348742719959309014730178326877937464605873211235784184917342950648457078699",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "9707631711734344681918469569872517425107158187591261754498805460753455298868",
                )
                .unwrap(),
                Fp::from_str(
                    "27910768846011709391567916011595957279088224137468948238696800459136335473132",
                )
                .unwrap(),
                Fp::from_str(
                    "20407239095656434708569263842372155762970847207558227886302782130015730063802",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "22726225412881182965250630589245572283256255052470345984553083359461473893802",
                )
                .unwrap(),
                Fp::from_str(
                    "12443967854426795490638709950679156338200426963050610832781263082981525248175",
                )
                .unwrap(),
                Fp::from_str(
                    "27102543658848146076219989119639465430524061997280788166887046421706499775415",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14427224233985680214097547669945064793149553513421479297921556194475574770861",
                )
                .unwrap(),
                Fp::from_str(
                    "22917454832925781549840198815703114840452733537799472739275668965081704937832",
                )
                .unwrap(),
                Fp::from_str(
                    "3455076056123630366063931123762198941796412458154689469887583689725886013901",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4513100023937785913596662867311227004762025658663076805918211014066645403017",
                )
                .unwrap(),
                Fp::from_str(
                    "18187619530784075723418065322038024507729605774832001333883311123910954334059",
                )
                .unwrap(),
                Fp::from_str(
                    "9447065431426150382325592560406989926365684509675374414068135115024495130938",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "3227816098015819796753427754968234889554095489076864339942014527747604603014",
                )
                .unwrap(),
                Fp::from_str(
                    "14798316759185072116520458171957899889489461918408669809912344751222514418582",
                )
                .unwrap(),
                Fp::from_str(
                    "23013904852315603905843158448056763116188801262838729536210355401378476650033",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "20979191509934291452182967564058656088941447895799901211038858159903580333267",
                )
                .unwrap(),
                Fp::from_str(
                    "20772973010251235271448378823573767262405703078344288856168565499702414379868",
                )
                .unwrap(),
                Fp::from_str(
                    "10105446427739226002497411811738001382334316505480517822035303561899927603685",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "11079074761356717003579108002319997196881121172538617046865136940931215263187",
                )
                .unwrap(),
                Fp::from_str(
                    "4693927775411489288330326150094711670434597808961717172753867514688725690438",
                )
                .unwrap(),
                Fp::from_str(
                    "18581720304902876944842830383273503265470859268712618325357902881821721540119",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "3065369948183164725765083504606321683481629263177690053939474679689088169185",
                )
                .unwrap(),
                Fp::from_str(
                    "18515622379147081456114962668688706121098539582467584736624699157043365677487",
                )
                .unwrap(),
                Fp::from_str(
                    "17563088600719312877716085528177751048248154461245613291986010180187238198006",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26199746176994924146211004840756471702409132230831594954444947705902602287290",
                )
                .unwrap(),
                Fp::from_str(
                    "7576136600627345523051497639367002272003104458453478964661395239732811642605",
                )
                .unwrap(),
                Fp::from_str(
                    "20058687874612168338994287374025378897088936171250328231848098497610185784281",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16894722532414195606958290526999761110785277556463400588047573469106594850228",
                )
                .unwrap(),
                Fp::from_str(
                    "13961730805696859614283621225672002906734926278118993580398533742874863598733",
                )
                .unwrap(),
                Fp::from_str(
                    "25256842011135514243352951950573936602906198374305137963222382546140030647211",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "18530360047537856737482157200091774590035773602620205695980247565433703032532",
                )
                .unwrap(),
                Fp::from_str(
                    "23014819965938599260086897799541446473887833964178378497976832161473586995397",
                )
                .unwrap(),
                Fp::from_str(
                    "27911426213258307990762460361663504655967992659180759140364181941291843542489",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "1067338118323302017358103178057182291035336430305886255160210378977812067042",
                )
                .unwrap(),
                Fp::from_str(
                    "17219092885519007424608854460610388434712113621163885775309496940189894433620",
                )
                .unwrap(),
                Fp::from_str(
                    "16432921127615937542183846559291144733339643093361323334499888895135356545408",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28608851042959977114787048070153637607786033079364369200270218128830983558707",
                )
                .unwrap(),
                Fp::from_str(
                    "10121629780013165888398831090128011045011860641816380162950736555305748332191",
                )
                .unwrap(),
                Fp::from_str(
                    "2348036340843128746981122630521268144839343500596932561106759754644596320722",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16619881370356823200358060093334065394764987467483650323706184068451904156452",
                )
                .unwrap(),
                Fp::from_str(
                    "2302436627861989749837563733434625231689351276818486757748445924305258835336",
                )
                .unwrap(),
                Fp::from_str(
                    "27514536540953539473280001431110316405453388911725550380123851609652679788049",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "9459277727420672604737117687200019308525004979918488827092207438664125039815",
                )
                .unwrap(),
                Fp::from_str(
                    "23425670740358068509956137586663046763224562225383386726193078231034380596217",
                )
                .unwrap(),
                Fp::from_str(
                    "7641885067011661443791509688937280323563328029517832788240965464798835873658",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "9579420382351699601929202663836555665702024548386778299996961509578687980280",
                )
                .unwrap(),
                Fp::from_str(
                    "18513671386572584282611234979588379470994484682444053600751415262497237017703",
                )
                .unwrap(),
                Fp::from_str(
                    "24923151431234706142737221165378041700050312199585085101919834422744926421604",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21131320841803068139502705966375283830095161079635803028011171241658723560073",
                )
                .unwrap(),
                Fp::from_str(
                    "19208476595309656066589572658712717685014329237892885950958199953675225096566",
                )
                .unwrap(),
                Fp::from_str(
                    "24023185216737416080949689106968568821656545490748664446389634158498624398204",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "7510552996848634969347937904645640209946785877619890235458182993413526028718",
                )
                .unwrap(),
                Fp::from_str(
                    "3694415017252995094553868781762548289196990492336482360084813900937464847638",
                )
                .unwrap(),
                Fp::from_str(
                    "9219021070107873028263141554048987416559034633883158827414043929220388719352",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "5058327241234443421111591959922712922949620710493120384930391763032694640881",
                )
                .unwrap(),
                Fp::from_str(
                    "13148252221647574076185511663661016015859769210867362839817254885265598775418",
                )
                .unwrap(),
                Fp::from_str(
                    "15186790492457240277904880519227706403545816456632095870015828239411033220638",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2775942914650502409705888572245750999561427024488403026572311267798009048466",
                )
                .unwrap(),
                Fp::from_str(
                    "6277965230841030155341171319927732572492215818164736949144854827643964384893",
                )
                .unwrap(),
                Fp::from_str(
                    "24144742149845235561087977558785057713814731737434473021812189457617252043745",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25789129719327437503403457598813971826156253950521984610569937361506914183550",
                )
                .unwrap(),
                Fp::from_str(
                    "21500534320778995945845999974779950304491968082325255355181901574840373597824",
                )
                .unwrap(),
                Fp::from_str(
                    "17185359848218837018503091932245529880546896465437232425673134558221638601375",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "12253896579078110143384981818031883112606762215016553811786428215758384195713",
                )
                .unwrap(),
                Fp::from_str(
                    "12956658260778456372481429232709881794962204180363200699121804724437678625542",
                )
                .unwrap(),
                Fp::from_str(
                    "3023603786717368708677300377055384474816569333060487675635618249403832078921",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4186492855716808019562789862833898284927736051002588766326482010810259565130",
                )
                .unwrap(),
                Fp::from_str(
                    "4263939782228419774639068267872291539552889472311225829898746091327730032923",
                )
                .unwrap(),
                Fp::from_str(
                    "24068843626280451423530509388397151179174104901782990365720205643492047328816",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14564937827374621319716285527475223392664010281568256859627186463065876537730",
                )
                .unwrap(),
                Fp::from_str(
                    "28367596550218705971881480694115935470211319172596432472834880507822452927283",
                )
                .unwrap(),
                Fp::from_str(
                    "28712267437482356021504544448225827500268648754270274754623969882031853409874",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4542596163006916397403529184431773692747461300288194722982487051249951403191",
                )
                .unwrap(),
                Fp::from_str(
                    "2530461821259252672899452671728393208543894014761816288817584587718369998371",
                )
                .unwrap(),
                Fp::from_str(
                    "12886393063011539390567049190923398676964700147222878509238966758839020897414",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21593897590707514492037699253654745501762191795293908682495110982956631870528",
                )
                .unwrap(),
                Fp::from_str(
                    "13233005790593128135480716846773978578237145313006994631606474472023504621256",
                )
                .unwrap(),
                Fp::from_str(
                    "21621863098292803642478350494794106282518362577273973885587684567452726939909",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26068620073001644720969640099644251616742620988609091568084348314770436291745",
                )
                .unwrap(),
                Fp::from_str(
                    "18248589586787935500122854210401321966459127818593446990365211078521058875685",
                )
                .unwrap(),
                Fp::from_str(
                    "21247134484403265289037859533347798468858819117600251067578809852124865474448",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "7947383127165915366383984718363902897504221803836013123394785749404572432524",
                )
                .unwrap(),
                Fp::from_str(
                    "22173041014621867335598230447618036223462011647696367239478182269973488867154",
                )
                .unwrap(),
                Fp::from_str(
                    "16773227734018849308448505860847939069870370055633571816925675705713088305139",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10708707957340055662073314227607620808612686977606082605219160019699644826999",
                )
                .unwrap(),
                Fp::from_str(
                    "21249897193797038261479589555720746994050836195265348846222835266344091683000",
                )
                .unwrap(),
                Fp::from_str(
                    "12581195059139097540117398803363514148192715293133623516709277290477633379593",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19779599816866992123290302397082614570282926215253589712189610064229996603178",
                )
                .unwrap(),
                Fp::from_str(
                    "21749216503901548676985371189807470207364320167486559936962401093285243029177",
                )
                .unwrap(),
                Fp::from_str(
                    "17600045923623503357380202389718735904174992978547372448837488832457719009224",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2732872979548118117758016335601225525660858727422778256671975055129965858636",
                )
                .unwrap(),
                Fp::from_str(
                    "13703031005128062046175331918702218558750713240446179585947851411173844703597",
                )
                .unwrap(),
                Fp::from_str(
                    "28447710105386636841938034820015573492556750872924193415447818187228356409281",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28539960355005748517007309210788803416171161412204526246799800716567376494244",
                )
                .unwrap(),
                Fp::from_str(
                    "21329318452221893900731030722137844458345358926323127858742388587761302609863",
                )
                .unwrap(),
                Fp::from_str(
                    "28135302149599894709369178097439582767613940517471323224020113411362601191873",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "24980774120400248734054527936006392540889095705961960837980443629260392758683",
                )
                .unwrap(),
                Fp::from_str(
                    "20339911045808632098936066397942175169549806052128535543540543556255197716643",
                )
                .unwrap(),
                Fp::from_str(
                    "7929293103930252545581851978492699598413941396422930641071359388697302362494",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8911092207145893152276662096451247820054843777071569723455408545101628926203",
                )
                .unwrap(),
                Fp::from_str(
                    "19648860643145256523615441075182036100116634560394529500146405733687718224516",
                )
                .unwrap(),
                Fp::from_str(
                    "14635387208623683806428528837466762532853903031263830054986064902455379735903",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "11555212214346132926966321609673228184079851030522218543981385635403167028692",
                )
                .unwrap(),
                Fp::from_str(
                    "20896918157639814425520058178561910811657326967880217845710779511927814874973",
                )
                .unwrap(),
                Fp::from_str(
                    "4650158165912007049140499755153804318686705949436165235742106170124284287326",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13880660273492757167295696447853232191657893303250187467329180558670697369810",
                )
                .unwrap(),
                Fp::from_str(
                    "8043529172463774320604378774840863923445982272478964686447801046272917236836",
                )
                .unwrap(),
                Fp::from_str(
                    "2134399296482715903442913099374581981696436050603410080564843555725771329441",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "27320952903412641133501507962185246982787769547770982814240701526492601978122",
                )
                .unwrap(),
                Fp::from_str(
                    "23417491374379751329394424924400186404791519133465537872457405970098902747611",
                )
                .unwrap(),
                Fp::from_str(
                    "17612427354278346772575179176139417348059847375297761006336024476146551185903",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10710998507064742997612080847223278109404482930427999113323732519626499166548",
                )
                .unwrap(),
                Fp::from_str(
                    "14958094513415797513745395709487730603918953350067504982704138489305723550923",
                )
                .unwrap(),
                Fp::from_str(
                    "24096319595904213497633343966229498735553590589105811393277073274927955202995",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17983724131200292654039765185049138356840415443160477259330748730019147254309",
                )
                .unwrap(),
                Fp::from_str(
                    "17598096800487588874709548646068838880468456205252324677357706597166777506441",
                )
                .unwrap(),
                Fp::from_str(
                    "27420647821110229619898200875848631488422182349567475956209153112306555222281",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "448538544835457571662601142415301047108854812427100562339376187510452313026",
                )
                .unwrap(),
                Fp::from_str(
                    "23494184556634922103535803143214434479598067155171780264810485708203176455201",
                )
                .unwrap(),
                Fp::from_str(
                    "22626342941879801989161990529511235538216563009907378573817996229389756621777",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26128268137723417163973860961686381960826033145738852158792607959175787222856",
                )
                .unwrap(),
                Fp::from_str(
                    "20225791828042873305317281581105429726352058325970107209484198122707862156597",
                )
                .unwrap(),
                Fp::from_str(
                    "7538871133759632802857159609785118198934349221046986784429069814655215585732",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26184554861259642274153262777073624024579929401668865520166966302070394487366",
                )
                .unwrap(),
                Fp::from_str(
                    "28755259264665180745537307265993667261709206143628938749669440804401623257679",
                )
                .unwrap(),
                Fp::from_str(
                    "11896066093033549470312328497237649508068258723531931099214795928200015717321",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21657721599978732693249012287058163532690942515202465984736373311077240614059",
                )
                .unwrap(),
                Fp::from_str(
                    "9214914097169852704753116653702415951907628005986883140609006971322091003693",
                )
                .unwrap(),
                Fp::from_str(
                    "18710111680849814325169297240208687402588261569152088592693815711857504371037",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6813635166770764528979084175325709935892248249948967889926276426090222296643",
                )
                .unwrap(),
                Fp::from_str(
                    "20546585456429436268067726231902751119458200511988152296570567167520382569278",
                )
                .unwrap(),
                Fp::from_str(
                    "20087466019194902429054761607398988292568594301671509779549344754172952693871",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28185105286740691904534067831357491310995891986363455251895371651360605333143",
                )
                .unwrap(),
                Fp::from_str(
                    "10108348212894231193041286244259038275269464277821588425688314560368589986063",
                )
                .unwrap(),
                Fp::from_str(
                    "11433633215392393209829215018579238412423821563056156785641278458497271271546",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "27870881917195016999862550657996865268956893566432995492427618003637597051321",
                )
                .unwrap(),
                Fp::from_str(
                    "102309803677783876701097881491240456320211833502658383473112057006867019389",
                )
                .unwrap(),
                Fp::from_str(
                    "22844040227595875612525628393174357057929113317578127744718774517498324646590",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "18364790233947478619325319418813215212267974311771564959136180502266118026133",
                )
                .unwrap(),
                Fp::from_str(
                    "2480624341921718230432383518425561514824501138863702825916674641657321180841",
                )
                .unwrap(),
                Fp::from_str(
                    "16778939567530361665956758171503829349658551798564323167725356065198936433124",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "11947564511486966895926950599696532964589539443187518177489990556481125699966",
                )
                .unwrap(),
                Fp::from_str(
                    "3133187646540385483015602955087323554103587039123577645562801570574691666057",
                )
                .unwrap(),
                Fp::from_str(
                    "27704797101265438206569218421707753788081674727344603874614391656565567951541",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "13001484695584753475562184349533365512515447041450030471627087395341039487710",
                )
                .unwrap(),
                Fp::from_str(
                    "477322000667279478600757543806155989948171541982639893984064422067850617496",
                )
                .unwrap(),
                Fp::from_str(
                    "13913755821658634147813329813115566967428755223601185963529801459396673113438",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16621869429023470107454028095846067937827722393398508604914831452950874033411",
                )
                .unwrap(),
                Fp::from_str(
                    "21755744236927410239079501831014076529931327263341620300431356747367343619046",
                )
                .unwrap(),
                Fp::from_str(
                    "26538666591151124505694487799121414506088199961481579132019627484065014831180",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "3066480818457008068617042549071052338581291837882909165666223566402713429090",
                )
                .unwrap(),
                Fp::from_str(
                    "16182268213934119294035309949459684472027705439038023775276926916166831108357",
                )
                .unwrap(),
                Fp::from_str(
                    "28907604876608422892474268478706783033050951245339691569015166507728369585190",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "27973960109508292680965426133498827831691369851701664449575719912259359998113",
                )
                .unwrap(),
                Fp::from_str(
                    "1456924360278399121996742356757866616312146358469991014696110099534285524446",
                )
                .unwrap(),
                Fp::from_str(
                    "8234248752911525485438611255163504976087091103090603316695312869292347668495",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8716078950082339630026654067608811496722305720644485560320987802533380421009",
                )
                .unwrap(),
                Fp::from_str(
                    "19016744645809919602099479306503354923553336014593353020688463619133130053825",
                )
                .unwrap(),
                Fp::from_str(
                    "24379650661051444982012238084495990858827340608012118841005379796362233056432",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2245379544097631382062919677963998259142792890502492881341386639439507471783",
                )
                .unwrap(),
                Fp::from_str(
                    "28788137434161061988371619554419440748189388934884757179010092973102292086583",
                )
                .unwrap(),
                Fp::from_str(
                    "7187000185648741287953633167647835668543536354944774631102766873251849991238",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "18319349500538500800225762827448369057030532278398270164660609327776487168142",
                )
                .unwrap(),
                Fp::from_str(
                    "2622932985948021877314529887962683530522545893985767148345336304947201715671",
                )
                .unwrap(),
                Fp::from_str(
                    "13805188629797792210337544360632964855143280581052079479249966961215582531026",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "27457600993464082637917106210690168172469473943609357897393615707457194410878",
                )
                .unwrap(),
                Fp::from_str(
                    "15448646156961779103834447043970817898237835202826003934642165760908058355399",
                )
                .unwrap(),
                Fp::from_str(
                    "9396792545729486882231669677795667529746274932273033601723318032992363022062",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "9927877141952679457141759789181418464292082444806533413864151258248124544859",
                )
                .unwrap(),
                Fp::from_str(
                    "23827901395971835838179844085051957393677906360196119690926757794561937573142",
                )
                .unwrap(),
                Fp::from_str(
                    "3273544693673216914876067527455588276979859627093391584406340272737391174619",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "19571510438350300564152393820251652609646082150148656806391655428002614034315",
                )
                .unwrap(),
                Fp::from_str(
                    "4458840243585913642400750597703353770666314833058197517675446022682775625834",
                )
                .unwrap(),
                Fp::from_str(
                    "6452218213610300363069953741424106105609715382419342511693148495219793324457",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14558167930891460678441266912176752652821641543245953113671886345167213541771",
                )
                .unwrap(),
                Fp::from_str(
                    "10650967986920075561478528461783351160938460620955779955379459848889204404950",
                )
                .unwrap(),
                Fp::from_str(
                    "19990009778942542934049216419052172134625404062770188357110708518621145688588",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26855242974447190235826233682457047761532515293146087151296725996543442567035",
                )
                .unwrap(),
                Fp::from_str(
                    "22785340043356532865086769889360674409753343398766563441587096485751538658065",
                )
                .unwrap(),
                Fp::from_str(
                    "28603049427449348335651629195385434188071937908693764500052489540779792538285",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "20545812864989828913452616721240947168977365844984763819184465128164378967167",
                )
                .unwrap(),
                Fp::from_str(
                    "23234068381345797209897730226956922073109641728569353961504167817770340037954",
                )
                .unwrap(),
                Fp::from_str(
                    "26031714567641615877877111172701145299483019910006153132858512509897185854695",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "9512221744061419790435674197238913998387834650389922233458121639503195504983",
                )
                .unwrap(),
                Fp::from_str(
                    "12587458000103271975978240683793268604398305885278203470492658961734100340536",
                )
                .unwrap(),
                Fp::from_str(
                    "9670291694005369437277651504604785512303147991710650505302465204429311229197",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "26995526763045548800439747262386290359229145489609341602564040676717570935439",
                )
                .unwrap(),
                Fp::from_str(
                    "23742712112104280264401317024221734961713400615669958343926511931219510484675",
                )
                .unwrap(),
                Fp::from_str(
                    "27931469778579449247589315744656633392873808631802461175539563849884447358271",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "20669006894143187877081688942720159738269397552445286314270368345994751825389",
                )
                .unwrap(),
                Fp::from_str(
                    "26891772301075275370472640177651637211280740381619976926886106618375467277414",
                )
                .unwrap(),
                Fp::from_str(
                    "28387986011980449959047232529988203397251084614417760995257355718700961696092",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6579105010484741592730389416372694666279917604793318157514380025250233913402",
                )
                .unwrap(),
                Fp::from_str(
                    "11007035767869292700964744408562802781669930023548892567535397874932420229930",
                )
                .unwrap(),
                Fp::from_str(
                    "981148366863906885900456473323410468923514528856216824044152942069412627408",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "22213671088722307302576907504985884923571642958053627659840326928319445671280",
                )
                .unwrap(),
                Fp::from_str(
                    "1318836216310789598614608105109389429335273432455224127576823891011367206122",
                )
                .unwrap(),
                Fp::from_str(
                    "25586582796990779718352441955439394949194222626688223867952982491529809559257",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "4923739488579452777913681531125585976446366144127161879759262506690369040090",
                )
                .unwrap(),
                Fp::from_str(
                    "23505612338866210737103599484620591026802005128655081877133994175016351514827",
                )
                .unwrap(),
                Fp::from_str(
                    "323887003859465324514901860965142186539600668250760639664361851354147799637",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10198923064967306784017949469108033682156920551672348936591491217255268794658",
                )
                .unwrap(),
                Fp::from_str(
                    "9593680688139131432883442351722730169325112619984238956948153423155998917175",
                )
                .unwrap(),
                Fp::from_str(
                    "27027988263960602112273050725720071355535922812577299127302015348825197871870",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "14419883951157390867695097127684346981136020111885301573583640959136319507752",
                )
                .unwrap(),
                Fp::from_str(
                    "5104414988075833278683649298543440897371415916271358703850262680431809374355",
                )
                .unwrap(),
                Fp::from_str(
                    "24739655595299332818980677669648719986462429574612913501586844601377825836782",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "28522818684103966731129743408029731246564480741348128436668680764518115102581",
                )
                .unwrap(),
                Fp::from_str(
                    "21520350704208288978690888796633940487888044365108767319141211249242880355961",
                )
                .unwrap(),
                Fp::from_str(
                    "17391005598311948834360476853940353239444383292422171321575043660157438608537",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "15367833944125677011173327826570204350687925236257190051755087781855930646142",
                )
                .unwrap(),
                Fp::from_str(
                    "21715073802090413714601069529558707101797361591183718695054701329871284436172",
                )
                .unwrap(),
                Fp::from_str(
                    "8994093285353831008525761670339342200997965950202092028313103110478252647618",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "8370824693889782161629525898408725452177580012023459750897244954935682978671",
                )
                .unwrap(),
                Fp::from_str(
                    "16123253540853556024347150096993154278773652905830608614979368087152152043083",
                )
                .unwrap(),
                Fp::from_str(
                    "3535380953353495025888433493640531836449699255364366295870140701379497967423",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6954518484798178646508803478426114267143074508396663899281411171704702743829",
                )
                .unwrap(),
                Fp::from_str(
                    "28903134801897070276701950388422104654018369750191967384271618837091859516942",
                )
                .unwrap(),
                Fp::from_str(
                    "20872505363530172448468374920196608937030884647150175861507911076568784054834",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "6902861581703501105786795670676641959401710346423594578401934671029571262513",
                )
                .unwrap(),
                Fp::from_str(
                    "10124161387604183369443890585742198433184078889862870469507328332805848271064",
                )
                .unwrap(),
                Fp::from_str(
                    "10488004060799269337071647841224034919633445750252076195310163972966405029030",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "507704911991278613147490289466075160618843900088471236546244459176211783848",
                )
                .unwrap(),
                Fp::from_str(
                    "7252739745607302667257774481690407709040936359589867974787811552896597703097",
                )
                .unwrap(),
                Fp::from_str(
                    "23278073497974004442836030100920157527910770509761505828038443336325476654930",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "22766285055433137793164317120096790621982728188995759745859222009100808389090",
                )
                .unwrap(),
                Fp::from_str(
                    "23129058299483468195787339200845749049960038336751758017949899311636830205152",
                )
                .unwrap(),
                Fp::from_str(
                    "16665333681978951552434356320651834889869437822496200946959897681307959400425",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "12145699202182574939376505075528461451757079041659894988784442097333218352048",
                )
                .unwrap(),
                Fp::from_str(
                    "26340666275844437932755852805027863696219004039301187587209926587657008948704",
                )
                .unwrap(),
                Fp::from_str(
                    "19208771804191839410002226941825269105677187954811130189835856228258013753206",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "21957102494792377508237608216278079874536155315851198461024084071231867104453",
                )
                .unwrap(),
                Fp::from_str(
                    "6933367436450995525851693784691226222726503560893470094614235356287049091852",
                )
                .unwrap(),
                Fp::from_str(
                    "15707767379191450768747057313641112321773921923533732633534831270357733757271",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "27661963645951389261638591385668507557739541354225916772550248746235106571003",
                )
                .unwrap(),
                Fp::from_str(
                    "19699458096897937575096494582288688995241392471402204995195057374756282223421",
                )
                .unwrap(),
                Fp::from_str(
                    "902873385171181344315871113842580653512118892800584003934454469411716098791",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17184835876565576154014372215369798779520343573944211203710896053325717110660",
                )
                .unwrap(),
                Fp::from_str(
                    "664657295519303589036289440053175741110032988007278988577620229144220576240",
                )
                .unwrap(),
                Fp::from_str(
                    "10803972669668998371638869508774217165881281885838503958226056357738500321396",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "2329846733754251453632375727999372856194157027336139087170310553870624325301",
                )
                .unwrap(),
                Fp::from_str(
                    "14139944357035048486675740400655356660678187875721949218090128899571575479791",
                )
                .unwrap(),
                Fp::from_str(
                    "18368148273419807418427674359327442879484531833435081951870369910704734685351",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "10480273665080572189328459165704340191901489646067580012574464138528963201459",
                )
                .unwrap(),
                Fp::from_str(
                    "21773636700078124500346009061678153597323236568110076029811348966753228682835",
                )
                .unwrap(),
                Fp::from_str(
                    "18184268307211429260956076021417309535471438696101133218049142374847151474905",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "25957533025669311312382992376854735734491934602484112256289764602447226406852",
                )
                .unwrap(),
                Fp::from_str(
                    "22223261506176684934865714490719116745135417403915426392159449667435294570739",
                )
                .unwrap(),
                Fp::from_str(
                    "22937309162832499167063076416585504361695925730111272512450449042837586253575",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "16956181785481598286719868503945127919581091625126206673934113115358441284347",
                )
                .unwrap(),
                Fp::from_str(
                    "8497782777197814773596870810881707148695901557289856910220737358078100998191",
                )
                .unwrap(),
                Fp::from_str(
                    "21135503731586600979470064722475007625236017670426339278983640892218291297054",
                )
                .unwrap(),
            ],
            vec![
                Fp::from_str(
                    "17809297343844488723046665739910571149089769215421130894378638450427880983923",
                )
                .unwrap(),
                Fp::from_str(
                    "72435395972188389387093550708873189001876361107443937983754878061522372356",
                )
                .unwrap(),
                Fp::from_str(
                    "7511239878692099209014947248389283109997289411550315391143819429585903287870",
                )
                .unwrap(),
            ],
        ],
    }
}

/// the legacy fp sponge params
pub fn static_params() -> &'static ArithmeticSpongeParams<Fp> {
    static PARAMS: Lazy<ArithmeticSpongeParams<Fp>> = Lazy::new(params);
    &PARAMS
}