llvm/polly/lib/External/isl/imath/tests/invmod.tc

# Modular inverse tests (no undefined cases)

invmod:-25,37,=1:34
invmod:-25,37,=2:34
invmod:-5,11,0:2
invmod:22153,514,0:383
invmod:6521,442674856,0:28104185
invmod:83,8990271,0:2924546
invmod:643111,73,0:23
invmod:6756751,5,0:1
invmod:4310757,655173482,0:578093623
invmod:67658,37989,0:29720
invmod:140,456739,0:394753
invmod:8363,2152,0:1827
invmod:6067,5554,0:1061
invmod:134706247,840181,0:713245
invmod:581,8525,0:3096
invmod:991357,2885,0:2243
invmod:9820551,53210,0:5931
invmod:366,3905684875,0:1846129736
invmod:4582993,6971170,0:6590887
invmod:4261,5,0:1
invmod:2089582769,72370,0:34059
invmod:1385486874,274843,0:100773
invmod:2496082853,33877892272,0:25370727693
invmod:29,77842490059,0:18789566566
invmod:160735723,837433,0:536522
invmod:33,92874448,0:39401281
invmod:17,801910,0:518883
invmod:1243,47177637,0:28769629
invmod:5553626,17225545633,0:4551550593
invmod:493375452,7744903,=1:5021402
invmod:505,75126821802,0:15917960263
invmod:8082104357,6160949,0:64657
invmod:4793,63911,0:44243
invmod:846,4453189,0:689560
invmod:5475,596527544653,0:311392826049
invmod:239,28531,0:9192
invmod:71044,91829,0:4016
invmod:2923052473,673,0:362
invmod:40113371,396,0:23
invmod:799762079,671587,0:280457
invmod:6137106,72083,0:61684
invmod:2663959394312,7297021,0:6396652
invmod:16314,437519,0:121837
invmod:5409920801970,224827,0:146917
invmod:1701531745,565383113204,0:392963934477
invmod:6702285244447,4818940,0:3886523
invmod:3853762105973,7986397045899,0:4649165556065
invmod:83203877,17340640,=2:1474413
invmod:349,3756,0:1765
invmod:513237329,6426867498383,0:5161899757325
invmod:218717486055,4764721,0:3629102
invmod:5697807566182,23837,0:17052
invmod:640499,3706953268445,0:862821487954
invmod:74365895080186,37008968409199,0:35062440514236
invmod:5447180,17521,0:6484
invmod:87747,309211711,0:64843296
invmod:65052052,72604563,0:26029330
invmod:1200121,9944190318201,=2:5066700447199
invmod:487321393172,41829673981,=1:18173847806
invmod:3762709971997,877939264220,=1:575680399733
invmod:78323027,3830390625030,0:1772587463183
invmod:1324701179,57116535299,0:4144192403
invmod:663267333048769,9458708,0:1445501
invmod:925655,3262585612,0:2494330419
invmod:809760047,253746243247,0:109619303279
invmod:6962181619,44237293531835,0:34688460868884
invmod:32137986591347,450053710,0:207388563
invmod:171464220392,1821508963,0:85136287
invmod:4866698,1559814931871,0:875727775988
invmod:83084876,852948279591,=2:67614759050
invmod:3087717,3533808897939368,0:3296313572604861
invmod:685072,47729803,0:7913327
invmod:3403087579775453,307599045,0:85279967
invmod:618837304,2026545,0:580654
invmod:1617142737,5396772102241213,0:309489822606449
invmod:398279389,695426305815576,0:548019512309869
invmod:807807859,101277481,0:1799573
invmod:4399921090,93999639721573,0:23138878622757
invmod:6198378859,5720311022,0:2650981593
invmod:86572714,9776668159093959,0:99027417792355
invmod:1106685402600,781883021,0:593993010
invmod:788429239716,54846845,0:23729486
invmod:26682164884969,84892199507532,0:38639429314105
invmod:490223409,87336215488172224,0:60928799099783953
invmod:11687153,155174158,0:112979329
invmod:81995673521,1680666567,0:4778198
invmod:36278417230108,2563749243683,0:97972077091
invmod:81100161947491318,626490251,0:10036586
invmod:84353708437,789691774074278,0:384046667492909
invmod:4784222527,220196213,0:137693182
invmod:656338347,17114903662,0:2025727201
invmod:205944554689,55544669634,0:45790392391
invmod:58311406949710,684448841,0:398362627
invmod:2984553893,39836508385650164,0:23063415225053961
invmod:1226833387651,868339671575144482,0:861301708657625181
invmod:7850491405,3995878481964,0:222583321669
invmod:60187945992,93467753554255,0:39782639687763
invmod:26790048589,54188485741,0:37088225013
invmod:2047388699,2277281699,0:1326800159
invmod:437698007378203709,87810457123843238,0:45519261037663357
invmod:10176318725,798739962893,0:680424092570
invmod:784178983329613758,151005933385,0:62880260387
invmod:774192548697746,10018080225753177,0:9683250774295598
invmod:726085395694283800,277010088622579,0:180332658128036
invmod:734218324557247853,1620310233702,0:916743102467
invmod:707389886770553113,418168493503742,0:189385161021501
invmod:171716270659493,2040489403879802122,0:1953367125622896751
invmod:78774439204,843419490844271841,0:461564113792074643
invmod:9092444912687,92042830376149639,0:47447717686388633
invmod:61162406254,726431645806031683,0:276675014746837850
invmod:6502138975909229,1737018911640,0:657596399549
invmod:87574684954665,78519506900538949759,0:47230364038284735522
invmod:1306210408858148,134301015531,0:130837017359
invmod:44107140793537552339,77941696100292187182,0:44195935179151712467
invmod:67019007414976,320349107407,0:230029544613
invmod:251668932025135,35962140459304117641,0:27454542509813399095
invmod:1960384563191744911,414832971260173594,0:324345091445220853
invmod:9693842669955456325,3433846821305106979,0:3209295184025178668
invmod:95824904457431,207730473678560854,0:115346241869098615
invmod:8243018284897799671,54774169173707248,0:44653415179102455
invmod:311780668918,56602194650033,0:19477344474056
invmod:5901525417230160,6175539028945276481,0:2734302477909765310
invmod:15817645817088013342,83873087573263156355,0:40986420565770894283
invmod:2776285597517168189,3599586054083,0:1736805497387
invmod:5082710450857887,9056726269284017335,0:4011503044106438893
invmod:8584682476237466436,7357902067222453540607,0:5765479814487665631684
invmod:2319480092078509424,6781626293282491,0:6716281365540188
invmod:1240939184380232105,937916010642767528344,0:266041850377015782033
invmod:658085025934773092927,87790861684417147140,0:36756492918534162863
invmod:2569452374055474,1282307723894094781,0:817830828946766758
invmod:888631770342009119641,963322788372149745005,0:58576054803607756901
invmod:89415261698482,94033558717297,0:55696542331400
invmod:56380027660316644352588,35652220511128407,0:2604464463341384
invmod:996226476453670075,45399567279611724302531,0:4432450575006272604766
invmod:34615237368338359171,8816907924734450,0:7867417936877631
invmod:57100661310425224095499,80123941311371854,0:35581152205723201
invmod:4003341194576048121,875086915466219,0:805682679112747
invmod:6669592405841477476717,4551036259229300,0:1731901161660553
invmod:4899954396030393,8249234915987429715052,0:8042076059164143158753
invmod:457015587799729799209,94904436585339172647,0:67495506193470607315
invmod:2416330080921791,12841205070842866551072,0:9627123487316001173279
invmod:315334615429521629,57080600687534315852534,0:35876106943989391629797
invmod:245635836236733543965,350204895578119,0:266548953036562
invmod:534172301537220853627465,54572957533260480823618,0:28391508956926418431025
invmod:64835058866700508778320,82305874730776723,0:57154164927574349
invmod:2935419197344029519,38389371660425629010,0:28166170186967145769
invmod:3817779121449271,177996364073619,0:33676152326515
invmod:738146746050725,4141892900866715689963,0:1939330976850898748447
invmod:92817796396830036287569,23833760274805751,0:18027905863154323
invmod:324768538678274222,672713761279277469419167,0:179185315765267484078532
invmod:145806963849046841647,254534976684286765771,0:200530074654889210574
invmod:5843892547087945,8037935722129342683168,0:4622521916530352817625
invmod:635350174582720198578,895650784125257583255317,0:608770468357452782491563
invmod:64902256585483042893,64861417659113483501885,0:48500544464636732858792
invmod:1348003478873768067340578,79797413707905564041741,0:40891858728897888244861
invmod:6267734989419158151778,3802309231789144649797859,0:283176065685623872919005
invmod:3615002399473406,3318504485101385132081323,0:2767667426638532783172948
invmod:899009032038735494294979,792084588352351084,0:424508678737216543
invmod:81206746001376489750557,7237607374878187597720,0:1600326671975281670573
invmod:3627972699304722008437199,5520898889538066465900,0:2272155478759642709699
invmod:34685989123390710817647,6655359456977349621184,0:2132453240661862741327
invmod:7144620105437275474852,753995169282415124087,0:275860832898605149106
invmod:3535338302168469766025701,5721768567217856428,0:1398947754214548293
invmod:966210500401822916283782,66395891256125996529,0:10363406607924246032
invmod:5107776515340409,616676046831960893161433,0:328705736461746618977486
invmod:205573655301723270437,35922475780693975,0:13536061393525448
invmod:6678162870767249806,72542902715331741208361,0:27163420735919994491369
invmod:4198363950348197654359,656021938174219663877448,0:30249336864266481152527
invmod:6624293151166291066603,935090767412780504,0:703056406859110987
invmod:1425474699733426865447,74057791800633068553,0:32399215003249997555
invmod:535428418244353401,5758069448318181075415,0:651913765960044782491
invmod:511900281901325868358066640,7525380451505858160279157,0:4065406882222502194971660
invmod:212919955640465965,878153960566548562,0:662636940932888511
invmod:889569596018809758462291211,81473326768558522502336,0:56487291469860004699555
invmod:443144861277824063183398,3761174124237053075,0:3604887025386113137
invmod:33394484114211334386,72967632167182065995369,0:31523450321558696309323
invmod:4146649809313089447250,2358753923413902348191,0:2114494919004119612967
invmod:9887121613180137575733557,461028287216014552,0:243298503783102749
invmod:97465366227467312864072367,488220214874854052,0:130500775756515095
invmod:19292649676011135522471,7877659035660734746,0:283664033368712393
invmod:88902959369842150471660679,458945796034863505452,0:116241488588017347323
invmod:1839945988509816044751,9750948399412779544,0:6294451275142512167
invmod:9857520075588286024975851,1918199730912356922553,0:1407196181358170021243
invmod:98092461637270194063,69938396621942574346694,0:39897238269802969068339
invmod:219033411512598606789840689,795134880363756976388,0:639110818118499283141
invmod:88186459451009468808509156,931160442943017676802173071,0:629562198515766072504373649
invmod:9710794978083575389221590569,4251433051225510685,0:1014964735988867489
invmod:8101415155618280845453190902,1531876453912452699591,0:368176555527134025784
invmod:29409670089331883811,535811823788496989270023400,0:370280198672135017584348691
invmod:8305842606005328583,9579564753339003236281695,0:5722440512759901640334872
invmod:39386484402035672640779147,405797130275770630884183427,0:110208599835163794381201071
invmod:832687365793006297742,184982557537022296058374571,0:83904068232925523197663651
invmod:6553207532807060406664,502238468947067021963,0:454270228642816251641
invmod:37454379370943067757286870211,36494426305368965154254726536,0:33638650562651500684923138787
invmod:38605483438466601679,682239274139689477361679,0:13199577887729473047769
invmod:7965022961827711681795,2285716672004926097772197,0:2122955484406134178638446
invmod:300057798344833538558206311,8931778125815914295,0:6565813118197443911
invmod:324842828083012251597681011,187662727615575337969,0:123961367799983618478
invmod:59548842983097072068081,529556931168692661765381,0:204382555679859518219042
invmod:876100791904547219529602,984558128732533432702173965429,0:90974750030008269191789684241
invmod:412262036467011789370687,7642721479883866583632505,0:2279185286560398311684903
invmod:35558590466031758855977117,887974042467941992656,0:704625358717245867829
invmod:626663442467211390440132060640,1374148771090265524803717173,0:590755849649898431023419435
invmod:85901909124840045452734003634,27175621479815508400005,0:6884774470049680531679
invmod:4803896245161574921869066442,515522173785247100331641258677,0:82575699585005426552163954975
invmod:30894573328276878531856,4087591712675305723294627,0:3493627083082495776432430
invmod:9141841986580679278669126,505635384209785163519211124141,0:336188649744514864135515371530
invmod:188695176591763873562433787,661611817437909433157465,0:375067540836983193116438
invmod:241487793644307094737649980023,4603295709537644102260078209,0:1875185676154036094527511246
invmod:5293130391697702045129223682241,4410288170386013446930,0:3281121803360293450491
invmod:6033846664871710576440686677569,96946807752243502281276550,0:45266733495357578832984479
invmod:89038378306924494551626,95628444614978025043615,0:23786747307100516932196
invmod:12710922165960068258466731689,4790016424576553135438840,0:1207752742860172910912249
invmod:2735034594918378899070448537355,1893682211859850854604,0:435685035552133636619
invmod:68329358155371632083140828250982,6288770840498808006152991055,0:5931193047490714028593816373
invmod:83897752529920362009921,66649056389057335553727631393,0:43268302813732520149524641842
invmod:9689473529426673026778331,88076063449762644474294178,0:68554034321312192241642365
invmod:73977485020743016621210217010220,53253046617921140492481,0:34299048109456536013621
invmod:9682622686213510676332035159913,126726573785394345551110507947,0:87562143297844604196976477132
invmod:5131707842034728461484683196411,9833933722624780748771816760,0:7636914556132154008767009131
invmod:622466933719692949758353,8720875070568727490840986966,0:2243063168207109573811220613
invmod:371914469040335929323957821,29979763825336998478908474,0:19112551112998202208882569
invmod:460040264854684284500867207882,176619007178719669689957899985,0:84600278607589920579666033533
invmod:7814781702042412652917732124,44974092645758858215810834392705,0:22525065545650129764783444827969
invmod:689879593008118336507276219555,7029140833503782253304852,0:1657942681146249790361611
invmod:588753311584356398728925335104347,655245595214265213328588954,0:5370808165845253986418065
invmod:215270851453007875328537243236,930847670919175461277424586154331,0:854093280868657781869727944640825
invmod:554018901896459973640131751591,9763486748180940629420083557,0:4943017226299795649673145282
invmod:13807862007846696356170492992,218480252372917913755483,0:162381198060244352285330
invmod:3647663862216963935039311,3498263635673871413147938009,0:815287510808909642460179901
invmod:1394556521513041955902249647007,8314730285674311054788894925503,0:4701759015019363383377776837184
invmod:765922458203903632153317653598,772684127072442440623494065,0:681475643232329050740648777
invmod:1636182686335177476661316231316713,898482806249393672761387906057,0:629953274075151653191843542345
invmod:584489430664515187742143663,3226379401343487951747550753985,0:2300722785510258273879270270657
invmod:70597555974027836626331232,9067577360780247310463700060912415,0:1343885645550828326227031879126813
invmod:83016782422655848478468587,3574392772750510684744014,0:2160375438947262160886701
invmod:9509632620059688913461744335927,2001546646968510097453590971258811,0:1579171227651658107693890864008934
invmod:5305698102006965934646514142,1880423512328598313144733245,0:1158802006274691372231434298
invmod:25818273392182891028387183709,372712587491320607948739787619341,0:83620423512820588265929334666867
invmod:2062301690726594241599730508623,1295011898282606475280524130169,0:1126618128280194264421190196682
invmod:15525882195404306532803603053735006,524851347004182298259949574931,0:117558057158627958293103758908
invmod:98049989631901137366836343057866,2132117143964644775000173275,0:1776678869002856275917157286
invmod:68035486069315280099382173380,136804376642014663925354513,0:116540031317166597205778667
invmod:930885787290248986653715917201,839163742792309140697583306,0:467450716792956567729742385
invmod:618219232165541881120714807027054,551811312165885959528421318411,0:241084816664595048546274133494
invmod:607491972766521656095997601,4258761064370347279045518650,0:4106442789435765086100078351
invmod:1794059822501926214368058365897,641293693468680328700219247,0:412236704145068075117115904
invmod:66038046351270827218975238,828243810057190999751749430463827,0:201240403207654658512757471515946
invmod:22489979027542119833361766314814004,4267735327278945325377118240414149,0:831989298493288398125903826182123
invmod:96656949043354906812270332568634084,17593722554451983298697234832943,0:10389378262088955098639501532940
invmod:1475127063531246543305342130787,5712802933759973674949655288556,0:911126023377734859289288839875
invmod:94805314820797148511000189717800001,64899576259694613046461539176,0:48109809959614533507389959049
invmod:5787223135405198552481837574149,5421074820227552626308319526063,0:1887880601492799950765024255248
invmod:28973562312482088535256834009,12322004931428309561996283040268471,0:6951695655429544292118574942872356
invmod:3696872012110541582072428310551341,1523878544437625304694982047192609153,0:120514356890624212938061146933103186
invmod:7388600304197232842534029909,773289223233970187052705366304,0:734898540650399983999883872093
invmod:7331236475650961531766667058913110203,693192479825024022606662504949920,0:571670151801413885792817856265587
invmod:5235989645992380877547648143027,9843490764540995482808427936563,0:7792497103048946162851333200848
invmod:7889040487772265051508734223198,970333028842680057477545240961989231,0:820851624929176605383247534276742509
invmod:636939509978082435344561123977,8632390068721323171174332473333535190,0:993190319417433889538526784654541983
invmod:91838639727927578174237486907982,9330677294050455577402341248771486991,0:3372468877355534050061501496367400668
invmod:10921336389827150720097811900009211076,7589092431150460928351199116667067691,0:866721211802572827148277173383125007
invmod:658155257851240068821873115015976,558927662049398106193187373360428065,0:209745203635098313869122201832200296
invmod:5585592751467684477444331029739,27200783107220910874350734817147653,0:1132197483918030242577531292806291
invmod:7637148852097915353546826493,42198395510943407752409176135,0:38579422829892871530093056797
invmod:228011811609919943842937730868521189,269359008901950141311260148678129,0:204220292063517008126064637465387
invmod:85379073141618507288535187863547,3311778009260578617664169854013,0:1251094538034868342736717399878
invmod:178538609345684608529279115948180,3209187922934820372906185622931,0:625228980755918910363724543435
invmod:514451212940578583651534706134690,261960849561824473447008674451593,0:131626741363323972030200440147547
invmod:9634204149807611579602377719343249239,91352833806659059550235201423093,0:43744490808833751862541187085697
invmod:180205999846263895162745909652272689,61037131972980180275583850831,0:22758511829661545789258800814
invmod:21945771136787811201569306864610194,240543080450829974515246807891357405,0:181461539213602660625514174427621814
invmod:35517481628882114783536774508289,73933641713139782399722231157687221982,0:55192567983407494884175622090344427645
invmod:61133421177402004520562281574369023,490575463215034765455424331786,0:428078344043933589235114932577
invmod:61997134551496924667492900578768215075,53694317203253417994456413131837794901,0:5127049382196704081839504435078188237
invmod:149407595591992713390607359968523153,9733723254627254068241609649090688,0:7103143213776435125430106007909873
invmod:724677347918056918707332818251,4206398531197287079326882898987,0:3352013813776874655296817354068
invmod:904144691211996824768615430166153,57579709060839020187927414941125095,0:54557924391254568447415464374061082
invmod:464828030341876048255162748051,16315883710383791874911854058033061,0:1898204461581732360730698325426064
invmod:19170845621606248311569905259730887097,911211106537315652144761781751982143011,0:11609063390937807744161998275631424941
invmod:857469002074663726099005122270054136,767466745792444095098639793741965637031,0:72659426270163915638661477107149562702
invmod:130093804885990385658501097171753042,91493100398010395343582415770659586075,0:71562287103402903271519248491284598728
invmod:3558394519963770405007494484958693,5649100976897692393477567234571091,0:1778327570753831461149235315785758
invmod:827172132916351233103886705694689183,7406200609002751101596817359849513044605,0:182683152383530805186420471977735101947
invmod:44588398105132907935221361042363023,849039192087829478839986564159076706,0:756327512592089069079417038566139671
invmod:87482753881086943893477139352309,15136288595019926379451404752790558,0:7380826408731655136881662259683287
invmod:2816393010081341842764909636597751163357,666424385901140622144416941996627540,0:37970402623680773312812150346972833
invmod:44160925420830144883476086426186778817,3964315773874336539018935736605912590999,0:3339494318496833279004795765823107883695
invmod:7784294051005222901032501449689049491,82221954950326057541175302867376355231,0:35060237646445852249886804139112143661
invmod:8782186458787754387943640751003,287196330910083697223737780139934653,0:151169934658998501405294488263167850
invmod:52961061996773303218378119209138937,4138078150303278572595508400662,0:2334686283357105837861457163873
invmod:120067972673320339436684163684521541899,5003127736361658398228918751147,0:2804153651535384761721045391262
invmod:21160862616768687388014009097902145,984271481536213754460622644543049509,0:110991439312803462463226099820276772
invmod:94870103291793687661854548564670156557,4654396151789059038730576061157487355,0:4545904732262329435720397277692160608
invmod:126765551422438407604981735815319,4526482948583699374467868274935682,0:1340347586087681863052878791652111
invmod:561052644739230772711625537622190085922,182709904797036712378783653059935117,0:81730760740395808028866350847708745
invmod:8440958912355253192980982965295847,99976107874430648288932536807344574289,0:44322197083360812344238924546434599316
invmod:622818497925638835644269035686568759453,5506232467142585446362605183461,0:5370963830087767870403236824410
invmod:57453345384809312296011379661001742955,386140250699346346360045382167776159,0:63476384227956307102053350966611778
invmod:83416537340827284838496955161681676081,12832473375703257825108506495959421,0:499463210654774129441986832321381
invmod:6764203692091211849546587544996797291,56141668772394375440300081823159,0:33236198277199128613406762379601
invmod:40370041535056934456885738109160412,509721817241840184167083180099626991,0:11491022410510426082577074611522170
invmod:878180470796147113848439165151873,17763546710042203623413235393081,0:14204683605998536689672179103545
invmod:55590867394053732499429322189218399778872,43372981951757571058338676426693,0:33510348378637076952275179882521
invmod:7546327535456972783460913206047380047,86726167905648033666208453441434584,0:5322052162117479044160819033125903
invmod:329955968415706177763208593030907,50516382401253954262072882036248004026668,0:34401169217941393127943862147280363000747
invmod:87048112982262598454925291684403335,805959667741585911092793285492264429037,0:379430630180430216461244147576608482936
invmod:71555142355447318269121083903394685,87398662401733013244354964840378552,0:67043514123128780636096809791233709
invmod:1711583735940653927946109180989149,26241424080043582566688947607871596,0:23154984666365483606784578156029249
invmod:542489709314546955942774519697358722621,143873444084042887511916303711981530841,0:121457408531791726256743734440607914263
invmod:3781041336068211601179549569884186970409919,327900172706652019993358885788160915208,0:285215395500809506516326193309579388695
invmod:6149927428146656336227133345815170519,7588487705630577686965956743882876270164,0:4653797610323419583601822953872210529815
invmod:559049983877521594210938163489019460719,951902276119605669127355840612003004,0:683326157826438593722386803692042151
invmod:9570949170433291990391807356653340234145159,8534474723057896563545270622977282626469,0:7559467634929916340724978098594978746637
invmod:987849800664220039883494398655886160465,6831497903141449539539967513122604383199548,0:246607561273243347599128464506339845374005
invmod:916515834175745144405438914198070103556585,4056859814803168890581397499472591207566757,0:1770209812768098816334392652319997964773464
invmod:1228631771902154967504229180729583591093,695152447128287511961827228275915906161196,0:68820532783317596490391949047646875295925
invmod:85204895476713840095779420329627903803,797154697565857850707103989977884356052456,0:189834737137977542797303467784002206530403
invmod:459421385046429900048441785147457350775932,7698087947447355511478579587800901996173,0:1050954140018038340522121385945573583123
invmod:8211730416251817740382555577378910158254614,52604175850251752026919899874340035,0:40445721575495397750278068202293844
invmod:13222111757762648331396301846656536813259327,266888325807002880450404100257370089541565,0:109298344157958287037388161546711172781058
invmod:563240385133071678994472898571956920719,3993868915925455184846327870408751385272,0:2785525939806848082603069961895833469023
invmod:521639521589957338674682854605577427535430,91720686816082732671407774270039351,0:17647263388578210512345389034742837
invmod:5156816003277235939668801939908183725744,5153042308730983383934473837808025008231,0:1734593135670097399582886018375080924055
invmod:9790574355124996717257076778746595337,7094481197220145398883635593951185851053,0:4633443452058944189941546476417089729612
invmod:3738689158705918826996178299424238668515201,6395182435555998218010243005378643333837,0:4032119940417970860053188513124120286092
invmod:13614043167840054636971961619348110233,9922954903164743574284496007816459280672855,0:6390894157193464477433210223562314675849502
invmod:7722989551905267507172665225415434299,285028691296471922732299049703480528,0:80127272552190846362411085374898803
invmod:34955948774875418184052263202780817611505383,25511643971935598979339727281441119179,0:24793574418979515087827479198686647984
invmod:9752514502992806699558935311322486653812,3763087306264536914043797765340033186467793,0:1025569723180811973169033467813546203362574
invmod:27465132713599700004772511614559440798,13274810225615043094606232580958497359,0:10132125917976802477194900566349825181
invmod:875919373810765425715940434040195178,5349809266782277700868243297033816292139395,0:2651731185643620478354040628390151701549142
invmod:6881906840916466478584802007995526309234459,756717805668582535693388931894211346359,0:145296958725486236992417439558326443417
invmod:334311791774893954611025022303233183505395489,584529866497361400618684187440397242,0:292400244436936079523712480681940227
invmod:65712090641887119990742721342873930,4336182528635667934371588198046750892623,0:558253505423903869478690367363302598682
invmod:4492701702646633574790657588147591497,887008290240310205861702963649926144764,0:434334236746323412542488940776733666249
invmod:411586476025579573736047981166427386223,60898553483467476285120690698220614489936966,0:19455038575262424591552585688228685688467833
invmod:6367597108696643245107048337012153376861093,65889932274525424609098394737176730568661,0:65870071424966086215554796795651660966036
invmod:1049560658786859350707338961047775237,5274992996959254283334337773536473890159,0:624593399529926255525711013688044195635
invmod:107527378432083555117117943876656903468876,716429394528758636372948757175038602405647,0:444454875067125022527116753199711164880725
invmod:555145963886409519368431903982210135919242,8268229830304970030006026946953367235680701,0:6387083941953876784249641453937804161251014
invmod:77948002708019596204938559286354567269,455121612933774657179682813659815211,0:364811843921650022521340876006123246
invmod:498360659435361921366498611099013149316057,5728485554979561072455795106370849106458,0:3102501845651843687065534092900673818593
invmod:726843237990292819218621975265928124471239641,2887158075124871990135103381732069919679,0:1068470994113776781214157184472987715710
invmod:14490257580500837566390302262779531170047157,32393480535449409499704778950027988096,0:30287826764106717477700071788946051485
invmod:6270142013450141253944931199020500202121765035,3763601356640037994669890437848434673885751057,0:3156243150557294814061853765553333562512998545
invmod:809245912199158373741272239723610868982823,8030588855423774308237502000480454393456840856,0:904571791041508997839920338301126020187933047
invmod:19533970453895817522762076874428022848,66299209695045887406306821511839592998483515,0:13599402726209549954335916901935358290831417
invmod:23199633133008878062415683980086247896344005,61479113901097914563017676528126502674819176957,0:50989713359156907028812686282866020892767441337
invmod:2862728440518115487475964440740584330473078140,51210656799701051518059629917289349291243014631,0:17918271858261676405666583245056315801120815006
invmod:14971096876073425168884018562366418693791183,9559636375986473567719335761058531628207,0:5109731903973538125843601711325876342232
invmod:532670798205641227016874816346924933526518,8612651409966775146216925722782469875353075,0:3211535369857991680135616378366713231520582
invmod:5277579668620044053588021313993390529699415,7623352070936849233565453286144593741688259,0:2195179503632503483804554417001536677298355
invmod:1703242284411257170432455927132332917751,91946197833078813303494400074098343464254335961,0:78127206681265732452981591549234092643891370502
invmod:661687018626315126767845163322826263674289,28536010760826245705236059697847500278395679313,0:9982270980885276298051810649502841807467187592
invmod:71856999282924192732858943855372784788,27823718424741468425870327772094802246951559365,0:18935276857302206232390405420351565823103424567
invmod:4662964353558658735645456824027896151772,33878933564208336888348089073090367622314169867,0:10548442440909583945565305765948929087304389925
invmod:62009389758664279395604249729164619334196,538359108562320297007051503463417099077320173,0:398148791843022164991556905409865960939044422
invmod:6183332385813041506672156000574955880665,871559003971682075020587679481749233390914546267,0:361446020046797748452828311000569764812530143855
invmod:9155753362316784223456266001165269228274821262,564516474013187481573175782767769679250281341653,0:119205620905238875198589061317020547195431291469
invmod:2381725363012237979273240212723131218823907332557,627105554257965120883096528911164566660356,0:171572488325502115512339758443240079349533
invmod:98450611484841078779323233743949010093062874462,498474891646461337593869229973450784375275,0:479013309851681824382144106029434631482323
invmod:302941267046246453138910366044154426837953622,83818905504557213907433754163930101975463487685,0:77920560252131060387953578558356224479003138993
invmod:3017383944801662240691138696888601411338516995657,61737866641820357298733518758961763874892655287,0:57869330891359519120660303033767633391977224135
invmod:374917274538161669733321516492506551738043651,77803838634333688188670502424982439317036,0:68639725794250011077961000847054314676555
invmod:5358355766108806240333647212584488077935,587627440281100756115550692187455782420924,0:314618325830273870368608880986071270807683
invmod:86122802573518542982029793217367784359435,4444541935970557301558909662301636875859,0:1955320382109976216143063234526457146856
invmod:623824975419641052226172487141306430801018589,20768350634786110695583221446196247762848997250,0:12103767314840562576462750961286924811261413809
invmod:7590027145148728758973273983569196467947062255394,90068309971049962266103924501064672741412670385,0:6331972725698812300523110784176833763986644684
invmod:686524668697820444915978210393072714624818,186650354938328642532017629073639972204995691795,0:65611028587457585490550162776486984373381347012
invmod:8533533853350881783993052422423559214064752671,63016121594055151516162786594467518419073,0:131371511974154164830815450922802421883
invmod:5344740912348618433699936772348773718405033080,754609660139342129058931248435676900268044223,0:601779294202074328690589293303990212685307436
invmod:2630687964404181803667484048857594086603863164778,42030243673690269464501320091336384623277873,0:36838170059220383772604498138745951997014365
invmod:5306175182479523993478999645749970458659031750359,758113498568456349896540610013930582835369681777,0:501795105681317857414510503515044239126764236204
invmod:806866598044057476584935940512202394402119521,947641922298177262021501581582394143250064926,0:76703572909587691543666595336149993104408285
invmod:3752967247553075344733410201251369307099526185073,4402571726399572455553419679967331632378787202832,0:2918979067711444062792869424130652843352323160497
invmod:40984400287710529101974761448375262101587597378,7767837478658170863917839375734721468526147967,0:2136424825671493001327961172463161875887529706
invmod:401457319584326150334816297804779451405784588169,540188815699793070242075787313955763858504,0:67372106144949744344758423425304866564305
invmod:7328132145926961595815732345858284613765167,9787719863595769932092399021858175294652078,0:2230156054528184544247089349526629112621319
invmod:77171202039883192025885180439962488662357894253,12064457568855376162922164978659009383963542,0:352639382534756831500079601223680437740983
invmod:1689300510107332942753596615492360305248158883808,5021685778114233976935875054258022503184892416233,0:1762404213252802117851393076433629721481995643743
invmod:413626471608667549603757397530674300567855542919,759613621964327430276342657441698817566357,0:642374968767231560916741285504168484044924
invmod:815487836506353402229957209437685304756474,231515992882606539156732730332354159627815,0:55964822173154353392771255475917621969154
invmod:296426386298708272323405866802864845229206612199046,342337072550591175877277735718537487310584965,0:76144006758731629943626088879647674452875321
invmod:1368837997243033258097250654549080178537403,72416746615410564704099840606609957868938364467,0:42273580850321891614742957751910595825483883404
invmod:9641372200812485192345151698897221555588679358147,287806137472581046723231335880874585176303828,0:255252466811823779617792436926094192052670967
invmod:46719509859424879114122464677053888891786863,210544160158454559735214754459187198735974410,0:140373812459197552193672103292254446400518517
invmod:69471867059868794437449477784309966908311269,475692585941773291840125734394747164491541976266150,0:329429867057697325602436904654233483107661273264729
invmod:7405667221685129649068997020918698026393175001749,796216300173551602800332455600650397180944683116991,0:130410302259950789489978656088071644453583901435057
invmod:9875331536196145287163751005066164594069492626,2201640116844513333140292091820792899163450729637,0:2047598928737481788502134745016206195377427587363
invmod:62945526176222857740120186454769067947012290363570,44934526527044082707728840604580666450874671024251,0:43861879034315837687481092531336507739461347512032
invmod:5812420662398017239905743494134134746465045897292,52956025052699844938819589327012098626977604723,0:13815068782356510869666523823706600133524973512
invmod:62988324661142084736397879043193595721220178,7404210351476786487650626340728674929309799,0:5036483589239858803333996442909574578899948
invmod:286333666557475431954356887797614991091286553885,730177931071629647633748484619415338517839601274,0:363260706789674293461306138407487067104937300831
invmod:49616721004820516975071365326319319198923021689,132795538845737308034029046093145336156955241,0:56876640900410852290230149182444669136767187
invmod:5446872665716082344009604433844511709028377538969,2280298209842444269643398464555071512122870262,0:375611662251833543184276080958156903157176019
invmod:48133060961114172650826182330907073912078935,8721390832897265296674009086319009860242439839,0:7702992209702028145739081817455455176622350078
invmod:40807573183755241530172346993573440974806877031,21200726747362217929091368487884445712920776,0:11454862264524468743635374252060129893516039
invmod:4876011850332170585030918362754881792191414391238,883237429556989698304596380266521788568157904911,0:527685501843148925165860150493838048613672434138
invmod:9004216524525198565187718452531030887145904294,8878366789568435967650795187708828058761785,0:4981848279005575310485064446844029075803929
invmod:6993868737949430623485012912067313181948980567149,72587842808105829695332807775836181652781451620987015,0:29356657469761942723664151650917553481140935005518584
invmod:75838243096115096340554120168203104139210864575119,6451996398231430323660940321776782700563518057974,0:1345394845933169255579194602505266246529197837419
invmod:485790318680850515659798197857065903571954663516221,67351781195434836704429039169834802850340728665,0:34078566883503330914204885404291533157887033436
invmod:371333400895514427330799618912986292421266652,74735768661976283216974595800490448686381913090033,0:775734485942448008241221468847983305862557765286
invmod:6097834709804461306077622570209088350134909102,13260744904604742982854800098901232265425978195193,0:7180051176576380055634721013915424214485695619650
invmod:600881693193364832300600937554551319012583954782229196,796027198454713309819370879215945879338962169620342457,0:305489886166685871022060158652320831304722506678707663
invmod:5662964710494261101411655474670941615613599315,444220509796947509810830805138094482931853315876829854,0:83502974856377599186566250358062403371236716847533769
invmod:6270395747183927103046939721473439728631174048403114,8803495340207614105802361410280441129955119276551,0:7638483007340998905004349443806488928949129256475
invmod:5312750065420550632940178685674720232414077135667861,57930039498945162545687903211875639956633916330,0:20906112474411708869764963749645301466537400461
invmod:8502626964451493813784509478933179204113913861,151683587165616476059679476891877738245602771985126484,0:17577340844446441446896817780642040689999518731337537
invmod:4941004253366524324322788098717712122185453894,507952581732578381349957316858286666961520136240812511,0:312115745275256030023730055964263277096930720173778858
invmod:423987861634880847990099692392247549547399923116457,6773005116228586899620384151284037878817381874,0:2411264735887581238523319245355992628456396037
invmod:526342378928843427610581233811595257981048046869299,7096065565042815656938985029340106874450131548364,0:2266210293557852404933929618783723210631424222303
invmod:78446630124873873738016711675224033887037462247129,7662020477272785489947682873719507826211767799272559,0:6618353901163261801200450611723749392144591388751943
invmod:146724084718984069653032415105637599783153962,30298034422463313667029878130649415526567724423891,0:15840758667632633447433042854062793488919393155550
invmod:532466063698619582407914116981870172085275218057609611,503389009870258977998715866699908326167138509155621,0:429130769700630834787501129352450771879630731320433
invmod:664376039724377171384810644630468503764696090762,224298076389079709612544590641569981088172697659695,0:191050396356473488451331811254972158658440851245723
invmod:835483973043657359948123633363211141824404441813878015,69643224478201509070483710852895974722854115357803189,0:53721439884173124810110466416454653383681843157933247
invmod:813970262809468815021442298539024428784964079319,429074523317944731991730858790207763790104061278625586,0:158332012181946654631830290462479503904893230674781917
invmod:3905569509910236582271054510190653771408672274545828967,21054133848316667891192282660059320939317809341779587,0:17094616510862655692939144695877501853951076117185513
invmod:4691307104554605783547935208868795800777868512,942772133788456146227915931545461264049922041187188131,0:469683594104330994724852019245006601277880263578881551
invmod:6344527026541951916306965449095645749422549760,76368107869275310020917570118694704915444730867,0:41500809372700676201512721693097909656425890041
invmod:1532687328617246474516893240843261381746745335187504567,32537955155074651543885535513776259898758463526907,0:31592260213499097541600572787744360343931765806593
invmod:7018504221615574834208014706510055329334098873351018,101610242334178923059833344503899037186775079202559303,0:10649252292552342413027086385381658365781051021861494
invmod:614235942250741815189766632484724986765317349320542,9362550248383847419253207491333265608402756140737,0:8160460781303503000366571190909239384952542647609
invmod:7775933593191150830308054268586415011508980457,368533946098442033007225558534059472616584669800220,0:253801676862101461324685686415984317623566854941793
invmod:114994724586756601240947074309582797715956747530865,3876970882437444481290779177938795657877704941299426992,0:511133484674702237970986949221474571854159368113080049
invmod:967002084921847074704293339527143050334641639867373423,67184311934061779941934593909885344171962367245011554,0:54742265392939905619225231956123009510166549574440811
invmod:6280498620763463276942694339653106561075254543429361993,12246227880575723984287633819537276950692995636118272,0:6888911322746399525364250058022364228815026516488953
invmod:44275278051846293224710462815690831294050926191,3528785552950193331450403045205521284400464217,0:120514793436107018084728538690789624267772938
invmod:77233427780696709885390992536748673614121634321979788104,491164926805617690128308614539794239093995145700823999,0:199381937154931303182568760928699286043016185484364692
invmod:2935661752367750120971963892075802637450138243541560,9020651236069334749255637029615697294334736998960171627,0:3125819936094028800430390470247841155021420396038210016
invmod:302473523210899830602993285719361792150121191223306880,65877646712326499599771065429073023167212168003911407,0:52297679713827579628631563559676964578000626147057904
invmod:267895147221485475464503294804253313969059499267,749147805746876465294375899176118315575206244421458271,0:129024846433542980463213625490720174159069030878062276
invmod:3781978240476513092005529074451902150648006057998586,27364485741607024708356504480914129745315051983385,0:25329045084429371227591358650591561585384348697251
invmod:948013514376879058094102833630021404464006764852569,8353743535195396401876310124547966294825033103946,0:7927522032829817758549574325420299949503254620703
invmod:6773542220739678376382399310753118322321830877020076563,23546371430476080325875311266723651505011788851,0:23034799134897779290547258699648209277778406267
invmod:56696856401426408452242119629657459089185724508184784934,7221005627051658808617341708011763226860565840269,0:2227292432795108865092977039762847004980273813910
invmod:92662353717508325061448569170875221120898258909234857491,562238642230582644285673923363000274985338785203064143,0:82872573566192386039048139131290614037215257242199497
invmod:89468591435176366016645724528914029419829867195549,705411786218184999265977265146374736801000908422516,0:485602435630685604293519285770866831844583644332693
invmod:2277395840205666058520703175677485655050927000860231,792131783062753783192832245011815485211186317516729,0:36274050046894199444508304306949846655815849306835
invmod:612911230333178233436163590340359496090089351991282071005,572255259654004408298629798022675847670239895312539448,0:403266920799126234196133278222931567019309289982594389
invmod:213241578824971760442836297601417939805892681628568881016,3475071686128494213859357380055444712046960621996643,0:314926700961595267117992983958097210528266000605468
invmod:89881958503908564448695138563460417549093214244379,33280210266097827064329998950581767848637995197241605416,0:12771855655553092160496981250440547140648269015354531011
invmod:73159396554894592455810450837975467585529573360122965037,161924163103234420910961871269258741990082667722423375,0:55900291355504579400968626517795006263004157119627223
invmod:869777439024092504944123032140706083242764771562615,3691156600535012715499994551919740723415019969643,0:181436500307965243185392814904512789376492449509
invmod:9146539798430854552628645300653561881701305853292111330247,6627303121361849299873564751355803129746293824560475542,0:2409578230798119285960935905755578839375100707728705163
invmod:24992448558250395162546529057033728367963608818369,97104418275857998682685499767517746419160351530467647181,=1:62070924902659777799435874506647028956762328885724256288
invmod:11569840794297110873922272445085763696814732411121,3856710587570728871230191743757018008573821992755,0:80733435598402588027986814199605794544352758136
invmod:649787313291617912250345498890431010716418004127770,550784775616289426175030973861257697988532404146125403,0:190014706473838692857161698137541544033343388692933291