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

## Multiplication tests
## Generated and verified with GNU bc 1.05

# Regression for zero-sign bug
mul:0,5000,0:0
mul:0,10235,=1:0
mul:0,-58382939939929385885,=2:0

# Basic functionality tests
mul:0,0,0:0
mul:100000000000000000,0,=1:0
mul:102328632557663,995533253464107,0:101871556492663391138178301941
mul:1099511627775,-65839281,=2:-72391055023845629775
mul:424417695707616156,78196371461084006246,0:33187923788210071918733291062874510376
mul:8785533773682081,509516924811454802,0:4476378151193669633826349848802962
mul:3149810015499242805866,671806182669824281823,=1:2116061842647726364810477474851492861573718
mul:7004291671016071522932056033,291108610609315306035746008,=2:2039009616651887991790118373228449729743842556412066264
mul:62479450738832647,8434970263250341371151,0:527012309046267948145296885851102766697
mul:9472845009207216089,8603477481125780254532680,=1:81499408718909018140819102866811806472288520
mul:8704164997261749,601100642928524,=2:5232079176009991665860326228476
mul:-18665805686013,-2922920804055208139127600955,0:54558671764099393911694170691186688942415
mul:44144326678357949,-81195051773905850760614924,0:-3584300890173486959579517806592053823430876
mul:9685579959286825,5953064636346354,0:57658883538135357049439528986050
mul:-7,328492456,0:-2299447192
mul:16522181,930,0:15365628330
mul:844378,24,0:20265072
mul:209,3,0:627
mul:70522336,34102,0:2404952702272
mul:32557663,995533,0:32412227919379
mul:641,701,0:449341
mul:290748,-233,0:-67744284
mul:-95,4770,0:-453150
mul:6839092,7,0:47873644
mul:787590783,-6789049,0:-5346992417735367
mul:721,15845,0:11424245
mul:-37028,-949534667,0:35159369649676
mul:618,-3,0:-1854
mul:16657,-544851,0:-9075583107
mul:28271,6,0:169626
mul:-35357673,5207718,0:-184132790120214
mul:99,-565,0:-55935
mul:9311525,-5,0:-46557625
mul:6221599,7764515429,0:48307701428550971
mul:21590339,486739392,0:10508868477933888
mul:335,3699183948,0:1239226622580
mul:14,8755508782,0:122577122948
mul:-5302,9,0:-47718
mul:8236,9462435,0:77932614660
mul:43040,2766705,0:119078983200
mul:863478587,63,0:54399150981
mul:8874055124,10,0:88740551240
mul:8204,-89955,0:-737990820
mul:3303887262,3,0:9911661786
mul:75504,-62,0:-4681248
mul:436,2123372,0:925790192
mul:3361227,943089540,0:3169938025265580
mul:37340421,223177728,0:8333550321343488
mul:-35694701,238293550,0:-8505817017478550
mul:4263,15500547338,0:66078833301894
mul:1493,38730799,0:57825082907
mul:-635007,298501,0:-189550224507
mul:4968,-98492710997,0:-489311788233096
mul:3367542606,17576297,0:59188929003209982
mul:232155550,3921719,0:910448831390450
mul:4860966,700,0:3402676200
mul:2323372237,867,0:2014363729479
mul:4268,-29035,0:-123921380
mul:8,-73804207633,0:-590433661064
mul:395170,26163606,0:10339072183020
mul:-70027196,6945032910,0:-486341180815020360
mul:5871172260,26773591,0:157192364779785660
mul:17125540,836,0:14316951440
mul:1988202315,-68060596,0:-135318234527479740
mul:554434367524,-909419,0:-504213148079308556
mul:-40457802353,3398,0:-137475612395494
mul:410791452776,4492144466,0:1845334551267808737616
mul:135751970,7417878752,0:1006991653805141440
mul:9593,31047471995,0:297838398848035
mul:-18387143,50226,0:-923512644318
mul:413450673851,-124,0:-51267883557524
mul:-618513698871,-318914624,0:197253063714294189504
mul:37416674596,-8817,0:-329902819912932
mul:6242382,-943205,0:-5887845914310
mul:-4949666413,1501091102,0:-7429900210422557126
mul:-6385784303120,899228089,0:-5742276615660794337680
mul:6308,-79643949,0:-502394030292
mul:2421,136928,0:331502688
mul:333180111,442438,0:147411541950618
mul:723761305,611024432789,0:442235840862251429645
mul:-91289,-9223787613074,0:842030347409912386
mul:10944,57098,0:624880512
mul:57145099,-94544476,0:-5402753440923124
mul:9327105307,88173695233,0:822405340745514901531
mul:73230770347,67182928,0:4919857571607036016
mul:4810254287,-4310,0:-20732195976970
mul:7200253992,9893,0:71232112742856
mul:-92709373682,-664752121448,0:61628752833224878931536
mul:-2236424417,-69570761,0:155589748609671337
mul:781963714,61084006246,0:47765476390121357644
mul:78553,-3773682081509,0:-296434048548776477
mul:24811454802,-26314981001549,0:-652912961735421705488298
mul:805866671,8061826,0:6496756880801246
mul:4281823377004,2916710,0:12488837061941336840
mul:15229,320560332911,0:4881813309901619
mul:6093153060,357460,0:2178058492827600
mul:624794507388,3264784,0:2039819111008224192
mul:2632503413711,-514594728450,0:-1354672379322310051777950
mul:7216089,86034,0:620829001026
mul:112578025,4532680608704,0:510280230883694129600
mul:-972617496,-1100642928524,0:1070504569131119855904
mul:86658,-56860,0:-4927373880
mul:2292080,40552081391276,0:92948614715315894080
mul:57144144326678,3579498119,0:204547357129208422518682
mul:77390585076,614924,0:47589328137274224
mul:685579,959286825595306,0:657666902604804292174
mul:346354116,451435163995,0:156356427156803253420
mul:443946215999,260668,0:115722572232027332
mul:640447120070,-441698,0:-282884212040678860
mul:1253208493501,-8521171736,0:-10678804794135860887736
mul:8507343,62395589,0:530820677310027
mul:81126006,461820852819773,0:37465681276782021316638
mul:87891707090,40954510522233,0:3599561842834425768731970
mul:-767589,-991593,0:761135879277
mul:86229155,43027930,0:3710262045299150
mul:-431963821,48986055721,0:-21160203804962069941
mul:101557073166691,-74080192,0:-7523367479146517284672
mul:-34269048183,250074,0:-8569797955315542
mul:7650667716360,-959482143,0:-7340679055874008959480
mul:-176432105527291,712269105001105,0:-125667137897384071121162656555
mul:91973525400419,-52180215632622,0:-4799198387886300095948868618
mul:9054526,-21388581343089,0:-193663465874114270814
mul:19326311972,3180878,0:61474640572871416
mul:501569850634,39035351302,0:19578955321989857425468
mul:-3470290487760846,622612793613,0:-2160647255233400713100276598
mul:827793089252612,77591849874263,0:64229997108241062748844324956
mul:19866668332,4414961,0:87710565885715052
mul:136274450771,8659380001,0:1180052253653656430771
mul:952660786088689,171372582380,0:163259939044179413638699820
mul:429415374,9140880954,0:3925234813551386796
mul:-368107346,2945634,0:-1084309514027364
mul:2147845929,79983807840463,0:171792896056056736025127
mul:77885771608,-51236668812562,0:-3990607485089940493339696
mul:62272695670,208399244,0:12977582699470073480
mul:61973019,-1405255816878779,0:-87087945439289091663801
mul:286206733986,212837117931767,0:60915416394244148267933262
mul:-131938894,1048695278656631,0:-138363695208977699906114
mul:27109492,306933238851468,0:8320804183177960934256
mul:-314477095129839,3837918787896,0:-1206937551761766779621628744
mul:4116345,9101435151,0:37464647076643095
mul:63853435249810,902940229903,0:57655835504559765637068430
mul:80076033,14791385,0:1184435433375705
mul:-31038678,1454704764,0:-45152112754861992
mul:20638192722,-14267370499730,0:-294452742009605188965060
mul:8065790684,-1977228453431,0:-15947910839823487636804
mul:362687955673,99742877979696,0:36175540507397430642015408
mul:1235326072088,201675880263044,0:249135473000235948746315872
mul:568009735,49546482048450,0:28142884138522341660750
mul:849579042,-3197920541,0:-2716886269614901722
mul:1808291492597692,96814519920612,0:175068872732372459073494427504
mul:6275712123233717,739880208952795162,0:4643275197065752315694969352877154
mul:774075573665981,7523229210171,0:5823547966683781965601892751
mul:2944466357361,497012903828640,0:1463437774497728631346619040
mul:282862415058866,-6240991940068,0:-1765342052530551975764042888
mul:571225883598025,189932649930728,0:108494445780794463607647612200
mul:815309478,-371377784,0:-302787827213836752
mul:320172590239,777220834144,0:248844807655600692320416
mul:654332382,7919190746613,0:5181782944743642722166
mul:-5094673003562,268414312780910,0:-1367483153094548874555601420
mul:-77841790209187781,35267718271550,0:-2745302326850733800658699930550
mul:735762990564598234,-32739891496,0:-24088800477857417959993218064
mul:-5999905013129575,144027889596460,0:-864153656820273314848441304500
mul:6861193105404525,-4725324526382425,0:-32421364061213996907214475473125
mul:859748569384694164,98523184164,0:84705166636223755282588018896
mul:570460270963,-54720108308,0:-31215647812506387460604
mul:61750383079701,3452251304617,0:213177840547497299540279517
mul:-1738716695,8560399484936237,0:-14884109500328036282376715
mul:9953417006786660,90085339160,0:896656946857288287863605600
mul:188523146978,954842405502,0:180009895153280621872956
mul:198834734074395695,171072375577893,0:34015130305505499211880376370635
mul:-102893613303732727,155104650554,0:-15959277935713870085148480758
mul:90836124710855,-98332551310,0:-8932147893931708201470050
mul:10512242068892,84377075433,0:886992242016856266730236
mul:-726835478343584190,29339956106373,0:-21325321031155383354737721042870
mul:5033847480079150451,-69469662902517,0:-349699687543783241256712189585167
mul:3869558083241,-8770208065,0:-33936829509626159538665
mul:46079368203995132,23609959311256,0:1087932008384708532422296805792
mul:979137194422864421,-1378816153373947,0:-1350050180039492392646639294639687
mul:-72618673468,-244198092166982349,0:17733341516582659732950616332
mul:529564016606,376298866055896536,0:199274338952843762914521876816
mul:554186920892,-629719688885314,0:-348982415408420361378580088
mul:3455963977845612750,271884481278417471,0:939622973433450671239608280300355250
mul:-41270780965441117,-4124462824121691009,0:170219801814430998805436931657817053
mul:47581683736,9394210662450,0:446992360690054950913200
mul:8196306676684,76732052476696223555,0:628919434030412315441895170091620
mul:2939970750639,-2013582768244,0:-5919874442628068251907916
mul:70476757656499,-100957934015971,0:-7115187849144405009597945529
mul:3674841030712174173,540185467629182772,0:1985095720638163814590166671314947556
mul:82915322420038008,123799513890,0:10264876609633323785723931120
mul:466513077506,73565730651787738,0:34319375405342972915054421428
mul:-38890216282311653,91459939591112,0:-3556896831865504089438972828136
mul:576595981539992,20909590051109791,0:12056385599118501431228849261672
mul:956905636477652,8381376662473,0:8020186569762664723411553396
mul:9187294026565993,54295427509,0:498828056823282593136101437
mul:8866081281165098,6545042142269515,0:58028875622012459166053127387470
mul:338772425501,-750860960783,0:-254370988898468150127283
mul:6750486296504,8609697533187,0:58119645214823136262078248
mul:736067207074328,329259058372493427315,0:242356795500164369960320250670469320
mul:680100030114145,52232423165123,0:35523272567534917195872964835
mul:22697310250913136791,365228836596285515,0:8289712216805950219366224267686882365
mul:30594845950075862222,37349482121506846253,0:1142701651822614557685156508694964954166
mul:866936756424,-1765396942933391,0:-1530487499507519421423353784
mul:6939438360479781,24559856763503,0:170431612152541518812930232843
mul:927595346004843560,7670228140092963222,0:7114867925545619902286593484943550320
mul:-357321286444971587,7925597841132985664,0:-2831984816439127983772762412958328768
mul:6673370692769029,520191499051311630305,0:3471430704396611186160057152801823845
mul:9013236794945,1008467412252240244,0:9089555586614859880726704766580
mul:406532185466775673747,9519149309169118189,0:3869840572441069484183117712436347484183
mul:548046408595014443,777065152533771,0:425867766090470284154159790254553
mul:23897406396584,-8555442893510156172118,0:-204452895728978731648341501271244912
mul:54729344028716311850,2026849525600172204,0:110928144981012274062113279423765817400
mul:-7936445752013,-98698488318151151,0:783315198342695407195996516963
mul:6309028281362257922,271678876766048827,0:1714029716965733695518439315219557494
mul:6357785774765671053291,56936125648067424,0:361987689715553942195290680512665092384
mul:11095109588014,9104811531028000846,0:101018881714969199044361103459844
mul:-921590308699737078,472826384755153630,0:-435752213887882691328892986497293140
mul:652120832633171211942,-3387083844442113181,0:-2208787936835953406166467995677302807502
mul:32731949302549,335896184427699,0:10994536879607092557766904751
mul:3635516318567409721998,16713986701316425,0:60763971400954533716595371769881217150
mul:6746198240933100303896,2007405485449,0:13542355354775500078274959306009304
mul:-19072614334803913032,-240759760944833349,0:4591918067840391824783380728329304168
mul:828472954262165857,127978158379025077,0:106026442953302260750986298136195989
mul:8306750095431507743,6378030328941226919,0:52980704043597587430846783712468533817
mul:7938532173109072,7646615157112938170608,0:60702900440124541070347993363328555776
mul:25274397567311,3125247753747112,0:78988754224550174717491855832
mul:400327281633151431,37147489147345586,0:14871153349853852722430493627433566
mul:28164658061513141691,818613450005821036296,0:23055967903969532636848840948464301816536
mul:476291935913056166817,170589720180888384,0:81250508071821874441129615756761553728
mul:84130837655605609,16051948347568699941145,0:1350463860485469013094700782617631882305
mul:438146043336536562159,-2206822496905640873917,0:-966910545365262749689560255553699552306803
mul:8120293725815373571,24028314574527126,0:195116972081450718759827878362986946
mul:-667658265953408,8440015504605457600699,0:-5635046116424757633428637247402232192
mul:53314441150262832895,283247085055963859,0:15101160047199676268547968068076341805
mul:6658153298145442,2140281300389057549,0:14250320999144418995877331910041658
mul:213046498706732967,784948480361985741,0:167230525406291802914352434748623547
mul:-3857522843819,419578526133778265155,0:-1618533749336956944635887834826945
mul:-4948941087660882967,-779517282262677550602,0:3857785106731510951136294197380142396134
mul:4277076043224464,448010594023993,0:1916175378810781677476700564752
mul:-644113523059324254840,-71225587742718143,0:45877364252933205602125580469623562120
mul:264902435468141506,-823887292259809475,0:-218249750270876020336340975899569350
mul:1538706915662950684,448326823774496344436,0:689843584219022500302744788239345794224
mul:2036808313025110180,30422160628736748027,0:61964109668796220999356441366572614860
mul:7385426850078311,9871854919284839,0:72907862380963907579111265026929
mul:804644713550364054117828,8379163811459445,0:6742249864863361798556496920366673485460
mul:981008037679996757191201,-641409668917881464,0:-629228040654107304092567432937180101798264
mul:64201713053871850,879119102660231895102,0:56440952369169517073431323344150678700
mul:1033957429367195,1113485105415049436,0:1151296197233604656037339121652020
mul:14455075580451942850,-1885962875546302716,0:-27261735907948286986307866636431780600
mul:2615475057635555327591,71606675442458157933637,0:187285473579953754910128144228132079173078467
mul:596676024530775,2621192750454214313695,0:1564002869869908372861756951031463625
mul:71665682789483848832034,351563529541544408090967,0:25195040388475655750558432995602321242575636878
mul:5092055214749737510271,-1833800774226189505,0:-9337814795210574311088704576082129905855
mul:600508413963341945,5057063373752305154,0:3036809105884103889579068197287884530
mul:-92318043858914149,958444935645415778103,0:-88481761605267642819033271229511079347
mul:385447683586530283,1775981280157037775814,0:684547870529570889684189390051875975362
mul:80717517906672139,362327909576030289130356,0:29246209529290308450092391020660324351484
mul:31249856290116188,7875872084416640,0:246119870797357830310409800568320
mul:5339381130045070,-287550419156538713298378,0:-1535341281980973219291224752615497896460
mul:-28993892995370333046,698005135756870427,0:-20237886216353643864566444205658230642
mul:9179674525723481348,81469928617693608886,0:747867428344352459523920577957828058328
mul:7522547789649675160016,285918417200326088447794,0:2150834957330446680178114494867165936012204704
mul:-901774653467788803,236000195734098992,0:-212818994726447447848669649751186576
mul:142671415131788790,-2583777714764598301032762,0:-368631222951444570172731660827393454337980
mul:951078283105727024828,1487627587101952300275691,0:1414850291441640178530450466337072693601856148
mul:19185476025869672486,2445736876347152429980675,0:46922626206743672591769434078619109559208050
mul:6741226163186521681303,2568160083399218078514720,0:17312547945462088421236893499979478635434280160
mul:3987919571578399660412212,9884144363611069680876,0:39417172755950910755988046816263833157453257712
mul:99431631881940059268,-291965406586754754564989,0:-29030596829995156232729757591886192217768052
mul:36727416735327035,-1612205593089728906670,0:-59212146680431557459581110615442823450
mul:19590774006340220367562,984968880458891391,0:19296302740348077288926838014277057458742
mul:70695613219926859099201753,62591913993270611799645,0:4424973742363186825608316839246937058962268777685
mul:77425442645246583405,-296832015660977965,0:-22982350203831985042851014697239670825
mul:807971872592227526408,40230405885131399744453603,0:32505036378154987781247713889763216622213248024
mul:965370212546292322,92058451234918953535616,0:88870486635336197062343410079373774340352
mul:418561885926860582,239657399821326936,0:100311453245542262612436139913236752
mul:4657697584188823828175,78713797195009784682708,0:366625063037526091489561582727843402285697900
mul:-38091455008728662,5763777114003492300442812,0:-219550656618403959076635804481627756277544
mul:54943065861736600767,6268390929335695219433,0:344404615677603400985934681975925581105111
mul:-697639190379957186138,2936028900796584636,0:-2048288825283884939792000285015322975768
mul:96018089280939789090187,29566309848085271814423786,0:2838900578701380961562729671686086004548591987982
mul:-1112368751522257152114,1995174854903534746993983,0:-2219370162417645509690181099382354083873730062
mul:-84342841213955171500540,5699084396809137598518,0:-480676970345002579334276102870293770140199720
mul:225675029492277024520800,92998377812004114915728728,0:20987411655457949896280985578493804059256993542400
mul:7655269162163547244,594548791001649285,0:4551431025156545678791700910016320540
mul:17608380663675562604,264448308193844308642824889,0:4656506476542203967645749547080047894928850956
mul:223093179893694063251643,17908241494426478956477995,0:3995206541295803079022953995876886965688677095785
mul:-9501451313199296478183,164266650410143061944307590,0:-1560771581254303549338241248628058185171476308970
mul:4558730178677382262,3122005086984557462,0:14232378808020807989791594528678539044
mul:54440882483631228680923933,4478571958703194374379,0:243817409698246737082188977425300200477623112607
mul:36855929355558415329723,308635436762628905,0:11375045853945367585945011810669865443315
mul:28683868680975381560,42902583850929860163229,0:1230612081254607193977374775224312156657240
mul:24731088466679335541839144,81462858536522998396,0:2014665161215334180518726488874060847202013024
mul:-72335534127835253275,-227166439208550011362,0:16432205716068881729381218555965397710550
mul:474777034176054735892,839001319154604024448982,0:398338557978020441829154570519593836838261944
mul:6299666296143449904,797331145004636509,0:5022920141051174455685525850770945136
mul:8540885149755672764459236,41765710483565552588310,0:356716136438079846570195465527416281897285131160
mul:385990739803366398,2963466700114736836981086,0:1143870703959928224960974233605962253948228
mul:-37246197932269024,3005402223074948482,0:-111939806066730874158935454164421568
mul:-751622018429096822596,3003864133422104297,0:-2257770423049491832679123307914818295012
mul:-6108319432277782804,-82931541043539126216389,0:506572343704992558730984950135146447174756
mul:30921518942393713547539642,721143788088068568685,0:22298861303554770289882384831917605974237310770
mul:570903751254308471830202651,-564896588437884119958,0:-322501581409949262735089396741686909437933608658
mul:1054271475454361570597270062,16484741384321323400,0:17379392621732016481140067393169300655040050800
mul:6529831639822170310307759,85346429845722052312845786,0:557297817952459046702350223377401463955562766253574
mul:-754058902141939454006,69516695016006129145191,0:-52419682724305615903366455441899934040585146
mul:976193241125104191848393,33823563038032982713854,0:33018333628496693179640404511073605465668736622
mul:2920092456500658009757,8895875497550350532901302605,0:25976778934365816392930294156133718389132099516985
mul:9994369499844252132394601638,93334243646132127297454621,0:932816917987935116609350111907831170748502078677269198
mul:569015432462996733746,16322837154963292812416483,0:9287946242754509292015515862839485902412735318
mul:192500272569416024937360278,-235265435750733300361,0:-45288660508178593749288683427056889794244460358
mul:5267095375035104443898399000,-764192677627393558125306,0:-4025075717966937142285931052847299736560774785094000
mul:51025753118541843018,-1664207936338749988204,0:-84917463297539057165628056384027919759672
mul:-62402848465899883613105,12900108782353988220438351,0:-805003533538860189408921682314395887504788189855
mul:-8212641700259728565,297115088713153106682478,0:-2440099767342009818056382435156531921584070
mul:-5313586393962705049080,-76998532453336088964044527295,0:409138354399142425739761358816694829939838374638600
mul:463290189242313601142817059,969769350842083604500926,0:449284626073024525963512524360298740721467414096634
mul:1917277332460964412252,-708614825339303498360550,0:-1358611142068832022550567351649418376333458600
mul:99562752968815530108,23844471852654970991199350,0:2374021260737762056439185654671360472955029800
mul:3003923448532254675001,7732856831499478812681071,0:23228909960284118604870886637597256802569606071
mul:5794073936773633607324540860,-76553654622431077040278132,0:-443557535012598304414911912958839564575760243598473520
mul:-644932980169883872037968349,42642515095105038480,0:-27501564342225351457715028479060110852667069520
mul:41892582203464757978762451494,68041907390182959305068217308,0:2850451198623775837247177391258991797607621147282401258152
mul:-5550794996398648089925,-61773015425098686639107,0:342889344934094297210650346841878123357696975
mul:26506218374693057900,-167675112099207386871,0:-4444433137302729109790367830963302830900
mul:145568384864275126584,40072954892382195328941863291,0:5833355320423028246614959434448834158605847827944
mul:3161170925861501561771687,413220145707787390821,0:1306259510591710846827739981054213899841485027
mul:723440854928237000349411,-71208223609049472714282072,0:-51514938165651820551744112187918120977634013059592
mul:94994080481292730137,4307839512004666207932600136,0:409219253303864061854413637026462925940577498632
mul:7821178378958515500742,3087104738440174209004586,0:24144796833868673714228905443995252515164402812
mul:869891649236864909625695,991848579874131467931448097,0:862800796939950559315938082847205513561495590052415
mul:17628160996789341122894,299337591195948255548811,0:5276771249993287502058785568793774940966579034
mul:99527056994641754235498057471,655773087035017085668857,0:65267165408886313115258469743139728285489416260880647
mul:596721281791001887739,-328175786669349585798669238390,0:-195829476074104675040288189805440291150559409100210
mul:266802917073126657350936,148259550527207353925931727,0:39556080564609535241696861668682911763097415546472
mul:297095531532857951877,8071469565512676957784213778,0:2397997540817274789320989692996853463867804361306
mul:-64574484904487858142015156737,351049851111701482889769,0:-22668863311335277552737854676715612712147868228723753
mul:9213606993296693767546,-974475310790221342435,0:-8978432538291752468015873684497297955614510
mul:-6506246525097752180174,-95653949321972166356216836249,0:622348175387957895590333791334216293967024502327326
mul:7211807452760603826715508,25981532388511222064867790,0:187373808913606243431674903539484028735353962687320
mul:244358078258267292267766114,6788410077941126965241803849,0:1658802841074748272013529977344553715539817794996972786
mul:-84498071017578145227329893,51359077717175899950414794158,0:-4339742996343244440353286358071234877760977371555165094
mul:315675121566194900458712010,607326754590110945679173086,0:191717947085635889541757875305524761525955701416962860
mul:3336777364604897112789890,24326442512123908471776,0:81171922735817348191862980575095189973683144640
mul:-631164366791648249399815693437,224085205047080377284686,0:-141434596550917146771849565583627819691166316250805782
mul:-9374071452933990971885163627,-8124264246742383054580586,0:76157433551480046450059234199385450235104896467545422
mul:-8986611810629266612086889,39090932189616079255587,0:-351295032903711635666432166463380265071682698843
mul:131042125952122412011234961669,-603299752062616670818260436,0:-79057682096673636704088945577099341952975178863719227684
mul:-5931135084197112120929525527383,817854717051260202081870677650,0:-4850806806078831488870903900854502497422338114185819841089950
mul:37076034350171687718404493,6575825691817817445639700141386,0:243805539230578902066220627976270126208617978926437647298
mul:6586877468189252639017707825771,813151310907233772623665199797,0:5356128048043411806613358165516537614499231407192441180568487
mul:2933337084774328653741904208050,516673656644156545121601676651,0:1515577997760262602679690085554979355436376363966312331240550
mul:-9902991686684787357658450,173313993122814232472956,0:-1716327033081373752497961221272672144589109878200
mul:9274522469490915283112908394363,44864081129175577116760112,0:416092928505602244504563614588785724831758965222564048656
mul:9608655195311416270604257657,65867528105907714734959487,0:632898366137150893335309426569727530606624485604541959
mul:853239911600142024011098491,17829323361272785163230303,0:15212690288662738268179355293062413175232317048772773
mul:23972081642808055559504902,-4501717580058722285684735,0:-107915541362031999704526719592126415237678659070970
mul:5314236376598680151908105,3994830160691915764873,0:21229471758282529614266075257916580301482995665
mul:4935319583093232012062136782,881389216056886912824752493825,0:4349937458332745712903267792817007035077166975812760371150
mul:580231659494763900889556,96767644291944525456085901,0:56147650832913989511127904567807102400387849749956
mul:303622305001319462939309066150,-27984889540977885375442171280684,0:-8496836667639022536327520662086169404630681920995637573246600
mul:8908131273613694428163643,418798812110676949375564324,0:3730714795515386967446577233797553865021052144672332
mul:604960317372762640669451812,820482420778387317631260055,0:496359305672865772215202726749222319854411791662969660
mul:3125355862613621420823337,52123353846012574000878521623,0:162904029521719649924422263486125418351967284017515951
mul:35876668588605457895900,-237986271303986771473105323,0:-8538154584211078670353490608427234416302669875700
mul:-43001262189486935668928474222321,75601013836677651900921245468148,0:-3250939017782005364312622194873995196088464819832369459876131508
mul:50360054222226284955381499,-7538629547593198554710875138,0:-379645792778070687264466482409787805710036592944271862
mul:16303655607623383537122,23252538460647040924816117157,0:379101379065406527294500251303186510479764610602154
mul:29876051059586965106021953,26235768232838079362376,0:783821151311760139992194729309972935608098240328
mul:29623076251397963944271763623335,47441755805615786352682527,0:1405370749729958481398420374857049608464886735734463967545
mul:9892811422980328964557595259,603482574014084208448431822759,0:5970139301776104093120254749814895923385575422031146699581
mul:-2549498483308845928405350,2555383871703609992631017913548,0:-6514947305180240206124780570855709347291338943800681800
mul:-935906971037827073384146870,879641356065373793312781,0:-823262477154750723009760282203349336801144752145470
mul:19597038710644290533555897021,2985160892106475439715913026,0:58500313560112043537702497574448903543850923995448495546
mul:-5608937456930306694772980,836399586633606428927522624674,0:-4691312970430260182524580697490183025347068206176508520
mul:7718522069758342120350478031,7389561033066750535580836572,0:57036489919551968141273365317951375124662579683087349732
mul:718875898101761373218778459,686314096776480574628984874102515,0:493374662700091643313347796063672168629137876643552239724385
mul:1300200863593962819188902,525922101427424561614551608409976,0:683804370459089120916221427942950472299573480614205286352
mul:539220635752920237029329058,29487916769600117002583914582181,0:15900493227532973069876042371837383552914044277544832315498
mul:5654437789656914341120143121414,6765853316633901505298664574837,0:38257096672850301023676847185295792977091707859763702380259518
mul:103114174998937498500059583,920095995082794389728025430890882,0:94874939452788796816569177101730218978113456477925771422206
mul:29882936700790118228421849,-1860889369990333700884198092,0:-55608839250594344207705038774209133311036319056912108
mul:8909623809613954310018698,-462806578041198407432067106139,0:-4123432506961820007043026316146032423296431299840587022
mul:7230230288816368650543810,22162946284655819337870476,0:160243205516728709182606639762736983481104743553560
mul:734442358589456361847988629,1647427465162259118128391711,0:1209940513118819039348215846845414818873067603985854219
mul:47616626651192848094181030316,2182277257935167463613810412,0:103912681440487744288228839398232844775482481328848450192
mul:294703827229370598691617,63046555168872062038888853,0:18580061101894254060770213008323255399294285845301
mul:-533653415261740333749397,-51216937243134223196656339350075,0:27332093479044801759907744737948616465079304814903154775
mul:784368839220787531616946253680351,39613735771181195550018240677,0:31071779944040382951244796866071327091341523727977793343837627
mul:5770744507580580048400572,231937913382367374762373686161,0:1338454439750996843543440906327507234975603867940884092
mul:388816489715059942531589642,82051838197217717225950877,0:31903107702510265086302832415272579698669593814016034
mul:60241729629297025142644618709,85181464884435369517497693388632,0:5131478776995614297555781224894400552133266197008401795116088
mul:1560786485638020475934392460005620,8850527081981124295638445,0:13813783060329443326853456039031810473529482812666188060900
mul:8296622334734688413856037840,-83875508267086319614619277276,0:-695883415225932360550627205972534406741559721529708123840
mul:-45794179084517723375284971259238,-49063790774577780701852303,0:2246836021296323435311993617164824492625064891225000325114
mul:1752071933321291709931075226933,57773126045256149501100162,0:101222672644126613791673432521136796654007466067313063146
mul:730668796977177255106481634556,938608337106204028806933670639254,0:685811824506138940332211187860302311716319126763710711336461224
mul:921730456287198291208119641693911,5458708493078803375257300,0:5031457870064330030425732359718797657583243087557468300300
mul:213400535376420556914942871216081,4183995847570912793889135547893162,0:892866953884353287726737673843872033409506009951957939872404338122
mul:32806047880829491896013320805772,753489056993475245589087354,0:24718998081409010820901165463298804748196865416365375407288
mul:15218771998961411533589410518,23457061020403160442042221,0:356987663435240813815179640133949762707316007457480478
mul:9046617676720978441798060,7479379807328977629621989162,0:67663089575892274970250788865795328564433781112625720
mul:2219170169044655639393672927,-5391273013704097527490654785062,0:-11964152245187612169646728984856115656974060298999913416474
mul:277590531551034474232270111103,579362077865358674190909581933,0:160825427155156738840764040270546509814277905470205191502099
mul:51422590325724235826789079575,2121952875387495603452158,0:109116313401543756339172704192689685091698905367472850
mul:511034032165016743768820348,458982236103828060996895790272,0:234555542808254978695571194131402867112895172492654054656
mul:4440454508740215531301617636697,3258309525326637800581711028116821,0:14468375222607860310511042523813260258037478238688128668452580237
mul:6330009746329830092300048092,-6167250670699283492360751201828007,0:-39038756853585645999814749830700965509494204090781844412512644
mul:-9374602262965156933926707655416,-30595740075402425097079774283,0:286822894147961315557763521486314502763707907853113422466728
mul:83645893910576549628700447097824,49931389572768584324081547829643,0:4176555715011469153471691311085610269167538819874387285307996832
mul:8030747712125824227213267818544,63329417394086865663449328880556,0:508582573847824473759474520875716327252822949675048995657830464
mul:378845361147099357535431194,38180105668041356349238612217040,0:14464355920443542823460702653769947519591239573552714345760
mul:25958762365949818177158173188075174,40582859445868015162861781,0:1053480804486029724349686454924029433193919106275980799524894
mul:95871031013239291309686124,64936572493882710890460913285902999,0:6225536155454490886042480192744349881519233810545112600285876
mul:455128054133718561191432952712,39088645380524987234419335395029,0:17790339110761304357582067458548970370146644724724054396868648
mul:1307047523348091088814812136,44132853285705545682051355847561,0:57683736585366097743814172916945483114493512756215268800296
mul:1418285824252402530993393665755,636810955908181043849421782278,0:903179951493194917152704617449910466299855863874287914489890
mul:3071172872783184341780369192882346,-58125204065109316437571977973,0:-178512549949750604044117019967590439630943828607057692292564658
mul:56958148205198214736866933854,4922289245511311172745764679844,0:280364480354686563048707584335842453616735148517258235038776
mul:4836813580368584281452577588,-5400032605107989894617874622172581,0:-26118951038819470026364723997465834517846139303988539028714628
mul:493001845960066187429806680791,4028800209124423703294502145421185,0:1986205940102641576976415454897329744147895770653902923543957335
mul:71197215106470682909632132625,70077573297929109151274279,0:4989328060232124924682056253101608707528304143079252375
mul:486722080146274783096432055886,505595939085965376271620470551,0:246084707185430303071142220010478564391091338964955649213186
mul:-194536785271632924316130857883181,8276525052027013498990299177664024,0:-1610088576841469642302988316918048088947156051499250583217058380344
mul:241211965193448971857220311,2710726738427327769580581757190,0:653859723678484041534242084550730982398579984949338286090
mul:667013805494915469984846976421,118549400818390788595763048,0:79074086979016886300666397440542951393124558234159091208
mul:507926799850267721181735296662204,67253859677995358015731931706714,0:34160037723823138942875018762752046517503606503615202081256837656
mul:448088677681619431331494894631309,779948091351174817338856782981850,0:349485908913850840791957607115202038571061594442475706481388741650
mul:187408370748924381155985806145,495794563709904959946586644094587256,0:92916051411047078205447640432962006059741039970472932758203488120
mul:868633158815673181555237006,836615025635832190680248872,0:726711552430708313445938158474307639167624319024157232
mul:945386362083356835627622353491,8230893874122803805176630038821,0:7781374816351144698349349350957993282560652485452042714874111
mul:5596932048341890824814087121,-2850793263280920843358756089,0:-15955696178454147555303366966824500182482049050635229769
mul:92079468846004092188293849,65000203344267255501708018874742834,0:5985184198822387758738668838849529371861013959766705099028066
mul:284485059147524530505559245415623974,-52174853366891975161102679787418,0:-14842966246093682947479966058631799163262087269510590574706144359132
mul:225019940499042054289943285,88057001889802818516938839002453179,0:19814581325767463952213083138864703402608880611447063777953015
mul:267625311635136684363577960127905,2364801628264216400078340665206601706,0:632880772719489569595591177205490383145217286350462293583250151205930
mul:-43414374537943144129863577734786164,-7033210862612719519352562332,0:305342450593798787132468697152495746155227469781974603501174448
mul:32883132771659855270849300682688,359989040176539024964573548207106,0:11837567404467526702781425500654503476701270135055701604212780928
mul:8225754994306229461538669946760,79816684330375527507314556065816,0:656552489759550261552969973902237676399765161631722139775956160
mul:7425838080456254658426507595,-1772612320788255147892065709861,0:-13163132073595363322916797538873046375619972048032782894295
mul:1660461221569443640519526747903779,1120888096894032723781619067526671,0:1861191218611314482654724970474950053651690424934372619599424189709
mul:-11718764104457037189982579964973,581785925357694644406822708535571,0:-6817812018560073163564614103438500661271133223665021341304554583
mul:6811677000322905212875962023,8457366124986245338105030092893823455,0:57608846316878860294885890656152159404437095902874498977846649465
mul:234277964462994083732538315234,60350281492645017737168270090,0:14138741102865579012895614202346087042625169063690873551060
mul:4183588612759663468880479337,-629574038019737820951243554610835051,0:-2633878776348494576596482359410905898287329191507888206720841187
mul:2509727174403533842481294816277585179,366325095871570289922697736369296,0:919376047774859744204436335735246570640422606903982773682501840263984
mul:9652053493694317708921453500950,-91539642994112368354952933916454,0:-883545530972852858614086011262208634456937177997222533109631300
mul:35148593969489612322148628595,-82585065708416968121031576511657,0:-2902748942528768024032450841226352229253814757005116581031915
mul:2800741702103544119527140802733199,46761480207188283686223358035,0:130966827668361702581651174249923174168745185881158323957903965
mul:441336276433669766301405280032,2656936104993980830437872804,0:1172602287300221361851343901576358026321010825668017049728
mul:19746122571650880858695931178058857,104545112367422664420669962306,0:2064360603074142331524120459909153582079341868724637548439444242
mul:74432478600289091913597803372,1021411507303737809729230605483660893,0:76026190159474490029899083115858462446496838080724392481739931196
mul:37218119790882940825047165121,-9786692593914842780007874460688,0:-364242297316869514078703840625474873421751340567491159263248
mul:68400175404962139133336849460667620753,8111497426974768586772111911266,0:554827846801973241521975237100547882976582048728649063209959676103298
mul:-36411507888779255237781266679960702586,288273015425729999064058691683,0:-10496455175296151796260705657513107808386313037221881095512634792238
mul:-93804297004149089553676142929158,72597578405766612297542242292431,0:-6809964806556531666828055851398144826196098989021186645152603098
mul:-82026709713179475197473688526642531,5827788603588390535677091203646382966,0:-478034324056320484117325267961249121989480834362662252362566162209526946
mul:545760067487517393173385480028,42151112506666653978439280505,0:23004394006312331510547051427125022225825594077610367254140
mul:-697412421088675986809554647004214,6926944054264140642234974161460,0:-4830936823630163298372038105376868436739545586561249485736392440
mul:57812799959867792819685059219,779735108345604313576941265627654,0:45078669840470262146069880262711457187904686148856378194042226
mul:1472311567166258003445083977221663144,83378953824849274359711951741465,0:122759798174546897063619713853094843283254982730610656163694407065960
mul:570337459673916278308389115966167469,6333660822968779197930730584647562275,0:3612324024208219493962639588959668872206678635128690773184462125256631975
mul:-388785693105293562593219349398,820248784628021659491960244881371621,0:-318900992250380064850834487637248605290643186101012034699480634158
mul:11679788667362042415563834445557578,-5819547639993570526822921884507,0:-67971086574770424077123666817486620774164160205639229582134644046
mul:-3982959591737356792197606403519482273,-333248358612381656382679653253,0:1327314746365915910353403610458733118195746910957791963061720284069
mul:17221610285774362123428353448280602,11458184790118982447972303969280231679,0:197328393037816418804445305069398144307419769226493492273326450761590758
mul:772738633297996807166456840381926971,785759122171938805714543081571173360415,0:607186430168577693296664258953260658244617930008242877365346151059192252965
mul:125784145401376536208808801528812039333,452055550313139515567680226389953055,0:56861421070087227190049678638474498681709153815504817562127254516683512315
mul:32903571905950760393177782893378791,6631740924411766007832465757451477,0:218207964368018909275497254276866261100277667630506488424913763424307
mul:8742677352155721160009371273251,25083360125803108633092433384973055,0:219295724487824718593455764107115931859507036987734897375677251805
mul:36273669132247708836176424212020,533102320793846929600697481505030771,0:19337577198109381261236591896304826004083902938845516133439528067420
mul:11965144674509690079804137520044857,9349045655011350274674885782216185552,0:111862683830807014974569906953845003630437520055543213513177982475306064
mul:3321305668226664033356712162893,-403949753985171409898849824686029161,0:-1341640607589716272160331793818630136041627867704613639659980122773
mul:7395363159337411027760652209127419265,44729331460301249556947662501414682,0:330789650023303701714182934884591650253917627482713804287730858240648730
mul:871058047335719958990871843414,28094200616974302760918376942978068402,0:24471679530879615091124208710919171690581838289918159716462725204428
mul:7704699734056436938779166257084,546898541513497897846722209401,0:4213689047354900490455012376163453543698919981174872047646684
mul:950290435067652970604023856243611,4001208123591666075058892234775,0:3802309808564151732408385790073534886035212910698424588605772525
mul:3119293215232541154035748455321571,808684220462127868482572087900610,0:2522523202153131986496862299093703760338669354068320189935837058310
mul:432360858532087298548744564083197299,240846574096518547683557847064319535,0:104132631550882737065113576806715978014672912813529852776264204584935965
mul:-310788798729818682147559678302,-2172955391250831365155305151397888,0:675330195740329036485433048145632383792009398152531758882226176
mul:649283478652713472152371045373000641269,9179675498867400603641823155076,0:5960211640807708792849652271953975864417053692073644908051640832431444
mul:79980532708199255123596245351024866045,35273005660545430889304120342364,0:2821153782949751307464444766122322349363016295719088889624882638630380
mul:-83351007958684418946822288153831314277,-51634644710916030743119182132599855,0:4303799682243404417092087784805566131916079838838464861475411381589629835
mul:4992915740405389949821656927954249501,4523923119542484578579105473053048,0:22587566951947525817523244050874662178528093089821507414350736000529048
mul:-801991401381703662108108758716412,1462655905419442096496214673085035312112,0:-1173037459326562975110029005457912568568341236188108696496766994916782144
mul:679369055865583831572651301119431385801,6364653911974833953564963906049365,0:4323948919089537646576384302944771028193868888345656961053886629066066365
mul:32178714589413433072024739357148883,2182815001928827996341206621079833349525,0:70240180948557688497445546843414635161913878682156096078900633584002330575
mul:604754886257955637472038235002006997,75686581968330008368600832791867,0:45771830269510850321052484315153573724518799356687777800355778693399
mul:287068066584060661996114628597630371136,52011890293701406927883275870768865,0:14930952785995133944874986127466642449246463907028312778992290363623480640
mul:3979837024286745384581666788748758,7350136706945206821986896298939283,0:29252346199869589826241656345690372038181000414430037048634183660514
mul:7385865195603313817759905903511277,1520983986703891701713359953638,0:11233782690466247146504034010039435409908987896556224062130175726
mul:764457193068206149728854992613,27858021258550102776458498820919,0:21296264735745627187463264202183322605488975579352986954871347
mul:-4155789385717252736363125208379519,513716864065732253356348104577569642,0:-2134899090948322867217472161243561749004221362611724116686910188962198
mul:97365354260983249124725672833811771,5020029690975786355406829440294084209626,0:488776969262511703376009046688465573304498084561257966650740834323390307646
mul:83139160308299020652846789174256754,3913486804605023733190361150860684,0:325364006812469954155078345060732025916284724658136533980363100059736
mul:-17691166446369130975076403772363811082668,94600134419678935394632555907142,0:-1673586723867433503807220193308619446302933297119631426540241369893614856
mul:634823647473707443708903538054380,3956996255499668253479385484122050809317,0:2511994795956101788922355113644864677876582447280810271598141786556658460
mul:-3637804742599340390876015169076139565692,783241759542604459838225899706055858717,0:-2849280587465938677344529171806295752584262014073034029610817921718004492337164
mul:585812248650822285457691267576462,21534520461947113931625020852108318,0:12615185855430383092677209963435811738114410942221928457106971210916
mul:11281432653044672416448534028211038025,711109480140515578563170257201359462,0:8022333709146834455095073412796362253303159149746025747385289864175542550
mul:676293649029453415159585825583394,97280549393475973449516311017466882903,0:65790217728903847286239146189723168106268785797184624412977724659312782
mul:-60552656313655809329731693060696763524,493007935144068742422888317617165,0:-29852940056683907903878516926766558721475796609356660329816267168289460
mul:499127054152037037035927375386500,1203956412395744650060889503126393,0:600927217446543074982206780295985557213897685478460386666725894500
mul:50094686288665713475507184834256049095574,-832478827433992238527275985275884802100,0:-41702765702262121589947986555938357521572244317029059068815991395850316975905400
mul:3587136855297236649460183411772356035310,-712398604370738955166219235841134498742,0:-2555471289400592763904206892884230251721266867884706454335385263422835302580020
mul:-8101551106022390770336067301182994,9185799272249263720169676176910186035467,0:-74419222253790694721684461955969753328255728462706287902254787547941248198
mul:68680574795029722620883183609775450677,-84158462638889794851250260034014551972363,0:-5780051587904985041122626676950144438458787116758152359160332249952887573639751
mul:155258118178686765062886673806448566,-6850017870177195667059084688029341396610,0:-1063520884014087259630275993355034425232292561277443357397796113750571761260
mul:285166743996114296479394289968524943,559627723033455856754700399288311,0:159587215627409862324848662934458300983070878875254327058667651841273
mul:97635198013817214038209538637709608537616,-43337611052093405089732573050042882425535,0:-4231276236516932968241697386864918819022381398914657632453889680479868318366424560
mul:2025635628106428290541842218677337,8363403252785996217814021695187802,0:16941207601064506909583426911328603088283663942724754575178256243274
mul:39403341320445818916772945982544618,-3081545887974055895915003777735743,0:-121423204418458019221260007112987567988534380636151689137057510881174
mul:66538675039876745133366881210395320367369,385523580015310377616062750074359,0:25652228210848657783496179630561675959121693223651695460689142031947191471
mul:568797587304724025372575349953868,-809993079501337508688725757864677957,0:-460722109353884289924314758764698126555664169725436270804746626487676
mul:87438670031005707662235517162074411507878,762858503307630620547057859718065131261504,0:66703332951062790053116333011119262791723282159398794542887647524305430508974128512
mul:-135539991676075663249711183869449098,3187117064807540583340853903135708355720,0:-431981820434692750842384830628518023465403828254323238040947018231817140560
mul:3623316226168035106420698863103708,281527696822113339094642926844583498510,0:1020063872011278433648537926576161108003887115843314376248917259593475080
mul:462743256592937700094228107961335,-6269566498572477078237555404177435,0:-2901199618975409735420400360180614855892286694850259916640459475725
mul:-685484600842741055621576203380446857767,871551172534175305655069705808532,0:-597434907618612100896516584776549623778036010575252420692205107539068044
mul:220964518681325411201409247135357488007,-5641829172229111635876189209726787450,0:-1246644067523866218886679493927269969586873926750864717926006590010013112150
mul:302531333113895329527974519952510,186535245939488501803212618851457571589,0:56432756626801787093558631197271214562205468328076903171812192205238390
mul:817537141270922830542026664184986,7821981713799768623509532856543951,0:6394760569373296513276094902257760475138670289320772774910103319686
mul:8468979244486855292413811013010058,-209488808243349961649691393540068,0:-1774156368965217661234169339486871316037510280452325791205110003944
mul:879852422051274089521663230058530,49497155404087571445757965616479604,0:43550192066934760013905050742361301523530318780622661179293471222120
mul:21764922287301916637920770938954126,164044760066720848860497915166650797335,0:3570421454491268052799273529790558940088345201564664677181891708888054210
mul:59469732179854673335933541543666124,33859516881008254191737434099260638598,0:2013616400652829114516768709001157871422263380461883882597878170339454152
mul:5622782096444522942366700649751601671560,1818924766888381565955786591467033096941030,0:10227417614039519288793528427282183495313347673374396346064272524023191670748106800
mul:-83658234598433632746857009684831849359505,-29016349811234824466750396183186748,0:2427456599698498400779164525993522755993904434491695109250156524973603839740
mul:7054089120269602821498711515003074,4095832337673576318592596805192095781914,0:28892366331631588775096150339023452623512261839491078775396601042143603636
mul:990394898068553803695514279851854605418847,-7739084020331097221051527297005947155388,0:-7664749329459790605184280312841813382942964148487855083039273635724968309932797636
mul:54075935489906064661012070011939942732,7918292813066039667153314788962651008581,0:428189091349545982631162674290883455991732907828213951097897291399359180583292
mul:8772115771437424285869834799732506658796,-932849018789404004804426567212331569,0:-8183059590092457014103801212671744691867340048481623621821910552497102330924
mul:-474373401937043543973615567508636867124,-23736477393422078122335330115520892673,0:11259953531119359125561737495585820068714950649943932579707916447562566182452
mul:8436352086792195283692976718955932574,-24226347745891111460405966918193715809620,0:-204381999361401874523255301520944469344779076416596720733502946611674540561880
mul:814519302031186083731939523439915121,55324835095437197264275880684820442585,0:45063146066925974240276350660152502606985477063819725670158134818053827785
mul:-237764758709584162016066869681905512952347,27730963225107998869867496093972168,0:-6593445780002155177144945210712636481509108047897422208741783636396128278296
mul:7518474854158787395750001309747813,8381114315785290417935232114225100106214,0:63013197233061936586019793610222181046567760778431006705881553819854209982
mul:57926271609377407522025180011097851547,-460438760475654775684236043340437433561,0:-26671500698797845620038488129522785806400814035581845817517898599701653568867
mul:6638349918167655693810387712273716693403,55308325418124425819340246954531134649556,0:367156017513396353523080763860964198057435071526450849007117311720362229502079068
mul:-792096039638367514268257857215475476214,17985352918594429617981644232595132,0:-14246126818317002183748026216030950300744414227976528547481286648758190248
mul:17523605051927467343416676052611136060682,32818776862511079287568864844380549,0:575103284025979425337961066906823946761256491065774387656701755680364474418
mul:435598204136143930685119666237820390,902306362378699323196514142749053448065695,0:393043031032778127896845207627557199195066578791333475705362867607698330521050
mul:7246625600474134146152993995542881524104,84045078681310625106949990828070364497,0:609043218765848459070950953243439359310276390319003636791153856018486171335688
mul:-787638361574460696958641849383712843152717,-98972482600264920015196417920239935812005,0:77954524036229481100840641198098180090516196148063542559493953965332234357616967585
mul:82374608290966933640517911377351376793038534,3375365592517566879211534105358267232412929,0:278044418522442081159379773928407521481969102832422171826378968402371349113290496806086
mul:-65869507968457359071511077346860349916,233541308077986424091233056554170108328607,0:-15383251053406881762895333316227673851604711244588922960984017463587249932847012
mul:434965647854018848199731601803786298508849,6881642201690537465635377223216241,0:2993277958557881269328249998872265799210459572563672559065439071522179016609
mul:719612999193225374224745692059996056358,-315519530953816852193901984099603790510,0:-227051955973715854947761029625296545846391976119186350945960831820908385562580
mul:3371856558784507755414140667220962994794,-46940188151078159734582108552804551252391781,0:-158275581287791729316741990876515371668219778704190560942981767461139678285151388114
mul:4803433840417804894873156694592939602852,-72456645795090954873268375616538340122311,0:-348040704375306339795449754303228838077133852627838127804760032434988381444430972
mul:48568835567133010333265540506612310476167,-10706367926604784868082114989212135746648832,0:-519995823348494578419271225922535589824979430677892239954987805560794580396454386944
mul:-640514959144433868933444881224466486263623,495227035072426375802319189512972514543836,0:-317200324136634298803490410310491121240672331811889843420769547754733113081885677828
mul:-6488859550432975345382980598094012298,1739553070312394609661279054142037504040,0:-11287715553781586837699646244863276062209616974051919639534825980076984683920
mul:62439762329215278757554454849955204768025718,79602289985731119990152260854511851,0:4970348067570324615570705607275557501940237030878572771873031709232361903784018
mul:6054057220822234921996955072468282902047103,-41461621564455176604944655360416823,0:-251011029419288750464457350960394818104993744337372045669164809905502059613769
mul:41593335543156355768394832800525873230,751910447000975730197547607815241920,0:31274463520516267130210975092154781101937166708024981308551550511701801600
mul:994454253731718339598418586069934146007,674502407982587721309172287657440910774,0:670761788770571291425639315014529979293655007270270606543282922218043975379418
mul:467599304203676521904495847137440151064429,1065364075426775111107441639016359411726,0:498163500393153194363286906417357715847233221784448787935167388300077631164094454
mul:-50006834540638623993722097585899096403763,-5313099491095445109561808031972399857647,0:265691287149161199757555723574229252417144350517780818574650795718178070835125661
mul:80633786527554906657368596063180401716797,60423064130048311342811193512905633441,0:4872140454403075663557443919045087358815687394738194780627830508431609174608477
mul:7515721962363288712694440724080300383839,847957688242291310060264069657345589412622,0:6373014220677391433202574116816230429840218559515683152967957040454035241151415858
mul:27726212382161724111674518621229053817654,844465139764626291093420179330707907,0:23413819814445912412285655292812080594927908481755534067419056195692713990178
mul:-9817131728229141224738800156068771165515,5514447437310670168515402768125807553,0:-54136056900474458343818772029658956395718462850811589025376047345570400134795
mul:1101490427405231724327190816394483390794764,-1715150116840413365727028822839059671039358,0:-1889221435262680048398395651544618017331159617034111717493189130934881187657544321512
mul:8714614705512806124985108394035361802445153,2277516152797095323407597912040972562623326,0:19847675757208518019561453963926275072330819370134031638574421823784137713762913438878
mul:-40241069975197162607015133362864260639182295,92350494843755720369837991386076354459722485,0:-3716282725251658699531715999828990669514311285221505159677424152232919613685003025403075
mul:94926798565178929705057494111757110129555,654944641739167114202854904453615515658738188,0:62171798077717196972382133382107571708777354355494810646721424261049356268684505946340
mul:265280847975099333384365084677641815670787,79159871617113409657206914064640126799879245,0:20999597868187843053561037716605216806384147652131248848290439305459650098340274115815
mul:116347226264838928071222153238640922289035,68573180747149861177662470447052670907671443,0:7978299376088341437815459477697033179544362328591411544546002100709937766389261527505
mul:1040609825768545533315151293676302487896884,-81323728160947963681253577857302080515,0:-84626270592412620351087782103887368619510384932135633101731317980537259985615260
mul:995902591817252306534602024050315471330353754,5332558356879676808399004303967153306,0:5310708688633218425617462275294145725219682434631220640352375632798303313330610724
mul:2001969035383918099033090062929650143669765948,4190101466247488888803682714062857957220,0:8388453390544226191569030306431481670502667642604288098765832297433783873766796744560
mul:520711239532941932960582838954921846930386522,-3853096594619017503346777573808512971,0:-2006350703824226084150485654917370322708059670415383459171549901585565143080576862
mul:60199373689261241651972446393273631317362,4966864098864732001544113870901038040,0:299002107951333794206101094825317104561273941185545981038605377956818474450480
mul:945149245494027792287917914515672725163081263,8902933189066222709145663761457459365794,0:8414600586329679076832097202813182563472890369046719691038445973643576962794864517822
mul:42113632082774519107063284261972952560637120,550965713086089226514793739995356299364345,0:23203167331131067949789906196648817037171886959897217039074444030278552245924211486400
mul:699130208513509445029837360613055447835,1388996167624703080432361535173321299212301763,0:971089180295924181746449876683106046223557368848629195863225292564207370057125033105
mul:2708864861499120155181972404884433662661130826,-9669434874243213781569557549324652869447,0:-26193192361391605615558952560977409140576479476697591006776382263831361618654765273222
mul:-2663320619224926510783240759799877830,-9288856838720796348912703146202293649985994,0:24739203947593564658057633395520384609185233542510185477275313665703022411113020
mul:129339208558322679510730678747389994722,12274162664070343010820636150243461714,0:1587530484686971608662198892455480803480746517693529713477405341441469073508
mul:7927826382521640149002540477963715500150746,169024688202278131082480706237325364215068990,0:1339998382427514783636289070847268513301546686442820771818201284402167398586309789966540
mul:136906526225769628858637915191370345692692,539213183682016621647404279498623014328141,0:73821803873042744699575963663268898393281778327505656899589792517391459419633645572
mul:30681142365936990868501835461428152495,-5027491490146180677917496407674117704,0:-154249182152711677657936575800296045756593757870287279358854312185891271480
mul:-971981137022757867271162004648718096950546,4334305792750860480761829171455584581712,0:-4212863472642307283763302038750775419855652449217026116602685720873585162160014752
mul:578802014801938809246604894083179003839,4755521418153118560811649969223227339815203,0:2752505378260798366799002210776469662264057939931455802132200174149940527887564317
mul:-85637729865865539531457719920611651870241486,974400175977421869121902925057819107693817,0:-83445419051606298238772725013236132640041467317129471694684769066837807060528339092062
mul:-168964790731095355351979412256338118430524648,170138331609580398941494555432555720911428772,0:-28747387595750458102364942972192784965490845982185971055009388748528499591310207242372256
mul:790938498909251314495722876378080005340582079,5214770204816378474402582970231763702140978,0:4124562517954155419865932563949638361261784041659784084183845034248536666456801038333262
mul:3097935765451813281781983641770574025792276,42609404056306319259222360596281494320705429231,0:132001196770618914910107580782114196079241607233335405092295156225025350707315539424419756
mul:-98485087154927525975034391790808080098982,19775664577849930783360381707025488283978,0:-1947608049496163493701638026379883534026679881243207339494650490437933823564710396
mul:25900464334299058097279910365875929228,58255952834922520501042331752256379575,0:1508856228661518846300670852569471328709790883165326524402490612694204718100
mul:79400185595521899110261406600117591081721314118,201740226840130845073877991057259510967,0:16018211453189077537841902603464990449906833086676810898799136608951219916977272932106
mul:981167299738316185980724229187020822277,8133607419206585086507618470282084549435045911,0:7980429628634459820355488852068596406179426323528568158104015662222056961076466559347
mul:81466412463591236560961446462245299836549126707,866192944729287017177690246604876328497,0:70565631708368782955079491721185650392800025979803605094852603626778749894901807869379
mul:6534998388738554052417315288897046254899165842,46609611771478693989087838979597248775,0:304593737826342807250457708401174251945994165789414852595908172190369819865656343550
mul:948084924179221265735435784532032916982,31095014697784883179376411641933005719333,0:29480714652101151829666949589520351343767111464822561182540749953951625181413006
mul:2750322192684776089555518232723747026,16282797711115835147148988819960931175880625768,0:44782939903878757031458893908209207556974070715102965333536520996427288006608965968
mul:-916832268194684002726682872945582785046,80175456371164380904577325966825746198033406059,0:-73507445518318567912336331397416597212835389484585058461161628079009895397414630993714
mul:282231592138255672195189656428026230056,96673996679717919403145753072968455552546,0:27284456001285230898827449612784823590027283270261564593974508775341064792522576
mul:550580097204590201609373226827993784219420731,60517713169991893657707958780297059239491,0:33319848399733645437661395589377990023027893949147177182635468091834964459423419287921
mul:31526794192792048622410273704705620482050682,70537996848502378104686898733501905256490,0:2223836909414548601160467423600948705201515061075175410087937767675574150990389426180
mul:-923613180033278870451470473112995033306843225,62635452857298067541908563173475507759656054707,0:-57850929796353591491544159777994055136678493390586182701070726329142717640752659048072310075
mul:469196843768624413897755875308788890398465291232,-15296277161521766221056511754171865009042943213,0:-7176964965596105854796051880140430745806790021143791822882675477990460153884190250962482808416
mul:2628065716223500508449356215564412668664236,713708318009199991674271791693482010536664884,0:1875672361943518042666230150625785628379941211629586909201716940601968915751182647888624
mul:604553604369312265623368647573085123221252020,990982890678004704551740474471789043760433700479,0:599102278427707884215998875763263404402845043498163599628915781601939770631217226224053717580
mul:97586462652371414650265963064033775148721243,969409880443270812997088798402379069080662,0:94601281092717085428971288705993159426354381047162321909314102361504796669908919902866
mul:-765406874969209688613302257358735487317,687488505077706911028822098735771705823765697808,0:-526208428248781293790355829561494931467780389995278558390525263117575307179181438701136
mul:85075624707999635862443444914978287825359,778046486301986342411165862027907781749497,0:66192790874005569505967522431892177262190586520494284537342391004284567008622094423
mul:8227248806783006644129224253415431417213104067,-96883503079217553138854609209329008354340832050,0:-797084685105450364093424636607878440722968607757607323583949926033112024630877523264018947350
mul:5027554007771258456873599804445876368468,9124875242153734630106913217321584664013715,0:45875803094102741048036279096734905134493820588179489085096405521013297169145538620
mul:39245745484403729199058188063461104557810253,220067769421357576954105356315871937975114,0:8636723668031045203182769468262937482316831571209371261835666035163932603354648043842
mul:12265626358518464602956912462337886264411404165,-62808539324142868756473505816723401975937,0:-770386075474250281180131471535743658895165686987724121596740049447065305055237711577605
mul:-12272356051659726939876917766506363796290,17656166644036956054896242696928896080969790493,0:-216682763563059549497954402078347159387989008283715984882662478463368364976841430670970
mul:637223594292638303876168193085997138882431056,94504571343119776477559774058446419793557358444,0:60220542628347848605902201201551563824536878839327823946585532875841535294872255080309436864
mul:5571012420064356266635359647247635200655740,-21295217227115690481188602248443089551209070396,0:-118635919660229953125503640983379408558760574394740036184511552934026350143637375021473040
mul:5263843748978600609740419748581371970418448276216,5384845751134428162699702180820131424931650492254,0:28344986646322936927200214104061116351020656649291842992510958145976963325938398674483474160430864
mul:886573921242233631853410597832339291851986573,91564665302299543163193474542608720062467,0:81178844364292397724319168352869382688643286956887488649289119221530204376834605255591
mul:26539751625701457124278640373644598585396,2325338527842485879693477585982320189921160388553,0:61713906974613847646349243530903967347131153357438117664659209426320342893497093511371988
mul:353508003643539157483752498296868928280378,10742495675871104458509832622060247315860,0:3797558200526546039055152211123089222303048576306814689403594641262243620006195080
mul:-4734613561112436559828705330418786656799216681,5767402184612349878575526105980302509419976764,0:-27306420595655124123966761566392172844463942752586247604702902500841784311547866248421200284
mul:82083010698635736174070971617820650592649198695,632174562080517027772509374721051956918078145045,0:51890791342660440565464109942127261004470910227369112903142988666567956432456853670311234716275
mul:6173991144338684494350090118957116722781373,-738485502817232028305101940854863776286515,0:-4559402954616091182455382994371638790076884277447195239272169152306248043072153085095
mul:-493513047233893983448577482415236886372545860,510358065314512191744416886029069217313650,0:-251868363993759605947955962960713974503486770964450697668654217509298887857540628989000
mul:326654054139623246358073868314669601484091,-749350879522921841553744544029160051092161118734,0:-244778502769254807928944561265310682694306143662100245399456722534220714864996773263060794
mul:1402621524995633967650615579165227953957890517212,-4307813373241246419295301377872133252586,0:-6042231762972223192990082937904905510649229289208158235372604963773370709779387376510232
mul:429404746005804957738561594094664667352987,378882853314853204091011966904771925997210303,0:162694095393619197081345508962117529189396776805991399292350948184192266104441374225061
mul:332341701384724523211310134953299492552149033413,851224516641538736779656410258860743437969813415,0:282897404121038737349436193561640178534459124296792792204901752510516940857699900180164210635395
mul:8093542646198882950722808884458624246299608906958,-36537804019444103265563497755234936603188804846,0:-295720275029827809269384782284341360404517553913401964795999699888915544660313719313212433518468
mul:22659814113479956892126670971189905912120035824,-7769923990496178313173088170032841760727,0:-176065033300511807783943084226119789640585676482818345603663798333554090985834476284048
mul:-66431972193306385702365512934093484764859082,36581996652652744665199423002405565247156,0:-2430214184404654414022013017963434105734980396584113694039713331126873558134841270792
mul:-888473800362239868616054745127669042022317,142999759078860850560633007783677610020527766,0:-127051539399680213509691775061090749319492899786422897068862876191428383442448290153822
mul:5971942663513046812876552589351160577576206860,5155119487765712370432570496238254289228130147,0:30786078004495581876769132581215368897074670048309664867385023649025961965929287514674208420
mul:36328343589972083920724771391132711614346,626466814451530915421088090957480792070888316,0:22758501683110503999668988831411680352271666146548027818547320776153981900886629381336
mul:5293116409600323220539205506696278195160522774280,-89478075685508708042860880549625934136374,0:-473617870710425832617232568229956765445181004360727395884348946714817018728737310339660720
mul:79576614103508536656978289576589750212587261,852468870734033057111244131505440601392558836846,0:67836586361655850604287977041894979998590061103440929502231721634765812139562797406437018806
mul:8225066772418695359596812838151452668642167,32895491347247919323385073727832554930053,0:270567612842635564451661105276011053846580530826552326236219991362408128533171344851
mul:6163942593967174125699747500635651388266851958125,35785148285967657728202559017385960485415693874,0:220577599751307459197829958073417379960145796516327396960366172323789774042408250526882467026250
mul:2768453763718344802615194690925869147682838954,295289393573622382700104229276698254424111309,0:817495033025002504068133964169976601685138884223266625508984010676066936521469461617130786
mul:543530772918490900335995207569824317804903920459,3816523263571207729432080444412751436592123632,0:2074397839310259902661375133149465196577634869313509399704184579022798133468044005917222187088
mul:1092477340633785505464776554395206472561372312061,-80145274095041381989361699268630409045305877,0:-87556895907716629238600642139851536991533588781637223712321645442750907264691471870441282497
mul:5221300639042222043517187865188827094681806,28716457589092549537459686031371792838180039728,0:149937258360957795852063558466179437205735302066386407915731516706048526458470970598788768
mul:-468871256127286679587501070578429844680401783,7709908112767006788780052051800778651016113933,0:-3614954301459024712014678778499413536274302047069226791616378154943247688691115133744342539
mul:60187668034435065431875732180204005950423,6575730301760601160210842777500398231559661,0:395777872486342581314679269175741080629857948827943943881264571589081297075932686603
mul:85750547893356514086330287277441673045104762,79743140579005364490235586620393656130064,0:6838017995386660810928499954451837697514688360722982501737493782122901963128377764768
mul:4548581293372942515724176487253593549214930,4238661184062900689214356649238748109095650,0:19279894970774516775564064389921196824376868554446937886047574519905039195049778054500
mul:870890539340345883811990618518239041519315472381,-326492148393756245001717974027772662339968,0:-284338923205026619246910784734503794029639825911870769385331694156076881647046490736423808
mul:66987553698256227716875714961629477167428173612,90975165679807773385648454136069587671757554212,0:6094203796183880252983468130806830185765137990039968456622459271312350291704985779779237853744
mul:55214217278725852504312036656428464058159216571,-38639629611220548541845337991516346077285504,0:-2133456904923420705886788529419803172916228952081562524788395230166386012381289930934886784
mul:891217139364757949280558543150622433360536923866,30525879876993440244467275213072433106397646327,0:27205187340566323080358381531226152260280933712987740283334272666071747659070919682319193540182
mul:-27569366446500582408824975793718887457276922405388,634666021153562229559368735956062829411322343,0:-17497340108325047390655423017206758097517868311360137049025654413974571287769192246265387984084
mul:502864235446447920785714797929749621810588808385,-661761137717295415776353819805381820532626437501375,0:-332776008566379289514058699683955504618562833566935527415040692964912956262842183217462238049029375
mul:846540274257645306570757431119674434472851673,8616613565185012233547219046445322085886975,0:7294310410643867160484254450457795378883045914986526511813394090546583372432655817659175
mul:-3309007371119113533010968742743901666008447,-54456422219293958622124113256532150483182055,0:180196702528418384342054817105817441009885252753576126005393548812004572770935068818585
mul:3808438337556464123872249539607274641406985997532,8958313515020597801994910602927304472155060964765,0:34117184630454650095284221741033298990688190756311433174116017572873358206925691228892157828959980
mul:3966980856734279836284487724100931405197679196,7991199588345191911654938564028578389298180118364,0:31700935789308233758627957773360639061582894143974709760939541889270491143844984071481380355344
mul:65639444382189527381103754239686068124303248439,57344187472963481946737524023690750337279473205806,0:3764040604273435895633212274119116479837782295002539485107922790189834206416168312084346995236834
mul:415167227201847402226579925485934896345892,586575228633844519664975226407615633553394085108,0:243526811217202913688658430933411830761556037052309989639490972226539908815021715654176336
mul:61619333876398280418219395631027787927517659829394,919912829682211281138193507951318719985265,0:56684415789370483176959265833922690931907142380410669255035534110985337015940545738093879410
mul:-868753784405826481862596863379498777711457154096,545880080147628730834302628389405153791727839,0:-474235385460008330984602458660116725933386690418517481411723635621365531412330794841516078544
mul:9429941770445780812848883836626433106364646270218,13789105660912116612159357433833332620650429,0:130030463448925543470092963482754387029792169816829218586198208779745648441067644420051623522
mul:43608475425036256086742701999180132009804867174088,26543470249142438881834938827109299420258184885237,0:1157520270054909035662868646857940204973664076401942399990577391349752558661122837219065938780138856
mul:57684506610503798187871631196324475714333617510881,471695506003883133237678946411955700467360,0:27209522534225930626068350341042360052253774045631066166444663548471852016504199451585344160
mul:45545031179301366913301053296868047362176530184,-91968879037454375774626628433933013352182139387,0:-4188725463286255430640627639956152535588659815635253627540812068959602079281136816961500757208
mul:-390021533721654785753654976920878586915091,77031076759836910371783959035306703983828680,0:-30043778702102109808680236214798858402330647256427091328746624712038248759912250609880
mul:423541795082126371645621560317104281087986536944,8300998559716429411460238557591751288655280830676799,0:3515819830956442096665703788765672916368036936505243022506012528660536007280216565165558183737162256
mul:-22004254439719621882091733525180851819037175217519,99335356922776842325949741933027888097618837,0:-2185800468589145609464205476226975010639204222945574205629223171319215468510436674371426805403
mul:-568617824838411255064542027229734991599889058339286,663945656360600870466864889023341282183894393751666,0:-377531334930676137341317084292560605510952651296593454952813714006651559679453405651218795949055750476
mul:79416546968775553905606945911160893343240489,57823044209535496953371020115352329847370545,0:4592106506344161115031398878073106718740642471142046845754411556618094588197446229996505
mul:944931014689390846530685010237152128723129879051,9132010491010578008428313272813386452749469110941235,0:8629119939424787805155145456276331139041940822281098763310858175298740567987777487797475766318567985
mul:10724730362623743957337791385603755532922863,72480373654893123070601266938859686093303005387292,0:777332464030946381953104911976964384403745616151494866542937429270491850221347238960076456996
mul:7713352208339235603081099644445084271357860,603624463205826416829628929324533190899935786563381,0:4655968086276246859527680228796939930213380744965640764495096069501972383741189048259822524660
mul:-374652992235609318781751374140306949494493761487551,-8211631925711097443824357620157273567158306960781,0:3076512472105121389035620380499987642797429799314779956051883946663228512561940943539675904376737331
mul:148033237001979427358794216800322662159772216729882,-2761071692676096788505988250569937615812882,0:-408730380261377140975921158356878339630350304768292968573861638003660928294552005391249939924
mul:8799836897423935827052239970797993642793054321869,7294647877437509677171255169879966954414823484,0:64191711545589794049942507329622817162690486075145161653225201426081306037945865801824955971596
mul:638050122120135743843926357476168630346968836720976,-521011870575614667006902791543319211035082259559038,0:-332431687646811297131860656825650731646114948863860886066225973078382224501114486836618755307604981088
mul:-17589569754541719055752617853886490778777621596833622,-757763302557856615098419826290170728613135917189,0:13328730467773320372749612468589169429951770262414798041479922130537436948993914504659373603202928558
mul:-9391500830250456597029446286855934735787373415653,28432489383197015180933073382445953529667174,0:-267023747648382060661246943486871855039477521250741910116209365765385119618211444260651874622
mul:597671128380217947385553643776956963479914986403,71727950226724858021016384499343090206442916,0:42869724948406755644439192851387407923848606069058040508413206852418378147081162495135671148
mul:220524861586728547654066186650842017022514113,99830670175055229565653522851124444573641171168883370,0:22015144722464404290431089740908195479979690191563438782672166808199720494718314317705872276000810
mul:-19711747183549435340491469077888147043386014913558,-1141914280129478236596364286858351511269528735,0:22509125595197123566803201916751380078133670163026469768611121772532745591006866402480422089130
mul:-8382072953685010521572064715326232892979307367,8986558828596332338706049003428573784660004270,0:-75325991703876567601582024901200837475422482663143278160590315962341962045355062611862457090
mul:8502152308582607794375019565844324676023491104593,10470050208175536662422671560468368371690332,0:89017961548415452362336397742460566038542969501801207576446421265423116103719862689218894876
mul:594601725521916181847167140525593251441576703983,963458725567603941710493681498226412426881800,0:572874220691643607273440473752072791294210386705034629979437739545297813514469057230330209400
mul:7141961266638507042734562322157608790427840009,-4549724799885066646710284284349071123364728193387,0:-32493958294643778569864068941415075147150500523994618476463881411873140452414616492271247820483
mul:-556279059738139499395948604306347001411150129841210,96265906951839620646630096006130967227739083772932,0:-53550708204008570858552227539689352744237572475214571815802430633001465739150610790161193168856127720
mul:9097507009232650355633416767082868346314279788737,-12952310876092402836370081770801404571317963729609,0:-117833738981010925067125768441840140051091195908538031159411055746004033932320364747308545111613833
mul:4268792759888467657870170840963084681877952381149,45230992824683770972952637110379461673717665076497477,0:193081734692577312252243894972856695658000409843190512520961090560296517492619302198905276169040861073
mul:-14981624589272129153412283534256311120144659052,-3422881033749335138988900898217088225431538419464,0:51280318661372243898623018770432573729075192413326291326269850897282594874283136278341240588128
mul:1220927142068793741881867214403185329458765760024,30622524744504892825380221509502752145574896,0:37387871619239277065352340275615230576537543517582369985500557751663316964285147851854757504
mul:37912807996403481194979034824173466165481184382714959,-90878397829297201187948170371749592240094934625,0:-3445455247922915696812807051659782073986976942393793434021443082292576682286942256582247061114555375
mul:11421510093950565340830017403217629128966938056,2237414009357389011349863244579333296452235392013656,0:25554646692221823247642416835188193586733448912454167957899665467614560251117634306180050458092736
mul:192657988036570687555057992620686662908295387946910176,931495134488306662235768448970442482109561110,0:179459978476371988595767318602181178186396303909063154620374484681111185009707914339840931952855360
mul:3406199971289940059753501832956133340637816361746774,21717729758322757474808809344766892648120530501033,0:73974930479281653383172304844520436444384314366038505444774962096871058594711397484185935845291417542
mul:6909979467876024377878180024452018966109074368033,842722308262405734840545048662350517397572773044955,0:5823193847214313361590850639006414894786757219881236880655209757454129105445924052644535803723923515
mul:373077837411940479742523640303846004174658252010,174968689985940718533112057941120724001834591,0:65276940474755009773288570940982140032743912931132908824689438802225554298870445697213277910
mul:69447921082122879577796325457481062492384026062297,4859735149388070292660864796695584862286590039960,0:337498503134721348480339150893268639814027256856202938192556796481021571996594857372873378679388120
mul:97668956744134573191931364533568770116368809990432277,32650097939706033583832290610502297382443475332059,0:3188901003364905942071745199167504684645498771234390707296643812873542739572337441867216444655526468343
mul:-1130623853521736649164698623052358825973875071086,97117938880122601762963490311393663414262844,0:-109803858302732709122723543874405473115932722476026603503929119344711278986293484666788528584
mul:5196766948376722446473792182397797566282488000645,612809465745222737408369151997835003504928829,0:3184627977237170791819733844305891092484494030274488141848280463948439552688134126307231094705
mul:-260800009832764286426719551521843883719112476,-4764630548313512861236355180550436291099515479440,0:1242615693849653247685309234997680134044316133101561211221015368136727312822405604340425493440
mul:446884272848375074930942162217302913946161786743256,21042882325490620038960351129083746002919260315816,0:9403733166660799648590511384420343808695460628780663235301885602775520005114834045365148352668136896
mul:951599922613172445123982155673072679115439437787116,170174123089259663169419228763721448308107859122519941,0:161937682362503977661236466402707947708915167258582987092600978773889146161299886218655580651394622880156
mul:21383950451514823653827321489681070470148156716394,474049024111864801681311013604155672359293053819708610,0:10137040843197072851050642470285630585293351622620638212811885320208800091533606694120847446939489952340
mul:-470414357544256461922663993336752968654129573423633,9062081906619161788388889503790336651084511675587,0:-4262933438115683672713863671510520101815219800470041585560023172590216986734948687990123769014947571
mul:780091812513073375693179028189802313142318232500,3497278556984926411479728842600230671778387696053,0:2728198368381477015989505443597065418103138169441425077910216137727395317905388139191010186322500
mul:-1625948018138433921639232759767284243608022009577,842118879046315463699452834842435152085239651627,0:-1369241522422316177317692449844295269090380811960323302423745772493265931792379448342891937631779
mul:25026283351500865895404594716390919370787136725638,193605742569640932386538365909397399503766353419,0:4845232172025567337840956469216133356563858466840983726314706900481952782728859639508827146256322
mul:4935030558829975380051283297334807636335988292915939464,826975811338155401386754284486847375740824437795565,0:4081150900367009340504991854566589470179310873827349635534175745385923686159595506846989467997551147677160
mul:692976306506130156561485116659173381923120836885557,770158528298664593632506223863839610768381103479684,0:533701612364605511333411361009902575918331545270987516486697902333932240009170947895587667949982523988
mul:79877139216893064041018839082816187503862428735,7269106113282857654532427145534479409503583394410641,0:580635400993063264937521052415287406491591842310757481379039941960972027583729569639227998188169135
mul:2539745404867281753796678186777103230989134057269,1232562503892732555700624680547460824244298064,0:3130394955473278587381949607908298163614591827039064669019870794477245183817740184883281827216
mul:-12342369542383197426854745694214905543911988477283,900468407001638487525579769577535461149066925224901,0:-11113913840455339589057682433788692760910363591045622111658103604207392316252364497138359285304423983
mul:25508383419230789798346692675791795579961116333703,-3196912743165527117167038251788165837584914845275,0:-81548076010491152335265692912387445585857263580983374333387917442921969005827781555255165512803325
mul:-1299528036083269250543034346520127753461072609198859,600594652353551219594047525595273354045086799190,0:-780489589055124260606091767683960949165161003741168476167365844545079097602756258116044302510124210
mul:2299157394917175882710807816574923359426328448491205413,-72838172890838078649390158065336999589794176457016,0:-167466423834226138899695762647031472841630725693307898812516233189758231307075087592787449022731421027608
mul:-7349901043851956691882158234459042155688766310737050452,38963935506607940884321914070762438994955796523516,0:-286381070252598023694679445080668983274723778018815928227159321326339627469156721047447539093637496429232
mul:958387014018743982544025716556283287504010616036,1443504353635051762579994152447131178181054158,0:1383435827203354324881238067046558111877918566103625557579208412963622898173192934117459277688
mul:246125390054194220242986809766512103907648232140291,244701030143825150512131468437935457382757506654,0:60227136490812102782907271910174306533407908424359655603867506529129414912591634812915769093996314
mul:-704660850546084071765145007935951186831012905395382833,5588984198927622386999113229239134076765551765835797488,0:-3938338359304962728083277304047487715370320826599483665593576088149516002866532798742909925478892863619723504
mul:50682657377075501007405908966255159073041913889268,-221227972486061875975200412557047324616212536548,0:-11212421531736159902862014641256856908352469946769596801579726135954662759261565882858426274966864
mul:-65153936048938235385603864221810574284616709045012408,2620409042204728497893539911547700871421142555353,0:-170729963157866373963111608067452447067616052160696883002411341925443387533862472832785201804711820024
mul:2124140486540339235997181873057458560557130144031198,6337118390151757487365380009696068490770095523526655,0:13460929740520685472324728914077419222468164771987370279610883339996690538208206652608006128131304582690
mul:70505951289040282645383932312380844925860919298,7547000534925894125969206219651626162975048702546706065,0:532108452093846047616616850898050963751081524640768880912328456268423081073299532380834291122692142370
mul:-41539404414450841529694974131865311088044938789,-87120273993379326877611820290578462959192080166852098,0:3618924294108748055270837693949939912318794083201327440980670903703748636538106296956551875226229322
mul:8365100924146743906263010309561180555381451232169,64464903694507870558459227754837948332608708108908133757,0:539255425469958633518840532058336282586265952721118473314120789860073187010825518609049764601833913228933
mul:-607028381550248615720149092346152462853976790359415563,-638047705393414341349283089715056902457142563666819,0:387313065956814142347580416821601619522788233833564805598190281345003710840619549824608697022583095304097
mul:9617834842433276206013447576300042077483363020815285,528061422615472570377974310003284316297281680382590494,0:5078807549375975305409474126592664059166274736600561408401824181271910205956102095093049029393852170900790
mul:86576571095874523146332767288469633576872568596,28806568894922815646464384363885717260300665904363145435,0:2493973959959492744618741686252959362351894366493500719340778231935540767761675386859282345646361759260
mul:307009198563449723583109556832166934014223122475324,138726608616028283757694379054230076836833023549,0:42590344930632202620089538756907194977499968842538325319841912047531571749213635995957120063404876
mul:950446831200123302940271854492691726825599408858,-72101792770002156123347099210449392040964040896942,0:-68528920462096510067650339988235647246498530567363500303801515664792809889462344386842251299912236
mul:981208671446974342191660850214776536471793694644642,42331603864003005956059961823201488180622810810249336717,0:41536136787617995005181391797616187316701801094427498210675495592371812354190764162938589949104015517920314
mul:436034751789860072246023599184144455891992330310990,72833959249163120346712529298424162613591559886645,0:31758137343081624453269752355328026194721352914558720990171378846806391947794460806298848641997728550
mul:90712859511805773491925085535825623597765615019643547,-747515802065477997196092836504038150570958532540685162,0:-67809295935620517600810302668580552577312402195771262364310764109361834590609187219719805153318608391949614
mul:397399782669545823592934194763075791833495372998,-59196779886291303828419299835113054892183602687860135035,0:-23524787461549105672926147613053790427130112546635830152219683595731769479837306026216856302451972784930
mul:32400956990211215478801690694170683149459902468,-4583955972534683626923454093368608704790928252299,0:-148524560311118107934748825020984325384128831537817042673475700215519245003301091136794236773932
mul:987205647053507741802554416690401353287928887038,99876648283232575129630115679242229378848334523759990898,0:98598791193984227490766355696552554241176001533681327979309043773446027278571920948873010940294150180124
mul:613843278686603793281546390730144010908586402122774247,-5096436233192165525303465082471737429087562092805456864,0:-3128413126999883739898127525581773020068974144641842702264583891275711281299548031054626111037897411968581408
mul:-976952961430926103170472845979881570029763109667,935178486322270132160329332160301439376977149568344208099,0:-913625391679032626735612276016819847879751832378461622543415386714525380228017439645010525807254806593033
mul:-14766907052440196735362466027665124699631240785562617,56185497908476101017098165076418921931361374576783903,0:-829686025309539659436877109175759992995713482163632861241130851163598589293178881677705053185350284154151
mul:8086945629611784458016532027184114429962417844094,915144274243273504802165174453120299631299876477769004475,0:7400721989055888996136233798580013159529233408791044035035967083245349723159601722480356017380766138320650
mul:78088762763327100616786616097147636046671948600444,567540241084477255158834032762283528860020033647985833,0:44318515244687212982877565975681071792510147353364795293924376495712873521681333329643702186243889509852
mul:719986964333569855824423695658491299542433105292,-615276910378191482694097418592439439457014608822814,0:-442991354927732007722531933484439672517856888972765946209711703099793423501561916310953658633731688
mul:45518095176552517046254533808850801860612235127698055,35562211507032265793347677842985571735031362689772443740,0:1618724128065785795744673208584473680751616875603258142963030074995341676160450789993590567976668358194925700
mul:9347651927739244225461883666785850681796998039204,-49878021756813856103391637115956958358002286487531,0:-466242386226901006946356389028134676636414341103795172547644257145552025595817036151721871395165324
mul:-918018144578664428004161449615771398954961013294489,-670699097650597095681408528960639081653596263477957,0:615713941195785615974127065795375976710193022314921690147944271007135254397488569454896629925801078973
mul:27390700201762535100035783959539579449610388231,-1589447744597072139866306928627083981945967837919031841,0:-43536086658626030220375532900736667658969827278059194645833847995230392704902546272550528175660663271
mul:2277199840598187516900058221233481999025368188568,9608219845154413235861538421470991851896216584568613,0:21879836699817971767000557908575054021947917457695046204371308982480723639160400066580492493518216184
mul:-384224188940171310851587214747099156035618205974037811,-365155157346205326208918238248019306559191342503,0:140301444168666379290296176915045491501178018946537404762619540722359114634558549786149744296773380933
mul:286446854858822908871115682474835177238732522628,-57158496101544373650727927690968913495792599007869,0:-16372871436747676262278174307506297592132492975051635951931260785772478739228382233254016392559732
mul:-381089856197823678538852020226946248080829424869589,-3010621081997078653311455126099557341287585438919,0:1147317155204403033538417293781061706820038418656862236980125391331092308923135144143540086900134291
mul:116824003493453841699155925492342665434851317689062,-23510392931055495213857939210838689217666922526899551035,0:-2746578225910099677716238357776888697288117665636655886289546239917490129557481316738650939508921530279170
mul:580076669302513896163920831671903321718154827187111,57642903862300589084685292813271561699366462736142,0:33437303681368339826568875036607309078951222489453540109258834689115591802250959764588162866456265762
mul:5760449410973032312996903274730533429280588604119,54924391723347076414566698417788233810196808558058264,0:316389179950806757476032029420089976949374325352943306272834362194992326589276708483681497464832389416
mul:5657781195595763129830083459999757852112323789572340704,692061618840647789470644193517118113508111433346167161307,0:3915533213270179560961108305159334536041508008965034741386030883311266330352593550098270684221170821027129940128
mul:-411686824144764716061907353842274549877341843077020461,64596348790121485579427789661619008385819947602752810318,0:-26593465684752629063594295950004957994828988051383949912582218957039523707407380651277297287183402393737916598
mul:632256394728894097701649213009572878755743290206395156077,831219707790000649838963373434914934485492976701321111,0:525543975674910659026260706288720204381515414601996591588570479429744161463440855422928774392151685316940041547
mul:1670481530219772906326138470230000469885289884882422,468290338328174403769157221534943442214405575737600,0:782270360957583948773973087197246461358063772951438918211359656647137302093722698373813315391924467200
mul:-5940255960924729598832299636442321100271324046668226,57672031765846684220194592702663453624777841860734299817,0:-342586630475711125183923927161946766514304847978409032225317328682383801381008087781458635612556537811514642
mul:1070320750308710183653165839089007570013512879851785,1457798154372592051774290334996812066679847800239,0:1560311614386725640264706359282306460222595994684719021358994107802507336028163090509939936607576615
mul:4878833860261622243309660185570248437064542060170266009303,2713399212910344466363698742990679778889654409261764714,0:13238223956354223315835115083131058404743853065832322244195207641759173433600815039556809272534689440156121134342
mul:-153727669883775746511963322850970227020812560900211022,967696702028565741720227898697068313091723784217356354,0:-148761759157065858120367305796775921605388922829212089475409575708151324377711363197839787691020073572533788
mul:-540592613733911579302709730020084890208422708295834255759,1487237786400760689794761062671094249214728767786149324317,0:-803989762194224119099880670025468825040986939150865705871247661626924722104597624198557832395582009863760415991603
mul:6147134348286513705872901614503400707429078163757093529,477008107151085089956583728568535862114663515203848020888,0:2932232919879568942454061197378668098753424444460385986524578717121657294266275306745807650523035121257761633752
mul:7614680849639684551334463800131196276563566036683927,25187069984138015151555984154271413618496480687947851,0:191791499466750257309658251576197471575523021858632537910036998866329759048429339136517641910254745890877
mul:34751974072174908316243318351151710272413759348773,8306602488518142539700335965542308143538343391985,0:288670834308846061096235572592461254734354939539314534410107250770305649520412166539742961467784405
mul:1973284924569393016522181930166284437824113120930085705223363410232863255766399553325346410701486329074823374249547700471683909277697787590783678904983357211584574690370289495346677331618312561665754485123402827162476353576735207718451299565526093115255556962215997764515429748902159033904867393928929335369918394864191487555087825530530292436823694624357846430402766705368186347858763649288740551240105434820489955559033038872623623075504620415436212337263593361227009430895404467373404212231777284568356947010238293550872942631550054733886261493387307990754063500729850132294968984927109971586336754260617576297578,5023215555039217191451486096670046812323372237867852342682903508090873804207633443539517026163606065770027196694503291009850587117226026773591715017125540836707619882023150680605967194554434367524090941938814045780235333982097410791452776449214446635671357519707417878752761895933104747199582531838714305022614904134506738511247696618513698871318914624938137416674596881724436242382943205716649496664131501091102879563857843031208992280893614063087964394912022421136928015233318011144243860597237613050611024432789921991289922378761307428111094457098264457145099945444765267932710530788173695233378407323077034767182,0:9912235527621363370177765461045903296757346464251250997934314384765381968455767811674327750035883028560327843635490083086230089733649800500491928845965808260177110097000550870708488183060088779215210481900113545281854124601490142211180660492441361405426298053896802091578235012988730731854809702026093664780523793649405978324745399501432045298507869343282835244908856693641856464415460033802080004246708824900236489959461486545994943320360059459917374730418136788819890973086342429995201653932338829740545718352667527142958499428354077966431655595175455785104618218647409782931121099857213491801531717606789462812743975739913830932552436532349361163108142395102143904119547756730321871557900417573185916761969667939077354954258105548072267528998411702020631497735552158986372677452750936969993423245268272976429454770189221077520557005286622417163333812030510164503314440581497599501417407932697447376958591635071781976491704916693799964449632893911830806101578411062044010045678256608720149155356874608716245388282176400921764516344436742619757576145128777884235797616593795005421758664915151768829194432974835591116318659671888399376705850603804666493415116788205809451378581533592708248188469927900316495904963905315042780485196
mul:5693930165221819,3016628443782411,0:17176471693318822194099185625609
mul:19732849245693930165,22181930166284437824,0:437712683949801303830876080256140560960

# Power of two multiplication
mulp2:7328492456,15,0:240140040798208
mulp2:9301,45,0:327249844798226432
mulp2:221819,104,0:4499023815872409881769555333012783104
mulp2:1,3,0:8
mulp2:28443782,108,0:9230534995215592279593651121258540040192
mulp2:131,76,0:9898080148094776367906816
mulp2:93,36,0:6390911336448
mulp2:85,4,0:1360
mulp2:522,113,0:5420757920310360044185838167705780224
mulp2:634102,29,0:340430919041024
mulp2:86325,31,0:185381525913600
mulp2:6639955332,101,0:16834286724196864462774406457915724529664
mulp2:4641070,109,0:3012226647655029057743003824831688867840
mulp2:86329074,43,0:759358565425078075392
mulp2:337424,112,0:1752005575194255677729274193390761672704
mulp2:477004716,31,0:1024359827628883968
mulp2:90927769,62,0:419330320984095270608306176
mulp2:875907836789,55,0:31557905658990701020815818752
mulp2:983357211,56,0:70858354704507043363946496
mulp2:4574690370289,41,0:10059850511215301155094528
mulp2:534667733161831,94,0:10590185513519716577933182844778629828706304
mulp2:61665754485,104,0:1250730090982990067823267062394063169781760
mulp2:34028271,97,0:5391994769734856490537202784887898112
mulp2:47635357,28,0:12787018778017792
mulp2:35207718451299,38,0:9677823956166718317920256
mulp2:5526093115255,15,0:181079019200675840
mulp2:696221599776,31,0:1495124500903360462848
mulp2:154297489021,86,0:11938189976268266978253598864697196544
mulp2:3390486739392892,71,0:8005560469361491387429364912321724416
mulp2:35369918394,31,0:75956321382209421312
mulp2:41914875550878,28,0:11251438731683187130368
mulp2:5305302924368,42,0:23332969016866530784182272
mulp2:694624357846,102,0:3522163936626521236224897501281415419920384
mulp2:40276670536,50,0:45347499604413458849726464
mulp2:8634785876,54,0:155550473814310487519657984
mulp2:492887405512401,103,0:4998472123541838661247665060074167267342942208



# Multiplication by small integers

mulv:39,34165,0:1332435
mulv:1331169483,45488,0:60552237442704
mulv:967,3873,0:3745191
mulv:4609944,12208,0:56278196352
mulv:-9187510646,-19674,0:180755084449404
mulv:-9187510646,-19674,=1:180755084449404
mulv:-705904,-32646,0:23044941984
mulv:-494,61105,0:-30185870
mulv:31884502736,41742,0:1330922913206112
mulv:124758920,14754,0:1840693105680
mulv:1578359,-34693,0:-54758008787
mulv:66733360927656,-31832,0:-2124256345049145792
mulv:25747369,-31317,0:-806330354973
mulv:241723337947,63112,0:15255643304511064
mulv:7902551,11307,0:89354144157
mulv:-9354271604,39887,0:-373113831468748
mulv:952191019,55813,0:53144637343447
mulv:809248646915194,9772,0:7907977777655275768
mulv:-2633237043,16406,0:-43200886927458
mulv:764186567812009651,1311,0:1001848590401544652461
mulv:866541923,29701,0:25737161655023
mulv:-834567728673833890,4681,0:-3906611537922216439090
mulv:332307463075,323,0:107335310573225
mulv:27691642758,54832,0:1518388155706656
mulv:2202473525085705,16772,0:36939885962737444260
mulv:2202473525085705,16772,=1:36939885962737444260
mulv:-16583738845087,37131,0:-615770807056925397
mulv:9196926997210,10181,0:93633913758595010
mulv:514078180671038315,62002,0:31873875357965717606630
mulv:514078180671038315,62002,=1:31873875357965717606630
mulv:-3412120508850357,36908,0:-125934543740648976156
mulv:549214983476935,10691,0:5871657388351912085
mulv:651367312269732,44154,0:28760472305957746728
mulv:-9584205879196113,22814,0:-218654072927980121982
mulv:987433915942054416876759,34616,0:34181012434250155694605889544
mulv:98036280382191791,23951,0:2348066951433875586241
mulv:80662726244584753,2712,0:218757313575313850136
mulv:47866183268822904587301,56393,0:2699317673078730058391665293
mulv:-6912574313961965048871386,30037,0:-207632994668475544172949821282
mulv:-6912574313961965048871386,30037,=1:-207632994668475544172949821282
mulv:727313511777411140493,-48518,0:-35287796964416433714439374
mulv:465780278683330104360026,58793,0:27384619924629026825639008618
mulv:9089195999415213350558115,62437,0:567502130615487675968797026255
mulv:9089195999415213350558115,62437,=1:567502130615487675968797026255
mulv:1956713589673152168482712,-63098,0:-123464714081196555526922161776