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

# Modulo (remainder) tests

mod:-52,67,0:15
mod:-54090198,1,=1:0
mod:-76,427,0:351
mod:-84,576007732,=2:576007648
mod:0,9268611,=2:0
mod:0,807,0:0
mod:8268,487413,0:8268
mod:1146574,836443419,=1:1146574
mod:68387,38,0:25
mod:822,3971,0:822
mod:6236,52183125,0:6236
mod:3339,8463,0:3339
mod:-6911,492807317,0:492800406
mod:38291,7924,0:6595
mod:768,7974,0:768
mod:-753573,5272420932,0:5271667359
mod:422,509441099,0:422
mod:930,3648323446,0:930
mod:2427,67,0:15
mod:88,9301062895,0:88
mod:7238405237,35596,0:29829
mod:791480,518904571,0:791480
mod:451304532,47,0:4
mod:92202398,405459259,0:92202398
mod:349,6205,0:349
mod:-4,9246262,0:9246258
mod:-5200,499,0:289
mod:605,411571,0:605
mod:343980431,136,=2:119
mod:-5765,7596,0:1831
mod:43599271968,8373850989,0:1730017023
mod:41585052,17623,0:12395
mod:-2409446,38,0:20
mod:181096791,3565,0:1921
mod:424266851,9078599,0:6651297
mod:8187966,773,0:350
mod:2,628566175,0:2
mod:5095350857,5051807279,0:43543578
mod:-93,65,0:37
mod:2833717,10804793,=1:2833717
mod:3929,893,=1:357
mod:-8433693,960816587,0:952382894
mod:79150,8266,0:4756
mod:8999807,39604219825,0:8999807
mod:71019,11742958502,0:71019
mod:62049796028,8668788,0:7280312
mod:663,501536125446,0:663
mod:9405339512,4946,0:1182
mod:8398326144,695282,=1:14866
mod:2040205440,4831,0:1675
mod:80471943965,888059767,=1:546564935
mod:69485028101,554070,0:217541
mod:673,944658680,0:673
mod:670561,90183207,0:670561
mod:87072012,7500022,0:4571770
mod:910888567055,779049027843,=2:131839539212
mod:963684578354,34003127,0:1956047
mod:909044,302,0:24
mod:5117486344,275346901,0:161242126
mod:946663509903,66919981611,0:9783767349
mod:80280109,35551,0:5951
mod:92755422,4885132452638,0:92755422
mod:404434561,300368787584,0:404434561
mod:7641992913,2639,=2:464
mod:4268,10435873,0:4268
mod:-16867245244,3938443,0:1106125
mod:7471011989,656899,0:99662
mod:10540460484,86682087637,=2:10540460484
mod:284094,8671306,0:284094
mod:9452633,5574,0:4703
mod:87858,294942647,0:87858
mod:-6925741,254505734568,0:254498808827
mod:5567849,8785,0:6944
mod:5715920872437,47382,0:30681
mod:-7228582013,17846758280596,0:17839529698583
mod:-4825967237258,629489737727,0:209950664558
mod:-97364920350289,7307271,0:982130
mod:-5267574,1302960,0:1247226
mod:36680428,6651498734,0:36680428
mod:80778366511135,18049323,0:11222506
mod:5246691699374,70706752,0:38580718
mod:-76528261247430,881359,0:586489
mod:2510155,9882180356,0:2510155
mod:205710633,89629157572,0:205710633
mod:38304,635189,0:38304
mod:61339988670,8789855847549,0:61339988670
mod:-95895,39680647996348,0:39680647900453
mod:3783159,35551417,0:3783159
mod:434657,27849425,0:434657
mod:-922645,2692809,0:1770164
mod:9973857,61929174655,0:9973857
mod:491931072,76925934085,0:491931072
mod:36870777851,79112622642,0:36870777851
mod:38419240,600490113,0:38419240
mod:4286489,4746879,0:4286489
mod:-5967532,617005,0:202518
mod:-50370862538738,6877482182,0:6694444412
mod:948978223,306059033,0:30801124
mod:1939139989,7192751179579,0:1939139989
mod:871928,56723606527336,0:871928
mod:5777442393,771454160,0:377263273
mod:-2052133016,7833337,0:201278
mod:200227,787554274823,0:200227
mod:3616468166,851332729232285,0:3616468166
mod:-48554766181,2252075,0:2222894
mod:2085689725679,557651117,0:74548099
mod:2079714930,6441707850091,0:2079714930
mod:-464256354428,40650020675934,0:40185764321506
mod:-209095689322770,332963733020,0:5535013790
mod:92840725060170,4953669615741,0:3674671976832
mod:6233198674119,5752924138093,0:480274536026
mod:-94439733,73783193078726,0:73783098638993
mod:524856,25938632,0:524856
mod:-3642534,51609507988,0:51605865454
mod:556443616571,195489997,0:79085109
mod:747271697917685,801669727071100,0:747271697917685
mod:4017563378374,1995926813097,0:25709752180
mod:-13638096565,3048867,0:2534393
mod:304947884525,888510602,0:188748039
mod:5378877455085643,43074731164862996,0:5378877455085643
mod:89177886913,4817647675701342,0:89177886913
mod:-865014493293680,219168754644,0:44581286188
mod:6321573844,258781732494,0:6321573844
mod:1400577334033142,14009914614715892,0:1400577334033142
mod:-337804687,158388274759,0:158050470072
mod:-3733377356597,469670806,0:35880297
mod:51974564129148100,903237315049451,0:490037171329393
mod:56996153270005410,2396515,0:7985
mod:-67091637443329,19220071611,0:5632550672
mod:9064750093935233,171857609,0:35046324
mod:-71156951211655456,39266481994,0:466181614
mod:4362072502442,7301990213272,0:4362072502442
mod:-86003145010044,116261682333982,0:30258537323938
mod:56216118551114756,455637223,0:305042665
mod:262802582,8458718157713811,0:262802582
mod:364016243349347,542092606375782,0:364016243349347
mod:519321257779118,727275719430783,0:519321257779118
mod:350650081861106,54037636428,0:53896716242
mod:-342917424075566,19042847036414481,0:18699929612338915
mod:3486471961809,6003086967,0:4681520949
mod:693821889,68575560399616,0:693821889
mod:3401139672999,693846027567975612,0:3401139672999
mod:676404815653530286,614916221034390945,0:61488594619139341
mod:4874055499517062,6434678789,0:5095928388
mod:-9967718379562,6518969637,0:6305165048
mod:10248458540,38512788750888978,0:10248458540
mod:934811913,2221199202368,0:934811913
mod:-6684245035389913,2828258378747,0:1757771967995
mod:970708744192,5063581816300,0:970708744192
mod:8778023537730,865180741691,0:126216120820
mod:651572737854772745,819932061443536802,0:651572737854772745
mod:31675213895884,13227242908836,0:5220728078212
mod:-977172760207173,171558790519620575,0:170581617759413402
mod:-45853408229656454,238503345091356,0:177737372975254
mod:24097409593,335638746639,0:24097409593
mod:13695822253044092,1732994051411821,0:1564863893161345
mod:33933477593,3772615655961401,0:33933477593
mod:1359484164716016,16485762808614,0:7651614409668
mod:6194976547,9790288403118,0:6194976547
mod:35165676304962247,326491511837,0:255039534488
mod:50698603380253,837874905080656658,0:50698603380253
mod:-6677472401203205,206803331886510165,0:200125859485306960
mod:-2753237124185,71096000432140,0:68342763307955
mod:1652954342334,4660678399996257311,0:1652954342334
mod:762003770264,58114453785466092291,0:762003770264
mod:83319117929825,29022700876993701,0:83319117929825
mod:-437222911638931,2017017077397633602,0:2016579854485994671
mod:50533577363426220,29452376981671,0:22750839860455
mod:9775773078526862,883620114446,0:283752410764
mod:86103820030464773010,9526822249,0:7814958303
mod:472571956027154222,812207565469535,0:679360489354387
mod:383374451459403337,4477129646684214,0:2818431491245147
mod:7081720213022716854,503311092329338,0:133143948931194
mod:4630128377779,800171178832441,0:4630128377779
mod:54693593051710401,980996545405933,0:738783054384086
mod:150482763687955095,749819481017,0:742223172348
mod:593450696047000,13586015736,0:13528698520
mod:-730500097181725110,728537309580,0:620447592990
mod:-767181280549335,8336534436990434,0:7569353156441099
mod:42981969692069,6887667892543850584,0:42981969692069
mod:-28591748475152,101365562837426064,0:101336971088950912
mod:-7968036669154,98303283928623932,0:98295315891954778
mod:494411386598,8574532520081676103,0:494411386598
mod:68913463428,37113484763365761,0:68913463428
mod:79048317647131571,4246788999212,0:2834004798615
mod:-7998703715314196040,603932675107699279,0:456353736193593866
mod:37189110674330836953,371484075669789573,0:40703107351879653
mod:4919085789477,6627653096140609,0:4919085789477
mod:1124829404566321352,1113121353192745,0:576837841648902
mod:73970998780022288,690593097938779270,0:73970998780022288
mod:406559451598,291528733390141,0:406559451598
mod:8337041054557098684,144564322413327450,0:96874676997434034
mod:33602045710930,3944255323850,0:2048003120130
mod:36881013741727574167,2358692215512,0:2217232253623
mod:6055783116809477,665900361366484113746,0:6055783116809477
mod:6874334379769379421,7685349776541,0:4194447198069
mod:4114973877055494,6202439146871230,0:4114973877055494
mod:3926099959854080246,275452944727,0:275423967496
mod:4029793101439201031,660396995221451032884,0:4029793101439201031
mod:301872874428635697,54874102367289078,0:27502362592190307
mod:5569303592565,237882890299906,0:5569303592565
mod:-5030250164815763124,20652997723024,0:14613601685340
mod:228359514067103,297994781044164,0:228359514067103
mod:-424197230384775822561,35518873718705666052,0:2029254239692170063
mod:264447937587468968,14314680638460766,0:6783686095175180
mod:6394566749820905145,9683844165303,0:4880613879246
mod:-8688948887808654898,734279103507671775,0:122400354283406402
mod:-626916205862869883,94382847154774,0:69047786293799
mod:1626914326860229332,7062310571812316625,0:1626914326860229332
mod:54001071080896262095,42490007593568841,0:38761437063834025
mod:24728563187886295882350,709499139923539295422,0:605592430485959838002
mod:-1107994585324963758433,26155793492434894341,0:16704534849736698230
mod:654008549965770,51389913007264,0:37329593878602
mod:-519456375679038,4624572350871880932563,0:4624571831415505253525
mod:-82236922719413533430,72103334739677626,0:32982218558637836
mod:-323874523758275336,8012542519209926,0:4639719529331630
mod:28055503703579420,59306141019480998333,0:28055503703579420
mod:331202177649495634,20031374822914022410,0:331202177649495634
mod:-130081790443955,81911619024148257,0:81781537233704302
mod:12392000130570253028635,427646582276340386,0:85115948737663513
mod:-3408044901060955810,3826012386295493550,0:417967485234537740
mod:-2520566214354390679555,7522956445489849326,0:7147151330198693981
mod:1980291342375366442,2779172585704919,0:1520461353464114
mod:81051547602981,72198401841564,0:8853145761417
mod:-92876397580264953214156,67027595927289169530,0:23850374957835754424
mod:5011749939685736607,233831869913631792,0:101280671499468975
mod:-809134913749137460747114,775995673975034727,0:431478675099304148
mod:643341365602570,69924772710009984856,0:643341365602570
mod:27791967964909927,59009798124981438889038,0:27791967964909927
mod:-113914260724456,4611599197279102,0:4497684936554646
mod:363308545066340586,9662463842692591834,0:363308545066340586
mod:27756526116505105,3891223619279919535107,0:27756526116505105
mod:704802873683670599667791,7264024574741209,0:546567259370500
mod:787136088375328,120969078621542,0:61321616646076
mod:7670850065383883511434,877940228500467933,0:286288975295180813
mod:702943840459603392464,184873925058119829752751,0:702943840459603392464
mod:346820606266075751,258033318226999763369665,0:346820606266075751
mod:-19738877253014425,881986541366353479688437,0:881986521627476226674012
mod:43236561155260520835698,38481338895759451581,0:22017575322656710235
mod:482681206446127491983,75672199144043749590770,0:482681206446127491983
mod:-9003595768210252773151956,24542596402501089193,0:2977625686803835252
mod:500595090938893533,22068045096454773348,0:500595090938893533
mod:2380288714663108486927735,564958976857884405,0:163611608764475305
mod:-61794208268134898961577,163988560200473972889023,0:102194351932339073927446
mod:-801112647021780575,5997315269791230838613,0:5996514157144209058038
mod:3375858304586431,650460337591609485545992,0:3375858304586431
mod:8320311342983951,42251663165732904527,0:8320311342983951
mod:7459256407267723209637006,417970890631288166,0:349337361754478408
mod:848180762170013347,7469835660313775,0:4089332554556772
mod:8089787096351751904254417,50129556268942208341,0:29694338665148808860
mod:-34903538093781704569582,183184852451752183835379,0:148281314357970479265797
mod:48619014890072452,80354799021914778903,0:48619014890072452
mod:-815988375058446388,8738660656145657284,0:7922672281087210896
mod:31813448306518054090072,207434655868203321566266,0:31813448306518054090072
mod:-8633600698002819419017,586048397265776638134,0:157125260983830152993
mod:-857216833834708698,9172367193130972108680,0:9171509976297137399982
mod:5504547056103565303478,13822143042666022,0:2988649206036176
mod:9870113591998328200,40859674965133754765576,0:9870113591998328200
mod:5384435851045720977148,202201600690593374,0:9426255910020902
mod:-2551078867778519184089893,60228847348701786402454201,0:57677768480923267218364308
mod:91679210346975867109461657,9997426629350491363488423,0:1702370682821444838065850
mod:2292649799687862201,546378248247723870,0:107136806696966721
mod:588814820029030818332181,8113490218013508525654874,0:588814820029030818332181
mod:65454498830100158031,780288548110175467735,0:65454498830100158031
mod:4709646238170145522365,55608341104804744,0:9004980917338773
mod:-225535148248500667,8159132039306813709871312,0:8159131813771665461370645
mod:76763315297183633054184,85934198951388076635,0:24075633594080619129
mod:1133129576897649900,54644763452092731277,0:1133129576897649900
mod:-67382808234452914542138,8955363760101370992534,0:4260101846358053398134
mod:-90953375293336830190945,6853448055620747690936,0:4994897485353637482159
mod:443616999780543985329,602650474818987637619854235,0:443616999780543985329
mod:-32726760956482080293262442,7257539124551086281136,0:4740495243318834660918
mod:8064248346280114405840575,2215292120106396321855736,0:1418371985960925440273367
mod:-7028166529953061572415,793014187917784076,0:318217562258693173
mod:-24801752752631583807972,746849063653448560403834425,0:746824261900695928820026453
mod:866033908626319182842,6382377566902718089,0:4412937094452240827
mod:-5696109440363786526866,467357847433239609373,0:379542576268328394983
mod:-10407234425686004311,628564472015312749963777,0:628554064780887063959466
mod:209459609329564838657,2486115412259790740945969,0:209459609329564838657
mod:83211005582689134709,427365949717166750,0:302011337558785209
mod:522043226813009221,84636707853907370269,0:522043226813009221
mod:505480107359090528100756,628892849069663750,0:562098008522737006
mod:-310708269201043467381433563,29010904881853615009335053,0:8411684499346297721252020
mod:945016205353589874668951,176007434590298672,0:79677746280043975
mod:3611093895058265247,4523612444279050027926505809,0:3611093895058265247
mod:2248073915672967969228420426,417993946449832515848531,0:102471665768698995020708
mod:75483556005338850007382,767992806236118220580991044,0:75483556005338850007382
mod:349175730044864846750,194542620085155145157549,0:349175730044864846750
mod:5214057366956683393,6766485378347583109969578772,0:5214057366956683393
mod:42801122269815033051372,76491121430284940146293642,0:42801122269815033051372
mod:1504356843590479398148441,98825538637920229212984,0:21973764021675959953681
mod:1422956549105294508549700,73999528905391695937,0:19607783517587377127
mod:199912292615681783148398065,5625251527460055267035,0:2103832806339068508235
mod:8738762075990650132321428,8066858358673855106257,0:2354473546865052245097
mod:8744971293400903575143822441,2181608008778482293077393,0:1086394216746544489631297
mod:63912100585682096593583,11361184476808394745245,0:7106178201640122867358
mod:64684262754316464701,22376578863907224393672,0:64684262754316464701
mod:13792618112420611117,792966702790880958054,0:13792618112420611117
mod:1114011944265093423883128,24116689971306070038294352,0:1114011944265093423883128
mod:39678469855084024947237050,42142535719623301934525721,0:39678469855084024947237050
mod:83034763665077760046967629,82778559778204667638,0:4244359548962628019
mod:2396471122363838882513850900,59747356384740003525,0:57225475716145829475
mod:864549729107840811638,74264623502102569648,0:47638870584712545510
mod:293471055432367196531,95629011563915920942031898043,0:293471055432367196531
mod:805770771235800281066969751,444417493982143896834,0:79401739074580625355
mod:99254856446162105637797829350,101981775402621358245361,0:73717806842511917782490
mod:22541739862903307325,418383569773975023302632076,0:22541739862903307325
mod:13599043000903587396023017,686395340986063801303,0:178505287691364607981
mod:-921575422288638694625782546,2041485695291750177603,0:216222744337548474126
mod:-489269754337315502376167081,501875735917569336224,0:368721212244829894711
mod:-80044798953445460081243,6139390882382293287544714,0:6059346083428847827463471
mod:1697244421022884241204,9839911566031781174211,0:1697244421022884241204
mod:940445668109981090346872,1166998590007295684475234,0:940445668109981090346872
mod:399066130721328784362180646,2466979168009327704701836,0:1882484671827023905185050
mod:-48110448286951664808938217,6924833390360325487794,0:3294109271876680254495
mod:8202438083226798875527459,2712253233103808901251657,0:65678383915372171772488
mod:5450714727456153005642027367,100450439174668838374882,0:72996960272497744180283
mod:409375235483978782700540,154442023996251499419641,0:100491187491475783861258
mod:75895449457418931569869638,96657756211092917375958176,0:75895449457418931569869638
mod:-337896716384821901508,136332254359196503233175760151,0:136332254021299786848353858643
mod:286597911534314020993735125,8939960441559894748118849,0:519177404397389053931957
mod:-3629523279922780081559669,47176221977787068435634953,0:43546698697864288354075284
mod:721006898368058427667864053628,560134433649198454347279482,0:113882261540016922915360294
mod:5816434052384442045783498,8295493150888286278058,0:1293353611753364864840
mod:609810757121108447302938155,91911350135942492551802190,0:58342656305453491992125015
mod:-19105264771397651242810,62812840189408438467870,0:43707575418010787225060
mod:-3384023484275449303514510512,36865912947085723132571998682,0:33481889462810273829057488170
mod:794103148636604290205719396698,60830693353207800202838586376,0:3304135044902887568817773810
mod:-872647162068256604091329081711,7171269767341809905452128,0:3142110266217873424018225
mod:1741864928041849080630509776343,4019228270224295025021,0:3953212345502485484813
mod:46472481719179435494357769,7926074597166240368807886225357,0:46472481719179435494357769
mod:-8260893021299279875407235,8110427213374126288611,0:3632309128954812687374
mod:-12778559515327410738082,60133073412668338924778,0:47354513897340928186696
mod:-33979239742647553347892336,6474568036342863013409,0:5767880116134609491505
mod:983404512267124852163233,80477942869108029021719,0:17669197837828503902605
mod:3832523396251835150772,9395631266939763227204675100039,0:3832523396251835150772
mod:88670226724007548654482766,32452353295811216769641,0:10397519851304439823554
mod:96278532026543994019519712307,129820052877663606606885,0:86210882333451655589757
mod:-5810653163494420168043,36986477497409060096423733207,0:36986471686755896602003565164
mod:3126207974581460571577891,32180478067769596422373325424,0:3126207974581460571577891
mod:51956357441149158122167659,1003490769172375032993217,0:778328213358031439513592
mod:-561702379847624714751550,53922991187327968536105231702,0:53922429484948120911390480152
mod:446077868534077880774451137,67277848506923282427435882416,0:446077868534077880774451137
mod:1575047464232207678249043,70194506692490651832280909556,0:1575047464232207678249043
mod:814270662793297992963934,403564259479336969832400620632,0:814270662793297992963934
mod:790699201198504136904045859970,68724106656555736601709440224634,0:790699201198504136904045859970
mod:8110552276797224689344660171,3909333328494414590072213560549,0:8110552276797224689344660171
mod:-65870994230220283146814283,3379239242265180710762324,0:1713790615083331068432197
mod:4019795295333902960419848174,50295832366163431551511941,0:46424538406991867850404835
mod:11568598680110024328705699675,22452048595187151195492,0:1025051083178018882739
mod:387522780739724474268318533074,9155092309434144095404353111490,0:387522780739724474268318533074
mod:2391972635448121089016589,39976990962848470908868,0:33330168640061305393377
mod:866848655025962221176014879,40996252765546194841051793,0:5927346949492129513927226
mod:9039212181347754641685676061753,1413755859430626067769418378148,0:556677024763998235069165792865
mod:62309693047935174482238300219097,1448468173515469111051509167,0:937627820239732135530382258
mod:10235771277419233732197767436,47759815237747782490291,0:30955110842232226071189
mod:4510445237186840834301611,9536931548375816882114508,0:4510445237186840834301611
mod:32374689605351221312665153746,773865694054081649089543,0:18294598715523004122341
mod:58121462593501432960291,544699189690679924713807,0:58121462593501432960291
mod:487815493709763477417262324977,100467558757425018298664228901,0:85945258680063404222605409373
mod:98070875983658870659113425694,60099405211091721761658040174,0:37971470772567148897455385520
mod:918364128985502035087214237,2299858822935844817555228747,0:918364128985502035087214237
mod:98947035094409552251212724,2825141475757917666304644602636,0:98947035094409552251212724
mod:1526039375858118801195007,9842198071310595711976222424051,0:1526039375858118801195007
mod:956310510459469197042596,12660491958158211655462388289,0:956310510459469197042596
mod:712022876493637494246773,6907620845496782089063213,0:712022876493637494246773
mod:-127487606866501768951687217731413,97214150491566835275008318146,0:57358578433918929123695676139
mod:6751815551565439795678949,31071725936607844864896266530950,0:6751815551565439795678949
mod:207247716655973517840426399106,8676153294057052584605417,0:442920832702751956803227
mod:-966202956730918757628959,506872112425906694585759,0:47541268120894631542559
mod:-68170698773654086579499859368,5144430238993385147152349982479,0:5076259540219731060572850123111
mod:183149199419924949681672,26683244363440548441986070029128,0:183149199419924949681672
mod:-9975221264569424411536101126696,74192946761934634594295284416,0:40826548291751258693762269464
mod:225922343593361728051942267585750,5683400149678094053656150,0:3825868296308226483712150
mod:1590802748651151308839006,37444237944901366482969738035104,0:1590802748651151308839006
mod:9067619839451785696827107956190777,87355497973165371903530913,0:84293482668838694674156358
mod:-86293581881377444715621610358507,7692884519189179893063221146996,0:6021032348892714001137043405445
mod:797270639908743442539388404065,246054564304506055627938724988881,0:797270639908743442539388404065
mod:205038144424990428525674376,85234961390603945529096075,0:34568221643782537467482226
mod:35844939430843764162712556,653126866666115633914185924567756,0:35844939430843764162712556
mod:4259287602245499035603599602,50729589724528668468977995092499,0:4259287602245499035603599602
mod:2261834480876028227185763,424795020529636248111781917,0:2261834480876028227185763
mod:39152906040428126999262088,4297272364540702463008576,0:477454759561804832184904
mod:-5930922183829543621704345694286,197786250025515478569975835009,0:2665316935920735394929355984
mod:13648638091639720241268467,60685727322075123781463007100346,0:13648638091639720241268467
mod:-668319624482464990058154959802,710719216881033542598449292474287,0:710050897256551077608391137514485
mod:642021199249584712913865808325586,543227057645582873078752689,0:152765287910622645761540601
mod:-2656447484733675418860019290432,205011691602629984379183426293586,0:202355244117896308960323407003154
mod:-76116380282907702927282762504,936328544643249459199496754,0:662560377838752727075971324
mod:8093358695607350358964677676389573,829984096904096704239626252,0:340210087590552445135735881
mod:-9278168173113556399784725246186,4280082896252256282175389133291,0:3562080515643212446741442153687
mod:2802211761443428677828547316,747494545678197065832762122247199,0:2802211761443428677828547316
mod:23492204756311184079845536545,337250910922702955980510700463272,0:23492204756311184079845536545
mod:64710301838085669236316870323,868170439410850659865082898,0:465689321682720406300735871
mod:2741127245480801383259770751238076,74176417788834011756636699109536,0:70776205082776960020849583294780
mod:415065500982033616775933433,28746890219519286864975018117944504,0:415065500982033616775933433
mod:-89217744891275021874139963535100059,3290121624016777142908239971,0:2829430817460639915155471175
mod:-9317836992515247957659739610258,361276376419354526411745198556357,0:351958539426839278454085458946099
mod:298421168958661320791582460540,9311321600116774390269301187799304,0:298421168958661320791582460540
mod:5274155275590071857725575099101060,98122204238639783506999069,0:57734636536655754953174064
mod:865783349805109330441131327,162630826994678660982290958,0:52629214831716025529676537
mod:708516761779855069848378277411149,35904666994288818268923584882788350,0:708516761779855069848378277411149
mod:6609496417442545300703371471487286,5902561608289411469926303,0:3737357682418540243913209
mod:206488861625670348490519145948,55768433595490812270050489117,0:39183560839197911680367678597
mod:235462255567476370046316727231771335,90122239517029363511961434219818206,0:55217776533417643022393858792134923
mod:7378753800396502033389928296562,22504168678875184770299793837483,0:7378753800396502033389928296562
mod:2757925654768646392546972258732,66265998215956320290751023811589600,0:2757925654768646392546972258732
mod:-4495627928966379121510140686227227,4292233509252118764895120750881,0:2632788729841344099945860696061
mod:60075078241755197289597987901298258,85793760621445664196834659007562403,0:60075078241755197289597987901298258
mod:640202717640040770302982685361,1043941556622236018146973420441,0:640202717640040770302982685361
mod:981675333306953772484178502284,14989243876208586685329510289358317,0:981675333306953772484178502284
mod:87715989707184594635823373687043380,2924631585179762875239333452363500,0:2901673736971471253882703568501880
mod:-323249437311463874466227132752562758,54630285509683054247993598313342182,0:4532275746634451021734457127490334
mod:-14647356048136737851231147317,175677379713875589633642881,0:109543847828811677994854687
mod:-6268327123157272100193046712,31032884392623150618360081127,0:24764557269465878518167034415
mod:8830187989453831993186309990340663,959494270231543012302622845163608617,0:8830187989453831993186309990340663
mod:2102106468815389931443009975417,244048361348982984508269787947,0:149719578023526055376851671841
mod:767756521870180222085097228863,5629352943535035124861550483062,0:767756521870180222085097228863
mod:852449392775158289272424932198,564809949353895492950864832457,0:287639443421262796321560099741
mod:-94075133584459673485423491471,7078005136840583876255761330997303,0:7077911061706999416582275907505832
mod:94026202014853579487205142874162,363228855132321701963096787271215,0:94026202014853579487205142874162
mod:78501236594767796495670623879783,7018641410498793931533837751986,0:1296181079281063248798408607937
mod:-83121914354650984352606847805013,52556446964608987755585827141661,0:21990979574566991158564806478309
mod:554612894627846154817277112226378,90600992903463982226644139632,0:44217065743119607988333538906
mod:525293194961196331029028416806301039,736093318498847487453110088942,0:72734093290490277635805244173
mod:157610281371549009553406136918536,976813980235355373377808309891,0:343230553656794439578999026085
mod:-266509790805154856208324746487,7013639425300014015101241233380,0:6747129634494859158892916486893
mod:59653129021803829007632144466094,6178618914324116986866641510962341019,0:59653129021803829007632144466094
mod:-1025495993097568795964701500702,857271481493597231020277064636,0:689046969889625666075852628570
mod:481051936536536822112378933191985353,9466673918671293738127743696345889772,0:481051936536536822112378933191985353
mod:848825342321881584621547504882,5509051479604448499464250938005578,0:848825342321881584621547504882
mod:-26930177732304779325732093789608,5553144086178691095750038113040,0:835542698588676153018096775592
mod:-930412667133937228253381813097,66449017645940693043271729675,0:66322597555173167395694132028
mod:393034277242496542604957925805,4799386565947366109662393955284617,0:393034277242496542604957925805
mod:86603638626688955985063356610183,1769014799372327392140745286156481,0:86603638626688955985063356610183
mod:40877446922338785512028664714,3627227112486512731974346137499409882,0:40877446922338785512028664714
mod:951744546236842962508833599628258421,802365455425080101863813995676143,0:139116102697961698350200756352823
mod:30829284319654404192904595052,1296652777164452508914199335388219666,0:30829284319654404192904595052
mod:73660971721825840324689412056336,5684533154366812172288342524757974326,0:73660971721825840324689412056336
mod:8127358843185844147904557106702570660,3688282607387577967901654384422862,0:2072259111009884617212497819005674
mod:36532892525294324678919117123848496713,92715061891153280227822277460692,0:5828075633057629393846902185185
mod:-8597748351805543505111910190253821104,9557218184864474744270904051127420194,0:959469833058931239158993860873599090
mod:774575051270128492444548860406,78181627397979349461399043516039569227,0:774575051270128492444548860406
mod:71412172829277670593171097931971081,734737459512775442295997263661678,0:142639256538452690459363356788315
mod:6184659289209085822436564762850,90249969123878877878427941364168671,0:6184659289209085822436564762850
mod:188404876454609678788443725411,6011866633368206495263558549515721,0:188404876454609678788443725411
mod:81043932065078534018074416730418,8372433471866735006229336375535354,0:81043932065078534018074416730418
mod:6912342702093810814710065121185782090,79053815437751598622884440565862252,0:34660759009421734519118791955766166
mod:-3169060990465931351414443670,3481005717923100913496633725151171,0:3481002548862110447565282310707501
mod:-3677873239878011216446421508552,39945867794076672579972752013115,0:36267994554198661363526330504563
mod:-88408316452809240011823526997216147179,430749395485673956071441817182,0:247080945638127516958667217647
mod:-7006029462687996724256881439538686,5752004602477767685988190527369919519,0:5744998573015079689263933645930380833
mod:172663755283332370937921725543,6631081406973798665639408060368,0:172663755283332370937921725543
mod:877725872115390827864622867155990409562,3246622975450958412670313198657575,0:1350702224220999203693898915008312
mod:1162325904966484479085618134964501604,9810351533284785336335637682672874,0:4704424038879809398012888409102472
mod:-67246779579026319613494857580231,4479147727625713736723230094972,0:4419584062985100174076823939321
mod:-83311824891620553984522523676903100800,570821292295355560082171193531,0:517563010884629547920243561062
mod:25686998142667809989182628560877290,2025104174001151569408893055981534120,0:25686998142667809989182628560877290
mod:-6182593212766128996183974088677690094,21672462542175162551645329360574,0:18538952890500736647244660057756
mod:-294700116350712193407358863563690,47602175104818483716891162778987,0:38515109383017192610879275889219
mod:99318338781646049264027201614,31132733056517268309209622249797280421,0:99318338781646049264027201614
mod:-2566422039368713945896870934278082067,3422938407926845108634793366952796,0:781766576419885579224090936514933
mod:1798229479312127271076623168674216,146420794203382070378885907918865097585,0:1798229479312127271076623168674216
mod:-10575907960389417493180423047371,548554000428335526399148116041,0:395172048177293034802539273449
mod:-41585237394069668771815671048852049750,6620785900949628605472441451228089,0:6539635695898127762206147762805348
mod:1375415227799292140480888477226023092,123029527135707896415325486765764221416,0:1375415227799292140480888477226023092
mod:-2079331025811185903148784604677,95045957198248711390742316452607286039,0:95045955118917685579556413303822681362
mod:-212508186835656490444057415261195182,4829012565342247873891632422752490038715,0:4828800057155412217401188365337228843533
mod:-560425113540022327972433105315966740,96209074671864129929198408439658600,0:16829334491162451602757345321984860
mod:878336664644268081456398188824415429,932061958650634766658892044044056328852,0:878336664644268081456398188824415429
mod:28882941735745195429234419733039022447,64140280097846201870647655651438569,0:19815691714404587442974689891666397
mod:88232952784596907289907603989240788,93349243418019298106177761581992320992,0:88232952784596907289907603989240788
mod:792301762499682540474009585487691810,421120400044388668787389960907,0:367290969121964719876967770219
mod:76111941484805465095241888868932546,2831856059624821529741336978732478,0:2483683934560105321967127421888118
mod:-5427708288474184011690247672955482270191,671682251167994228841481066017358827,0:155983214377351577760821530794410796
mod:-8530853102666682143315062468746465,213498385560089813626810097876341271155,0:213489854706987146944666782813872524690
mod:968866609367366454712369109246988,628634209852159542629660518990065356620,0:968866609367366454712369109246988
mod:96097393485358514676281731274665078,3957833123075932141830397414925844074923,0:96097393485358514676281731274665078
mod:-81978182783653208012914682683646556932,972774031969126613105009607688574,0:403212480999053283791985092639770
mod:313104324214756365552882262334038,5945062360867852334605007338592823936,0:313104324214756365552882262334038
mod:2735884017629695152167391129737071822780,3290205739029218948898407572995748,0:2270894901924122540569416928458576
mod:-97466756197931651810599360815010262,3315237020945784440159312220994155,0:1990354430441881394180005814814388
mod:4287211941100891093508540048565501812,594177978658290517920278334613052052,0:127966090492857468066591706274137448
mod:5617959241381925678540184778777695094011,4078448937249847013764977403503471090,0:1935054788886340585810894153415403081
mod:-3548112469563645005797230889810299281193,34963401912331074261420878238937,0:23794960044874975729481854354116
mod:4922552264219521070158559671565380834,5646798983979557962421505933015709,0:4190349173326084889428003908698295
mod:32565692680193961073474123363666015,878047053403499712307729237883224199,0:32565692680193961073474123363666015
mod:768830069274599347793505224871406391916,49256101034975375638954310064864965,0:40844320703684820706353378994018196
mod:642199331170025417801554157178084,71675957995271890601200242650759107386,0:642199331170025417801554157178084
mod:42268335126087027949341092958250555849,386269043855800901191675132738936,0:72464078302734639658208027006177
mod:61951474950542877141809186776499309394,1575592140257546405587708780583660678216,0:61951474950542877141809186776499309394
mod:-50372525688338317312158892618403161,479484240404243987384900356318490043390,0:479433867878555649067588197425871640229
mod:44683217172537023841274434066246364,58011321282881808274541027575827116208550,0:44683217172537023841274434066246364
mod:114588115678254964728743791898564,4589417972133701399012552730584485633,0:114588115678254964728743791898564
mod:787749081823153927726813864184041,31678364830089024747329753309219782268,0:787749081823153927726813864184041
mod:-4210686607729439615194829247147791999288,202013476656713406344999304149677576978377,0:197802790048983966729804474902529784979089
mod:-201317765219861856053478772267939948214725,28008182775029748896931627041800444,0:11094152473662864315215654119177355
mod:-232349757997193586311539481768342879244,86500898319812757120814118782924774,0:78155788143292072088055401375988494
mod:3459368213898794108935715830804259,645307545853931027509103766501511211,0:3459368213898794108935715830804259
mod:-28214486245399572630623366879671715,4787018465719437691521185074756254,0:507624548917053518503743568865809
mod:3106180109929449357402363559818380895066,469482281886594475593365429169214,0:356674718833276575481292181443332
mod:770130766600035002140959295669804,926634653367571574740533619678875292928275,0:770130766600035002140959295669804
mod:-6708203696875914373713983952300480,1838061152155611054471652207874138,0:644040911746529844172624879196072
mod:-7022023536539325666545120950542389888,61599165978198027775591136704700507491129,0:61592143954661488449924591583749965101241
mod:-3443533443745355681222242435436421990276,114311172439204299235358268154904366,0:90625985673833242925392730072035474
mod:110440434921544638432764637319049273043,85855605443431360697149818939494456029,0:24584829478113277735614818379554817014
mod:46258128333769427123848668553344812866281,2571328063101410768335059965106947440246,0:2545551261045444062152649146526706382099
mod:363228842811153324360949224721752071886096,519776907108357809938962249484450996075,0:424561649519573023553574581605276625746
mod:-7481133759236874924421451125199442,918037057467449661018383366170845,0:781199757970172024743999170338163
mod:150233345756076313394229291485865,5605171356421762519368513553022673456091977,0:150233345756076313394229291485865
mod:3185172342747413751304414848146001953,6651506504167945767766564692832116791091,0:3185172342747413751304414848146001953
mod:605932275764163370707058593099297764806358,14520707105209378213724439334671383,0:12284018060727065660013089171020638
mod:-47981623369556624178550389594061247212904,9181422689232628129475009481374015950,0:491604373090426086009955599360141796
mod:874599738760971500384056236606682756504,44920344543206332304195675515171507,0:630504744210421366434326293515214
mod:-5100339758640008895519382671699671,18538376885121966053582708191078256,0:13438037126481957158063325519378585
mod:965966374431724388594710850103760963,51329769618720367882036219795372158,0:42030521294757766718058893787062119
mod:55365396231165487163722749393764963,742461596124505780223115709313334341,0:55365396231165487163722749393764963
mod:6538244814994833769942887762335568415335737,235589470700074178427678879883234150432018,0:177329106092830952395558005488246353671251
mod:-19650261899708426741119367893002798,8812987996700889285483125610332533544693,0:8812968346438989577056384490964640541895
mod:97698921976137171810654806439140172,2150746254976033978038152730412247,0:915340502215642798937933570589057
mod:89923455582480950213180680168369292947024,990694177649308076053947944961089214039,0:760979594043223368325365121871263683514
mod:723635984996285778841783493422287881642264,32276235065854550279733766315134173,0:19063611098078828395533076621443386
mod:-5037258901456714281661245286129845002,306535320966797925963773461282861033272807,0:306530283707896469249491800037574903427805
mod:166532365585666920632121582151238444,4667090491545163201419847209865957,0:3184198381586208582426929805929949
mod:911936886147819373421198830106569057199,5615756921004609557346343726386068926525410,0:911936886147819373421198830106569057199
mod:86811484072885033355160274493374615256,37068107901315780002032584004147872592,0:12675268270253473351095106485078870072
mod:900473503013044141279558739534891246414484,563077317551901922040540262359036981493665,0:337396185461142219239018477175854264920819
mod:296206604339420484011101863526048420,6943888401750337638037748772448658766,0:296206604339420484011101863526048420
mod:76766227336308707540545234943801585701916947,862719523018962547718304126230369079803,0:581458558401082022815487697114611966204
mod:82054010479033741262889658973891816396202551,74207348922359582189434798229625162234441019,0:7846661556674159073454860744266654161761532
mod:5755949428068825531208655649279932079247416,534856249135883824768051408128323875,0:303149412971297936011710552241756791
mod:-4452928490319786360637181545589562421706,303160457106458311370564160984723696,0:195464116979775085035415115043948838
mod:-33234789698150515963593845391683006297003,247588244673392242851888266520387546,0:218325582291755629376064681215940307
mod:45977596818262545665224859936336489390180665,27112842992285248552330285939262767,0:7978970070244814382475981419198853
mod:19746632039239597257084558812475187,78543233940000315537304287419172400279725,0:19746632039239597257084558812475187
mod:5238660120000018347305860723869512579464,9519590072642166905656304842744016323,0:2885580046826549194893060360303601814
mod:421929309968572623211165422203258159204,6170672461209605966222290081308608002126042,0:421929309968572623211165422203258159204
mod:97091659698518128542501333936202976578952,9041846719954776582047878587371155342936,0:6673192498970362722022548062491423149592
mod:23139165317306380078171479574331055567930602,3235715510499720116696692085743763585,0:687224054572373129244754482756731812
mod:7726755134733624542969321051092429534,137447273592584087361585543516012636379,0:7726755134733624542969321051092429534
mod:-8035318446247202234206121089089275957949,1797181404653889821209194311109353672704806,0:1789146086207642618974988190020264396746857
mod:44241982166867606755367641125284961693,185309069767665166238795112362391081,0:138423562163297190534404383035884415
mod:-65785436012415799791107145824395590258329666,325370594025067544378522706736314963998472679,0:259585158012651744587415560911919373740143013
mod:821027673057722511274869415993294010068508911,57940761411167592399099541246011867856,0:15088585564533356226393273829101110479
mod:-897376592880832081463108433977538716243727,63994684847881571668961590693909662872,0:20872741011198050739952323156486210329
mod:191486322813809144772467638907874658537,8919158359079954072103703171632009622394,0:191486322813809144772467638907874658537
mod:163217130341378273663281863598861624,6240813543901974803730523328640195566309,0:163217130341378273663281863598861624
mod:642113355959693728339535203311987630159829,323941666913544410706066077917137340119619,0:318171689046149317633469125394850290040210
mod:90922298984492607133074207595203967287,4174997092394433838709995127446401945171627,0:90922298984492607133074207595203967287
mod:-56138446847378331284150081036618044197,841578896703894278645078028402014609956835,0:841522758257046900313793878320977991912638
mod:160326346782265576182652967313761281,561264601142183384980166754221561305236177968,0:160326346782265576182652967313761281
mod:62576995621135938138768719119421725807,52496992618170687901372956534626144856655,0:62576995621135938138768719119421725807
mod:-810322268830690053691854099385548648,520427764614796522518452921164896518986058,0:520426954292527691828399229310797133437410
mod:-7946357739653867559456965124148378449835470,5327876492137615168373368729394652862957684,0:2709395244621362777289772334640927276079898
mod:51331569935780141651744430445423490878343,752393011036235424760251760776480444081267,0:51331569935780141651744430445423490878343
mod:6390091523604851953175389451017692789149570,538026068781142884378652825927355725561390604,0:6390091523604851953175389451017692789149570
mod:50795967128946679209456313061694178754547719,2799907523414076596435050064346492259123881,0:397631707493300473625411903457318090317861
mod:931794725698638185508827954509566305382537413,188887874108390274677254477767965547955941480,0:176243229265077086799810043437704113558771493
mod:45956761520600045904065879294257993751858393,2754559558487710326209328606488100503,0:1112021195932856302477743058115163232
mod:86998056199797702223316805148045842457568,853454763663288996214888780372138920872593497,0:86998056199797702223316805148045842457568
mod:-20704801388339426733036642845379116124827,1435867681437150310057862989648368134,0:410577984280737997741465350352367453
mod:2856130129221222388492861978859662650626462,3415046666744379998032348811600467386135912906,0:2856130129221222388492861978859662650626462
mod:9174094790970904280083488936332437588,80223089031357892324412497824961233579,0:9174094790970904280083488936332437588
mod:4534642237573685930694951916760916917,1687939078118830937441972536472082033553313,0:4534642237573685930694951916760916917
mod:4953285485878049171718509399492969344,8438715605646215951383851878799856179,0:4953285485878049171718509399492969344
mod:-5473561371563615410812461706913472604,214334897451541211570930222077036158481210,0:214329423890169647955519409615329245008606
mod:32314040316433349581573558346471215798,854672171304077635036322002646520921344854,0:32314040316433349581573558346471215798
mod:984601652834979681176881179524440398165232732,6010771562748020948016078628902359752985473102,0:984601652834979681176881179524440398165232732
mod:698822785190474223385164957713213782961023671,150442537951079536547656264208689393334480936,0:97052633386156077194539900878456209623099927
mod:-832138567182782528876254228044578514024849,377042837783032738781722401918006460405664,0:298989946166315687468912977709440867192143
mod:-271707131793885697341132963275474633346,74513535025253601112542022792779088685,0:26347008307128707109035127895641721394
mod:44640484386299773856766873434498216561663,5213123770976745902224829213477542076627816299,0:44640484386299773856766873434498216561663
mod:-8174713099269176537506457338358109028363056209,7202185449263765965193807505095247595858978029,0:6229657799258355392881157671832386163354899849
mod:12355340492830472409960851629397705304982,6132966232951258768476406645904988676022226517,0:12355340492830472409960851629397705304982
mod:740672577198687499703984527131597058855628260,62988497968425244096425380714180031243,0:25908678444459756553419138341753752738
mod:319004336538265669049369604224595570722530952,61211042298242370348907837021107959589032437,0:12949125047053817304830419119055772777368767
mod:4806439359677487573544166219831820280885,5343125957234791643541038079815655996180160,0:4806439359677487573544166219831820280885
mod:323024441762812965484474248139147756931591832,5765121910212312442407559411924073985538984,0:177614790923468709650921071399613741408728
mod:4723337975870144045814369863570042890658212,89287300568064096399722912162338068807417604,0:4723337975870144045814369863570042890658212
mod:4046612007916961296580001696582058791225882326,5729739966517853346267035412515108513431626770,0:4046612007916961296580001696582058791225882326
mod:540533121775179300141141525507624112998,4914658151314087364162157813143111418270829,0:540533121775179300141141525507624112998
mod:66280283111826907749579181590044353153733,204172771634272898466853823821147342141093,0:66280283111826907749579181590044353153733
mod:925538924182292886302889784301398233703,1123951844806914762874832168405952076336884530,0:925538924182292886302889784301398233703
mod:-9277230270610927782719268661989105709153,55678956296429757152650874683611007657644,0:46401726025818829369931606021621901948491
mod:50293591559684931942237588278999569425818428,141131236033928957276244084171780508793074,0:50871531606223151894694313845708295484084
mod:227536874010521150326799753293426594405370122100,5663713263329817356263170887251834777947840,0:2857369509067856283126068971384036093597940
mod:-159636069245107191231315124801771805922519,5376563717710166640876235141463100221226553282,0:5376404081640921533685003826338298449420630763
mod:296211412518831858845632004066852419532092957,9193193936667373505606545836126920558776593,0:2029206545475906666222537310790961651241981
mod:86602967441811929071383589926953279497600400,29113787967675780279817029258848956369351891,0:28375391506460368511749531409255366758896618
mod:935808235992985547250049168223094462501588,823359169504337998748976932597778859831206424,0:935808235992985547250049168223094462501588
mod:1241588731631743791569571581848113730164929826,171962803446046629060145060037355991426961,0:17290751287129755324248378403472062271406
mod:-74403542912395173151108580799350125207208,117394870062241902513223079179473780570881,0:42991327149846729362114498380123655363673
mod:-97438192951192117314716964768364222640372905637,8024586066648229541713894611454280576509407,0:4355656117334010314857498525106400180823564
mod:-737958699044282011354135601107494488027530,158340104707707507507946829328121909848911613226,0:158339366749008463225935475192520802354423585696
mod:7238206747053249220557962252149262130217519,26583927802751023597693302694515406325578,0:7378384704970801985383919241071609660303
mod:-76298303799498407827228786401180081621564,305509547184311996384274460275527665616703456,0:305433248880512497976447231489126485535081892
mod:8484126595409899812717896552747684329372,304175476902105667248597679191320877778921077,0:8484126595409899812717896552747684329372
mod:16618292546225677123057630920609252345178704453,1759703193372771615772702336566528721798637962,0:780963805870732581103309891510493848990962795
mod:-86688490323412015602068918712338617474038884337,68055712910244091518751770267361236110795,0:60113101985245418861232982916749058457123
mod:-2147105590126324395866565651207583306108779,8080551616254563514320925568870382437821720942,0:8078404510664437189925059003219174854515612163
mod:8351518777266745029929974668820179263529631715443,175331741086869721483946575985451578498971069791,0:110926946183868120184485597503955074077991435266
mod:-1795087841202144142663615322625965929380012985,35306979241856773462781084288773766694122468,0:5568100132551303938219976101496172020232883
mod:1223266620160352395848150839920704951768,4664479506170256011858225502160377500533300400637,0:1223266620160352395848150839920704951768
mod:39982725086518866718673198942063749137891,461771175994919359694841662569213792123219861,0:39982725086518866718673198942063749137891
mod:357581778914196308302086292874528466152700626874,3109407409714291140644239657248083936467914372416,0:357581778914196308302086292874528466152700626874
mod:149499532166554918559602886813953835372516,4116995844742979208794059184185312557100182485,0:149499532166554918559602886813953835372516
mod:30162948061054933954336062823716515388316534139,210277285976133726432524140550436988594139754,0:93296166467811074485110725004026019354549317
mod:52810485653680320320369005564031524621022350,82825120387123890672981225414839234585635496,0:52810485653680320320369005564031524621022350
mod:7208022814700388108567430430861339898438,2633586073486065955736662183793128252475,0:1940850667728256197094106063275083393488
mod:1133096693748508212236566391854344691508408508,2601250202595579849376374699877144432325855432,0:1133096693748508212236566391854344691508408508
mod:24110493767768334678283829225780182918079966113,62617472892345734441670381366941494160023,0:11535407963705925298902727562240728070101
mod:2029154393292042830677214368668639182381808222081,82610125404955917046846600049858255083588,0:65547351731225346301018769765882024339145
mod:950870388742015370309491008506921827067333129594,9135792372038219712944984119888962386493530278645,0:950870388742015370309491008506921827067333129594
mod:646334826846693204541658068926128186360010,54407099890316510058892785158311428336873182,0:646334826846693204541658068926128186360010
mod:428552882985823327962705708694562616508577,141639571156330467462518777812629657176255,0:3634169516831925575149375256673644979812
mod:21509351141318679646739001694607822320768,21896381149810489046647085552887947819439418684,0:21509351141318679646739001694607822320768
mod:632728454831941197355087764542806015137812368262,222724285350635099362081058306677746403035965,0:191484436137515166777558951841215353190227662
mod:29001858864232179857863618818997005925607,263069727005942155120496500688512817218817,0:29001858864232179857863618818997005925607
mod:2833859942689944963761411216780529093075213667,24836085579076290404924895501933094503621863,0:2546186675247857599973129560156319662321285
mod:87503819229335363919830481339117453040132756753,7265931585748836565776184592881080221565467,0:205142162125158187890287050603931819837672
mod:3785119298527941754940929232952910144091163,384452066294060303214343786012747535262261,0:325050701881399026011835158838182326730814
mod:38179577399511020742387225982022507255362,265561978107157383888631215376392729015255,0:38179577399511020742387225982022507255362
mod:-42541955629872910052396184385091366868620,7073377596138431111003761711368230096543870670658,0:7073377553596475481130851658972045711452503802038
mod:962822498059104139629105773638997541722777,291785910412123339651738662863457030701079,0:87464766822734120673889785048626449619540
mod:-610694008008712552303733816313602703956727091,10013831675645158459604313031569589122775,0:9530562183081513694818229700258284829059
mod:25840001817997722382069756182552718470600133,8684986931293242801082346374758755111010579020,0:25840001817997722382069756182552718470600133
mod:65515204463103763906150928285942229386532511441,6904523147545678419356084749116545717835399,0:5088839190367063300396186324443615710245729
mod:88029876839939054322959996030895683781141381988805,87155086119890274408175255450625302996948,0:42833542489532412926993261659835596440801
mod:-140728222219088662551331451181555518857060,85465120005353614253381442147197316880331584686,0:85464979277131395164718890815746135324812727626
mod:9386187660146534186830943256786039971200765327416,587965300048494341491681576852042742249853,0:156828577987386328282882864848506418512778
mod:8015087164840320324802166753130112000577091656,6127305412955855242353538605784472950012242,0:571684694061667803738256764021381961079120
mod:200585481998602232012071307195117379072828517,688377212094972591154108498471394888446887,0:267713278965207986225734139941466534784400
mod:-2500594129935211199120603938323647766148423982331,1361156037555715012439087715972060812276689,0:599374805963096380934653500844754016423148
mod:117111132825449273925221124600613715199470024967190,6687987114639191794225780163327374060501630866595,0:3415351876583013423382861824048356170942300235075
mod:17302923664832474983271296805121649995183106066,41453082247135300103242413890739246798747574758,0:17302923664832474983271296805121649995183106066
mod:804590820827842054650903665300245592864154,31922670356859924926370586627082780796917147,0:804590820827842054650903665300245592864154
mod:1419527821402660938221344683778268760948333788257,28865159616287527805126478593002688908873146865,0:5135000204572075770147232721137004413549591872
mod:-6349296345256358340236015836865079291052256775642,178072362342080585886203440168430935242413913,0:51806412867030122454025780494135951253706286
mod:83483775554984848270591505226690350944356856326,500899723948831224438405152518791040164077250979465,0:83483775554984848270591505226690350944356856326
mod:-5202440839318488047646864687648754749799822,423723177170085295356066936482198199652980649761,0:423717974729245976868019289617510550898230849939
mod:525675600985546172797713152878987836214364203032,52969787195069967379407272322490869598290122,0:3432861671816524475382350588446320933032304
mod:37858860128097787570803474618858008892810909590,5748777360917412753508983838083899279156995949,0:3366195962593311049749571590354613217868933896
mod:45957868400560169903622579655897442394944091417163,62063277048172505864034466895124800993363976911,0:31043384912515564237074153505089659854748503023
mod:18051383988929839561139635711444280609605686,829384533321617231836740782712342923300954,0:634308789175877692568079274485079220285652
mod:2455769442319397759077734120262920951648644195950,902538521133892788023206849882232725042383975,0:864664835209375654611488583247939533359783950
mod:4589658345087491870839566381729330015793440,513428177661658876831707141329481947688426657,0:4589658345087491870839566381729330015793440
mod:-3573981672918561820060475190255839052046119,6138097283471921734295336167784166932835047133,0:6134523301799003172475275692593911093783001014
mod:651620293244411254456830208908605775265324147,49737728886554678175954115600491082303192404,0:5029817719200438169426706102221705323822895
mod:-16650974859063823766693159687850998551426028,945869854077417138401154817030148430752804974724,0:945853203102558074577388123870460579754253548696
mod:-965598273519770488416791785443027019154228220991,58147062667685853263523283369280759917430291182,0:22901791830889017063104031834745899442086729103
mod:28701469969197750610229907539580754650086642,3909053247766771922418857228732717683752395675,0:28701469969197750610229907539580754650086642
mod:-8748391241949190130773015442145843092096091103,42809713885017092071880308569574525272117288,0:27600104479313743962447814616934588687952937
mod:-6130419437464601359973583052365059560631450,2868142672962642021474985766046232299028848,0:2474008581423324704451374245773637336455094
mod:95640797562953613006161464063899219827371659541,19819192346118145486800692560690336691790893,0:13194492933561032348122458568345289480600816
mod:-5004080847919147880779643424152795003888630787668,21840420756428944369875564516044464145680642454,0:19215926059509324291736414537431749617916976752
mod:2939482810778921033958889604777113454839240320170,566855177384622843277537161088088916192047616362,0:105206923855806817571203799336668873879002238360
mod:291726867119014526479710686475643665173438062,202885774177743860764627132154911476520592335058005,0:291726867119014526479710686475643665173438062
mod:8683025332039408014362977905935333328608348,78614799730964514801510410033797138266803757860,0:8683025332039408014362977905935333328608348
mod:869468342614628804595566251564864548106595266,73624620788538462644074114115939464475401814111645,0:869468342614628804595566251564864548106595266
mod:4728910553503250598863512353801889257516953314,648895113009231703768170210292430028966664779037,0:4728910553503250598863512353801889257516953314
mod:760566451760297307988377549048192013905533937,2697105353808446098263423690773776969485171497,0:760566451760297307988377549048192013905533937
mod:918153477317716353524438631647119722202588746160,40888243303074949046907063669422917592190788906358,0:918153477317716353524438631647119722202588746160
mod:-1473776558819659703245310105293049377337981709,31054248040311137303584740614306271791161270545,0:29580471481491477600339430509013222413823288836
mod:905086443229432348861962052611640110347186013855,16319880347082113262021644716353623982591699522702,0:905086443229432348861962052611640110347186013855
mod:-3948357993060778828570152166999624499401960763170,77670033625089877508398637915359376482388910,0:75836304290184446800990065584763456761865590
mod:-784992783303820924306757780883007042021257440780615,463574560419641941889185992215306604381633902571284,0:142156337535462959471614203547606166742010364361953
mod:3823677606013902933129598925384688189274201201551,99529942495899622221328610053601822241548249,0:35805148927146252817712955466984220642119718
mod:12254504447986771204864826285146960991558427605699,6125051499311360686388425114933437945893268599,0:4401449364049832087976055280085099771890407699
mod:-2580894945525990910646902811077109168493411986,572510241156643657546678509117136144990147708808871,0:572507660261698131555767862214325067880979215396885
mod:343089829587091844514156149817937152291781907,43377295017128784286263228943698366029281236815,0:343089829587091844514156149817937152291781907
mod:7853011116124010483217978861490662971029642862525,552677408447001109928623269020934228695696472,0:17819500571712242170831972208515492491691877
mod:887815431705947711841094597810602130602260715,8486574430538892118817816797303238023509341587403,0:887815431705947711841094597810602130602260715
mod:67620759311796073899200379294956624554814285201520,87303800600842937580229698689028406709310049288843035,0:67620759311796073899200379294956624554814285201520
mod:-38490591886267408374352863050032614782701178357,66475506278603268018635318767149490286581760362179844,0:66475467788011381751226944414286440253966977661001487
mod:-544395011810833021655729041737889469872310533646777,731611503205277837707380015577043727374026342728599368,0:731067108193467004685724286535305837904154032194952591
mod:8890962095194591840604729292735591304316116728,517571143480065164208802281191733497859755993101179949,0:8890962095194591840604729292735591304316116728
mod:40588319468481766273347382652716318465741545598763,1536971037850601936767123301111618687777305090,0:1525271960920929137957640261803777606250087133
mod:48235707095020151632145028961335649832134676937,794868261145529770762797624857872107306805378170,0:48235707095020151632145028961335649832134676937
mod:-9523841594085891512065672092684699107288546273626439,473487777070786775175577792880772873295554421457750,0:419401724400630766621461557811531231918096576986311
mod:90074633895471637214960779532906651648038212359500386,820079595762158387084577717033680869242497989232,0:371415339208611139101404795279693919203214214434
mod:502553209306579947121167024397370721577297298727046100,52494082558436951205873151813775449908847817944715,0:27356974663013227343342084098339599897137542289405
mod:5790702792462693399581381818523043045468711777,48910417508813857701976328940621637734412004053009,0:5790702792462693399581381818523043045468711777
mod:8115756631582685507536476067391256503367264361488762,84450889017264877905314659939101106548473815858544561,0:8115756631582685507536476067391256503367264361488762
mod:8194219075070331821784044970434313099982993771,652282608320462546135364960046755034411967968039334154,0:8194219075070331821784044970434313099982993771
mod:75033785162139990322256697516355737268216190660,50448201882288504062521017516515948614320857837,0:24585583279851486259735679999839788653895332823
mod:-310420971441772166248782136661913235149811988,52251157147894938842540415683732209931823110303,0:51940736176453166676291633547070296696673298315
mod:-465851374976907401549861928175506333511972756050,404205507663774789620852323466440811463681452434704718,0:404205041812399812713450773604512635957347940461948668
mod:86727934051201027780798621123886995870064920795,2623457841745489387377116124239592088889194223622807,0:86727934051201027780798621123886995870064920795
mod:-2164209564341937597697994551840383739114494141322,5822096741927098565898057075974774660691292113200355,0:5819932532362756628300359081422934276952177619059033
mod:-21572594290097356729450557279398987661535311983806,95173892429181732470545230031265828462190645462413613,0:95152319834891635113815779473986429474529110150429807
mod:896154498632105428944035878874928031422856104434543133,2920373159440158169043176499665564441266475422,0:603088578315357918226288933626857244348602913
mod:-28106796449976334513237948147051254770072052831429,8250476728385872623793527898989079209376092358,0:2577763634333516026601404804538096272293832277
mod:-5910781525258418818015395848760618489911223430349957,51598547888760073234245679451691550056130732598,0:38529590602611260383715148455335218776511681335
mod:7727963353453460964292856120418469526804141877435331,9692488255114907303703797109203796514048948603078,0:3050214126879843240929824383043705107129840782165
mod:937009697498591315869575189938875974899784631458,9231715369857992569685209191243252034527233388658,0:937009697498591315869575189938875974899784631458
mod:190934454146310086697642361797951041146551500749,10448518118997830258656577725632025806308987954,0:2861128004349142041823962736574576632989717577
mod:716842295935464600709869948911248187992875653195892447,401547841844896246538515909881184133363330747247974,0:79398242324800638619049773334509939330269358258857
mod:-538446228722400194015060345964154302722009578079,57520540642458327434814547831209263785958735384,0:36759177702183080333085132347938335137577775761
mod:96967488061013453069137268213397106742518252838974707,4323900098433218426906897807465481156203036443592813,0:1841685895482647677185516449156521306051451079932821
mod:4248753403571933538992485400308861658493364877663,939067422305299585909602271217318347813010825877,0:492483714350735195354076315439588267241321574155
mod:-107460187565073890428227205420824162161759055432,282612401032124761876915123928433707969500860981828349,0:282612293571937196803024695701228287145338699222772917
mod:6649481706449462881752315195565911763474357952858741,659725471155847914828668487679599556025560898493899721,0:6649481706449462881752315195565911763474357952858741
mod:6305756385410127441079092163742836866873755879,9919320027008577000539126363765101039097548804251,0:6305756385410127441079092163742836866873755879
mod:-38180683008697554526126494541279186939566773312,4697678019691033242250502480954454444789783096,0:4098419168521744654128027787310903063541274552
mod:627353070533528810361133250533207881585454632738,247981734193053924842956535127898645616700024063945,0:627353070533528810361133250533207881585454632738
mod:-977100235060594126432793245647088458561713536019153,711683384963018548537977961275571093400571875056194861,0:710706284727957954411545168029924004942010161520175708
mod:1498139275498305618541952433970427820083740864078175,3957896946470021688374936335906211866428578229500974,0:1498139275498305618541952433970427820083740864078175
mod:597201805617750253952058296204205724608800648357149,4978798146323419820714075023507404888549551451,0:4925562548693297046425284539523037059050912601
mod:-56676822442119009829407208281675487240867001784809049878,6406684614200209335872193933373288202798878241606,0:2690987740863316857560626374071228113763853811606
mod:8685426845950882129513316465433060160017749608742,5862536885517747336130664930278619887073507404339873116,0:8685426845950882129513316465433060160017749608742
mod:-758552875949625615550950682460830448030408807239369540,6928982530621565423313581311775944174511467885237190,0:3635202418746581013543261834523411165852660136721360
mod:165930319304414878413873653644927162776703980852674518,70941371417197323006528137030561117730233179743191461,0:24047576470020232400817379583804927316237621366291596
mod:-30974844728461949004845422334486602888821195017,323336199778314705263073710488111629703644763021,0:292361355049852756258228288153625026814823568004
mod:6133073724222023714159452874993644151837626947339205812,7463402457118308536507525382128605388905979122243374,0:5620306927892405686774536266059127545818087977395758
mod:45342828302867171033162078210088228770176829233725,826633934789479436275857854693648185626420538347806062,0:45342828302867171033162078210088228770176829233725
mod:-26272751936716551812042161754718676251990474722,3726791277147420607688434457942745910700285747248,0:3700518525210704055876392296188027234448295272526
mod:-39318997476790646356737814318350583742657677501,1994697821466452959618065249537163794020403205602,0:1955378823989662313261327435218813210277745528101
mod:8027107780836872755806128697397537471698261298622,1333439935985760787392296885353944866764267524928758610,0:8027107780836872755806128697397537471698261298622
mod:-55936499409386931117510358618192060334282485918550322,398438202364094320499957997907168092925880758462,0:239820508270537478744707995268231581913761929858
mod:4986596463362462090356441596215520136635434728102133698,904796510225702345660178949801987674355175932951442952042,0:4986596463362462090356441596215520136635434728102133698
mod:206550560537111820336709370332003111271041434735753,8863245846520291116010486302557366093750491313639489405,0:206550560537111820336709370332003111271041434735753
mod:576258003770289338613512178842212632031473801519,112928562274312812079466249863533328301249309332,0:11615192398725278216180929524545990525227254859
mod:5044250943493799862304047991036206572453520324334513,35881021726135630824830413448736592392545545812443121,0:5044250943493799862304047991036206572453520324334513
mod:905588871665990684975164361624636275705950128546215874,53243625735815790460446478875365074647441813141773592808,0:905588871665990684975164361624636275705950128546215874
mod:5991116388159027989458739990542641030328044128925695503,721278676327052740788584942208715418345142864101,0:431868180450652741834416094047706629629986812960
mod:-3474677351996973979038623915159768162722810109611432906,763685814389121867002329466465821059768201256128129,0:93103473530515821975157259717659222505605771554044
mod:8460371705356400367952890710394988728910116421931757,6311797752969747892862660456068082967585770509045488820,0:8460371705356400367952890710394988728910116421931757
mod:-264756559717037431451787362436705748418817738411460,7816554223015299624827224356467518163226383802462318164,0:7816289466455582587395772569105081457477964984723906704
mod:84752881980947180661815959615676455311403364453605403063,52250068596287507582088091160391730925462299132305704,0:3270717768843363669075753521067750303515261005551175
mod:64938454622435247872445936607970411171632403906819,964092617858022639258083183616152671542900110410,0:344249225947731042154363305688182178258096509349
mod:40144089093980612505699952982513757457937212093962271,10902061466143734099157856887908326325446558980281568,0:7437904695549410208226382318788778481597535153117567
mod:107130104935801948815478025681375166396055326914961974,6641641026382469722494881921027536542476581953333157,0:863848513682433255559914944934581716430015661631462
mod:375770000201081420238670197853908213239792155799109438568,741847952379716980656595421052880669705080727039,0:186232142856874724410035514392651753500883140216
mod:314494472877016149904621158951181139298853721401432703777,2289213676835383723493513562354885152593212937649884,0:8739694298587358772241304662150445534814153989973
mod:491754906560818931573946605055051948215890543148276100,5346198427406770324055146743032112633140429155293,0:882811089383626706097337472163994367588586115374
mod:831402402931313770942586028473722467913682852291371107996,249203176454681279672468752353764682559981472637056324863,0:83792873567269931925179771412428420233738434380202133407
mod:-927301671513394245404756806010463865731294755475136031104,128994162476254345599482066271274174336327781183511925567,0:104651628296640519391099724159729528959327493992959373432
mod:49063903583376380376914162724558461583861450724317254,941774744692403469242853096809411489238020290379296849870,0:49063903583376380376914162724558461583861450724317254
mod:95814446741364664911508702682923954900446789248313,2444989997188453542574239416826458624894367967952,0:459836851014976751113365426692068529566438498185
mod:96634339550441353817958772505469549255037435683448,78081012036785909772650615373227006202901241216144834,0:96634339550441353817958772505469549255037435683448
mod:930319417728873563211760140268194907413484971952354004,89121326206650943149280333205573781193492882117302434,0:39106155662364131718956808212457095478556150779329664
mod:296149508458734377319788304412051836966914377456545014105,5775874526745986573435749392656102466476051398568,0:3756015598637200337676470424188468229410269716225
mod:42844020401978935822457442747009223068912783208882,70773879393663215011878508613578824050038059978191899,0:42844020401978935822457442747009223068912783208882
mod:-90593635206751701986722625420716592016545661236480979772,6587808211180976790034063002169935351319078136248018,0:1903313409090829825808985124358934794301293201763764
mod:5733125812846132405536083211632006878958607745362254467,12605191511011498307650361584364883404677231252914573,0:10368866846912173862819052330349813235144756539038325
mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,0:35334176700018152414903708698661724515806296523250
mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,=1:35334176700018152414903708698661724515806296523250
mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,=2:35334176700018152414903708698661724515806296523250
mod:95998165422977408040950062135290204359238945742902842,40371405656826836301445165513921557692353024588296,101:35334176700018152414903708698661724515806296523250
mod:-76855972323011457703707050993748256077521513979037807,1910956865546821689289334552684591792222791353473,0:801852416163817820695380673341213886931466292780
mod:-9872019059197505082121902831056682448354872822219660550903,908082149115602660075723278246449391327542696231965833,0:650065987327038221360650038715334158171371214271985473
mod:595855064966654171339977100486303810714342893653637711,594549781214651234933649045428169123584477791281395609,0:1305283752002936406328055058134687129865102372242102