[16881249329776354324741659028512522973182537723701890797593143654675230459384462879657730239363070964268696775366206032033430665150038065449588323916867750946238851686937789293611945155667339657874672435889497704201256690563726499145013466746665480595477391393439700029911419976137073746677445052562863364947346096068954164442870994603452942038947208298535933538177427747396562734423869931604786644306539690837407823524461654854453544556076702507551163237410800668110774983673558528152693648277347719100401159516420634899478415072115292104205658730996687934395811404956837186536168044135616374578808135201484319690397003528964618728463584385491247138986556444409986406802618461705979867187943408060537527054262220759779056232345127516935947775294487834143634474691901045710961956042525123472895419072212971958476681552429432782322746567727428386552919969500711620309790873902274169219538598182513110542800803735310810733622881822499249092073671080832294402871514029509738735563684111754680275873338939792855097135181895634838366803829055210477906787959335855786140943835386324204822834072193224192819704267388116538196356238018038655214613726211750241906514864404012677658317921776680289791486743493514666112393366489924314956205639538503508645322656737948028256129606760253806461574888781301598237838240060715120858745633854358747866532604485681554339651634183503475868607018260489388806063061116090092128501379484092623686804596977454550809780135718977262741723572356024875393716643729748134991599732193806135917981104837740464352377106420968726811439603663784088536647998280113618159190270710476123904101225283644410513348977509706436535876435696137498641593181380767801004079247950685098509651686322935208946584564451534246136614219802489611075406056257167163372066773274186483452725634138831735315407143944500686889594511807867123919465277689122681517950985490488621605277149847717324294300131097102877065741309043253933242641912992964210461833956858888417575319631161082363940236394352707571918814483895163700415072176606479270021787983845213915666184151201702588266173530253849222640729499443393238136166638639535170858928805088178853802878418800080644381243676371710619234283613815219520175606672543648668200348579668449371085853368215187460130546446175406312241763059936233051821952098522351037651640484127120398224833560182880956833168312226687211863173954779358717773272019067435055222993578292250714677583414205911587148782752822282295058327018697218552160462555778018153717683098552686352464943799523991261495446172831123079685439769717499868627641355916776636548160834334831348817108289887171798595279749936290264560798004486616449974824740557748526327885158975653318536638609509747635009514119505581799889993357291760701710161552180993491350149807080563591352810991743551780320020734165038002291257444662857138994398168972614636344928323230164435709249013715679201308122553995671619684870234699518953472880529647325556757392378498123873012600627901990772583779418566749650088298495593011187043314313511085905263629771580292367095025595136526078412940351520304480830151880398628595652946193480509551010821861064436636038060784368538246377915688376179890570809638769579869044921556411246738880365287156946048482325501405283318149988100377426440341947887424727105209501240161789147492783953557901481386094397726913899639260846575349947179708304356519026807328716675107749649301167571729902070739968515942153916244026263586699904371334462705172032163665672232223960746362167356451239087111675129553097430921430762144724218203670194286851287410245274127601055696144178057089210504063278717266208178640116599393044319964673387090434604962649103463366518997237080635200991699175223598816393411707051376605726304751459583775179075621916324502888357599787610113542836549324183611325250866566636226923163041037865791921698638913854729292877836349025307973428444191159523262839413523859024042722563454932903225749602192357789486984008272233084184655160255596429680375254398243285719277975061211250303388136138503537927713735002889026321176314393283025563325365712950857038160027117676347864187888258942122991737144846808110327650787113031782146500720075617806295749681747113635130087426116469712971843949454010534160052455718414510519733581082425414460785459589110882369855381221830889982651517818135945231918045944005466959368821271440040592645833473544644582157584897562176845127270590620214644910705164381106270885439376403881907012824896849117286604637769206240470396323076399305062484384086130933821703048898180839495986717312604918327340538187378236578177210739996634633537030051395051880041577768768487908567155450923553354218662812190122629448576439904355181011950840266660122819398560892125986355040013445516358608489175896936120641172087186503308174493743871067595262817527725603979436014823899293886201549281053696626770086995053404345762150591901799622395170759755223029844957353918017730457885279709184780069532657457907974640602406143269442212005773591242364485481290090144749295764153270422307348501320679077889314782502034931785920644027954317490888502514561193918955631841757543098220683349721205385830286342802219828725701219824939786859472244735513426859816844243611245314440387352588299864216472665653244727584119940103322843576903105249402204930755001388047588373186748833942859474266647523347741738458464937717960076075522172810432850440963954885775703740912548802983994081218878358079977551939900598062164243611906912657610469695522492639930109106590341959729497389174664988886856640237771326745396744502797246458848495524152637038041940777259325463309322030760940060143765795423506664016525286027738272260886929594631304596454885618759779276799921322770879785693908345675258888775344021982765634928935562977118489738945355925819946780794605258178439800351479616169009384078925159939323214070016275871830928876734446193865585231156003773639251527618916980264499296847373407164215806917652889201597352835351005148428184935572711972288656822536855401708150236527235675216698188876501744915128405973458185299657417615022246092916336937225555192547987861193373574675193503872836747090007228269087797418550442625553222834903116198098225150767460070840863680932773619578771418383515911989429015915362247773847750500619832161391337218356268852400684855880358622157L,
29393679751529711507885759686628750702785785527611813394952754795092586701656282005375400531374657076372132559658225298081119865632019999617334842080842181937078816412609824808019972323885227372603218181664552101122983603153682990821152325253420788988386195567494782106831044183420197482864924625610462742406944883786966851782830594438349130394722592241471563566451891133979587919476643702003930963164836964771426276302495572805016450107577843903723251081281187671618157052967357771040915618170151626312773819655750886945287490388165360587263656882538819413747226988331309530522686216261811211366410045594168109733722997779249697773112297212246214553564045749848547743473571291989611563367418630519416043866170406341869455305953289188666287253736887758769958130014662151006884221319366689872419465716742627679013952252649052070738996943970898330139240684787062781275246873680382404153532456296937390574242417436652181293025080277947446588947551631506149406904719629412725447257868654302935481629420720878316214016589237798773625570446088158088533714496967339682315213977188050864987703263651240108921750340759018713848368392115542355410892207031817143132327007038235545665720880353355266795742705086612105689734973071089128280738923688140675631416147386525548439314714667536883275812280604589695258687020498563988421916077892949669566888701110103773958018161786204007422602142223752171399738944376261803775249425301582382208962673663785966443563362045131261529088774999166164864736206357235158019642698869943374496875434635153543502171132003555141875154489581671297407524014485332925410961880933207855394575016391479960451768819911236414068912854107206019002502731328879414047078053457734632269243117951191363077220974250496579022761852669809292278074943119120572901768570910399883013231890247388969562773071536371169228010231146773260381326829514024363833384943968873889131355089449220197580286937883647700991651828972155500732707400050502289938169368685366010593616221505636845637871055103319689293020733800961427272581264426902773094147368032813544441952049087974497772867133176519100452826652157124048946063968945281070571923661437650287318762173681337683378527232519420091971336863673515857868424306263393347365475611468474293025524099443461842086379699112814868049001910070006446598074740918536569467306674119881201640922001526817967512225306535632298160581825443634509591407305990937852809407800811183845054208486982034096923087152192606689140876051755030935434647921749892693171436998538087387540110612007278869194610627275456041676802344854105598119633416137491856697473762270244327970868436110835720905678601376754408258908595994131848238239577216904738394318542491346542982113434359776293179978396026715369965693615587342507775481271199071644247480458683417608513404725703062083590715004602839360824146088797429595025255766302101098572341587139997875718336714450081421161521100241270013718900441665952842993221556972302066108499065450542796974778708079151851872805650555006822323267725075783495444017852155338442232138129040817571856180549651515600937169717299289970082783629475689369709726740789475546826218537885385530231937132922483253409099253514527393501554967970957405050307049054008658378555696403923206532549473946604834202643631732622075250979557427165089386688054997103869814143070016025399041914829353095359493824847207844543335727039677188086611927306140328273668726770782982485005220037489282895394589214443342062283151670624935258921660426777915114471667143541351584762801926268844839438874094334285357167117074605317777410608312504924049773389490936165887752884850326920671564770630232304153463595585892647036026770817573817270150732025437146522393890534185049216503685050999722947706980867370260678761432703937667470962504309483068523179581044161889111143405061369229462195386723099980273561128049852982117657747555746848894260910149731120645291390812206563444104570536007935546916134881404030341885376412799090913716209795057386510493631208313333956579062303322111358969930368917614624082180221568060580293428190851694740711234970093385117898188768333763490478919126578356273418627993329478225499636956782041556018187917593748352770941263084331272533326324671544474238420363069310055256220743232719286644018276078902522584121883670551701888355723450031647700404428107989513917406547533340375527388278361955344621784617201063662731255061151508225945189971341000270177043782700976065130520731118124089434409384071193608878409126171987248177534435938371273619587379981548654920805501242647481941653818512723977793910893425467254526239210976146761757364063216228716808955743874454608510145028748946508110816796342041314098827230795277598524723332644799629535866418974422537866741629066742164768380555893973290275340779014632782925861579379493777692862698476926867691185048442875699987065303334658875151919316738886693874461999954212830634162358989612967012303300697526390588233681856219184146798654740978162473603183285398482973891673550208534611624070375376601676529715519855265165505282750904024427267756426548059242494252812619532366926695210196222531270438889816191786258994029699585335135373867245880210273157604871396669019368638566013778032478971958854295626351264228985161169579127046738465710654986879461473201664848528563434435993015683359651025399325278911985471583668536034307073081083613553038904431398370865962793491079382818481434558508009115594632436569829945721989633929686560823578680527524212368607230135421027928550219575786818354339698487947761969318666124500959682343716782714020468298018172496218701005771934761572473650094001210666850220828438536345491582243066048892559458728997637097366318448357240545850561550197710604729269306190634693624341679654087018125815881884348779860929088168213821721076191924796184540060466597944421758191590588696777994594547121687235971865050133319324268126212962798939832997809336849680493911277175652239323545598283745788801438651255748380872640384364140183273514558591223893019568600908686239158466128605554150879903356785555463013855302626798758141406444771237268717854479834264569926815534963591124866349250892530964913960615740541072192316700533475201275385083023889599383550189484707828178112483727039028332112124601063092195297789575514703928921027696901368343543673093420698071393238449990875733L,
51171752321713379676965460620144317733340942259710505083843772493108416232400341650949884768416110178575249962719515910937449092917217528836269170303229719789129207998588409639539157567138658677029299889864357000424575614852849536694275993022764498545684828735599640807632127121565505147668241288388568645074597933397220436558508726239547782111251031909107393442982299709146074321281714381981421534629942733733895287743152626892558126876321035956765468205444349334856879395737901766896585049288509872350132732097223679639505890687888066060202408060498839824096489124305274793985104971796151002471336921046554667866298590470948993231221112640181814693071284222337214568374668574949379201722520647292210260074072271859082308679027548924519763693275617390942580638038828579325756476885514905869142001655423162470116981061051311957570633919303027503231554365384280045641248959726634365581048260181637427038077149324987233936194987775195878544425266083119198063049963720177004756626748726239412605815408928349533920011953424850802560787140684194347460884389708401184730929282655939038948542845258120630262346642484200341677095508290005143332602326422589150413986520111199402822715400627961771711367637761144939210966195916846399268649434419804174869174066048549844603631695775200497026779486608044315643236866972378494810708495763377708489231808158438022965650080257111864864115893096520140754087888380736404260604112641320282472239046318115583212086259180002426310085551834823136683249235211516394812534289811957930950582357829994105991397643938456382330266445752541078553451449536822525981371725337886003604499657976388337640972044609726409161473865613648647467806832665139175525567387676916772263374619661872394378247249125292787538505897140444615292459793835177333564262548907580076249691680062552187025848763690743240762357596474896121181927978423310044254921727721669524197853679899568724355687317919351206218226143100933511230254079801667318642997537430562190313571818302292931237070304629029484210430829637015719507716728875869778850150562654298988619262053211752346211010506711170903410778341912546434685268198276783106858230541457984543208567884334679708574418062180707374277901723047993213388010879450303684460639001548503516766346320693493924706265666908588224202186783835505378320321017624862761547535585132065590760066082803825202979941848496734383915180024085733707012694916771390588492076187663998852472355181784634145280365874703054904182473518584781953276276554317747416992259129951875003241471529017312482952724560716491543338556020454885104630785306329337493488813284280666721022050947395938341826241125458704590957560830155927476945825317445055410362543790906392226554036023712243867190168484691545218192311253800160560405925159364708942809734660390263940214697825236101477427266128167185229874573439088609538754371449754296839376044286820649829607127841010968133229879994798303836296330432486509407382646813649775458048126558883350429030828796335262849598952409788744341331758949038650725649089644558477667888451613385389485946427096557694407186808079794843709858688149005163301883082008228497774280063709328630558349898014419774122949201198204505934176204098562035352797293074710306952945723143614982727509745860640579307399410022104348001418856493873575118958197383489935370682900149837875261499391230681198473826210355754369581912759206041416095387900802645625471011078927908619616964273996563406727287191682384717991803912136592540184706981381935878041401607338685083175773414109296042332806465507872036508091195621195157276161510511310791152898952920246688359554228689340365817093380525468884064698029863959003349506342666283640187091468956951754107765384112174657943128520066408772732662774672341293260060336400564072659862634723795795473810592100282184132780528778035784544011467905703932604303517813110140396175486023521734504320000798371850997986001830324277246258314512783831071036584713421552251010541311718243244355916538585692059808285182294934806045211056150349172837146731674290807140422876056886527621516843477632546098220790637534437522041329050146928188482265561810889656845597041042000050748451326608085848603128794101432226384574981943540586741830345481105117004087384791776482851106051337770113004350150681500544581895636102535561907543640912613348456749809538302193230748049805434099348455993654054205619470082509394956878913092185271589911571849015969215495802836271875625823170942575395747321587890957523639400154668510200299029329132889365347469361463883193736759569017317233642754820841134643841496524776027198364485973653411786407112919373731768359561431077936351137761826456068853999106470065896409730649089783655621700461710295463753757221111026665077529715151663416537678189887172239753407806915606052877916494369469893088878912675549863655108778096257528452417136022548471462913769129245266977633359343802364282235100723122176336916485758380838362822895977100469733576988135877879515173101880745194297889539344495655918253247040347914119505226898470388695038343488779335724983494951627548314098429572738877713174740337294155743883567092504429665154653796035601781866687670999408028975551391655626408847189272092610374155530749523838596156175368349342957913439749169859798607203663314413130039435944477070949452221377845985150642182803869071975061871367951762630567893332516453067678318279426017963299945953271412458254901822221409270743058307489224633277683034418850880994245027691931325455718967607365488272452274943191800248984140569500053084140314369095180635662082682032791555695475696205003279342470223500193095602892288053256450085465317536805352478600252089955471625344282029335729212161901963197333959392290537504498647768196333196198371374789692528901616902405090651818223617055055444718553065914567523072812889119215617426669604900133045518724849927382186548228261708695718809594299185886256034978277459030150043166305110853606512105124999105595368768550786342985804840951952186839545622560465702824200064446449036292839658951689010024099130236596063671558092816886481123146078202288139567354495138820436344961365952987265573188839836870806503715770664015838162995849162723911265261581338107915561945895713878784930386542714386881200449004631965771249518339671403945943951321216752828494318555708086140032738263090248685334995L,
89070445470565239879083612269337760827917470661117258711956988702960452563288676426321017761428599904121279956830083505140629976224740436633752140135472059129952844459319809752989404915083620325252383027224091150998962441908226410756220310707010401837246776590565876653487713735265406656948564045702488453236064330827268821420226070096417716197100814422615808799998492539225336796079251368140692953460384900786865329111390224598126584351519729633581102926602283284850754021729924273274325792830938594662422736649252000784320406828326409008666571416009277044443348882395876835423254267611074926511536924725052052665148049302938186581800681529669598492288879773460654243343900529730449168478351636553985973495962561027899367060875974637316866856132210991413042387275807030898774168598205530883292785673940743295110722509219001856335413101447566816533221560794227098928141463536199186516622307281822282129729299448958909472263205047286330633896364912070556583252035441318248997334352501379450798040601365810769938245785677966971512503258350158818436752747998261075252650970247750204068204362251931849990424945391101357888038032540887770555297266046762821150133836535545762833368221279291197510859130325270843488379003853654798244994575748239438015268402767207154058490336249882047945564159630607610762042224578787359197113653520967608830936238084040147108387474857842006020675208056942738509340376335312191379958705368557428528328361694099983727740674604576221058969451575390791540510821487329364295880727064683311063830946403907640142407092004077690653147289231232292368067852533157880016841149394184477141972450099778086725811953914993360663391807590984114353216480693925231118547722977771907480839436145438900703448203564857753439806579156096374492156049178048736316563212751168773378174437343602915585592486328134502373052706246045962555792498180232351463913263968741400830187178881281641715233305428156036405457904681712999948923145425151009734313613002004001624434078802530672518812391715498320771021381061014865910354726584139020190818145067733749385729574653396726752320410560502454471434503165235775422901137711188183538278925728125722794297225762078486285383727182290871020771604569753322797279421147824099264961935788313427302640151970673601396831409354045322282589833283789835842130671485622294880082270492352176930206013771427577562500214606790195723752133918706397016589816398252036442363447803293434769262166564365274775877262968174242678059002502387886357520251926814956888056166145042085896756838679155075066897616499322790958212341480002777671539801925501322263693027067289311652225775831494624678950298222116849374197948427024355850486861807202306976447514949291982021621890266231690778838220403787329620798015789372979605944530335507670020484245360108888173001921515764386315328327965328151744914958098479411300691604462408196678041683056643556363531920510128124520569001849044793519864441411576434466052595427348247092657699741444874734068222442943020801677313842511582440931512334200574381818001112644853385887838092509431964233857890611609532191080546327555840822189133949274984999723853588114746262717756187238834036239169931397655506990530589574113217154471891949852792823214717971861079072431970468858274017353438081487990520358176615649532620494320398248237910288016232035903139694499952721874976502089880374475173804807448490075058970619636697954059770100804837726051498256259568236674161714938324473284968816866047159339084218927860162831095644777985345430578675505826675716006412166663247028352527506156056261891285884715388956790014039476116261053800858930991181341042867285169459745388779349646436264343759053541688422047151284216814586737158113081103544023797838719617265445823481561282189892895919678124681657202998429842616903707653697759462218415199550986752508347693070369138583803275317368964857832114831302388673771514727833742578488890683345316336819629348556598286191801154786120401430681766432545673979818208173072486017312729168704057275813793418890808651255703688614140123381023117102293927052719608686005636466502782717761649750711229751645195108952133873697758004211361120452090170613554760724685809496262064074283020646246793338838333348383341860077310461967932473781059347957040529239994318030181202068120001498441368414077145523472457586269043030306565700956279173732098621598749202114710270560053006333808363654105292522903952880893360566923392757928359179964547416537655204340218245831189855850040849670169381383807786954892800344384636558431018179950275742242817718128814533277973877552249361001690054932753732360911826168830076723205378442373197399182922375413197237394433790312970789483292585335723705928140794156083927427789220829909861943828096023686405910545988404072520750614500442066968231598331497380587481622478999357874715808965274205516194460917164720305959669066497555690026821153001263902580719567517539835435099134466851824984812914280984801636629623914971352571777105912770303770753527984975864528707350548661635944917086515291711584327840837370645026256181915418872508192393930105689155748091474488962141724410723985147728812487921538481148159743594676098785964664460203813018309158711379622866801188631328727661456994195835782893782042503051772087665473924209873303846317407637044157345121189006488187790667170350180072667127755201709268990669226226966917845628563378600913120763594807352860317054020191223934219573028345043400091486409975017584744249706977534252685263794655480332504320927492769385757962179453058743273806197364530949571694086646780694598620512996858477277444708084912230180364113592173423676333999205273799935009415093652007217123723948615917741864432058186344817041064647064056047551821441886858491082966393951581876938563339488608257160864985542903832515392604709683202755413126813109541000897207111900351837442399252032259679420452563065543011823643902437698465550373926212651711771526435284662176293487817178163244057186394808484148713431888667517331817583091200549596082013526130636992410858648792760507374127327394458495249924784268877480822083422746389952443106315585668717039337190600147521617688670718958489087465529580987338779277191085727193594504281625606930396123813085861808758398459508067472500058757480246366542366244203656538916738174515548112133095185855865639392463287438471518599L,
155011532810955346716958819084820100882465678184965389218171982568198221301336411756599301494217608870050621379903858807179778629477827728909120718814723907294351923543296654154337965210823936985646636374263008709735277190802579156879242900404862314345794051774407737851982205298833352932989368366272314793223359101723488859305237658831483458004569962127758395614835776288443278473066865336064107302391667469097347390064154639059190977193762369726620199453017856985609564496182645729479214858607516283482720428535578253339673218886379302077893632697651394457844563422102423250979437139781594390809957839077106918692912154401104641611764923941598648701553636439626419477326341671135239703312453933308019210060114654441216379158086473219162516318794654653305398129298477635112504673561253739559569671356319092846585566121270370538370669450658968297633877374433204160525859996042595636104374207477989978151183277594032425388350312037452816721353218738503532049462408584063689054084600664238425566364880227059341904014850853433573482497664607802200360986634651317575746622537027001928875855394271557882587759996454711177791388231770612707836054128935665475154687216257803390672368070898760799771112280678156261213710439576381709265384523946963869595489070452413913030975867705308863972133762960806308964312486717489478368766529714482938480847094948609042897213890937278154677384142179303905257532105673326254265034080564682511829285190297372388210574561560838564044337300417412411003269585378012642063410728743045496701096979950545365587219865451388673978615264699222264639841091307760097849323431570837056552819263869448731468059692534486236192467443249926272647168635428880303346459527098297784114416190784166767600529858220867536248879475015271780381333266704809549175570270765916716070209286794884708700780997668989494609047520429596008740794609186795780149601632391946076404280421662234880320348114560383860375089189272701986843218172535033021086426972216868129008121912890769913893171370783364315552321244872167087903621117630552963449835948645343965211188054380036254580603352074000150989329489552906723407526021609951022295975698924480586806562730424002960230657955749672210265884082164554760600868463920140058017009538162165484633441141215939854294523581877796755005479241603492464619902399966997642717430036655763045575234874964953489269020550878206928306147579213237212899762248452414091045524316211068583112096121617147982254381205306596879387144952046426699529123405292045696912991518279616920857096906594235612245141294930318980981313620703641318775883091758834715951886658240049053419033764578007373460352714353584291434202742600800626093217903091130171016105680574133480374673656175650464309097295132612458733745381713685258628745218498240920413117021479996390932936134099776695226117192569413500714134130661183114142939946874642168471999375783715032134764226287649960004912674954692768967239657201518046058465027042424895681745595733319690794464718615276530535078559928360575371968846355064272880554822022857114982191507234302286397133307267767436084597429396825339301036370755122150104881863757084192933610627993496158726975812402877665429545918588287626295391981680813151829024072308614813367270103694216202854706587234057860779854931415665146784156675251082169023328850359807573832900603275263061048863470263818446410248645750285343944357626729358268987175336936676202699988337468428030317440860581640660360611537203533532791613267609017554451136443110753810219045428143235085823654108242488898948128816797103557272590958550370116406927738501414449973489669530810764148319822951111929694092224841887079324074511876875045260062318617761207524975199742652029235784050487349195465735669857674103744687451737794246713443478209830690920770856201198876438550326663784573814240345231775315584418810954862105953178956233109130792202977343560012029943812074279442849915819117989965333955173409216827421133462876475587844262356826084375599822549895154590443090398316186494314510059895250365321651517360323490613040221413325728436082011356830837717768074862581323390121155734824334112344615090856130321391241983302869981518311762438962263157537347440330388491471782477514549569425635000904474375410519453263244773895644578342749969648531058085121299587424874734567211660839134683959837851984254646976642965348657727951615339997943696519894779490178419105447167146222746023775593636149482247016286582895234258173785141445706123848152684802487559577253962474429432454467817716753907493198735279551234874586631601844861048063049485830390226914094248682530932399689540409267553746583571910261992208348487311756077190270480970021815906383210175799273983299454683286752747658055377756597521005264724354562954681644411482305436977522515273649626780470698265291991774014325296591461577760889963963435972749740308423927787607708561543615879612324083194753358352241013835813663728912462978205042381935571614941488677346614072454738622303195068306672539217728721622837762741772188550109968678970415662078105145731971692550703437513528258169744204485756186761204499801995536549171785690644529642796667966667436592912183277303539004259232024513144687831544729876512661207169203674047659548134980410023037284804961168631984999879952519409235448626190160956089869311562589433233036358477156782688208168674075928300572474535101229232333513982424053557658809892918605813812895931348526950035698299039483114340757808981279382716995991044245882093007129038184555226569440180705234292339146573569322446631576682129867660910457013662030894880840931050652633385085623669235719836445132814273035739588333796741979613118426254590823677532002896264181993571619775074040816012080281450139387631706600362916742260944707852089094680837728257521903649022998585575125999695513856893714471681012500347750237474559729883390755839051829433134369905641357297904772156118941945166778122006461867828034678015663865206984756957229820236066160346153423992406547736302693448006369627336616214974663780378695205692896064344960529219807847055754984943366389299527081845152230412002026255415862129390080133261374072012363997247514209722607234462502737971273747776610678698878963173454462940131796075055075681693466839793345151332944986899104473734193868738408964621188506652986000383171086561847920741749837400041720017224L,
269725182280278900999531228381202075939764904904229614650509301896336808700926312612782525063521521364767742383154507608894903476972671816195510364329819931199652611720922204321845554026304408622473613944735759206059046418485900684516984771523030360691242229253862812676096304989810824984386345118653585656890164613381698399340347758566533880269152452042397135015605091508861049638512139419439445021614150777732425198914828696650128734535345141424095403397118815186465774772798408489150955601282824332686102510184197938298569165604441249896484675887045482427197212933007913644913193042532247356660487223914051551669946313349284322463337280766136984432096432933241454515562024182921015890687388540022628091829634674089172829404983529575958418755607341114760986287201548462000192976303879978423551704792151220577530115516551970372047074817574581271335575227781556127467029715230541176412769954815186465614464815727002886002418370181393922961558514103371226782187192509492364606404046074851624365600435238452150501977003095267430318577523534196374149743028728870386888248553447640191503764769435052100843614808302915122414605737222264686380261917935376125330962986483044088720893232877658131966375166618344321106409953027898804943939348290167749953824607181206544451980953904417299790415933620916724514263041879476881100921584341406871574717606982127022674419323755918794500158233580259928345381428269962513546002511451304378132416765007946402912562897810130646363806876278568014435003424434684733304373317175476365461964764971920954546730744688604588630319779701955113665780119974477391292482767769763059690729501828792185557206096431239475672551775504190613653691506646770175673804063752803133096440718730685089822280861164908862323919572808509077655895923218595247893297024665678165731765061314814267379187647469032422727847147492312538355454239334318130175412944372385462925252643993839627592925769598404281414027662999097722100615476235197035449103062528503454085164935386835001563041822824091511405349706019320380389031211960103152907675010428661641793589590705857394124340352382674946648482216415056498140950700576808238573143877122773379120626775150152948903245155930705449461381923772163729760682816138417710386180812827396335241492633344210942648005857489196336644880895180937993143029022323918053714924906526387714604717898032699181419370456658134022913706873168693190543463889671664928157772776796140671518963466957240701954686292423989328649464349692463481159144260279360014557715201630837773141777042587794136114843195594092522685517783025227736150868989636327507833557124010315300315327465208088908215107165042531689813108889283308067667885623250973438303514082917518010060980403311221594390749399553002379265804581513232984832960594776033666613742655538909919487688630729621123952036905266605094974147126508690969203110477450710174256026321564465526209809142718303024849432318773556941239007234529432838743905285985569529720836609183577455479137447674337156403163976655222646276712299459358148552293125447105080532962961879697311250870867856588470394334875280919554968159086389371540596764486612013199081863565183903194823865610184070649442608497137336526454787771370221275885610033227437851756170088224147437644233905175041306437604059012591084246624372702039605866314146562543566509320233866936276963423910968348801065286547767035436130660776275244454687681955524727638617048101341160904118038485573799750859866949931860588414441052578466756922598014416960921795386629858852101285929444457967642003685535676505506917155191718222490429977616149357603582424113268991476077859699419450230316287144866852882199423051113368425965790551255365801384390596096331654225808403070933073853454539783755435495273022458412115044849618866390111239647699378329797876479367485650830650686839463158360341286751556589253749025100298226105184687330973777085250329738590771723998034702477656817131009281319243967016295734079955784330486398008762449571878278244537496940944652459133739148554870066305368633003499162214633991552132632574424761975626749149038124272466386936938234252758755431785265980991989552038856146760166808098549884048766927903856582684219049346765056161691403289938716157376884326680421421326636632218738324074357675175557866016883120573309764221005178764690504097229368865340806120482523760235395876818386164723569517713471097180063447131181513671501761815595324228380633333385579850651073353533103264975444857917357849088793693363976919316585940244908741516262229932013895806585728342196702054348693407883140057552480580470456679502313232838984397789615011940078731216780544785430298160748252725417948702489620586773399345241620771838592725866098993702155435222007300820708947364941223522808207442889883868873470625628729991406653335919298805602948746144851880331325117137250533540102211447781576957929068798289459688333083469809530037504985030361899784385920463232558765313595916257457633656419310209430250753933523317895024200440545540442684025143321588017003472419875601341170913149477205547458499565032755105180170186613526302962374007681404832396993672931366866955926893499452094223651373212942417941908388840447280427780911658545093853693477848669320389569934238116373552669453318035036573479689740958809791336395855621759947724955178309902087043189220709056801373229461532224378905816466939274292542436082148683656434098692269424699540170452750311578694598492585858650733857191519806865690268482023143008523947165160670986845844410380284604179150864835210700594995281181462123849058459865251577358222557151972569426199024352837821805250535959223562903901217984026782715838219515510450177787002019665488433667977690334089038517669441073430869487503014133418554326493137645482033398234539187845065542231909367645986840320917953249468722603782679484308800982830875548448225736671812606097424878815071030041420484748012007291535993315644038086413685477855678002550203896676332739372600221495111286058235810472242044022951064789495736665328187123138923873332874713262479599387911695922124279114216155711730490968953348383599132384178461643952728479255315982809715926748359529456048026331504915825241613922579147332290672834714114212455869579075056213846369391327808228490262982984166216849081562103413942657207015555073781985557773095750588147172757823359272593331205L,
469251991917040238638142051956975882555346073801595778751297916316542443100853369621610129650171197441685291230145300463252031364303657466951341087073316717302155677143727883359958662550255244468214036249791141571987562111689932759298325066410556186225714635541717472826117347969719666079351365258723566251728174005411387084381171878668573100063706914906672596616602996823350405159320828394856983757710034771247728565486850138958304374766495088006640263394413397148799839526071221807200878527764866192963624009245991179140108201763240979221133086685816544306459508914126808126698580869207902705937402971139350994431512087085121187254180841505423335872536311714917911855215315486423464251601879631195643324437760164936622437567712498262496993781482567853007154075809470687356969983942522595056789112290873405355671483236610447909075901715354507958549448616868768755170282764961592157692803429912056873933983406277387701276314387595878778072834684881384015703095552596168651635335909927964091900174728613857414070472097865566302532449247830330077033810015779363685432105416094553577624415544298307401390649308878742064028277076400593420852661137354040733939284759167705443546884016355291291970565794065791592490067686072012132454432398210656216692320333500255183849965399658050571580983171472312639221804759557822417296309772349810760337088186759800767850765800714342539015343571323176693272854850271488555763087713369517676973456807894651557219183385608545386197425288358054402548592977564396310664995144294615572685373741952065508376877683638422712936257111047718462662539748258919420318740261605568396546267411149444519372990389894857805229010480845921831090235966915910506155321605100239841305760042312301669621905895471862401483971255921652392150220177373525625282077180806881944275088136172248716054860603286569743678227758712582436434791822364893272222943175170370207098658868581780514377190265005521285862936345054853555442348032455904556644059374999284962936906306173515425313702286300528415525776625973960815827427364083526709973983973381064916839420279640774500856474504372887371345118564724023349857265958076095470831148204613072594741450738348082655734480458362681140576993819341369738692471921408939573904946174344395266032333912144446546582852357456739524413223456672426792581239937778840598416752454603532564102976687972197539626187108768432762669857663445947811585944213005096522277595505536281193242077683394811618234004616558243065139025718188799264564121278808099523336105837664572591658865556262928711653216860087026636779020444433723045018063292568780332157593900654478391919268924154437661308633962410748717760094058407233596866321550619418787863255940601214754067910206370879584445223137500930755555755782719887913276773039742348684343963944652046189411632918791641792538757166371218768409755556134332317899408652020121269472880838413897493573019462458994954757624272431354381561378837378630737675598373048262485022565764506105543816013015155786434849045818932175277832145834768422334034783204418329234581659661630249781660720548728802688116546141086792312099011208517843294279831835194044197388097569897348079736705078710192311682037746484245907016201587703898678896535557839320873083256702615602959209018233070623636842094493149321956250445471914628637317662933676516845887629796079386527516625800811488258808375133974769102105028444187976827102922491158145901620767391132176446182598706896162821768633235092793256076031223157264891326728959424573624016954123676648842301614842538732326318805339957025632633164326842194781814341840889330376624258247304324646153446907845669714022142497838963962746193594611717854316082218106091453572698106024962326514162409363660217732459326623952131605517236988212439549877278217862393308378538531264738115900179034135274044414060223633287380972764513769693476525213726390265871886807658603011679363142545960518867610316050587336283656771922771236307771473475575874485336182756503089848693752782063555203511161422454111587100539683103743255812292653319417557450266999335876911087007147116735143230020773773683941733512307979457636043843213097532894169396758869393135670513245790271507816632277536770114022811665819322221007480321580973979107708406894534392132334777934433604163558750722968274527018200532487743644158726038171546909161565361307049504439097964357895784933050892476605737458013035476710405444084350563174893436850518845972270086637512726220252579480077225734098328300938133689404027432186749780441240455226875057218441053225998768992020612418385226467344301701250351143343187800230429970113399463936584446564621398744871675595912018741745976526524701897111850840078046767466884223491498443302610860284005817377928500023765164204196366893170379849844680990860668105491321264076062012349222304411884543434632516571016518470186366645841119435538958980197700544977557072748066074767671862409506088809214374858375349996361691359607176933361790606698891453721197477822559804966786419423455121351319679689185234820549949551792556485601189480519374038653737197926492771759244989305283556407070354877398452486563807897719916545129486442585076241169157488439884558578208732632667751937812379850087728661135148992200302622777473767537134095410500931387590745926428493496940928774624351582598287747921582403472971677365113525534392076060352736551693310876222194952266019182629629941009858498384375882932926502192949125996260911728197196798021333827493448747703502282047709895729471598973918899534486500473210981893095325508190626333968735117669065220786209465580644622668821952581301068432536852694527420253278451869236460696645141233941467322199653585189800281354058325197644746720050470804524533434454386814825000385837566698404678702048735380355239381524703546877311843202193288335697128334930439119249969012477007144233098502348221239443412185938648789454250560506789681705802834743696004975226141075779702743362962347483725185977433996708167590990842487501673067079500009004823311933857808108551969659813229017347230087930227085916363493602710209841728315264085330881409700705283789072660281311733883273316177109001962665789189168145706355249408265856206408231940379200098701035915321065950010635382492981733746929936101260274839960374656018623595895783173500623735330901470526502463519443877568910075177078716400757341L,
816240136523116989736810355996666428590137070941271326237142539344851415861118479956164590553176004054317816941221429397581563745724092473877478874781522532083898962615641218805887899945974660640597162859516862709330970386795494096840996495160067482687454659965659295928037996254834552011343717102244981861036384414561500033770040719960236902720177712194373832574261017750146311370939021856787910453215830040943008822711766507063240495976231613833270980292155218369956142949526866449095236232866748314694543374921776055773404033759306862827166878031761683771710313376967198960071340349419845292035994345602793215599553133440753809958489998593794815599845940664333358468203311703479219043589047061633393271778515523800435489414477746784325488404809173000202637532132298304707365926513605246296961879243189950363862324316628729142466427754906956612320846680018696637247478739762392374274714862524559172727205936701000441004491212596545449417338447816455626966576664388328769731118595639589032291116225749423848267406883051833088608724242368816629405351725329502378167506363518923831076153457238741508247477685729346904974551048246992160222018983841401339638394582553257714882628201935596126228560721408425463585759574037337631683996451275996464504155370579915778252029838181289992124809917853662382887457054580258893963229102918416996718917084462497691324304551839078752560834208195291272165931158420817564857040133468740839604917970119247734595919031643319130606644267273160241008111481319818239958876811122957043461407080956137172198316590860630894485492884409901683230716625718753962501844930369481892876899462943180162049120655537123835784147411086258760643268229534209558721158903913984063378512450088163177510462814992739059738807740817249440682330387696046633529402749387939169458866141653440808010364776781568456715647058475436569379016983181998986718904082808391866230142608273779016793712766870536010323695901224988253717219223773368020246026639910727514541707523526221913304130441266017986367721435924045768619408867051345752032478352203960872463182201121453327543044973821293624140407278359892895611286241256364158255777217843967525381243756831295374593178575005442423443870306810051311346130529693211637536410771598665463899586567180178952838733185484257334227924452055170653583141046529296125522057888215210758373037080692096568202383193409772180643349555201497235218267623820229100856082215901379671265388256650612455708597934591643476344919248469408073443268155808069231449104222063161198298294040724199394580499822482799479390747178231740327921705153891406880657712082976946403095559098456402015942245018352215313019057508469375487241573026042469409797313134107180999744246155483045556219646260205038817810396913731480706388753136635141410131825344585320946167675896639294998279152581428830454401989253621368846056713754471007096990423767625150421351043126884638224635660282572453249524737383209237794698388000717503123452113817425583608313423763397856810940990501567398412204554036310934437119534194410536870541960990235411180336519228373074536727297707044028039276088940017045716243798966260950445131714702567952713399982067572194485617616988470793964052294183960175036128247850224464568243955389381852375122383584362560438496228045256113308435525844453883691296935033166504179595356850571909365688851208904482835140177545904570454351025942396904926392780859232789330142039235487649778731323755789705779626013407040147485452296406121676969083276590614336574304592457194221569441725535422669997784619062473667118702332471724454847862164454518807571432527924052211361434521007301283435690798803771014084068240007610788709521770381954993109689308132628999544986395078242015330473655090927030831817053081438418518921825048929275497941522508172615274798939000974443573497286249706878906436077353552005267106237401883144882700692796264557434986645030303715021636313502410246272625006480067879680389330519985413087061708734705977834890318837311240906934749437800158497067649106911316691906926718903896409913275343332601978279408202879386705284027667576635102895212486258413121586607935677966279795979084087911800903673950229901299837629068489591408363316852917497612142694241340475558621615923415185730307020222627889818594086389236760206211612552537556066588380469491191320446898831325375106512011538979955151086405534493509822747741921608234464189234017214236505127697921617046356111044563129458584559061105462888509161220079895353156702116828520945644895723560354324813214418771093426968029283150931930622507875379399706306467471613844764946230940943355603375481955861111049025767159691252585139459443082017857536480214606983520512919917613633317144338512463060707846569476089102652849498619876371011753937830525001898290349155696600816401567275483171225902749179544084945550880509940010508072984152778148340394601753850851394061255671953772111146974915445451452314018206496116363471472975191972580802038570292577380197062951979129443620083189965313177043156566764400850075802947925043237633694797255677876190781571238705473152654173236894230077673692727923313949170346125019170880032865378500846522325030403681473126502188805780317544629418953801687723829455489992310042524762729126701639708333534854124650417516810979310645855744608230269395148560848636066554924215613399292544563403533446774171795999512760778373743612069144074152945162115120600085938837828735326646816848376093825888864159328835601481467048645270194039465876310522296459519346196704553868388822350630881450041037195445827572943895408889301534910093203709293555893277432811186104355641845212948496726783129766820579955649551778978654780939834431654529946853180436879126707867286935596028329572809293572944688383959864161606966898964926351951820637515097025960709987035407137256520747173138974200093137770279515363433395477969858079006661975605518932406833482559021565473620697295662432723327222488457057772299773070897192211105143999669111762285836059968958451880584611194497776443230902480348505061597242667324428587561210112317084068026108251529785134105572346138018358637375949873790562166227167830171842140645687416949260140219880026777556718993263901472237943439379206408258175772585833497893659299756518951523141010025667295455877867029428654116144718709029416504428250381453676776325576287300413L,
1419570633142360043284267036302607784657946791533260314327964113087129595017652782271013526416176355844098999538930153856317682259810892464806419201209550653688773255273579304356550455602651340834586811340342729135313358368882363143479872644309446987285108025825266821341805338076291620123655472266048629769801199788370717362572117873506002143976808386178180809309546632895201301182770837494972999018147254048466671948029138227444298479639640197321164387385866617920513938564737243042691316469321710700909416383223613379091896022012876772237814862626634376436379168040550123257213450211654183927111575370088968171188941521903460166254031035163259405178782922896415549957208585094154584941903423564884863548163961641941893692366960413847739578512589301115984188373414269103901159905553610402535875266566505059323844196395258036017052365136129457505702178853056337963119411557039721022392491758317926880509040122242127248375160391515313279058522084157038684850774111265809636947465865719816993795211248905900216172168864663299384462814960194731014593779834111272676193573173460577695717338550085234750585322969026965631803171859463961705944733519293527328582873893402039280046909293404728037507933362918377143240669587587569664566343421191643659935674217298282388374736461000429340575534194971860211565113504513401272910711586795661760555826413194200669543673310259952586319625153134858711871428981022284518057766760394141056718977336873558678900366356952061866956855080884494605478942679361976627674254023005591234960900492542766952213548729361484260804474900123927996617189384490857128354622131705333298394802208750004340861564203447366932854056701681815423355501417298217468573948250710994256265739401749339312713008702130640405293717852077671831721900982092556847816824347792269667774891472457127452571332813381689279276299276321033026379504240955420603985909315760625858547592785606740087370921198498075851901686749341375985656487640579657485257997436543312280463101256091523661744509508294157035282175350137010774888996913457103159952409484477740310386616261723389545009193722594589730323345615092615342543539086036412196149299767100769028979972986847467942689652065675354969129707149279197795017700781244849896996148388937126850505354122384104783586444641122916458817085568284229635334860741503946423127671991372919262502817476874877476828720941660374565372534265475966824084728011670466317641685504737927633007339730564111945028582257126081690606868460136678123251400944203234577656496732520498209836426246278614105154339997048197501802413196543166441678098459761838289315690136845269239483064657429734651035219392967555939885483245121216288703241355501647220449282987740450932759160610768743847631788987704266673250782706231275760484497669835565135398594553460606541359760509931272916120032467650807520772722283015854237641208309518230881352293807753487281762356469062192669559680980434962066013110386300612392417672420829894020844925999661691642650709057605925576318368648184661954182838335452202348954030817388656669212604362912147863688157972894541057558816437605238937475766420051599865928339205266922633984620707872758949751845600268537717537833785122874094305300275239401548339139426243512486800962272323409803850658478920203521717897563133934498520834135875246120064162296985066846428767621598194831704422911483260933051590304081725636311792122123999461881507582597854673600052358962781195628187114860880929490252556772619586721885540191382270510524356319412562425874477687125983570034265611153914504385509819592580655005122234969409024454784656511853771737778170527444591710438559341389789855041787632800316451362280173990683507066291454529246258262805449340711226349613627188568220774480163377589620310473679853951685540875191630288430012948017451201031304665229197981896980989158382957214915661956450928191472397973102568275790841903641519994149553865720383265947843904641923292354222467565960888964936880283354028324075439548736000334567021808897540286793291548596574118421051758464487100548684966932638929424139247881160952445306198585558681983544843096021510216143296045713993688720930393856209797291067927906371193464281210290808008126538076927309439623627794878822620432510932375374029287572697804360694681327203437677600372396144558788851287942113544421803523215837145845580783072379683549235350578682092680814305390907794213700832899485228428296312262511736161040318146883391275380620752431095244514935478288086753575988265557860213306443569597297102981059382041206373625879364594660193528337265865665547024819343107021909352498837032444321710701199347747809629603025115190386310919149816855663279672480537522729832477521295733679828281618004637401552870663614225659151773261248060842134029534690945470631355454574914793479613099417969309335905970975464835648487366248129246119936241180983621018511725188711603671840297191274067963881501390008978395555756153873132707852740132981529179759932327301747809022771500829061502464870139646433363108462581026509168054611284573661996400197607278651941966955037039650371816381504058157197872203228406340682450809756682968484709152117645798648700966564459911509767958278390586462018305025792405599042806277008364809658909678224501077580857638915563584574881057348889868529653152067768636480164806134909734379417729922116999949399086233657974213911017722174069595768504688067788556718644551808266659319089670227619897303910742666253703890103750205198454592608418907819949945431025641814968165011548846624512445790565325710849937441142850474733326504910091222404520046134143785581901793915081602384298570803866118883200372041313531209299360956222130941985270198260597401624226560467260844086251576084895684657126100333685141224939320843675372650530570967107402336547101379273051078644532973109870681700051833460288890752017934953493102290160784625580266595124094396434897822591468159686001242180986551804966918977423907741355752876473410790845004347895161580546429096670763128777840895599150721974275713244262098970646817312550756143702777897842220889102713217491118127994208541001467725248536189847162550270380487287255904089907321042869794432823817855816656594411845229041065563360769469813706745401231196018544131861671195631576792852951994520163304474015399507042265415713200859219958541421139620579045004422918754153608L,
2468444414931030860969852568031100562060220376445978509746452389248609862363297424564053357315619502470583528579879486798380948293759480455582081396560996526529130201186729285778402926190469652783934947957966614949367130339150990993404983006201413895984870309724306307922562868204317223724688652831276562438704390929788771771038488511452597592456154233059543968220758910069584151629904495734929099034043497200083987152214378237990659134578705684674731693410451895738826919578365110618628664814420357046412977794292789474871563744106024381885954278281145177397631402306441281713158120892673636492711960836882944852136995561339726141287666180476022729048827600879362449150012352593190514412118737317085098384557612576373976463555323686628129192961137369495903298203963491788858453136267025990026031042729928385812151870614912534964261788661372926259545221583715016932350162433492671808010844270834461850157091065845062168023378626996612597390512379012835702988381111083639961527621653335967111834452937707573205458118483417296874929857630617769317699274033421865194529192563052773662045472835444787971270751771619451137974520019044555657392072090299403772502259619240297484724941371099247737404471797561510726090916662521322128655735348713877900370310970816517099678269174623326822805958703722745653681944137691835316239167179408603631703771588043522299094340265355331110969889792554566198901078917941675362821491398002632902444714933966262516109320794256101378591990644592454522597153092397093401692616944086937691149544633252921404271464330934493566156656052499716235022334417339516910924915450044522058700591129390099181275364183117334669882311416442649532029489070257954514921542239347857097832536166020539621613515749666996695032917832235797332876518320544215745156818664077459013583054228555796346521413309318103197698024011068603160758020665026216541771859410159043334547428463842920668919568636183542797872871686237421520003270509486365594836969570417055990002247011969783085697369549879774844504731363231923312053499230943876105326812612144351495294215444103299473534042578227920698952569858328879207216073029179672493596079135059157124015623601674569953078128170757364504820980955536874065219420596361000655279368277411252213457558611704840543932305500635929037699224388129583764890317995442024535853469341600075401711041261168966564782669782163231916301681037874506111533418123100814625952236152338382068365152450885833348654805406129348480165401708245927973994058411266212074112948106161359818615652923674454259814419212554619477277584973168322620606071152461916511946558058991658476348564651182844979160115802201600319536992332868698989515303943975098061420118953451916516223567006077163685311073157680167966020848259437333981762050786661265400662146571416109218255118246516894859752611064952103738988836576558588147418217979840253582511594798636627950392412280047231558191449973189988230005430050879812435659741437081702370647180405383097992251426994652366851223553323218474602718917767740555871107180236622170307212557494342699855287075915109713704649751577276573466593004785207469152519092626863057111212513090692059351153412484261106900334687300958164514314646189382222808313518419619981883200176519204525276100809462134738741932830855481738639042773733531369510351606034676781710308483321781601615210958801799371682454399625090326128815719770640342132997647150986677539992686424021119278092954336353168757852840642645762193471395598048877449161588691612710736748527460091369417711122213833962023493102584130655503575604406161003425265141861007155843511138362330930686195521796426356666402019759988580176659057977590098733557257444126779381143849361317088379482312440916981764705198098761936410816812466154956301495942954000989817862000890398154996239403015519277925122122414716416570232703921176959575489799573154013476535940605111716863454154076596791792692497335614776263225324138458782707873469530202440879312090671855834204109301337744256916714029845662422164143337619636508293208328082407374409314573848418372164923476567218303437210986507088064681168400803499991170960542633594332658400740202725871848476625181052403130304635059129581278509745045917504597147256547605568258113364192812844915409844389208984732171327409131529966460100175834057527516366700538570298228409227237032075812222436943081978475752986985862300021928331286567560615630479744031623637117607337584538660753274072356551340527139522940748401042564007353418926260142917378250905164741122384425873153830369700004552448229053952321473275407126259716771322107968755819577502446962243980395585198551646334507830876649996428680051095155296709414269745404717959643494136540652353036957139544483424845993930647278834435127550572245025926160101631651566078060993626516064615641521320144511005585833960096072084395856267925115401339097671092784539123365051105971829541409584666509508596554238912834178721626219457737127214458971472806455782325301200545404732848622352483109467744930865955717481802509698372523319102436305327155833215852544441838373372339797741867314740436726806952751211391655382338519080467291350273129332805079887854829688387329383823830432525147808887873648629495400554200781661772116147866648627463734451015964555075134228865435598792728379274134362696236586790112429466769636145483956708378117191122437979874625973410190643292662775162254317073677418460924057753108923901797871440008775757589217377913516678241379893213175656591295335412559501933928333816113715260839685863615284494545443792029366506659069925834477742551419148494224101837516195816977696830081962921302511680369358919963302894569349170939292346482186643080899893886227297026184431072622605799812857302392140333196670168979051163997025624140332295141034406155207121399153328098934870454971028440312276783616836002345313773156744089061206239203612141863972097369290154401633634766433179284818801283493531782380650801795553423937229717257935989438339565682399528428540228241280212735403564058350828221255751797788121199001153581337487125713864833700457945575862057696362603944949005329557608459461095592165917048514704420762046758685550704792466619192640096627393239991504535184415445719464123189314689402415020211795936123566538170165323409147239645222118043958232779384911740683505542955602718918889476196617565343230L,
4291578194364427316767802879655875605907791377972021687725311065813207615370000304661422590653787081219713940746439820903420786417322036460089132316509026517646985772959581709173330201493122118714035357851851459703308761693330914443045913585087592527945825568482755386684353417456076934665085486270764618197613633081677698917301055416725165260655642059371510306074909013319555208229078372406924602668617301087684525937198131597593152572052322212065519338872416893767803172527177344689092441824602801780041772878646900481273794832259089623046114758728822486082051644956249412742670102259443338807525327634625617487217583310181261111942690425631706095253100135677886802668249749738533489863729489175608535880921988486178584792518189750453911721525734593241408580376504215960487985924189992107892673618144272584705986093892703098852374002982243575930973492006263147253712971273339143544640185664604659805264108954422536689687627963735270475916259466788019823190123153333903134306572299959401858735267701280788604707160891856184084458437760360365667261448084663976298047762027906225270513062567902705058045861452498562147531133423084874942056256419353129114678817934442210450702021093236580608384295817809371574006857776573975758624585397243318042827165313848465764344613917885043272375876503945950643582332928697873587136861474195236147454888905337332568196709031353144394784974768221898876109130506157581453313736562644515744706309005183483027645754991746082773108741192584413880490183083242666801253195637862175441473606849258879526997909834603609953268354193159452834183262398575135698922747389362183855771283579334597192009109830640152277797139951301766417823359342603294940286043973747633751303326402213222616822210362021014430265739753109228583931950586968252196527749301227839807997530804823627847209932858428545666250422748416843072493399228538348518410412040019954001317722868102826227676097454781774292398062190551187175706782226954775170123359706856133368500582193388625473074384159380080661138421344820332056337109378757454057496310736604005199419229211061791213544320919451696579999013631499669577404660100872557684604030210209198741728464402436294008546556064548527090836751960794947792554315142212829766765561519994018481004299265061885666452389879936800875995152939420763691598865248825046853362883657152878864336101921123374011536618655398025324218233768704916192365057793619641727922782923074365872276010320917774650958279776622521107196492310784504087774352175040707310267334647712760265337580365084317537229422664069213835286430800367073450259066231563260626851385495527948166338910561570916380901259942882766198828319177676105163400517720782200752307447118929379492309688243770293602691659148955800108417640172081259538852864296445320998475570005269224771851501490596389449568403623772574797622559852327730618430624918775154290435773648484986619467647745775125787001766022778742409002396202588831620941897796191329799066074032297111347414669978886058340358394684957714362316090654301969894608141635413284342391013146856175544858709513192196401695170790870915639092402569848157986426545382305104895989388161713666753228433180977578042469209607800249350827898342682554285141749294245413780041871042815945560951580934070863428575321547878126541304193295557886468553885103317754871105478865748535620492618498312769305873859237035901302786608338593817852540909091299988399544750141109672395236282167291697169034549978859148903232730363944423700700597550144598910914647486101052445113352685887655284639527653700334892966991613539600752513605056004105294717117271371384475392306539672395457034263041309953897712509779437073549958766784956165055491689188728158024410229478110897461348081136366303862709342522724043663553832234386195185630438151960903819974650528230595060199360493959125080872377306803763266391109709140777817229973853955909462424656458843023916366877188589588133259122467210538799653784585594453892903033392654101396098966882803195670149419537873531832077563828468685430216027690594080569769445600372722658532677111666822716567962818720911825848746999494689203779247017712777361626621202656996853642843203174017674961343778442089036865650123168271951159823315853768021759512657917608656652329922856079052927958288154724236245594390716830768051134962360318263614634087835586063415689236301950866283896360738670386511662027309571304763399135648834765797826888420360978153183617604720046311242746368474562671545417081869348001656825903751725155023449232680321126848886745933127967893910330248040983031285656844009444676616432591593501816592864832056233154604521472407486806128798607242513442101417102348923673366316964988140799323186426328269692646803537436114019555411655928545418439830634470537742315321859089994654876360112818480738424352008953591236572593516325993324609469770217963445540648593790563627903783950526738389632212634835518854429335637253532600435182582865715089060539961324225378259094122772777687757933928644063516936064550178177158886377915054903885756526781532229135345305192949375990439755818064275334568606139873586776549063492527946988139954245851943187650567642293756017165491711031254877276269308203446143739363146321005606549163417783464964088685992794586277175713013986607482748266640214134126284357374320394273721003632274412401685398209306135242289871426696788500101022256864002178072998025872313936326997435232701584818015858920435459974525588475881790953520517459440660746544430796090037125327049371481183346018268889029723475704641577778396342178881143089172789692939363048601021697411051791883931855209137153006703983869592354609480769231866766881991694579586204563375481962066576608290703909918386605133245168031002712760517008563803306081513749315125206218832728535361337387206927270395731655293045045857846426668963470481860115216093864407862770198184732302339223460136478951680441721411408201418587045955530958004586639635331010802063107461054642597511423052078274978748768320972706513307230329794427859394129068990758574863736393471427281236440563004336030085385691636070474908547602472918830429391190737354119320332584504512531400513871390390679813553973380729938580631368447777232165391997208831926070489797213825218407600981056691982934536959950592499042990463672071828000944698414637883490979673813560775670480572660697L,
7459987275266859414910312825070910446199780910475963412725036783339210049331174394165872812900247752770626703824982316831567962294971412299233189333425776443147022298295414906838016386172731249446472923878935053592470862401070647258364468239707180499902064545479921979146343908321954116895175129887600483128264886672759828372656648820985618256258773254333810284690001088427063065679933244524264307636876141031853317190994457586304305980583276640357960372609562638980022189434286205368263871562068437261650819315412551010445847684782083370256401088500908420964346084863786181023116942403197049687715533310405763892906967148502587063227862035444732959633985979444572480197837599135787615115097671712624882240066481332001980486202694156280319020789070795642022387397769583794672505632723132727724386362359798110982849658319402959512993968555791480263688237995280788993718616425149438562138012110583908833624967968531546800424145305000087144285845653434521702993729458334528994946595433277450615891885612478659772856478744889961971853766357548427470976504602034383256302993844160695365971132411936423072476630969525550741563245296192336924054380702609004562589568955357735809050375918100711891197690590207499601078275971391349625219752662731427601870727432329311520237160557245927697890033232244807841905052583079718234148080435657443345134183351715807492223998344082843178254360260468440218929753957392213491512285072615955173331490911685361989129030581942376276047232805996509168967223187149727328728122338538133810391377895713273843828661677732353641175015372663623813659577628501386523340545234266199190134280161229105675913419315765139621492467930891195340877788416495761751080164691125997912879131605810516408501390322424502689973256802265585208235952814747656292132634777010960795823457487384937650116891194077628471763634905683031446237674273574892703168409323469719129986945357626490766505166670346329047138536645716133517630740055087584118374851606197212791164210818264115428774449806750308219674668621989449694645149922718439199328621242215194249987012957958780250514237273077352794213971842598452971749208795057269565874278795565238631143563427224794749980609419610825198790340338289268639665818253452561985211170714354289975059998802739955524644454190108879523088515775530410773092886274392080057824786507693621503208180885412530467934769129360465425276776522323611343300789171256464641287215879878810467113559782133835102813666266724519284815643225373874614858070135804169853558618137548993566435233018957918444210166675186723658038218463837800376867313329039822484251374629479232799132625174160004569684464175343273189807943161178689341908921991997337179291033806353938437134530278518203918602217461240149258101893620714083482789315124747918621024987831009324012712068617768350146036294739683637029518154531173512290986451492442599640203433071577042549759707629882695801210094375539076136508234160881413168087279825365712673170648137891479713113874414338828500388561888714750215761333087920244298099741484114645286660166375372025418645395910163269660824750230729888353099724558200844142744618963989148559355556555815560469874333005161609485132662910347441078614974482858581444595415922269216530304268583118221075877781171772394919703050731768689817941209433657647886680680978599928727605665804829226213633651773877540401854138421680627111049326813478496979941451416877117174424820733561871816102080699489989723050269810946109490718431978114495554673565822251909807127100195945128710368923052968765343807420312971778138475675067876774874314468712127391002627501962932489967144254156608863460802532134732149301139211539572167327463167354642325254379903034863136386093015558705036024539272237539173237594048107513999990856438046605575568910371238442771894738570702228880083481164370735256149233722200618415243726695909836642995396165734830499008501287304025816679225020425977374692355032490356035116796691680222503442470560898119588291968008358768309417047749010245537420234856929214367534773208098012935768459564804166271973531247404870720470368276290436418422295272939495560872448345289662472963060924839679337312349072477182720034149722418982837501315491741707959658576046404659488344721457572605185572117710049553606893767019335280872163253824484492841798318181830112427444560925142554939625432864015207075702154139833635490712811014466129488510241660097823150446398902469547981593339958581941718159004391924672854045570370684300499981930073495518316764199671432834060207085684556070390087467568709853661103245108663431212830713625766103021012612183465413272293413163397424432458008171940699675940056774973584053149578742536757016408117901460022311649342928006791455539517608277072171007466794829734179104924158604853356834206590285420027982397493470809509897098113371446469239552946766842890476040793458931641505472965552302626129881566844043717926632248697173635947461648977015562224224148010022605027532907544739020651790270761403221280095498481238305713854823497900587790253216656692985703328847716545352696871836443778470985118652959014009026232157999594457583372727231416623892620909613709547570021649473125994800885029984462082308372043913046998862735417712342481153947829709651730460906162726089787854542276767853333015782081787324234403695226305779769432059787396924614221603702624751625495234895529610040998896479580079854538959799857794765477607889304866353185772932182238490712538832387533946257397741188775724332078740405656844084716644972587317247724774577783077710109624833504900169590425934278677238472165527916302377511971642030110758450766677218900795142744653652326990974362424720183604275449826885239120996396329125206872619314649595075632322809247134012452824424211728792207046452029794110858465733959008231954507201564624581072415455409868916761565096458763833922898960442783400891539214495170715598638593822542706579987253940212285612488195649974235017589398482635727067462927757781767916282948342491775048169454574643314723383781717607757086072387534874330894182406988400884155216010768795303383794528371339231137022584579356002267920729807383095115882670757551935492565423708538796995972262299704139052339877192070419376895673055117174191126536557953637950805688999751058115167798032930663052369431858682089372026960315759638748126285892836494838193L,
12965419375883212714722748289455862440501693654936090091492286810289102056044342369435117953493291833199628159396617056360202404493895630978651176798024234364832702863939010208638029289571289581910224145236336122967456389714280206385513855339001045850986316666478247457840388097749170527878014797446286964121241126466847270636470865854716301508020244984665579818545389514321407796252465169238975351411451301430721968745758674598237411576701404505395662869414956195853979717273243365484352651829136776912855547823798033087883528218967707485364212104927446284903970929319171025245614809301776814718231176697225119056309480924368664453416543828538503626074375276214769531584701307328237853976838670154510693376501335899509646521729274386547447651974941927004705652285824778496744035900453048878687464628664357649180213328258185891259737473264963668266062362735041024285900674321975938962760210451030528665730633669768204137837025587749866518886839599165384901868375282405594681099655931712151550086457069459687433981348897046464893114585749423354198857823737300189775375247622588095844773936300857768996138344478243901336382827255517594625970185916871653741703159315613209310866279765405170765477959664758114933037322795745077407549046298489616071191009832777991148739524230392453598246678846273962397348369566929414500384617988745717143851733643466784946602661870341406183028146717852996716245708431454587951760712822561926038428695311702779316535547930379491015143863997637091849622129960103632876286132268299635959208926249849680528487752855160544753980515627594348272036106992088528869601825669827644405891309782756065945050713777522470761609762946283030833945335998649610540069625785154284044443163957988326658677635490415874282239992285097993377325214509453190396910389419827084111377830904720125250053455477562107984989186841701275421696762248117093359625844540735447172820177822115938874787256376081097323639056285328553058362504395903635117414696202741089397442435242090468908459109309094406366949054251587380111028597533505234651312416860001982959620712152495128057134033275944305277880673196464809012023585700897597235824956952932213315765891520877962629585970503019730911905235554160681166720243116778999339699490042354665880006374562260345265246973554790365967954355953265627659536693093473628947414884656064255446615986379740644634092632421429064857853630770636411653864159387674002613508717947315876791921854385253761353075402864022348982080013790563622918339912242722984421175306848127026808941565196673822507201914705871000726260458911855410880207724479787709712395274319623215803985917341618542261576335243013661259269332096617152297848975951865028320302897490541450330071556927933746553062843686100271176233391736137115379390841566837048121492562189992363457688528389869557801800304486355720263002987315196253776174921720606939023932816758636437445205458844046887360215042821241626894138525838630542883990238464795056121090986248743588879136147622429158709392964391749147391100139362865278351234881373726734950343936471983861056020244554848050543941817192532565509987764571445354788476981707450711188638681759497092767935320149856181715909040617109417480521654004633757593994844627089220187075298498259364320301556443608633916089149144270752011990076500555219512785646597026110760915960831966097090196831561561779100538045225739490083717522634518320223474643374419218944107207014861590274534175840168935962460934712699732438892144686005707632561534341949216274960918251498545389719745741472678629748512993703366874579234888498801501092139676028449001769893506814504266894420832067132914242276919423435760775623433577866871927889456107905864227569612988530828833834905879543345988645198316509504408768659255414191717693224672223905150146825813344144229063151446858978420285772980575374754358387631242476990757723479370049315475943563830959777504838122762520998217628389444525948451339633385502172580552329867820680988849296750555169227471523908956150854795407002757578688511411449633912316399962966301000236234704139837379605726447206740422848863153005618119542444155465596688096505192168240090617540943813174545529600293997354143517529285554584457788857883437912257020497344461783273804908564494202671524129363456893851052430069158564719978529034026287514172860353688022695982607179725913980633599503080014933870403293993647611215714032753265717953619991403111921445966118277583669894999352513979431832670896872291959974636884067467730579698397469226134401392648243367969745151898522794999676740474287648323416441582809265086447630819454615291462731716306866220221787202160660485869885702089713288258389819655847979395619656373751791171441094190720591733475139434299141812511980511396126531547436726457669079922387456562864340368471019783290171961156806814256680612939084081453059981791474571655682095822804067548688727463814027885695348776083708259961224087734501287220666190471537748627355904745439172174332444837859449800564095216121384981471708623376131339366407122773330258385945541890891696765265151230560970037339754750860073503258615241605530757483459037336255537076680570302811201675047321248005752951243263419602869917529225171796393824540684656332776118647105634738467284372116818353135506690768606799101589903677217928250505976289663051178936730630866987228357893177258826416694141405771531177245814214060313773345437206025897613699607502595206135689167406347396481105412391854127822469348219291603338496235232227288071464166342227903794544923618531405206481597713010375385997518157468109422712980066402107788587634938899343308241459002774125780202484803761619754338412277107943518208755480381209109122394896586817129786828365004847701640531035409729422500974809585221548913027081922217689819589143337678981674708408057172786423885145001076667484211454562266773175907173175242973154206686507011773753908117758867943593407908456042544361891579719828877669705308252088393713204822536094385801183206020521625624899683594469105564758128575060166515581056282943409105169747961256812168133320816802171147425564605620324964650438140162513138432991250781454101927024974127415244475177633533729456725223131831525427789325052617109218046710076854735006067440641689546424435380335247755325858435355523729915208858842119380120859046028184504870584410845929684916997943120L,
22530069073250753430647820677607326794504238383280571805515523240841405803363354116315199772819260294182166505968153481359155972581497823670623170317591760252268566961133373713748491448041360478080829627821128462717861733964986062167012333820621854034004367902444252628954408916510692804320057024059471494162114582370561999255138132531486385867029129095630100910715153803584983145980128792041353046531748134705061714354284242445706552989158281288823351145630610014408761128133837711720681241982473954506585997956871583078543643585869115929073220982407690942462407070278210495364256990091615571158633539908405814032788212163319762217717860824571693352624996412961364131731048248016307475474407349693148541143821168169650722779995518940421384576476452840654707027428842699925241693050050554307871307827582772043042823348817544033898206959112527702439955773192015978779909634903196168857363288678249818316399610117466707191769630825257186730329336133127139235726224495116913814510629620391233331465408859935914367562079948161869956639562028771367980618629470499970997286038613308103232436224233726807554101830633894699717415523496681393903914740807037380143319634802987673352501707018169996253907111115606147898385526767723165934882445553004725557634213195136754007729964737957794550430158738462802404427365462646029092807552478952541669441308188118014103277112200732951631277755302150376039548359541628485247096371605120417795662422832301691857379587880746727910446966913093866167316128472999188704348216187784270553024909260472283316803528599686339540284348802775520822795073291563147955666473207067951300059331470013139787359358793350504806009490050438795154143968963712433571776085352539331967591317124852349011618373075843542202254778973419743339581319873458454421830405734162437976180311176491270510627745502789649752821670083262663447477884181800606868989565382530500320939455170139084939761257924641261099485596907420506010069938636773472815882641637985523547719316356968900663407886762715857396464091315918086790354340630090912542115643393881416860662378452668160576972943179701966093494308461034335969054348578218870371835708436960200560336549978573129167279870740138414875202900773900917392154095011460683600808204231085193169970050387929646103054367464742228968268153520881925720046031543685347780057026411025655341418111105939935251163237979857154583278703652110862768616732229394694712030563366161776061152908657299921697132631746069510995049556281243237245078286086389616155367187604625006790875836812225389930466732055599258567277038882908528772995403005411530726184701633360302444018770825724023402713487637657704239021821469496855796112896231097697094141305407614981952366438391482327210159305945960701692575723403072703678536381521368261662626416977318307711491936520136993520298393082066405444214681539983451603963165167131747422113181007300700624164583212190751975738727156833322983313460941213079361418114387454501977613516815684405640231505587957088719549501838465675910252723797836816205330527271151280647153404857564143438986156826079093265045825123116972769785186373538751542760601996803389720097358723418465676793161139218011568615722289517681963329508740605301790058932012452830208393196928965868059777427849837788692838130319709666962200749644600648256625883357422991881098712243359048992780692190126459711440020436153485007725566816444486691731939029000970205945727204020640819466196026042117962025957999298260501217101383720475387432026400753798949950503630551921472221880933252957097175679103682587880684719567944058046979070633464034820289686309207459977927264982059903243715142371229516877439243300601101474113410101760139245838789175130263566500981287346377010234224369013206261200608343053173692372869746721167759541854970062811400600435127148372180275691871956867750415203415128579773708427255856602571188171422564371654288513871502160645886862685291368452002556814748682329153715333954874163075814572272695146272249571446243927573005025966332585226120354987121649666703338399880027266554704840638653962979468525629897127352955275380230237706356745782706430981516203234335944034672403096972345401809337273496915764803891742765726668398243254859972392174351742966113850759277601613882031283633364779649440014842859247111733494534649332539719200231456501446047004200383438620294256740937313735678929462061348018627018660343428852597265295135321746108242969139657895774501770794123159685181902870061449475943752765108251255647782633616113027094785132212658583500176320816141438079504405386635266079483994180871022451554971543385788403444529796208088418283404806541167966060108658464723767106242205366447691219642932202871939946149313557305070043329802247364191661784282578352420877372269440742153364547126828660737749035261045941569699070544323912199308143273397190914930602715195053222188570826904536442535285699345888933341290296907210385731968579827552131602089876389888609414189522506720468231698080924985494264002054109934374734996744872115837041326180182108085301777887066497396125549889328264250302345463933796053542525586868695286855341569665518803617734040045423140483084971736996828140323864352955889375940486781135638148585876190883454229804054046647931143061054033042561738209728311666502808259828704545451605100592561598427376812322534100598776417718510885701026843956225785764333055720350740392799984530028558412461168530563929928245240020222968157182902732247760670008955251975614815580545788047296751709682815533081211496102460571073423362811718926316741224535594893459161246358427808979155288553370314607037640017626443503780967793417582254082646781571079512647489528428395869781212768202363132061343106796839986517449028256243605592331406444311211354494777818594516849343204245753103193796917673185704694070419844094302117227436744520120261336321743024545983328182378190131595652137473935904182227080904130132398864093794608632164055268037477232176946294189473963407836140493294802729778255842602069629081735477518572917393366198198433927385317467284488782807233731090672563537761869602958930652426942136293124869273231839069794036852093915022207773560369606995186309093612212263797965118757415187740501387078436359744438752261781816841881736630313084620371527490723038111133428628775157613700574304239343278416101277222749978727363205744L,
39144071506457601829766329016479011787959862258747769299351669347774923238501935165536729097328724399634255540989764530852066900665913570932141964061369376401497730672451372288690930611934267365912701170727937228644559564711368842269489812398190529138308225881256175585175927045891458091113628936753889041269883438914079895675201682459381238231328518774390879524496022025325433174229619338648532709857456359229478541155471958849657726432825996603644055905228955820123252194315860053358457678484826183138918984607671980509753466095112672311949297772036420521871736676468627404688358459731887355311684467318879206639445991534519885240642596076456342224428244885486308785149034604696465414687230444693337638987585440163766699164206513040932033481481218602013699859795305005308045683099931947445632266841860830774056399420622040589216707254086838292872384942011725696087720084282281131046889316686563296963195123024288551870514291574828809925998345753851070426305287861705569563668492147640036776490540808036365519336748585810605509420061094408593419852610764525370308563658195544321695341131634905936717252214781433631037947992636636601903100686179845462747196646765443047858691325045183030567523482778636881867398957897904444992252716400266612790487603322212090045674797894434849154826417481563706448009169610650501867436940714756035302376748161064788258802404172285366423191907275070541997757644191184636115383014276839202256052132053153808145019054855208795717626482476649102367097137512149138660685796800592145404929939694722574168522224499205883245335479010693270346615778679566720638303934094581976077235117288685341217236006734229395788594056030399934128619060091989056948332642584006021124300280164638226717231170152490066855566477673939396754385261867789195066378380949556096806823293461017311000445706103373718734075039631161425714852057702447204161698821750165206539074458472923165197330065178965878921858771160471903878672583187533509509958198923907728652697712578867321235265929016328280275732819820546143789604469433394234539932947187856624059660589023467633206624215495620721949694175122865773769843259889527467217463145628275066469287460060435170456169575231276897298426972800359434856497130004876687803349861811369824812144113500040657771064159494158485167153135852628147385031313757000849929809541833364822519899744128776907688508015976582282534630125911920015653084212063975370145456082745936913355802973377123445192429324600928914862974729483166983681287899925998987043188508852939887166106586514210327642442833236665288655056176779323192745639078831417531285421166053242748232552697948453921830674636558382605852542441581472758569809848295287686258374180662236258655828081735307668909197630545738679187492363086887956910293947154107371903852536651584422114206423211309424420662921259056330862018776710367876074755942031331429089983658019553073113565775047858581834153119400674072146826572420569841090355256056975686430501396833579962693552062065711796881261378865256344885390792431128648366931196768921791080384226526167647631138357020186061409994106543938277914613378605011539532490952122037706038806265688853645220199306454395080502683270406692682485692016381006058901023982739032792256596182801768117234985874897080202003321523409474277921586019268659436189289040263945713214438183813807258834782194816394950007155606957032535194788810669068580275159979314553330206293351975649932502133840074426913071055317715089129225607623185330457363542927328257426053049734521284380171270830665108192440982147001002021099039789499900132287017091100065435524426672356653611798772523984062835762389879476071189297780945794060238962177408886897877470246102318539704094631242477928045041978610345607923061164563206693325433240226648225212076555064842938809451714889000231627031665809066528818459312305374278167826917748056800162245327031314863261742660087492998543123299762669680763140241023034135616160461175132846131460297320125571672887925956133746234727571519256981420326761824526362554762033397380195841556048654685311384531170487526457914622789276345578357736631919300713947973907960314737041180458766394607402375218899934089740149243197730670685418528372057330275273774148779165728538908997838130650250645077920250230290561167356283998890384069681910653653293346570641477187236676905377375025263538364102745552250623041165336658651020094218457600574879584006956522939672489239581248143241301736195024798268542257580145852130168423554458034745900759181016279481936632404294674849822943691637491412571308838643798551399017639899268067903146773268014664373930349545165455858513178474706127622572168323678995456383310067618367301132072486084606688292208441721829551169842647970532269597455833767053511147731826371445020381349848125983377628670510930174618277866078081873071109496744301096443942070362062478203551238670848480219174096810388058001573950161257836146125383719621495465991745557328412873438157378325948480872915351989281250879185700012218477126561181793017854224420391961673861495522844889416840213137130460496149971036075275690578438539950364110172950687992693177067241361195811293087985731760252068470982659233891587822660575974254844257187161985231357239916035942284023708350499443351758048998574230484967523074201288869397649429395305104992519446047222924698724224004287107303856339946712344183719198026603237152184722076890905064984445239438647344542444216768606521723580263196638226029444347982512698139197726889906591173667237075432149696792936061211392586936380187788127652085719845507308325149810630192255561725885430891139263976995170739216075618419439846704265660709619547600961743883947345808501224015289204698445415334028577813349135274748210942839412440804477018650671195768768655431032246072594171599405178532415247064299330678887510706555272699367211400900675273203896546552173372206716892540796600960094998353013342409469348813444999917018093170203684266627548660794396918543245255369128387089173518516024314438837547107198060739278352116923428660043724058669855473236112316466300626687353431516327093536466509429367223654933011709316383608460995317915262571410130193154898020217460639849432505665532387988249501790203977859129281420156173530799699285813143383303228012624221674241794160325469049709343224958053589673798235275394354517249974433012193L,
67998140123252440853367995617631040679206913887272483738243298409655785687151378338841304983334512732656650914565506229639093268598965638239954627893564915735640271220620143238209893468970140407239592051053860833906036124938138103373560997331400986055193222140777467247726604950667274982681217808129625565665433334204700237895099887857863100073711565760427378572438116311803205072922301559633747511072135062996046493844021558594191835422972365845484126486666478109288874123176650009405484964294401868159828653621416260950749210097532131886763602679179531221441823453469842508172462653076782916282538876467162464430780544080080323550791898265795351762717869120578320514488202895102586115843534050610058020172274404358054810041265779509820391885646810126504069166558961710826610304553889487524125867301782735472855624279518069038968039295520942087183809489835162896825238774688310933557727084738541061738815661247076949808229531625492491675906879641842892902538651062960976961075743965913877329374118944776407855151841713114415687945542337232780911447812103762594648416437624039682219135376818951807573155566022982621859472724781150563954573507872097737169244736387392567782027244179591920499591406741266384122331236372454935602267454217004856214178451469404750072294788897870840706745227866117457976982146803863741381330346571345740737232994907154851685744465202635033185623088267264507722760047544366404901135158584851343965651952545945854954982386365385602517344919955604339843013103894399802470270714790216440331450174016138190903309675155605049724981105755486877377270891763361065779224707581775840444091442999540827206711781967976939199652175061258496651716418304232725028431349184338243142778584325549539938321576871612611981731699382024912412342179321772959437631889612994259530126372965055669813005762949885211095530119359554971972354133051569892012451968251460733017703643855525173618670036230847518080423228051708891045283642945608593799390557902402961288688865073358566817156151447262999214404953881063382497911214098394218604026963442436377231565454655056612401436755515288993876862824788150264177477021272281011203457922842129982265426230918099459547138003426409811044047443630937358914155768488795014639720706387387861192964151093590740536438524742170595976158659199223101150367061418933539960532414239352469363781486408286069399977458059753031720793663312356158314444871702071674139221716937874778018146477830162257278070569077910905319771866841159328707824882361063739518524359668691953774575442292616730177534904849067973436620233900496947276265592957001405608771592470441404126165007932438578124212968791617493867354325208485883551783653520549522928090537553788291316315880152610342409285530344689076407442956855457341200876179893998861137785331448801634052359612717686741839701832610441415293822961922080294566076515332995252170924954842024784382442219778406936030388925544233681217073750566840075400671665288044752735439562168163048499936853922497193131858237184729292610616239371901740982393329447160580144781370877434981543788541551235131282146668779576941469165500809524264515482374358583954753841747091571708922573113815908358461932699022586194159419017873587999301140493678930324231259412076741599650836443358126794139710739724696711367821447788800494269372683124044902924872479669950042952833091897870323627395004629829329549019303733478309576174164967516695915757393645780476879777614888894302232638183202434357831681160049805073438069834455672115827990429782544902455478247375033652568413311992195404314519177704125016254884268313178185684967779702158522739726952468465002586232047000580799343493742135836360183925462308352504261183168445964474705382954570436544145408396479213678483396760095850035764945983417870032958620633256163829421893577028250858256314282711777598225481128481867204775169563041987924379203753580573150245375828628953062918079698213352913174652960005464699316750801414238907335895492709038796487182868307716875824552847270336812800124784295582790066176175058172242465360585342951547000401390092837241294740594760417244886473074423087587085900499850971894975466270448335212648330064091366313204869382975350468351090086635538832183635269504069445484936741129393968906788960086083605003133914169766383719445708042203021093345980481168570164379585478735457611578137075685024422255433962243075128218357238285033366418412045107419716762149505739943356381459347861802700581502310834918160508601573962989481389983158035758975722046454851142613197864886912602658263236077616590996273944223293635017247167224182668315680283038098869224992496255448460457288678507716486578386309486015552167189413954302108674252840975665573552746435616881333922693351605973861753971737572914351016750670305170205265556316310505528937898645313216136910081318841954012581199577857576527314933285230305237245201658281296270251579562250210769999177314157967010173394236093304289793537390502797682645188963452337389255834426918372726097661417851412705340980302357740447396707162909973305730685969260285019191918797075179553928427432597063053464684248104725734638171170009087871515963839252912049258009643604157404371684136037512587004130671295250058194790182646926621893633538299106708726151454091251885490049886177092422941097577026365113824226333755942336645623550071573064213388975303223487224906273921399717991590637156647726805268762801915026841636126152817997328082650421929522700247397229502962864005494592092711163191581854085116906775305905636665518929660064214813999164703360834790135703849217586520974151731093335241993981652158098894532106452246132639441253754320302295226104279114352111237225289899274363531729502140558581526047432678086890547663896196495858008085874150999748290659729077684036922943945519697749354194403391015553408295924040036317906096017332619543312873291411247651756575285332760013385914678662919834452147329031972854666118545965533863312979880813674839797454297058712547133260107208487570886940124684982699984698442913777628199775365302989271939401857082550038564414823719134421291844320935795044505393798396446890098086739936939471683111557385014323516516081972504909171019073368047841741415928190019182972366397644374108863068433571356332705757878077027290880221648012841455593843947623521645265680113450244095876404695880669814512582L,
118101573433929183322663962801793522276053175508375873548878938674738631568167759809075796822519082605720653993118365191037452060196724069961513728688525608390222262549991187704464118634188730058540590221691773011346439650039099668285415022528044976697651446600899885779830773971280794856038070362554615880959592963248127320911585032648274385293774882213562901931482505149098609687187575572658821706491566543878209964330811326061491075781604098545425381851032752431219387620579006057302218768314757115726870752908385590856576306136047211055327591311145694950008122603490565534609236383493711969644424868831605163085323815326876196170160210021805447350018900240293928999017510112215027992727299678847042131222168393530613582492087827758530010644618806587636524075357034090746684228795361870766373468306052902512797338758971354239560904609356813111818660701340591735540982078813609018229930134361230354941070841778973303592481253380945954622120742923691028405523569954542571262765568970374194656771029833122853411039322688381594651676378690356179618062580005250724545854074968273920648146069594703994348797355821355126007781985859717189589850827357496213897629747237419887394957226871234942407597982788447748560442017740473540164881180712402044372280636580717368459066355951912050070765421194959799327909681924825750216122124104391801504708996988396387603871193933087535401003568494360961437622398812657505829903246159592869061000255895792659854208332178023655453828857245913607120630000751852368317826814823222371825150746905929271911524372100874522014064422276361032009120063201550404425314249860849866479881123266552910115812435017432082786249800594998624020023882510992435020389926123240823437909857951801429822568135711521206346484118054950168166078594709454256579888218669859754039172450698407197527608668755004465665367812434220926418482372587896862235495323134401598106260538533883065403670984422560789578366207155360337406821030495083752758188820534730238284506095625404521022024275943568646796810947407517049965221196547543506481685663856099094918103500310209766505798815159257121220914117243744071415695855598123191585922054518124223155105352988648601057575968597534632349289544621064486656778088911107595613181871643561944214617153764329007347442850091625301761848117577014782106291550340030533410302298671985131299242537744630135561621382622818464523704198938030551137905170113991627051558836825660040616249437458053952283601138115382504104483834127197752643408432901513036407846361658863593629170309103789147282259713572254118745021330351413826448347592995455722084318464621091986585218015855573881040748990572315109901343314637030505961082746417111674833428329850285894779430307420801556391671183529163063808151029878096042945982104070210207575000313960645433012805223880363543231090865352283142216449267521429310127533865633200710933418999069686729181951506197416592852171278202524011096936989934609253277247617659417325931460925454513662501197860866592114292765321328871303210906981779040741512820744132348957016442433075417118151567872811292606710219959210216839582873495215205822448732780253595646156660986283458167995077499747452462459311927948575810894037370066406305320728879851315589849631935383700883394367306184977716507183117062960339322434250202336589014889197991309669876466865736263280666288172518666506542710891574226207626682113774483102661629337375009465726031180250421713275488227513187194621767492652216433497436292314830425349925036586980637081977821206324041056218233866883715286208538242408123416939274578505647746001264854848628682100638454896066108079337559736818154417559582920663793639811685066078837494112610004937926667599716047342406790484648368043717382708297843991885961652821385327701283021565251455622794462117949427745304212519323522703483433910748410412714239487263995275775514840258853120698188492872561234529355081763559579534143949909103998304461865383605413932970937688416581936550346493994215461803643398540056272326140855064050409490065201672368394588780547512603109032389810270399836585973778505237589524046060399560945483856400940904927257501375464058836308646421004604207406269285530406591206968855597697254916849065792719768499470320665798583073958607115386893993818111306461418732372126769614360674489057876394645472591544456168663032722316396745599184669102171761105118385192233277631889805627020210181441778345816827338531087461120150136999664913428240422023971039781928600410940772629098233887072304746281971983324744089314194732504118019248921650188126629165026872435905714279241913585215017135279669851642347693368909705926738389425195092653148343089261861676763409185560440941107499582737698528452237858951034103691754124613514083110870301251818130908192733102113921339449902446559281401252024917948747899113462841134789990992855949650699307608779919450077217363079766414398640671621357872781190236178017621479092360353822976041691795905780474940393717262449415183334868738161865333568872506456240843090612162830956423154824521984424160179405579567600533617021208249695084749488434315501881363547324114920419010280852390799770138593703753220903947086687773842545817665063936717027728855305545268737743858414820539783946083854230806283786811394258220990547135929090350772134921628874178403438521880238049153875354706703606774766170442615108157940310364122860844452847359357942194246247014467122086403779400617664242273715809791905792360257940547503276304771646767922278643295903183837623441995819255430169313487070546431805508674069899971892756955761457830362508610049312486021893424168193375197185171080972299785662493560831072215234640511798368750129494565383204612637151943159078725913692940690512476731994473926686080618072762477037131511812038966601751918288181169648323891099194631079441297296531058380817950132842306092929964830369808748632978530811883962937155177829682041633513778894284932674042936249285294828379801448376600316515163685466551113358860213367508609996235867537562562185312504326622758254721818712081788972470583638407905259456091098657206502038995134866586923402039735252015998950782808909228729979131853428558120934361948805012994461244084383414637054362900390667290055659167055575240786340119716461121870792810039734643651173141150398661177568024013595104901141118260717605477926335039841456571150L,
205088822251359923182427673285409034716885907868843097647273000056853208326983578501180816049747990335712198232666995289190460774509195958072957368811580650049533516065497058716557219612287250346081650939898067989052914220588552692007013725794076715067616050908746191127916440539727096188298804765744439749657173262861029277465771167106838062519171272296557983261584781168932127440697492020061038111689856668549847532088661606558814517253741115930003202781957172650696287695881285041184996720194411429787479393778122111761695265986911400259380177332642342730998136951769247196694276836974451376628996500632450450562225176706907979450016320598439190621690338746604687546153029346617317054103391673008940302686951396101548490455908295313512741747988312021528819389498757960197826184358992110502803125105407125354423036577578905791262653269948404647478517266220755234404267334785954426060121988541525461451208840954740418838966600996748542519426028963282971555067359105214740985887637285944016347833626212087555692884442970427787808679785410524913987741962813991016160215528809482423765799217669339214937833197254727548057156732686504936735126205293437822583722976347911696051944493029346401138411230400651325831904433986482313024919396403067842558430783854134613150618593503164051109622884469265559117727759009082024303111347059290127807666936575169834627913239205601653457040971201599822695677639577682817740660186456202809298675202438167104411572162286205299188838770883517627170151076383606486749304299835571614277296121733839474328626859155898924978426368475704415335624694960058622500657924961314411748261399677919416365412222163567531559497428062241354664623457178393903422682394373397049722256661799946986541631157099845455340891917318454016186960289040337758297658341840843514783248507792478078894681594852957115319085115765372588957412027209728912620611137060946409079650439455171490823210051479866572204871042425073433681439422423612034899384125079678302205891694907084813615438577602659333080326160186428279122763327075720386577278469865925182019260888536723624620408740092609958824612368979144119506298178856518391154834890523227922808480655192582995498162710344175491012555246708345555209899009116251981290643602111108923115891664854827480696155600959838405634208735514635178022896819395710192760641898965961385195556306603029651395605966666569375347355543008712473843348271577381244244768841746975655589457267456179790860917919664106741222709840362007586944425570806001697940311082573042421888295783218692811393537274008698112719045114562977025956324123253736583181176682360335387993033597147964921480334663034926701979420388192750509501160866355906686232560725868827971048843250978855822096558352261045525445454277358708210368893988502514046631221235947404324737469590947456450928620217246651851384008809529778591121240470441194415781371291004443898241101096820003974811557522647197522267794952447259731651684621408901053191810191171126062250514740968880580056836845781315370329979541513715610896198228556893659894850441699578491368113349740144769173556093709441519186737188211793317151544036033766192124703305026576634357437128902539912971677325150657158662518923698702548115235771726647305816418261878447547412133201873516664005814192374559432555401363813126320019806726543022085236629249493636088787036691068615833286279001782486979841290544681140801916537820380771533516656724153128547965116424832501710885576631014603864797999139566495420705087032114481154264463156125204184381753152047116526617327686244238543725709225245726636167714613365908211477731115215984565644462232455002469126919759896979101224022453449660030619471419734849276937727615752642731556369673015712058057978566905478476740429133649781181162862953402752030075744818015961248563324070144157864689720116397846151484860100946145139749102499040959876961929425351464089073193171885573236294474264570060628401022145722613171477171441470866958953703833740794711332420779401802712138537039319420297951717295702677815025597469901112127983408280976229088472681071757566440211504202627688424868160290506394194884463243062529565881303205243216164441429443299144698721625213187390582611816828098834276479658932265565293811558692207178219732739153936218374640160143120787090956920199226382402342931109552966893886936744429795796827700956454485126954776975162437141690281129574872055501887652038724294700933599889277330815949131669290202194793869944784785267152598817232171070191649449233967163008977509214096306157295159639622019951041091139357962157390145713666001145548965181861416419151845826196075517078980298333695681415442950781122211175583177088138263307704443931246780076087004316100535124770072770222723294988471016115276467616447146936174282321066010432853164072850818738567130893524441569078715200391185060123774171095490696818952089999012559884609177405162879187366018604111818430242386870217036925587467165826635160028060332231261597692685259697059288192179600497982931092274372736586899491328874149774967229447986993439804415768002170882813627221773519182256834270577710801733252117220536009523132150169129237266850043834867177352886040650958926913710372921676887119068076059606006451547037791238848236379219064614465693787575129714059705116891888698575354064064086002084683020524240647365978696340042170488220121657000199543346467699821405370952473681522300152190061568072958603446472113138036528415069305354747358559751140275799467789062698474655836278212271653463160457207611804266110668324507567348397215010171531713767928940944214319557673517856324537953914671958845551388077606665179558653699447213570383964931958028714155017093059518381926641143440816049561555804031525943422774515997428234832171954902863958206949315867009069949665102593186512416094667562275763367536967906265337040597427052181559721340687092706497050067686629304633330629529421626751489456243477111399818317961386236017830955877466898048633825547560918442003572552392239774377723226216209859464145551271582735408594376143904361130538320962528081706289957758977029181544365709143521678373505088546140076247562405496490579245548989933506232624030124335671246383618658646794062274439972621449090710976286245440402564170648303068470051573543109945584964005515624166833690885429311416882107192163768671771370235414829741223648853L,
356086904950137243874811988693010663216275026521643481088569452857861519696888927574159998763830861693875984665716555001406428296376325224301298680155114147298029850461666527979156272282302262829930142944194097448553155731015661022422166023967331284466799741674122190968396077340197993971747463869689076020413923933146142977281431514208311992838122627668533320179627725724997356443641679273543135526378941551034508339599267830820128495934364133374949523115090470695060002374750524128470369023767426118740181903359064083719868474952155161958149062729720391638685728721432928840558760904265231934839822575030237350670563001438337155167840570099238884895298198520953276751611448352645835537251061000398079317150326445212028262189992103470692361993832286523658809059911805486021751403949978802333110409935245433001710832936236538376571481282843730158851635442635966208871794855297832275279914067498738866176019731320521990004073853047521066890938133067122541141512003411298814351885568398659546026801804032220530538830612411206871480627202818898615120047327705370610324228150129219232160358007426370583832311931740166360135871316303060660251121979385347202911548432789318089010964285090125941895884055489269290152168852030179936712429792373862389425202759249162609354294823017723279971853369116312574030846966330392078702632093687416422935562527658117633292772480077372426605359854226996950712353398897475528693782543602847372308261025928619677337749686538430886500323914779513085075604608124375025206760230769030071096496500350649118118692324870779907988722961744021498656838398099259333453990664938201826810463698035938393126476498519523316406050833903892623865180292712454408538221127870284291484064784798884753887528802527524674712385700400419452997053303590779568554904388892157171268387991767853921400651261223658539301850420178444719184023622012887736935974029348829789214711737027881761033166087574170246208074881983519777071207952953158597970027355482384601523452927503248568001476436277998545282798909036871723366058845932020737229833807599783325286120440163352205630983967703909652144630831368625268976165942106320302674442969792316362209718416822780023656158552191565239316395213199264004919079866781843563929443408352455221042207008314617754264652053392111865404669185764709630415428366295545063440235069196623122712259070584600356104654209548552504489437362052666218192387252300536300093691136684232085639265526000916668967081787118923708634232554629794412715205574685276025874717203479336953609477776424847131492317563773233106034918171784297312863472525926232412827938376534868117890876351896333845765282837638934543329042001771950011204896517328520824024141507243332452517369754802603879726088098594482879320643111714829153593063046756246404041186092463572108387091168842409280381453663171742702373986384749284356546409110302681559686640613338505580440841480560451430487728752188573651340840418264130712435518831160854169235305341676317016542282552566795946178048779265020626596115706107262164443548904854575157282655194602403999599718157581055387511690313755355113535541625077810856660685590288920695630047262725748785886577330266279768305854104005333511580930676766819799585186173388272353380609813421224361062361363540251769353859650444789220939612682237242046753074003003432307384337305903972572289487939728019892040510592761098171946716766963191080232582325239902084191697478757829161339041545868911233359240064761249182585313952672159994369795871459909333564093841749119904833520438648163689057320651129220846169710432159226991485410884934567721817764621560878426297339871376622917287768738947704908189795461210255943421235906074615032012404977996188992227495642978066613243153067752436977259322180437636505454288689626653232796797093271806977090406971278155311689299549745858179623541879673286495079280716320128597957518617664448072884967390572069968288243184875359878076276788074867469128594005494443929244727061995188262101233180931814899408280390225901782665237796996505941494146730409841735281208987182742420211964248659571553462953793961115024120925680927645485960968220166929416873796112134460178855744145214275694939258997111470723515690267507493737212636612568390409048338592880301735744044128192192572123094003224570096282252193581578888567446676693252863799511418527875785145161226003373538882316024874058785406172175327809072312958181406149224228780156365235193208607580234533184887607851427220344974008444581950032385593381923162452550628739162168437820310845078406731196825988539840713855473483240137123285997927799352596167454630446158366892020263845766323776111105328615901958957914876129521275805141315346877064727366600428324623923873592287110368936272506050120131793486280119214042118540647332147822832537504406476980304408786903732219886458614150244256763686593016842892901353225005801099871499541767893494781387658990981461212429687568449542682258708224967576369546164447324198753120350107367864777279155955123390968601398050779957108620175350616289333204348019772947639536431077205910326399294924053562925776532530250846531620112367356415839577782400878839528777431630980038205593439462652971699830075252953735862876765682500971069041970942748695528858824798751832683918263423648010159873545893617021008308336501160221541723473576763679285552171911023430156027091190597740778879218517058582692781111446772423393470188892031620563464644239219874681818395392623078913629590130289953294892543785820903669535988055667037945555874055884483513824089226843551523661752937791247520737086496297165998833139411165813098393252291330988021164351507923726881079645147881545938260703759209321239296979070739225570247072197402404451150520632870310616312436073481504514629804707150746914952108277558309361426993551428207570158545143184475828663649260299512398752853004088790362902740787194314198636951806021428809949528435403088743657778697953530503461061685938832987024451274856682128040330784765959905743640606994828724157283063208182010903935438892163733007690685192936101126416106099975934002000100342966990979968106261431488824738372226406373142724296632933432152211573410124114341734675345470256245980354775897410113331459747694587417599350760424082206751202743325680889342222821382327535227668933854783997946763583727185626471816805175533029158347023448929L,
618155539090239055342923011348586682363591165780937007998221562886653696683446104924148088553168637479545018508584655684957391212772796234626180297949862661194514427956440694471300105604364036340028223081975387906612712992428138825124792289554188920249206350112477058914460005482062420598480308260810235141153673721275727704837285514308877029737269947768382044262900239986211331453732095124141446729490023651501555416473167762740932568904157372560508816627825981570864514450020061037520969734236391194361224883363155963804324908752143143800626170548802896873054840003777357205034669138073495002519191285512775333976425876386029024709619308684515954280179639362739959102451311477187547502117481649204260782586238194135750365546312442821516834879977884283053856692339608552941446075110989645664885147895655823539133309083713843001049753283180763571642785976820721376434368499736150101167885722333081853795016260720943592352618767905613055612887067343024789856862323216570373187884604723243650520897891259750534256359225388920757466676436800275424015729052570359194622292640629592883620574095376558521753959668249119174363698667694375032190173865226219341202425796459122489434129198963053274379873876750989149154962042606375205398015091106766827955897151370883232618168341177821597926670557983984423745810712961838102624248457682791083989402605607901515004411827210868534352899586114918387893413065092626762425619437071950417383819634027636742060853082844427393099679361235137713032569912522296723161251748355381171869092354426121177464320557537037295696960765845426507573681708169250721313418852914248025382363662136841199396594628634995216292388992405724151241509523548909505165330778436868715728807999169169941581721663447731471955042269863613017128067015430900898206889835007504900065076305389796655099059404533782096582613674798880193420958398622726429872594471847300687217675311113696248147087161852561826962536497795603409182475690613923068528172185761710232410355619246044741172127684204338786532511135470700964047579570689629369305255976892849751506450529802801806154843982262960949805010109674197691552677937568956565345651188694502439030374852148795422045344585240972910001529778127218415959007940231485910021326761928585207176407562297320921756789985504165434706566904377896847298508245468718701461351324444119986652132829779166166633574890173445728138893551960665219830550995812773471205664347309402201217352017950484651613217033040724007855844289646815850792667374461438113384907207689198048325924188493440906487276083573030408500015020115234518023652968303373698168007171970783209743812249500933509541369540557905155332668036293530755407005848189348947209145928468850387764007547595887588102732462362425058677083777377714238504327711386600611356371232643197086792603943837585281164123859457950262786411423632233485385419419357747679224175965094158575966938859358622733494649803274285050781020648356099104974697765161760170712109599603417908587835522688457254162756723474910869551704707570611287559361949731854118658972851487656213684456985963333565027979659993814837302797598170464618463023979708783809718799401941946094126237291956532906497238097320311779030078144231813273927831187013411262344998078969247091883104300462323297189593196262018413569704500182746876882281877693392201066986362947971715125960313190098493559123491618182076729723076796269111387457804219980204912208597440046829156531491358529605186310559062989981840828751818924048637475138474336191113969664119480327819996967027142986142178235204236485490023217730594873737097802001444233136278431323954267123582951520297801048453076218509616989623896837265785439685058020868068882971892082326220991891034169485990665050529683059799964550702718335858315889305079080034255894532899454391937041146201406771057837660518737168859946699468245723644339281603894642403455960262528001878761360682095207979855351769828559144180431047931408817895428070691084647113524457376736309195465850970021762229073497665000084207290075721151455569225824497641257401446082080220446880143640705330830869286795528367679137150189407437057101811623913951910280614191840973839070542689039391580452243803034673383278120030058395651413589962350952889601840215849869201944039083234633408461190238850146124076685069482985930889556981533510635875977143012859560946299442294486162851593314947033977996277534085279772947972633327237781326606116427800974490810822794378188202819117606830105934597712192050818008974376591507417151475529393731628904845396212350137572752097346856368094639839096405431682894183370199150283375010396302839139223498037912020918246237863466314419663251202512121737449986420944233354751650833722519969455633233644762251552598481481104139719825636892488041107085950609288386769054974689559351928139585351430135771902826928229712806610965409321346075205372260580121316431056782494674418200854863177207530021655313466650682182798330079073761307069608326720351417037225171423618866903726204528265465607752315993261238175942980093286613660777129436344324045537834098116465876447093227904423854346093882517795497631840850593594395399440540971515322917540510440191875628399725350523988174621774468279329913075529793034901287333995173211053087792674515316033208362178049494550802172641161896578979822414234722053918166597629753305087849943670099838335853883391363265902012623163776899100682138945104862695716500649828664731893210756035595564257640517684697263735613954679592436716754084807653482440803055091232331642111282984469236049639105477370824236359991941266219496438688918490824401537685048579597942301867383513177594436564815721152245412011945353298567361029806829498885289161056160096721316834794208097295152413491519331164089585191811824607777503207409083723602040065964268094655654614842721135158393396155038163128811483636715473349019360425499722383575566471553131681234489481455198037785580845060186154296906297818166560288581961425955231281536471626838980518170300485495625242906440723414780196837634994312177545006938091927821655960035818102868800083524662537826701471974795765324475438264170406818018330047240890404353128088312187230090315010905281097478394999285092931793482002874673111042533134569350693155795508700542634604061201930196218499297203153736674661967931284027713502219635532869199070808915636334756L,
1072919958994460588579735097620958294584822850754726095224212429119723069458304271549483925462812902175029106423530121824730530346130043961365352300080810852666144834996239702419403032175633882713125296636551424484847162524886811276087007625183255641275189522215382991068482901744512197530564161915351142291302465235300452821407646410432591412261854486928810162686047842997844979129245690907005918102747533824736967745848972255757930379804411264052081238746841624652654850722618590721315528115004387684090461760287663293445217387405566611447271544371293989740075763054196676555077367688122643511991567398796847894749093734027881357078577403058375153968701590476821155120866525096462290122289110173344286297173517616513662699676004934875173933712750146078737909508883145960032617808567734091108299252838182484988165116968828867985992806331523453987545252127155642770905210938148877060098616515233878453526533398846789009082889571834617011737139278196560111563837473424254276579460558691715733168257206473189363096895016417358486486790931536966736840849499303005820327221205129210802926493710250294640275066604900233569610459891208511049911264639352679142789025494717446180991565026034891696679383918640683248255479693930089922409952124330266414476204082074590727757912264276899438366968559287601830806327264799600500243688157864033450577301152835391672387452206440394582918172466442047356574961468169649709152460662986329001509241086163462351238393048225677278824282661857598955435194182607707201617564488912622569920727298411528301100194037076639531287402560769064878781080354863690278648837849126705877082836457805294933678891815812899919861578827924576794262571374075475457245850996043638764543204529801707924146627527962601319782568085173033143741076502108971032786542576038103756425997268975020309026750143033013221499900842740589243150584342961786346710873421380168683134030373760251558737909141609789363359508857281552442313732758509644803224772259537075839977405219419030100557034497719596239347314283363943788480651157239229596383509371550286815423185008027489544926817073165299178335218708311165296608206576206841361658283964845426711621474863627665753891089680337748703169278297387159771472606857411951103325068468743373782420875137462728744490274146362451910285197527852678687630758608063400900569145236104049804484308819917310186487788386603056773037480746849879860708628292639804178683757765115800918320900386748817738958831514455241135258190721605148080693851843410560893731780814269018609577190775189302491184226809301553325641435875303853943036499940364740408852496402881957470110758574401360809918510831062427467415844037186618456481904723650101695039867522500128356204873739022482015400261313786396668899153136212879472598682629250468439651700061130191148237191875757908237966294454882344392517589936423284075027017810415576931788160678185027818629474767875694412433512335351759579545988808952564160058128287633162731803139636385763727410529347186900593112068299181092981267611832563571685283500657696065233871084223561373315942270897192355519214204799903355326428016628476775880178396329276142847891337187985651050678705770784451652349133716314258864150428598972797294121556960121602483487401610110367737504676055625941314890655178452029723565514566785650793698862485704106813527228053577346349059033098328187841823949722220098701704362518793434689274221550848649911468811162674805337581282872341245761740343490075552092795250037113610623556426376625243171662507099202245115960000811499845233634580522071770691201141529854788462063003421945879635222932520055655409314830782281535294852672760392920314763844618971333082771362097499556569148098730658458354550496798552311776440391207347369933948357423396509921274710154925535732638095293844661832261500740491742938614497425675451026653132561634773778077633517967959062720502311582323127846559154264312809501677407200501808260102984062355017326445960301330755390725433325804645174058026050510951364664121755971103096334537101905511539717690560300431677083746145545339718675135138896028946296819452091647613168308333834950613100424315912237982089704125607067300605269835854286227337699025132787005636971180506066566235977789560562192655281862048896480599126485857962829546870488074072918758490489457906093467934163469087330950429776495417771190779239098390085631120424066466411733693573103731129588842752045522368173524301646258212933569853632477911282235820979631566018018394212667935593688063024954754171189386869258356114362297690937457036535712584268844526510762391652155243351194248173638262253762264040067108506060571176158823618225865238322876524769168627531607356560411437572414007997083043478824944100601906451062455056865469627041426751294368683769263693877824865254843735587704735496224999942857146615093529310427753819309950879401980094119784946644134470784121342139892877113640848448989381056437591553921186350975132510656098144662491789872615369663718380643707076928430637440850242224520095454510441719976550901253526787328833181032210492841044377493526878320252432729866142489833720912862558210240382113271041409054200090638849839286883641873376435391146142206142227822558180981321686241719383642044625948343231024870621715934043968685978597064922261106460325711580185067261007177991457583889333077471703970371548981846269525399452848293682786900686886167654645246005670601754194446831321891377161564047515830201114952038854320480471341279219895098743048445087246019065095934543415503736397234028324441052800286623157249475818540059625185681190840063987908465495294769632217143298517317577171387751363483255788506498662225492843220435554754212830715279529020523299217755107478481126967030380468153319325213626428597272015942128399532139310360643708313424710896832587040109639314192349871545695349984794452390608457791412368742093976000779306592454838726134135290891462552939272950720829270348603892878852881558642034088095723335287197533810013822733818774361953453711214332096979671192817884978779882580197124481530581930360612829648026474755417542457816738878186323366194359131347442418837126645716749845400756473324897485376796753298974930665050041117896375048355181130960679545132986369194775675963768773099501906203797631695517115811211357206921014952017030355212527954834629752768152579347867901607391796L,
1861935903807860536140674464328404324393473314557676427781771618894110543022623777416607655862841302141275985017774814215634701471359436792677200268670003652349702532873677915203867503645655541894913254810503890355155247219591305519938489798245377187705642244771072646987035318487382923678830104675327280344187348540143114331882158418585179518678154567821167284403765669227763170147301606390370671997427577878227599423346958586666441428644255095817867638276362580713588152167464941784707609685565869038668495411501822161985401201026546304926200701572457203018833991896691558023192924391470551302178354725198096626726240559350076495162380466300882605723302150020985061980679316839474313580245645392121513450615616110385909818212052091308362103505611239699458879426858448078755528741270282917660685965453194208639116749657436880862206939288094675900539180547225741689608559514795149138974617783525209126486543975041302619284481051106256435136238998834431007372502116995478960000462165276586292964199566936425546889415940023427872206497098207017785753098795445887098993881041107687258265890545819119774009774780624265002102949156858731787032763581755237140926077098362572536969328637172168990326644940912378829461764584880082438849217740371389400367895875678634505069523041249470922426981987730643832156826993035845430024024519306168914844264568897949860353437740658310515835192829564130700399414022847758686565883159574249832942193774033723912344282379974986066242655466212711937365489906524752281654393104967007270472399803542526901099250941161559975774928012992758562860741966776388895167484729783362724870385775233391160891055877109791592483239797104206718059186319383771150900832622697890807414137027023709077541274708852313906147476007617550484179965243132448012327145838916213214587643892069336944164635509961480242937292140592267318666435613671002905150946120258633460905599183843454908204482174371353805081763204586682214650140334277269581706766580575347106540341422060359603565928489655628454981128832027383846784724560049830248366790609507372673413093538328521634599044954785324060486568281343797280520986106783922874864314595674006669466432487243427784788000823054567222560255632625064607286945143317384595744854046848762729095660591098502580184334787913232709627104000047001324274403976394312771674563285808730618024528062745901793214958608477093528062257617046286006608849276242424736175321462919590168105099971207138748422428772814833593622877348834868586527491253120466140531086512663404710469095402027176661544751478685925274765074519888895143742978252203655338152691207087812809041867638042100426419194851575654035037895218961671070752244456018640752679011887619274079699405786617282940727347912386509144444323989261457936985983697412964818971539601613459332149919773302529346075286905884375061117268779069519404253281389060587277466967956521807442303596354625170326071102605655809226392983081029963880155682255658507391694451442507007013536719291838331602474970789771448439340320275442009734337563435850036227243762077208979800600517778459236489992964820593756496205683850557622321871509711454846496147181158029581650222802331462733828756067925771551654804231739217308677227559426347982218088979338813195323311593600569125868353555292885033390604349602233742323302462155888711000141326606947223612877816086887064591812505357750131335703316038642513011227116518958538973096364923599079376454344352444869361792493213028093209471680791093352143194732047292701483518114232462157683776779617053618630920396940334905435218199828673330584549558626705878454846525393759748062230610446335813742848920459943201894882732516938952514239375640292016626728340682296967225950222409668043260625325365071152335519707050593198300463615786851997960747594649889390893180597821917008022409471701980265846853430871899000159557379784059940527691590393725082317737842908963725257226643678909390878595285145982200689068045075603216776130800736329295403202039517925099895423723262141479747043600339836222769987722121530962261209245662429290085929437795751256772081858026608230738054625454265598312563647598191498682211620723633283027458146958207691560194828615857569515810510817488588179726842383812640819675886752980608970263321075808873624293917066724393348823464463965931339637254643942719783332426395649080307622338445134329473027088232922312112510848601137055140934546988981285293680777486883645808588467771288684204192806700004443714998823239037018731215146569642754469381070794552254800567196343325711556405428310670611653302496008288691145893295667693413766755766858530553828435769432744974022781745663545867860380782682738195221593484189238370880242442082061193230978965392290383104648179948286999972831891202794199044923681806184028853536703257195320599421996131272396751270463771594456970375379684688765773267337145699321015698971236632110656218488309906744666608736359733124731737450936241850405526565092975210587436942369624283759819857984199573929768359985841040607100319764582654330900332540908086862251206951058999558013875309341420651625974877085760013416896347349634436372176971097215699882612202454549817259279496440380278052079810834786442022425554222735343877089051801343715281451419846702789488052543477964401065967961336036932300871634452065022324336329088440344710546196343991663493926101671821602817444234657709676134808053110304305042125030043709801177228897072698724918487260613357255761497689732065752534559274652454596016701877403879686890054006847935602690467409326919834502598147505242644561535453684057387676605468115458710971534549735881388544948885424826230542598583469746458104378356951589193427524921716542516446460355282955412853779273234721501385391726046334104078094209831955336007987753447002382217366325442371766384849958929937464234912793176675647429474083602304049904167137811704904207659499207268976181595029855466617396029356115668894994411245215191967405222070459931670801899848722096906158687814926194772515590374923689729931117540983272358574635194669590534348340767121796562858758192443214768642045109041335647119809127399809549137649528593397519527606693321213589148777154072862762472890888053406143566591213289974375938490299220813552677537584623557940720657275749205043914533231285622202563028852319933803632445504112067981144374362762987587333004L,
3230650801118806983341697449876282497298185467699689353684626043165913090007776160509672653856446104792269279151284654621826977077536578712606250043905171045495671315673619758736527153905517339575491003692918492029868551909282108085144241856786093703960949681486742625336898463644080214794085173846169787040279287245329408074745959719848486012431266609652242376452937094652419614498601783764214173608720756904525005814176292617633236454214781096127772356362357745571944179862419513285375042738187280098979706246159920704094795139487298180330162612509505384848364772660539233073778806370572566466746033597334584801580249607006211332987396934506269369079045057297881431205895326807919091130825616309544058316766296270641928353968046799422498365279754220709999557118198609347921428004132394491362259335644145331203844466094136684443462194172834639891542236466911313203609954253768177945125890632156492208529196875247467939200590510362496329718757747719867606741896446974013558061304599729873687203650529175412340319219655465894304122918895127192297281358118686009987787069421866734997819425740488647518343957738456100078684860422732686582558552075619441670401639199469000359007724683049409309487248271144298972981554460784477452655173278493382503094192237625825188433358960779351989715044255109715045345529944097635835835669073196049997266496075156840686204980749803040701332078112557936368513863078535561114022134266542965561763662283118587631914471450983526385928193585213953204585950054703914993858050484009717920211613160458108616736996824204644712025409440223917872854006920923074744084774866733942413241941186600808562133053306100496583173553485300388141756100710952660337687591272017855978624246194059784245993245441339735623417227912041624996491185307065818671161461649263455116907633973361948292939066589053111050330669116668483847115970439190967542155158129353481766869096756043164571725676670005326223447299534812951494976582876777733397508537276876470708468116494148092535768917675888109957818789334988026080611658067762966351884056641591810335706269034777169155095178224649338989788034368992753047395503642149118947869802902693089425001781080875465544504207972674591094440327213584109536140887138566911648720353686663771196580143511624787468590648860027085690436859577477363872090928678676917903290468638763050950570923457960550786369545544007694536895988126998810100585772806540575383687754965460988067022957166667731081080111569126602788409402446891674293971990754476658433070378477686284664562194468832460356616375920465078201703816886450304865175488021976373856400251810854487639475695680729029416137075322545133884676683689425066691459800338837869619344098754055360076612427785262514088092211138825071504915914189969574905880317684671745440602088572065925902425578197718694849079832855838388584790564811606779454129767906155166038984007444454066592904873801348354097919787431185402729957123772760666219622702335052535535190402665603687390275403975824805447529149157198307190998505683953615177669041835057430263038342599740222175324912560284473363129950467079592304561407836150235140253821801620254762428572761685916660954722689807256149415961440354047546380801133992851259017290904094531985387155699707701678596269840579461653855978575155987612792653324975528257993220288598258595410451160137562832232184365625339932891678873226571422394621765542111687960821023798171029696379494991080901672147467871166125966264713740201678306267986614085949524649896115059514169038386854000688416109462525689902583726472094815712242408083069651539551422248398562995205081990504975687630137487619776651378412011509510216283263174323111405127949628793341212509987717383667840770622576312494812681060018258424453101567259715041070822156333602635380078429309893418847069771500245290573326197982120529576135212869561698406481168120956443847869383984788503145071700686351894546291361219681550567767010868236959883344288752480553079437241904643369903305551983215532332928467995946617958199533509557446260853435464885500092104096166196126534273289910873023631302693689471011134276406484526214034841064812862041219311150335443191889304062154944293252203518782209866505426937549193420683464846848540246574686077943915219536784306311808173199494272700003014211146081991679104496950291662800947911724697762297852934982614146415768834525719807317746836105942119698045680035050113023364560412611410067708220757698620280530652325576100068611066901871374772362290237289461367923725934797223114993392931237752034904291473671007027775774687465001973902725286564414815271165902835988994199274979043114911985157066335858669716753264718856726167593752780400554953019280100206219907181432590236405688895430607765661002396153816419089298060662874531247661878463035197305173856966206512003683702276341849228894151818880660421697996483265073162425687245976306513588617290772758050169474785310270146914481103254017516146342273430082522374584678377317738032734977879762253028869819526507247710552832649324480724467270114035541518520768176486774055432846897791971228921990035542016905728094943530399095264136667882235388434099334978104197893635534655223815161309341747102134612838972390269937243809337424262898409575801293311085103131916452448871202776503651823164884658484932538347135657350085917850077916295372325430698653148532748302269849757297360412093099884774722434402181199587470821070506772536017132673123279570738137533400645630000056915245564379651047905885399807284213401092012134548110463106967246331477238774870240564860439236521060160383001073230404547515814166663260184187619116163065395877925837259488042007943288535176778004498879431388904250664564738269133834263766442944190468474582941392773316174662245880512355496215421111368359513575004292539647921863833000143510820376543318674020728105376917643562728670740186729783138432865968839754945705281354042156244836498735982623882861536350523182035200923076284559124246489462687581449134355649117407101202505435891124024612900179800826806949671510444231409252880474873551854349760979440135990050695278738234711133151983899397669102186921240195436761674338177564762956112461490971176424366711670404956245667938632316120805311567835686833479359540551334816059849017283946965459958268839924829600565186473307190282759565853608354561369414042184538061223L,
5604582219918140405896641314972958867646671287911852492335559327105939806031531956850791983822768614307909147181598921049524138981948654671531892628358610132247139711427123112945462128015828215216544999679623603228055661203381605298896407205098986112256831406725825569566652201260380068300065429035111955225171358868841973312154167302147169231344718040545996372787895507227666041959083764612101171024259577556541055332567639013388552157601754002725977764423175977977227536686424449872475303543160795904882760664413505018365073337173916237182855460197733214100243746134727654698492907173376803638630098385164719914767279358851572253291685170631294534369063765548837704918062163938825405314877568549693527913502253476279190950286758226870556135895537898088063734863618553865665665312486616593768642169272294817472589243798585747430262339652606298162556173330787703142813343306998841756934078833605298354919787818526721222310948310817904097300648951275631040534762507975947244250609758467143953742589405151116407261308720168699892932342135956061660567461549351670881832643171570780768627912775376535193668079055486257939817614645731209118127993743477797364176846563522368676615506947377514316163161931432163063862818340193301581158075800771051340903732964041216228630484727640729627896575978255221094598220746326258704680619483575190037827810175107834963932392236980557956165587911462691145225598066102888044487987949949170307198890152831462493600138833408916984084613567697459860345505427709030495136117883213487392678263735578985223396605291508276781919465280342677336184446722335923768936500240977080081809213306349164350689886146311847273910540318562927665971708921403200554558188991327659948829053010775806252910494295970859464706140783554471512417577953824402015199046529285556757832409660391112529796938740589544722862607257787251404319724394888397625342472364225748476245710023387744405576744597583654703252496728928838539166793976679816404632285522287898345479384570982645064949685176743430443129069323671566968216179643604682723391681504696644114295803781447350660589902437417701804136232099616918379377632046354353807589739538703755338513791313141609607177335626768993655033306397572674520517787244031091776130650926555415713182035392117978829614144821949449684757412213528295964893698885039627718990413786007583942034543485862766402714415367770788346840651559224854324895146756896443614338448259376165220164137828106773048865143252861787042919233761525431468126548120611056503229688072372173525466577916140862823508708974248933653817189233120243214392999411768623485299394515883951041248106828269692699584467158284213044606868989445139877153017092707848599022656980885147847647836648745653563587284981630534889624584441379607176592222937658129656417738153824860624012269605616730099385893676900385120202231543837630963597764282498611475286555344025051788097959854203306019039886184133146268407793030262383998001006575537937844948110947536584166392667463884972462391707477804137233975260479761050634266311045518652106095840660616623465841280921816208013466374070543370515739230559257686677081213778151457506811763992496458874676804131783243140386227048109991102537780398509344403152157142755457625914731245249181838075178147899403308571376681445561382084011960929297810364573911940166709501334430413006647863093320080518503271664282388398438442206898636568832757112669472328370598776275694575889688729595580053331623865991107879864314532761674266912149804955562365098299567097864105109587645744816424780442551955464434117107813153857557974544066393424023539758306973927424646893309835575931250811025284078234923238542797888812947954469312668480436674472307177413267863186444301432456978531592401603496438212174802546609665920403981665941237226387373878751830908953309001336824614352213288782744572948785944933673391136242532228589523751250943591808700585552376690797573630613092158833738881894668194498382694703918344411042065499062448644998142006870128803089895393305127394972302696124425694933683676679554033126601654256243287825632387685203786153710068900559232336820917179616962873247899087402969032075879184216091897895094916510884105120893434216711767383687698076213130021506408036315769952494304075215801774814313055902775319900990990887383343613994393388272864730624454021829602829749965928592624871724722114125671494363488810839130155970793293018067639376078455677475914679362369108646413196904802049425139809600637325628499387871844278277730125069876732621461821439187573621712061736158538533835433678867338297647839973857835869222716404294145540053572995436670485796111046002547179849498167662739115465877169487810017897139928509833432841608430424088167938523073366866080904979383409558287584750073717078041346188209321118870431348310661628042885640484732494151196798581016650478886258177519246366145984799245727244112820237479580565257757704882602934007808556625059987189534222974043239976278113225903245749548665668216222531749473364206564750151713099462902873072189021314957295683428912643050828948466844526017662323097621891357704824256869033807440506854671321564564479742242547820360231959276697987007210389277922369019092521192398186446553830169495358495809840235721864946831106856164366707910005540269535988634022416443081903265074404680995151389189439383185457588167638503837275044610334904958137078088880804775195429819002977129484822014669963459000192854790860457633712857947713700257362188302233153550202325208750499535519521167221646841666053412581061709497809489499453914580671887842408107025593834087282549422344868209428411109119130180665552575839657056295546960937388072664207226735414617736994350509115912564789169863189493019455951974322384408834810504688475687857464295375265550771625577681544385143618225227077100179092856354163588769348939620741891908106963000723160123352424201584652904051126425947550663438948595234652049941011613370546837357083369394597838963299944745612652978519675639579458967978060176546344076735676426662592185416235964491584211472783109166364351771824984264018230662343160747084625447799616827839968392074202662007681750411311995397404083253766034325461267106336062055423501140897350286612664899012191589303943557017298192098602253997305590686126285889355237536657617137289697981121475960622265168303773470854475060963539629L,
9721302398553729779887808535966143138214076337659002984638802239537275567561462938349973834193032908242956282714855501238998402683678872091415456378348954426805513555703480947939230877157618358912510060805880571231427384161662652989118266879610875253720570066711938923084430944485651018754652732361635382423521236029165142474892694064474460554327547712208571803506231308846349240758034499939521482932380747116309060439240375294001440900940215124575484247330286927350333244009973440526041095610341925285206969649450100074753338703943530883682117208485225008716656038702311089075125382501092831146486820751749513530171333341639149880394392118182772175131775438861657435411473216813450948966858610672905456679932005565015276450726262175229232477381448804663015022910131048887089304529169093101502677768470495652699299421460136718981352053213119543548396307164457123319900906903247157094801077456818041477516554400100808085230245935513872747797210118918692746205990367325062209355884823448957108181880246037704649705864523595322783685883719087135036523143796529736372115555085647521150954153819356742788016896799147046033628960615486039208469665788523914051096742269137478327206049475571286739602019628295147766120067104731616719097495310123691120636947287892562212921127479071131372293045068457091410388009846956718785095798146162760103578940102359909924786476713536241609460638605130921934386751216403196037242251472221257119289563497130255592338541229606752757428841516957646533901629392761269101416714930961959934802731385356180398467062432645608932512132143558141973048209947219941977267849608059160792484231095139524815717406923925455574012649763606887438955431842538050285904789678317755135698578834394344795969173115375919915558815113842036261339948987567056781299768510578567154544333587118470523997223308827723461384174269582470721677008362020543717894535188351395212099146152330376606608755656439393033056190675705740951347639652773150239554035424714447359565012370197130592433373850383470978025344066516868291167422737048837539346097119276819182041231757129263273067975618193310296362371128030044164001105378951145587279546248668195673599484779816946144624925380665659785950307665325469611923472876922075799197910761552452414381558745909201856713557634921428124367135348661460070113879224800897897342208832479861738790620215530542647497178402549055487665363498320744866027597060270039863255611350348045937316574184210257009626854996779940479952701275255993065408934903131349941219998734665220198074114189690951707138599356878151260469331555877559925433731010661331784562719087652154071674221110594058225316962217483615026407220671616433217774299357964654831871749549536592936825450220871617047212894599117698734813427864276505738426001531726241020554773081718161995343638510371115282128553525085246523877780152705498783477239519400429752406656744926056410017263336890568863488364914900952842691241758055048282385956933319059333261551460038208091399343152478234772380484795347764483723221989798004104135967878594470234491368207627280100812425565398416592446292207506875213759331200496619112302727253228617862341315788367395632469712036070611309033483088866861822136375789271055322696196366931113342899073726146643732223693345889261497744253146728700851619275242468992081908722021092498814819586493932894689620580583976173982563764071879792592023514322575884836147339074297258338854163347181787486933104544161502860128450648008688713103913991766818884449239531117830084876069803444634958232080485845116258477465391166418255554318240367085081219061185331810442464279574587905512339260147139788533128435241620820493256116479463173364955369087692407365821578807406274054463604380718787318205250242960104483484147429685530767256226995915249270772650985857761329834278032066266287618520001935209625763633906871077396572630206400750706136435822814250857878062595751452329393729993368964565814206487555516501420730131139835020419603567459822717025031116957332319435315552578472034862014529197085598346284767950682311944140331457284991645279482148589776441376760800983295720044781580648488893807521655221008259032674608268677269268936041146196923602427254082333800722832084795613629511919848770002821276609408149633019507589145763251606479097349390610479294376867861460451975993573965526258964410029028093724343772921879557688600843094525387033898926285368994520756433813545668663676466877180086343699228762643433461590617172456410244932184257197716534916519736384013464051014786738781176467425714448430722311251061882579707047034866373208063612191482015106395277314070363944567459184555573596073095020630708384251633925966684466225281846170219229269811853610365812553809750115987873481328682230996409810489360912980602519863462009580407816941872171371902072679468190228571324945420999604446210465556408657702308247421963554089474292914161485607365313441528858829073562496495918119308533048072291429117226540652381862044954523086988846743098935984157471964665891972963923281638704845398047386611980033449148155862503941092601011025678125856303826493054817518643636771045834921780892014978927888078494476427047509175812843974045331488301192972573922407515085260108422870314396062489715904830179724677427645145212774009247777335714016044568795651839448107711118696023746704543889843611124324531772405646236507972578294706456673596531139418931665514149123973194983107064459753221755006592543042027530000993655671803583143245472957168114069805261105587772454675054078014266164082372489971974130513678365867466241081588823652221346876187403657872037226418288963001424303855286294511999524478654120951980506349846301347266424846315626045079738730828643909817383887018231900781094731221290929293587423512581965674058705666544579740649518379614812998578034346355904104987022047275255059772482885388718783903798026940255558829262025556536709502150797817314778483213771983937701086904765100050536621929320352386518694811864737634022420270152434337662984528107544180555106512458609148123989206454761915174524940806212461388176394218209720523361923866642529733160143176871358166311554025804346604313687898622175011141878614094931471968335771214642400978516606001874093546372611923915664153586091842550745119926311147525929007165488143914634925966521038667038596507644216506068768090673355121159131684903L,
16859072893729073144187929458821265035943463583850874430032036289414637488505032693857340104191100616232446032846560312815376930232164106429410023997787040627515131963900036672496156376260084701979292918896430522499010294473275618720340254714303777059510513999584326228801007200908730462982206009725200848000390471884495805682946037161776928357309000984539366336437364467771441291636063925403588607145087625036558345289137325946271662354594394168340736289035966621050478865577049280607363653542303702842128722100210513333336484684958168161957041487771995716749953407448073116676699725103704998065161576137476754936705894768656493765557526286111787378462948933498176874616197994940746623084456566497675889795046791780777028444110842597467725010539486275533349949499967095212863195966970286732788833358161931622024607033643873609150032835346483959282631985021832318100551120286701500191741363759209139813390468304178238984849667125735521015317308308961620114272492059824850040424203587564995127434723000414964427190551899030919802848806235837722196461050381419052717108621986636180155119259341222845687623885659407494174276533555307752748092447723203204105036297666274984674254269404644207563381971870420485226231050568115745268961296931089226237312239000748768608898994685290134955001398811155915735209979107538203927319540751714816816333946617441644426436730432384857625670623438662515145067465552082711166918530427120078113140362814705778294923225589274072905281089347760430882494681838358438261804376883914536807156384120073844455075543318297073233626590036705429114050901474410577091613851056760984590897220529910866854134767756982802326731275070051380874607037800102556368855571083595707524580548143063142145360410802299710288852123768944218757219277877785204597603369853549692223858017002655368101111430604248418887538454372956353186790850731502805506617492008320825606660635564901259410446656076938779934165623079838673803713118798567780038826305752854630626877229631505959239050103426316626692659644994812847540297274783912804107209743751533998572504502249474603509149397318392856510237715482744119430595272419250598921430790556874506888749886310835592244128666960811085572870611331118960804526621122750062034818860528314158502848631812861174698334422553367972724176653077463274821257324020163841008621677541372308180034942694767574966983782806468162066877107250933632337615929053167250745583239931253370639076564417750174706893623122934507045415217906861311647852109497843865814251655909252151994622224821556524660952105522530765378773691977544706671296675597861636755380691081466260463118409792705248363435778052786865351432073871145454113789791835986338496226030045180293242808439822262987549787676726923730613349563657037755350105679346822550262421074542665971575660351207423038032382230009918564599993942485465634532771483461845560915889852936422797253999506314493054391740503670355702301636466393908371304965467896851491062237185748066270906792590788292303684692672804228002371699738634826534055916444217864438500249093050147924305515622821602362658130297824447848593772209296546359253125209049833957642564224197849011217320216198184307003950766173625827007226430609004154861249621722775500934649172923942748624006447245257678226425253897877652474673711435803683335255406229784824630946022824814257236336136449240636611446725811098924730568636878071668057768048112969426556520574539089391339564171709429264359942351792496357153713795684967614834730757854374763015868571929196339551369531039651653937987257768602045583437927255599344466571542422764844005604637269184009514725562610017932312242309371387307558574783000509494538076963896402702736057109678454730321858347121876874411562863949537996345756142399033258083653311727942889251106017439242921666442707546627939121370228307893737076314590271153594614039038435343922095096886008674313667494583937744263995437132522761053830065111191802222330744951236179707556550492785007590089682740580522009508055767624844716231497771937067438259035233089942407129664872429722597707082433254846938166885176159203749800739210863016532049285939692179427615789300934977808104247280220235906574991412252071967650436518621833967347246193669526420020808374934750940340284804313890510777373725474652141782910148463083080909960656351265740196979880377638946356412152580839497252547687173318655252110973909550166118152436653797226375711028469159874886301649602851770019733110088289960112998966716522389395872885682495359354301552474070975882229825441527742567618716972823319331826606975382442520257776350259223153659099190026142171032332823018067003019298802412318465795019603747293817540857661357952599606393390204986374998257849859952130880310790314904969003589662102142648285412974477527640347912245325554676481486323706340903879442383962439103856488631852345838245607772090000929391987908620837909608121000246911714701676318365275833503780889042431552051788497539041498292683399974781926695617003317869122323034577201018886018745357688282249422920346481210581625189626501812157719310335552203118803252999647292715282224187665862892147172228968085234289701559044503325509023934424501675256951376086318215753486670193444552374449851391083963523566605709710141551777247457506135315038848614918171657692945773093626851529957543154766071172942968991604009392030058749833820522143285072690504056465799489592077874940952342625100084087873804135877500687188610585221568236176858690351210110468819746437295618069748180972492648572735219761584271073647337639170381196551970240642548886062776167657880025463276833370300637336275952786858128250198567405253803402136636608184456117384344612827003222490069582351770111773839233662203496220148935918343349042508352588376314374958103820355825951304283474937555562740883175803745540205877293324074085609681567204940413196880377169871966352931067264329905746666015810526540871651484444275597988037200974469045696118903210578177481656907290122716599720054136385863672737780002534668457184523635141003533009217092822132581950488158644700492985391729939976788033036716605775691004195658193081631447927195685672763972785369472148788174425312690487736830936255565583689962990256683236269116351490312920813722018384000782233432151448012206989422440694579908731025071469109696847553956549625944793051173788765405180174L,
29232839182569299340998026291757299183031146995949566488541310174001494046365012685835098547359381622312973840800687136442095696542744450917518834867245371022704255208882821626730473606381211605657891282986019100392244632632334995268723867398444134142393236267579384666023540432617310156931583257134932423312115572628584590491107662618003989148597848621097805323787420514669555493472273333267897229968643441465645283291816367086732922300440067581749194672177890854583086928588866320725431075126602558060328107095084917002400362440572834576585033022893892321960702087836519946785212982904194164663251923852462398632055590826278937920520748992624323758002905662387721858057083232280500824679796274324948511186470950191512357047420110598609860050764746780016328985699437287182846542341923005020583746855085652941614845696683266761600736313120893784995637346954136265828514936720562475730006824693832869890207752316152587647909957311730134773543353892924205300180405444306846930246659441611729319059177956086695347690718131095627815178320032063336161459506179139260863076951358052734823647012842506959981194788684787211713253298015590230052218244545486005034506716228684263342086661483538162805816100007162556892031950441265000499229874466045037033384198442235420829708779545690169679168304892854609032759833277018336411548798313292499343365766433149670266600861009028178136731243813567067483165784675781506488861248513962470534590926808958529526634527293009122955473822415551593480984128808424953325656538494792704426361755847747117030859636793610674687354593104979204510789894219550107210579500613384489978700573993312015322954416777075334120559028282702403059747954081725740571275938745781407840738378729481754686332296621261517006070791250842457580408224484939679869853394740603407227695298451955261240421673439406663149511775396207434923871058548543533325212177866376703250620329767104928319073195712503443765619160978269191698225165198032279162210418624781552253741565115924181159306550270645747558038153389866856562642509088870638012680080912204698749586609754959636872653340638642149179883116189229322329157798951452192714828589077115449956233432613563926365090426825936685875213014129962911089732699061287725136649729689111651244803878024985953113398523432488982435871763113432961515579734389792248124893220085029873643318091908446323653019407391327693336364006628536361438643894018024371612495775897733565067278649329567946284241401733348849357012460322193438058464493747437804165282951202157705662050155067393012069544937142888278853448947884230209461069893940492531016589447722949989354070654751803813090032969006678866253832912893973937015165263323784153159195619081752738355316640475498086332960210841683439108526869588026191803346252364781074632663671677449145235940228972691000755560257207468315553639518954508749898398039769801745271785120838749885607967613909248075720407676307696610832300114728085715706479502795416925344794384785842562418538476731009306895759720603756631243279240010618842916287631431044619179302536957445946661992396148538304472930676859911417371781238487621691216161166264859532190327586100741535742238603351965011976329285357426598808979894196741079398592779356962740625775229432546928715817701082778999980701210424990413257040566418756498167651567532596161629454597871292405824832853123295702336340622289399812277558469662292735187668054786763981555290459487021865552514871938057635730496243627958258570191862343629559697746020024298000208941304549907691515862225001216509990296852350414800865246061895132648131507042991951216545547442313415944713144159354509822185009740966905415345750378411822019473028250183730301927809777804819738914072355569912562550649233733273546805512059462147406494556540808981380922396754601611486615684651152726845125600267687106551985471056313500645519018531648921532300076855294939028975435569479062159546843989389561927210263738180219907177697470548021711241137993702404481114849311078432000779285083219608503835996119114239777811776560684849939725550599578138254844496409207134899094059964605822897420687820343752510472763116661161378323004155132660356991273600817885967584497216007069585639730921193874272464306700334405209801232825951209285360847884647071405188879491425737877008767234470329808748778163115715742474282580581465176214463539597431014860780629518794071484878264766698389865168810084639122110444724720378633210728103176785110370940010567334641392619142311765265325259254657188532175598332672751641972807456798565399713506467425274986299792757095904072182288190913227729614034207697125827277075107228338163908407512018496386311355082117877788731685893084715239462839452406118283276995605435297548407113220326490275703577748798399753469829673859877183407847669544718145112600499949809280798117945956777795112722648866500443872114791235209741872270655890085726014759477817851750040175998622925159807235904476063427073682281213212875633541258195224883664349172700402018834819401753752621397677371157746751202092113504501733038736797369675050543406839878449250639075105800307548693855807003016198248919921271977803282367725060776310650657689084118935618222121131023609895418753617070924811919246008263152834267306434746305457700600878048348630753335194914398387558864762528536316950797546112987565144414184148073803354839957620477821796281591392607826551823236392937694465415009965930632714826213014714178304511933221521227768794583779152037645161299067430508437721402541165789809006500243712193954136194834042949376266204158903864974043185225977471355970445396101056831005387581386454817917992668704409600023653607749999597071559969799044625907638097828519438603130837791145065828761715636821028820114376866812950988290233132807531781698316617908156169824173584557853074768352248534114319201586933609189687824454382278348735233368255173300462126880530546859873231814963894054790146421575733817970255082715971388199789391870731380219654245641842167097060379189551089410133110097168558033029767459411278010910429421183968943752157380886387200454707481967713637180546549903505752222532394621007102374719164732410850203414642705521385357512088126860675797730989026462565718748979154967367772557553283496760510925432140285721993059113194017193409737523755756472319707125235428590100244350873771504958899392446178748L,
50679978940166705788851511087483579876498763602832543864836098674921459284601570702920485904773167421509857172046040735289695124681656158688194628916623762523970721818833909839483126341581067633469729762325850027258933422614913731433528963871004209140466066147129412479498259290592641902591942452585019091759824950493876395811556213789214192615130409759711776444602129211013848612850381356147114104022047555137939124640311632038037601878593790529007618897994661394528224525313067964896646821604089234599233685441796652463457135972254413827027005834993806782335843525854233549343945330572009988160007978267328093842444015606824713417499701726141088427616366855839077057565686937670347750042426930217240070248133864630083155440385656400474259756218293112981488272856884297534723509302858568298189712747107029057795351468819065409464093161093777193170744269809642774752700815486169978613103549435984342833110593123147440114808127910501897875219614887152054178570236900797336293016942417266974836595495464194451674139413815356520786759718039055596731652049929785803733714300989138686668147323561554573752097862271023291003618046242097200142518290679649006573707982483997433913396106384239641596712613842742435302673423726957166221411014212993065247695317915621759930775638080024903712339682788546492943148231840657177109973580864534141180720752450746596306872327548132439177527063246632686207480538819010669539269633607307202345294630325151989209991524887147644740243268497503898948644790220738624220444643298533249010582112879976103918041836903722087765484365191240240803457200066082018224886585572690910574904321719923065394016503107612303347808791354721520367036723133428702951363834037213508046985621943126145045343349276821832806470093637405430152698296006578731368447227230210172011285452034039264641802572922266218430385212230652057639583942244306227361562813089745186414824843735889832963326781753842150546004478666907400329527452410437924545398427206819269331164093802729633070818906560599848636562422984884758316963799372288526935349311476877647609417006859069581541772024384594537213475151608078538099769164643828115144845285947906849994491706239764817253972898178769937437454891136218739875305609683234385618748312619733723841838156515955063059654238252093103433423049754117663559691461322303623246427959509416498841389401728709986921883963504872106346415385755459463101945658647779661211325213827572553124318331500764138048478009577681002208993651658006898895669332027395738012664460351645303994056243340640755887351772526711183414137738622543648193971479863605431440029504621116477061094959595774095681148052570282407040396660825265403465792148343675785872200588623459996136699288129229708304269735090146971390467220336116265253542229542385682049532278982230778056250530038469641989954008373194445090350191183113850019811310266308620569749975360707537221226769751793517839705124065238437359273341545557231163072946915211095000204847007835854208665323128993683824740950952957452031927770535714371810438686480181483218483836235190008064953984602594029624666667608109812091370969453496997868379870974045880051186097770408982952808372406746530406625466367083559883385560281479970092998273334144530495603704175870031585452845691498863550536290300078489827878234324664571500985152884947734966924303808342951189811465171170215831635583597854265465917484735960700448790557303837650417930244531965753087284123405956760943998651001250773853488729041445586410188186505879398830938786556612924840675154561673543976907624889358821407872607252723632671791822893904094572360034635014629957045746422147655617126922238935383789201151006145381310332743199315005968792299082796171071521203202440777403537374183283631496182340116545102848839503827161869757741108418450379391996042792416988263986844635633399594409535884914719898729553094405886300465431890502210762539825524942545078737529296630040223472077331567239104212668316496560370711633059432610221993458890594561559294898560136645186510266431745107614314047551436184018251671929091842446055970795185124539181362836938495526441822678320899546753090696321742991553271701349310660901896765367884136218398295065657886927664570823293725519513124591288191065883030469091258726101352932442894061678893981980737053250210738905889490562037676586635559262875178558960769918792318914155476424718921211250801275065701577350097875709445955855776274509231032572623546481669200584995691807935684204949530942185820597914083880164639583036347396490646915448706474796266928525642112180404204809103344903246324237676128601881740019166024364343509713714224088537694608144957606132208520398994042837098985585375697007112179653209451295580255436955100369364928106302434753359174775743967244910140352017791355268516747884188359774551731700454683036203770825088489105246833048918611950535962872459376879249620961343273106411399498383500231319613246483579608181546960099896951034052308604829455887481652231897389451209336198862587140596174345348995795249555512302129862541084370146135267239798685990729680761061438308453041448212067968345107243878444899086642413167836565350642208884893304290393251061354783004613525266177573003869653738585177608898073929503631207706884866428234823893598900359853236940362196590320793581976909536728987836049318716321852913354004840709051350986533758622334103409158182426519967215867523594220432833489556127672263317361396048214953543463890369840570483514815608008336870102179261985772285949782525092112469506960846849293301546235980646448257254909190460686291683439545454219663588469328681984526351098348062154078904398137934092497447519027588101505614926345139064043441153518868362760927496667676826415644244314106155279638718680409390018581485774361023403946209932873901753322169717479196834922999375836347743410030321039104664124257363560637648550184752200866293947349982787583923634848764376688433765298406967165614539587743306462754121696408647416741336574377057590426498654840997484002915263318037036495217898425218915440678914044218069189762243735377985576578015757136252709435223288149170207911948127827007240068024623855099327561686373132303555271138141716536037536670550775795357039807606099869854224098380558001374261619034093345508830652446645488610385208006253252246311215886591280566956857048415952127759698068058589030L,
87847623920775056214095834164727070496268370709095993676250352163601611393287940661285201159169044168335729834303820388084327889731079392254175629996989202551135345047979454318549021035574224905497617533074586577294554483526222462544970274264145424264282364217180270905842251435756343003269149987891470844365904418306380909838263298981026230911434451670005683453346383977746419663829936862454077960872217116283694963632270554239704525446600627261708968413705879309415909119754984358888337578018493343233834882880549671493110900837173123867590782690747400116172202720170939864465562052828370909769940095486450814263881305321088348459413970376933613904352888933140668541104605490311580972711476940876855505035482355652126529742865194645468493930520285128222907647473088503000912858890663854264881790963269452022601533902946635847573482408431938679997999608043589037803167985354112835358319483895250410605471040504897923880872576460431826029623272171743110980778501016472570924869427805779419096961318880889955599468773915839719385223154840687763401582629292567507215316720110842156081557954965629455607876651292611792611309632179210501139008831049645285014204653618754260652988796727113498225306519959051167252087189674165036431003493170163008888100093157865654260654020057496053432503300908457208918760158879199990946066843664964640479286912650211968029227351563705226670507409242887393022228881883199870574607358120818650344012970484067166863327075956689420380898847533711661818434078348955552836507357673673768463717109673785288142120011698520872939945992900934871544082565185841069604209378693786128405636216836623233423307028386642804570119447521825934713897229799056154211762420465370991566549911383836787697143085342107253808200207359052415841552840149684240772041962956005448775339255999876503638358605865268853460864144181548117949755488547651081166067753483600806166024700721884485627944131398945110310705953457098462359079399087465389023986494480430083126358535671238026125195168468792980933344186789215845601388298987442627329656335873411277465460040620838072742787063124749703769676724889817438334163614458712494953858021511640988847232640264983358904129055934448328690555962639960734621541624230617468433934313473619943147332679911486549808263509739842482541063894616104116913919299393338663063370488697227713173265715752584109810366582775540559346129751898745213855517039208028412331559195313404673044825661836099520626929236458505742550487902682234110541601021151505121501557021330054296085815373515553015137160555365486981976792884979082172514415512280584973866723603390579656602274275772652146174470900511052584750751888126654108478972434963885871835064303875630068124756555176496165315805372067935661244613824731814251522524448294346753544492929283565771778716611986758265406473695888020474150751401980490688783379635596491512520369649337266572484355997298258934923709531164825261205286845301518349890783165290083312350438467250693115260540930983793910403322657883980786586594154596299233149051939608434481321389302126752421216739633671904177999410264137535644940018635610242263742104921976373154196013273053026256739261801455979553772262317962768169837892854525184993129942087263923928586873994253049807054610970402636072539211441068934313197296196505055607606753385771670979287765547969444082381314222236274188010148133272147017492787509631001276386585320250427450485713420155823302001387547413234454301361670954378432317996602022140315139200635106860321830997729529288724821648658369993099006489767500472629502396352767252206734632241109853841883691531529442729364051735875571186875643939973581321583068236039912109399441734646212082648449958748734984817750502913444608599539918098967898018478592485666528579555504474865511240456782513659427918905430478507561866866065511101637950110727266877296466847924866711644205235941796679245292269031657575233026404982642029588405057255100249801282822401894358988572228740666291457531828417923272160993006233762141493821775256394818557528458098457876589447945642935229110351333557521538780985851629077415480432138449991459666062786641208117670892366742899431536545176769489884042698859471747913762684302124131407429408826236314138141362428933733500234065026714701097948181495002705839346372687777266456464257427227096009007180804214924065118218615231196207180628659635240469403103646520696857236095664985697213633358157257214792991745864015813201992241097559575058734596191301012989536944862198159517072715471046884475008302802964398502823248156695228673159427131408723448558262274089119475897736796733195750450241112646104687271949102163344979667244784385878174877551994331172603322441948688564081489222541977716793873222613499193656698411814111206609944109137643836918225307167675942759617171571824889941915587535337551324454649553657682397573266301973844491599978899221413444137086994849033017117027369828489631498695927894167813673825410476415246007942106693461057247066006591497816644643086979679357599746589320821137331116124169133808574683985472851120924514646917098090423588016404127858806962101530334208608471553632993415006289081620320476654684093950082926445536600425979136645680799653921870027275374849434815140566538114994303899803714623104943346294592081897383150911896362665616199024309558017383016358127669246430370071387215842105845974499957676259969946677694230265344184721795024731818389467577629849349907832974233495109545870477860310674004282645917205352876084621501273875644769430854016944813614996518522198488489439610885107930683003680783409987740536567551548713939550280479704116935057004396006804297907841298107423872010649074466981616176364068662508057810173788150718798862314107524864482489935061296501636344828219660506769562743471626564715574011329217521270439531651904297564143343911416836386751025529999052390564834835903281126516948625771604683088215641469736893669586249483260525162314647794046625675965037187600623280365888033250673861966807112651142885658387822119609862073896703643275506113938146900442054337506082766123290014888195325603598167062122241729088610735042080626009562082729192782054603921806903029120617786050409934788862621087721843467791390778526115880113017658097308238000182892152877948806770707113496378228339964463932720564340872183606898512201333647075701049223709679486503L,
152248079824929955541860040880269178146377556117822318240175126863997585974553111033393501000957236605738583712229136165335506144533263499212565485368065271174696555955914433312150970471810927000135053965048242451511283408619986193554191099717742125834998814215643362469610213786875019372836468345567418425378604694149105035272326629553500921064058977112849959017186774450384406039645332086544699212957509095821950800168043688914801962679880268022390443688440372090167992271353026703966963816592201597605701424057507835316568563526798939412963957768832120027030269178331628625479159595934989201804467285109349573936564579916522328314304663056546679852355455363216441726568614318340800524177392729723045045842569128339393793472582954372466811795472613391745152498360785894379767335651378506602692819403616567934249413033495255523272581045177910684350420494705795628208054718524478673663258394338011209280237172025055258054815899449740529322689593485211591979986313466141445236186656306556791415319873241687155928067366645661021292780054712168497989249742186217768901038547084595352558751741419283300726575356758351633156125301486654373287764141360642037874890927786661448218582760584109133869535068150781574680143380854035197342983826789819427116720990059718144775979374374764280060087517705077994608407782287468968042542894629371565060751308269963464872241826531350470644017193150564725266123967643882633616095912857711370389490067155323310250844030353761896004250031953406657114345402451650371011973776712415418459287372218154586223037499086889283157851430826173033949713093103405245737906089293865220264558119315227954995620643276804024065885558729703300895307681318800240196650137888511760285549484539036266798603569775757467027318576805755121958828174371918760658075725921572083125354552683400572865303034040421801424552530832696651144722453133535062169094445175214963308679118171685432326540291748601980928830781485127172277303442329114062337854273412099972630004473146934610825767602438620516139935174514182111364088779248013724179986035246317767490382351469487535193729621935664801476551922097814836620158600704065949821015536340145103729810057827117399067022337735723277586721651335503837664100074690227226537490879077541068840322575357319953373727625277643121087966851429897227061779821078303597470002295497548480326894733303551885375461710331567769069117765780587470557361345618874500398727604030162636874414518246555273057928856460216345565809818586070209974217058033793479945756347518773128217255142852863554249181147917472081673000652806489706546020675883519863753209348159432829791313268108622902405522417273138452408266575350396211658237186108754643215869689210703588708639855472327585426367993518151432945331090133070433530409281123169561916740062208071824367195278427588378176452417928899126393945716877650649531015888151104055588931588924695536266936476747281933842638259445274119122271928950385042445020684727813190744098829974603436112225177500541902989345125931440576805039995196463158894365610417250610889349573005154293039122078640447068904595557260596338759889480824259227822035404481958101759428969964757005236831207538114134023865608988360572620177350956632580111173458776651051932820430964979146026863290734410129883968131009923424350946842754411746527289948011818666946390899220374615984701508293279288842929507718073391521701887549315617151521797979587205309347021738725627659464557603545301095952013431451150691245344034600881552928445378222207980801365974528996691773375138217910613896852762515253740976010790829959254976040011732136713517460117592305359995253588805452667528085436925194563191318004117203375420129101054151872355876317553702325804249309648981745829333243185202416435700086089949637899754002468795482480091009449412228517190910228393902021097269042847802223703427614698066117487032089553744648183507521022124414101750590169008164006211937200552166612573971710730978790739357145080152191730999694156677938595899710210985807048107072760775857120568456954655058340412168628990813456887366962565618731307159230536293885556106886048437287594274836759132909820644246723737222573136299032421547196659704240545318483598408898996062768858000993430833087457121067470727018208418905454808280383064257789322756583346769503034639250539395424284807420396192786858487783191809136590739640349360578270897475502713065510922466531914932842089288571634858007696068355347525314095448504877625345275957721230787268671500130043718835778874293782726534645449837393707903102800864142246417549024685336950824647749195224076459605227832968037387237794119874517867908814978903958324344815883992520526127365250544961641312903429577716325981129949771503007286075884986123176947756759235850455273075595221982190934111406340125961358387837902006043657266405237804633929773578120526193991423043011318895875995957158887045055597403625326398882652060620629578899693832448361591421028222012998428526055394848867496564309329063226308944799543015324765175540175576118908840601914163457204367028227472643190780963081042374835555500078703452366012826745941660730033434019433469516992060450346413119425110312070885758018599039237403863560011867848824980389022911857369911093998575252972000197687360854520995142829167053345823323416161072327742514465389105395476959242126552938111464004309248690616184160922483643428360570195127066928328584283855016285530551669135890232623785137993098059717703691758944528624311398516104756943117290452963614408704500095566521493101503075402473674860866293818111978694535518279856842532681844907013872620673862153171016872926626540432668842893155054983498289096287313135488800622108319244388506071746653000286128991826947001894734487890151069459310064223483389614793033067514211959723663021959407630987350824146735941479815686118434506943536784994083486541831227784899938775038609796194348505816677823431927465196121862053891590561318487965092263248020632144774428718793166504656787053593720881102914406273745325091779527693699935995289591550633529880994916908925645042571735687556472126381515720073423680243628063453774498283283539324841567103465370432651212381096216786468647504380582289259089108986679054710794379036959970502562914316764141662450760178360590121272266296655200017273828710398213605657240487228914572465707874669318595743099828930447L,
263816458166478648187949862725014872648527356561207805272426613686300481517475660813578217215086215804682088879210079254471942566708692135736479319864603026579986272821690488987241000231043461965584197312474388549203191554023239912973764341695959791983084352438868450318453080129070762710569970001415257734515777935701778657497255916256761917200292075704429181806768037087926446752101575022007311786925235476428155961105790571724571284401512303432137258772566592220205393506764070387748079974052680937788237286689940921882653852852806033667731380886226605128160078271922494782831866228324816690345957472541134843004308504550032069220146814919614082392066487682759956470253871545013714522678509862074218873150690348679922047204588543096921295869148618621271960259225281781594350200070288608739139619570293334860506799983021198883331635119564105912861306595555629917502002281701435545014178409034041851030569719385025888963338940463063360875443648065574106269444221366941791687064301270133128593788132659797343745740745694976029768286675543837588722099311729663105690492437612645661404625450477231369835040217264724291708412801680628372091322870739778260574624673406415454513224972430115060442501906086279437707902794718805528048082601229377366758979997427893794177702589185230471748731434955534172359390300654406031815349337245096312324023046276075581811004187650663382405854605738797382952839956483394207475318117411006407410954218617986599787722794450746339100915031583309642610517098359990866044848945734989263867145588923908046777542824532685476823684750467915675146929930182379497735321926900820198027221249376243762728426305406830702151069471912426083803232885901029324387444050279347923661097850040840740972143821237220230202097030141454870787592897678299963046113868507757577071567952788884254292075310786696181483694563479574672629878795105086628674977342964428553242379121300059944945152508358532852481056436864241888836430247369543744492227080780761054825044622009113496069030504080131134598059271883418976006199591073994338290714418443797930008065020118496620094180964661719877670142905060497416122687749591666149938869602285419320026989304877795390915460027111303814148507445573612221993536284044456030053543815489889444942858068019753019055948776659057850883167186585498522004361605771205695545647261505060525274570906040107861616141476948887851276199372653143153914431599955500897958734493915944471890306825481508792401002504742765741236707810475796560861925505840154855229466969171915528035784092884210451663811352410298829022618071029593713007616504493252738696393482309717898713905689584237879621601226361217442265459963675724081310261598733678876607777714742221123061817210363790858971849143295805447653840585090650424736502554942862031859476420073264830766733347574798899684752623169458072122625763344999934707364623001210250784573441996350865432209981391329841391022049028932748954585189168684746636127199114498524367109095661066438203834829873086125444811022339962888799560838048394894336827781821064004578067723981698739783365797415879466530863867099969773750379116893078054659996689404076033695253480912301668676577757060235175174002285434957521606733882091740026349199045664097220081834103204647273120281158048861422470212930637904532074282013497717241466650301634586182005085133135802308513881779489564805260336696666006004552568975481547366804526795278694005222386475019819275880274701270653029587015523931841894591971068449629239309664102645471370258514136661031363481795986944990453680867083839837606044836670604820196268549507733092748141429479891295794633378073177216008694415528292988144339264186690615802629785795648151547688880950340232105987590936371332159047104988350049453732124416535121722482667995689039801736370196657149192255369308120732775429983632638194203726302330155178091585493295135499480816570348720620693029216854828649784383747401867241937167365169568648525126330967581826807012633668758649112208907015218828375144949148640471617441767619383500800745242460525629314301220749950763727199499991522700772279537661280955102366397933829521022680705787199180425842674355079798649366649697051090643964933412355678197190029714359257830045497075259893124152628319024000422644431618655697902990410215311795476305553185613317591705600214846310353561993194517783258979498820244533616026328858719319954536914076233961040531382250351371303103267586642522377110720295597320293472680849088557903295506256777809188116478580612694919524913877527181901000118934730303487633525140205074227877399396450898349792066203064469981682165316925959323783326920603282711268444465312730075035623476152946988145198192489479333662227557723756898607187785166378657171906345796760288849785078115494495743188669814946951086269719922250521978349681972649921275895002061404622494859776334358060007442442046787449871733123641184292266047344695990193658944713551013991721410951292082338768918306398488906494323852657783125634983406951099835702203769767459485526180496244880358668455201635209140680471771978995012230358043665210781271642349158122329877527173410545471859345682687150308534766659243627794794953927019230639194206147778686322022695712567913594391395739652866063382150214306029254109254319377511098994277690041689157731769178128777162321985466343311361595872356558825371577625220505526030248203507028079429396806012512318664483722970884962194885882833658463339272026441745300801032518473168414321745873722287448816336981085188871896743084900986166433919119151834135637185897394428727394468257966307405341136253402352745014984640143657043130922023829902115484772891047384097783984576636403772936237753617225867598822893222910378965145978114060732433188418336795493513178359365158310893234618668437364589283760066625910177973384150346479754048682302182595842323597959214202860719967100283316256090429132543219460378862539828282669762085129432739984897719095440060011673949854779851082356858869830462699438117316273393189831301077239360451001638809736913867284150101667847092941612969729668024982237197048204858793338593377722823496552652407797638276164763653308327502012699935078998502565801950039471282354522576654836011479275640432303577960966412451223050931830613675703779061438308462456884093213375780771242431760363688218955980458820413792901730923850335454995013226L,
457067403136353588459930870529763350607987815391868493404461216924242467332778342041339638042072942126351360451665204500611541883134419927713709423433093702762214915573091051635171833344328834903638977750025559122224918410963360631710425833936421883340648914044192429873779435268560071895981774040905173369609847974633983938970425562567672095675003073396338726473909048987425889384737596640162672812958406473656501847459400319397349574390630910070364681753087930730154760557802668064699510523958704552639598772211635485064900214448405946986035010761630940497559364540261647542287137054520722828454369382778668849068626538863263177505652736952959052053851314141089035625405541590004648844384171305856693066929879325395054933554537678591814407946685689511650946782609506965678681393529018705799761639861395754883719394866341093941196715201263071837746900330927639761585363766768025176321043062753698013413900713070366115625604194283379743527843898933153741045335071132657640007826025762169215888650094396866267813581125834044502683460762676804502770100904395543728839157636196307118432232518479164269604181252247227329088132249737698443946147161722418067196065556796319662579332273142943077116477537202915803713579209694758951738356864654280491236880228550502633400479493015384062903208422865430546465144301282514813300898258035225607334839236520076027800865134666640030688540839391049633570257829842581260189885161282805305675808720518215504136143290460642951188278889389118209323040957976670259328608713732036328282064001029898976283812484288004385542309046180901535461510629075081100625868585161014246762815948204744327379053133172478834413942315942556395424751931465743654072701559637248740253356307833915976326209252832600503169506271175295927071488908547686239742798200320363917991120542632071470401623445213001332989823359542159793360235964360328585242628251502442041341105742301013659779577077235134910466861964081830469277275553735349977301124353985645833978543106268740558075791364479784979014914804280369007845598366893015548255649585082599964599452477054945253768523607450847188602509781370623084444056392475266089555098963800382914621941789770256292166976318080436107861093671281206268888849029225809190117576203209143923951482955027040787002577464222141346967536128218956876098613883827632680130341605239142060145234427048088180543996264807297859538286962910092950317016335138165948017306382710544015766838596826213767639181366179822840104388306840345279498134431869780457858796957605508332391763961546947149934944711190445964615354506054193043865551140776610015387111767572898541599134035942464018642982160464499013720580917368738182444354428497090518883333658696679741823179660586203527583448454532094321624505651901804867267216364569987199566211181592976111178548122680023521695212392018616837355567206874247603431915087794372090493715717231776103709775367299359121448615473903496826248964718204409922922476329906072266282285694960821494394650275592960924317070764411501690063849436971317039463791314594713070640816796756409187402969045955102107069050309001490262368131976394711882714442362520263156640050644613233993779663386742195694089794459995603908619524933877537926694336838933163790010665824066785852203528174231441036454501388500303266970364008008832199481575907119336041808766890854107845347069376217995232067359227591539774598216450096055839040212175140999206310090612932934396995784176504432715980299605711193726432100598662132302198293236316553444440247074180975871197388460369410795051944930319725944836385654164704813952885883052565264696838852131876737232417099932973413155800623263454832527505524097606003463145042892944682236223683299226827363811607081289369573519865985725080737788456026980799453570683854445174511843960431231306570743171692531818148170444282922968915267216180596623258743849600736381680212655557758400036653312113190411456105817626221756404144939981532533703679947707228856685209505084396691990496116913862514419197282991894469101333563743934710617026444966882907644653352435906597214515465649788234290285808478849280318391987017761498497800855026964375692569228520783628970693361828121879592774592045497112033453448122447388474368112464117124437852952948063706898434104738843709875286585203725753930698212504204894503577526629478595182235723728167998162880634461850943223167076693699047226007317223693165295067224857656855821418247633636495582615349786436511060720057614535949758961841120880864464013569239775622710464014098978542546430422154615428635541268507726590432235861159657784010320616988731669414593622413291846620204378748540764932929015444109296820672101247127451812244854551013175066198322215523449816093198314415475695304644450851269200623309375657493157619252998391273927958229733054589622844813215930116663388788472509659140209279669448439156457778184711209635476778841102659105293498974036283123210236225550897488960323461558853756825222620512835593768345108209161510479175425330240377916639985510215213380977078565734298320311626732903451850580828208460339849308635791907339425289960659167973468819289805349013830223414779110312758731688782964210465951853093602397994095873439389938200420901823455843817827575779759154236029558623697280682624657076679856433731530457722578625587959228276366488230004752316607648872184491441795167424125406698510412328715756496032755315959943268075543585392130989889755843687140101167849464111906338700252296362604846833977216587574503885450955769766656097044004380034399339398171614786136173810906326730386165666225097716108900856009873463892054386957235911549073694181761700360771055775211749267566566532075879684629861719805352408769655501088441262153927480848934207978084185844351284334109377196274368633364661939959303569330750745968253314397198319535602476488072942993573121572338966443136202089775506179888977281964354305696439783424027686770198434824116842676118881195928347363481769200723068673152600960480995319490438432700353186336246503229423628621269542294114194309352453433533233889726378807733209153990101625629372222276509188296357819090013211952273560162412766960004322064041822195516375128092619645599460321509185120762876218388509490717753679105684719082437359581125478559498398882298492173742668478508283369446403027502938615438651253992680048027504301372308555942199551L,
791747976558366752090943307991108270133176520595366846709773612957312453190233373635060504515062869358577090734285088534093760094191680208803069759454695774736370753390444067406849828519158957761037416184476895957446509017571147547228169158528624135396536513409168207071811918800871863541300132062022060262448026388052409654129720648982584840816833376745303894404915364769349674148947578307857486533177470707300495624137917498632325687780219293198970130549340453730674025556071753376461196416724524953173020912562862237612587028687937254878612050199870545474125057811004718659937267281107966922386281356626560710856988584447213301010290624024994993634284553767963478574782248804326243513161098550685497801440778748027584157681198610242681191499925315136666400628235439962797953480137451603947049292100951038368600111927801550490981424407599542616174974707461366955177285637048167650116657527319527664429753066323926537324441641677025901695510771373327828309308640308275025939904217634224148708638265455900184778153192226025584236008646375526327938539729791984301547722767365460776163986463880504762461339664934569949681146739503018434455428418060990200588390629790240074710127001772138803126436945306692184592563573403372434351743085485055006295580574927595086007484714975756003623402487464206427779271571235593050288287343991558720831222681688321256269856272963558566273033618684802820879234202601407725987652511692381258821150338045814481891461135107949231349186129426684269847233041606246409237332026736235516552497459430803909158078378933400921475950728360873720741371218895581547528814159563229266439541506126654130424048785260924329031589884607219048531766296356127069900761068588156186669018949778938064944692724169876534606356103144575046326896700129295435478627897607217636389279960615894521318465480514350656338274674219555144616490302759565054245003389669139692856588088021578419209251022903127287061287688077012336029361648111149676549392394706209119564492442089499380127967550972114843069047486644332493127436860088249085393463860636092239980847757747060214185464287635168083124847079663874178835585056439614090084727898289221023000802142396578444718529906227610885300279156479725239785477635822004428746364671053003450895266667720761064250774569089340210926179819115144374830389783071995755724607073781626476353727923740504469871398886972475960991426255111874054934128956761340474153348479882617273809603237596960572619906659489991648126820898737880881704276074318458357358400359257377380367348550233881785417731857398082063712915235068177578430756761523047242819763504919554945137746823772227902455209776012034547984849829992548668077173282801115239076163035288823775028486158820463826118889315028087101061561527123950632808506621062780322827281843543692616364829868232775098921685777892651873615534575263055935566043200965728771130689794021935169810079458949846176922527159740714429702189915921440935906551946576944233420275234847006443116823009710705942630806082049224495755723441771982074829963197743152661251510939087933355492719095213751119138663340368631232712459493548254583428581817552167796207167650874944919349788875148825173089975828863796379325654924429840858375254222443948320057972500466213773972090554980473221622987761505548039024329767359082382417517203410943833436179153397148933756493537581514847342940041121235082666442663505314953047703379299581408599463501747594925630486846146559345480870911840399384096232704473132868955488861188284411747912578503272526259000363439795972590673891058310104528703755594728807532745950731821558145807119582455398997718885824709267237743245899231204388187612131602640811106455730342419922625774560147204347200268669860723277631640593754919759803291557860958438421722568713595556688293027157350190823745243447620355582184519617528356881784526294626102453593992708635385646170960128264145134461864868181742041880078167337358583722329422788091548671207246950078322618597204300360777650946763962581232003334257879337806373644739223885714917697174736524625349009634578812562308148478288485844466387753020168472851197202685929603115595248245439224223761769644669442798350891846336061699048585847174057856653886931810748585133514722207759113904007801053685816276044868055869974180539647812499014771470274049630043756677797132645180829546977088843092465726590711744226156418000060457470020489701996903165934179994771462777353964482440916496652743723475644988588306062203804423461993257360504779507205149482841990512019951627005304669856059310449037881173430848828040899027799483387003838871432162934470238580590019378031405668989968537955657439800900734500266815923051066245697387026068490153778405850290445385715179917749582606941001342016911321842922216789459615835373417490999829003638989304878833854797446264339167149152599777520099794748499287569722500248106944276287749238363722363626137103799437274455953304834971515088698269519669675828693964431719283390371768666913872772930130850881148097381607041835853499694243880227518719416875360249643469342899676607970535079149244686159645896230897813723422033416602979380269654169011179967644530882966576224903031138029013119328760793629071302532827823427674914469115325442772394957612391347733290687944108712227532760939382711460432350963541826652263029314377251835071009625263919776150385394528148832259286186214728833963885020322490084847419825639972317164911588207287479209055640543294185626636069423770623923366635790304202697635056348208442545174897909450184580211202482629760620426002824373009126857252977735342503585492193763803750473381926080720700439040982250257942242785791223814199163891452985524985500726159869023140009116596673277321492417918963149101177212561129825655002048926952615807599774928593874259806431507155903489521247444963754629830663243432676499269535341419489120699563480037421240164361781924361909913737226153809861284373984813566069504495430037993606179532720063560362805118795445616471871580468007059031580532003934305974644093717555678256301504900248614817517171353011632886058414983916687998705573220157934332319059944706268562982287647106691379318224103867444838021268847034139329066896797743552577507269356648816178355503638640073024119035857389022264533822316107834530822540310806087278546431079647062957383904858456732134594093763750689837871L,
1371267138757254579499444842301566378609129482052477380376089711330535331569242335131565711988137126005819643112060943988205683315367040162716991448373009707482424868371228691581163128542964654809349031509604090418108548088483948847151180484859428607645133673014674119683116534589134957494710955440441628470002557331558171709368211331836119931270399026201767191908461011170692528417408859259760573105268549192050710750926733423236262047094708636309254076274052259700484949574552721942320866435682519144689159371684990429446390730813023398498631702109286547527292455808967433990461231214411693744552367247007131876777296837482078935361276939481053543588040240916931370289676319496437397037535380772121486920039882640659389435077219511620423760902143816646135969479966217058141221209621961826471205857201970658620030545630429353075680991952561502311956708928835955713247640779238065386872751662065358703636052900294791124982798124290164357524909401565644243985994489736428521817667675097288965166563506972005276938794758919159677992971581853853561128510549241293778976373686297963254751543596055208460347342369427208235951027329764082281971164151280310400672641187729307302149596122016787598266870989853462357489684789965507985978497482473821806957813381196178579145358976739270801926585240952602208463367867753579167866785937492484300117108686628408679211770924879669893696604673624026881402556952274909809861297570755450032930721041079880020204689167455480674011368145298298672053589757994006133730291599134854858301958222670514551104698302724162077657649290493997963269816605565745593568441012687628068377447528431137463924579026727484871416912529430992751815790371578478475593706911710545235966938754178630199019533667148859081789172226187373479112371739992097583637206039985536451000885811859605489129052119619234419358320366471453704700221636171396012919014137055627917033662941276483291325094795621804628213945875444680396946130174796346555586371908214459956088140776995706438788825415239023912175025898539288044422029441976593583939595650020722056627550399054973040651355187119585420842975840110293259229494785498724951164545237847364359726338391118113189144858426661574296597576480386236313283196820645561741278333487845110865362080294369485337438088206918424337694040975700537067768093705740021825543534560901009712483606237437657886069524726082547728213531037076451657590922674535496220788337034475671705037705990837699026727881991049885263212866334326951333420492356844790218039713880932118286234780945604115661203935969801946851144167651198633543049224783157798547192487953110789003386405584420264117929233097745064106931685663414500557769776190234629688344946911999831983251327198430266863534827828308836370775437330975819144811656010055937179231349162183803533096727145831474538588879534369805851844800445610352092305292548825551667659443507206439059237988822805411602753976692371297727550264954129481878712790766499763571009292991275953559728592613905086002416406470333024642068814064556951720551419601377146884019133288468188538324909168122658856063347344593427800930549046905118519168871301596419010133182401238610024770930623662670458120077933479382868066214598912334916200174510652898413564963225983071284633992427453500020182401284216720552498063783564543327334868899155634836799980800728226622780809182645201439643952030816132083055366750616811468386606421031311222885960081381208981010981913867262391518945177586955535491959507717499995707796873399929992586265010653437226793622359765839437729585981501441902252221057282856652126540660960612782258861564425504888368873640674345176944891020954024420027264278561936955680074109638736417712018226235005919806434037775357850662357749883973440439367363789435271716945869279971071997133464041360293773245178747576616862602046712566230323242915736080802191585829843115024164027498110514996843444489390975810807935757570115204050036960587849097086672444775543337031924488241415297408901889551630623957408602006202504310440775338888303094937713219791919451275277098901750340450488247485142962557038600765071533805288328038169785702692584701147768013502257910341747214828296676032079656161253369592037581130992104055453963591433034274046743689908136504793299800384716641390472681067204363187983348218186391191394643353456918737747067241243144549065356035599374511494021002679044513420009262484765199692672355633099148559199423606777542026223371398980636946066865736907561578018831963537339270168816073730323318575507131641550380549962758925011430357041421458137738751284608427899876089472329457867208950024274638082976069282519607982333364865106307024314313018943229616704017427510297142060718281989652557291149250087843927307579494462307042224139499789244039213152493672866077370060126911106365699378944286427293629129671031503045786908655307447967142097387225595467040791583128298025676566102451175467535295041910890215360318993344840592599707912160590422329150535693491963439486651488846868975100058007812380079675105715868490357602901634705414674385465401427753119737241141966804127214517751402840170027051328431079295138268859021996479473822694834215618778071435624592319020996240518158476798254363531795286224832429097893235539205801035045077434081434815328220267711308461499076870873771789100059194764323269598304693821309191650732491140453676373055423076265859613490736164540988550705723800044568296008305381677835261745862988416498087909473820064355060807475469600904091107410645399243913012259713000268897238124013469063675171421306679297371740902118351308840428656730840997998121106944941306013125336541654798047488870657635076764733945918603512541044226562428756799935273367356131178206026554637336237468824041758008800026584320185265685010306458041284230256193767384137235822155303607671792603600253078630400022098784535517772853518782308172696204289409528724743670839444854117461563601437045192504121797592963052101713653518300642219420530189004888432322110992781183462915454988418206292882703842362650993161723271729178912454026235750752557289410864214507876608767066122442780617562101274151008349629007713682862880686514390313708859420333705121337493317585410459650056081843570284305153130789556482926745119356711042679512556017452300718952531008736199546214469422011813183258565453468327161341560748442339265769554L,
2374573488810737903217313290442774446474803217199194661053890849146026098614732347373958916361056570333485066354076247714549727991540567623090476630552885182967234839216852578935346237554396254185493682727241264549752541778687530231225494736726200513223723108246628017147577806138603427889542036073087653726944515644014149006636351883232404908937155254138138461374149183330247215988120791757039943996078770801536821331553675437310707592372457904184662614976077258786868208281868382929282256760050684286247670786110046535153578366239174722810042457549645285193236183698986942379175850306740086155599699127824301988741612241667485330051490683951638747617480834613399585452748783729636787962872180694141332290469704005654351133003166381795740920465227133108090413046060514620319116361620300251606210387439350207097852119077255172436145786382662578094131880414312129828819726029409256524514210449354624175342801078431076937072520482265117062222215075470267415019832787183340230112323953304440042719369828002628718725943894031321771653309342986262058353378173839799284979665871426839856969053827608184970531161669658105780409739748638039304988403577206342459135841392386292822925803795801056090651570612697189541930496039375730720914611582835436300516774254558402348980774221649037340488066880435839842579456839529225442262431125075511171720031712641951341416860475126607396479080048212108522064467634157400024947956753612376764437878469881440280834750577835033639307952597777477184389131747064484519544896542597816567236972576738752677311593521063335470283595095463131258531246107481776170761094772517100736131850012870843111822588986502773526755385671193201136533783599372589265828727751938097062800179216669226190254787677457780241458198163159676568062562214933671874223829595417986936832196552052454276134365627152094694184236915321204416688810672826717888568526029198242643670260015661199328980723585656481315962199567263068858884067460443411293145135278819548903513356530262284728264860173550299768519389330873411959376413976814547161508068561234781416701212960521435913909529395168439805282634629083671527723650392607671306834412460356013739937166245645722702642454983091570841333258880726714465252077651929341508564794095748868027846112544649043309663562329762416218597851653499440767629107669212687597959993677988278304914844185357608019760485647506661155524198219057046060649586662047959132951288762118923672699048018755387383643176078008838654717088697852144383077257816365626568292595095026345435413328043161445829891102255846193920827718447732784400962168569200549102017562161338960225978851543188425238619912522150606106341153329695985209762109040001015722520532638562746536894432493170919080963568128038467705351789185576436658988298287671040311998301788668368898094695585762222114729857380330984807811753187069962460165977610429756268325093303071358316367889811200771368786555523330192456097566350449411588924728173266852491739892693845678234819480774795780946270838340548032535182388364835763708362729666676112170089204963513455430104589086700870738557678692751147026380698900122676728890385308332018044845188519010345654502952415155715401597856719458914831307838460377248209223412036553545332371616999882771515035726808790546653486081664478148743724055092996100102131281691109333895993436899514006879122071166414033429125851292604080451857955428919610331247306593759746109770180897354279313128104205630989254839814690402493184005851390476966791342088530258253211167577876914390685191966803594009313852499276806469509859995701922280890978240105193241078954383738697427315919844477559144549816821521847436328481680117001021418309602820193154259849859948190655729707272759876196107975784812056423754265946820467637762283687649351255528218278408436287875250775158625120007365324996380015087665508946158122038767888188063145911680596709305081034059360779612857872065644507475752119943989315461362158779861092608973494090846149881224904888867617419028910654554861945545471979011588280447881762271551105327742249836120684615858073997386752713425111531457347375708006510494894613592692197326605200760864204212199403987161410869527175450483091079317607205256783263486628362529274570549121484788086796002800663960750129394751297064577450284769151578712305817611527875883435533694672626682242349105336920666920847253293435121353185113523388934190459830391109433534696420157003802362895582247060512344703680950584600618741698281172124407917557912883375766476584661625532501619586301661847252332347397468238203868183032282869383215969044421104494322512522090590572284841002770674268677063964527748706837938243820000470051882987414885913910968602803060918603964494650294128088587242893563228443313991253611610554535271384292837050267201884037812412396285233650470162284390895882638911459537830143462062643368151604527573744413774729398320717261215595658753439060456856475350504974766513476935075524930820384355413969330307045993588250725399181617555183355835466573725102894676108843478177069134890282836005066319915629262653164345417154253967815988327601092296409019875353235997933878771255523544694760637677336639554989607611791726531088629217116949701394443554676716341262789936067832162434226429130113889336427018197138221412439566931996627015015439453590412916073840882058865298002429138749258407230042572161033517018728758376930825349701498465423124904473875349968422157640487322471529695141379627042317860528268822614294535939140840358430553659911120432821653701631881720383696670222593914665450568269897262839054730716816480383798283925901790525917850350493070426856635348175691690142173356716100129550853525044098867347049562303926553018387621066945940761818279971352579784422023142827278680923669829197099603621168683689616295926936032924548276334292233917610027768770344883195273825502516860138535700748479965873988294596864985789878538815494647335337094923417381849353343350221520165217653606747548913887863754309508728556042711030906266629405289512134816668317667529315469851895368797474237096290678102491632850582229534381594508677922337464007873634732242558150538640126271873827664401006572371856389346730842910794206812064974211541853063291427955124994367361604016818750153823876617796255366775778210576153228486460915874382075734981861760419875011796852214102113835370143815294L,
4111285590391275070233365832805467805789686380596611022500020047566362554866060648657442899107647249097628257065279579375978520829519468831824879629604040229133126353192879336034313089068974210173464878350627835033210976897048699386223052328393665318797831085860465705990857921710846084410384334569014009468666005334264410458431288814213750100138327869626604915984586496706979959407625399122669470036241865109356363807633383665350019761277124735989661554642602159193700091552351081965599574410147983528437656602906435116933631648180692773474938225822110482948068163708042911485610855657243389746661871118214105871055921975174729058142964217788467797316985366276559249903471392809385962684341350714249313259045883218171413061099716236196315344936780215372434801095640997433395415656059823253564657911007454251093541935337427649719159352408849284978350818169543637706445877852563418349591435140840062310261879295829809026035001333719062414288082269027199205274178086403834716544894563775307821693650948036054389327151237313860083269007216120916500105704578903759929337938395741646929821085997463237883166490804920653215467867054558996818494432002891737398990481891068814898500134360328290622560825739512271453267281572633617434102259664547589082083794146952146875519830106928919659483953314776404507032599258930840240136988622764094790930864443331219012382428663197250418339779428819942385809228475518806947766135232499329957168153271948604731306312828354332761200429387385436906167156701969729089522927952771650319886836070628461230747290576519857834935496145503986674948533964140177945063778141639330112432513230564623157837393435346032111305913940577744748570443130082249298916973421971324859775256098413208402808015166828523580777576568869077342900098378948464349074664691905373340322505705498625277352743587226137826922684878024232550700717753110936954453535817937129738889381105759775584506832170913481206527207818980688637195154292352765234264839284244578970973451111118199324065521905635298300779035021139523135457059802698330068811492473385389373899372559067863049944961820461026690097803335470067130674387995971743619368440336778120184529809414552809352402452198963153694964291577339720413717334572356325634232776848383981941607615263401283130436858946869809181435704137834743262381563119540927172812046419109973728517929565174780457049223319599393545927522609890785483051341722470772031538744929347547997885250428742410410263775450434963300612233982887262913146591997292394198680708648806692646732994297312675038867818623263012301507139379974522211464045319946638285382447487134871666745106707736189753461948425846720378464734212933998851600383974995115286937968480037633516967339635840690135929617825865440731269333933017002447898293444658103259897797534147673926966777637327119123334810448911954654739504264626151604122077780576000408218851880014101089086205760631794770569516578461190340680794699060537597126003124020030427288526349179744609840507889596004408958045068547449978925600315012977368165834886878501982578223468511825687713651707703478073463621782668276001540533116971475270766804079640499162559174570341946182763933157305987505817186573399051346876308755649687700295327228701286347439269894961769404406682145895323217677626840707728440264943649813848911081870767003429617163932812549486732698934395043625356576235305139348623730181280659448726021408877868222238834450095532572073199383583871469393286123498184888927712151270926610645727422206610206899291339139343672988098526739000944502343449172231919061515353337147426333157649693390777138829414560934955840037696326791176063942287919333678415530251020567041040508720301806222449095031794343161756581288447518520378276048475503246398532696605645389263517925490291366938076226927172224649132510181737681006425141290167470405580123751202009292349789619223731181802925972852332482783515351835930360685205538374323696702005403434918576333508961753809079541898598722109914807454710086218800699474178345614314021595889931231210538413328911492725840325652133144916899671550195613895255617966697873106719156109091309764583986872964893754005650306074661678046144383732852334327504182816992967610361075681106346508156556558220349922316846543933447808803563765547121990682224802335298381850218554537792557967271176811764625536418244429486105140294693460663628626311023727188142074044614265283357151818079785061477015626749177894705334109862714595488162940211718920779879465871159507605746356136080856011070602901392122899926986697265384392306734148980979233343063354129987326449012942952305566798233684429938750412432890102721472145241831583470764637726243560387396030836627912004994615178038399359025803065048721019807117475332363429283069706388711251016325817361349332071612652442995157081458925286270906939788501470945462785545231628326322335313492089644870370597718430054885894138616717197638861035891362498801799704454364627485541290234432289343934267139068356546942853973704592378505030136301609919739154262976489158512119863437375799277326597530130005633646203022283703304566287916582142580722296712752091453647337768091296215493645964177217332343371108771140097942623401784140193601781034452143657394403737194111842662083249742353731197904827478718894708807835442483110143674897341327607422934282591226181291546819011517180884527096195109866834196920366811986800260532374100480256739231368180594504840495538960954621600093274975992282359574730521573165661363126963771632550525310434627152089256550561169940165592403876608585409695652124074663789142679904317825715189854794699687023299730201932601589111224377249127451044603115006178938684308717003851264768522602847111179915187346981033195343578947545767325061398828989239906244606957641319944898865379608989135405301196230252116192373492371460869896437678191552635020975871897770664601065323742087509451547161450183310755548881416129465467079131246989689109850448951512797192252588499582701703377901279490832135332711015388678519885488080499674009950019481590561298768296745151387350819715836284669156135628868108257321273568502821116492975111003994399365165241611959714429308503689292324191227639382984562579151082031302143677879941136002280144270573078505377735862969616002034576303683452978360720957611786283162591626925940779520272269587150904025122963682142512886L,
7117020358348612120953356715540741161397041807942258400010886580750548128497053972928582193148680889131460546515494885313276264207923085709340162138264327017182521187458633412107516952833945387468124517743522345211356817380074200512577847754914878632558580026707615758616011816770763956733917717795487383913422696677657501494797072729728891908583197444388288098137162134311990411823969009295452975742052937745474442940853592217151970134162424168853113520932785219464242016744454388172194517409603807202875000256318318030379634294932246966059239986182203626967937102834869435029186688487654078251319482716382642945655951758110566330010552576212217748981793972086987270322249303050009166876251923383749330193139307507774928688362903539228454627241009205818825206843003403280649135456542404112438477232626358673640409455260229818766301743143305289211019579165961333450520224942545168292080893760628488590425187927268090588328071575924465436990823864423861360408030020585420012910616264593844110971224049786791986461279816053842964065478765241703329773253864386727099670245542153865209792257006297096187225598365892283850126055941958986329601447725189155754741918754314729490778581620042677388542328065250086020396864581050712856019227519950928555220290860621056087158267930784946358026574817759348934181123351584798559727271150560869434889751603300198688267937613584295842914082626525861180761241696621920380001098942780236746826137659659733274592942571704383958146440301086323647314492424710010626091815347164711821792672369204355447342672654134987739842774570137391738993626986097781422316928640344865105448947335835375280655634650224447267308936701719807041748497812868276273716825310469129867634016175502446337770273375323537557629148828048096772083112954333395641808340005926764721412141813781265680256942924137518440593997396811892748526412696660144952992541597096510101467764643030188542294967455002398141629980772984715897262847083543719178910226227089134023121522843045336304567020120034945540692369359643979182603165406227840595310956671983443930648560410570988071416117460208361488148057307601061662620077758416260218004113132361798276054379206457335324831715979193885971986551795141409249752545719802716334713162047540055422883808935621813227787851941762138003560191787513876581942655540339279367518854591824251011938949953105541595633089334111894885771363087501307380029613982150349901342280992087492306339512740439549600141027700494807410117207626589546639074936906042069149269074006203842725813142660419715345348272120363303521418915632187800170669509318066059204758331981463183565598045593686334588013510012647404600870227528682603607508334222432126298845875744652218561495108292968268809100330653998538559596232966738425678916496366597040054192867834962301899829667851689631825528687970648437616914805645510817812528957556758272624701967876253985882201201533894442772623599262210705112427215450015313794975555960050103129211897266962496592174064006693147008905208119742008792652455853995626502241196092006565729172883914577838964310232859602260789948021352276427141002649085178076230955350042468121044049169109105025410598942006329126767457334934737949807410049539590430286358023232585306811143548379880797703778610081640096466506368924090587379108589626635705622387391360117020260371585354107605803323027163041249759870399655465050124621929613067690084480613622358898116372627341613906746770082828783889131592818475182078664381785006532108081929979431684909827304815879088671909083383265400565512274707918282970588707167609924541053056694622448681128863251065009624308326833582622204043559491999459800966168987082476055288843629351556440263533558426653185322420539764462410688736670465811067510039251583104067757222393706002612746557623061123649211658632576757152114267252247485180688003759490083149191869388164164032147302624177205126790807447050947037808278059904887507201199813825435005365152928537865502572870553452006456065788404696441838812416100478299208821851514521704882599911395253201180748313195264293101766699935040231992095532145160694633763852995757408773610229285706803258844854422811718825091009359136689160719801362425602442298484897689781025166255177750147117084775300658002832917294895270378720394832097571705207753514052472496185029222911746705623848425493996124549861071624915307235222765179245605546261192338338033134734079941621681285679509592363671205334851659562335889765283473654284397042268767538478055473264588821343892457751849495607965528083738603024702556152215106562153309006333996095634096448909844375401441908856647024281857254095665343398916730163994772600685020219138379961382659066992220683965445973712076940858945395163442265848478588594470675307029516812112502977625325125847295052218959956262323518829035275619216654106327321568026583324275775400183663088139478426428645134728126263080100808867337643081533287680864690069855509467152603885020690356692804355631203443221907252174464842089010287210967645193767070076468145380257816303350003569767717462742236248711670341675536551673416957882005201925556409195363614893453861474442412640003037622649850826936304384154099724847483134084302705013592916382170879820400043285840870120546441998193431536051130206880634177627622467590339699894362377958524526700381213471333918421231581040539759270056936895150210529513951648666138943153178246571802774659106104725892338396036144010984835961150267481840240528524711038035101240682402395412523911937594357555590687139898746134211522318700854580481485616893608714450564818198596678070852023580381945359384340446631053085317407844339243368097099085479489861196366853558346514812736409611565444306188013072899339406890785468268852510938207269793400967898594283675498334365567884308433989405692080358909464225921510093432385869108134389939453259766044718804541583579236936344419205097813970352483262230230335172846444299675884579979561668559815703585296755969088469101073954328622996332809671547359284735195634174871286859300452681357230855994708917295108292915405188148290739515041456469131207335272558935843260969613243016412309928920295851942022257238111161280606154914622996823826603119803796559477710439916524112975811179991199379656617288385321654681893823039221390866023332366338784803840564200356280681253277708365387168863983131053120926205492L,
12318202703416543247653918002287460074164301561849266350323007337622580763003148802251341899653459943052703472352056060039807533672300189280355942508842121337842935366101494597603653805902550766081809346104571929122821270744043706114578663124267074381935863137970726683485641372210154380553147512791060846416856266328897767413061980638268026842158244651331727105634732239983245997342899255658078915057665602450115256456977322605347102488115114606896499313330835519503221802208682228673414430458008637005927402007348814706830852537338462091432189753073241515175472378498122354995970009444667615264573299020663157328629964139454330064067572692035272640034029657949233150541537482561172999379706014668067615767019166790953026529457601019739250419494323908481020899501822151637627309329235514363611583282984325640233720716080158147573515099711562452737317352659730408543229821122605165928572796864474335509920330578040870671908708715596116663945042208110435407226038795158910869254867472284806556875777160514480197753306919943940509809994692925427485661725056762975353276547465924418235611378377521380981631361015097170652740467383821315815352981176210305433256299473254240800999418509598078693321611000826344620051189358825586952948051784971490271857087136026841190145308943494203243751338685552456578444115555243653685432958269947097287776310426143115482242173477907900529193513945531976922669577835967857079813333901411977373102686666274956420385582313224812085608128608709388326671155759485265957654609869608196750325369221530662009916673971770632100959917501096533036565000904294512750391793424119203697973110723710855890180231064078497023251775413652231511542362775305643184486089836490980160004798124251964397742779312844552109155714672599346952817801321053308626221233204708750593942714975772870761021081141678197097807637755403549830713555850385150679517313989085997025733275749656413458094230118978739066466510875475031766577318718359697504946006172778123571602480759179444726236183381395698053692785780990173979019128280385169369830234944727727970956392895063233061831393407758032157863798952344838600819618374763825089920883802376587094816707170787598878381743801937800082802952244558729937557876831795284631683887709031475688242805407688453020265908516077314479236286402701129992539056098292754512874046041343512389408495579132119135936059889825824215993091509807123231868520853073128101769237169847724567735602198974149997036197588927255740402238979305724527125629572621924883543902850546829366821851910818524560435431117454059190991052597368477396314904116913495940700890117461708958524148578114700903526598237001891430146821514062321349387336393019440963099293526765910966333007275807563312268685333963587848767856331388293446555648369485764398336916857523420202509466211774187895677518115468676522841079621751395313771984622966125532152464738184942893990715334874261509158157392034333131002987263929333254107294242192033002916201928981791169452674374147021231319347112397466772227071016755937407766836771501452877236365052584661591134263212240941569860395948581892453166678201459773990481281488929115989323469119977307197129497749914429280894910377190300098367370742504926127470600993720739245734538903453408464827258274271077347250436639489509628553034084925812582035571595865983987621402739385208693074139297232094722139848720169003845054661606687964849467167538690170100713736025236922671228411258160270745891803930061978398353013905549259317158042871508554912103031393322299393829180779977897887318627135441096590317400427021334197033907074840620504098954232806163994847189179504242615974197050212808029513525374893458669810012615429661172432164937595490435753572513250915928603250361718211345238839220915207498716796195509459972675522859996741160733139495945984182398123051198068069877503550580059294628014607796388874974196278786807733228856297555817415770479303731915177126628190140264304001637919661582272442916694473287111766575335942185914207321056747259554746741875494741832155660286779943425203613574692330194078482887299515958619884376358077916333490473048286301304608288691197075543939187276066449280174338835605050296123196963355902117836175000587190487212898706707481859171457819072537710074480729763121959728937209255073736524527222332945526619626258416172747118158888999159309152290438140432997349768627632010137139877097166974142753622918051626331781636920277244231130133309403838050705662107557722047701163461104498369750880555539855980441991831339165880386438473822796421359536205461552281438593910251970559255097012146449552750720709581910792023547637295031741856630306621639144436491281850237173647062357937967022401736481737987065335054164123772329331961499205473156790646326583642063343917070678951666166447548883838987535208229146143542896232624056102876305717073545803207310624982547885043106060163465712936835656605517392737766767579035618327124547574746039890412009363093134471451737683335567600152621253289137735742789484525695123031074828763348666058858409643966008352663212980412751326256378679989159926844842385723898773261602230659436661819863934054936538015319713704562934450639012232738473677018598266463522887526417533001879852563695228746168543074800915709322333894077630832348438747834381470411644655894830764827090210359821509275371435785294849467312900803783340958417768759072622141463238157562729318239903153998405003162761014396638549934958952908272160413680043997078299894309564496314936311606870338812598446336943280438152987896670573149123776088777130902312480222927340964243013379959048608550693154982002494561101643558546491647695343234765997697914778848931315748354565976980911586183332540819706835030194002577123691844765456936076182157998318678449495184263007101002564010755662176942033293907928298058941682044265065593294440116056594844025734530214988258275073821092833157810926868983859557663562642721559389829648333372784707883843818265356458419072936969286528668935703331459900114508372472392380999209340103897105684729453197501342784913751369655715307291807579398759942758770859101905988789626181467041770413888788089381835884117995752938288866534412519173895620713026563161793626776880171422739307909988740537180641699398454975856475776748851714891748797027839048938190901198438185336941807248188839154345078664150281668479L,
21316951951058468168352826338208213512668959471929424546018972216680559492747999104290614189564088559672885466183532767354153723631415868565425428967562851462495947993377401470014881482932136843260007230379697714948094229375498075631642913345239706873229534949706868068140237497262178650478105565644516268745943394393396259558243277001968506288148357733669657177712534278991524358286967359789136080942714698501254079142637509691034500929297608248681616407109705983632689843521387629201218128189116607793859311860776478131836754472774862364499397514846158436639129020187359524990211792867102459140602547724015416963648277381037876152616527662113873349988105020267712910928139535393572351288203514624548819013900765183419437617767529833005772418459799561091972879145892057263068109641897742239558490288236138936858095945802094158643129907343429834409124997347808416611729827404812633398291179114299211947029190525879277113673527131145429757887847729398542647678392975440082411126902794505159453934585179537830624469040298923198815972027980660729394232990725875318429950404116488874159501150544762697180563218405096607976025693076497164780385993064097976625157984275679595970760533156387255266725284848718904242209627096541862834155402411753857703141554475967675201409808135566438992859923350711398421216889121064402025647335972705575413203919658523843010328412110573914476742590477586309075461999266206646781172165233331418297354065821249163365443267445576251970384491254639804883470896535319952092212856541941488071403356777014635848931623493133665152801724243105325002673914888909767524321609286502068550644110362635338182207788258797566682514170335579660797687612792768985945576184492813463608692322972467054487654491892710708413297602921274772624815176411719813102825922020665965834204591695575381426067801916400223808018272724044536747435687477612282523312192488152072758651727552642654729566540315942324286667694416539808700596346910648482070938918971966704527258193116805114749423070661530900191535991725685026449060684898549273410479089805781283368138472560422980227641398899418201628151468442882309396163698553668884443134824569463952048330074962547453902340012458823666726219289259593048655711162017736306108405940308181574239600306552337351947178538627581793370007985953788097029952308199440975667087922501460113810121663674884594587171989370477059449716367072606649904883081522338500059992285540749212127485226410122608756945588128346775498704476415566818760242493000598928076666366645573974800859123257862318229932314021441672925547441840054201452605399035856300332104891997401384092259915425427483465851369175077411905762446016946103269651188573817958295970655097059805261048775808429496188920582531245314942950002830551794005633907271120538587987623140700607697707337077267164492441619055061683270892830973147606924003339453442637441034009729234300818098181778173080412960410639619520381715750484089270052343349581460365345653604945918423615384103430375067777226244973260031545723876233285643586419755281613385994306305974167972462218016774422751818547469398546276962343692827793044790037560993246870434229059139339260615189935594043713601750774525792813172633383333464391353672215795755051393139949458021844248843310683942047494480636808870230686317131877751639068722738884680177238347343020360007885017082038425672212415302736456509413630441497747166164203558706160294169962770237597961548079543719814635868359699961332716193526210361121868821577807268430278180880770319115286828052860177990309712304198433410677705282688136408764836624918078639435008787862712507919666943636847924811417586006624004721557832867384307246032132026913207470030378363720580294270921562282579190188932850989140137103993193464915200222074088576941348494215193447954317618712468035586664555266041357253538366475085812117130038845566377410910449476053174333497758656594415959404030726721253680828529261677399780530211360327809929711091178741717235768530603524325791056620921451139169918254727157115455608651843753228463202194614432968899016562477655809918895588863954078691756019706583311786055343087075408288305992555900976368586700801782411931786393960489605512065199183652844260123830285103290143318061386834056733791667886398775088746228198651233376773519323885438350697381749158709097751758306327841554800084406411772777416948916706748585493813953541106463608316591994817381395976209527260993674141600807138434766287734893968104999920564277037235152623506920491379221998304850854966586436412966876804253274473271038096486309622172542236155426885916842033751143215177750439447014684342751227364587334405903527889062634604171986814991151681472827645588463829242393469229203698528358783985133822914143937258511432601599184022461201853204926782261739210861291614908966042031291494632618330656044315688607293359179592709191591297848928982048468061830034831560473561220454418645280358697498297951236879994375809167602585185032151092650770519348012100709111368535912789197553829443270188650300484575021285446697735428374568758811918532319029984435229715122902991590709959170478183254215058275462767158817824188580059355662964800847737142985469402252123001263336601775268640698532778768114973422156010518004585982356285847690022728687338158096991554773280912831998736300831675298108412178166271276119406923494596784541419490947958864071843114312280768806270336690676432171530153697959323899245831735617921587633967620523293309821986165842477879504974991771997723808082896050938153017685771451290551990583508525756466880976106810299126560936096910002372518302816577392862971672361266611832711754794700745632989665097913020383216280662877162725378513518227461731199818377007951646578881710012052029019511292272933799826387428897074110470948435117629102160558150193947461967544565765863975927634734144140508715074442093135937059386071358043182216042795334421994069328674516990236945630896991619718077948817003897092524685868231096297535992428876899054062214213558427810325980607281573418207832699645960016257491297814842038101531543140163931134591059987534653093287668339127752088221460099126190818647454248234961659605030411005561049097716903755074748866617382105901036742460182599183642732623152290525300700707384841963337731860969247060847655933880125405949882070937879491366526049659376848350697615028228L,
36883449656733870769986244674687127462677964721886412531505499024984903457705861802853822777675296747717776698769278882514903539214275923600734789506106807685913373963546032897112512941452387042320103767824944542116500735314418737902583485207112320150943686954776533132589277299872007931949281736580083666898606660177040707259695183155238662010218700381563516431333010762456467837150932732680963067855247317566451918931318155466580744603293045350157148295419476477536905041815136112539664677908179922631387243038483646660380974569809530418522655512440880168277804907232813444082356928173557561488958791289998747187968545552616326257935968535506438738789821047760981699267428976850473590361036451828804538551467357977381475812575496251611858260966810486902794538629160596491917808938525723975777079340583030004114629799736156656005167821729676327475992032989318702101882533691545992724149905427865403405655310715347866464755925607682260521457823747981028252947815003111089583228234587498347105006251539698994676442441636895434156270131541857490404134753261845690067233323221051516315946155517777416553788092475519091755544590273491333656084334939353390526557029650254756428467237999349565055276215358932957744592211301408856998638174772813670096634781726467632880878111561986266946772483408693582893322682126649750506789480324340109226785323491222305368341670410397820346154702561480664451434615842243911413149514193921705528315299443748425193159535253111257088307580779493055003660533042292129492631633348726731287369450536185700326439914342979786459829066828076397512278816705187492422598990830077227533093110397549532330250259808440949159258368460737094584241319923040503393193321928257982962624679131775131907754187141306112058879909974178305203886237640575196491001070341979918908352183927032119955731776234923504289447143122620153905786237688322584726443279623634725670815335928366319346145693677849759203068492629425989943420698455965409130038975778632418777324392810239354886776387924412973740494642532785079408150683111927413821386747727363479410087307782961514926352740146383548357154243495261107614057787716112819486957005424994517940935752634769932091325563355546098129224752080989352253705546648972263343263766743201668004417089601435905190399403971242830036008472343308333556318458066797202732931863707805366971469377378907188532724412983341878484033966779457893586221684928315188136781566180366519201503247358664502761166727726756089126902471594911849037864773366671687023970983318544072886668619444893883482803186893036698240189888912038950941969969036543818448199309368030295459301977561473080498733868609282897144179896470727605811266723368666294672721671359819089874595019798566318581831752070255555187289881371198278978877005061156938359185087623164768979484763545262479872835090335787073184047488494120211260871376450632225944129952957684392085469254603288130696133648770343754252268791839197767833090406603836923400123342271425906331713199383228070742557951885714242610035332483150402797132282626662825964895890348229931278518276459490345220260778737320463295582862206859430379098787815005871460820812825929895318648573979881245900697254756623682636989114000178785809145731118015193152653848956818810229146158217009157118140890730030377010923433007764375272309557970323137748222296350566826611883069554902767773197286759345520345896912970607297626240192979717845618683679716420106668036948888506451604205382503857608411834978975840547320099460030377212249358812199564202134977233048271109175659749623930934904870888080747005989105171136230478406799142581869442687987513585916985782408054700045008858042747831461536245658313622886815437330952507688937574925447459321154946161885209021331159766610159819466244039740986807621409876027256146368741530529323591357017757497893849336760870644152210821456464383785673511305031555759930983900597161884406672175007951028831727274138030879061788344325977732075471491269076105970521887506945623708010748109939810000016204855738650656119795370332422236861088642005204981255664241695685941180559919201413729323286437135456712632531067316454163618614137881428172693184756161965326417601329259235517980161673188914085245099372090708167990592896602000479121068088374168812278547351163767444050008636934440010475246184047348874943861161840626760927555198801146040571133633100201701923035860022241626274891147145621634632431122504818982706542112487581461823490460089943788940485455670988440619518224344200867687825860588876255593486725925347397894017942379813612720567106731379768650773989156342554735614397657728322040331654603937515482161057570481402206951703320521574750878929581816645272923628075653908125731209132066976042348650477723030269417745081886787850449383110443547200014495204243945371641680359174055087152677461968058979937541903137533293423214679147363322165204051951075524065025576817870792152650561083659041375542715256976331331112782108778925481719833227881028110252537366025429243819745022223397178872612635631629746351337782917343418777416213559049381360387448410201991134004585539752582748190632813023922277709742581276237103588059205056178637299712282161354976903681755449997507769614397922842550522785609376259389974450345402052936849156449259560584897591939524840617188810558965529694203250981135014070600894698987956927663752563351751835404785043719859570534327087942729136405574777285816529103647004694717606428705214022121315801736001205671701750198975197395205641362797791652179004420386307134019751856578808196408388515887400797659649069615443303964902273013721184812121526961944250444219757434718907149273394346346221423683295327355325296383645049600635547237374910099845942090319551643432846900694145034747932373406691383268739805926358373069461690595923241459987507231817488057457647030499056668195787465422173096798192184226616517448444877773259676060093499141094264969287836042757936325979060022065132406139144622064824087074948024319285257243938892059613579500722809088219249893514469094087625663889234579961994002726384041441485244737348470119784792182886521289948712929479156143249787846856900708040346622627586694031860054219792354641485873711282179312268533074729962702235555893392438730507950116397238878447299582080915031766325014205871678651873101847599482068389952796329518974798922660500366690613L,
63806757078606006243762910633664712234311188714638812293711895461574279079391820372415987697769125033197742294751129989633661636785161830404150392701247582249324503899559170369016769404329306701544269180851708279229864786520892232665506890671284666133371618375372966975306522075099579274190474233957393401226329034978031671099440320381161054805256622609077827178943347139150551436356273512469214292221588410630673171465640546762824795060248566301544259936057480360082660499530015164675630771836490112593597567692343975977419727312090498061812312203942153688848699753135086222761466526073102848478950891094802168582449930323673206978150386928752828526561100788080008070281703085261235721982998456493161319725002285272666128973532177918743763267526579379984805462950347755026205682616453254774119771971177046957743188937108056008759948797710775877833968725295589385726886195802804995629315904777276242095269059190016205243416943514902866743639989403129397516722525202470991056823123800453854834513340489536930506377245114773065711308901910614053516149404808333676392331545789957555282352036900332208657033074110493216795589877220821248201051822677503973628863929194819905087324391511205065547754376647575826620590901619610896695207394199811496474747547836932021814392938664217945907598940568576572515756574100748426971145413129422416101025740612654920114095636024767326922387909772534778460373938072349909604295872812560365886711150618228360802759307902088018756840587911473128874325955779158800099176705769349832941346284381746219958872297298468352570006363130343788596245258693894422560965630643115994882980810699652871502190923054673085967407847400729319510372679138114082915002528817682268981616628404152216823435075996887936709043980857922832979489625512050663425310702718639042007567947142325261876433374671119477016944897663697224179961555181053826699806456109723120695089377822685789445229273743624465030798394904569122915984585705996432067091430537686009377707488091034263463901379476025679474142678751627532222063984196797422703818396529649129576941127622801961599388337454285585622053137464444245123212114261583303903010896255327527904519238691586844722025421591099744613546896017307500743290820535051747550607009397210382311884703037853464921732188299679718821126063260845154363543789538267273523139882488250280291818020475129251958419143557143428123116478869426301429906325900094604071149676460498462408145108996764991621694569369146789993313432561253380384677622617666872404700586945789199807772576580994501751064861001981246531049794319162638785763495933632929973712202266843477753147960887850816427397462301191982735874910555030848195332447803767269477006403777960584241535937755759332343018203120497701610526556462273019712952988452410105204751430968120387962088195430642779952799003710088458021750102809854168964247875908606649151439875526383975458695266470093384804783408877436575816453052772774336066521812991613101527060872298385244523080455905413853558140043110653006758777391640581699805240922988039970766259614514903897392137829538778253812582991855659144108570250371107224793145887196856551281486218952381599139566334038863919226475731278028104230412519805713062288867088120610835547781740953345803669493158357051214510085684290815358480607198324910993688732581336499593716937421999592355453463791970823235375714176079708507281841433323138885470709979834933745560535492911891642853711098483248413921931568570879633806310693027582741304829214711354384026243785254523411820985298159077129402282836146559853303414865939413377213745750013130074350999828602133590452231267129641451340776971667070641055822121429826652724727391210219158101616155660692169737185273648532676398029489673163432060969722367617772857277689053637028882874315672107920362878289752672461716924888972601501652843757648710693197559696634632353229009764369187159385856872661266019928829644202135765862830093381860329809008909426447159111895285025935932596075658285691802583819725187245229790282890036325271707788775908931875457838517895057456939803674096112530269167701720553394701619832706763961496865478423937457310617731894481381403309745343063376910418851253136352940137252382354815539650431041320389456832075191262292690162486410926809028706510146348019302065177860685662876748480524232746060450935292197884988403998228570901085861073183119896247269586932546952902519716093424043897980053484382211493864664977048579700074378147611822508376959289402468381687700244302600522401978209374322913680926773223291883392543006925658135916391364183574171257546224207064643631672298668991130996275103678159577794817485004864421392604441699890669615371894036948196433070415447601627748579476645755878985675189096011243849903548034337673482075416492007681821197482979776807077013346351346553608587033761476941045802800392402947005235540417809925981561266815209482219484866269448485753153363971544725153016583332701367316991557870236718189447501341917077105999141902582167594589025495510292566645796433280347065239268086532865723296939496334449144594311641366896747613560188482070809434003605885255331657556791837378952299899853899439789214438488766309611390857459120950753570860302910517234077170965609767526735832468378674792390923140363732905081657480288717469131438674619486339634626965126600399973758777054612798106850669633696094807828955272802707329321801225611490692059625035818225538405821523664427336665679630381882853641731197238301063146468416852253200636160262449427447676765745349735610574540649665741813015471458942972881711092775941268543274808562894786272264975935070623266870691454803805537414569654356025979567784368018142880410765061753748718693826095279854359633211360324266192913241772856752478758630138885857103377268734377710266796096188918492482776409910488785072339877953391962378020281857178218821268586700804480246129357463586572402341310881052889857050061952698702894029253136108035272682458429718479898592508535666885873893094293720777251412271942745613148778804440331440278276206583133053006803726585501089126122160574799989862128432718836092249624841534146617769897139861175200220388932233455551787649360903222309116028826731031998357113700987116122035080297821431161980336347528512214745674320793161042591446334284575538065678818644946338027303228550552242925180218681643823209287L,
110364797195202842127339496224229595150491062683765582592504151177683607587118128797110772650149711800470668718228678295100569070847087622369806084021622283115052719652265093497610014182386158990103539030043515977437451636774078760713217667191188622389129963618893630153015908092560411150465046141309113025128144714297051252768985533062189970461084127292439665855058111010923971150534206835892619193019153456735366862132774206886384480885513146197268005199066857125794196877669457175003732406564293285711359828524314854351512715855115595591673392820396384756263217114412097669372026605180582234605332179241608432069815298149843777441615776492954461637692556647654393390567585729191036032883876146378563160003472176875861556264982943364289393388521920707888665706784521783532298708673140635101550759676435777963132158017038200535617575227479310449413006217022220323389551924596029902819382229706687002715200960270999908580167733346403073999412565054060312117225405787057879724991883815269278386397454979991994024971792937523692011967337870577365679151908332661388167708125278174987622323390488042660742619948880294035982309267311183193035724585015722651473901657065296888883498814563710282748978032595853831825631239566501080760528360840719985340521092788697294142791863119340279520404472834362366670246266769841782513178095208067118479013856960054190361913523262573562207653539305007065758966405574733031483352926708820759387242081184440163321075218489421695557716878402819649923955543144913434886350395097018255291810156278867753136372139765908205509626124682978151639542512263108717818043919236978386828305510777039268028192305098092584953276260687682565185704700113094505824257124414062020050561623568693827828191730564029302730455036939458399783237886598326294244180489702150266135189712707656892246724052343957159082349454449935320329671679948584688934409453281417768415637600081382987003960471019569944072556742429743247473207734443704066738616114467085865247777242913746546913632998791484210148687313163105891689673646489209712556485952468675717098002599196605106056076353273566160669642533008339350284225110771934700907399835200426751837686506941234315544903088655305966674396358799167224443797170242550606232470373214930399572751922371044060484412795373748873041804073034359622109439425200972346057919194907765961910504938769416858805495710757682661145220356862376654541757141822065366069652320105362472573646104534921912571793727386752685838419494268998085025498055918762846186640483717843554989441226481103158881695124050976260805535162457205363844200911767511199182428560263560109198158020775612037913921420672371555740361889864961553083388188469004333203595893610888100050599661829810770806637427353120685924928853544702051918447223974614158846281895967211181275928743474243380932436734831189248430897452130886537087323887835675996563131219891700149206912029941563157080918029675564800256573250338309444156153850599858409735557712003279096350184520266666802194734684677376825097921020275292940918385214178395500175793195251707561131944691862403808291955586943068739179644850604670986383803207792737983113236855772999625601540791985671321709769580602542796123387129618765991806113524194584391676559377142884998079934414164602182659028697969022807047516132509197731326205712928142968809482443684540432056946190974695148497715179870935422557301870045500724547956655076890443433929957247905467515311617327311968400676215573572487212364593278414323232274449369911230673573332034431146323399520743786352609386275212282747025708256794543045885585603898502130172499367567568587625290732053741455915204963155743816915523235840811121405214883510060021545597319335116975875557617925070111353877618017954033799769626787229235744212288362619529007265449908854119445347126467021797515639396114704768768507788340682358386203497210138392058080463682910684197260259099865563553883063128402202512397443751721447864316749691313211103753479911829710598541544406681692425145912758904722211310028429602889505424331279669978949593452945948083461410204140735069391303537241633702043804519724274208645281751006328456944495898744429480775960537897786127144438828862566621339533074946295209548411431437754905010161311826045974132224452613395909749406509777957510268237880060213811960516082654581882096436706698627821134094212217887159007760528400421898074225353067925376585590446621866525321989051210889491986072805386072688206295613130356416995842741991086718204681816427372465837321493680342260583601232455017495039577521446381397392943406313992486423642258955130292948919147619369534437611435811696394910884214966315294344991548371699896525552572424630071591269279772520203385661451069340978291672299521815561982729133548311848085245306568382323361219701316970286860565374694427360416765802829880210237208668904412647389526149331433902278262433467165388895704228549847900474685996841257514431162175880830912703675220048283137367013060813175221965333970399677839509922009654874158693344173536107445307390733388612947539759306397445615448416996953214157007231690691299900872801397291726206735172051790470863723736483617058494842217386240070292114696520003895417591269019307993208764494418041936824562829840583557194417651316184327294945958905202935888516527950316753846635191926397166882230747069826129773544688795984786807063147781278711349515433204348465464983918612695094678826081986496507360311008633273273275916903704651605448528814232776539937573000246184480767875117480034016517627946180913200531074055019502253098115726083618598232273855850445202160929877522356822695468221631177961543866735996038435446048854468322697068231070121437387497268911749300217127253559069413844903662600310359793167665264908740045334982294845075762668096785067395199770572300112065850673358567756194194537721195598801117259140814069348594602110658642720507120737847349827271687465511482326019792508820128947103980507462976844503888091760942612708707458311658404323513894686667637421998178042198853465073201314949048012421196370048341691356033318738925868517471948915328646002221325520903528385818724083268269329320770355273736591246310693497915237032773364675159710670136171939368857182976100545866312771355357962486864320938002943098470500563842939935669274769364907365794456620195560958790059011005405718639340943623726L,
190863669642859476374214324636551750568686728606197464143930475525815175535317571163438817064159021219070959760878412457905925081017210603072172890235349384633221219760884716231466786980458382535498283272489453729295501454912028625475901004001461206178311411579586387295933335144974548156162063077098325614731952394131014147224755297206832326844597610267450339521327534600477943214987982268931008733311616304649393356244017489443336733701269931534984250040906979165781213633315070099409136423745470926214714034046908917926589849971027013670979450309231321849461883363635887291403862959313954551960443949737510781952542921091345856517577162922517555143697371848285755819135449264067551182100326145174989164961564235566467955941652997770985870440211703861313103916851612089518332811944954991922998890235117663146266240533859377088518182844602766251200468733427649973729077092316128026374555325204716689369197713251116646707782267348876893613221612558308640129716293577210684503894391369038857787160310118858164892987556439395080286438659864251029684621746270136637546532887112747341923849635173506601488519107932835794095503554400787839335119052914957517390511791812395970484651356422524717348015021805608812799454299102003653411828592691594623873184716683562144856431931047434046552135624120815154598162702420403388629382870250049532677722865223320795685011861381917533116403550416380065584073679806827742449503594979434516509611710302773177701583681895039799039172690935145209767272354430685566640070097905341206537186792572908326718626515246120866657703882159155708085203008562873423114356340132117448373738293980214414631954826692106338854378710495839822155336281264362781775895051737757512609429145404820435992858893546921871589253698439748651223226724272059937013636296244944681796960416229353784907684942427803464987306846702193681995631382997780128212637038438719563387850142685503986430794304751649067124791532584904765351299053468242894343065537560950965293045797699822179102438611932582124789034367117079191317235511343198912227600903905448716184631926766958370212915049911518316758019240331877678390335850676704577699970264982088713125468687717831286602960109670035421984982653548178476393022911042396202317546524673527302479241764253963128716462753913115248746874603056245384488558876399850310553081832243491932145111057245840851161875292309351040764386436893905947357582542203075241588248721866282274547804129892152087659696021880569710743811387904421089731709256725223278087013035018726045547249346915342520811451508999939909339754425571304845542618147261104024262032765224510798940989189044688530504972350684908094547998841932338845589096669603526474025665794479792558615695280590560437714389316949919896986289060416804334200818547972607299001984038638069032225523310239424384851919659497377059725954038485245341037950155157566272485956497793519888375242655431491314556201132659740581067691271664225121099248399136034600349795583698385137777900590987000875855333224211919137037499279368090544297589627853861392616824263217182546085977659302643388188657721867182503923902136935039656694754697577294749566797745073034666836917079229758437032418335986758522465422193338371350686136318490514755910859746223525216308495921184057238848572823473521330792607527853330019197083742913973055169890294571849950463183242968187036759676051489876614203887618453007486953913883966535480930181733668332032189845434028738168437597513995678685131967794214401745775457358247061908964858487264815148945402405155793128029147168932976438373384215172193183344577666347772260056242307537644766662814417014034066568263238263892935353723186735702082054465067162119414281810967846364773767274479403341765232346651374304083754709523898656194579301596006119733960313268922377821550914762324933104425947724388711376490925555279292402202965872066880474205369752972441565909445060228055262172672853899512638212970046399346682595246951993311892217009193944582058652710215846728296924174186252578157466101993565387682791981446100765420975349821828371131450694895343308088325065094836640001889817706290451330156288987887044775166754201017355574372793905562320223183453037862262100973182434459816739462714573331362766501163746493241628036663786795698856988055364126358462984175935401013815777882640130594968751124061312131373893962034647317695481469133272915891680677918478280805566489212091003742348855517492354026978008035349969693551407137544416751229680342436408554934661079761267006719229072449830110974179206554945552401932077872321562019192772897965738902181504941251576488335822973237158399832131827840527014517058982710020947972769182901677918463106102577843732862329622966734114788481765634568857010070845396085752597176708593015474415896046264893655916338189832551967055774311819303738455322255628527542877407590264544712690770671712949539851548664611490007083014113309912094702639271749922902307628226495275463272219148817751799291247014221816676847638477301441465046230256244886711323460254915002869135577393215800813673760749737052011507868098952271679548232554248635723924162548665103169484392679903484675434839783898442144788249829007856818879795384610438359561475165964523793934401696740893637567746171745364657180647141924765921886974319936411308352767904264822112211452490452833131345573958862468712674104406117491937990040826541551416324109147192275770473401012755969301719714884449934544224830791054404028708441307321454782817795685170107499965235952373966978497062194026135229390539854333661182125153853897783087228678472388988771640042207063349086875465067972851985168439492829523047632750307525161249216210077930998583686153605061494139736293766744798935278092287857189845881643727567850510836727001765906315824616773114666240508545625249747677457100286754416808131628202931909801546459746936776670069068060295989590921841343448504968026246214902374018055964076332546370456851278811115976058664627624270336703754422682949684010285649276475615760482238953251912073453252307510029515049787235155837409157237040955101629943102489773203685855870410123311387012499120275288908438078930101928668944211622220910641120422915538233484185697834561865981496471465305875604714894871604349480604625414615638496260530927328938891752627561176808357701597828194462034900967718131850662904136590942042765525129L,
330023463421557417747670851314462602382598490218033095158325101971340347295784724962044292838538704811297351316118097531648605064860588473402601087272497988699928416102600775147655136432748873929198134498175890235535355334450498697619678894608528898920640870512289157424346150958442566404197824351640300150246684485458354347433465077114759672534092878849992822794998233287108277358267156493482732249458391397002694048724414885381429851413154974686214779494563492539060278096652831607601634756818988058240153174073508093675727257615247919958786468517124348146968614753086501252964402827662155838544808910668284536243578979338757260615391040956669420746112001140277290605277725763752168869047219136363083089872592584279905802458270079698838149394479238976089026467210198774957685641725418685543390292008902781119066670657801185776906564252376451809882307149445686198813009502163271990932969492087505232363512886906790978657893836066586265294459081688562729867226508915189822460962194360180039396165253018941374475363528904524668387851453709847420046593558936779408674826101294698884251164137873334253736303134652339220047625216690048393602996030638323670556493321892763259346803761614492405728800778971494111585011524838414811806633901001281781042400641173950410967917164200255427406175409320859086136547061885820536515731011113154778179481241743580897793322895019487758999136321346216528756493871574336878438396771814710232273759146901040035125211091737950846880568935292427436064951624145284001301496236229368901733102285872966310501513462431691365853168514895900459296846597063642984938090348908227809700375898848675697767326269106019182970092952684977057081920985126790798732244190395617982947294555871989211300495454157917825535122420039763141506689356283520868540804672077671163381196551972402856331516728826468202358748152350445050036315022158085902162758334235964621166463194411105159372667398064434371541397131063772124706539936311540282195444647477845473126367362046608359179750160217286347943874798546186569428866170425025381951214825650093234637200065763571120353149686134235267851021575705771371473815882567128309279054212779957106116243893200797648580648268873404444282671330904605328278371459005252945937088103604509099482372224836767618837737456890129495673618933724166931375263990006252352956820033153129267522360565944115701280274692411482722072418069220961981632418580446602417015408247720960520725427031369679352597464552462462587236406011227415584274137874566001288792304871211553608422565634363951899618061229638524269511971102199923605506561337180749695363785255944038425112657631226166406662081287915365919838364304622777491990021510812172585107376963201484979208322277161244079438067615723066448278622393883429009963819755967067429305674022455124863437218457693091727319905170192617873161260229413223024192855166734313106772645074259114452398509139336107320653654041819206149514636693023975376487923474715036492696167887654022529700723312953126857690714886155548428522222082522195807099410087601546500326880454741950588892142348949112634621806486200862095355673779397225004169388768997818136339634082727563409561263362218098072666796073356797894792696627483369693369983969691107039705543476902176047282212083735009260336350546588864000689333712133895556061975135739894977604220719427908837749563014373427368850453893365237762573637572347736346715179917051991013224342915844967887458363212154319232325542660293886536530365455057375444232058788926147696287398657008904588930013209744589892234627989250053630416445548541061257397740404935132742449244615136192522650810322336277946010949898210874807349252115787126809557026080074857851057094511003491736047417946931250313717133312425810356409540153588798591482821326542488465637950925122817849713117021705636015810530693560156498479155560577006708260847025686439957815168371509460394527674044634359039767055347249714852867640458971994989518159457647253339426136701918118765318065117098113697591671593571186967087359232362580458729895384022302954701720006479206179127835408214736539120222848638843859649367687393700152586296027044857705665417976137410800616431219307253634796936332618300866161534601974010758841687606389990114807494632568136074028485141883230541265701706328051005403460436669484914106887876714372652417280722824208295049303718382809552050847819902485035202058992085191480146435779692485989434448277613021652330140991044149174570969842927287559498852975705891082786925822493863416593332457374227206321254921472424580603110059437642544781344265867956316612326802354901275961120039412311678529116658397050034704612699652335223706334561838932297200768794718177104190759240103313240824693566548471659546599141424457397101889130492432366506141576650619197832016551887941975792183683049060781397960650454170924717048705616261362878833536594085632293561684659152960948242399330407554304539474382298038175542149262580428874215385459306167982695749705464679273616229061588424587537077047147629887275916863935012586456634566784568096520485622429722911047449026002436857419078381412719029149970601212311647128102465957387806858352078058166943078007198161249988331521608712803258408282496109019683896170455079682609348517185677100191966410861035699046503641784325593110141736020222297513731071961260138032920235748498244395314535679627795345007206558387053434697584577144420413696476815506265872876314284585947876577493102277250002412601756406480015612748829478824690346503988409206072762205947147714310598688252677809380031397984011636889110527208644469387380227017231537738310139310288777902879394079965037327246617392180977637404948753177146571648292928955194481014574510918538334728594403613027279478045930165225821957313962407006899772972814525838949817867170586882164056144267946859723256660970767994974081245200562123518189162369019365056619535578102015611999378202431307181842034943267980432910233216291204469237690836266996600209030312147705763376504473433089413715245061499529249883528117151619869441088732599642039631048581100661485819749490740843263233562652794930443628629374623163805441006322093175016296886761541828926722603295670711595922218270148850614092640115817762935180589273473144043334309343720581551033873802671925602600020849448015011061981610989684927242550413957278675255366760839065548693920816L,
570552035558153365971865813006178963836222039226507858046493257895322912408052042445716822888880841206464769357406458383022776583534684425918852433851633161662653586447558189319516658804023026527941168796077414700648492708452409301757054342531455193373873233849244300881118888624737086752027164455366357280906804420552729500500361694988786497590283751472575700261117025960381539793770655380736924581276586409837368089125011961358343772662935119284269503805113701954206163772852663337735609451071103920593723723006805209767034503388158225795792922047985399787562383754977756109103473131631738058505047123990728238918268823567762864903297997605904974374693413095909500733262452960833358977622989404291835801161448474875155440521676929353109995593596323021204172802457633649439760522310663857324660482020258330438479466663108240125780809118134858219383074185139655666291003292448227563609091739316308375356543354249725292297459387037826544391457115538325908173879783470228149755336451078883876989814014793037156218781431237116685588661466695489748248901658826494104895408890312441135745998508892167305074038693602652028017136132335571929792022290939240126309040277366887924219463251133254880644346011707881797492483467759526535723634606936391524959931047717418060368896650325816677454592589857892080218161957106872539498283187503417732088899574043416449284093265733333466385874370750345302526074999277481907042149127787339206967634511349269949137404305221229131459095481527057894558961652545612116830139947067916656086737231785199939308898097381305198306063232217060301320308402518551445214214133743312120350825665589687356806082701790579740615411659897219647468676743030624957141304102489016065732470898275104482798162311369475860988149513642667975023765977473503496848386018456035132420706082927137163403087551823945520181257280455373007660623994953676473650301169665353882993787741710205958312573962331044190121578638845330233370559822298728613932406620751809522558384018678720036326656852029442332859408311989958963981900878233725044816919842319772365584166548902578945739691201283874924047015275647483298731312754323974861379548245024520415390236900127694585156337189569499422013089575840190712775151974173725745846896998680642103637727918198608299502537296039922218871016802570348057164460997149256241505126178236806188009046854827551933676300463341552705404832879090637147593599420553717574950723685101549452152755366181896233119082825301958217819797670707926952786761839948918705140171080564354237101823098661610010388401875168484872522252190430082476638268472016136051746378903395998160638364864446726150046283699715593119955325898903097080602031645572155865057901698339340618498547087855698271970082417760679941834394702555519595137982028148154561866039399655366220000927442416579975610538582871608849289299858383141223558426224589700165962424318743761774324679719343503937376912914934824216720083732003512969844990137518508815697619654863958105279193664753266449835811523710948980573010864792824389198913190728270249873966877430066312595102890885350800750583227792402012144691394606550262392924403793642266037736871398370422662884378459973407202403262424231199182953131679796185269429723433748680202464485560160687696780909517037927831462455695511413924998870152743142938440222509391170400554261027522581120564478223893780874517885620726227022305381237130958290752515906498509304037804902012921622094724594231715295995929005722559244202434972892831159460129640968443972644100893914825483138178073562363447303872681988602287202767998362535711200467998929235972538974911459287130782482717336058601844246742468878514794079473917726447008681775199025339298362739863702472133627194821507587142011006405793728297508778737188444360348966726034544901619652276014548966391835748746583259655537681252496261346735152401218853717050499293371360961940727297557614455213820859956514864700954840755850137379805383933637727953400174058469727425151655122914211798910528241392374678794373880506599250401211973362963147606543919441711467270295331624309019800941843955169865914288507855049891483788933370350694387227943360711929374945885048504287339156354735965243758978374317621759427814343828283004821900979105473015345427638584777506724421303147232329012036125222372817531928653704463701445940893774909707745489524801601525290881022116005617856071073516259822537641924934760379431670639764416297429953459781997702939810746805934752985173441575652402707241053283856565895818335231801220943479358360184793527108067672420857377000315291727770548420217560749331511366570580806009475110231566205683798377737206882956118034779059392724046562482225222467136558770851498947507816218705850019432485397192698117123814214742792185261350865647657582827257836574586270777640190941619255164840133154489878795214387016660800350719842122170399829647590852818271815602147673142821898615887374191518899437061090151489196935747351821649408130820386845886403799239960185455426777317969731244888090967372728548844239445044713877776274237564877616503328795697200846227340195587170087248459704025011773039724567714552351978235205828561728231056709939728459186538560497643054298819147160474237170961676489988344028176259404305807124955208990594388416849257382783347579852339896959172611368478752970197498869826864434242283708263364224869475655532889761713891877822790724355390460331608040739532378765165462767040363102809088428580186250750900021971786525432254607247632807481781435225225236586178975645861659955798495926788765463678605365070130733620155878695334165842580812716216845798285377718403799482813321538687743470664614269171307285276513818629123366820357966411852145566015746990934561255110752992273430791935020308801568515923145140322645805838545531501412443509696320304131037478578128129489565774980805450448456975379926505285990367108750468318788904959317403906703302097374265137798365889113872004509842610573584050080640279210517547400704730652951843430365395027063751341818852267792009895190145687037779012102137533471909724326588113717205656854967355353449809627688295484344817009755788973326535212477172558208698275818588391441514558138377182624691712135816328447548313283670649896386185464222988022399945274692954688046015325652747652797156899277575011742017170493842191613664200747448418236971008476912930883L,
986221892828215049632141574553153097850096544581867046384147260760695612933497930566682879198781007722321343103533018392325095415501274961907933462851030415778065973529438788058963494348062207581884987208423269232163896577861577968373401766211368487339056050770043490677389080140518630768353567483604660989563902253612816045355565454451560079138443804868027783257947601463490587891441391011926282428888164546213619302426053533751257645434156688052755944223374329862065098775323834519199267884239682930061450574020951998170240309676042508382842000691047103272422926990504795040869115813191656992062863139424427029327355783626610506051816768941540704645546422683847633643422410890220934543494797483798754972373912060651069336928510897190961603602777824760359327969307759123971691385662339402787338882933326107025793261245643124284946284034441825278248779357135906219170862916010778773329337330248173497585309889116169116047482673105304262389003564259275565122548268115565979344788605001160610795635592469792796128274283694391468762008425909044555027503678955863585096787963308113668024449336504563211389682040253869578972323435174910378179145238650725461482997366159673034135388263095273326791267281514234735476333996947350138849584385543820455287509498835172706385565594076215395545670466767005928525764150459518035152239126194925853822040604709846987507851924033864711627259540714966066399268493049767910012443634237132240356819393036207591950671317863447733196444878402927863419971939028373900255349849731245238099107971384325525206756596284583815337572865153996699816496126548005821712261782730045045751893768985213483618908625531473796982905681277936027747306205131223828483511876953460657597474906542949669207551073812904555319409941299518538131960296536029586638070438765864193595593849839567067194793368792262000034819041916909383297069381039251225879567608182381153867530635610432139392559282548830092402407649876049294515023142015255645295019040386134376343437336909921994964183795886268227929871054600012121755472466859081193350833714607321036584438452058838670392535965367274217831879535815072939005644157228210798386190601022248284188667426500154221754484874799685993853104060727695923193468092486654699941292089814966141144735627474280894578454325045672372300953156255173260050082387827209176070868430579916634452830435294105890688578957548269382175609277003258143404312236719031581119088108487475725637914523241089890182318814152320610548609756348754896712944130643953996048627533359782139098062228944341313467409900174520725989585388307891963460174006681664625468520343940031106271016550995817242194831418673619092075331958649796744122406565206000835905811400607567671187832830716174926586341917214918934496857081336137440854862510283071241850767249615390019034297556715702311074460670501599328425174165896037539611598984095532204969784139892694068536581559590442663551510130486072521571934334219290589041027255009768000148965398352788801442304931847715652705107581691704139146039012578643308729855556794727553711199351236127945940904601418503519090127878587452054512010183023086266437254455626356425726829498774573095473908947715342424481570241779273078854074593192954806426046352518769490205047414409673028487374127696378760279994377212473844307514182481233417995414985409194944492767763305151766050444507687810595524458429984860618954124534736527295644573241685514980213654511032444070153651841384854497993787000936684416845010981177102005890066550976323908822114968274717886985598746853602760147566500575351269889222960392118026368775777746657573474864133532224578670811422511002359388683823549012699279665720033188966034684462894779913452981194659352487612268727138866877255938072691426927919350083642754635946571621061176979106575007570531220998822072986639022859220086138293483024867275829404489827816029647217282238224075608803478510271994980377198349963329531404217506665463329553656375870410039444857138887184633727189402192331886303686684015452808786691765363915782045857950516787966912336985098017306500355538611835905317202692703561014640094470172961775072682736343830020411603127184774868682214456987591617574668330085463493692749244721257592061885759469795735054281519681656058590917243196760520605701034763945073116086551134555248275836926236087357442017504459907573343586893252340626084029494024333372619228464746441755631343599349702698245881359836567458699596496176474733026443613432984071780891346918176026859966777664189778887738837316026584713378965437839794200959000602913292598331119671019215640285308240401097621662451835159065977825629108529486500394573145304010715592164046336509468519100072226522401637873236244047003531946814436404580644153480448041174697789469168969086144590482938548758534292750334314225919866172024067027891324808290953464155295353195664708993683656176047970109065685906787229874881159658803735466701953315696108142729922476279228847714747827401500026768950350087719876855577967236205332640603970366029835483038235622663888132100624387957497452113758505525080163792929351875934611424650253514529801391479444494501963845056635025121496528398174386648643529876212938311112995322376520511841739930557370936540525596274012076348113979152064951964157292095623242837154514862313646248150635326291187329275913563439696078014604256904290364346953078644388826103968447988705699799802982092883949748005475253085675676704859980592302621951572031593948031835003293107443526009594398383568740042267769399454625160002392566391347387992054662061707255265225991402103625355326050381412617889868334032794947561728505820173787469499560964861677037153982230667361903477302101131736837444895518603985014890587948201824414472012059551881355655147470444959270877619365841298540065464977417025587874145955631955118857100576829710851280262047194615869038755248387297857491677309289981990245929080275270242809495668373547623657180584950132296747358527753036205795478779788040495750972898096309712366714666036813545575429232922282364310733475192890314174386619976951961618943764896938146105726695384184620531826695177165993120878911818820570831080857888621172916856513874594822806920743597575586477357651704034918885301358999225891865178970429352490466387525289838411634562202958311538923904146536402416845435103684687940800861644681632408512526860849474041L,
1704445042415391670735754282204567374460648494794008789272998471717906416866551163187374441167892028288851673942363162402669824078613509491431877238239614780509112486160816230962090646216242967411513271669501762173017058931261866816935091842668096183662284150988383276211653388915158229027607371223425405791714137433490920498504169837599936169400301813806273200469258598783239659450723913240654044364232984260519816141652568532102275619883823956219834442141084258396779227248623820854934466248868059095339814740406832097509891659285416539577653333805409407727513611911879749893256230443860832148377572760674485690751993109252247873459826342672203329811583364994395124306326233102393369095319631923888702949408006314244721366885640268573037836351904406249347811015331967200761026789385282143274465821573867631858289412579285103018921980140246241397894077045479793561836432790783618594661982417603972762393333760551825671495322670352894169103618097733405943055735341191819351836299163394859336508482002405849336869788955794870890067890930813887880375443267936285980188932465649662260778916449366338605678741988972476515516084571498197812163782252639710883168435753199841411176587477885207833935424864537569914825045589674255741594961828918230528972825620267683536455010513497827953241140910383718468403231379590923851070387136236101524735585864971707941036186006089049458386510054224328748014885401758233170986383904112989727215011318016965637535024480074374592202746084989214105341715616899698051205764763194533906950884720465720446115785533404446835721553394606394367783609331439830365177590724689316857227784635253674370661032572718392758394298698294553942133848400408632214471651358173909432335626305286352743085484651356003390613821233888629376949251821660046037963035096211083642168338038154814939875872378907498128874145300223571237569106260918261575755461250430424373183469477472526255993388890568839794649121780715567803635939587835396868843787474656067284137172537070512843731076219449129181050177022474223227458791964600999820928845310647066162917652357147392321606431718528696586891290742037410849653179538285006025951962314675618999519272953036371016954798922876612561768023097515976099919008982626780483278425275260194576212717448073736492947743510704111372767216934553087701375929842767801861272129112029268473915952562286808412341761306956851894294924560613837174824116069611719277131275848329719842216727192089719966668792326241649183992135766758838952361461668479228289774698309169655595224968508348421690236031368297396348659684857990851266517762976902713468191554427836889485940684149221733504856938689563731255052770859709422428942815566796660917799058688969404506160606516606701479887927184559582539988245504575714157667978348605710943923099271361706131140464111968108933248904653676333777363504299301850523269581317052046716662208395264854056471131024574834479889751793239441655932407167242687140135045240932171371493125463322026593565392325408711090253014703501441981810089276623064271298993216799897782099834876419468605521492841917346461418349705231112198225152109718182061249083158224983810062764592966960645741157046605900028265063139246472378894029891800404841319637963715106950349894827767830967803632144869361815450531347007576176233767021620496993798283338719930774870764464938091033059384555374131279596694646469454548960067634873509922093182308733859089393497109902031184057244415052278740077837869184392690625016079537383261595580464013377235355876238708752525034911984079272438247851973866703443032691429839087646250341306620390420224015420506095972166217586782780520300001677043963674654641280534904169502011572054683022481958626428331698616073286789702816779559971618917562670641830088224507852553723526352305919211211899414381963810610305301114915268097202407157834488785574095002878953748145615671132745255998684258419723716241908480879757482834997951458372827082923675838190812387144095828685123962031425596605696736757015296051784123593360667769799831579037167392143725856113626285317483398652995735732373001134304556648918349131968435410396003603578614859034692013705953910572756642459978302101946248882927692135531329571105218876951033851603861347264178125147229773219103004998481772696568240991370951511970532350006184645279081625862223274403233771357505465635666616791875408861971647471541045010525331129584678305537456467806532918609858163701948224147111323691971786541392264932378667837919750182341108625608271989042036100075646771121380516524109268676480417185215614598235731159751691290123994053426775585426684629208758615767981783255301425309287551681243942309240180930686140648488269609292295658289964514788743509997879252119469047615203743625725384852666255245968390366028719960933608714115231116697423961036062167440314267813243258755740624525878463320992097431173789849308963460173456034420191946614886005605471650048799778138571089578069263044956492817442194419208906285528680507560396208688830579261254983019015687971848098939912585024064496883522474893953182473791690883159566963707933108378810865515387273855068539661117776848045795455698173025986054687549488194566387357768175807358377625930872804000791865577576607331289311401456041371793241505228923654112653141513126448848604870083700414469503950793126382605358378126232893891357538765225855766339388798915875946585512111537799710345537898548957493494458609843545193574429691970523446095504421433787162185355964468239907291873715495321381722652193280686344832075281192454115254581955551033331015363328271601403650853361074315194231371425037983433140723307962033259502076155754246258342918307662351352387256679937351617684428408891441383477487394381999220994281127318791674904450411920867592107819109391286113875767265336456378172573917776463819201742615391847281359846370806119913534068285243176179646323125760499859647918690368936276945905238801429387186307379975227382226312265275342584076512293522105164857471368210624168951468128859513297210351285018907049781179095630232200121018105537987749580558510396901569183813205580864680071111951242998795163503022014849794732232289079868150780588648876661733086116122987669970590820730136400686260356765151446648984341730686982877919143080599956803370020139604488534125043255375538655018456557146797482315336129082809592856811052553544043L,
2945237995908826204046463825334139916333627449376793962148442921126607211663225073758552653408787032790795037058829795908289812104138453409018159677704168113151782131844595678643827614837728439826775330865446509384053701986067970889387724232184570464423043158979307236454298850689735205867399056168778880571768998304434575770444852014435223195345046326589383422713312511349893378999594876488647640739688337611957333186425913839786724738127696138470097500479777660535549673555342574955881465729540803684142711883424793210655994951361552561738207999380571223483173478594346425270616022652789755117842668613751725691166580422652023045239108310254504887818307945887599823051302558427693028985479652157455680249222569355206478851802516541515178271268669220389908935353544421592945448792441818864781715388194453838553318713100643020487120921119901157568743207897019029577332019185221388229161156356646014452548262548938507167769170719819149133744805077371031727053887445409042985286194258850201421452698862877518038216320484981767383373421704484860232790118683642484313958883991277665004553801244477690856152101643380488340228565089717985860538840016137351371788880147752933320920911174103786714789920932993452037082772393972534011240590941812335076161812948951285736784801562610454683107815715695282086161831052149578768894382064720909647302359011134940331422797485972759337167025412835835967864780956237526132507959558896622445986607980237086276544967285992753253321062980150027469183002301788376926840392387862726008067205393070603175531052209738221137558394158445556208297095677777999248790644885323022481009883365517787890925200626847056392535669246120817743474753672680373931967952626405684967429949955197127242455691918103959944565819278009366806218903266666461772638883732318738608941602280736728528703821502484017306656667985899964349650371360630327340685354400190389363987929353984755230292011106477646243837640181650812526016084978208450433092572713937781454360495016232663158986865029909103104495009738075144484302845522641958771256907743213433849695632660086744646984142585077062180993195934154839589822821706901015488840961698127334131578507156116608084304289855080062623526482923198975499203397308082655590527840391193719653117551709458098772511039617359845222674040105123419471434163018850306673619883317011115503800603226469682791741269756836098434754533272574082913922907661193161751011158210511968259237169444778173335174075412402750949567393452331927729212031912227522982865921792745016099568308833405625388893835566373930880382540632962840171262146663620081208718010351052445630882220512526680017518614469415466225242586236389595508240062039167072975833284915700261139166168179842317478221943235792000735354337746257959894992622725935748833242134464335791411348614735928328901487280066875442844909483453907349925808318167709731189314425306146157320876997803151697418222097689605725833702417584392633695170268470883783090973780149919579227587192584636140497406747841457058356164799827621741440447116741361080970607280371851797196959173587161855566795335454350973589621716660790778986013211852732888793391320529779946550123912403302263861792055817026552706613290761989214161859648690444707817498191389446811989464106923573164242648069408496402339710154067876352947634686585940135547751561926617365900075098751784505922448090783347085799013674168163709050405441645424373967054890045104269058395535006305122437946464266784132608195873847653850271647628282924056306673256380295957697157855413836109436440964035220341474740535152032140651856410815425698000006841681190872180334814286177262342961835391305973022224209218380224430411169311700115999651703237225211056379921168601202306250653568015045051271613384354975572495961990031379630007504246804840535646814256062094290727234421232770833093734259639405704281901933443652206347208149825172440776885672724746121484162989945188753643555022909758119734599145613276069198749402428227355167200708547871675474832658538051313017795962795607637124634435665519574524409424997554585709792247120115587461756287474183296397273652431624266873580521081935793249719244100630398942681540091232619902575610034145832206261209732411912745812644712858444164563328345274376331588329536983586368545769757066524375322037278118967935789507785499782936226770108509695081877024997245882627508042393800614876717123970130311944235005286137408526840930551770989477072976852162600725876116740495986004114395529766619208869572336707639660086269700576227872286064027021134418121448469386464069445376575681050969715936185977051134976840868757896189716336833622383962838542042972872941968548918050564931664691918344456518749127733415388411431451919438737406221170471624698051402946598927730217338672259512919831832547109991222357014328612795335773016611306224209295810359880178284693682431988864929613258268448376904658773008931832851194086416874334554359459425603695725128808812358173861610297041025924501981291135852471257834056878692221911209577746396340495029509912630954857893974259114350705100582547244323015895450928542069524975103782862892541256489099619750843125006763922770926411465781581362038662809131624931009466603200906823174397905414689175287003752624085271316048801100593713733561216810365386729841274950341012815445984983753780912149486869401520737964736842712006715358878852294285873695011085910496890794251786386050287393141091130667821226826213484505475535311029971570278903239923224062140882916136360029576122587923105304159592008423481727112887537146385403517346738692250642794460339674490810180203963077834220947857555109474356085307071923752881094860057340607737398464888107704171266412361045916363796927843800558626445160785226023814126740437614053379220330538569112741103685966875034364391593930710286490700647041943647901690236857833460733524619201053520480351410299377076958976889152594186592081423258257932176912363628409501814411230506089579554810041138390251655120015729966866948397895320080089366833172222049553289090779061302590587315490632731833148746757692366180798469316318076371214099595526318603918462686586750116287407694421495950099626416631706555295268293368794408597955828555011132033263435120772133945184357713257358652082369417384274320641329018328450202840949313189044036119074944407069999083636988624704309980851934105420L,
5088465803138176709112459244909679223694172667166792459444300097044731920992889078306906525410196722664539767617057025824252553713719177324747053412858541827660054393996927507614688663299171746415711591433992002497176238332974995459181212180706588482157759991515917122600999560137981881986614341032747015592271022419869330622193490507599797463852385892883320032318976965087660751866921410904883148951197625942756466706126862661153426555666892490517243305720280961503596109027599390592801193278261028771353921992191344711416892999694850311872148489149673001771382840421838682334600846776736229380651676075670740229459962013372897753519140861102922413472690815463775506888509618860882712411466675472245300768955803074323196116867232311781691104790439200684736613049873245152870917539894315367842650029164232269344966774151921334452356160153460045885555640938485422203835760426805235167181920547665390218599223631953587246533160353837399223309885862726372584707642461040959770451154743331473031420954330273302867922310114336616505399518921719115110775145025095558573012235688009993673053119221179040486276647723577283539298307185564793112094942939603536231914281266384051182846205893021345576792412471091398615339443863000331366078621983441796030436153583329583919250288137146580376563020292740701521035751823672882435500389883212248241336775944137298084682669055641841091005425971457782192668992099897283167575317299454798865883284826337488570883020968088411276784266449938544135927948029925224286610336794214076935686019637848982504804834078211177828134869710809901874338657898070385304185927465576472131623774099485875412680869913500702609241307481915236548971557494114266963825722266354992252082831622335157271752401683011289502337033591049189287468147129487499835708323164575010200547455727023654103041949762604085085228450996950583449483994265689227396195633183006764939770074609771154316351878836834875220787931519655734823058275284819175334993867634460348684139635941767216004946096277557006868216580797376595763492809891340333117698417308386905852295635089382221810727497463425126510593900464975023270517641032845656197311316251623635750535946473174646468726536146140811170917415255465446176331167363552784531425886163581488315175856783585186401731557704578041936295289475487135146976045482584580172087956248891521845483752771551028444468232338688553712432972014494666437497588693193558320348955380012706491277434396218847121680824088795077031278433472145465989154027017872461770461495627436183835065454465816253029326320287051562409125213725439080956847787544011013800929930400658033040962614658349873832755304560937296858502191353298577845692639587088898564991470328187977912194677688142627417285085922131085591729978091529859236677038674426935782462239100294136816511171419413502215356736315032695884574983144671472023109916218084158303233940983809652122450392883607594296641212319443959616813189745928131743312146796003185456639399838939906458351237779706166997872140855789292279686381532856501288304139144808125800294346256517934911948742526076770076231406703260549919020305663531104179622843817860323910119343836666301548482247158439556807554615223243271951302696946374332862451075610026690487565456885319121359727547793591955009345771830119472268773846172970255341310507682854758309268941574963422431112345850108993868407534810340645730526230462001999157032403580799016426842293220558608427470656443436960173949556987079073282449797964044160324712110669394704559116677349531091703826573843798080147294090181914992265584123780432846782814119679824342539110780035517828592678763179996449267527525198132519422313064415364526355050559193244382704223390290917796715383202838850601772408185892213250798440728097076898077844125141864581291713898944692071145325380732493287655189308164806437867429855796568928768625897729390465388082850895100876546948764747008136889303279503774748567593092917930300540162564590147638999876539638127943218293697237278944008908662675008138837266864113958923132002436062207179834222867620936745772305478853587984350490956812096086307507428580429839569033527896441026114618402152603611044584108537134018857883930878547155456270054796705716833547823554745680436606246554408825665515273500074427631626593303997727959063526472866128672201931778379773675007852468227419875462099719667903802188235981998303458047957650064885523351069911921153645038156761291108954231593473528177312091474572230483565866637792516643220468621023971840288727667726183728898623608113290339285224702500085094466295333865695590371253147311351583406672739901802788758933424170611599010137855550940286139477681649298622685247905989379756898475652885682104436634479222961366122397593192262913194869723847029073006816362131587316850280082654209650070806827138327280469380920370500731765574485003143831896277103342268881361615586452482014005446640119520755774690062577774791648509933729417286711950730817632480021724661550895675426215712962935864473494837790917658514357010080279058389767550771929683086424391887556669165859544942476390866929987642975308911018052439611159304695325681885342641464382553451944130742000741337696266813559564170590781548419690134598689924276566973318505040889795250472627281759311568866973940690826673266401203071471428801941372677190351244264482126707465764938215058786374527549830018711283729081867469023229033176647023741594022705631479685505558654014207461964337057706011001890233509028401450930682658586009199935576150270500191234206413677563527975150043009455984924361490169441151785919286193675619294951301791924286047864511456225778538135395071908576632361481437527808831994934698111024386687300864096070264323456257275640962530593082127306399935905792609123614087089402782300422976791507212286954135507187471305909332409082778983055830845815833284847858583412649721886336424293045168476639117169692147909679584240981637577355727246771039758379288643486471122687526286300366403721137502896434781179898788482656224852170508163000736086284804283619974701327251283449827540216503977772833634541026448162057695516671076473052358355534883499502316794545505944729741071306362014332652012620231773759817886559444774009691771901522697235233187767879129534715936496552941745694538457116863029945334395844986379102770453878536863238041421176012636138481477769455145L,
8789869844645971241290131158649558858998682198202379484187915196443754088979063599834008252180677371104540203061973409743988169730392590767915524573994247001501065065568629338042061508584029263610553524096969565479632445743118247101105508549253080224966061362167414703040648919141676102460753651363358783865984405824316332591256607360031856449677469961367715731635997323601849844853017248430729738698953102644901518118638560969460615339294896910506285176198739733197102479606981865546337610798791181823026585028618260764298375812380131313219091519435422991489293862512345730760655510385096675688631482052197978002162103226238370686196259476377209448717725341033652103285887686514347407502942480165441747797425997152903389895087886579078716006316166273426289455950079457116152752047216690635331575062733965423204566229115721002650385753363467255981064279115933441593480011752640716178577662881207368319496807274303423294835062435473358451673911926853389119501527151945185738249439071995108391690894774755159878049246143260015265715332654675195604796523733296721192478863806121980456024906776916751639589589066606211481951386590685692983118135962265552536986210984141751459182879726088565708738933995552791553867241612435322549010289745366432587100792478870212610587369107017315004785769372364330403880277586408304416477557491862978194841629071046075861058846902706960072310188559142664604428440577410412575498828237295932394161881653370628500020849273640973111422308122144127744903029019566293787702778129957137720600837485126907395988375634856068830283325181468449004147314746229722053516820925027830134835477709437896212232005278380851336885239456114991298942725735979272338756492200765145536280411712978675461202818979614810063467102406175016913201204519297695023011804330312154390467294385611733677265021949983655389286780175125255891257490894384452875058092568835574931002345110840187120706106276899102387952936852232916191383416592334430006316527106534136969245802693898442260798980630741230012207237415931110117911138066166657045915212568836988767869353211070483308893864678142316859191411069188308896491085118542835726094059711316691979519314912008164795564335577912941793200611996269498263302015265217656249808893865753636536786811147966273487673591260031227632104604270140747346137233045376292771568609974307708372803780809483929086995818998542827113232806408162419245005727815433839939199897178956040212663701569074082784064074540884874566419060379349884829587136031479039156021465863701996440366091887494108724261195453426682163553827317164311940115417129901922826294018315783489084904222778203174466119285506421083315279223398854722762499734610270422063131491477082106541127479801157558901902448849081407934075205131576516475724516038132195535783355578874379441551870941739702315357872503887825756887651568341431021314434416667169440615883034588627347675513390647711879834429591181807132398701476797478376401447452911542839080893285186293949211513097617681330596026583283903011784220629838617581416718655519934420396714496238308612013218617019681999443670127848629545151176712457287375551322101843286685858297279433206999222829575590786886570064427970902683744841195822601706476389825899544519835283522841049545824446965647968877193752814482052755900776159063518019718201769711672629376636404344637367914614702686375727429545211507942644715285129383602528603789820458132381271757186427282258998258810564365506399476234281757324579055502129234774905813055512794202776736317824593092607817841013447082732282139027246524590322576934747404044614650770301626770592232992400779791566159471362674049681434689222214034328089794815513193413963397023418956969295556279531618632024896461581246680400754107198140223778502516859875941971102223463230327850561874293206218460669307196677132511664431324139392335791807412306823446956014749181282313601535820155823661545020687528417491802604170934640566014464592512796996865304051366387728554088831747663792743408659782856544718744619260711184786982167285879205979467424680461723721680725424497729544282461993306815028119555927592557237873051228203966566025547999090685272131429068103822210804961404229586258285139286864882800626059786665459827253375256871685076867881204740992145036516427512293728074788509885420140152428540768139970365551632142619238654934424990128711379149175871666598803416022954541545917766720368487080008005888577544329036192134253863036164544667947431619603941292878073728723994082264283123084780750084095345397186206382074129253988893320155523947033573712505887266941160622011474894446236760296511445467271666970341297782313136749813733661599743845024733530688386204675204785589954279201399822987496116639943288371274055246445708281897648613643034649847373184595998129290188161515361668789844187375795210833561377979338298048401692977588448401753500493559205601138295766356702209227046242878858086107370797244424471547785460659391822991592046218663897702307456262324980377606529459004968625651040519442367980517899500982885733912037658046344654730103395362575491414990876746916896687044942879866571330248757595936267809070554689963078736974413042033793954844062903418747384903185700794922392907744587755043905707885907614253010064413689386626501137605100282880916773622600116252974874471388926483030229647307322476569357313539356146407593991893619868716724291037089057925338898034988290809416160247633183414085417994595822616924255820041949613381022608473761067750559971428392627948719717470974309975426858930965278321912388256973851710584072828018508101516527255918659508335977957341497626787514952281185113535327216622476359855361863756151695732177809823250612020778206767802901315879835419746368123527901023052706552916923165300007216913387610186822549511103792385723751934959070383795853172528948244653766684260392104694788835239451510664206067943416595644833690156263546860127805904978615824731317183931242410795546351970555977223110458759119587792483412253245707422551112941463547761251525333977808030017793583943702135505230445635177665059655565761836433224470393805917869734383360746361055733936073910914776320049415727232164066436271232625495813492695315609829669390196297241623249316842927782372948451730710768969576112880624397764681709475096553851075021974812136594947722219826026305146243814560134449568134230571L,
15181238106058256049737775883964239361906963454655466328659019883722105133854705270268214765041435046707576050190362401887951577196699506728698488965877303734195033056609934959726994891657622139107596729772325763130764298771073196059806543458835724206720751680676705148451784581977771737901261786820819306567660731199484329999582039735041386019407495422681975357632135002077559539940384239430503247259490447764184541501271425443843484271982720223852284344772404029995706764047460081341918854707041269340442394514545923365186362710968787661091236647567700353805622586120685673436399818110292479678730329766042071910345857244613029982366894376605430539824032542789778325830379840857455178015718832816350559531638150645015190289040301783799737572610232174441315564262807354393864663525981861130504922474790259699483453928386370825843486941711404508839923752624695776134677277343075415553125877241515900140579567048487311922190251111029493954471678852325436444220091238110252349740966443739258658223136457785398901732106518960360325128673303887665790647025097713669383899850223869585118261895273426556228718261626946451243860982519388230842294014771121992046409082963747918386197259481343178604390456325945794512769385295149324278567788136457834587527072324000856468848427974986716585880275639489786769267371009985722462805693279329813360234314476531002921530300241364769777831772656378713688131337321954605051246883695157470464036530776938351880628710505043849933464982822390794193052761209810543748360222131189807456198844808273719191726383083074591978975996512042646304271619903816632260422543224800627223837100655015779305131201112269928331608041840054041177471415088678258143510522754055339617914643451809206960756928910312171384062513421337393344313989301247046715541300288108664584486501541571151742534842147985774315905821612426699380341341159402060309605193495186517831364649640952735915421131923488090451276214997094800732018619594698833069928582861852073873492336536806941486069415379301721641955897518101199481904235870793136385685164976432255432839362578022507957611148290500351097677504579660073042940511548978950451141011051923820847307324214461549975123914266427542821789986229077243939849535871653011778627627871798602321969575672024151667428396844168753912222267030682144979850643665342251714862974202865491257719217233842097885642162314523252396508546601132241180758769675224228652098984620360903617232111210177356330964378627387411334544733599417269973362200460176104143503042940676907660625089067732447819257496316561884975958107592419229356915271813941240900180163825343510256141505886459112051900087655086404536618673607939365852075314382305556209946844361744236000115687227733619624001380756951424802752111307253759295659322528345966637107616684171170073520158439504719977715021290815357489738914129312490539348844808308418389142889922584385912233952703361307005329545062063369813997604208061952294081161809025573519667010441567947898212794292469916615111648714231343592633873153769349958875101227312357621917163166113736392015612359972239882499675225919937740305103332347629578565172960404867888986713369323492599010619595256597994147375794587856700373497048873452475320371951673967829439176305699334088702562784032490576373728704066877311762693215190630083027307852234245131705471805210527245804647311387564914651014370301871536535014869961746350062625737671026697363567864190437810674160451645799762848368292837966955712613512061011707904199688095973126343568383576666862513780977520872658778702384847742559536540387307505669682210882682050513515303986958303649164342967868391950571088516777631931387010823209521642639042175478185610787393308922570417377622149605000234793398842765432240871756497991273956230089420716945366909389891139733928812384320182988364253018455313086689093614738345256919889488089888037784368605738998033498060933354862362207657642139398946315456617892126115487064179601762993180625014990874689745318046395217487938390486055387900404963067123798043233849142668431923907625330024665056711284981610554192475409406661773286623858389142880862325886383257270608118152891870330410773453487868769521702331242668663390190621680509692317651342681952801601509541052141440227985886809167884560329962869399763362326666022173275945360543999177426111473361487677152392862944381537635073506098383150149409402810116760768270743495698100386443555508484419381237752522961342561320919511746304002553144374584263386943347807463089234277571485260050975333417403964850309180030151489487151168385221437143698594129952015290635047935447403788489688525170090066274893484706127722080665304494554228042124668706832718508025167014498722996789086483950251129146798854995182075053185119106177435043709640226881702151239374741054921842000656947239974245248089247120073135351051448269773335771529937119231930563433820357576636611091562964648773877209925650673472934303156821845695389121078065257481969939593653208791744636807637647029389980195629440096197430942297634288813203112830080063224430650773920138864641655259485815310138972354113436768768938714946551606629046433018206687260670388320303905346604469425112495901135846657878938373754263572792671740977450309086319047336458180492251549602168475897908829939657462348816894197137153943820267244724992240446422996036031846912672824131739180491629438418781953128665985815225656290368926547617283505663210681594515128499321579358443591384511623240778833244346706119554626472340714263412567200630267421436747093493701861488028146442665718003172692997744065548191679758397079855775417169669302488500704652025514173792510648511108826404325202032073412382679179899176220123376116546988560046449867315102273225518122880887934727376179302926173375781644491753951421626819942119056861002437986591668643005733105997631607394808458502016518474773762140701971246492428375770968765197527744059072295878975429117761115384458092215171249007118468581158584481303898988791530220633876383572215643653161514400333638979822250174327704060894442032509051281565927805070996022333100856977520852991619219811839188427018572738118103902220482427065560907296270853113365680308606311612641041276408827644883951684340013924374467530923172933644061801162556905467270516072252426645623401213230644405512961014443438966413030865393498725829715554022041718248L,
26215681238437495626560402894773596472633046804062082420705358917959438701316064040570440818962045454623101792813229510700823423181104345784052850444806804614204507790842524314913457490344441680774754281989993654148030392222241915691612311108773540704247531796375703280532043775525882736558632678483281479394063879809482162026366174717600530211530423512300283933372307603477401504454752552334097372344404398068916824829254033221973369437699472697977760816756742338283174501925911496398461658526688576643544848899369029180100428993147636790659910282516123439039439351867649444305103128098542524611964582380157991026404641276274662852485507341844700479956860198155852261561358552286623371967349890572544721200370523812426078212389269025003917772816780574780459558852601287140582884042933798101371294676902421128017672891393164629764184047030112944998791510432298396493831303134378099420979781405905528078380877534877761725830601701481963601407587359444417619271410731424077326521194738674783442716848703190319777758814836294210288483379462828083283683359155795828337915679193827737349716978205922652801172277264841421135159668445738634798004125692424570166658325790346870109798615248814375599657135202208615443094895564008841813762933403503775998910751208898612450467455189258288085467745781886489911053892076737267621038170692716666721631565103395409187415964933570871611948138102522805076650472146818864753998427704407616367650708268367763430571228556070191294775242516102311846897156457242666305924181731494954528703498055462845505522137758681054630033365956743081235148616564297729446720750946465354246954325305799542144885837623196572864939911561706307058876079743256872830585111762448704100460662234352829096162640655833426660388290701450973590536659544548637572109179369355064497443667674259735965215607174678757913423994879071485452065197395816953430164825089949097622522586126406948403778170990208380500084248889452290562346992422006170542757257284372073788996130886623709974858550278598404580699603578641165172082585472059036746844375691091810718546562974969725662998838347461377697675484034354761175750390020481835772227879211623253245648684445716909520904677591259222578926478188294192071527229622959200247449573833788419112100448561503822887856994092887915043057334787486116915049928819483866091791763275350489956914539636509082769728555453379381040389895683868259799216996372706427629466414106452497434698687506340764869415132980688995049765340665547002993267262245982630201617412560645383673678010730202937351634808585973230005523106415697231394251301112470708375314122103560703259927794971833220241417442521265846492710855131403972521753261892714280854849678695363895283851360709785700295784406368718459018012610851416780929856003227757468339602714318830317090290244666967215999371439340816749181049000316606570908025947693209040189136590667838369614432639643580973877804339148177800322653804702735200645984246217933591567491700533144993086968626074052078059391481068366140189473516654161069494126811279255265904907683211312695325157560928153675787448750427131377151602901198903720322906624212271787702456804489987397333169692121254941776660795449191301531410952365780218961674022778199902110437938148930410783324118297424873414925688424248427299327114911605916692600176536439269176034893499142869453068540836469185518660570001501036776504983987882867741824738065387545466187303123528643505895363309511577197072850381314775187458884893603338990839188490000550993062289703926148583154846580500517462740484445057123155145732413157099305439467920404156688829533327867781901327964149829419036403402989423160908433386796927172307688840183279556851167508185555977434400108184121522704816135303792365694013820799275364585162503201342138519331449215266442029503664935410468040364551825140887282654488288150302679294079488295500454513949222779908153597780953546849606903830092797322083925168221759421063326097976699603823565280630976964909280059503089913971547867037465012363131757837806246206608337102922038199085652560961063974233739758685217749894782288848852957296643336650399684666970141647209394539992799776096160650746048352773661264261613465487748192983481204076047987033716305532516499928312301569816839325916103646762855084843140655803092545359380013414291917610807555849223611538493610405427384553579207119918314502553295043556255339972623327291571433545381191035799441889000694878823165177050120973679763579584536807384657289030210001469318456537293411945520678076918808781387688320326601641684404111345319078348515543831922047845601518629903828814010120914623959442594235658767982679631144493290033672775924664553389054276335148732074003615318097305027248777120745558192668530306187736249449620685205967912740400398489742465580556709115237795512063983433514497623684697485467645170445544884794476733743334961283109667770957106789994745662719730414574201973728703541478086975008602326828992872644810589423432621201087484752608124273700132218695461240083418996841195278498290342023226302652462280233291009616005257313524910105076751589373690748400867876798139111435628841145504048468023579372157748583682723454827452219667246098081583799864955102009777977132580595518656422563625419276749104038271249681977210587415098014294463478146261590293158586778372275970286563870691587624995140073254266123352876484593179952110851712712121948967728318345125382703118811178746027071829623388807057254935842145497157180707652516661617949867683820284968359012900338472661827154549348813761173500330765357671664289905720055131811742340026320596890898296741828796584190220051096816136160828006888757161507975098341688095659417692057257293691903260482826758769355685721666555563273986979234573186128031699702889993957900417201133172803917345012511354167141527825293040526067823429060635645877358547791475770726399433838504389840230536496885133138810283970642297322431197773107138120008219663233329657119311107502241714588943159964329130101037676451353274061104635966051041092925908685387900554028889215972427156727110630141607010065914453625391149376229932123336442182793207224247199335215667837902587842314801461721449134486722750665996754089565933908493219653282907120474646142428049947207494273625936098891974356930857605461295375720564148372505526897931189521001881193108640976484138190017123L,
45263106448782430486435407961352388614782827531731197722829716791379067522263682241220213703266053802111440426630178521145096949626104812204927200709916546409071093317129699760487551748079827519662546536639345814246432041306487409686272183132271767857104528183958320103099314614423086806395994893162049994837996940237626147596503510622393479237939683694509034563384469731754769936669675742956281653698493407731919789810016095010476558420705086295074003395947968353634585057882506728070978183363849240541456652341091064828062365230364155632624047838116952852684753325325919461550438193636177632383094357459345694778443689997403286628314209518891192997840010144311548760462460363235535716012265661011627878195835133252855631128165184411714930730447354804732022578649432718237290402515030646407722090826461630684536109171419070561321324008674129007157841290173464207051919615712105775012580586418962179137076670322280202564020830485215199399026148860340238554574247859032312263809274140566259514191402929371663371675706105027556864842462713345576286081196939897001317485502511024875454533077745658033573806502990195475947330109656429327705059055497125068010251004170062046356007446711205675134773734856986869413588646824814042330885921844457505249039940932934724795367987627722461247195486681720530174989997172501855463082204938349413191304259232913307619094274707118342142710031366680673126915080923000287627590961889294118938361283333511358578712848650527084999306670502850614058079415996248930000763251338433584037137404673446366004239954725732329144633192992380310535314901661703214306944656917826925940734843008131407683833831643938022558911683051090179927769338374537778239696230090340902585103203459376397258509035867251804159908389466366402429639242336205611489829000030008447328541706422188717734317357401015501555843594255902196679395760604703482782835059472245974541700413347114285574845750828048669928590882201119977517755106948636841747099678879019939524239539057360727297029548250580527700707511234917704871494817700379213816758435902153686678350191533253799850433266178344980431164025217004582084825892655139010915608135019329572983812449413015496394386885902998019775175059584415645763486057065434062095561860512198349609965873832949165655185662617525163503862393308512382039676406569287773717262757891673710091960795453915537662564486650817695899407994442950509668096968251726685861835454894322791788137673083755796662601409989720033336499961493298420915043088540706301973925528383238109565252848619041137944990521842313874572800115336618220315022485023548975940065189875792999829275809193684960530954013613483293365997106901062734201490400276364762002421905726016323654509304806198905264695336796707766155045794013950187748622974256758954416477039757099943521416110435260405205183349830981994400805463283551799155046071566477480912164292964256677375529688124907569941891582222892660729090116146231424156400172214380564157866134532014080661010624667947676142538763810154620299697329344589585340553041451252565468316509353631115875299456849913486250747836791449656705149620060032249164218425270943305047346139077006988543435963601023076822021651160004311489120024453943104780793803182226351285665534179125760682360207603239386066191988953346656936170047544297568424493923825814404004080989043499595469958528476925029020326904392301363992953235605738276000394066625513417601988119230271931944059440190574255668307999164648115118108321746203856818020168536713557862080444767019432810986572761069585874250398199220993643501854039949102973091884013755821409391161996569044747681884801758861080324917209353886952580830203014050509394631092856275295313635291812819776683403756264557703996466820367287430638576650327866957649049118436163464948034728732717059921978788286703426701498898813323357574269738916856014879030664155678335599746315590793243961086122513877841099017283784700616683990042654281083099000439560667967320495465414926428914044672032720546639777079025968903789602220244569258832627608252947290054850603547947570491612707009753062792127726598402740792653596562538695282033778793114270685504082441737604902086441784103953589465783448968651762578677683174689794858913818009246093352804187597667748886548925040529762133256543603536251659717623381093410293322941735985339217222689004788169109756933356901311791864404992666796994527585717323410446089981853752606819729609118765830749554917106794936029493901273604583886618166648549084349795638775139873202298947992792902971276756646102076787389801031117808024195253669697058833980775245973499124900395829203050360656736078931977922467660771501873409853661393829093850821813556753441341037845839058976818811727278447571635544164402283330523745117699966395460847216083051401187590357535201569104961263677865574238026647665743499827599364153728414887079564077212450265781886791644125522443594300108782427784900076901952207680567383206630360284045764618728322014048055912004809465465871332794411566208512473056344255163100718875729598559722278185941212868336512369195748547308822550583171176456406677802830227068107962849387466939505442637445339536682898014855200322497984494719567156790808120979709364082620739845094533390338970431282999326049044690417261113614002768506452177748193160235771462795295498646740369540904785675282242249011349865241983903266634287100775020700868947509421455795013489661479832978982310438383146178785035271461774592560659485649233101963174756122839362433151444908001414501017307634133379969919984305211475265740103985626597911392201523197316596358935314920825802121014774571867496816331841734557582184391780956654508431039902968551512161830349710120097250204342969039348838201270968814112620478619459866304473548848194604226865655853445235115822356450787312652005944554251304065664223082230348904424334693019445893232041360250083213319008362834229754914010984257022267837080205942035902754041210717933433260117287905214019712046207228817431673664210076043004768710536582389322764266956544785006855988836253547124572855357364453338848885033886946890296952144914368857740850542892172498560094239881201990757216292624794311808682675199719345864505938483262187462427014203036857091968507531366053595320136574085955267319393992698974708974954416246957522142160621994731985933418128335393125385234580222291974L,
78137023500302471699273122432115413839672306953876431016925508963994893576763103861163121287372029620455715692281734083775639021386504042453346238092319766278323565148764111860283986867917676817632384510783672053490481101966136951679160037566466867084178094063390744245211184795936571576213261310822457499339577564367087500718385824133913759296112144710123313695227797124373804939108114700906219019048491043671702060921711480849320526073826924392552400258558814080980060592773642213946732139174064178225338067830658207635312185693437337434627890165122641025749187749756400433956269937236841641772327437224387040741698774542676120593370535182396512203502402376215616478695087077314474732354924379843913770458991110354417281139228469088332330551403435293102259728017750371332290636064028157550198078221973042927126249161185951420946759549442608956436359200027402246687228563711234858978220704150113660548982435996004538484533504092882589178253549297228021723340950807564905499609546650122422054381746196756150469391147386459414841091071303195704981797307685624735289029867106823534784588255721537592077860697237849549094725228052610590373507794559271990222734210304724817532080853651601220558871015834989892401278325285517872135672512339107833982510151822568081218534687060211056373623315680563077733389218190152901194660980621817143417571443858358925929023633768120481577667425309996857273129192727237394153602442074884491396885161761419988730246654035241331692302977107572586219021087525103765504930868649470060278896940501103522362554146301265884961876776260437857740000412618035350492979055192741982320213919182480130322249556665276525127277515990123982476108784510549270937115677742956989209990778565683624851926717570030720176322104057574236382490451792728452474024010734269554235358346936025914500260900647589420438570311341672416954931376802691497816108950176016655685463790427365276645901654873705975390067699741096245516816810915354295370882806158048190508903763158862568263829887089571189451836673085774154274342130001886346978515981745392350387591385196636866898799214409023417750466624085012462974618049700345201213336570918161310069789091915111168112631466380866397052795049718144458923315356367411481368963592883012767531847141410753409687224236785659814789142321362926375830681665031724202623803869861909029492715262935271268411568701147936047958786067788140349630900467365718966331143791997309236450329960871336395834959015487798757170243688748977677687708873664805656494176279167599376066603754485359921932677552026582853545890430420755736025116311460307575727719562040932911164447768411313462113131212676203886165341366592910636963452143618548689340017139956274853627537080768595246536887996134036012309052660886014768379552069382816804295992455439979179717403235192764068055772322142244807746305588347013759390310023237592783913842017761524192179524626460300546387505494120331310868502385792958311265245747935436707619564148884343672066542264745188696050167629643235058138338830872318642018646834195484853818312950480371134255887548832664640600931877798166683181687617383750670532662696003963947364687653355287592233201880369567895373346654285344470162074597601525784552798823208423442624920317587700154409654641865188261752946519050378622123570572005821253384872663268992638204968359779879041719942113089927379575846937743166776994638812642864950502469338629845173625895878319252834966244566767334600764860080466178552188583208225139745260045493925657945511642766075384383155856220129316356913454910415243873057926596048402990271087999989750016048748204500412183767676960160128365351443549389207657978976462298858364904810903990695242177165722170064654372620340720657892154803774386800972065835464877033341941883139682289116040960873067880721956473720559479657711889531050720771324308871423290612260396132571842625808083488879389583797137103677506262795282932796565239533222467697838883325596709097123446808617877509906405605605393065572419677121240919752831725740004878234316060244378418423939622539256860781502501731392820268609704052426504176590737100742717500034957549368294374415621605043167929745330031681384995031059919321805644396087509470363001276753420695895289804037420064318036861305376588458128262625992850133021086560129114269907774274477620891712570490297934169449074559992229641252633963517790316329312298781365389053730177313125967557806094190171722996476567130441041524507341387712207911369387898425870815278793613055541381794410344613813307198577567102558796463565591268290105897623130827766894179058282342399310227051576966626135353731319680061410719135778996412715730054389850044052424450763975939871412646991502398631581848895796389830958812071182053353885881252048152825522549883185596395537047614121955926804080968484933669157305864669247709706201184323674986029771613909739239655224213346204083400654539914887174570013519225549429700010547110209033621325811660942688131553733308651886795902412160526690060366144145577066650514171778936885025787375399315999568351726988271646320773780230187114809409170160178519334930782682991249942810820001620118185388286515297228661947702910986142354000147567417911469552517401552136341597432416438490152289394003280341342311312778432833449423974209807122360195758774755760239059746144026211059343804745107277624588725553926799777080945083523386171857307081259318488421512673170208513742929795792460135230624574244505216061674687765808237225698686785188142039688765448021564393712699259313986598490062026444039994939064338179932175580984228314777964647850053780939072202174031853840032622485495502732129697265723878188303307213367537503454815219171915231327597955581412903242625222695141442993418413439776694816136754818434093243437577519515349103910564249526308457491538414452341443573824865284452671228232693345532722460137800657111694498086801119419790860773026225817271633096582362191199031640266172968513395474357483179577303086297764578490931785658245226846354780810172985845017044783944457644864641527929057958103497602229331286951356690666217927174460836614693153116519333613179428965985753508774633983724670656284278509904737160471754065889247389750292940551218860051997308163710254587798384792078137840872328147845426437678762547277073603470559248948393645461275290947483516673787087024816849395810624965077L,
134864831117544678886184456099483158620357043144291396424655687524873514109565804196547963032473086975154874630767223439895440512973708790395190406424023184601598385970317763261225085771031001208853410513121031009455170308936938773608470870942194440213161054423014274008285165899981118081314459630188927109632546368385121342478144851252976591622231641547062643922668437236752262871380101882850608230979955631182850706998233521087796870600180712448760185423069088006312644715772742534883494827124431095428804617890339643247033830373074170244636320193038736713510214453150658507498483816081189310694884139418888352400764872829994315807325236094233759404293542901702836573490149642800916595227019464130064111405760517508232418864163693147603158086233359973500338092291111158810144839999387692427111705022783376034004182844049929036591163847028491717571510448324838750290610304886343228129221151157943949789388866442225776117314095482798680846765660976186340817284732561222605978144380419434531426186906104838653912489693249493443665022526245618951272909922317887005782873478790015441509134183870152522358874533882168054849059318218972912547478752864032557135405346805251467833684354755575348613746748058825414454910638081045875797786259570631600683531711075365519914728714736867613474278628905048061536022294511933948851040788054680341236669894721139952211496978875493696351599583616041847479168434328522105689419697967418471041861845658645442743811385790547852808460418939580575869491660646255526224383539235357134165300168914032946056025287815655579216376023900259827681738116821877814697728763071480545517926836350171087816537582186394124563803770424696420376573139671930749413751720401728967174719638599820244198129747456543154554259232517459533447951462105936261122655658679657781559857718796768728483993360833059642451339045968897241622644074087443787137786626896815262578541736843580023112449159814739807922343466657930494826161754230900397337774859982618713890638479578209364963513442397465478582561688646595670843867191904418796741246620370014515149466583145882518373721152698167916357241916111577991983911359006356716626386328181061648207891139714011799429611528213299375602919320830854416080497459641540844429342889425351892033373351531709453678637075407934556261753125172015398875537302298658213379760270942230589114139401946380973691212898532369028068537013217339379592416618458427638007382353584603830084931517017141943927517827685321225027934006128162345866767464469219189410536082225066102470246652508526450691995346821555047890208842256551287232035549451986390463862734834498126184547861732462761673766892103097409985552536989612963914164922630988213163912135447607498019976644543837944922337659055741358953490497760828743125439459859210644220468427988484496276420497304651885097889472333678043721773503307543897638679481618752095619515121933952605322141862725933575798114380568255151058102328618478801995271611886939928398704218640932316133711385303323760896428607100860585331694211443459358739989110485765348335161764839539769829739212192748274396423659833133556794153540139143667479842738593641609301389945139191363029029186020497197012665110042648450940961332347172890539680601239649779315661651516464336180170226230817585744500702642113948563947715275907192688202585322417954611382576183579439210390305078728615153160615529468691592314548550391918474779384124584109836961032662053249205195946164071306892375808854771759673367519535056689737477197292342888391060024712693672435535410104836170402237419454723937265980791777475425841633328771052048112528797484070668050213330046727911584522500563901505586922822437989269317352189583900390041855390779557151811125996361142334618881343941220808428407568623908100551640476804072370222759587513180095421865672014688302675684703553464920069446382495581458037838430668147593066347404019221106448108865320341860670740723144844507038305940003130778479489233438507027650319834941186237199736253709420912165941524959536172726232017202382635397050964099927640417155299166731115626033656999934558398908762030248289039449318315009257290399189758552707430010066480178205592460833084902158703438588048419291215465144934486710187110828059749700154943331081849316012389441485321030677017620945543303648512685160320198538585412422234743801609790790422431218015269395980838879987776119458059940949766979577231600216229492437181010996847496471623430082795879859062155346143284520260916761434540320447898408003946964410476818039552069921667773531797015388713681020349240185114064507045743183239179503514199798359446384965624752851075305175070647882939866316044631100021428842467993178032741431704583531157513523510262047502354255811665574362522371922885689792277094069545202181805042072652795789592232715114467768128229880744664153299638200839773443783654593540981124539418372601033084382683987484200025410689172647430492160493823458147915188212824715600301034375083401431215074607749852403493459853661914492640207533751980172837371072687533206637169125707839786981893859427552270371654840549614288161394154260782452377430341985980173155823260231693345813326447005745098878846750324846972747939462843984309191127913388357218095173785350200063507971376516759843757619498259833349578108240488341603192053695841074938448979694350106489010232470823006547687687124607372047689048569350072385985282535652534915602983205454859269235501589523640943551312078769787279479909445434288414165942181781513986306725604041387291624168493239105707915973806657098906414777771482014802912867216112830222405310231912039894347436251790122516425594810779821917433122136344186954835861357341301659758545573098224761668633513883110717627274366530670677625702380224913202589969094164151243002313531107249474880174534055506862244296821311000994845182341638598874554455850541435650289926204083847272971885393088563891550090731315379407568701427817794101415437381261281367510148502666516802310993843510063656231103252893731437882061960645618623818166266190994725002661547650421425340108809378954540344764246485711765269677774710163650741709756675714614115129301360559130055861387106196931168499181551491066516075597817480891039986659632747952469707970528771086709330442690212368754841598146137469265675140452944844703903731166108305462195127851337611393842425474543909585078596516L,
232739421001139389158874236603273053484247369212940737476955073169900244723126029712687410771947713943487183314769214878416027777976241316021110076890336528603165020982572105579058588345932980693101425549372021718740126109886420969460102639882241055102496902272496555408543215241933252173182410368727498760406819483456982923466620579980939796854294788011906459015009757050056353524974795405644218188687842959254527427061557080662623194478596956819383941492399433245846449264374417739825080041324327509887490753788823693190001857135936007337912658829996107772974461120010080775237644332496787959187338021248081639712520135068353352609988763874697432988415357361348046599143387410415260366117768971886820564641582131663919467525172522055354291605223593053467455109971630843588856271032482936899474919423039809695999974291126706763601366379585816893512676449751483932794817323180500039079179084209332683956740521131496542112395026775585823851728023120597403095144048256506527179682132331000633360860313001340879898745842797878021988827774708780845677840606090731450163163216617922517689884323697879835283654340356472842801842671056608525806854633694746220678752249994302188438693096402221598498361342170793018463897390828406405459665465980134876181567804285343950383013051494468475757330871868266153242232521639674981380180771551562152936359295333573600382516967963339290986317810483913606813791794193603684803446113271766484716663495369875049919417468742249601999209691126657507816073478712961172598240936808099296665507675250229187532794401072594354477545296066666631391068199906616853499384371019976852500832041133007761189886069738964983437207092747587292799885218273764636129649077848772005364092676736035544839994666476478493461760720681098558501845838012135499434665175803617512358189418640853264125507114941209251033960526061585394891614709049553799803435755757288352058773707751096309420154248244882738556119443150880822059158964206825650185741436410370604050787347107238219573785244604666419422663366492869874309493361822327370920184479745703503135438759026151511846182817234361868085286440711959829359740083161113043396188097666190963402813625287789494375070072114110628421885103544676721446956604854032321353644414790481226615561962976422717226819753214346446425850876966520723200875148637733319953253242148418290326412579700570536423510930814658253142074259628710624087505126509876587594679251605509717521789523967944037119266840964713969698385476528396215936907373951710293681716230543018092372457335977083506672581529725135621309778704825021686031381019527839142630817566824795619512985568971791404134626257405007227297207912816024246299343001071935069494169323422924167245828588494750261935856527279981535081358351203817794884682016883859728472621148208487020726489395010707679749931628815502908491573947896542585041389610105030293070495759826311476420838522447054065880276448025158542188017475687798452470564023392061625873736686787656894219518685835393728630174381311153631647926161160032153328137400121068221090474488063692679373421685471632963879085037428956750758156107058120971451637004349297545945776310322415113177468184989083373861465463027455401792559841845943765977240757876646589086863289136452045869407448718131058445538922607085663329135961429200216386663262207782822924900128803173539548076884901038643023650375696116772580644016654749394407488322128617533533299976474845563926302274309070629272448055414723086576294490117615015646989299824777538574980894465419889509725489738011149641289809907436677530806095807643153783827595848181000076607459849002283113746587231611974083988080048086623005558058730449039714238134853985157638807056662199224041390688291682983581726748538768246526002774778153988051135342869787011759858175778785009614308365793291412763995383017425301884135168854868267062644280738495385035293880536087072823777671623173867436613882959365591898660412296871597805372102406276764008610465907525678658131517902831635943750863640083573056637441662205287255699972850506957775628904247467084961519356522081990909755045954437104326148030289551746942516433220767010770768371926479100392916294192878382769440793446468232792180236021374207183559758026735663148078818812141528734583901646265175289728522104885774613644784641125960497419483989759518213052602755991132528272453066139481761000530218782373197994938201651463711109204258290883626499722572646587713893816681664597553043215294860967119972780465365472854440880865199707106379164426097053052068456245835029817483272600265691095109069629994421155240949900702191922807385943201376837911274613100366121075921358450873978433512562999519892646384763868991151497958025104150973102359328645946962773106849573564380925960964462260939833626819862974694484248960704242021963275680475053426278380764623294930495994655841943802882734430885427587450139176614329801906859053116214801463854294751546629313508595061850114686411741189611375705121021804822449426118620074016291148837125144960766638406566752660502819709612909264462881697586567187831568293038362051028330113652932885101896702360015938083364516711305915251322947414694148043418097044631232441169526704067368334033281210310818833482370161938630590828131771540413733496160428768264851713072514117410733950544852077279125996997988884168562581066674297687726455222335321527259903580518436209675971087703164158704253048017696977922864049449387680703953301530298359004320030472701250395088380503546497697287763519210456840364870606147641461861669329744082874946837608301747170473930255237652260243304827167709947461823095929832827482805957338646525817955178303718044315583487525091370865222050867533150786932684097201456059724172290351602953067319960133763272578166927833224749177324066171816935968207687623157913023558727168746189662021353232829686066554559821395071023908588501648823352829410863150746605001871554307622137070582114581987692062292225906001286427168262370851615674478295077692149099275973168909387006763353852126102984706401993076652243071557728150071416831604553496122996796827604134575592622093116691015584448929149421100384863428546345467794834855190088783904067177566153723276232324807824273892502994092256581731332698936248749554864408108272917173185922688984551170888050079276621910024759516685340752944834604205397619189804736510821798207L,
401578652554734260850620307570813427922693306082811121710915170435233185283002861987851687595205587188326666500671429180208298475661764992885897732527728126107397672728357814409993940430426809421507652558508830289798344117899096647138288311736252596177479627359501529248160612090981548771272504318314340805995436243197965594202674903471801487693672672435161770973721508754919648351494336387921746251254526691695838442825607182439633268145918163316031000242330082623699075802121561539996477804440457853489837651515933674215082825666839331339938964794306725240167475762443267311835993450791673850348624961320711189037651196319270243744136598143277206233364842547511785400486965233281324340438735209987537145320884317984960961186909395457820117058379989897847083248956815872719841802776322622220862232553522899147769058191005758768890235018176273188556577314883433304110837690342531883831316485705731688002380962377753356225411561657841156899865518715873972952576468332496143061711950690627939979669418553638368291457247932348976397329394353332410619180053055778440778368053830878510681518011060369168884919443376218312025382259363915191333584589591200994291179659158811400281449360650091808663797816226239785581934154493281030770468966566033334183400540184888436075521582738426112788010472273149666614246352628614728659432703729570018761062499142479356558449237142871097967068417426163657839454549201555580348151871023358759897118880082820195981825643602864862938708839763630074284203776448178564428889628013611621935222940591887367901148108586616980309278766746829456256055308539969803196112047291658787580015841509905670429012165406352587079690854743606214219235208620520210902284311344436835711376317255250598236946855646123639279885132377022878048782959514188886691587266113837161489472422186439968758741467116878470881242545416089288312309703228937206321342389636200880014746416856857069309029369936981636405394747090390409543998776557457095043922398517086348958751285523225854887496366910478082912095013105947763542690707165472370921533283332033017577425359327059440753327863112303418326162833619639718292856903538390637498941034593225194353922887249748545872590916645287178718628323221498472379664201838138937135843412162174170665094302023161522448853348366415209625228652833578590983931686057139059928917782483509777028196699352420464975830923749808633270816365892214386059820579676680572829923681785937711106496255814454933375149961296379964629157062500881986368153150620034577116183515378633402019663847773653773560993194879930360925415025334088845082030760229055334568789439924155848878473554578269320370532253097908641524112614663369864673640631229004268907852720207824583477219605073971600368568710446391097196246000746590559825678405401268644489097407619148225430277402556724179523541439014262408160503837107228112938548037224297804059174315521084101815050593762741077803290822986341850103460207602715269053982628303981881197027136978936655147661409761710920515527880242620934062892095381364024101374248979281293376295308294196216703325989221148835254072296603516163953106626584173436257790058625813700545509482071741412068149527260723085048978235453392271154001430974253395114738258220567692277048992927905825779011407103083692611100629606108970381325235104832542702401169318646784675808464753207882662752044662759024725380133322277422798961787368443444733611329102031704740574377127873364245103125841305678042314197330900171406071755613778366455702712329231032771719723267880447156912021668456133190450820652481723165543831930966939349751801826633234667170085510140536177886181070425970245141389143625228505480095638199293549610271980406458051950823598895036036365806079609132130709213991206422554937481991611168918979452502096155815454916297848490298959047734660535279601250281139700404671969801831452625222334568412165677727577863323133788668466527810572054980293713271036906103768252991623246522990123818328681866745886518376828534612343861018894050526047585392128776642260386663877356392555582785846873971338885207607771994928103310010321942399775901899409885970380718479085736039685846273087638787133391197047074264076496694689074488434605478901370020069075028980019379868506380955431963898529669452361169344611509938631712302636763720363530740461278863524739931535887235489113516073974865795667103942582278603037515165031027404353671170095624218327138815594874690405203059180781093301161605621088231852605112106232627954375553910587628355221901429784187278435564646418823056506718430398376740112325520716152456691589555303919501359895101529378331641130259645089889889855768289491578236406933126209673525735510256679113697253594782756818631182156106838839411691866872983061728488691492809982514712228058659515089973001475199145820259357822892392667624151926826541027805327824818114643970922081081186488226773482196668436454281943495774403024061265640055339598242264578901383533465614865516945315187374850469074627531611069261516099001499094304399891368715485066003625528160936150123158391859541475030712736001972295105274392489528415353246933892669140776850320353876577469813959696542474495855210159895104750106654886714648808649769578488390380692075916964020340380062385335055304604756689798748800669364468664010352925631324052040541661413928182855306422115038325359429079493599888038368827188536214297312194641519002875706471662787882143846834593890497437936006117082936817995305429417111789512963853809922695598034406359823042603002417699181948996959720462411224649906389130922316895512628618543740040606838961180161824037994521821409868099329225761229111713174857276190741198647154553623923491119116932047758228720548865089696099718957586655258503692436813052695804645019830495894835130188439116282590920016948541197737690865019978242523835269551980330679309373687653186526669486470004977034944693195390450875390890412312801059273858096177600797145718315798443855015240317586588132603577600076689488550850169691433664338202380728549839188776152677087092268909315080221028610782136477792051834386102782758396570330520229768521021831568425223292642908215054883182214081106388598273835014963621586407384139515695247208041545484676367550531308041698761297333101706952238625108812636921302760385390737325412132210085485691598396123651560792736483759048022777317130243682311050675L,
692788648879330856653601771847652490763128168441339704707636775263652682935681214339371531621169683920338056077792583428041629500840205816708739586603141728294951565112824980330945899102311103717070789397190413347855905201354356386070583944824977897607730377096399361507917059443782431216160166613078354445983378748836316758371253030335767273138215830527112108111267678001713099738745999191956905617955995965020394749885239442870809172909120307241014283482897399876100954230265481902259977535801608107993475331830402581580443951195870414713317319487276470198772533312924646463503429568542318131043049923152710962336877773111146826127105181587567895967547963521138444524137242896159778644969087190933974699006824605041762571989445350417820316761592153777119687885380767339300779492185920650345237005935891769843611981365970283479152557039025341046938397575232788444562127302754876424712512385299538413576656808288970047562472313691559116288964331678284342949620658745567798606494673059693735398119576210398130712703053032355696353553798564835781927316583213720677301636529967350612267233537648148338829528199539503450110002923253797039117540889019293948025054500735516290907189471410857519696646438749554552289249143740114524309157128888681730501140493665137870039381022967298828202976042994512396758686516832790338907306210395901077517288299792797182510705135679617682634784748296804967197131938812791827152613812793262091339677797959720253114155464385685664961093387077332943733550120364497721875453358527006079656837056110683620807918050477862916736455703675065486399351731705283056430839209074218682845023105138187810733595486061852150353421861956915217420199475340282876269611916435839156931793466323279520860530871572006764236644257106572733671635446927935389520897465425365606868630970424482678502765776211042912717605921431642043265883608714039144355327610181025580594269585492393043795918235073885429658308629033182279848279068249285315674352380930126029440249524210027210668834400435086483843754377060568651942661231651935062560387174169197533077135981575180823487895188478235437998703459595426282922208639464826091580217714437104048205822259929750990270400240082596065464505525588462559564905893111554567331549913762945266578663010688609784763893571606045848386848248123927056771297551881848346918552720019238802626859618770814642586820321637415251720991697539378968632123476075620571919916772492735935676480609893476578576293815187669793888556900020366434799259573436271401373805265663185284993385956938565990942165667095008527439950291912795278902512780169205546623970165398474476546084078605475910680800220244132430794705730114977184331843735652651784036376568697163619491416859625520224017199566322514007336535297963654314987513107851525513284268800218153884282834931701139713180657615032246710404320608484408652503372993020238614700098367305056820619205596503805081363123940537547784636450482033876886009664864403970827588671704144531684725087524835718081930319146172876039668230280228876403636530919164415320846604898425950491353628433352126726989982745379824317832133936460173231448910438344288401223512796632882488391230620119908344627043167705004583357785520584388693507589069151176709416563656849128152221304599456627088416379585816836228637940743015562722722493969403600475379923968629735222075058693450023288457195612605964259853593573363951480216576346913208755459075878230401779471622606769166532144332855481195696641370011238058186292034940989140481737825807439284722124211403622286319191545510018147722130811560012654645184901287187931728948537623107930712549092308324604125049244722489042468802034400611450659491435366987799938241782416154669622105248743581648751091730903982874800780293715209612115638463000690731782989747744706413674906072836977450844498546223551281481717108380110441783579736955535175645078112173331160331306874250721128303722260869699471619748369746494197630213060963013287544112389064971101501922554390958295135490493009972755320880299791312314296779548195466453814154609931256329103933111436978335300565498890171304461325213915351283690062267851482094528173331590690678598187198768719707638107085321428764458362542375413934599235360242767866533018157967630492781761243038931675439139105791473367877873315867515098821073441313909487490655808755319789168598639658648116940514524998191480348878165981033951573530615282153182392868057297646023660013006801919789063263976424978535127209762706623887140284264698885828813733390444349150428022656077572039839225049411314189275635765473942556290859449224535768441004151708003945445446474590843228863890633220114825358780817838170034904011042622470660038961900484193920564272177590914158627649993788409807257100212660643683031005636805726732421653884248730142651045560375089139873858255016965552701315832748904872308450703083402995213097330765724444586874803739148002147710759673289374671127462520886155264133835467909526469569324903465055286189518266390854001707229273500509914480820711538226606535053817302392067915480982121147368042401009904975695528517127358379963691076101079705130359969032156346930637780192812902126307499119440283938563874868831067813653808565360495238046624760630925959218263996522975991260686486676904993974582210309273924718845623807285161319020767394110654316895647441235041527812993288876010105183593610187986777661271523920654831652639666372100939835776600935765634072960415776366973844115675826111705085276461115125825366740955766979180502959097227813271426477760659830821492202307383856051348250284855377784863600069554163625263539823892764245677626584277877013867119837990920790935276158216400010185755116340416479844303349886489111664839475394461150795171971373759354835404128030794629213799982145364230594967640045102219449748550494372929863772124098709600911371021637939442875012857989317174067871740374178774766738353661103030486167481074605430480225921423828604921818509515739687188988550125030535360924218714873316941496893236721815976949805681671931577845193723773298520414641556544879281943227085395360622791041131834057843497630575476762921857382311665431089676465107332347361306127411759750319387823301112586395350782930713045791369154888614606957561482247288502426779438690258781414770080144686912031786589932843804743816047424278738150128634268669494052309707424L,
1194979429837253288352556739055240853836576461947887485298565430949928989061586147160455289785364428283239299358212946094165795149979513410969949948154682668187084494206525583812388065915639379591206286959086050074530251501730994403460890724637526783820032920132467257248154838883194310185844348374969216435755444862980195104611060554930867544191365796946785615839340054156856087042950111650195584191092832120392478217624515123055885930689018480003981039182819495819468738624603113858668440644756759678934329798088823256502013323253697283108247894473022077949580376162601533058861570430986859111888995214851164300514793188946446281873970737384965386024991639910042148249994101534946556046365911542279473807974985489433282385764267667251192354167610367296320710248307589042960064592451882161974398486994699663552143349359536701847009594727071021665753269471928305617690214981744095427975063604401925348447998563570820621771423420351220223903192489008236491037889680334158521033260490240329073270223278922784613810340952031221545832268480194009293007306355649165063939586461404996626644168238357589723128420433354433286021516555800295789385157812061229379670587785493583325347037041444905920036656125599381832828235097664578296645719088838982773695551546911494003380315440764718974945180848764374042830003177540043700661187104450533587859517482379136864705287914278096808578327195310769601031865033313286774382130158395622884229622682866730425077479294066760032268861740029188627746907593747683280633475609141869981581171857170298813356150216826163041606071797955171659843592526775485879443148665841138743036534686369909487610904275028776761817160484392418628176396949020457744357917476419106234738807802999616685728996662765438878250126373547028038912900607154716630192793612014163785218679265330431418086226682698600609592787523846904540900413623457695562614021835402904874073452137470299981025563601025595006045963275380792947716369394523666784287595073945563805709273401612505510682013118129052978239516012892128487839768202300329940054760269649656547511779431346516034804384764843082138564498675118108035581116667230685941783205606869893118637797106236977454675692422097925413903361910790769262854138690136399881501159791056005915026642363041936659234978428373913303261231014204806754037426008859974210244367981360181866145230532746754702629678002584057380786675960054121706674558741549166253844003149473654017185828116732158412728294929823873726090046944772145808493789179534692392759894833505458568897888465847150439122619623999858332481681261749268342000971505410480153628448349526901419961804952751189279157067454400616861604565170062635016748156173855798274586702364398327049997347347647470420004791999592232733517565751847419083350279923918227625601971672500488400260433480425689442454354312606314775238967798596405850321419257456689961816153071749264288769326395904348381195510044696463209788228850779547258285697116695273849216660465631466931022775172078137634608477456382754503667012186341690458210799924810260565875906928230579130067855676131643679702432453758477754268512566419285994050613914796463920972865189879112669438808062761279669359033793464620984410152505157904820882107520788311478963920084410807117502689181754450452682844357244974659116898393719933168994596682941052701747696024856874979134155360426674062419416150402833602468300495222351547900111926324238372198088072583371918260119937873813810712248831165293173645980377205449292477955906278865003486534696120890574572454170463577715769805159641177521935880412619477370036230628226444688854298409079800043148950081296336512731971886548246103573727166990735542754516628126505328576493155367534007221503888044448915604251893875367568414248002793006228073587352131213773137048090711022332098518531540569389648152411022804595044143876833503965803979392125545982447547779144157245458533271009560154871591172414028946283709681749231828844713700112330381210528288399300935700705335572473705853671744842341007593135683197773381163708128452920540829748659203712890747960472431750275579978631145301972061093710772110135211308233893422553123313306345954903746350042035245960262016404802731311841969571520847526867776914869255311833692405132902207677858732815613689644980300039531512811401272409398755764711920904444847936834958435274267379833569145412828197067727198500990427861355579645061799564113258737754898789943837172841385557832542022134170668758571056066164390806010457316290869915274334814015526808982517211928034660306916689682746855849666370296392537202921038158231360872316984626349187922668900470061609549664444445215854386994005338164593517433325948099293378812597509355432009907331513397089616733493970019494383169239526587304952425402864871820278255122870269019302782718770225889415827933839084381842781602636240320351662918673546454010194723959115217943076468386855448877216561646982763553736547220689563677858266685675156780272397357476025380203719576958641425240554233873681584486403183177698411248151427733379778507721527504288287078779300839644332001703586695430735652653259858285418300389123448287527182818864942622826013673072216279241740642452136046032177654325312782191028897198750135167766139600865155683515622395657930255913208500103812622917263746570923698847630292323190490982362041727478118133074784210611771773989749741213303513585704522297757213495264403329804921855883711308668483314722309386696820836986611627761842751780104524744703961470473937010166243211161511414001710375435098537714300438272552286689560722578227709060319898488583295674665398235921592657471773332308552956865602184768000008332087206931377730440165120470689166733025505153827216663459730823352745538180884595094433522274988754001000035171194606072640895606999014783293712605222885826026045778566852142106598019421171402481745853047504385775913537601582239945007538381197708970400681015883592754389373105666778343045799867752484572440340535821760934367425225336321591133197919685139648559970062079557867915018103403975692926359113468121100346158434266907047508446346077181931971967748554785792716289171385953828303987564095297027507356296573769817129201795553553052751670761552591812616067896614867471638095218721540286469023225423902577188035830260109043257465435841064373566610561174771097459903219874008977170387543635426188L,
2060865558225361431463649439812655001034228320647966186621829825428975239616822137860337878556543814314945764632702761424059934449702273312780517479102913174585117450735444657617738489813590876563373360717009327707166487497878492380400175154213550441093951160612221666243528158523509806847552319703573855579378516503506623693217873020266732391963254508102004965053956338888900598849720374919652434417301399696449749485611920427315650113972873547795611455986610734773131828350283860385656472850982547069866640268260624416693752145898269586442701589469009285025289742031480061315929657633076164503779349814609994176842033238651333841075082250955282566981725335220573990001965797345521717799637023715741999568768029426146666170707008422625360168286887489538804452303679499966515840373088222288970237312164483992111500497221139397307600862602439226446299833762500182880653257967901029092740360725464099905192329846640303413090536096026128941598986649944077667014318091358052385772616723610898799752165762190323437374983647067742912032354525983376478494258797199980219981972607881210892232959328095173787914493290311327728402813369408051342975921859304611397059205738739448844596050519721101068692638661519798251362611826617783714009630832293842507203634766139814162355028273596898826509415987911745955926471662079616284904428378079320150892440224918807199973398038404710003102428596977002058264969653373168950505449594314341002245555526209359200658054202930680754221539454134648404596261287658428301703060146107020108134979920602836638882507725748944382217670589218635372454635128273771799434837913720503250258127349358128329428090064734542957848308788593716559384034931807805276854347267592545685373601949927704879870885573388518120162068866775759387415004207824476579235515513040564768610075810705782259677104586985860625745804318151453987488857606237784986952495946167869795856897054869430891979966434467300685636789990888029407721864704031436382618822435930788641673138667210239534825634624740755759815455919524157230194334281026709277099389838672775276918062890407030215266091492084528000847621060422467165617197678439903054396378858440327835453701206429949424531586376773526227482396528855672548746618323012579386541040147807520097488065823130345553461134021891979715550156910059765079411865755008483600247995925888164935840451176684817286922294906613500109607067890028527967695643996305327382413777483084074645223893261451420024624564641704099249555472457338429165848617836857475389712421238528341944670095036395056030331709504920388715779776364138209171792743256815786948509420802561360942213545817255236821435011481306108556580035338996369790931816862512737646547807421234838232766604970561835630921366713795902740345385325985199487154921661352791288256595144788022075442834862923237843505727785336041444343008782271899626719352081300146335735398333224871891245510855146395914325777990161026598989766221747016304663363978257188008881009967500966374849156905317091204548254669865750838998088210709582396799050894280873221907945382466790421735102814257745728109240792554092692615950274122689906557794159529416194662745213153083809289735659239448261711991820985608164083559106261720815021666633215867276717612186280493297969001401513529415807549754829462082635862455185018971349871808170277133793036756288683341341670341647004295506078205514060153972455607391167893924677829814581635676047759690717170279941572480644400389916145928071306245699691970159354195474002094158649271609347896925155613839625067235701557601389720010482559521297569014767442610465008006092926945960802898011210717199520036711741032186397670135483999663528918858510517966417591049320356542303826356553571230761154142017125622831939252731292409446722247428178481234674537850598903441910452712017328935787964661570487537217162404917362713351015748529176742755935204668747801294605713083998548563746899972259120888087530889345643271524798021016154321174289141064447146003567459954801235077665486677763216847717805342413717855447429815196189307815112914990739752543213085903891552973955046757642700267981260555495992745226084672543293469193762331115495790577900529556224756048196233228033847368375602155473240136300355108903124799740944576545796991932516896517843946460169540925528334607499122813403185234990210792866529327710269109058837761209520847860995922619759907601228267382555234190653807736225713806570568649135285404234105107691149051542540908797269327958828593246451000514178027336153295637156423086373505347375500480513722963580544836015210581178455344070915626313624749578247160765981598678180687741169819339195164243259914993337802917517570879031967027476291401047783982306368777244157013105105989757162761187195995271239420631213446249420493753676121308777748705529017685963435524550075036205062486222670096743369184466738951935060622084070568897786291548417681762637506922963958076721504500137017142797498346072915278387273124030313863196182585767503191031557589980419524055050157913623688815291919767809536790718871641790842377663325328915029913469608435535452865036170904994693708510231742107413094940086387006376185568340200568503633582614162875995022396485258121900364308166498871191332959931151447027400384767316173589003305454823627522656238786868433851361474771365346330877542609015735579152076825011000276695105747024215287549265670526332647326653886483093389133452144033729819497392882721451498688165911233644511837433152014600015765292483960980084571709095854234966296512687398806974865601789682989208351556487356902033281722555358308885272494701874603931592068308590161073663029918163161773181277384311331194370226377194960364247790953440078015258780643814893821280193669342053810854172552078540503663070959868066614729999208453919509799901237815120572243397740598756705233739446112204954133374808879041747975085174812712621929325554355677455561860970087966611116271375762604427406754251733977712733213822170669161742436673859287596040052370404633899582307924563018973343541852962336189979952668657576860954717452209217071852853418077948617515309968673267069194334989101406425036688033765041990604129096929334578158421252391260143254276615463766100377315277310975888513460733959832820749548552539041123887517419384258976987480173563993836101199948125841445001925440649091390114570066016086322041134250L,
3553599687863322319008049369046812822569881440148340360975913483901706404973023157154562949517114168349423367328930723831642896020476420326625261133931857068373981771703625677713262103867610670640268593000715901241877373527218977826586168082042431774473138545171733236070085523656198963635669086087432654162199033933200463602590156550165569276810594786559227714809244089080654125164057464154174635454990092271110805199445896476511172036420140297688536210889296972223472190757973901350919097851069860415869722494264887250985497360011267438590023468053727281003110363935390696028222254370429231269703053412429922550941033811746841009957669249766331865079656764349688120688371194757848649971334490857073988015606139046569091704009954474245562573897002702406051788033100471551638754742461890378747045370525053896661262520412792643415756637872362608136387408775758986382382273292672711538769153532490665322366744374274402200090324624591474306307699216220155141193010728539775752609641883284931675052159514312099378053410121176418506815479240673742567783108786224527633871715280618956194414525753956477558946328292863069112835590973558448003049301257506782443468725804992995710149517805099390512819762600575679579688890583115065911712136015084242265167865281572955590661149871986152733400130790551303493415786965356814136117432194131336380588356070099815918159752392674867997418492808333845743024406303701310706909234883259873766500191904849883239340838175885880769725430128598861041911929655141576479330692268439705014232653230956545746399756851991722806780908936581063859994057782481996164183563616249798527036793399873263299962877615026768751642002269527904044495086493898624816195602235675975812375547359061363273507943541013299137832154387155768807603062069681641945729697995697570294745889178501267361181829095532717479202740897009882925540982155445505490075110423648341576514599978695995607501198354062161330812493234420548169362532279262895358375066290464410738813401427933389324143885813267275402911057979154046458696805787274667292616509888607232032190021606065262020562219345570192055527354132691194473571604660006129564472127820833470356559771951346354918424341101887540924091855960019625837523537390059469081864072023218765179627932038098007976203127129442563803582779942702183445727180574204053841155420856511288767447887132420390221634269065105244401858133635155507359723473389460042925542694269478761459741283817321947745702833114507430403663748712843065422062035448599270314806265881313261094495863058228554277509882659449564389640788754563893379990683721817411297509182632975892237561694815405941532151940325961444739218478471746260303825613429610846571224541306406128099231108877101927549828706714667406570552948468764001686099276462813621052719557918143265627451364666023084531451656960852066216613755731423370513161159703929214918028432946041391438104078333485523222307759098491296999987814284352047580758574934312975952223545805764913953125593004960805219727855185808420271397669282263883855215431404495158033067337976371114763593689828918245835981444388087665878019216064825961020671407089691359332231970590778421609693973392248287679410992879820218384011463935345441378861170560257610493978207928790374593569738901738952885382549816349900692155256392257444414352180515478469018747338257858899282138881786412453554660201854212452833379113328274565563777682838638261884489349534435099569606436072171415064409850617794660614744726444039517832342223056063628499904946726962939934116086902344063929991467623958727379384053956663719154977106712274469933881865481352049859046021816482070469868438964956072284094445657039822820534090883195617158439221308019837962128365111969761298100934670967556961974816518148883700601806355575138387040846023127370319066693088913696820442862666723991797351015469230760714889495670505051654283441287046713499127782832235167369234562896736480100518753025096007245354355763129681332283428536187138762651878032207582277004025364275598664755243040907034020335289636615909371483602177177991879582681230593267137472174081328546214811357198242654731407324435906237240491281365361750614072674766887971866048723075408846905352570148266360645681380366607026017485694137568895843904133991445442580241901195016651652307773735126315322647638914804455665004965746301840353960118845260107694381904153282855283111182686988706307322051259997234647947642527249481413882918937557028520399231861559428816954012873494847947605163784982325851048856652414314540600156846436648514442920692851228826414163807450202229991948547711521250707343800870263810936171369411728706380537564277537112243520716332191928347868568707184375334746572736594345364995258981259434752421193981426280145091604630356828725450121622578912764959961327263210097915055452464688309040823304242912386240714327081296233002110197213793041433623277713386334917965172031977353638711507891447004875410127980131384316214628390830850419278116738714087549604736580683543340784138719278517259591586709062327232680494829175557538695144690442589269216006428120558715380328942167274430457307081976577009322086970786072343673622498528895808284366409133529161517676099729269980794401009826997782523414625939291948821131162679066903797681201184240565320128618435990538168877066039790683054678621159139937317474067020507136314351753485886190031802313894237495791801617932183479822247418441149082263414388324147872045370317259461878242271148127087010252498648700140374004871364085368328318072933730742548932462995086388349047538283289483666463963607120725741144848877620764332990734888495346976316188168091235290615210615673544485784529910412205937080199877185495674931837718037981297886516957949292276721662734090055956667869104609939829928924832188609374738575647741607163320703138144254997643913199492919588423419571558149377517390362310443365283025410983093066369761149989702128153864114187538986632009550618719395636190714676899235742097549974736086677810796773959026892376244377574610985250930561819936514652971143939749659199138971557730888793935153269078165598891060249312556773430644637421667570103798137729727003252925413755062797498592185677026189846867960220422035931720072585318854789480003134654200851408359303124924172894435517641511677516459572711162566693643974738913055624430960377943818784949242094553093L,
6126564348216395218439813062880170299963104059320041107817640446209778284147431756586722405960008084446082579943231237108485299762542850513566642674961316784407860984197802503474863215480768367225727309341847556946205850898393863533506237755085248177268120338786489207565767562622625584512198439846930101550041961997035124260790805839822247847879890107096385816763792914314127595236430768290242536880976347540602837188070814586433641850442877897174224409909467509983999902160213324284538041870690849490385687389708531812930750238960263461751587277142411347599512701269898505450183951063908310468957256496571447981313936656055476364859367309476464733196041658498955725353707245486496252973586534617326562211463483565159106581848875215482122791059345116791294454308849884106673983800203824175495829892190517977663247830200734452061632749004017024193444085769733513913993972379563304481986551574769438750371783516274753508132188235942356392687196486362878060379349172490398526192626843906923836012961492540633458747937109345681564727496823539456335399819476656636430480116723977608172311621083545470922560659810013050693810891264366464613776960044566243523627776907488137266299772181269970028269912397767491124065836643230785536692882782167503289301828700615857700268748422443371843713869721623549682887113192467682648692180556245175635782156009755229571743329730437938258371176325011616626377546294622330568505385829357646326588154071440362023127965199814695544924085747207206763187109794363778294892166823282799170669891273861482918829897923608627094119115895921538582758056806627172945663040085376333461314971655125857659171590150647662819300706773597092073274296624456287615875952424069542401630387974372002853323725262328733835693994570698236826598706956056779011644748173463014081306860865901015689560143795049027005621640232563627845631288647824511612517395470907266703129849523712496857223668842059779589891621707216259297786819904885464350147939132927879509316284396775743961723454663118270227726648782866152666298386578518981597803255206466653562585024890318519097670646820615896217015679162956251645575064765992490252552069994760424769109684828792666846839788684554340449135725047524752880013354436244439954670635663831398878549819147876000084426352058250447407023028614428772052910181625344426911182797688747464097945032767083927911826618478327286829140292881638007355353661172478192166682296463271647037233936443586745774409084883851044542869742672196135588197024901732964564690466526473934445357947222821105972137103530578116914181789098524952733556105454056942792157643148552701498403270526084466376165286438450246732928192725234301569334532870307032024134321724604808458101539887929500843158783308821269498702427669537363321484901966801704953356105902930192968276760272420321464343845470633657610845582616883599512866165591609664272348702410446456602836672185781822897541170205439590320339447925222223380211323505346970861294843670809782307064651360011275023099686221042448269432566103471731518481454809944718467606489540610191452814301524883488679658415180117471707266361150833517096967417689000426450840968095621429762287073201225712782338724327814454935850294835351294823604051091259756481231707217584431234395889963871016071411214866476708569775085263669443815150476233223165225513300300578153075633081682461540244596190395765287304812864967009281384782518650643317585566029038531952968351642596748319286946083155429474452993227722647743921050070036830652606027212087094418106851510388861509624185344191595823838368925260881633703967398199530959420199704844128339050143306872639887047973762584714585410402228053961621257462302510674185319295946418838594348604144862527506986585610471670382585645886624426132135714069623870807826550199202899430083888939044936895453496806932576188599148619769377189594216924076313454895304818013046827652650285040928526902357667362469164633290169820896217483804237373599953869703159077633666579125841794515800100678276325740590272134356966551922549638410993164175051204989202450962951665941455848119726195536366722473260307912396169377320703256535937514109153486404738491193633311294174705998718564378412887318995579852295501988289935329712973928585072360159969761548902735787554823302639302252667104985419834453802904210818246178721439248510046474837247124141507393530722907848132978202212566219158747086609853179141904451087850866713279254952610480192517669582139683760154450241598070648109931054030175530205480553703424091763666895154842997166396766960771291067719911209060219812610934302184025117890857044382752369291952258128687127925580882824215565898266876086166168489992891656647966501667835079472345260590755597269490809864836477550507163798884591815474699500129336860293863471601813030152063236985190934573181848442243553048276059462337507476036838754444144960584612575518342045655136103531280567674940709833840069631760684609253465539948539480507863680147861100773059519013956690961891162491137882196410358273586878292512684680533886506983588042813396780504435183394061482677011867130282226127733711197180405821755738054191676175222327201325591954823706302582333666185403757509182916385988257350982945596284544745345017431852807379766324040497820348705853808733202344409789014736443844693914837398487870718780297322931312221711918674108151283831610478371301956018176918139609214266800907257657765268071278554703382288882194273763941068990490926842450846846162818489126219752653413756200491376125308170301359906660173104763620290183630971737140425050878562959218453367206235048037462431445313873094428450281432632015879301422020938521099014677238819922517772669340594134199801482938124152742150373384065050380647329583109107081056654643039750177227641904529727476825660407295987826142103167957093229197822205125926500786103259122201848823506412332274575487318320677296427414665239438534447826004999497603889110305998776841673939614794125267584304044594791286664289135907793893813222769043568822853700147434654643477442708051559587752836008877634385339132793467229400615348179011537693967076684916573115802693657204950569975379338433835606247061661525168484331588439935468416802500860581423543497316908049633323149726823091345096838621481174347067634444753399660985843732925830993993322993733500784752201838064697000953247252067857948271418L,
10560760518718882600650099295248890297737312587097909632647628339563656001938630883977996190044893146146221584378820394402869282220709343344964969932620686326040276257269451899551111002893225196584043104882074608405689754008397671120925417266574708014874936859146525355216950550686317055298729489175026925552896835830841440816599901984196640063029246987044315294471527377332267394072456410270770921342901299506474401950721456955559608488357607450183447336450142101243589228074629493245373465360230580791096906170581965194384504795520180397950691756797495764013622682755472673774331318658113420881175209608460743537434613262158515006221420821761166553469133983397747913729533567412555399606710696469120213720578828853940702329370053059597742807454485312805860552512797539272994377348238252374268316441835237152808482334681320814875616969736950829849228260148627900914726147543182670798369140654236280278147350955828740832559503819416910467279098710289044092138586193308683515908116506794216731917301112684413700710669249038980643487941235192522628251524735642901330761552245337964422363482341338762464563103898039204821456789526748574730569968097044028293052813431378381419974008330985693143446503143845085068484715421842298796764972145045895142964764975031619692656842682424021179855732740918462733887821807064426676179658236650763484829738787581851929630538665600913851437556583848796458100896032334791519473834483275837289208562533492815519470077235935382009969690993546739772036085088714345187481179735640216231837089312378268905375379141358030665233762817609166583529431749168461797090466083272413162241367984578309370165148772617281852044820987712180568063881271983425071647817475221463312881008857404387032299191475030081376806198727782772997688820155087511819265575839673575664051840464488145476148619073862738267491067344744464046200272327380735117657487560851239953655526110631165051244464006692120882038688893703233087731384511845689858851216352553056206988915179560847122432569987586653629448917932715150507873034522668375399158241719944457937375263566352719678796388917403801632494262174373779246376399901132364167001482871324793743156616792569944298699984155000203372389788112697488352032080060841924790399484994053632686046378324273299663374839424773009083325575318064836247134760218195785718087816520903281495477293089535527368522959924281189766447575525117420329216415663075937881944324922120677280889748595400670984154493499389708730762462137688492486223709965829123790629026985145796677290995533442520337719536116389104936394885872858080050890610801873931798502263565778353984420673576005851652880145005984017794312332965808247203578145094806663744659661823951662419878928236101182776726198807782052478021097216325797956948489542254178745475747170064734696702615678101806445178968373867210076657985177805030508211665660278116982771051498537222134090803551445442719431314119142948037321437863528684601789449383331185491575653663710538429949174929603564315504210831802373215141757749016481013595096256916176850055137249514914197646492420189613751712027948292233475192168467396730502287723658140846760241413880418593215708704170476506447090255595310548132302818232993003340408635867916585189781519158097698962862242489086825086284509234861148452883126050564413686653774511548991113073246431112090307446505422694355135047314642947862905759484127977981981536735653954381609101891527998405503709681598297622414664187212951587529287434587330124685495876097300629120171818884917912789556416545967718609189451405732156380488204996137614054941992554857084389397243113419438656649241424368319502485938438865622924565905604001141025463018252510306124344199519042953680857511639343558129355609321947154265373732435639223443587149246854063301196987875380584380148025845928204736161689159346394108904439821568349573443827182795016002742162089764281559045493388797917790670822305338827636360426355045407950594704440242981428010055532889017786794478285272597986055622014473843195391370560895818646286682194653566733793060637798261554764298139542561442417248850692634357869236307481205592101702780252960898241857638582846365654729241301460460276330642508764013947300279645874204566253277535959252495986768694437005650493412001304826046435457734826473155005496826027484237778816957718091389205766971239145846535680400545692481629285271963926782149262258079652518133966459408896671256165924475963002719334040542682096506345299293513788798415291375052982884054115178109794311492330740587757095107845398579531314952887277747524372008346465107884989686913431174826426923584047598381251841262474704187597259344257903292078784483557450372484021112681398483631055456404765497789905778939757092128239713562527677731356633761125345866750836119256850153599994232288540399019822661004099510184538983812613119743583811835796818921241152310633920592107597822560669849255441194073422610434512550123742639379102935423236494850076526215869167971125397250099169888598321376603421799041614885124832431193290535400178868693703231234982327552067015102532057489063818979654471098325490710628801492860450485617735705864194926014869640085114857640570953234576545545678587993640031028381065264171724927632608484804794317227187842054957844343446535171807176905301345461874651198477622352332924513489422774693860372467991156614443519906069837776791646911174696450624017951679327226245253459392788525994227551803128321051867300318773250568840691837398584581252938688217373602743996016905472078109399778831898678493337018885571261260612181086881446295960070286407008049057288426275231650556036819057972633933906519236615772957852876013255336990867586270252800890460727531277763067628018918323865810145255006865263823625379831929620962267392454747312938247289070143559739134575574510266924614466477587528403703047303694200845858572600648775488842110831893097379662257862247809279416336681375981684253606658970262303479722068028353869145063850766134946772373578580603305776334201424522494957779755656585344426347267322813787382185031173304246675808142782884225182144214853914668383497511383253288830730721571982963995729233922491857035339614023407102122521657894310902984020190047642403956940527709547558858463483624433170112059693949224109919752259433941802275468528383825997541841253044234444452969391544229021488120147995695961L,
18201330377581734269769090461545049407625886442670293806473165180489428064868133571808751564041589790409689155306532714627124179850202600195183641719238220935567771065404373530493146443229376297774825363191337417370797945337284730489216482869422526832846154525615998158520384466668505906111080601658956257952401627132592861617375043432942506643998533779871423105872896861037647527710959845852029460007609726045368223258711288188965902543037434672839533250918660227443851625835492825980757128148969023869687985374730416247598991474411208971452975913787303300564796981858235868804524005005522369326538228131907132467427063699081060759145070145957949643162304338683099988690465262192072712278432339534011020325909991568057014400473609249104499766655866973193958794499257816053137173186169127072169746793816177197267776201050302496212776873628542517447009346449814673016391122211686279874989981627036582968450728901931893695127830574550773027781682602847322908274611787821277824991727401430912747128066652122875067182664303556656731487021266002452543292220492427706208160853602530411110628963137513772194451388852463422090141467551847918335048206447795583812756931902487055545884209899343869299359137304039412903730446222107298802125977100769149290259020149620619565591535974089586522899235515963752631077511015562270266694333397809220109779309955084332876169785348622608126660134879476817866477306710375305033200081078572084392469788441065135547547775572025948116285491649569702726785786618982738888564589077793312964618832298674097406349094680637737621365607816048333751615864475865427135816434519538388539372331319458304109560814190512549321772809608880832821524033395960432359273600190638276376308186302866870491404828115134311791338067514823939681197070434597763663145553913382726042949146127552790197611285531430247880709912275637846545791209287554935369631446267437981766297936274756821697466491409351035626338108935196710539292553441653651529720217884178323806648703628595185116583904922621809326717409557116864449955588714122315069140685586976621617793540220476815661335203820369179592626412684363759516141781048420376246256849805112480981978178132770824580361165503124885284336091677888633162444070293329908685236118028100176827516021100972795728812244624424699208633742196693350711984207270220374798367037245261852308614291265483021420991529799884661819916427324832431007618678657930099152282440084561136312112396275869108347898775197119717554022766451614708579676278341928459306434502718925511188929120047743895542886785092953283407913170280202413027884578023551040984754365117822639328068990424284519607256621451979702614882171428149599175889108939052713201296550183086276771509195828707097987252729569102944732268099935973821487165367038376680412492737238405967168009803891983424924543613658938797483548458939287765201465403195763679302241080506681962005856868592891648577893271935789721282926430498211454643375245399622093129856173223068893492017236487424764808025983478273823555641676027322578338517916041027421599290979283190911325419093540761902624901984838027076284584272179874172902786820756655760293363966296924709985222096942621072709650321870371946016434243164653292674793970941401662262069514640257301333747190026756211194967979778004847962592384197223169577827639134847902915298747501603710685798586103371561564791508101206634619786237922048841615640534143055483212610930631077285958961820261164580422444250134791157268546063448661996069679433232999285926723011779322076307993097786050626890335418571291172891376825527317698058520813822770482947911755087641687217707059903860939800695132767381843797954674189341105051935605725891666603269207130464492323358930530598727447894348946378553806158841658379709123638154983461346174912915719941917426131599438807392657866356604938471114517810393552120269192972968231512478597928014504415769752874657429243235797258731703418655690779487626647797688608268675444580077701608488215408495380935650840753025789246252897006121123813433371842959401783721057545912801223339716793452888965431899535367873426452903466499597198492024703347997005995229765427258482975370148355656694166147072842120697553794691054049711355233882237745984961769503338380093292691076153035843432902756926982909896100652940234292751949151814724289888706883417718465572026405638182361740140044195883529157898319487372995576106798889333920807069781862317050752361307021651693092261180417541193945235038113108316039365214835359175660495153430270560893196919284435522102253792498243868360621490818081593600776451932486790064683604302121050836523082817238220143292797449722830939728121087891974514479785384853145997546429973240365495921941551978310275049984606192574136319533714510268239408750933906104962480464030575450576509729471314848396319520268510706268056515873922193069534364936333532313020698743712008256178114788726324795711017569957684162518408144679639912236514419922692954854689285259819522717679418894746507003689960072481755359658271607422849181627171309714286123912118024573549891680577991543554238284854783400094493230574178649637813778396738739582067552497154006712505084438639326075324902100864811897829486096352048888664403807985918580403163311077023926596913531940208937907452545915542428179028592970334077595168597217296930345548915826626917932631925868437288527795086040337467725994789160478031957893168809377070556292444040816672488433227473667102007446069780563574123051543500173451250377479354649235378581927926001789433598374372293297091934546648007911135382593865891388086826385138217103694850122965717462699190092032904405142681130856614241142553519527521488391410421993311452064676430130702018687826798785321053631851551881523774323369328875552402404943796599629420525236846461884614162499021350304734018244139813956732952419395136952177183770131177015271244712534891823790661266856630653337600833807582751673883509551116917026726062994301125040012321786917453038750169644234548582351325877035614291839424537814925511245658456402165171655873839642714945064726149020699296057818940598173162308182013834476632298914524901450901638182032632133805125568503052648091384928938405372136410271962671125419140905004826599161551181703883831058119725820995679555468414237344625249385712617379506326718452283989648677461072712162540948059697400303592797719L,
31364679820799811249744751008381463405372397574578748582759115741985686008006310782887330740241519797643668902295922079686625265603006174986650675917381512955152546295398453341239036766098995567857426507199766737465793128854429384283005081910740808551931295086871722981444524775121754213142108122576720325777083497125632352647716244933758259944871497922144281770999926720771766466588790726446775968202368799546113848777718671441153848024901051592455369187281062407171195263759137101528696723590692588025604420604083107272065953666361049278914599983887171827421500793838849061240710197924044823809825671702046963293692399427482811652236722881725861106856184745932156633653333789943516932118134922641001430045394239753288330515096496997458412963266538485559116338731046461851937575969984356521542137710321969515170197087952216288099714912289746668287236614251827207897742750258613343243989215443197808593511308950152804646666098866773595167856705945424356962235998352103677059253044204934691359052654600695625688493778302877417727191139195234009880650272297999692720375605443574826212109748783800983883479142439569680693138772659679805454295554269797642906325750178871008840762147458846086233320175045021124309254512461714032090539861708629296640942773280236840649150372693956863372769930183442382956786106433579696389754300171424679150699843537512667335343400748842910877181996589083074939093322490048801360890403905287197027495931571117302049715335805948631494484171879795087291943489043047960820022748370663585184924133075803778882180517097320504665097474240358974146238161801949701072102876511835075656083050040257738537777585156070851550990217876247123290497952633818788392659306054661648512120998905521432176184163314850706393803530192412187964240322149012892382495956915383618397822011489035540726797104172057071228924409215602888303146748546515781357258776623778813212053406523586582539363424751928083410849745683779948255787180792837900853078546083867828576116978169681305808495338822053041691978193515815634889163798628715743504152382379995414648954013660162099661087321608157021256088027884518014940760302627103995595313568550257313024042822075450288473717344227884471797375795466523952517389921608969708608131738515956103159751267392617715755207800729180891085982898089170870628340479196059482068294354846166940338890230632393925515113718928073333131063623099338379364807131507696097200332370913173297501663511751651355788794905526238068420624109961675940827331257815512974872919718665074302958667433601534399152691045385389927531062025661011599030779602646707639345284491364559850196747858441280874624332079417425301840861634724124693036283013044161756587422357524428845881846724031638201468821987879669745386301046147960607557671250647707701575665013392325424205296957663866643707900621513927939085276259306735038234192586009937017418142661017344533972897579460805252370021684119557654579985321266023554656726845636711290022780600006964191800178436127785066969587889657972273610924389189731542220733417152698953100960077848574428802390403732685298999437155236118196825113195045748728610911214235083981007495342917453867572111568785642321689154184148312698125216049198975168888466885290410239136007298667709988346498389690547255096633707804170478832053605472019677067593608604004544861258162747025735955424456912077242930956742483283589306613347797230408372954171285644924526479001366467016970914069242697517992999899384022297450878563650138633429138611152398273164208224458329857869689458617302146044027869577737544466366983210603489399647450672690727660133958678501171473709347537971035970524971375261172559414681507010925451380077985961120486813002880151446739144524219696750388494370466530525790254702671355599075595157969145615116425298099288614773050501477125884596655790945393988081446110537652457151438315348526495764698388586970000495826197471773101178676360053857067965244974641340856171373836640620435599844768463509808296082295750439702204148102036240554300851294856181817064091740194923500546174007131895923178167184101966550090916869419170709923061689694811285939342478306606581177715620058172861317001735721000533931000611350352117069635661207227850269401458951194289346755142879547925125746825087668898620352775386497703471098111076672954159247921271763199967320996388034152170088804216059030687694378121142451923785996382777679904720955081216858803497484706444352432856618426034006063549115664877869083213842312278060595276944713389617556145484322328339778150866687828514472784753685013357169621765045511472400465709482757527995917498448458305478634786780199843929678311870343667793334321345139062617746496388387908437584252275725894538183779409896771358241828459636759941922594934013539714749513896872961268931954140053697865078046424375307192829533989253091357125736460512220862025981966791207081250742022397768481514720918304533383376386353343541446894152571366080431560792038668864936391098276830403075725463289431740111987524160396253570266335566813213377651332110271722519390474220541085406891621291321117991042073800384343322185499821948236783831420729174030321167127187326975626003030237538122695177640441855766225046576694149904856752253557084201931228284305008696347471566845702868458401590794369818677851719046835835402466190663325713222967716299853019622808216924621170511071522190960171930181757369300385332180219955332222286548426750740899373836766230701434819238328249069032113826846426261916528815141362183579896950809030112337029752102711544751441226561143414731570991722605183817350482746687338234083641740410694050984525643659896872512881940595371567709297177237736144611082135831086186418193347856380618811455814217069823007493472962995251553377884441606154093276871315684604786865519237183461036532304347527971888507636561196605183960797806162398817049435628922673349376250451744078386662586476473222874678547802757178058299518648629807056134762662123982325320928281314844164230284812708093680340476155017402682490769329882490812977602945177087692061961178361760116919104369481565338273771515406050573283078649442671723026412089820389594787283108008997878812975246804458879979945895633124003423611832192961444473897239518358560926088758082520881204490134847503586201849357428566207527272729989840756540512095988013502391059670293689463526633399761199L,
54039138395186497639632068632127746499021418264054476394716092330568854916870044820562277484295554344682945510205607064076203845927813604297975206448536394016530364612741712269262481476952043436349463720219653529550402573550687551366261985923128900083505276408072699133642770829837621333554804057503270424435102446017338254719166164230295527105160769828322252750076699433648759215344161813670200247283300145613252136755219931142481999648765697039368174275353319581795270500697504285117055164943445265010670270247850200940610786473102649791613514185005436444872117235050535926631840935902615203577096411018988511699289739308278817518982217005614387687301919024049221002897207223686919900605162248770948866520063411180993270797200053894944730377957759059386010223673178691253440750133772039534294352549764133433579546355120756313593074042825053827503757326956507605208398143947055812946744206436456392850774778893406747484857542457025828451175052163025948454827445434793229827795111050643473713339765874443960246308993921473304409773164144707889004483399116241373858100080346719730178504515003397210311340916474606100892277019868511276670608166515557349200720385408515711882753235310321056414785359330646520039647582302751889663758538325274535138954741999026334203044226167761858429160094226367708332362959980053926972103161563916202249992460540773989372528803396401730168559415486060629075079350530831444701124096780441831836349396564764794123394780868952816806746894219158614710661102336656290628193097921777451268858922507983962703220864748576512470892763283315597477998759912890538959151821904285358762469273051851111974115828673766295511608374323797383404570592515366687828986314861660874208052322958467978137240962001632091847897084765561522370496364690369211574962413190993233295096445853925515100448441308922471675559401582490375623381567452031304821942363308398910497437341675694639727928709134188785009632585461553982814949725493105421613341880426408164323671063471626391918214479679052879237671413805567037512621443189723989956650537759213823363780023770105557317783494214823876112998025005477330533121110241841780536432601274668415938238882153446413492842179507067341724448474336850375820454953974592946075398453202284930380617957399655956679412639624894974851498730428437687597760049367394977996515332835602588451511772162703371228252094960059057508131382330077661053356592361179876354716182950198923118389325234582503294417609306048186099632130857285510298933920372179867028294334872950198502288795706015443794003899161477297486272907214838429674278440529759118847456011921732982913774308043184775461764932601093908015579923417272167044920717174639597665305526092063546611440041926521215193771792534396616178597650279509566061127552734817864219599759618191013963668181275623707914418010879024391366757365553619027169510787482171380465391152800725876236260468656414356401668027076594671666387092005644240739519050740652856558691384863806356066762562081137275468649635518982492313709101420671256589033994678541756750699828129957458468093807796432059365852708546122696412842137635540499777328295402856817881646597038846055316697386470028881195751701872302542022369506526999849252783789204790547156164520237369289305339678931496136394608597029013150551289025612115370866138724447788451614062877272755485572687455284926711199607997793923800757444951976847434260216805738720148831758550623746304596214809081503584974270928553279534615109931304448993337987351491647438364254179577946497479125754575582458953127170901369903401851634410429839812890344470401714406329763887212516954798764131759091042363393844051587701830280359307847468245213096793731579101214684361979930358961223282576039505583457424245234760416435416310852837673306005231602598713094549504154143391604315986354033399026528545303469369580715418418089350422462887169211900390091544835043239975469665123870990661136555664006926059436408620206236071593278954358736626733371045486552123957160132912620388686632349206909639100523629501177865159965474605660441578604372364461407177729261456138614852222423395129019442472474037171982440916456213273329005993202073978379697118932151552760582733648883335728196960738327653296113209484267132216553603536828006456766146674287461718743651286650001843754289816777167636370752511088986094544370965125034561935640312881808930434022291117008424813268257263618302214996310704646185670151771715282074021310843645621580363443637426763418591557727035459287720672824407351951257827534025360050821009357671151828825128302891073798928911807588211824421240670893042953691945028091405298388765934062833541459305540677512483326709339247930610313995001851731799354224480608923465255677025276856755979200499099263311284526213068445882904531429999070778598046936414219527797152429616070756230746490978858991731588093525318088089611133175800011345177936240889929832698276117368994493182929490740882901392915280330284373030918236274584081677567761302557464638298245472941511839951578461483929042166746561377708938580415540138272497112663531154650546733720524770345613426715675205431259110109815108353119375623098906583548292708195769939268812722413653159728364595442318850127349384370892972134270114514452449076651992070106355404080896802349727522871015616807142925145889637683974495637992078261244035607012469179442885001153312603446425484589945065102270492423256637195981540078679282575870150706589391692123220056587917249216858480632816093747090197062838760899355716847276740721120344352880679747208297419914788812699373995961746492332107617048828355240446377419634784379889487694462242962893408038048622730691142691525214665134031623629629465330872936605350830320699064756257154284429606160206714722849625945800278086063331429116435117706115310420436418425879361285819057536779710795745629704656711399106769131899843782062651002251058963290965035097587463978950562453535098975100152601315698097707663458299248127044689310517980247319718010495154426182947873798858393130918040510905621211421084993969884464696043081104664839035305494787026033871962506607403499110221545250417331243554429502525140933694717275679142492245813315086259754101106989818824876247508393649730118105046688109914515878573963153919858989221482608881378789253681832077354496810986893860086766287093928493240569548521856679712386884582L,
93090604262513403555241180077524787413734825007952002922073532150159584520386772490313117822237003315050916706032034165214484185797095322643778935225278457106661399886163635527217533312409237602900911488100785677273624185162432912658680071640508844707988065409072400205501922903043370167825116898551195019331659458341961779881274333870433135643475066842658504823018510995474454522794007440478702847514044905352298893693927159801771326255084944299964092155654396693211787476360776847283937398492783622112108551848388784855710873975793508014628867832467152128379692071747029937263806641784827984259105909096063313715997124594902950705853611755234776173647374710281431971254932168383678143227795926316336800149261780898950426315909840888492064760694503511911256081186734822256574510502392801519744271699906128359235454130890408806535273436439877828262311642007138111825908453003705453285027025655851869011877040920374499544927319188457844671137894660943151803233740087725353081940635771374670255541974706889324207589443639107223091190361757091628276630907503788232114533497947816311124967971471384417033966136894126045960975862034021879550026641737257700715324936893845284066971010080254936907346984647207827501767074112289103029833962512274995626990699450963268900353621573827431863459657432124812099867892036907357512750166768959522704409240029027851035750535912575021569260093118281108504568311800767296100292656148079681235359277253944675046326758580247985987877993910928499442378900727352503344537296913374911090161330631683699638693675087655905547029343228194756800735653335218472329294287657326351104824697105031346355179047899119253369301668931505170045032690040558173158888257523368445432148450957969640140821439585602269071064329838231535720243024797767991544840097632365250957188694090695502808779104200930420510455707441824304742441073042117675680090842141402700417695969429042946438325385339972045608620701735291926035304766710737887073846597310715533393368468992255089347094056656741938237410521846129875549413980018708846388183791294907488795342894737819727320152161382346624812376825525265043359021828704078697819995732413031829109611183854675429596591335696305122480086073492718793319235957073148567883976579361100605313529110621792654470145141292333208252889213930832118465578757816277907808427721259230823892613233706677430272688032976365006445929952308989266289095394423903657692683659683729942717633416679053898026631341630984097801819040500099939081284145658317539201803253993481959180192567118137382020961264394825496006848709882068034575592946536401697411825533823066015882469739481678259101693474778744223400175006747571056122046393536985851660731891325775197462034762315353678773513642931505699715222218447370643897545671758828658945246074761081147860320999597785196044663943035687007226085950841885620082272671733585471611665518551085927912272225780716701168571432528432736122474601052952648187111004427546828886506664696279721922679190606357590296529517063117404577268334235955158561771702039218534941017599625292307057378599356066348605762786915962225450988824982345753344086258864678664270791652333537766729102887028006080349507875268353883923799140266728144065177807086320857931397288452864360117077519630713403343726980187132914874483601162864601685580268881345004577982858077426797315518684136892602657294081570479529921663411895998135718001633748439184934381310859582897300113029803363213368632628260403783221169069513551402990806924634136043543245186479355104672236070162893165265694820410089108967978917877445083309348201216844719853283972125236069445131068880097362703122948021575534140752855492194766983767909157173886928695747149872956316304310284221024590830855987441962757078497675142927625652845768295554663625596877817233330740951210223497502043958596627190577851185662847262112409512541384347300112334353659835969449211811697719018617796456254739292399499152936107355324258788166449789219360869526646230512405463944016343575907272469145869304804114157810995093909697883257394539169757774033772855039409617167206499120016480732570572577477185929487006647341571527503487861220010879150875622250931897979605990607841063262946554568721159153287824903016123507686342234767191174433793472048779016667284709899260843180520094823875791695252592364277023522227672307952441494161573204522395026151552766360985046805196800273221902128462564783112969843732871348527782127947005667442374347973322430232129670770378677824785722096963523532148714506977213833986726248499774689428264373650570891865939262786365324489224296679191931776672854732038357276887661312724594671624757777182211899245202570610906083301851009602018467182601474096639063014279826625913866498275726265515418898856452686696062036544922628080930869506999602671439474955806737488148223835476909479026239869869098615250574910181118878662407148359087575975057826620209080827432909772543839244618689829069197210938664374515982161257668681358217888030208493565087800932502208168444100535958059732117744864961983943326230122874708087520222317652285359369219301139738439050714111278370679017100549954372528375672482904364714259916742697571217633395992063664663353396216006374710341769577217528079403594029018248542626270380155805269821431372871176798583747497018775980922136237949324972153882670766570622022392536817929187780198680538005864931377275778889998072892772394576948823940628272081018196286288927865214702199007869758819366009284957591517323038484642871866803655189318810693125967153521174778046292073637420531740190171263648247432680904212463435393390693100882690700945069157551215389175120203295473568245044478904438137012939821512418864391906384665363118027188252775144725770255921063825293354156551502264685290781018199170622636659719731306981579363579337430453906504991783799123793009229776676649587849944689931085864796029984796102314607574570484617521391691010327328803143430641582295236933660958555509772635269438789031528779859095256116707604662828579352340220317800698145743911751749065028766264670092823516349492465792205080335164735123198508059709619824406039268339341191350745891564661369830612826071591399053254916969089750399778691700729630591124864809023284975880396339855101899379639917486936192815650073354630307707283038941289354492790862554994996586560242276109186948431001333942476L,
160336796731133127487952595904177016536245087965627127810205477901192143704044408241818480102290150471780555406219657322471152050180556216491559542792347943375028932558412659727627143160107298917277538473108738222737257208725652821260079108980202060615138723029210515243600543268571411117545687481631793389381988155211124976559582027760841139268644534531507305820431994399453786310031001761987299345215371829182143157940594956281313355855576233547569245525644473653315281922271648911068832572643121894309763277560441854027139862613239978303213407899966011372077394702437799360288630779388563596408269997969313053083055086018320578696167994550415306202459867023344852941835785394049383953282380522110023719912631361609166583205018511958434727341424800642665484874649230578643169986708194144615384331389950272728027190167421869402441760019483541641651959708583332649670048929499623047987696797107555140573256493619118270554108329494219814068949204789964690815713179627132292143620618911506084968118936880620734771456032350485695144692724672213688529073388510002631703450291375330526040310825400119986531884281518416450884985262711874540089637948557314472310018640245257570289646457605054304104757974214274155535846760056283883926241866676951048335779840752377717416338108601945596899939311441294979651815975858611575238333398094470729536571492008259189657277609822183982267575977075800979614600044520024037041476361347917138054968679599509828165879043389424414050310916862711709291170109638088549884868335688244469733244175373121127857243311472272519707320934462433016677748323398196037828141567367493027738892848446336747981974428100886132243125876696290364967585616658513608906859992148888567339220724645654154615470893832020268882665323362085857296278609274381091552535067565055566943331364450409132115689308344426216388962138028818398486403046132031401674425727070376438677783984711191189704317678632243447862419793916875432261457824549009178213921301567597179590034480414092330913200551264198509771211735400399115637180926748362501172884133136485260976227936369603358767605294486038458251328490884272746380808234638763101221372331141961238171868320713195128462432557825909431991912524671259472385775491085846461964973082323832802880681704044302216623445400728740700189817709825798867758748624243985836697314257237195559884669266699339911608587511419577254434071176720153732228640809099965137392032486483065415907214278759458488424662009588357319971214950665343967733709995470308876247256047731775118753772543121407302175220872220539435989684432146330380950959854474351563663785556624151983591320690885765595609394524297411956812284847797232739554765010421889761272267150159123371917156558038341553875392403431989022888121779988239107955523525861609348277443421380065516397434371414274284147779875517050915767094718982565044761623926556526671616960701723614104957361496404757079908431244218436976016421088704324580833384161112752307067371784082950070351496737911895418407765130553660883607472668723385333193824257700040762701627776920620242673347221559534925771135656879075254701724787204362875770024901739999314918623292342635048202368331578153631606923794389234868425517702335244044225678656297038156160192199026986646475447656712237932855579684446738648626570897075693364310608069433148527203574209050264414594847915548588568699741822946311879780068860727039999196832143702938983331964010045548270574018129971219426388600033692925062975851817175207887594042702578008837844461671825269693521610582129214943660617793681530978970882409080180122649583670659706522774329807868826698009294076276212564982145845435822411687337937843259142456902562879799407424575327024723435518791380883474174929214207074089836525507904120384367884178638405806182557332272286517145109080273319475721711469366324066153525181483909006812037180472205646472262891641440564209096311573957348991705196842120496890252013882376894918585085643706648890497495668132667787592456063560026420952170852871505861848647618003194156551268988440445580315606091076864409921269926849622413991172590704055626293788839173298036209009524518279474670007031306376840318491960131686379707833039276635340129636898557383032024106359142459805649879680388929655739052128728342441886750093029233474147633758089300544307654887530267439270603161444311882318279603797382456471382048254156178074260002862543986714686655629424865743041240418740750176374604537194245470317422005602515118568388630655805021982183479347224256923578400934287248838280530561405139850004141528820185066059246092393955774651158484417078577064750735644350055511926587409751175839801376799494408641913661389738075969039931966248787831537921796122735085186783526814694789350077506786263162223695919811782067916002823245245285800029323403634374027927318372327483241573214616486643163286642444055343912637296084985802773488982961124543956940305907218143119342413612972175835324264627706619119094837998817778370925965981918957662091484560653357133814893776494211380142245259804323424077624498227444427474904047355995325095614096927591481532336619402306406957178793513496877256857289553109535260074461213362891089466733625454320142459105154830527364621300538587341823773677297456248250539535046218101796146661100670143848880865694566124502897602197472519796278736801603288360490177688233169759342132642773768772771282502266781110043471524494385065456278076107920483467899785585541417220851382172978935189444442794348267124468787286244275721519151559122909251648927584500142283053677587299305110304689114084275478453309074721345738216093383777151415841765411148275873865248231180183104909610399452582245101379784893729285540373579483923561718033115975156158068736936164591322029756887281331721616773080067865539846854535729361924533560999961810607537933120947626754618444498720595452696865010246163579421571610543072100641003198856057591624651198847660456119950811658476200773317877968952760366014931542897404607567372529850891561297901131396345439677248461336828651934113971767273685837627450553456625893135149023613071119819235944785641604710509635055358426298044357547458002185341018917415606508036746560620289197712875772404322552676354546080675764641809469710692001896127220326753290453734291197789152722975029654691678184832790800244529003613689218816700905788698507483916725326170L,
276115330678908494076754514230840177382078140007699467617674930690502590335057773117061621118239649140366518785171772382967242005090392736379469185863610293692303569119302756065213616391229864439431718588298636250917319647488965925121824802611854412145034762555090739463047715567185937519817887070113579281247806090684014011148845791230322389720535411840497451027581038068111605061347511884796091700635520850355212396156358051128706455257110453253695906741296194132889447149975000836610148957840207116551657696768105057546738248617138487686362782701832214664016444298853711622546701507923310866044297445132547134080712922873261914285005060085570630536819925816226302056971363422659963386177392046037527174634654227006284542867151124872535637393900344643231931625291817788895025595778478149964866410640320998510225146576675426199808222452634215394346754170223129607137210837549661966314347377571784689561692303249898701287898720834019289154042892333517914871587730035162269981742165158523151177689752693078576069938656495815009768367446187305225943186069405692956230164798244055836451363030465165043027845651154289781805787518910255591254319354648580811731806144763371656284687871418194155405840617083687409259476460859216679412205058302991963434869599054823011699376236321049740784944993654574129380292720792710117043033229083822540959846687375565094975167317769694130504912687943081553020777807838193313774969756058019484340406313077160160053862874008076556170134885612410936030787952811465010946660703420353545135146913295246917131395955385212211130219429171682395421197699698339883748042810131764673457325678479169571684422735744081180661031558676160125597427447607016232216672805978126919137804017222324614205052190325386366979007345493521667746275833536215293991103189321197042994171059386974660018839853183296885813132996429419611224893248232318078490924893188023747975278313349245516697993999378669878893709412279186130221668290414119338557951737032535250067558291981686825829333366794061274521554569681009973965200597961970273321565074774967646369672736665836846895813875087001440544994616414725241781165882223933509426155189177490484235520319010581330612707975703897311313123750775713875405756653107187616421508595436945369357695238283270058616734291323193738670039442146173704107739967888857505220690987560256262353625240329859702516767711872664217074853734102133626207522315834934098387886710455748610122605381016147356846264353421988571781203788316359357099457978267631852261667502137087339602327805726410703547198325719472446625602666458628984820668489345477056774143968124063247976933978014308981417770254273406823331759915723759332308519311136087976266351676257632553140436817462093680466983364526037936239925680751830206738622462436515604241736732380264079269712734150490589353332200176446774884541827256577716631631760047103135171768830554560796937158319552876982259629924477862229060558854298205169814105784321018353111370473410780373577821636828417578086013762212715546529791778964718062375240780259067068645915300588837587715174481600460034681655079458553384450453046820863205316352756426172269899040943886567928344500120230387301650914183022036591486338726666949950720243271055629831165405615164970235068768709057663337102021431012841350878773858244671930607665754077826176012544266521747559645703656489434901410949431977935381215789526764468929459711754805521420624387443016929979882904341290435036762484870477987846680563380264878633393219890106273535477345433913956818558513233571015323732872871117502229314170224600549007535960123817282939502084669217901045488711959659586862361717046935654972300689769758568768186070684264427108307902556994358380834577280482694615584844702873767267374238329637818731527428807303275086627561510545278341406002704080641296756266445130897900728050431965967842760652051285180326725831225568403643059798154571149464071507716846287157518264050475832336283037815021274142685165205233856862361357681517567304453809232759854143575673192512642615407365085276187779593705502523034477520105305952267120532035369708885359814788721356176261130527296545635281278157344624560581024954622828759694314827411190753742089783985379818519472332267214861306579415690844517296786550723978252256791079356996878379050339814535797187198292264422868490877413914860477779927380802333803020716944014975277963104148223202283969669866923173984195133545622483310228267783591087128874594808817941573974503542101119158176638002402539563555971333003724628280173944034838241192520796336101222752661422268371311319835660562951254039253137463249958677981168849504196463881287703173753690655897735660524634226041061507203992454433731229933199075207608503995719356694110815309320248392003844693389635953833388058118646471226313347394570715771182584441210957261324471868337050462775343015668881640136908904060767072707436359976338342486454839879674021076969169769573100233104088271993742956656137995683432506608264979224153856742434114909853211728232373097338269529497348906759305597602640584631675651516269159440667200177390918314097427515626615404626838576138514192532435124575959906987155832155083111841727472102065132489199232303954877092056617761617136220187234954152313709566107973951947431212668876213658023774262159312712413298772113381761016430851897610554093388501154511564390629041157646100564454209235396856498886580841844818762852909941722780585505540323216579469452268383488828924784778894908336389894063607432928288477440821430539366780486269783129168894730471296307048977124403800187900488834712466396982338452870964044037819659372973900252815925965750982710033132003292970111589534152977200841798116528420529935468098339448674079815585752102421631887296691612723469002779168798384831945025897091810492719297741952546587715612714468227410346802330540371994944244129361324874237718742743825228631542562837957664753761471270169243540686138196875152672320141216407850034395004854570831824247330098454378010615798321134041764151836946361525309846333915603306381299057182793957966085940243469874621190066761955040413316277615670526469031437862882135392834949735302104291905890526701405661816559722649778844480794995593153294468638719018484959945813775072375572887523354302145201443884521085847068830814251076376584588377804649151783176567416758709319285470429196754259507L,
475420436536228272868012860762767059183540202432359977518317242507319484805688524698065798544017222860864229413915823237686245190193034773000218746508829169703120762249823109235601727935662505897205371684182591605979811441794876888733673894003376713110454220723358224022943287500594743401675673491655987386556773822906508258992069704332506329274034991229712627278660218852557863543463400033345401309492413339798348300523778946027832469762078190863486127281880166041849119458624879241960639498983323931952839509282089525739862813765042854809259445360961894822586777597260317575120155068698863246854277520431593016461104421197691288065155609404899646989774423526379532775088599681776879785411497179408018872762558256879593577691192884142352202241055982372056897386775201517295521070858897572086438359300911526935710811218942051134004500539745852281998987293966164244863563159027144268485323026351604694323993599286711636032120318037504076762864844144088238457385905207567079710549683063713021576830067930147481557009437957738917326537685434953341222706618872493644945468691290231880430746905629865879167427935099767681438029158532740461054398202668654032533078469405788146564693413905165061722210612288240614278379122338011696810910640046584907492142596534451362034314366351691924215739104192369957320013119820414237297778783258805385226700897571409173273272877157512367979077998735846976339367669078864539349233809906363978028170331798787692397598310018635628627596854782911741454155880534637205716486386298068526016543776112257125383825372631333809386086401125674289813800589308340311118659325153917014884570212928565380785734996468852317139138765832685976501799677494695786171011932293961908300462693473991494184444899492583217955460854407852470628982077878900578774234420143869550346428987692923796633154206090214939567431213401776450484187311244607042575190082343960669302814872347725895520685282780575093773345941155350398156708205179177754967101328139608403981723992876202783954027465324154806487641983144543904744768569904514976513426641946741376890615352621418017244480690761288051942097081716288156983149039126676541625307022969829354472322209035131500534048240449449087972382709160593798108892646223728650263616318988979204961791795816774146363896460216289333497584010794417932367592805168924479379175396101045273184400884404013074989558989846786614684430927264637876851095900754803706608022717809532202717316238275415250450786543768482639708040430573074230036832963282466770002285572497299323337369676516751947327769493946300705856818580878411356647928393448245667700753074434160691188249956801934147014860765256234092995145192526123927646044196979218949839546354583601916876624959207329823651663330039144275341346503989063236529176873228743261070625698338871455153042464362812880632482036942203046557968063329501027258132319402788323803309864086604307268221496961016712977648242254536801731677051748567882650458651969398734109346790330828042420062668517755150213126066419790906774397999287998346730955757912879503655682323889588877828200205760869739899166994588090043179642002844333795579497482207569209936819782655363655629233315359622875159355121390100917030520099426009857745881715647688090105462796008572306976548506268360267465758202651232208698143132451992841386073009436999687411580182277907456439895324682409462402869101269973107605165077214283609824605911758270235217289671306218709573720184487918896297284205819745678423464677916095979604818691015405602741189695665789790154196799345591012615111116093062008153055334072104908316594439071208676228839775715264239654310428724588054634253164962275953007336382154807003897732324735117628514586391933571090991682933198933921156721890684763048144040812102280799209061559946404594801847923473170332203418266399162579487766810519698516390259093892664428110902870107366197763277565719597427527491510451857428888578978557911757226386712060892070733379383063080995991665861749171951937751028013765343273644848415241448165217175174600811948692940125294938826280789330838856878591720853667420729322669661478372325965968350187570636063611068092117394116050802579207889796810241524458965403893287738455518980445317607360536763487453598747978077982797629865185747608450500664589096445129992805866656960803692809637365501624222363937163835232503599947292769114500541165559980536742982782509512086479871920278198421912799410798058427120423178589743903441736250322785450652562797887082490682686970305993548158992118680957155334433368291964334780047308241981279829268362217065199711873006910593672757718274355216568179135684421311618536737262809967059982345736101748838273497405218620317138105598396910272042871017353435887719057305966925421361585804485162750228378509966761508747521456403629469502534909559436458582827738199677371804563695851971397029494711054612235042225266626434632140117485402888309156112232644205512232263789479268624210426046915723160993492811621564659090047324971310249798639759696457828968473298195973653138489218408086341795813093249011928848727627924674161725320884438158543191467589619811557272094081153204027156372482861617465966663287695345014828393153280572653052907823334279568830139665819268326291639561646259252240576549116428404448743258054080209911474663089639520059093677838888469725463335381932365555544010679612074382210341897516919755784662124627891413790224896323487396078738995809798068159314097759923851304411521288028540997378962990745539276470436125597436579646545213827790042246498614449349109142447117343647437785404626945128383804310040979666508964613474498182422623155396415571264953744749917712653565037551173315647438213003732296745252508920924321413408290431511516394849195231480141397173502370342441097580187977731412745486679765028880980864815208594302334796986462681356958542208072645735040595003632671946930116102466400500406309344071097459281926476604283780710092311163397117088056156845496350649645586659228348683809279920279173554265068971835089720352640063013655504494914645021164694607143112650560139293493579030906681068708500903941351696185039995989138143518028150480257797224517939629061654128324958277902117958277780005546425975751168769421965451078924240819067885749635493033018560616398977189322128728856320601332073222992498376158504459229025640498214831849525697947941621775543659L,
818455788799996440150052796614549136877979685312526339980983636763851089985890069830653076828292305850847163293940360726348729905986234546242703411157505035293081742413025236855956635537024126926599444341485460775148748391689359476599417239381534104659412241161321082166829159495969791730892564474025117143523182154118499900210067404780479086293318279534976505619899051313416987721861310625269622085033435760450011871751905381470945971576709683209722782133501331570797776437684136756144792259015844564983849072713705081230024734251293344542164703080735832251795326895705329572993609932925332995309375350395021518736637573473348533394095188876636612829837342013487445200019618160046940381646529308636168567075618991311652118795014574185912796517432489517773842658414162294153830038822714636460890487993034906756370248769666830133843640292210620236065421109302800349721810138991259156106010971803932625440452601923026519067217700472210548833064493293269795294073259533830962843842992303451514519089952349352406039527572127466155554601059759194511711330714076556180204508712623264314217727381001062091922299170807933866253118644414645462024280301617616441921347574606564502324490456756508108623579775994788107529081460724325593315580693891143698372700670022126349345074615014950342168128311276945445226336073222952246235104429822123674972554704406157314310375061792821641826451187986131914935421329618113715044062701172555933755826897291411046044324484873888648311198674344358045782852973438023902742119496943728010867197715947346207110334561898917814073493566102265426665473354156318100831676505039241478662863276046053583441966473849855665843702290969095386418516391902858807793581709067165033554901782946384962254798311512132136779037172903200535811809932596896304320286915630295339505915456168991497063541076725256611323287266204729756159695447158028551356659714740556259132666713262388464059521067922692622831972699110522292887284038988439350726591438851798789319306209972852216963404721917311074835513068335394445754724209334061642673384263303786028906373892382398310458025812303459972297247979839015098480519835016176672694031879460960609756379792174302560897474548460082603510768447200004770908385345212845659583137290816066360319209581359294623953436862920515335356142657756251939104597933079954531070888500254918004470845271598246030432001591188945778797025226999157721129142463327819901980813094897612501218607775646753643787189062871256343947780171425216142022104314773787697221654126730303928060800938667580658062860081356926693827826454335362747256944390953628269507864353529387947079005725243729740625150484587076971605630477876303188224810175806989523076807184073111936515286552264169706695589055819521936711981218695469423295479723095015291830716388478451506548934023938331329743291937422575897137665922051008373696482607465427943412794205160650576376504836999493044267503593212245412950186211747675089686818272390298603722840077853239888286961840577641035337903228027672169529577175024481342272915024494580654941340207028975998437439588968018517375044531956650218538215200610909729019866969400151116429015088743151253715370429624903801060619263086302192300433472388024756695779851851863242250869955248895524708970588132194838440747670263876189078543311967396363858772628115271809786631072318712848187816426759687136083777842488960953910853642893229073213836079831413002148766074821522723163157379470246921610866575131841709783200046168134911159790573995397234033455228113128094421694923418292474700579662715485258566167926538172247323895351369747689183291188984443968682091138167601941661422495176553952080867336876329820304935564727961649323500031460693069860216824022242669393832799688769422754283619523181134443013241061476164656845804054685020996356578261539650256587811642811843365564319775316836725690562310508010094303545063983362059979204032070597965663065742236074178383692322158923372718961232808706280129856946650396451222022013807465064707539354167465038803844231359023039587905695571780543304636537236290089056714686140809897600803827062646793916188214726151749854078873452597065600599242558553585596187397177606315481557083689536025594361801176792201724467097503126702627279598645302255042092996589623715122329084521670218238702231186068210580977095203900924640100788503147205356336892960048672651288051851707385306017045805985547937396592077288662182849372953178223033469391154871759246592749426658478358778863886014303945693311083578985686791650297612114194300070590436627961313512131264997910288003145017833613536035921708924492524545018365622179758735413287217802262435800627137551460621060513129440087991613118420677032478663185928316451240963869484240036678867592807046325028118036824690428039426570433610898940905800489170262318564146850998018564371949069448003264245795361576704466419001292504319431660821309903926739060819894946359117077842144722240886719389539990837969185006371390992528115790313174202935198589806756488334851107687554041291204467448297482000445286291220460139804852158635697293739110163420845017921637101045805873653874758224194404101915669725141279089444542524033258839802489711576895384288509715311545452380482508949564322345827294963228644147494318143448823195938540408753401898279947810316034324517493645419019930019367781301846656346089361261891851043427403790012217572231640831411998317122665944608264359947719987929461741541013462972474064246726970857391710407810061439148807842488846256178448067745330393303144275224065398677849437521231737787518296251377806844885542856769109336605147066147676083861465288717176863599914764284400032610792628416641770729480908365738628799370494372167488099312160001891234703150450544518170280417034737349296754733612514689912502634909595981777528076352127788976467701515679353969475951048057275307735650401694229834467822732214727994995560559630339752640995620638526723098599970511356198267910626792243894733699760890590386699212884478705950175385950069465863519681134662091572083661730487628595159604064340267952799225915178862116953950903868455369051704170561120780581051538420886723832862144183064876504391238051177513680982008407407849402109876789441158018228056097178514909782962215617141047959132107372298860345894501570137089255661573067432067632931054979377078829062306569318489338722013644236L,
1408778448901687776372365765345346950616928964503644758485069323702782546222020940250476752731244818517405950438953944024657507046496858071954580480127922864265444041389866852196663356053716320131512397591394792261095015535439474857765299395937578308943527125452775198450621637822497011398875451094379036323000964450037582365688133458972332894557251366840422858595337269808768305394625760195609406471823303102290007953125654211116033031539360809377380513810440691479795506837413334715982103238208253447671571372725107012876466279022191320636031566951213365573523354394527863724407691232254897563309885712024763638773675924636877349973864749097743515730054742599319088980223419929122798012606086066584561648692734793294099510328150518624293865487105318992769799982260217993548305861195141426467291907527834236898227181117493558934374695373335921201745281795866947203181630471988409301526821670964760483645811281530784579601922520637677509575138117270204390651025340709846852200972991481663973402660468902696656588921057712631218140492319899869527346388087455214499948546600186991475859916340978648738957173930882804551656337018001713854216772245192341763343807060862701069267735541891591481679163571266495706924387889290191186641333462870157402456222384247531274151390467666198927111225447254982259548968285343856052449962956240754798497126454139470107798353356156644973323091689130724337206810614643219042099218298920559313596081776112217350521033489861347997826539323436423921836209849731110303028533335994644345235338835082501523210470871921518868497812027351980968456513138538481672723348828836773406481122405174115370344781005250057367755985434751443205352830613438095451212693698419097834045947131160985348795751143181293550745758380426578692224402738398357321656989542627835255821368351229106207021701697088863123854431882966252081325744047370575491892438461891323164195181062817101132725708845073654212955839373824931803663353196049093367936792552473161347965868851326234693082457021082429664578953770167885177789388631704986874831735394811081313628733160536045562359505086735227302833529135234233768238859765098128104572393119963442461725331629507354310201613040294222195028693051213936161040749169987064786421271276025288883151561946898561282352211665867168257570422207804372986245504500804651498963894566152908302937555525719075580829117605730263385667931246682827291789772762168147864433613153064986960786979880884238574855159831890470322894349406656186261665181429114083179595676949847882137700751585709060654750826375993510315671871247261825751587004513695051581006095240774583582758124932733476479517265038858301265579050678478471397123544571697245922033433610960058781058594683131310558900535075495989439309471210801315634653557667550647149479266278833322679932573915605136246946156272210154481655074771228275646972132515797125097273412620808944127629583531903153732935370035371118387026350426463236981161926272815748984809658267600458726147174303292997453525847801184242209388828519807537129586623432654607922481275509738790469483905519351725332385692269561031896307416533111840402487822824935950951455413485962676543645207515632051235450554225988653803024867636523161246317419883934870593270191492937419440479005162117417225207750519139954877880232988473768918525896031589739799765471190626655599586454154662099912797753080457148378980850570177171070017099300850972970467936914334346487340356983746017858954693999463675664626661830421079532603174808303368358181982728198946095195159701204391257615345468080527125401112931779565285917193682537521932105809358870318144914610410801046814382437645845201313282929298597511209758977662998489845127243068479114227738597444609203184595049204349463636236264337393621194702526276754750149505815498193569586421578986236231250576396239451000292373014218561036439106538000766212421359998878478285190677705636807825316978837974421706368279833529034194826422996330790466455518489108402707594671793924718590057078612658392591444039056458337306396831777624248690205498919714009169592621639262769340849529104482495688446178363956598018257720474078624928910703647945367718008506071782466096239833383231184413706484178226468672463485749686228856767028251202341263606767251324360327625783102647624198510490944317021289684629952766164300657020925544995216906179559838616772365243009526751053209205360009632488673386062836884501528661887750495177671551798041298251715937086271159376910466844425648255325333341696569248878427671209997746971513283831058259279337656761365954548041650777300031348256948213085516802772958849345629553354614930895880676498343317188668291577803123572155441396241774111525244501056497791261723150232207284433566005722067496846475832038319364899608909959933069796257459889127824282993631901201102424546557447488384839868129067115716279648398259181418611538991682178912860051195659628794335391792988277160990816744695295620198922985124695438804311879924865380263247320835287464066067827546054668358049425642769974215326400011176407506052742520468518876158411904218535685425121059378278968007711015318261826015646856717162782034519091872280369364840496141446803244312546893975861752117496086965202787154169584802769634519769535171677562417052232669866312580258844659666999734501129279608378002621403907188364733302178540177441943371949751904324743893914833938212990138322769533578643022496514774622087266599754168343133285636940758069088960119321673977673413765808647440614214138160806275474060925543836955875477761126105721602977175131761950654577974185637039490985376581452384680972572752761646142521598045656707671156900712550777646553125383515714608423856065923694494607333461366511984119731773898163951787436377439704055776805615066655266502366762098656984704468089537115211849583458084590736065399679263199964957096807538771580376284223348123766685347675558657835572707499984478816626294730301312997010826871860072339959235467305154515406794622023019407889870572588075468765374948598557180142572106690757164080055413135054063801743875112254351229237547356667914882455812102144272867854749101926421287770114609585883148471078451699528168492131781967091434869635352357709745080226165210754050468764550820422879485000771091807607642984102031543874399631484095084059531001648827808721933989773783474071403520565780559373908782039017L,
2424489536192446218611272933021247269977271966582338081221541540042894514059227508920479737658959018015228423432926056350999889054273657560809723688017822309806995600276877081471877864756848020155581569075663121868555807307186896480329894921899986017928961322522786744264770022008994285536490454929920909708371200114583892586998677829815162072668610821056243841398622969099361363247232461938471435777649041204548296274057439269309940026546230502337793847899934480557413764756232791956966969905006178201105290385692060011573290642388613849344490809876364752296132654364327084170571925637127444596775832081120992610533409245567377246772970264866120784030487530665178681068676949620430999927793147474485171330996479231752269390529622561472309926663802888049805635386977141096405296990280118613515512256988145277617888686534515981125866199874336594097191662966377008115413317787918325394665156517700588456895808700317462746848327893538075938413865315583643815689970901606025972437446630204924836261845734460332192514427276626735670374382408494109599984518408255878191911211888353445726756427596905663885436559265542098952931654294892438285489627230424741153114078126634438665585511899661951658444894256141140562678684443780589003581152187456069203005127483451541071361558460923958977945865819174398379858335431296660962443403506997718951808308779459907656222286525680159828978581526818141822937457744232252650329869307190263078246266685886963475483101295043896735667151349606829569525295078184987754521307769875293340012762875189568684958980794165115583008685659666031703630400528313174626350601277711659774699126702451086087308647614159845974719609594255338896159575655515498339186649753352186358855137423487081933744602197190355595295593984319199013338541784395949321200685305525234038480860686634944179311016348088305747882121427526731860619985581391239435152923020935297081791277142756509125663229982799180721693358605807378459740094334055154870101477018000799424247758376405761393074950189885063513264059689114640512882319417401284243474586013400217420948325874157675446731364143615461870206940755399158320064061440235039004762611380585838049821670087290110313986292814251622478005518315037903010911913192983248681054128466414524320383388102933177887269135684571004323453404390579557045640202832035216977030963452876878342760596784385076434302426962602343652082084658457055013715052205095707317930754989973890244329474987658499328831490365053941979795277592161416388472258644977548497398377609678758281513352682456006079239373940182052203136093514345672546943296442963201898797732496115738864861540663265930343175611651819347864150276938711534772491356351300132992851603367159079913011237778540647787755734514972239782446402873251276707526878176345279686145910470859427828550262495896004172517404605024176638018572290311599875438856591251060301606485031817030802968251765743914445338460695845276068250368164580759708477469297377272476025673197421561499842017115774731099817531487017498377326989219207229560474114989328515761443621980044375650918987691962278976685913782922972642906824999764961771757487816975173047245439762158425893257248468735059497253362914157313518532744483322087524763729576628815643133546698331828107552477574592454959151227574623169746286390243657344426416551030967804801204920949195534882724504630595981047660764393340552880759367810828147344164854992269107676322537731159876824343461154695016698667106195819730864403712620788268133340286458310872340497963916087338020918281186167072794373969253163711978577461097665196916907054408181718417296055579399496210856155587381445898960966078715069368024244519746724485604145441110761742117390636597117054793836817434859715271762341598146693030547045829658372381275439345859437802821046083994152002957177573828135379458972167645056315116995148895770771031804519440365252075687939025839274700239957826440119967123494335801303991977611550316293860435799646811158363326162167360130677313981535900782001073295004774873177545789203235802963815128212271711788009083337461988628330116945218626328964550860066597998948563346080509141219523645272948613802931207175940073999865530808424169493400811204022493483195624445578793676945073707576461153257754070589578276179141146483648078568971692960999908981080307486147653923641616061636365446045113989639270343873442376160224952577782311012119081817447330860383708318647545680015359499708937794452124810422016716242822469834229559365684801268246293604003235041234086371572757438165571476952573550495560180948729805707882098238996145855544058925517774913127019932528564882656796543638945074048824896119241336289975905188279379191086608536212245447616407668288339291785024115855547729606830639610039482267358516615876647945503630275698067875433990134193912868857641422457855457186230714737844983397379485401996154271931944828447390234812391762298525415504478432789907051816222105770575757344781482610394021342610000974990785767271893431885544471488121601764561612192791314732914407797681671299474543708220020833632775249336908882387242339535365498852518377922607011106799354843212829207205890034147303333959553532598308110468612080732388187993601890097823624577227650527118682558035107541622353714121634811218629377228841028280235989133383576887519080201300823729361790855151189436708221908029352788403075920960492859926763617316715995312072877375595421471670764418325526007539634574314925625693253416371372143055876194938937206061333785642952672994901241005802089686711166277912947552908096355072474823855508175670629698748678972875153540266818947559406840777332800101347920553497759535244502376268731470049983568110379710052804708411300369211122351116996773486532555414210081327127760540319343849530153972213658353036991288526618327867744718209620207786717446263754892777238283439206873206306492586706885272858630018030996225678868272888331594559030712684749903654744226770203628882173591715394082466248145205225849910335383256132898844708271114187816064141918310083031386114443038898523366546630783220915996376658687874725336887560599830123033380770036951164387824388046874913446095428688020102645335174521609791952376553021083232570277829598205497669526136569981286542115644145326368922197731030807263752697762753242058201784592774128344259511235934152844786176089682548753061920714109221719756L,
4171844507045020686572874766490902892467819537007905080684998800836693171539076966425200016968231443635482983318198660886988050555352571127685378221115963951484792807471173810143897421003635831010945980328393944042119336221270490867570822971939531045661898028988580037569235474282769211416174710839571277571785629080068370263527790718919091338716457004867915222868917084388834921382096742713650134178103626418491100608491522124061416413576965398969072194743772202048704062656132940716129812605192108927928437189495474537713101626073634047589551108809787665474932799523569905999766578522282776959196072603359417581584803499827454523165019243284206554536569643394437872788924981350039867566202999555094346318914562996510972724942024923113511807517106781614190760329062924036863029332841390166239294371581106767596105958617732825769400136167864422047778035132435824110982695101421042176259877242572449262551631258832087900184023258298167478263481030912928692860668205279283303825480391149506508640370809290946212048837633527218280078328430307304016828102914496811741759186399502587496223357308240931275525743548293223151987002052524153740470474497810918214582916942257619790377970290310463284469711717339824576199903232880420957566029841348032605849488408677205434461176245582438678299388614731837271789012084799487040069139365492853443479846925994539220368735943946426175250071123486940150295208890524202701688206173513112322322095902021480616681420537660171742348543167162227463933518857963493456744595858341029817902950534655371608512167582350999696617445977328223361241303525726076700366921416383232869360358554904972683746202654300793493300098440392601897112550113329446454610780900605647398750057800892969200189644909431657043758809856803166836476562889048647429275821623748937424561426583580128973650891694729644075234427988094572729655036556922232265705114081062617723085425389426700937843210108707575766654677365699633475832666171346121319438584602832851325199800826640345134727237042911434549691435225689857997897600237728428594462864392890488750174477751166058101533316649754262867581827438716636088533608567985080824889701699352570070614354882020393351079222734089447708045839986855208928573291948738406586363480701378604288691472612755373204014922436939057438011749041876792531025383748820007896167831554948732642708124333093754771255849155605979104585064072686538313423384501599974496723302387834036655592964391136316910023043881239592178334205332050196316743848240112963733471415985370198295421866410290095843668721564324666029364143097863602526684412028791683180487700758407373780907651153060764190127829016632784626529652741565022459655056003789581111080907383754184562776246212455829637025698830286038036879982065763350998970224449070596171679582283101634825142793041912708246524362815978216688314348644338065782909525944281009437451476357001710182643537548937248849903359545472771458575659478400225144523555521624389964117604144679167986591355219823648710233030026696482761692065227733795385770857045129186528414244224711679981308843094538750620324788130941953882849410515543738402289497649891302694964656070476927321558362633069308778516262563945515171081390127532689239633386424259507456222932996375951148749558306300550549573991820774786609574101370689640437514286398352128301525785460774012298240370461525922136766146591153498153155103310601484382371326532648258229155261511324598078334282499990579023531827480638229531483195382062764691405012104224810868365481076644483746239994166737350100436541793637787041787038854071972859017012920964223445192870796168021402790945836634525320212466569277991373763877961650696959750741929125977918877602594969100971148143769926768783289535561569100840121701405684236409335074449440836542830687063178794494537870662860787357959017673949888385727179708419929076185985104909536074133583907988840757207037658203472400681377212703559366785091002228084031964183895874456416436536245824390244660603594619771490612398783543572083177058570953580987130753431531233094756437661991437573855499169980572408447213258482844368616158602367026124741736098476703667214060746126005700364670108699261886981969285281258035535501216714419463278499332630666779078997882407724760011402913511174900867064512257372197642444667278727547424974439709355583815473156380302075258384573264407358193051269061040678562979725956738973208594113978937456741455286850642127235299042346774898316407025601079751569663943612386048819211312573464225772337279433735277342204870604987692757782468450877363833331067726160858708853611411752418700261600263115603020328321122707750555693521498170038212618417643506920023637324016230776493058264967840550571977626382768771173038427463737805756007581999260561422289175234359996890801277999308330639701836817328985283696513700391859671188540841088471078046729293395552000177975604748279501855483014964557778675681218839215683420911451624988764769416276546913380862266510104499242776636304037390812014974469494658829373780052513879666837880334454383587395376483783396506903061705233851259618301529384191415307142697875157286334071354738823924299589827491780696678633713050954212246100369503035123352102063679326575871324080723413199270862296821238264075669508438377234405453546383513872959181475003908783620456469887754334775955529260794729084323600276790761606173234476829149756056004095552046032057808043377134292004999950503846992586602267628893437333443726039576851259961763708959665970567758059358275671198692514609549589695301412340957869476283414943932428184899900881963916864239043521197686079202353242669455837347895643888489471487339945597082541559251520857182503000023658593756714925228961252777804967814117281665681669477717989869045821277467207794141696181177601202779494147442878208074227084832312693632483162104484715938963509611948954455690244007733934863104677431150748741342381442027723084971797223584275279999516424732590447491405599605310049387808334006783885226196187609887505610174688333827098122831580096819516370143763799466393151140274855502420660991531215995691494634768976730346902249109943781404052222032974560573020470006361540493290224010421601796056133102519385270451881096554760698223071287159204178696679648462308838236417561666855415067126876229115235142704389531569406201079267778092561104301419742066532039421L,
7177383302147760616187765742495416307277861878124552997763191531402130478865875484386515749718394389407066800066209653749900130574554252337568866595440074121997334465003337772946035111808300650740571785362601926824478910918281365353070980975476786990510667154260376625781801813469658487182045398733216726390762797596494625364388015265186637350465212672905443777172687244769747859621175854559845203603282693194522497505092556160062062483266690785554017664915789417728864021113366071918507039221573088396779058144306901391826192305696954864103914908389059050896651474466612732996642802067086221768519057932311690632676585408879497963030188730442124751559331572486197145439482730542890095575179025798159318191384355361041426043585837072233882929755990341555680418662006619158065694521106456681505079174319885861805299525554587990149360033072899960742257693299950739451405826885465531401793221329271915536089343364233452852936926077891528564542304472903673361272591097286651561598797078723086846162573263819731204404587507766907032225599630481850291270158826989078730634138771138584507050572234773148719130063995909058563130131675697347554581569518254864314283060664440821098829329286533659462459735482916303017496543585315381248098409320284044458869630978384322269283851832423830152088729588971223134199601920163330702765714135873910041262503019391275836615606947284292480842226132491009205631566801147634816284669208383253149511526187377659862245354412768243837971603473724364811498194080285270595861244120958748779871548271834110618384711887587218749628786645757130027592429629576724388282938153898647928077995842195898949324483483439667195975673110291133656189782621672215919191695371409891333631763137737526182961113767112391111080218165656805054023520630963666131351519917156998878350504746413994165488383193589385422064078055093235271026012199525093286467045236523452213979497792481474723894190699048501284356705679058962531664440463652997498877017156584044608153973340436628335672937130853141789121853464704163772837834336858838756422573909942907593489749018475942618172745499644608082842248287199898286199423004084263334059224068783001311413119266438352599937965975599872576602840713945230171695927866826121543872589577594064087411423743712036832116527415855054368557676425258852868279367508582585982846173406374077201299388398638161658542376149044882037038361748424043829250532785827267018681528187149386092505843075823018482506888678837343648051464913217381245551820496362496971011185950745387016447272560966450572194528051624110144896697368998921339472730800405503569516336885663396206726489705023768153090204051275744396725722484619445153136191891797247340331576958279932716549542966545930995294489055460974724661974358534136875582271655221936353824518170227182048524396411722270262716111060617533959170655297929342792204120808498078955413624722919358143217794589527644367310959609667318205222613861892870325008445642946516453090473109532542999942302924618600898004947602266955644351080006290651664105968492833335836589730161404987578541452407901359520164373401424559555813088402033294827999343691673701131565841716359911679728421238521208984272505871962167327050038394380859381724525174594021054211956608377309539625483134216359431858934122039258559419628618783039975084645010446376981169493721044035739425486944485288542665524987450019929905459612881237576073163160552325923876688613167302768233054689498273108336213081513876570537578475599754159215743858914299743892907915658030253859292828409372761593452751216525790732147249318467832571422871953791253735495950003261600469368179993232118313685452504125012688936492064315856150863360489290808646145321795801472791658532816993029831417452510732599975045858063442384744478128656153859477482631088640070017612107977775574272636916738858978666228596514434115845812677094762421171586539036593838487589104408112436631294139314494662936876947069833000680600707106949236362224265902180727450632629663254508469930268084690184584379875033986309371291661430176405556706788277820287427963037896046213867534156609663464029395373011395328018336332392163084553911847584895411524256689878398129690745849486011688832941723530589336946131253542482258686359343729565672176784924737401858452464984995795796192380114883554272321901339114596504920539777463733270015565868605295763361193671378845022169072260838163469785899647773414668789960139781889465781335191162583237651034512986953118711106775124614973703371138516673970334462143619922811306912863309483498187489039350917605642325452603656423194970492028793686650389509657455660519156519016477858600961430300994246517766551279283593098817129232496730875746274401018568509410821797510094022155174745910914320103784272726339427634174442529650061820631308655835173675439093457973173774229208810892722402833176711750534614816021487458753647042057053559091998583415510950963532725371135718785989789545138577690518917217633751107361510925431209328713418323598293683159515338475698814155339528810946488846871538113744189697848195077554672504358907839155339070361972300025479358108217444650009116900167800005055436599023918077137235890471930790038446657813479912775225137380389510666650205713901918113770879526453911732163816081545961692598043829483854898330594582349107400378453059988225065987051847544120893929591713903786693148033761038161741385820689039080683079614268595366224712269674669243623730836604037520417461134730292552593058920044194072970058056320337227638974832754799586595677577306908004053484051904009041361774226821253037291638954773347236995600744567287812730320862761358885076347368300282271210035504828104248928978892319973310592084150187196300842088167339755321865597382744106938610115892123085678282484403649095572112406748845639633692031585679351024148180428559433805362287945217451644696254278950074068872894859382309965027718156473286380041706293391216544987173567756467038468238320781969174635372830084021194542096378205411718176011940018991821923275310308787073198142054925148243348683671058891589738544381908972563103240439253925221999953043411782331986603869604212733957352562749719090348160635868181759480070665582756797311483432970032438253398756099994810484467056020779514464958807460397444069273471788467832094096137753389485151604069002499511717981237807786946345502465300395151L,
12346232146511231501137060384723473522229138712214530815059312467027577172681477319712429227333308147390727239218183519455706482156615547547202575530645384023842058816614835690814648692410943975346332367371956452851835649419349286162249964967105061327277271744901906781156827118811580645542813289627259926574223597523218258096242612932618950865598046819573801786082645147320915820067326693629355749648441233341424474025882448892794188834814596703359475038777308110669167138619703945902069662861312416809696928800111031582507931702015093241050159722856522960368236457369640906061472525171134198194374012189935987995457644484963570684147885688864506755228325232775713187695027388283693606661944408612785095925508868306435277232166060927701648208147959362378804863919807265447656665812294503239103083199795165498325190107296738551447295517824769457821828522254643457800954526880471860690400028485106888300837892779055060942549523209247075668029556210669272277689256785349313501237282951049410879288388467845208558983996473734240741464231118379479242556124632588359603811804446625388222094270774979933476920466128920138341095026765080929566821708159959121571376716229569559704952190222283014706177204599424142826477302127096681264855098706607879876162659085788324264590089154697835243344905499353584050084010675567539771280516834021255754524976783544613118746572177376749701091826870665785778967060510311360123177824402301455365069197192489886478249134463597214390622886186552357744727482133816909039437535002638577023695072935120883535781705015618300178561997636120851289300367996437958823622244020046026913344587053944806865152566845609954452689545593243947779494745812479196750914556478731700339100119050024790389202919716995260341056008634532747309503753658589054893059419483752408512942219401221273040637061438083862996252278749823366884549652025236587868401521585852851755858575517780852012830750567009241507350212976050854719972595413809666043002407198436959224728539688316960048288554890596484299780837236691056182445060451192701789975607138729868808842394685135622801550111241400827836988803448736282866062781936043896026895445069218602329680121737418376588636418458885001644940413586945221768607253928903508393846416413195875733019842899181618651363144806435921663647488514248529562057308093529799710874800745033397984333038384907567010654090969297791180599508612543876628920921900530518038703426689665358909453636827657135671753381070317954858917466380509549886083733983774212524783948744730605575282863260561430497062639976619695759931943064294499038784368233661446800984963129806068993274059532773346576961478567275052910868548917368797983514181714086758060542839046393721552107810600478014998245078083989149305218943787713790780183584930029519436529346617105197028074088087038828154476865431659394633309420458469812139235254079984145777125274818160818455261624919254297176362303561545184206535224358466589786461168095527571543986290380640744417320035096714317643923502995115736857035054722798040284507508691983474222450107503421207385940617299875934131706695758084059578280872239864885857622127984638846969525977113458551750043909065561382746213076760057099309327279145004231979327120920745507718852087140901742095800338717976834154943967739665260078100301288756738114664688682254145484959634565459233983836027946988580263991657162843819013348654610045253049046057496200225299983051560957493707730018474120368937705884978607839827062964079811710526585684394191674304736617799291301298230121378242134969638121715221048083372123448842726522305352841249124644722999678181300395431937772156208626075786255277080862240326731491411831441681378262214292124728765585253088104137980810162303607182152924479730223358849299824073824662958304878279476892498904325145372865687808079752789490714157351124021755495308987133962788450094826927119247626482216615044491812202792412285656118036181197762553081306919994816590264904811939596524693097850844004250168633372587998779235502743160149904637392615097862164903147850392115523582106835866965638337209029823085412054160449950415468059460063742732467891473626142973332136585779650377929159886264241295455021317257902272996994924060341782757462280665754340356157963403420375081125802575333450591419328414891930450303539249899109976921822059491629382252795884986489092307784689517702996823576855025425228384016037482484860588557984882968696623090119482826432339797906704474175970140929081778043349901167521817619813536711604165438876895161512250459083418410978174493295336303185354454498180313842300845393484684282018639527974723805334193864010247402554643825871472848012420806218127719393779828691492058573223339383759136110385699482046427466118507739033406479507531658211766129443205933111651079588189664856912093678459754748506237872068939344457896499137453766256091019613442055817627199726170792054076208943414756707526387272513323377150881225097519314402298433884669535448242085850467543458797565603636069170334350690533129477630238377644334516682781346170190723501079876224764069108265897168804126532902106831553093989116039405338851688945033141556453096632799881106627719463411205676412409289430579605963755769885873001726652488087599205003106832278283294754657953094701089613995523961237735770357793016197418301448283507926142795070536999921069395245238430367712490876118851921820261207520164704239810955163745584886944988566607719659669368587533337510390113030054922357714428965742735370380835954252269770010064172144638841920828356756707358384492989820823483850639658454867875579063747311564809259425426715649194114343164186407937705886675296315273450984948556657792290361260532905135825674733593344908183219846237344546857965484045850521170127378976261337903114593811386530538310397867794587596981392693131775961919206964714413301083673596523049293520150440726776232823604738691297991625953546375428169091069906690486391879000035388330245153612127276853780092532350344389415762207228601276540237859732667212748337714134966685115980570445367473420705272697280234062919409564373283620133793739340824995761079484685055193094915148317038958584226111772122502180380735996944790050878243453043021004587919465942795613543075532072896641706522310532474277753328766986855849825074204106645811512974613413765316241365590831091066901295118656087223729181289391L,
21234060632813959745374544527347286149294899433158256622177883850940260848089879169148693112433882820330671462594089940462840089111143162380968882669950884822535614511655478564724234403035547913581975765370685159332858053020133050497331245884229691148568130835249952982224561640185151959767804864573433318665091047456521555606433430972854555271818918422052813026848553920723377571249916429913840263672992086556275441771040698287407006772592132804280862483781801098739254352150831639854645016419021518555669469867640416678269611380963425124677915024519396468942997895869057330841131368213763623510863374622958726254059868606081749398142177300929335146148322061507364510406691148245139499182684904170995327398293596055726994763626088377268851171136338050122822519841498961366044615533549845021267708829075692642807500190324249884424813187669629295277126977421911927461073996040773476726106813098757998254734129659261567382929325939344434283744235312548662543519388048645294701578687106432616155139658422315523321229368850308687160871098731800705518477751217156821792819314121909179513877292489635300564137643672635716485941619843611323154343156100429394698303299733323439028492000069253625316443824492538165733857877788971923952926996271476290730143448979181970369659391973155034408279934128916887686551486103519011715274768339496932027082155874216048469237222150763739105870336510923650377004252589578195612624708360048161541567236459386394648365454061847067118539339033072062413829938647500961919639114391393161889913188638964010460667312978815446333029159658057289871335100225722555140835372842080975785555024373816226243222459018669912560616705181744590391471528647903561061234593059071068059485007405025738872487364524940216632860319580563935992933017801125351106430867300933240341272422621089506550535674851592249557149411365632630339144289267491192854475734111026615482828539907773625818103217252794160546118792806400717068933207302521479228899679344292698646584782999805733135068501333592152907280773081540005143899959839858687558577656431502197033631729983630229287860118776280480383270199840157689075273490243186344600951017976618922267476240742701433642406980282194086534384914707542537170046039671529589932793533580445321710671934289423904793324941389929301160092141725692579747102664357506039370996531495075271676550193088933298157317476622668133412619340882200639730328699069374769302994565232209369709451200307753337965172721038992554502400113760028224787680893184195325019462600766692320925384080618350605742052165588707243724409577515191699096574329874472495828326885421245239220490623807613557433775248334395032041770916947740118011670197415566214460326587529933687083030649079524927308771332254517667644158286082468687525578004293843394517811345317289014996253635529951047769210615373257753178327972290415646402509283923881631221599405236261273755358831858181348889100306039117335595948282557122864295388871416452157182303361778057855939386706751303489608680020586781878542214068253978281011228198777952592255118688012364687808386226060974009501822097936522017939706803206306685994822921705423525195417678599495831227013739507724928431735663508633948909456031653969781214418898210713589766532052002122697130042092845354031047547022949837420277071895825760860114511245326741712100313329945215234389718776292491267131878753974302949322595388138354873941855570898624536640565473099870938184023508394399495324804890251393305726207265159364323426685800333561044351212666180737282442053352632855147928381366461353649795393481394157553841014277259550330924864942384269259627293813644558987746019746182426125642864640566342298088125690672357894335591289334683626794217916139280610785671809505156073617259375705767715082596921428307591310177988853859550182507941562882532589344855245744810829773437340058193234152498832455986678629549602638779500558849648659157313080773616532886820948175318342651938331674962662040282324895769299692497619042989784876936408402150232546318785007412947640548926994057760940098813177123377071159312496510669630877886133693115729010209862734054002007594248406917649739188255950441562613644725720797504763511412731059311454429880736522466150849317621386728247635757382316414182919722586450045849670208008079481154953975032770932997335920724224102802123614794581406099891999887334734476503532230734244509939592672506463539451213625404967689525887811967031304934159291590953323861290405754867577068657863629109511107428175459068390425502116206276693986466173371677119035199019293800867220597372527352537031462857559179150414289256609394214648138365110856451054047566668438597643881412260744528963969121274793653988640886511206468047079254529924901362486914898216870076018332577436856365750636212604210874464616757505387114860686987787960811664639664010625183707416858336246170118238141645371104113712195740730441815978521604509609625740955724977802480362629097998356986949251175435852266083815324892110663100723558253779671752114365152150487272230479554654667762797376018235401203920042814643560377487486109987799094972476979885519019136282570516069959833525991678026149809107672100262963393276545230660389882422264846826255838529929731912765259618793042114241057646613664630361470977106562895903027401304005513946745375392719787827509077335691354749741437709760399049652138695669928274310757399244089881263430647835717078220181067365874433273247973948622942697411354274418154709465638213679725902712104531946385360292133459083686410715386853087240365702878755493466081788693223372360847707606271759686643639218048752483670792763021249680888348687345459220956603855681876118246249715310815315935852045449863522887349301214839488254393183186994782901397594867317298346465803591424282757812351629384116210249569423916753860947459067750391910710757349905133074238493628227602749009080547657849091654522661965754166719746816814471193042028561991342416022302918137457209616186700142169769232734478166127152166873060740282680517845867118106435195237347059894456750930318967014864161902336333595163176962472881786653949770082406789826959215182319667250030374769777177603758188610148760803744190391326725390260783448989952119431393903414972076776034745276457301240858614526431113263356566615177033993428513186681642192391907913055128854691550988032805132238190632515384146232L,
36514219912119842996698659900538734323926358994614982594908726154689978390084583672742971549451740530461574657732366147120194233210629277485121687876510397797525927409821988397974544012661676595016255403327579110976200538398232455236649459909447994015165248133254101819415624579496280027092782996460607753508794034208937485205101704246998862277368060024153194300487524287521942617085260764635525408618865487910733729365054810889005763122049876220355181677708662589065360429613669562263639871872175403415829732923092805234036832458621058764392814139995286831294227134575061199372387153872278579113873058939488289086004085571391058561935248948433027697581245986712516166857854855167626764679573471116291278750934196552940131702834927681868069922675488919203858297135424243940295310492304002239254042633243736190299040473959526985089258483197908201702885343334290259546644907321420534695671469578351268256301352456858033272282852404085155447825942041942438156688132148143224575491122202789671144740663976400421129300393499466157645131962831481737222680273059923853756564262591112104294441725516112210550243218417167707699457036383183979348391330681896444301887871915246704554373316152513652262866563524997308692562536057644673968995939307383184802385854604791743412085910350962565484360334101274059292578562756536399116208868279271555949429510727975343684524192022706996733926922330460907948598466563833153359559777716818552526152104636621776673591771315136880842629983319944086057514910853363527186754293536110060587072164852896950268658153612961973844048027693490157755382597100923385695233950494838650230175886664310187809139652367642698084962389960113629932693411189790226324078666802303259357146938417118429320300998515753866290128112545386053249709442390624625658289062097199245195796610588558238920491397960060149746225526079192262700746424349175116961182591296771398361577367185305092038566560845857922911058139552853584314767894888980382488716694265897263764936774978665202281606134446317688157299989182707062257285211321332504560981195372132852924079581568392311377725550948371647846714050032813993439107644078640637871447188099697498134966920171050096685098420060196523929390199531561561478918999250053772982163378236735452382712131921177275900657043476234683527122694107394032893115245869273758296353281645922130891306482064404626195666675241827603039703532142974039342910739272052655468170260294793680383100653525098068809041818798004376273868334972554607505040028011850530517793982225763972100745067011159833068024626884207772184426157787281106338461784047967029861415505382560856157794553503768035658687803778607060059985437736566157463310680662141312888452008139927601193703527226711577294296660494794880457367150957564991340555741546009876320381340328487711727653445291338068342587537511062997547001952589939676773797578407542530193580108376113991718285871884154887189818807587465871908418646319827419230009140404424715127100558932994474939600560766853491391843863718618121634994661198289920969743712083575231384316280053699764268020082186628115013089196316630913227494359267077722152318284990974092652704753581958648983101897811814154659826139290509267521104828543658999016564880386151652902131806581519838529913658578856667578194836844754836317473724623162209255910428892453072247357363595963197322200355069724751472261096251640154530122418066375044575644835732306508486255015616957035839683137737951342800516405468456087005722487106467388974955733854627863142036629123348932870799710348684347360121677294367154256422474499668786081346562641526955820847953911612447480761928378011711346947815317619769594334204083255859678336783268994201202604203095005399507616476258924017424630644051853875709297691179009754144203377974135529062656388869056773717246442663683440461187184580286176286077228846208819820198624023477205019463504750173882817233808564057983825065322386271264958323284133054909052143233592124303327348145596222593915206107099698492174499193755888549453654191660437655013855470809405407131128029866490677955457727237833756649756116305445420197703846734804050087462139755431736904618444342172253081779497149045752456816808651157633972546343128278718918492534723154648015021819041192112025099339670580787122246786875402194909241511327695627691880067529491415935088744860864983988583002814469818257330553778351733815024302622962295021086735735663416455023792082404454355465406443653790309209656478868367484716190581438868347700572094282874983472066155959180402489124692768550001478206299401365384005642630244260091836267335474697442052029921685428469861694849589656279900962892462761493328890426963913624400044064375449346405649585219514092495732846409046640221406001210086277163460812123154995483433748895484881181631996427405458441027449872705988764068982241149355818969985345806247334852191746875146384027840872163197288527387855031399263907925129272057913010696118188137870361503156114239487684352636153133908738327316184656219923955312013654333997557794393464414957442759780165476715111828120627899891474101895116152810301997209401063374027082854228228779551506180489597299298568377953664591058466379924876552213524592959110709914268436939643311957008435215845697742331953711458918256282389552644074277673460833472497004794320159753986493233119994602706744103932236759154133782280288600401344170812040734869730761043595524612783813507401897033092463951006682225247687567300766212495889993903192112944104326722274090817278305603125768168045404200342697900492323934585194770424204675396499712000664017546245119200603086210062266233789090696486411999502587379815500643904453347609957696582097576165686474411438109911101373170260376065001031799291006405630847926030945542784256271615477169901244701616235479913136108435205399501251673828974920626277138127920513878622434479963837150623766858515570779278431249104521032223140328755763063028272489941756165140934251129426600766363986649597607293945290478912501101251616408414526375102868218749359925025269668123276691490084681682608971288302220644544344679132601011213980829666954027075189308581730534772155123477914233624671647384824862849976278094854433788588518349152323138460896223458749709475946219900022883742567130241739549330157566829026982231961332778534289913132281078630454995754696220193125722730718861552152580806383L,
62780013326850574680832507426751109304041028096097233123202142362119967551865435150614663565968529628594974124423328830128352041366063055767191228823661559822148360024969865869515470466954800270556897583798825086502887669815125521196003010593276197096530549601799385829342416176081243523740860899575292292187973937490234056705558204834516506736456474924583113135538701798416643606559354600401891125855439748478380742626257531729976351359197746793985787724552886690864268107627867329053103446068334178261116902125766775668141107461515797548074019675616032026439241121429558417871595044276082820232406689887646699501004334678305370176448909760962143177647746810048541832903098244759488419469774634143685708058694893682472022925042189621382471900689622232394712828555628571742181598164523946736510765671442257192164984646880774596630758282798147372852939110276345936644213403651501831044545600146739490679030290951132919935166787763889213083735399460138479982954761148834776262433340757065281626998703949458300413422750803570270429313645142196931283574040250851703051625797039035803547241949007765377735249342193729276779783191591768353815484373713985508777531623612166315804640851416729162408931626433894421523602037507163590691499973326644719434606879014819335118026183650994025685157653395136052672458348030198291925238262269610150909903043458135895908798007229865071461387120515795519207702219285810521991844706507696573179457444981821188899840797346076431695098597401150332829894232788023034486226133020741006537861374610344314068196089625983108081771522066608275760493494788915906217001636397844739296958927718864944047258708725668509088523893774603429000334799666505878425367792209844944614231907499240437375604751675513906582449327022809848408150857533202704047845803681955218105958639351588948331038894812886365939073736468690963385257128104238738382038704366316590492402474772432774310505394589283452791274736839411075563052680070956686066488534449953274977517719850443107316107740949638248223424938418040354659530591215016891461033387540449081004595868438403133817881740240876304289859978101727785239648586730584488053238410586676939424617889887491174976397324314030129778952952974825997542670115619133353044498239126618031665334086507686100585593042308370869937300712387864302273544412136879671831956815105405441180377485372298304609397765001676461290870359183238429575177926172725924733280089582250446962169986905391582385209698852380750799879203471471040767185021497275934718838560427324745446673177538024985224008637586561040385328615950952414776372986008031457927086567966797108104528642794051176950067521572599981085906471219720090817272314767085648305571393037999551165786611503840595802140605300926236454569118409287145596504107942315008397078622156261392999899701021454885817015466056370399498020596567617466373197127426472650378210216850341648804836047483866834440023783754417875699559806055132757980006741451831126923704192846940897757064524191433796587701779871069046186778287560274511530632538090654766424202019942888010193265205948579013495970068295299869896013181553926749181683056846465309766974266948358806333758973953644494475566032826320294362517715620304074913240293499111672534371248536693001278389196857703587342773180469090161572325292134197582782824165958213322616894923450493889902830004130910599477815332344064510871770788041679289139754034294586639674079550735505134649732626271530549016701343273993828842721936765183364470132594006345972543474428228675920097478798128153786642948855031506984857692625419113226128785373426238457710325825527661191843509833483029697454466022461386268496146913182874841667304209745744223468612214468230586364876836953588114901307689466123726304388803027047538497377331125818056545911488911829827510185295065155909977139497849059476412602006828302733035587716746288701223384341535198447378181737812630833914836650590588738606177347244178530275454163311964443154342246918045242676361099194272584336373908321043111833293283404151320770436793745649693444524496128148655135745727216525678171418316216512919726097245324544866572757823912514608602233005934290401304630935083830289512441866127525018066527780429259053189283712938744998388525051712915739364684380672529468304202780768263233028059404747980175972626222077386805898372796506394413129508147356674062084661868835337112580423020276259915279435420571809815714971323814790579009584658310071459846399053603978241571596760550164054801522530693410695944002636525730318681833712422059902155509291114310060254427655090287111750504953115079741111531514449374085272287143742478001763544786250360110396140143929312841424572071673409613524108526335343655295979488780556926407938403063703817135271857104850696772328084248611459782132878013168970866021476108217968908389017237251316698124064308864732651649723024781348578868075850340113352770798745517044280153785839247248440226087790067258695344640095957070869343837107204428784681429627104333923637875681233861545562803364448279258456303705273207224372320426803759124696757103353540982575278331909670748505965306384627857094923415803289955796479629744195554193857282411432640754932484583177820942034094433432476635289853338306985173745418591459707359104011287806610423823709117031690746806448139855661827693288575925372019898261971404905617197372374052523117816981223843528686926507392398557809373781642932802464077084903770514825944636161928900039624126959996726810582171612681486574678587651620601460541668704975494445180655680310848222038210326403935475429421486425856584197593236916324911157823758129267757112862666002222186062922264435654363426389829731925723708898944865259315957190303067000266135096450672553130087798971104457138717308014455037055227053373608861683449370031972015129627536623287547211028172920453710805738228208791390351213659428469325703752316913725500339132778809103088966514132413574578769329071208196736180938287151889803824961318154810982849442472489204950690246267531432384019426210020563398791690018061165808446487450654788225242850497840025990092026152182054267896057452064487321634918124284631808957861551255863969857077558529438630610967003593434858045771649165251508520381861086905890398637591706060586368376746516527011832489004013363393696179164269606566932625950443554134461049807995957869015776615666592323L,
107922308613420144354008025031934056268105126923791277244748360766855100544428091859935234049852458512255199876118336862282850145360418541150335291787825440228534778853271951696180899810562992127300293114502683288566896830415878951899851386160411489938588730884946175807843246129332024664052397543572524631981102878402134743714608172852855489663071158895500120093321930580996950086598048195125705474155607120150440326126254209956592775669775113486859671967607757448320117313448686338573029946449097600603070187955169304870228500574585150355603326524526557323657585718522246731818911383082760515160784202852147969056449784262418680194085411390714508080952629478195592424890808270556322097865172167455721386935626940277975689079640115217739268781783278076301432633099976080652998022149786365427278165691990405319584633748343525311482493299844896014570117996797907421614431789630527870397320951413662658645169006698322974232351850450487793102928023388260053260025444571575571154910843816076509944772385949489808775561041101831172668806725829612848966933581214177245293135344032015885802323921932945162476876025220416599000943471913417325651824813693793589633598433604442903214958574397833998597821589439339596729945912773085081797159871902873400881474049069091595041479767863353368426408224595855449184249215647869483426013876552762056189300737491339525424796891716113689958852208332742629027322731966688909555427596824924429578182185989855489321676051505337436567670098342287879651491165755081496264943907421106126580744992580718238054502040449435540851075324540447560279414624300900401268760306807086999226186402416472824678343885497121373423812982473071636827814176217336652685257677201493782250619906484307876181410482991172436649513496055044754708179244858218577987234767162310163236206078337014322757552035932136792862689039711972042611605932028156947034289396025750621898272415464763462956785799479707042115460803013069977809117789739681657768214058877603598829179503937556486580637767053084786324071796322450398945540538209875509064431003303141366876969098813927972815152751706363557067750505365218725888144421942276339239690937020770809549854189377846503326223366576297314389483255220927398604109250342191465260825120312928464526745871000022474228645020480173733696087472313390891182731798742240184267307687291597966490305518106463302639744506274845793830846203378643183167870905417504958401370066305018534545271523378853409712639211572194635566742097260978471280766974350155348266376384845552364950005990376109682489277263704665365276252126977461695954505864768657867835674544127131864175294045473745540549610107825681856831731319396880273605555179367129161971039466716983495710455528409835157046694279309953453018329907099543883398014211553039506000411425198942875869513686780458340830995382085762556377542603487784507138889932830624778061097794361247272363683748368436317022699714202136630456437496945946724601380290829536210116080237356720709291693311289547374074346079058601837538082577496319926338132619408323910289155078165627308553210150034945495157347022834632567377902641393786966680605301207739960565798912854665861793628826958849866581455482953802968347311292587982015419654895119043549606904363475998237512745119876536585960600108651031122323013788037140483977903458530720772302649714948959165310092850011619825204606343873807222689685573336499667143774181009376507475741861312287744108802196664394230013313727093274191676784510892164881953439827291359438543627109326044527890081452996944513047614084930020870562012776523089178973737488631559087354892520549082728598093364116861443947409591866629143954822263820012173557900777254068101455674404855498963946552142975159283793787021149615204618275376779269928229671565184988960108921381126749788362023385429826589375283716543126720524685354397657272406284611085916523220030524032101768609749637014890016499519078759848995123888253792793835655598620485000866364382043245355439721294771874720937968648063880104686777717018877786626904128365165938084797737198431459263709305856494374364110723807444646608308836257043274619209727506046336333117738900334026218403181075156410284545239254652652494468611850047573974858752321202119928315758288097847714180750857805233358393673594987728404748124742954532079797892425236482604312837528209340968224859039053267217142666156258001758651104503467691536786144268638917418832685808814398194734953116467938014044655269471326692542407184674679763504347089777126825338743942054916361573501888883196949370280454908866345510483885186971621383258204155773534840138590350886434699149629050171451618712035147601341864306422684075452281108353194557877236450499869801771736229548708803552399934614232544923203849851399937922605864194057162649961740440819140080477208009060716425651466856697160720955872364614209765049552746407776485393220528138890361907325587464509040935599623788054047049874410378360106710424583596708716363355064372108529646227529196632642493434082695101174044662524414360349392676971671408706009632327173611844271754915885093961946914273302755265279447730949652997595374118858479688636471310363343897456138151988640455081103425652423414325398591453420244042170286524837873508254120427334506937987256986474650152437775542987441134531705611635992300371351459888593375635020605429436472550431873093336689302467899937142168749267964631156258563454110690801152938915973774799789167107877872352753438425538626624579010982980245905643932695559414135402705944154238157347168573577863537551364905661031462715492172786204329376704651644338636109373904134786241608783191881701001921740843264574941489608585164657613802764355654837639969800941716241197651583207268685816065487614443274705487264388306487884113071987814623824346228768440244362476480654788296201172742153674093239532443122924335183946501801775817227390455245040550202542727710496561607989291044535043446405938055486897908963603066328783625716859125819729541659060476929265749143384674532008014975592823586695469315663088800347652457714961272639139509919880008388009799168843954824002754935394395309913543473063865527445579618994272861300279488482126229530468530971912314777277483106965326153360583514197260579463560059388220701049584313854880317631465648225755288267627629227160279556632495721959196641646621845692231069322051511620534347L,
185494715056357572800205683051291902929917177531131694392263177891384224379834175596793801362530162899875755920846832877617505121754266071020292221195431536789595695090005721141442223194325924818908054291922740519178934553986069434416909422371757209474136452921644487797316506468562717770562055212588297817144370834365719032340258938349687718180813729984695405373415186661393790181788195080291957917781054555624019841260212022113460095029266741395834043163884514749681168782812857961695471520999667093358892115901723503816373470650344412355591556089495929716989476336048832293669360112566823382871174143318164306014849871041898263372716382531740414933625706115080995680435094364632558671629441994498260721722360030539006396533347711956253313847247393824142160882494320260333526971959977880485237161423562152864320917351232426907710029830713767322628336723649804960190732997195960084464168184446463591088082788994503221619604783287726820377521435133858021924170450432613264771094289473485810739048883450755582256515688796528811181968275353346563837412528301999903599900476555236819910421271228467251991745587593249203550307789140693541881476114891576075200408881961310791004896626843562070463711996017792964601959039939172829345356487568720011028323928252412830449649179856538494467148896136946841932418875332187974199013037470131989931473988034251094696778841567346346834032540289174520197937876362339897439803710682152912016314525776552710881826478021352013842549154541992216639447628458602260963472204702728770518246362156336992063353001386436844347170177575482922043677655281245800854757346475436343247348863304882567773073682386032328512199690882415593284127596678996970087394428098547978888302715556847791312785927921855776785096938333203321587983732777767797377300442541494757152037959414295068834189446159859209896683591085768470875927049841275133937733344925558701788040390838349108967015551883881271780272808394410279867968334218569125153998637932763803683110621571719409919067495451025515993272189814969213575439725433684314053451288512721092891747787086504440851142413742373279464126911252277165034507399453272894561021686829347201323082281503224478288662243895533958231075996475921496621548989248527184658896712114641111175246317994818414327702017307509655343668096580023149275240029860780446278466656763357369693708946904214532054390009863071028442783610687933988812840325500678992762003067776294616459246393974641239010028565042966413946560423340702173067591110059681551026942919673468203666101700442742275033442945717864282215250686430849023355108605510198544566203025042798056058212484444612004935695975803635405077711601598845041391358634109638932727683723135555395398826225147301560729141689079333015613681089435058081440345937495295657595441670415653081348485030575235262225959899328681070697155572478617402462905883617570216221862758161176129338635804065785155865272610597569236132351877246891570877196649516213543522094756335351882510040907622552519359195832679647824708426621210572003351893241109257191916981688878956880453158374763464325822617524577605420516608875204691201891001700314522266946794212420916702946240899944707415162991614384705956149221315559903931386075266102528921188208243722173356276362273544093414371201546184180366149349630722954752588857162642482656311813854806247248690260204644111258847887981844271090225547992222970100645323028213692458163511279047192600670879215930760090174529397908039774867651826470263467544216484425893529435377513051231288502626238891615232196206127956132784845285477845317728903514231939059892724181244331182145846370390919707526533998776489781990368412007947560004479793800994425001944575556188584717816497928741313190179455054592706260190069449635190629539006524277353004323211138493647024206629597605467001142524457970571004057981058412625901766563224163578553144989741090364726760509068069255889912245119978108264635577009563862073573930474895087079584891683439740155858769474900126909395855058716832661516958820179573830591923305324939746307355483555369951453824576918712200869175174174857472661497355373026384446761074222255571825113883808733240239001220916103112526402139215839036681073177036405986155568292237884268502296396900540238404012354038459652379203448416051897499259716013366163856116526016283768874569700328787772947096637149436143538075918553942964071049961256296437791410460513974779290748125120440434959251990861349640376068247819129144409932859721055616695682291547379929146315277484199004285867945317706130411965888643874697575961088510241471935355711530494445521187963975283927748155199749861917942137884808729284507996970124763795790249029760462402890851996663656916911131022331770391024639342156822492201269674464311826481642098079684470532032181399912194663113052863166183219812964343821223602903700730657816282309361398729251606824950890254327993240668307975418949218040385871033401134985068618965583228920510284843597818729386767876985596291357373095195701173263686008740799555241033260435515802943089900941949069957418799225306863680006424912710680817204685402727842222744446007064225493624626419045981365701747813920754355699218392988397165532050416130302978620357328008056773774265173811640459348530392896670384385202574900343269735151979784985641738152004257508827696855178951252990104987084769513158521379180529301058249268460826216888196706628851586512443190872146869088117445217249793347488193812872902302879336667693069805038085273691687824894046089695343806767431257847317626541208972064974839355148378771504787323326995607690592891872927587818927736590845130032234713724691382845847002085949296358906411032394625394077169371696073600673845548979398748643721182337759200520240556385349988542152390778685140565497633183906181419943316708804486599792971310037349624412492683571514966056635202430715656855088944237796673090682349008289827115690908992611580310827357988545867016157374293639004419032045437394880473070529852852641191102771047902717649976919028890923737002911920064737067602215305829153954574710138623906396102994836153908790234785637876536445154429900033009210555294032602263789586321279411312635565196156760738900573114030392307342291292455552469300630340229602170288679949401748290549772958471176825370244798557354600211479672725254332574558368528886484439974272987554324565730735L,
318773630120556814250799221539670667582152167151865935675530388728452631779678084195400803426282658144790684394496646214361662759907384340042429148800370655918915572811394408797798838414181781985468238812134101526914997004349286580233894420310977440260052036258392758258105250726677325347558785435989914898489526371019930180472642019001220902182304134992122464634681272807232246103285270144894070592636753682176730828953006505179024807341037005157982884125837599989709483521167239570005691216589426772255842586945551936969036628372721657227700272254019341528164080284574096992192984836614518798406143664225902312162227618878427686950453302554137104325291637839338212328069326374394622720540687632453716019809633641554221082180752201956989175510556161481714229298862941388193708369996181508673555877307457821052999242806548275064782056949934710412176678291723289190625069772035906299805429172418504898783654125947506533057348586279523755278248597900397259769764007827983882193993657982477103258432590058633618038246905539236326866277260597626016041166965174650679641058904659564124272091513505417610115872656967018729546584476347696813322336306236522687193611239288011856655054329152177863318370939097317573654644878903007229231568806355788418434232134491830074054007295823151202421478832846805913365899446925299071035567452052348886831293016448414929444411603361490998275288221417030534293639955756158042490573508427756064188216462643180298321469584029183988097275719680821740667939648683757014265796980552717353252723882409351672164901893155928176724502789359862112414546356959151827991779253084871653458687517336933975999919603536901248034230098069149380020011849634387382491068455935793451215675046123467877915440064228651809485906457253721665538789112401348733505368333106998855474422705823922206825756441021800573123578117557459674719913055340342554065737108676515899156986156854980440169434422004889602876955623214679162385263949758113232751104034784824159120130611533134272879518971139268095092437251600649455134420229477702942817981954993712661358879689379859858058634754391569710862800974012744829392731516906999927786486709220205945066862717016140139788140897066376421833373356665517130258866006960541207965777443547760627239693106047594542783903463472419681795011497948577317502968091209573562621646518986377545838807221438925440881688323767340918712623472314041770576885851774815799002287776949987693213952266667900960423796259484336422978304446667300978789562696016448668243136280105392556888965506145699650811345378152082559082154412531165939551257151009317839698880197811676858223459591644988375928394364602028304236196531759753962976123639019368379118132635584422241788179508718558701359005926537339249575846293900173522847642136440707729428658663251648782647940269152167386831940171741328830540045465140453158606836494397215391248072349090795363343140926322133273408415022835106519984979806707463629715817282872169271225607764598472628491478885422790065759055930274894670147125190261285700255818228766124449428766701963599967923647218681682113190315131249121586565772559985312347700775258375707909962092883850174309032824725800494939255289825185112004961994438346484416424621878636187886350607386837026523291888080644409425848506192605004484657931022953581156135588698767114153873690445754251227989789465803064363140564985589440617987207177767153022109863484099099114008007678493058526882412262566154829055205657088585677691767853200090616789225513823194575865545167278155614930801829189445786934102379580397971472177709328964384741535126650009552138311550782845918933946231667452235835826031451097964421651975675887141473353848009909416321804865596762596331571228022489601105666873101126628284690917657272213199341747743715704560601187261893629723356496828429923924508477456314929503449390657518976027753459204824510914997671698160518893817222005612708871667843741045249302685479509873988250522942313963568546464131228204485221237160846089354164962898620698982796076445597816317148614637838830326531484607693261869105868775857001143453224431318887989131230798576206552597235336659782079349112108770555205870254171394171479262548131692662811643737910329615237718209379202132117635447181516503348567875961024405818167967576124928524344681845741022891138613515844444029483784421456367689763627054004898460912718731198212292376003019910009249934400672845767574738162772006228848954531786494476574862725532280566453408617292526716823570176805608305946095566544187986002924941381988367141045448504994837085147122456762440744222833954727995384041087108804882747771469228759098517239080096362923714370500026342152757918802519294517156311984328025415481513426614169317797189482609277041001474916802461901562733198803903212272539457793836669495819447901778605411418990044744178978711394043855688829197799153676883491779926959706703947666576552200264910121513987588867132356735929787756462562929438433641927869785894705326428191370175536821805482226545795153017577235641892137216216138199767741275281403927289335543956857996055993382951093758221991726559271969234459952490315672193365279217040909795896512784579811384261784320925391657571194006475773815069399905654894102517280393542573428101751062326873726165067476661875570212962110706084703228687844606692568594125929020450712402432390980755142594402255121232986006766915628793817288633624677122442407492211745807391587777988144514396499255772137678927956671573854497757860050999187019020500266458095565286639064185440530397969386328809247633108343169666938764107437626036611375547950283835466648902399796262137310586939390044415400765682544882908010297793447072503980799470135461045500567293571626835914249100073121344510517064961168814446033769340874379998180934180887439524892891958931289830729267619499999479671513193368835752886805061569676542651907693834946485025058082885899343591717229264801542807331346166985749331013962636401213808420039380296027845072231447952238493749904173576902967019894889776148931391472979326954773312360699522730942917712189063146914893471630845538302721021041225021879011073955390395407820061407694192448969075380150022839144526405991114716580277721745706574904099302963624295988216366519260607921654244931189628877916407234857707249843743428890602507016978330579682472803752466363992279556235705755001262570L,
547726575134440165111260446461012794044506988673895288961811564914553047423736190534516619579903015401181712288706712334677078460031759645570332485187850244080674119354826651004102320710671408331750258640985007573180735831747396666277599653012314123997121775358466842579614474353967514778816606977680105403557012207470750838549797812798916758880153864872308591468802595368737513962318176368446722738518536980854790188889212888682505624736152171968384904324024598878648203643220638483229811866592792594544691090083484173452433047528319319155881012363962499318650441379258452192251195183999321901316592140242177201506476843111955679411159013783233640079702738011255075245412711068683921436083283095078265972363511877269342309435221635685974991116647136254864460714401840173940196269424927715157821772979503724382106827798747176681500096288563950219473780279469322681760881421716223768910381025725955794231604147758995076358909666220914901007003072238698357352491400163141843696342370660233714256758299732011831818990940333168230139997891538172117793397362270685319687648655418191184013300005128721154374234640917288537571428347688876116217579993667044975629249331241328486219580671696874263007219982172303838387815264688341954886431593153517261312261006240145129028308057174307312071774592673846710284364652209588746002033514148390602064030046550863571567005132619409428430026367429727353628791789305066959004154768536371769953321852256812542204418571896087262808043945406641139116685891267699151203617834758596364371523092111816762462420201624873267402668388685963254357142341529784828570623525546051800319365116617567939329195156094538606377333680113398692367841644933228529091092802338282995453315790684187903960687425273087340054878661977312039244005508155940800901836329284267240655056648291560755483313630780365039840005180170255376800113724555168856765793787396663572535331817879453666762716912775606595397403436592228814513735071834073307934197358505441683108000611178189843753350760786615761892419862229772729296296796488540525901127063670623720521595641744605098963801129419562271372922511429099520349228351500473472112548579678938844912503452028434131553907074722218312951061465015120721226865581214359440293712385274089330942582550570108646799135669490795125190232729786529892600983939483796331913432448470416468236681851850014515533615364743769359104032874029636581331504712181382690463400896240856800473677740228613242903193050437583250279029730457312768771379489185194731769765004039116932131746163288779884942478729763127064112889708055807625614163323004704729974579313951958439416547240146600936875411664175604260694851599421925946548282959208958310782573204239744054187677068229141396654065580295564243803460288575892030372293210032272683109461095756075670101159539912043859918510425540130321432215920887290409615395463375225289987843708519955851383064369014370349815034363699277013417815179626247968368687113793306432916551682434733664929046405865055028163797896576837522257025097105195101338248838349491963339296776997017884116320522076228087011129181457075857845671449283457197102996631883009027047885488370525466541786313554967231409675579723727629660315914066860117692938989638804702643413642758156723813822833153080226487142914938151427977974784878410602096745785543591581281857901172800019913900392647661797301954476765210228427232992793118499440080039693904414755887558517246869029660386554911246381397208382520881639082441014380240510793210057546885209080889230082735170543888577569801423186647117320099064332961937237580353601855883973888563615238673338460825523745459990250850613421870632607213341008554676690047655923370191179178854455905525067548060187061499113622498716583234608654067480204721882698617245815184299733207564106266785516531033153397495731349684770685557363322769280827297524397033532303322859710087734055144757704110206794429626862142738782764706909106759483928753975671765183994157450123945926294173172907054103641624468853698932323310664304207588178880373203435445580907579358005605221601369584427438058919184807568841504578024353356690600079422135689952911633106521228057274148624430105855230548396435805761666111144405331571083627061115327176981008234810892061766610909846494412987164610981356981935001220974626919047174544889818694075270410586443551474404269907091381929770116103005154001941000180572884169665636949829088876128104592538982177060867185067415738663550912491758743081282715584766953184913982308403254906730631090255053158327919912633163323079861992330402354950496938858772814671734955854763044571184919639667988460622131078188671142189049325059442142238216485884252307555911488537881559753494020007440740150005120873258884524298897155668860853982868860374913037261574926050828054147569632204973726557765306836887115777284696611216323989284683609978134634411443015465207080613800780823173140400581681738310220516871383301857656633302093259306736758821861438684150728932479597873458018940696373225901879456449888188826665841145507137031904929653531747508958296815741642973408909980671308411159433849486397030795601644109480635823361726167164383129794217984228737043763708254377133985228265976841056622554456460496517019658283231259337045031447349833945275819725071813595945537829075561007071751339615970114383683963051716322011750592070349361703375526258879132076455453427327552879747395462481481086967715775946969108912591266541415856668945612787693145466222505252135147325847891823847205436323879596678772257054506931595713759754960461244615661246203388313709366900076598677586742646513416372516617744878167876184470483600104937784662533724491754147829012438933818201900131417627164899452430731203226523946067619811138922153494303668432351078300627761081829445526817760654190345508210854043984536288664982898527153255511119972951072447737471926720728974888004994134166094862681158218979804956259421188100495005404621898222844831845856391027304966467800234507562992473664895310067743791277421323434872050755088263698799658905704205015273570139275816668181899910437715743957171098569268555268004275125982028651729333834798393718289554445584518620754445998584675314578762229207770075398771560567234934972821179313899265697486166189156692653589773907447906685884959318443051185170362451653579284262427310491396248806909446388269917195472375098L,
940970175886418779416873374369206990511422376271373388368628009024406685734494103917218615011781745294173397864719679664232665445153782991263298631028300385204958677622088611061008067485721653294524570764890103045385647385599139069375464760516686367018101212572374030854084574265014657134261700972307923857568811966580064826580282949724571448142259632775055719696042466141245542548045644958149317471098392522515717130289208309693129143674932533573174997380638613727658242456560707897439261488047408237047320077002188969835436810020606476953866362041747980350648962572817712839052466917997666416611130250382457163739441058332172782035665377298397357558468390431740374636425565783846951850969669162981132898818847647358105498549062992703023667770772635570765322426149444314875674275215145071852284203264883490691176340925151326735179876780602950823680431298984178072315592293319413663073295801720475644651262005241941149441128425799338948184637235088601747452043861261320687076851148804135288184400980317739086915914804647719371266215102217997164090472216389869806646012008038952161490403058123898970185719745124843629899496125238194046680132179662808699766567487191249521466360493005777260147313753410277331088273992684301397966556325472681009583714392690497779152303407035882979784468897771755179058809886411487951329551082448078184284092005927308085031223828243533203094906393364866222328496572125893767183055255564545243976712395654439536399786879038978237980871407265048965113200672167497577188947777520348486034735087712901965236428472475830550058840828031947692409253961878468163092489641437017596051092281788887457087086845184891491825398783475146143582437029177935433364210680758015930623385588927319312757640722035612277832968395200041127473859227124015894635712197302704625383555195861629672302020376277496296723655492480535519225854165515964722517391779610293874299645050170505700951510326129585334441014046373451863476108054188518854669135489713375548612731797720730450855696300512972784736165756567732925287427404714055709359138256677349478799634119830786427102602867703748641187741932297869871081763256830621082618057255017839056261434658317476154740910643877746424718563919928976603756047545128222488992202902196139520066046868233557355819785606832605438886286871916347552783226540100082168754527342705302861205797570600589445747300917574289975710542467300057373160645832391447901565622022015249251269724455431581834460224332901113359494439419830411665108788352852135594659381284720311370395937378106551609873004736917106655588441275192072020510314937380622419044959214813358106742116538383026310918484788660699300999851741708633103805090702497277382284326196094606631016430230211552233061428167718117216845938895097722689807589272677362989294418172777701980254163536888280441275918576580322731035955851788762882582195650388631404272790637207192644627734373912605547775845200389596029715130583390506940183640170181386921612645440984327867920034555191179741746334937415452571813145476179301197044529016456182065455870424426210131898153081075179581849763033780777963828781653778229229039663365089568074109985733511932050638773446841039580474492077341156631750749746153014841494374971242478151203547030997152885663775886590844807697395788424014496496140937988297363005741799339634706449758177611673327738308982472583044195715052029722955332375196129059056923113923907503869532866631224285241694089697153493792952483958872530136543388975735710149955981654548447568880298877147581425886836141543347356469300612782711711474372271009349576994330561317552721323121561588136913854830444981257074443862375837342865508610506240844216930076681261325767549565445522875451674349352611284967607298406883804795592886555480389687487940128045823495672472838195248054195999602990032732974989819965163376711455798330180498739300807944387949695132222900133962954932381355337794906041841908417916919783827894265470588942972734113275401728785849781876962471956218721092455258608140563615050177933827854921154743211687602472382204172690021704057996418549269401286150898922993257170746852479173894870083238334881092355389642960126407620275443751184290380190818188088368273689163625227591182366719175613476270069531728809989736885213999848381325276900488464147324786668061859858339635356441309875019097708163344575980800312570578228997834565071112396199473983391218359020458509186522560697152362989126273316735162640091266720614630487027239187521807283141886994054165369793701537042917699869210995123357435039397452489005756631275318164499802424706805479069417999707656471484158460273921250803034857185923317330127982035243651544845266226298009224588306031513867660057889233060962263544758179924872635899935502779861310246262812746545827277576193985248711586472704831376482583806359112438701663390830175834632922435187240047978620410046258411023392114152070831045461641492264790691800695777060485706961495455141590803204626859784834577806204297514811449300607348123243989026244367036497325880938910672070857483874591195580960209322378919619481341098667903690003059795720270913620493984831005681293444714758240146144097895122422772248822163321096585607678127038881312313877272397331002370601826105351468564315049810941675931334856139828151690406829740062750563919147049150594829721550044395311742724474582452885823578847124415256734554129310005037632124751394117126676097784556382863504067189818109573340930976010435990947130772403389090702458271511315697370860689061000106617247425312369861995600424973329229782439122502626555668509673256722435295811957182059469464469612653091997093192112538274899303625598080969994395966882834545745906486586129223728310216286901084658722844376257299471674183949459870290380923650034371721557599034406410086387564061731057478635339128727071554697401181123967535114141667181517966315614965346873941475414674638671484726655516929294821174061319643646740902651232682839190354246823326392973106091910265095468057433043947585148807822711136956716617770707797185884123963864558916122708308142501471682136830097703951261115188353399497944276257729672635939255968629796908100601286762492121347213988940973657043433727159642016534538830420906156064168926021202900977465011073780290611546008789046359782351114013864014489749328813845584385785895440203002879143732008817580403869868511461064L,
1616287330286385073880045471107393632780959888263973913391711017847842775118622650033711855760743740446919396252676415133588650067293079636641828436420968884988620207747848017253189600907112078018859059335632260126799573358432321912552903006339748732553084830248143306418548833169663587823787473754901785670093726134862608275905890881472400030366127191900603509689930946972528277994789929082789971077436272125534276541933859201154796469972872483067400060902253260087450693554993846298940384453114748491662952651510900485722000451633112168448073317642699735789500824089408965641454251957621537885669876973657412522144854877469437123546962123354423457781261940827432157767746210324712989036884783477823180518480294427218573471102541406266935296460143576064904914102272462483109639720097726583046031942542197936086137120453127763415902492905300333993334200171558329334894330275631719027037446797216793388580804761376393844721525766441065086046270125532531817727498710145171339325041923267493701942788375779641406038217733287390424738003971772677349971399428916697701789710571612735265332552220654939228687321321753170337587940763792045173290113337038823536353678932705766615035417137312586121448651430100841291259218999185420390996562056164017414409878979737327298828026887567278648403932824074399319603645333058202490578403559158554513494390707853323646836279134407392774615372060548806200198198211145874431915493896584268334742337024079390596060758821387088443343421375595501763504002833686817840090509868587455735623236809876973192934436104341089357200311044543421146091786808899997221059626292903934689338132747380675536040942593704935095101992557776363373797965387406454792329690643800070656952517984005118189862971353593534516677657243051011125333460154710259367374119254584337876452813541606039261590334178491410383778337500911992152752735874597973565373155480332363256962360069801457311737467873482572084895013615505997174628188262446932259879822269161531099383524431642913117740647681005192643452611017958445876700490556400985851525178700733033031906293127453006877211143342435415396245822995723731194066250434904702448848272555521764445221990340488594653188054986376656678387470748228728823198503671835296667781547058548908833526392047378359607472572039217004681346773037776180793468204714189484306617186070254626632679034835370343221680611902715778203217001535121788586434215340002988363456491956176614556646707801901339248524267394976824782289672951138351818150723528970205130860338362994258924708569084345381526246244675697607056985689241445755641254998381535853437185900084520053970523704537964148962112605430376005045778227846660627324013477860093585484205600148265091624359742712157602073057532444266412258787409736194581190014486152249873332111838916263225358007507464377631046232547322617009946271230986830384790781883110460926079283185295539236129000870159986509742989321987337851342729475755693478282545297576934005077886829921740899623019030357550369255770074607023367069270477661498175393953258175661766437742337592373304792502184611612171679939047380952949392958590409451739209327315101891004010019170850168526990968041871271203697440121031241520515382617788753458393321492411300367663174786119592854178125969474327228032629267421927132722143184281458696003890320756814682346004369690360220369386428428432252391349197967979841272720629369073050758916681732420075873065723205586499616573087711708358933681782151742698413866416282666347464929742167567107645801830986244630683439577328292220886698990890077305071477849264443899386277596871425771881864606908971171274353700759435008118987631053010320047562921150415758570826901231504289771257015630457080531613901948325284730174819135932633564415608233835740400110107815796806464520696669937874104296986268380523956375899193940644852727607254483152651671131569554415433177964126714800502977660208256301191439220599283048820739045804677015146703763489681394494363411455742783601977148739310032397936641806550190287759589267264593184213229253032644492736392620608634362359531352788482744689690251937392196391258966257377849590505289605474341330456970990541683281278153125199587429171959056347990999386820500823105225186009748515438118700928266705045209108708299715022452133788642152115756638495017716610787383833145920446418254356646264629619994895301559434486205906277328215670674774541105797067406451087598070614321011713292329274486039398001266800955518187471372673641196773070724939608095208025128009919633514693504362369121863642436559823675716400638468198725269470986382918496509509926780496152711333896391568996305606444944060518725177964660293140840052000102796284598929799720819630970257127538686535722963728536944534601165318546198215398691728663416934111695350299305486859926197727920868246196646078246549333272376617937252371671564766097236340641370442692094115832554555347584539024724734137840153948546089969262923898475240198077682162425451028118372369976178654108059233162472700867498693115767450426213894892905929650471265906812989697139354334628819600089342674185963399136450386493441188870412679926333318382968412128142966285867537038966298140234224634597897643212454042897174473857980227126579837347885036617079020999249598764409066117976338687075655503268644182254312205513188636362679607666642941924063163420991095973140937867316350330376634794105313384746761049807466018060397661081539454027085340891279359509801937137207849656995145397431096216390299125991154907421926612573369101158134297978210368784896795919564427880893639432165413892109488115402650229527210067957877233738073348379199840674785830179383188303186444968244973676364939012372937985920093230208371664073180519495647536976281387710278743370085524225478197224631080788876302646681111875269163494903705273615464629327113113320537121958321639560675326463373940925461776897304620962104662160244698412564791697329471020162555724850697404731615974474717422373131841678666746832464609848216262792782657572922095288705950724191790457950104690252041819651466265758065733015280888884931068458100577141339404340512129134584170694807253887464372950354880333698672518607735104839288521173432337281307920078413486694582971756298784482356786738594582339295952252336931978245696895917413776325324440659490294996507442519828930326289208579908313935693411556082718239384L,
2775824382441288585322462458061502023078335771509669735067105949004956682417152697430988718778889849446539897663443219871669842429152033921752682377303591872336767915154886314298375229037531883257119933607553298260233241961923541161383081984378543643669297424784957445825401088515592835826793141732481803212388387075513642720153407127014080930167336836556801201993946049394542527397859372400669874778155931250377677028581184687210718815957382317875276337066538795897793668813913040858090032727233358604300505050094784227495195149029159078572733817017340677603339077184775542771010256764015348516459453489414671829832663442578662203120407941905543980820512063214547556319431306178836389039550857655280460840804203859493102476711071787990377536289023375832007360590842032607238661369258345447254876090714220280273029256573457127850124089123096532444685452861881413250914959104747916533677571615962544591527296862850876184056899500192261087942635545130920740325828299838572599740207018546313299000836101198492671548422615619343661296441466245896928490666697759520346756706177898153597917289684596385269293742414286686187512412774328123918573185782976475198912532387038335120123710602349876708272359185878223415277757774323583598371866541798016775340719385285727518152369734811106752821290155318294321428830087722825599106598852219128898274941780218685535222200014364109356002376813642650574349075840647360877904140414827761878960684064873675502152313980718321971638868056928798828855675572554553794309281076751452770306166588685445654270025297248691300544782922671051299961891359411435709319050530529950768035005292194417942633214492341929290600249617017426000013677979770197020718266180811416958876744304516152451379547733073157511233302984514669917886821942979184250265985564062112876424017041687904123257164967309904595630956190818588555538672724511952998707694090891620915340513800733294412016141697985229896697563368442792789800723557436971950193754259066094903730814978300196502440698223001264493606559461134254192922564406401371457759418999945171046332506672106131806669253964490053316607181054542556075695384682876275970377375377985876793517629268411506182288242431800511639420749529647185328287249578507021480423350832266894445981452321980372898670303977030399419643892899504406779899477323985335285526852285161264725366668693573216581967787462856552262440781375010742568555446995611269138032184169832041780469174822351301156241847487135574838206707386660702911951931678821918279100171981992204867417402126179104044641428905601793525340878825512827716348091976633530731322482529679085074489839491073022973734296996853174496616977576340514194526603988683682352976411554490023486380193926349742958810293290264666128555706830871502594342101317548345118228994774614900826433161319923548943341128030918055709712788701658772042955657700668231560672053112769525394355288524047937611855784722412490690842096398229784012463254068774047678160704227404978042357202156810988998115872376907555118127725446551390926195523445687686152306715113758191435772570252994949322080474144520198118538794893395032251013810822089770795175824089745945134520659780159401611930882626172284308263338600635094491246124237694267131889177128924652815078901517877480429482607888292989403492389201233661327566573995251302856792577464007913319126271053229726469868295475418983386563225164977032663028929718770692785449831034464702963106771385093637149214145681553509410063239033085684865831568013640168938775823606245470186616890442842103680542448703360980395962157168689258611716227059821907629218193878687696133042570939553512201870450809020128362583718968409915554949060528216749246548765092431961371107279818117951625255811331250812805698329390692411333972681084247679572837746290974922714671921348820548970855402220808124134281566276085149284958753606452040557217041448332414764267445776429010086556164657950328316794932409676218797480166007707394357577275673906668861993600054515505022884234967036832913225186844255148636730172536884060474669879664010630135243790644517771739996165034246586299549165219951044024571823325753628219345420034389280036913408848885164747117895800984173579177229312856643500631955533197309186997757090705715013076359509892704802530229285156285593922429624461993334917142052957717836869432398105054402516244972870683177871728108613067643841871227722253171569319243159551403468053519082424845971620128188299675210896779713758770902287563184803991844861078997996988733784003468927038546101876565618684694291736575059798100661302893415480038128545328728229742123139987568937445535745626705013258420108997815269494893936567722901543173701516654776182175876151450204109111850614978674513876800983517419407919055783193525720693242195340249268292208634335190239520632805048944646138015668112929660984754108793894388875080449109122834481249642940164109002611650785232227287094377234791216041095100560625836398426065964694699961169291765193726789014405109727346780053398491440170999565571751713558958827848364062648445537018382061976659405944862712251840196804648249541395528376436020673063623661643405240612065975006419304417072748066452604640891335099423628329843724213890915572331420242675755127760124667234221322958438770451696536068327939444451923201632256278755103537119362480254959356156451535488887308531397095239051324334246764553173447332273616422885858899415183783185076439707058002035919253580295404922548212032227617667759434812806275457089604327836923191090696514123892232148982584937299290702742285993103508791788182981980036256239181265894752569188623312892198140092183127742385924243904939561180565420001444535781994365493070033374492917335957379988953505468854936493932331428448397653688368511978609336342975143168709034035058436432782231081178545868899686481052241960397590390000576329691442966341582646166566004398418942414836220263975683200970327125150817734763950759097080041136375268519896331133073214060336812396947886050479164615657189773978408618901198761879126140135647992573202713194426431138192201987587792748151467525096658181274139582644187739331228100697696741907048707004139662895153131674560841810044248700082163138649457699449217284346911731433374388272627031730280008752085064954600094493459632656405485017375728226942516612629013341291997993118030563394876395452410778349247L,
4766462217731837682909652900870668351547938260691598388361623045308658956673107812325389743515182016249444380985705079143718501440915996545648867894048741164944867076264957980923257685193619006928721761024807700836194836839499187694040075528123665165070731870970081468441187139034227489830444749871180074951733467577297092276843973922018225412581039757479217619288028169935690856132717815708740054374988282546780787325888525741844233713124718282348088682894312222954472303615356986471124907536735510019869359835219413315658961117485853745369244143936800426888096439303560448664061539187241769601972881009837358341923880499292137384322047935374282365508496632126017259839224718254858568714255715320223670626909968331470511784975685746286164902634356952499359792142135922092489079019055307879078931722847271193434384333678733619945630905206189420019639906547921527625532636978353798918796984772486366593398310548330682299375311420944239394567156017787474543975484209485662076725514611088583001028533907409718548222342724172429579715441515875771312041117408574174563675590498345952464512554522657767390694914545469240709092561031077052098045481173499960019793637488558446523899591008790500662078077578197898284815590840121912275526086139280821116116723233943592210750931600240663016773767056552019110617845679787922843236179805003513471318558649969548679715812184147167262994446941376988999264865894806543152541995091927278847965477081869621287760971835190026289106045430864907424919964523235559249219949639066151443147113818153568381193196082083373003072668820122364474677891905056292229887571303768614209464747881659338751234812268352667552987045111016115337368855159125117070017884179796631259971790461371035828076468641884708618673264500364167901067304097579091433763142394311952377051042256415755791026082162390963330927822568331434281035074968117175908913746951962038280269297103464290014943042227684319445435212073281392544880600404688442430828555892755173500335015297207034970456051702471034116773595821084902709757525803778969431180380850531028857890631931321517636191660599068705420977242938400613087999297629472974785510632093307525462669852607464982487721308908390575956308606555690156387568449135657881492245365450396241456353239624947840425161224340664968004829138590985415022712898406440649664209275114946312182878644452933264106750874283132578945947443727197517955995244123009185491523104246890136819718077975161658923463070579443398753999498346714114834953362445229082337114278101127366812741165501301446311321859318678862506815879625052374591645713265350934903788854705424735246923332289703801300132900428707037103132907696714716836132177776042016002306340945920733757745393204378163808220505209325085907484539019515062576964599428927642084678166000443395729317605478790319332920979431204599087763018668208365329269011881006713115896095522521931422706018083329720648863200408065750093883680790956680663247244758635954815773798217957225293693109330934941673185997040534871595521743283466709947601429292625658427587410843744476957812923441009550868215982489379173360464155512428869621037645804041972164480025184916363220606854978100770751168852126105986848570064671579258984280086577541785405913592963681145061501813988749124351381437359389121789082244831487274092450554040339256285617400870350277668166889951726057932669386266141168760287728199393044789959175222753978493458171528348059869005808828653957159131262834571862624389580003524013059383199704723812113493763385633979884962479790973280462887722894495905726438421637480883683238690498363111322292387346395627617116804525220429282463819919940244154524059606365186112996922905233046153173256455385156972599637758768724097363735514533868194351143182002554776711052709135591714251519009792778744569562817189374106355108865857807137223338287511526002132842274775268030003169100116667566394141307652705855556222675943732375357480299665032973317053818642699652806233901607936487466845815284162156931240089223830727458531373286294880288319390237140385744886246415926354549342279343694323805448783253716375266498289073413442994515943299828232690771911834718399990637987997091865528792222346434533390397634127095460417908933558514229693929022142199521512402870454955831670700671784707194698974052378273767853887908732952687022808378454075595329619990727647867025912926469959835549682461880630880223820200655781154862994785496579372779178650529974182963390478180730219418952996335984904167233682943152059072870528622408326595687910434644888756946001682857423474729852362606151570798214261048381936765627404395816927852893289812876822492653612701241867915599777277976338038142311734033400550529755379980058743698958385957629059039949164403160306292915979131217646599515351633970462486017293471019717775415795909218320916325110060657118542495550810325522444396028175601131679138038872882352146162729077308461200974228182009824359069161742097258950067107829716375590136599089721326353406422945918286637309222453148903008536439569929226592869523824594669189307818497870249288678718177856074205231687367586764306778069862499825043298340393226542162418292964433186024826942923602010997208545639692037381547703905717414923682581289006536025383872861096372143927068870781912720746233059245803337766915967688377652512392053534949436176853858416953727897257241930436147001379079248430309653399321452255726240984412731865847849134134084196082427826587990153723561057417962154262900722933312921400579300509721030202580613066975866204790028308235929895516307197708605590506486362370055222314277340207857583932854352732829619747634972416276543325824578134655595120278436153442990405739629480802958565977745398292107839581206764297243014486913985835990268454372937329427589335666597996895096231461755349638890979481080962111411561108194145191698240220352481468743941589626053332997883978883893996361245443536165546989649998314614879022729650561643267513249075905728764639079863482840484523507455529625132328825311165749851092853163106486013478954651336483009913180356054135873246592922675432463899355043817008238696261096635701745329051925164156957832734229009231533026120741873419274240147604098297987254662421851320973911279046594723847964763842894219264047385178580313124507522404771284648749953822997120730831446090114184702110240041414628085749770577588L,
8183349840898829437148133051246354768766571616771094269631377347059892877360775194198901849093456058716661404580948654274629381711137071733730851252994673652935130705820351252244852008883445879026709534948200832078884158339558592955967637273294512757640904569406794552131724304066998575174508402414387273427754764152925774119057389280550648822596299532322158160140969743818713396362674796113788576201579163768964095969861269042446336402400393978752854210746848253774414137205989674314765100486457276644286882667803175112998713593570755911061195391718073167087166420614870377705979994421443963666859869469821121494901768950541209835207051463517499624974663770596299799924049756904062024915567799485801021321739794049161518539449172664273238362423488718319995279082524629100905922423732532658238059230288734044659974266028229376568718985835925502190399805515042621227071677271489474509742898651913049165446768578863596479388987624666557685527432113638648289593808458028467065011928906372313070990196811486731292876657715988266289988112614162966436821274735365515470639282513476315147286600028290732671696620160808533808806588901944921962933239282183601218530706188166906995703534331291626882015493850137217770440642612621105780607940065595546945446285903500374374921369364963764406193225721740702203989323985387505963360424805494498700129041739729846330167572142618049245859559921835408868195289782351012397715269840767383511351097938400388229276779534031930199079618478036244000674279695767382134130528282811625725373160059430009056581717572993207669860911083442851219513734275609284247836250213260744945107667092451332597297061744756203475498071952358631270529981306667993622039542542314830878424510332368242324331298868947360746789734107543927480932833937440214060573103621458090711564890574389123787763755394119247646023805963536822177613473502715892811289233693088740069249955916795997939706886884875435533014181262584529203366235849485185550250858698611541266565542764648142636300077145772640947255543020683818083505132598639067227451427347932805195490473289077379667221714612985042913393257014668861060262215523026188098668131268701476869420112896946970239963961076800068371463143431183370526024266049387956818900672772600886571061147321529023248301431260766557892265341160594165868641831126419311017963726407324690975103140820565019493456832776787802402165828412600222522073759081342189022496610427319326418949839394136790065526258990666773431692484112970988945144720707101903002291020056250647120420919440379918311500401046760050734669517850051318029240456464457557658388422858524061676161830946130068944704320274773225734585476539234961157639099523670320665800367150400174837865483360288274358825232582825654519365434503019333745297747489210609382602865970040563425880930540747785926282414724352153822657923992017513810922228629301702184681878487062429850679468339537779720279571402021778208106828432267276927862703430246748523774479340517963771931189519493159013440129037428794238402248657077387419593243454064509340790652141335315486621875739318141475686071489359849083943298831306519013049994084487850153806052910235326949861860086669935497415628406064621231083723819276671488881323463571824425660456718335338130164813042289025556528273318733540644519174681948409487530929364599620219288760954963736397402896609251415313190616685256810731731720045128385499646132827817846251010869387751868733145654600467911523059834223334437743465725804983880097258848363526002021251030582788426343824196225775475831020174154350929491350084473649170076069805536950887779666416207507247742788028605323104527913908626802320422186053282175068465703275405916540795819691848367362777852457532915982700623065237040385429904349074457245029455984186691873705964484829478778340565732933142552417844458763816441837472342757460593785294257198489952307348039892442581708795422573549042864755687983979178225701068636474099941933369521114264946036053335108661439581858099900612713087000369185174809182036415901933126433425359424539114585606456399614082715191189371663337413309129373075708733323049287960282576563080606216304367055539949177034840124826417982936148927288825846094984677768157279336547297314974054241352402157172605403788930065881408371552418384023661706154500765515366403671841398942298078847273454937399951932112247436628566577342348103863160083262553903954169867428702595105124612372744723551798327632460077155712187381697318657463292061618713278685416341352229837582594586109961679764852078438233055729075269355169553733823288045959122519848547860361272890260175501545237857054630605455457071738731507929808192093384831304189838056049630643787591409046316337467239146991233702775001164775308930308955732152108926573940974637414966322901370810883558573858087334604280636222642193551948955021873845480618076443841148294324393228541003580255484059998380443542497162022291344576739979346491793858033193502125825343557165174630209418492116524413544761132830506681308439195992584993327688291277460228986735660569098880783213093086436065922351397767641770646774778719170761750055267262034170405686903425441937876769296910211292500721290482767536930240307925613621656155546391967502729361213224889071792438714300084363543110359595563900004493966569772959797536323944027614726378695637116566838906153498459187469298166066067832467414022218734972892109209550173095635612352772336611269045716632414170529809794799570783919244274557495897314507655585804253565879768895808809520528768235122357822342768352415742324193634465020856270065251287512983175868480453467218443111993257751486148515620035926175392643008861438609644125409639154796777776851684343367911266113080427337463299744314357952513549857012733613707086892574811839063600521052944187725886914500852303676282725608432834776703142108323190859200376978074043193505357686891696879664905627505893361101983771322492756083515243506156550074856191738363294246322026256821799650838406855807132427601213935061830480286513404476857680686577750296982533239174551613230899240061512287557757964623378815275315876965884325976448684865139577767055687321525316453200244414210654198242561887196300809678457254009626359339784434827275900800999669326812895942988906354097868562039569099438840844697662953688102121663673868957282936072107251483618183631808069262538919446867617L,
14047431349210607057563299096541990756522970213248738115440638387910230998436498739427776835104698244070381814017631827765960833133822619040057037103460478284182657141065656868508423173157415507857586103728649921116901560239317357122404533625682793852275435070923234034127465387275660032429947023134447515399828426872537487525763699222018142786090905087478594709867685134118330051125110322209434819410632824235066657021776250875946009247783267959464584663788989503236949082224949868120335933749597285291087497541235130201316646950368999451512645085428293028153413187518670324043370111023353128941304959349042077181488676306036739828954648647961999187763675589804206527893928177764340788936569126241196619686755755288117875346258371327092909351387658731083098740038981480476784999139252186643553898643196500401643282248205450895261172646530089703791175313121718385018175856968706828657883673553273300785816585900630866666813919933733980345884506099856844957062334860495549338715274568796244244433549094131053669992928112725963543988924282946299326570823915520164371055119718148066145876105949806599251881828268477890215825598047420715766482641027724322972110796282507843855777907533972678502228148922813754602195571062332171226824776400521928439349045646250288085925677547790251056659821884683868380973846201209630622653111772667790672489798064476437419421823295987444919829712221800529757871953600564909111652150157471430042090770376143476321878747445502231134011371884633086384016673955085172268164237790543413745331247387851184805367693576492749973532594140781848480892468538372339737237596604292285581379337137549662298562714551222578626221919524650645262278368595579518494338766827280291351545338522641320172968927543116863569334733591944774699125505015728388831129412406894101440201401434932286634861954608879886321738446587215662752529125109636231473925759732277957790908849300484446496303921815054265607490885647978786885475419969672685578692633164916954888460701327062418999003626123424125769554836566611177005738396149220302097698117773997292877626477011362160463093366082789368698501612818727192011615328743468949025002489641482916205598692196918599617866260192861711204541906173134557333976620820173667963022143897128603526687974418203345876321894809102626823876776082851892610151110842699932848552543934097527784961239761813107265936029257114207472515082572551078040906066158350538788534899292431513491758674613146905866440891384811451417903284725215060780730767261350401731436455991879021589440759157935861197972660165584266754611608700566959947307031941514862268592708478141048926119785864143235823113322609977290352717681505670465714363736911970685760292638503448984626907153925925626240868908837472941361888980606277152749299263206719712255405194126392895057681594723041696418062858354955458830858041257020953163836411423815286833028857105434725685004313845876309645754435901574504906935575646997679854321164554016031606549374544484051352514394329089715876465101957625969847407026354140405568732888813723181803909509472239839835929222385070026838590950399462232666512055844115687144046798277564110878550610829682671754428226074162317501671498825891873846040592034080703894429611884845058255809502786984310249081684895399317123754224627654456896197528866147226353264908522527416149012758436649077348506095460838848015283324297105099814138954700065136675954004574183676795019946674117470057744611871631503801578043794219628865281168678653533496996888410143931289550005702990227942985142135663952395266423874758975664062463327625253115458714863462893879431699603942149344570501258804844606094675094076446368439494525446958198466608936274508368720316880984512938004716462199042635641937002896736366724511982871633040236618848160048807861914077715237221652600630888487746961534668691852260070976102298794302918831741779483583093143039923700755678051909339959269363309079037147091648650930657711607622576489509549336436477263683835521225218632237299035736737727348468356212320004959345176029335298466429390703596432086717949744642198248553218156780486162223611908908356827861330061845233878091231640020742658808617556312226138170184822517793464483863903020399990726352461726033377103916226047066296160799297698820805596681931832123621232350408150224777395498190950120392576571133087389571815561908292901032484965220220829404208095872846401832873359884330386063945623272846247778997071247487881125419591808846160522330876417807614073016216400892643286812866292789543628214669868669052943902549100608955033376415597886727084286735070213423683947670476757241606699421384064570035607382963739430250269715968720230951061998585117705389874945802016699392141179071769638165227137097646187911152071882661193817775381751254178736381022305691731973597712217791591401001535241412075767944309487461411292977888381020384369428453916889697369351526235071983740876415284188882251630103015675931239728813842308339217590789199855292185941804214309924400919351915824414405130176636484496717769974767540844804016864518913325557843916257822505905154739234861534046281324802528853422327547531198899062620784967346571954355070682179615118824977687534132314940463316514143713608011593618738749880591372202356858133209595686586332987495982587715820937993741339903747962157990225933245637925729242034869119605204420542780891553565470004233848440407615430740206350723469866288727057200953756008162970104678689797968526216342603654481818415767685591759445940618770376327239370647717923171161859715476344547236701543460587465278845961435743829569757402680484857290594341290137664267102649812200518035474762726978388599148862606915292215602206658126483859650227274662327763879767477205730573116360522040952807672486712416819370175287624622728465802413886599611521211729229835010868272969476321339921506123647765524772318978082816326229478995417417263204042387509582987290933831712946276351732492273711802793230009195623027061847952993023096207980452418595148484280535386148353280016689950106135213732344113781765692066679722442335425783636118421083943758030026268194252372459118667470774766793364239631521504477182910348732563399307953468552798366060608205733971334055930449827239781891728550991727732635564776388371359934715356365847752825772706244736082116362075717231685967377378180741110978721803769459734090600412314002L,
24109799552731342461703941755992518440274074778419612079014024055844744698754940017892284996817095490082482211192988190612474307946319039377703124369283085546535199373395460977807388365612863395232843392647632320284479325258779643858107449677909056173754500317394238712656889047340082210525606530715481451831885246163837687178770550922378748523334049029604349431665628024716063878300537188168231239239070133281833591301051077156135914372645563450754014674738697849712666323077587994328017306045042400984071674522236769775521078577857575296013770721586008140946906805182102705620493334895993693951689984179883742616535116637926701668252237418584046429254194486515035233227299953825019788308510996324769724082458980758887517445685574567378901231959025473961659597398177978685427900554094853248530791110838905236203931919212833076020520479147935368501435458411098612687054860098613200533323128568950955454996095794601948765693079607159010645995852528011214308875680183374766902715654178553817880834820377194545025915042648623929380844182904247499454094946312388287373082838948820337524771475781481066406315407585446453848843838920996224161921682252617356808796407897931611457355642469242616207112902464253002833580259159196363308796990883857202497059953543063354145915690684313878285889185988807005301662068015231413195840050191541527800635175900295459820325111573494679269652644183092928305769388845352085845411726583074728585284566503954655160668414262033635105734888525660364457477991413722822505638436530331505486279792221455702797864974618516314825351025670038459720995391292400197190778666072844882905272822957397189657861071561958863614071903922872005152165572180981728645082320801342862505753390144141637887393371688715062379866981114792007218788265115963379840042753314574056997551946469028584806844829320909663151183927750250981982594699261114981726421148446768040034453054715792242568521017332004998033009011556697611298638639678559281217416601951124632865902999592686686849145268266974559821402822294087326901727739014985139906229630007916570316112790356021286273171792949047212377155046532818356006981687470486937884977410628103004145027999537176005108207307968053011260252677679196174655287406868661363962232553350943835398159714388958338791142681773145402304275677139245316108957869283357740127298502089458861656711445205286876815375166053923304615322616117563131143060886106678915204638427002476843835875363143756310477054893627128261823793391790175111579960929676374793387754299582202913640222981777454313812740366650260436165097247738482855854107656715424332611248932378966163608216266639264260252811431409035440257725517237073875631681022740799440346648237036995056735241016631162020028061156497439429224932767380346295195674865930113102129636879545120586401314782409252400218306019344108154947371614440563468318620605105919025127957500552997924048660557940377328982702984157014426455457875210388479317679370915693861313723672721192083269627631246927718734167742247340293193609386806682354122399806193763382292594959676825357347058685925427162468981631343899845434238773674935036034016207673607037211033700428929528487855624830757726061924258844335719495947791429769434136410151702818597937111379599323211323163878921562573458347195738652631848055037138023382279398509754081426278804198854576816168654922487212117012506618655244666256629726001352868258731800962332720556788832299895565093201227910391500336185587627839674936153841908421458486486930028873785150059144648345122698340716376988046944809695733556907866897537965749780713023851975156102411479869148968826618507415728844996060324525490622816154085706644020040666891902770688655507491934795825528595153581829772093468357462401758456916949355822620830709015579257541502880189926927458676690129645854948342105821508478617877552372216990243491423522212978118972968997700560699367236970009483731390327948159847045649927516007739905756741032432812465079583194745041559897126936715874380260544350272037562565554386100961892116620036961566285460801107116378594014780481513024111030641598072822221458901378271797951592084474409199493783294506578045048375061070039694188389669402254661569381105719194081100353778020536641106629459376163442196565167346141784048028106881377688985148975515093391881463276451470061484662480398639889154832824197770937700126382466432303541385849978526271069811583909230211759783452928936626098358212943108953898764156537548543572079935426753647061580808637538447951519966457181147362071242058975459579478381081502776878495465938842317477579051005114655752203820916805947567258366066105538044704626852683632871487900984104136450169139168034844441483335291727593518928345435787796864391896638000403797682858080956911225469275215544095831511914641698855911130910713577529823811974158403603966761147264940993578214542667608493982316282198183210625424136327008423032030994604331686987454743486526164448293398365232867668372079065098262875174305773983085192800891703797646114952553070114364865639946897228136675203866153918713434659526505027745184824020541210900404275413449968714735112611478709801620917479858563747459740748627026505123369700902210309814928315203362165733098894642361756305610739674051302814390679383820590081242780203633630076022248605494885044528518851961463640683715215114873919652730948878754655576351465875143876462395770568385820270608916984870915738733139159555657944956118849050898076314034039506293519085796477770461555461222526664732285025269968613594807267105796913375226349631906877876790430439972176247398753677291558577393787585963887974970953916610226530016373240249079996364033973115413378016928560354274036568477373029899687100616891693102752659536262741611891990441995705686142667637672657243987838366168864376321795957285164142981608230694129386195877167960341634457377637186897157696423125255769986526588589528855634175471256749605316337377289683237554909943905496603239972877035101900234107413468143008067767827139720835130388594831874183376554659216201498609279618234681110067146837368755472830453651503710695743944331895314058540776213883118702482800459873191540478262113524959140543135492638561927620604889041303843445109488220098969509345029819397543406179207001267612297946643448150302820188830139971175090160568552330571990269718565818718273942180336473272647366156514008L,
41373399338533691780121077151709472461074219358484656652383343967912950046358988938564098247859459826996396248124105486138140227595346140797821688281099170380556517772886738959415752448464145251435065305418396170963453694767127951717812161221196814983055546308228206655243909623788061564032114550889312615671470189778790746744887092154457046019274857171761295601232138954654267207121810435611846751628908365305649734264151023306265758166866352518548165546358907684494879022953515928160790442211371008784490434046595899414398907049586323986064187927630762765428473036083392866982795151092366883837525757904256989947008594534584000280350980835717232050990152416506922779072313134732385774676745465674630656346374495954041244837862370907503430712897582422867987620893601601365725022797429638212139046951444948879892020533431605057164553887401264433651426654561988430409372984044599910682099896666716411999976488745451475012375067169617369269275705032668512248539644153316406732222719464353596076170206469481331017301451103276073150260452114104455742890916731261036590641345052291474443085920569855393907748789870273950335513663959699594957253583576649548448846416125253742111990578724554734804838241491247090745467017690905647315147888190791411748061078970908127375355958866670682780592712001959536135669240455176773282032039995449194292238567151623197686216329651264874681393214561679094004345045081504842432737783335187356056569547510602643218549588050035477313557806454943800902713882437107700937703442306817743889338449299768054767641518960759645868569729274248773069684176905459326074851876825376032769861285472900568774750666137925598730133367014992837514594071219709059455710322597104130671110500258398262672068659376531102330656403218422879182406324129335364477409863664215206939368807295516355181572330680350743167828784473153430916020225989979470923946674795117910325839036248025935932238493770067745747320980352035814597239683193407599307578005938510283059816585047413136051446945100910388106799504721530422822653799409961420950986424688157985732732799435814482306851128689906999980883256018079257106682281415113574495541167383073713444848623583781313134496307616866377003276374386663626232357025271925794633142235644957774919930239518105530000086686751355818763121068945859534936509283399127287250081538211875794718797694754481239740713943218020903695006032193682242837573789113691924473710110816274258003980403824119050356007619009762056828495616932819963091312725388970047318872099543952742066455087257270140428358734158539778540007609190712457344140360403604756229182937110730894674104907914394411363987195895261284960666082591362107726439470826297576595563928978657333278425149061322580987781040337455872090226480709284539558266526844254536015586892365605285037463333908329988073990851864843844967347945892077151926805898481100182246710963310707411228100691905133059259565676026789971622196458755915215162049755686174764097084163132565550311535911525061944375338686492964505079390431705227061794436535910226589389371177740886835476524680498352735106498707888459797564554455854299710518661873858129409101617382652517676414045308968833284286653545189290804736250960251594120482358636705852110200077935054885419713234990978995800687222035734123102870136833067902663930399398047739132581561090196647895818085329824615946676216546962560956101228163949395397819964547259348617293640942711867712677384380357496824420771941863829617311405898875918940133793321068414015418312789804223297260747903851322903782064888443310518260592202151895427723596578148634285579080319699794335496384336599586704362935941499568726236578636711622762332004283963617743556183170236912581037467641296882977670345133588245789503469067210823900466489824910689891167623195186495298460762452233395566562263221971052488164780457148933359981152705002203881261461752801432718628837316636550528074939293877926594105522183428868991041188040724040860339874675085629450259679178895942108226208603900965627038645249371745005050562279252996894411092722405147611532010761908842864933597041965596022637983034614223055661565821961539982748513725961235372610313035247458613929168991167666198120209284140289382093862705675904007737578855011877665655639808687290778178500136112071906034173129684672368704972984420147776446574914118979913651817393162002662850026263950395321386331665234572304496626773993046102981647475941792110859574112773785050084934325343150255918057723904871737819051638330385571837896882517559826258910825476288603863280321893527371571977555122426507445796163432132398858057740884924898259527116383263801007851242027143047145010436761469311368513234000142670814562843621869495376791286683904299327153078918317686303386559071445129320225469366195587936154394497340532629085867456554934807802996817299029129016916877643588087411140827086863631428405193604613324005590334109668373890834552039270405137351217495726616989551335631802948082988779330959055425387697712168958891003754735463730675517017688200506785266096605139800340760973885474800860108959045023805320426412214901983261366328204341191929784061600418579111751521174065539699982547267355522949355459080123343939512619970678435673351905730773218163525767366797894967810099696149310527909036180389896324385346747007271398667121868160422489748136128667289938546875959608050695218582027490044226547602758851387077092842572302475523436166245781278648448306633057255017634006198149146519254290554380469495644065429675343993876317960135394159905068311405286794879484776517578473816381935233426914886570789686191945956355387038945397597610086914893926638959939378675976574080518074508643555611234591830541876164634107373417658948025829419084824488096325378296174945178089433906149213259483549138575412575950916527117267741462336912872471313261923233133450930726850066672179865454332775393873687012006786199921239292626313995409921127640508819646589586006919256750764373706657851221505966558503048536105949822939209747602728792486350545760207196087810909439512845311028802929793271949878712799687872199521653345503978688080199720808146536948528453873702139067080154172965803608739097060041450822658550581456274534476670602625514266216552389653793375169424292250161341864793595116505431282673607486551079130383242258169287630435099183987658515303812291924556208793725648637L,
70987156066137715841179905282547143385348660306320840223524757979947022251900609277150259488039503822124431568064211716300783052151490355929100808878159636931594564538052670638780776679898262306569579777083075467259067129217810867734696904929098257819295744115471071353289928022890351502205951143732776572233831161993403669356227463837858434338738281411739063301165789308486203543808320760430680847794364723136381246741227906661102195813245493758820894159921120199310236598949029356639663168677618187546075799523245077466203938291235581838675663539921075646411506145979532394750386485346013170747612743864152819893660821379233748288576919880999611724543898808760241724676402938424805909762865065592288352084062335693980953224310888974199086890843154232766029486063552486410461405915082144453963441895973445207960006986323574529879018118353410765069539308189571243380461713292771793908137415850814658142787545627354441169008935558338918268698569601573269295989331676745699786665767550540812921012169012249897044445271869940333135054024452616822600467408350725841446600420208728722117728427706069709925342772627706744300145608282126504040511575007430655909159859905038552860785890395279859770352403655575167231544202047054606381781150467352238946597485074727000277728075073122200605539672316707776887083320229089547660351541395671055015495465643206119127943792999206466698750459360195492048548522276546712538395829817510390942522504660567231714012354433559271408651126599755899081331509596992544518116052624118393153065601156440413950426405476997248069228470632046989431459115797262270282987472269968027261253124592441771712310332709373022707145888950657847813639175518245670229624075658763852696359857220494793662977142598173783381517131397476423989092028358115351252073788302685568862433685326418270245219132225400791796267709430126672080510582048878098121235510917626243599532445716576226431220150523355446283022539949706707653313688211050567211204000325683093722447072052676102130807041497894781430971090572997530917747223731206475219089119794725432426293269841096267524153232304788124894616667336748398877634524755582299337340219559304672566723889578528315785949359551970089779704704178934318519451161000661337254764701505830515009142252750092122005826718180461723727116348875663247168940252231050751238695265983390649662917910701540804436264941138298426641542194710768970694718724244335022502719288352023924108122454219791508510766585826190394077504212027017125988092244968095053506579201180561812692652431540539165817891052020494746039942303103792350064790686870474999964647121986048979850820661215569339219727471292869870441583304420773584810960507637176731845297044844151336960209389680042426629894565394629558036849409769114497496216920130698323409964938049142531712177842398120311888992188731600431979898286953771372291311647839867219691748884540305143097718255764062698557734935149798137108416598400859039002486395660680564380139263579140020693593773244294875774873573132685065167725379267598773244284499087040943824225299272022503831801199935897771151095522609850645635420002758120490856289393792225434237702937231502189388692652284718045506962843015280397786952175385234809063149641570083566215040711060346186222030430953716088667680252130824076870488872191681938271671887535695371852652702588906036892418449782237542266786140815989519742619484430277139219093880149504048747391782965082720445588262667447505040762681214667499025372841166386504780768445309066121928773117465569088621232606349487773295906875078372684909642523277192551877756605533196178525234034040535989880738385790751704679854581283831194423206186647762651115348948694639188185260890416168155130536028143767599916690602506619153225974003814020411666145998076817108495555240723007385074364560671422974770373809595224215124153252157099157921264527806992530747572061756860342957472466923722340658399343646731314226209608891845697273159866018350434884731800876089360650029709314069538236537996483215500508960780892538249771753675374830079577695384762727194010175654350964161604684440688438354791512954829222099490474348812222259203790090509464431893150049864393156001003268114479651046202645848734915013678100776137590742606774723127786638190857015991308804311917199917137627348751040148295470060815135440871863263050775420620843614502987470415142942952207098061665344973361606832923937472655669347977173511246196417413324274502871868162872293715480527166038842830537383577696272893961469153352393258818236545144313649352755524548282381227924299428822344628599085704984171864599122490802141814859681979533985115883331720030118409461279125623789444074306745593833882249536787710652601625518103249421032553680098442743729312765334692086794998546532120664772458939825400732754078097333511143296058641779951365888082031423462304221470309003426432544286789090959769551225581013759451632197655732381584429469713373616343264145977483007072956990583023586469527384822109315366889379491241188396282220175463812516014098558259640895996740268720045984277287909994062413492062455537682578129120506842070025832842330200351391050340526111950145406980738261432402462891200512061029858180739149500674136173675516251548238910736404294130422044185192392361389763458182254283306121150290594525503377845171070643989120212532210324253099585510708243063698711247652367625968058175018304992222455924884331832779689903135369062732024208053628644855129555218936553375300194639360980937613375166553778477495929943249920589478699248006368751880391064773067441958701143784325342549091584515611330187793849704035616892934904670224897112394245412110594865257849417182627379446695891218687529718043014471880222111903649087571331000782449439318252512069533879257795831758660709004528307330586680969791866426860065650821657923874229145134091438271035308632128267315181871519773059645028977060305299545077671935979046556098498714833600833094915618291116618977446109551677572105720272937841726017324147343119910780753916156602931969397613809070470280197786339376594857750341507334801392927838107014722808260178367167426861025896022340811981397875419233091935340362955005809105400162610041026692492742091072078485181896024092891740454561943504678649432921940201223716686640833094011436577778124727835953322410072642308979946697771458450165639280617696634809510515666L,
121778146662889903833832911813537750756369396356169597073751481880252453420379729404602507262414490230367124786370995697953678931211645302160825701978472438084385893496693174764559077872269843955435991757346977245167831552541843330094080912830902606233339285312365922573340374772506285627452149491300842308379196106125692772355201600171758529160027529191342314718885642178382989345357857723679307441769822915940029086094440883961289882129834440822932582526663284428847278273544380792052487603264086957849331892518336069568672481388853726446244880334991251207317622498770745623626971141340652329805222539535166445057452674011462720896352540574705826132778751929062273879025829504014999798478191123345359172279388113894159065061436755117988330201399908829678475310503267964129804456902954797584920503792905834943894853507429955305826557488541606414308337959937795020137218926392338276505990919651429297768033956099960562378835450827211655237620265289853602103199707963134923840030397445274647014174640945506815871044965059791461931075842287823835884048975779268140142587106145352308730328452675771945002065177894082599107986061023922011215940339577837884348317291906443874052434500160419895199518322720127714123529374324523196776339918273451397562138487040184454063751776752375919934251350368553908143445858932269342682615390135738693816941326088218840645568087904090843641752393100588963805419538410747243179398928223216589102032026048841295616236143694807067328024425951351366791457112285183005726794774304745651043903405920096376228323744786947686427389525331360347204001823476082662747705743118753228225864432460813675683772340401738872163937768897889755995013317441709649173893047825616769319642712898620161023606764583695344015333664968049277314019478945620380826468026802015582241456088504663819108906964327697004873028383395995511770488599748582508241908975315894664476188024066969092872078231485845733935837596996279090890230571116840962081585418146629593712126421826631578592495610999459414715266529077283995466565870653905891764568911502823534517886642940248230622648617431585989384418098283610587446125611226516190320560937556235064341578878551135792045954419915079358181554969459385577884197000658034758038187203062131391825411854931655183974666581083137350918359910706513653997952369711477336474675981515696290277328420506076841095544809993687885608438881942357319099191338976612271875949352914697372943691244068062082384077333002148681367920712685990907258745314478356001674658136417187623638619332929794882746260041880684298369767341444810131163620712245944585635869236444760243736378776774322283382325526990330595588361395734306689168310544736886015620048739651543142663474451349717080331196612072547164472200439531634229529095565519817253051137410026115884531262078321447276910208345864965028878046057871360703112274016668329262782603325363543933852904386495345569992728803584742110915532161849642223944094766146894701369815038669007686906447864427291483519771957748901678782831252436516543369524130954382432233395063110184974847666274008812469525811636529913249581020715960404986877053541940965610501113036303730094610258520020517420966184053303079634484887594902039073240126644438092822725817592632367697894769727223898867598225286152593978997082876021486750342682377906571044387166084710610310181771491656499781818666021572561201649338366033326691533245750452567999944045281133425751921595950508000246820862268591056423162747843144305807937144021488643420194585031692048689110150091164654424160270890973772568439298389164024439322281292747591686093000923159990197226174034053385447643081604008993581594203143408581534718047768124018490927888584481139291702044774458752017278802477553120521703452613071652410801466906894311621829415334467541602896438587509557442859638164359349397371068264179117827469597195867554337151161156945692098352263081467906395899600849770235512526270505402218710619071372694233068003741255055506079069605360674812559806012525216830294042044562140034712087435870291901410193897313866819234780301066100216719845759500450270136279355201260927320873932277531309910834836285164662206206846853006120271321758500846690384592306704145056619464609700943902109318315307403433747272334668544952059420485133325590483925899279806399275132139946959357435855760591624482321572097287701508298750203473874486195747706568794488197584562824174701041247506600211963736418005374577163653114836752059373063798390537078763030832084074563289396799153251830487474547850416534893572044291315608146970888508578934708913982173852308945903906714526261415588062653569295121188193080314835986036344496059388578368857203504512770270678545063969363451116224449104581109458989608074558722230197902939089072035497193966689247094514514818384512947436322960473827263416525112563618171261576577083517667216636471358094466839627052899470473921813171987412187685784731308059843171934359885792338956561021788899988811341650315831957725399594648361307366859752409127411022916210578970826684970395033640401671325157514578337075026285609992562771843065395272894194410354133772174216211740297675225498947515445975956740487912854131046300701706849046068110199892424084531840388119010264541926237871493911454515466029948819275041379008520829792552623034559923668361390863925471039092282368085745403417992966789336562720832805523741854392962895721501691187961976760429265207090994853438435600540721798466168794835504729558312609536156603826354482300038991815301003658064610391056754198739549986460429975927874770263250247339968624032838223298815594040182631641535629856513269061693366987218494248937800775408262096323306476091768354247459434820408901260635643530242751574075704263140799565322204962739189183616330468686004680668225430520201462471877915726543400422030522639875606729078579346426923748626034185044276531162275174795983675227423341894827077480830045282277413419228846785189682950267410176707173489153833465191001719845788138877299995552832159466466088100559364031526640428597589644334686680061730870199543552144182998643823532038143879877672315343999974407176688336643863455492519042759045694856491477455252824511574918939613425134544181403439284178419915102120878389796644532052111868734553148113459345456490623476908977474980813329324878182466433025468521835881352114082864106862521432420918441L,
208876699392007083137580877252211922769308487969163706951561069761701399541588029736613187777258339555112185845531987701142068595998053726979053825230457734256031213555407842792004413468156778130155103568354206075847255238754395543646465067112165130765145745131058495374305617686085284284149830438632922752704131601988532940513060892822709181576174775708493792441094712705809113735293458544443742036722960012419481061798675099401158512003778689298890012722272508059005680693414896324043788080347180711132046177491940106489935566577387011717262893262259137621272162623874870889186203197045059730292146381310179949106740518225436754341119961143001328983609095189537247542024041665001781144512701709604015192764729072404772444966762012454642938891022173904526856841470280487587388306786440118300770571442903964708596963394936484032259586029948945571613326000218028471671877917814320697087457583618029817681478115606561812824285126906764312410280101290772785424544790067310804704508281859442596284751889683182381422989101292559923709358685135634586196289378817871669493307585854659871323528229042959066313993590787396600907067589472236513313542784064490773614215447920328643739345848563784856817016618911666372697514803336704229227142740926143195310956088873197064955895016524455000692313018403449143130938708869012083047302202906482690724634212117024985278208706861796918384706258282499455781701400369009424726365209903302916865526548119009292792576743935574685970486203356161604009499167204382182697440109326117798285736751011928443181292227878601123443122976245209085634135569974124411104210376367235356984904044852089650808750233277410080015834058442153607938898308819865909528931032792982871964266367881332397326930433423450853403879764585118612508226956042829834786610959382138911896813237578687391051651896915644138159035338725794615333796077752453134504361517972106195717116812957371118870830816637798701828589355133625967685340275696506634430455698552636566289999408691719746416025951382681091941902463827867527212561498223814276436060548814466801084553922306490378084742494856887654778351183957231793085385098537239485959772347365956989947959210855421343584892305442973621211715480697525433072177650405565511288103317363821404418130567930802062295150085033808529001047304078445882970673181431147041984882152341340550486188566830813336703598966705923698089326239757686162867406685320741672612820372649510828784092988421439565485419691824674972969693294732820205145785836398244464589047798033944389698892461494606468188264027636202591722405953210538367412804891333880741658666587833938606998638717127880387796290164023929383748507271056872427915129885519479988409671430406515075281855738225216616086047408144365236496240882221154344975607101304787160769733484061111841851701430933228436241013514135868626437013400135147426778893765492591971631593399436693396503489679761696964113988539809065431352631242505522974903483527122505904930250560535879415915621533343790962594880384394490330790714027823794268004375292350662173626356341001196592950332757338833291118213403658242486889880670724415058957681178305417423108048716189658339726541745401800894949117253521840447704892262322755489504199781579097684502784219484124160983575392804291255263898642742977000605705576790950319435460294489947021488352161040238188995759269882215319863557923649239220925254379942429171411809812694639378961368552658977882443743415307169465599952635694844727235007188453197439574263933789381928220466270192402776746740852037140904348114420545209527565522431244394543680603937193323295898166747105807516011362233245766018700143979185224661315054330174210180409688548156004151675453946006234835368612931879633430151073656314827645337944049824903585113752773775904098788331404707274341670188261924580044018884955443211749277295260874178527117089511004405438457410661273051252285577934366555725879490638113572126396208839851994795304354096114998978806631749894180511778695130612483679525713702646219132288988265903869291601736492424317328388327330092353015530512098587275932958094081564852215855704292934387235589423017238766433023922135725626742697396020523567085113145291154201961409147574827739567945130455673653278370097785183403497648412549443209510695112856295662495993865635196394958591563994513462868274491531761074558723909337617372233000656877934067281524436303415235315324090453186569749435227564558588432765217440726433341687425373670488997477664928096646400735493742188373453725993780178368144849183269213245373538760088177113749232169075079924147968824256115386604133571448101155462545029506743990854856734684500206644394175945763935549014065947788390581000091620318160638412567715713796380155181177609313398408352820209682374989387300098326430834934238000657394581526729071954138225423299800131110462648407246674277662928571251131940428068247704289818072300950347966029166183590347909451871866530537416329962917675077958972844902135187340844066474970326155449143920883293117902251825422967386840285168426940995320420772707912668669002682244381276730338391230789861144849363019122361277396726897965564369882765782134192548992456005725507891751510674054851021165067637751038865649855556491793797348566307425478528313861497062876988809916040709776289614688236410384188238701250196530963838329347312539114635058521808801128530336641579398392658393691826100552528268411523912384671976342335384955386290975032085898969388377399741474989194549245628382318243213430638294136093690208506924682945671490560025220546522425550275258071320934969238416528051063912573390428044932834824419348606029532513851338189194556318758947785746497218338428669631777363976227519693251838902678588236123680043293910692446095254377832398519594508045346882067352065838783018297135144096014088262578746823788143788171916977025998320685765350933220972567189935872272720904847441178594137584169380340334016413272916281276849838011807584385665496688923133217058335563504984884098720876733252566761440016403975510426194607430612220979731901708060394437797555795288704867337915004707948363810543690160376513648856751881159728756853671313462995718367971787619673200402144235514910221186195367920471849286133849285147213422571405243578765499606466155871835660346491674075199171342610436795023436488162860053354028604572032628455660502057460867105634591L,
358213318142757783958629999193858039578631011148330111427329715736354871293508841574385390484590094742267439939445888250738847655162588634401509396919861649079309561441949402849242570717727933804607535319106234551255117923541738184825098685008278716610916706841975954453399541030680913488483820513792742053836011862042614730225414961747874339989835196342696733138179971044089712216919862557451305864862759297885758560333196933667889443407368495261436471354428046102840868610033773951081783859702171653554554509977594922690588010926879054271825364055356573570735527300176480921911959396277182809370878450908013071898742185039536401798615397211677864106642815271958443685086828563509078907420708372213922108652183144134837837849177213241187959533322871385815229822521557605170589992296692856745920227522305768386224717652469704995070460537687391285457855306434996509476827170852913407062168275796720710484789966896735112112111044468575263758874625858994822434781496843618384777961899961659297623067606922566075247360400773029331694030148188955987199807928424270300827883721488279639897543259754229495339572931642074241704997471020246713949829334560037441766970695945858948412934498182620831385664548216587925192324695850652572734047066918814920190121273554284210998049325024366950705490563834623252893675184410611798518763260932842851993336633976094584384095873167990824411920940815246214682737071879296025661135303091259491547345060709061244148064981384567569934424805497029403241417212352393104561072091038162912706002283762588693657487517730020218760928421561520208600184910746324261686678505365800871006990062846721993257670023313704338561838853571585488855681122487473115698218449608318387986441578961607634420146507760390502889499222212838411058986589281211605228983336639387578383950713169899911251865035886955867324010200783204448142102694742119662762087629201775848881990195904237989126879869365945172751539204211871760281935366261590769688919063714959209135585808670571423944361481474251243138920383372843180501533529247784426952571236972656009546646576689761670385460259770518188903446163116031654559488279505756228505503013355651840556047867579837616348994733375827281882686162253781783583534235631382333818482553138942195485481036686323204539531989096872881062976593571010406841690664668746080697716355372948790770036889958504995625561938572115177406135530755476699444654224886712218659367831750585293876768593717798092814103336395768915478998965220216839673823824744218111774985956269003166779664539705364124961794257455054084105798660445154774160293857664596288592958685109129694124132138621163436263016019768982900802179486858160686575972980387724487806071086594689429923740250314693133213058151240909186513724063692483554045271267057244424485651185546018209716924572231068812214442872155343878138902029403101196601736301280366773443233207049114318237063480804623292240867520297367177318785458835262031189468254560536854686136887415668347159893372180194141617643632937573098406135536925645771886460905052669320941953696091999913519185589469529070162503677601682505615717736436867837625462927882895551281581460424156765286910160111893098093001858429340671380439244065547707252181970261470953950667155899968637553962227216736615567451129480663276009329720468421696267777205198087908524645456682800952108831738139234095799828780753597716881161909547885519730733407578405687046601446016775628710149229849536995894492103994775799790264841768230152812463507360887246619041708742553912369231203862984677261734338113094010443410510870435234326499478764250962066713982414666633973014805871897678930586756512286427443973987751925852630068337347761877952410008777017641357479594322719941712381861811021324162057836233830179383038986246384478586435847525508062828262394820271358249723807092512238330275986667979367374327079697084235028237555557181930856910276291419445584116619519224751861689843387557521843431859588067580983274263904591448375733029978771795735846199646568392705458084893607241151760469871964820696384751238001272949187299428750165925419691825407804588779226363951377912939917301424013332149071356461993915214677292530672502395530991066643320635015465725349811522801252525013266835250765851347195880042317136003707006350593460831444864833729239002809632825719666544492519172039614724632998920946725487729656191914005099133802379890923464175531676651784101212067418384863079514446537837707596955401193636874671170384776412559418880551280142794751173644518423993289411899767473393040510180012335535146683825683424371241684976701788720975161552624966056307449636736866811259207647168523141486791559266423540781983917914020742506283374958169326094228413346081987541254421566218547764406526201070193225840203369355836422985389230005129723659091686012104384939025605598611361581508145314208211687229683667474285279437293772430502465163446666971165935843665605985118651170899223734478310633597055725814238407170479682200603469212674114006648804494285301449591934141159572265762362186816744201096572676993820849254743165340096673878756752672906773886476188254898931385852621675132759508927569725088453637159641461508367020656307306727556917252131590562346202423343806675943264345977406709160434539659082973204329289664424981617573511663031319671338728975458667581157960764825817807569303522090213010375009588099500556323892677512956396669716299326113428889988980551940029103303500797158841401365533414101756501977341653601678205656557374262362334794469284380211005613527586509580376581307914413899982330102871863353028268168839286717568844632198446841825638110299193013195335131598259811511694428415231551663101812455482348661614843972284480999441128769807222899542015392369342332295810549808722756567027178335529151376436936439379235924453946285397900598007199103624119457724137055129437854831501072686177425945021172364900976095217884806940515340174811957915361699979207889495886893409749180745415357722745869469123259797429746731236558730392689099597788908490870294726254557170580358286902095827126468513130854906470078888719884425945826680137155623039506699556772136801274452634822662536142506861095861151866736715761212381886626338019641057624654475625756556457071046854140590287855714341689207279307336332037860790528917181085883731752324687064712412228399076534077401216573433124592980721L,
614220914410763573015884696004694662118868649334665263845703032517445581121613463331365305495054257277563994450089970007167778010326017957318000171439665981752637907671925979088550126444637216271140150970456736792628641537393636994862990814747607699336267920785344394495952923702879517298617471786256982448752502893971862614364587402495806245936964388941633461426498259385786129794794192825119069553762595216852844835412123843443842794104798453891859782480282337629640733965630820662571636557086962250923276601234372550940558826800959853948820052752073745135542228499884361008493278011913781407801037014144186816988285677090824648803919692187123151998369253714095596092967709104147698068924555700593131253151599215143488976847433147760330396059180104241651484265301078710344532354549085529800581580457191412214138049219622571324208056174061425469628482014036535240311039274519455752750387641243654388064974740478022720643614564379583184238999609698030311690227310397970637558577143141224246097600165677634138420391920929794753145581977698739644463317113068933820564138585165625280592605838067076564607838798951311295211199662294649904175512085494653874065504807253033820742929197689444363086414954467623852914083936898951178123730172621696583873087830312428445275314753463198530244686056468200356587227489412756269135254322099673336049091036469501987630841963052069856896816552312458244597062339975238635797513453299851935732024014510511871017737963633748857002844796751071471374490112438894432606882920914613271259125310643389789499356574966230478209564865937203643432925102324322712116800981136994735887793545606264699303077231467819509611936219089846295281847134780169918133965268109940423828498446544948103147476239828919158780440948294878098894475747721905447164314652455038044169390383210758795406391223673719742953132276488583485678493611460745126888906212557303894069805498288890190052731108346762951316617711500807965147221551596021832870460757242334989421242168193436424515866764868349342500716542953965881003776205389298611111700952329273355277853153821766863317002922179756532676573165316393533590541016780569682307729972468822657008546242096043536757439806833275772189271683128549057244422125958047599909896164974303654871124622760728338392301514444665104297686150428562030889884363081047867980185321468001569885382624092179624311112586812820495498163366695634758684896580152875181615337762250789064852897283582519553407427647029142122789078890264185576963886968219506692676235897917192941143214104528989580946530463909886096440791037485553818323645530652639207611457464517155756775720492898463490319671022037265753111701261225084342465117672753727885514367940399439682378474774774250532560355193803795622158704713096138424458137509843498656100800923548605206349872696754861770524879498251816380744906011640152115376193611150693460958161519826845738205885144954133535293300289400973465714662821232007136551708139465587446547855112527338622757277577718564366191226848173208585927582088421586641020267716517504139632221454886215867648586078937424551306711068972588296387806548137677771681013108534214152160788098563844646572708933648727464093602010484443153868739213641535373062253332361087525790033037898318906746879714803076252592755293021744990697507236320885152327487034094982141023124777227835495814476425661832217198679266826396609832044930932167721185684006786602756072462807713757659633409335983402259583172881317550943409061864669944894388390554594114860400669285461140379765833064716185355220042275526502871564033508268338185279416853408785368739061281497199344041681205427407032465136163608550229038932326203175308721727139303564985316947600902000675309715370382093586711901293925078466442187018261053052830257599172972433609953500582532423234349645976455457902435934207597648192270055461828266863286744015560831898939640877307420449720902018545889419553685565764914568258517456699158507404287173786785660333297424688253662404273419008575901012572062927608563559470931657548983138517019539038898870113205612120117332571598859613713550597966787326088068690093615513914852508696076095598726809670075143810594920314439995369339009687200839352191223495872938641780904336271257049395786595300712129732018792428481235830627602769565708375310532358224815818629538194359644920014686755671440967240901861156903759558659609663665215370932138903804389375973441276603048042657284300612556622104334453462411864444950963175218361457799330039600620922989387265709675076289624563703393786385588153048241990774173726427541845904120243863971318364335935264693186867865857787440610033689562443585807542420041958082849152477333129592904724431043339702425417371787811198499371080064151563677818348558139336526024860442092182340650283385079329060465302927697731540587649407424872273820001394188841176914129661993236308356797585185883886587571172148333588007695074942031651009371681518099690109014649489130907428327732336217374497485704822174109995969194621240250312431165435655308861523093335870339275939555144008010352248780496231561643465283255667444937381148183728320170413929897433418824733927807235967197693827537603789444230390413372015126464805296387035597549347548214839106638640748524577289308481955707328196938094625362223517619918427427857705770866226340213038061448020155762031217258655203118440891638955354424710025803859071909555393750981177366668967288299619181395945949409481809082630146113943800576334617815980531028737077141182171616928067784451713454381406706554362726193223041556185862891680047138970546956985568177919156177958609064957298222763986062587902050981900352072549250864848835486944763440164615126800602620858205812306858931590399456210913115102061820766264692480483197423978760840101185395579646136415829517291554099592117672525602998127889646106075754934604536568464006428184910975455658537680432046025265527167910429933351679801215324484544228987155008735120371897950766578124505016283902987105667681164825697148667935046217665782858814676580038982900772277316268065266004881961943462801289302769385667925503854594107882266818879982386036574369157942344079228609647095656776690261130767668186867369489373165503178488944472928157422284176750132866919662115593051802151659123746663390025888257704674490283362685286890474147236925337495390807528984687349738418444087321323993L,
1053024932358441190928390224341032789159514076027008509038324839446074396907938268318603554919206227281565088608307518206003382307755341141230669236430852135026403828623353518219730961562394410467220694753823616546688818399784208842113035568175933940819531452529664990368415447764312562057473895721687651283261740562479889460284175303878972306862091175464770904756954953607801827755941883979244688624516141820519034529668409118569741642528898314237475541684348349619382233426457586801520439865010524542493798022090628527729559698175710170553621735224812689908956855153399955152332244815061578712632733278628679028477108842700332741157842915408756448133644600901803771670061361652880761061356835832061889992639704771844811675682978088064167017889903371551939144728244602664368279446207783700033531947803783281323117357963540953123837313602112280874384661039807693053928246507025369535226448962802179170750497342883214993766581667859541479188007329013105611128205356634739062604654500822861475212262236752408686702731927089643546758081280882768858871323317224130298212895214797359374835923168411699109995057186176521338130709459491693456304732425285031731679011969964340679492400133418984551739492116272386118850900512648482881207831465066783687429417733313849474134738890853999932574095341375322087225870070386629534467321378508377589257487235659232542488282688009558080899102711619219371384385195360084666867270898848212852592581934527967012215373141527162507888815025135027508812028205996990175681108095319258735089686470805379622673788475486473596998166608323715384380703642785383712090836940203319884886062268658833599815647029341412712343814384373296276275501246553650761673804655966101183531651294475783571226903521628265723522503941626275716980419166215481130191412471322504490766232706328382589729308473923399874220666877099484772589247700800429203284218002630534504577260940990387724778553985618688648011259787620393094622152438861383390348371325218512077215613481058125472215342246981816822898717990568339863686830014946070234332281593824664537966254983304934531301606226049117988896172750489777400192999591796222554071290804227411148112975678146699548292922790133107324704625214086760916018838501710130842029951057133050121285424566088793408632811767224447142723083071253410470345898568013895781996262044785327732598882747296679083948885755250266044185695837845908299804396987421163140314428533816726130078548262673666886899202946608790534839438794308962245622367834755542398770041722576730100805691766549158826071993316662772971843625144940507874840570814535484153157162799405216660402791029518348023199213428147320238823161555694257382546287718911008722519436997985737714090506314340069705082117615685747102803213305547893517715043310408880159134969537157781738824167774796804555727482586378717445722282900134931940079934224883170301534385251937907159426223866938460098284980876723064059725741121506428706310486040649918094618618603237949696328674536361411934106797195233903197284249111687874240281893688994374337982529833344814359425956716082549610748585822948768555434889848779423269123652388542123748760931286511620474550742906090590185357035841596483187887258905732787313773549643070900234057908245940662645084842752956413768269512027095029832235060596423351005814351080220112228067891761720546268901086124130855774634559220632418420792732747883719162303944651190567231682715676135348055527061027589785614550473885795713101017387184260377840476403554007691004937961125627143419182311115650994135405607551508713446536984565555589513698638791105855851257254745353738656102743188916732886612502539591752716307711185884077190125300758223202987407599027734759038063431777259741819697390545999639717998812145872250432953213874209187331429879021388887599168590290219014914293697997566817290038669046268317485143181801839534381298113926438876827396952789588176443520888482650078574992616794769136488497916391390602335018078801040875672963145333861706847558469944686406191000140340141738163470951212970942758709485113879135449886414270920163281811688572885609774070668722357403344727295713554674366496798798490865905902379161855158617081090827555424124054030053817846738277009219541349735400574106451747372360645912552488733841474984559139287973362700692500161593899081073435360048763854535520697066009106560311240406431573528432496719169442178561198893277043158169873479360104970763589976582852729656341311396206348199186689270103698379456291469418217509267634020838836122735852436955027916311227298241958111162538004486318094313990593666864065926335129928311931023142482288631491916516429601311885535626042026216060370444607417172256440551004970663482049676707540066057823638148159665197187528160332571687153264860926826101577336304287564575727808335142196350254125188163928027135553274963401577353293077044824239030151245010070798777307286667692900330879331620114425059975124947537805837429672462595934738228233106496400313330248744058819836778596071472501863355769299578641151541026632551909965856719318883011326188911632542248772301197069697175979161750165245689855893103168233804419580511409688538986879094596214618497952753456035951300146959404167892910103353592509370621528742298211410083390400947488834285707043746992226184764878743104827378995029685690365883003103542693207943728764223715108230523111399360300190965667702013526036843088748477329351175595168265487201894360011565831188209126921677521109465935847049485128425280816508865997337773197613207728547841579487548183053595179029888735991462428655608718759633432385555665585717375196185692840397536573017199853808008850383315856746998011319341036497303009840910334343109284142923052014474543909281443431026785513685217651940856868128973484486026242546149869629686161903050214432357194605171459590568595288406025740821585085188546054800010028558201655285363484080700771345815245294318550166355922910645134956072766857340667902405575718525618869016087917957791975541265147711079796552990003175356357416938340266985934158127189939841502937145455472062422433060878872234167908642029011418501203273309823717475162685896816344529778500791812278911132990200896708118870715444574804629857377806522650270444105654264341199468706244606478247504336850006955531585907257357728949522950761423158812872080622741913641800238694196563785243417997030L,
1805027957706817412794929748744038867411990162985121237941201920515751488478294405020176527263515779603749463159913936585054133717834191561857087643504406778587259095818866330042346549958883794134627810528164689318664302680482562930123803453107755606505099506684953764057578875859577959820323118114686548831770344703006597626155564705666109493496658170484260371788463729942512888246985691850676974066798122728233331022015946321983765863308128151919195780237899070102844148248889394339713473549298740910115080155524540553480635858691170026122128972615430536546725304483006351490336465463491358919171378082980065261724157067852361908347128931885039186700349240715801185514201120448319105878647251239433689949507647611060143318418341200714000540751697263193001616950459144231710047468074394920203789063279993340494906678247366246228204173142201185226337997002423875934584518229556735305275494121638750764955700459934231059647423688823927732594303493170577888371307020850104546169305478579378454500774690086523703168649605566571748510754696676938095108299195777374414252832393244194294905608569118221662820829314233949306053094377728825891215301078735875555603266611446134127857042020298061728859404610341462221414510988576900710346921974917011856646719068941177358437756814652061054611550930646424430169742294395596300241725368491431287315751762028935441843530382453410210511668847234521141730542359772074575567935891512966337587579991234539682926265891934775340089561879889899150705937012390894276601094005272308824409674383659698837167381090996350865298955544118375569290775199068815146958053710436447952100755068645703292552177021902906430609320868766348839285186575770954059450190572272415970198175445229297991062227438060202701036918562721946359939667978142452409069351353209859962293832748521103881639069482472559309266309816104886655194651035698569841877897816989360281910249445408690157225125340997354032010058528134829357248816687641197330789898596132366979335925178654719054302956895311282311978832330479268908926945530694584257436268499687573474805800414893082836274593264848021629588968190416959621937581474554952174052749699311804892509377997035284425425868992852272626138382801413527444064937303952259300122788650715985919558515136539157005676541118062821726827247639067989191605865604894433566612868311843076451499746721588156351319680559884897931318738334295745029001471384790424856824343271048355079298800451330044552497928642264999220527374923194280748170844168038527737024308760453581408426913215249602022393913529265506334123451770883543998374416028747041535058920307366440418180918939306978613573289723612942458158293910013166807583953884865729112403086860728986511795374151556285922721121389083327553920170347060337726514513919864367293090761907183399342870893956473340215812664068709612009323518435612572205111951110492774677623094222460288435061731147044810393572509946062403565953311394400452608687175999807651799228645400261043251693129145551958940431296722309962943441619450573046414694108459393371128458585074727561641118509202280268226469717386473693531082969501371879581186650719082080938348635186183914545656116136073214001243645170001946101352042979853301155234041353757893075500271658245535520435694147522366731789005514141776354513185120887934945412564960927136005896764052483189749050226797152674698460419152337705751091265588364421674513841428908128337762700901716751519479205285013040268943266906909226911050640009359877852508543624078599050057944422711816250851021346896200080160847310714823691756220705487435498104246152006383591048496514644089620058152793050515826995004375642985856934384925545268844840075723696172394808208035780667213768194808635093666948838906428171207319022610270799144832632233269039614160305579731183513312254220656820140707156348066016005372008010850581545268312758689303001470253808206122389276355907093050725592925409839960642383865723650109569104289522066235965306185126304542286522191454749897196157795277335798608503769647178095750595345453380499196957247292203730642300858023506011308906943107351086509561882549206396339934644727400252920659612192731801766001191797136109048139614774527159191344109263846215008859243050695142135359013119370655306068572191265065720493117432260021589052294241943888175388239781971093534677528856063210737147682078410718785316423117920659955840781897950640280709369231090811721136097723469180603999913462461691886265366884012134876636701685177657515279447165881111000523122440166655108815665029723793829327955158811132274258075975070021822599128446183376369067378407216371669901813434964204306841714693034483613798699051562453981041081436877228845680663841310544095900559392041894631611193020356422017025114789154529062675109795168740687276415513160895434104188028658731804695384014835660241506088701614977791305554293969397492338974761833839969077612515540296435159563949363748462948256490138162067027886626045411714058929559847430208295861302626414292146048262762578536014787231371861018004237734130167325736159530593131213128504861545427977455477655382484294084075738046732906282915337121008478135559286209171928583724240280661588225841201439874327236707057199143745951083019384051689777075118158488103786407322747578211870633293929185986560393478091747842375903428367009950192622723471298569561659827673350508317594926907214100552079243179909482259024632406380272907576530074220340206782435539582530973947149504084066320541989286154198061161966003429944537705508615438887375685245782582466965335275132191338380355548535970063092483378147513102974061013705430445138038701634605518033850245053879284800013661269087055726011372840658008782206911428176661906410571019755572786517703387797903854154877491113230801782888567962087207120078243912841580508515712337597534866513651769007494446912528202009391055518698156359349042905146405093705215732075022674720230385634928102678612834336371783421333784864055414900323341715807189754445479324273625818914834089885344420170870793804637008750571877259153947216473983110953045906071661915180704035644699564162907665386163383639881679755994197118831782430435022763607240417262190784851710591422545322167348134882859886284432811604029616786784763260926775031629818385362718627612899613388572135539009417129238732317138639265740388134623381304870434025318955795773697065L,
3093573792332346170316676962388380043426503556236094731670706986910574273813432567389659857120102403948460129960729760093481373684174377510334689321072131695171231525207426110771222253387314259703301543978460962480751488349025128182814885222477742983608205836325847206290980883637063657985094211901952304083305256114437045715343519732435895829277045449731984265934565189173153239863184471923740776048455131691300985618796415222435790063014765504455269628112793262672052030813587651557424544489951876905977913061985642964274903361033246730894616374760722261348735252303140230858714705138252760386860578511292608832136441384281630616695696003251388521277350525290914777255601965106873111023163469014463338653828573780138812265255237850986298911596973623721542572167949853328676705229346111024894919839370502850869243082170509281519806924061364064154177965105524797956864261210595215641109844982788342291431108948484628309579735976348295223186148081071049458918843021169139721172705550733650188781219525265830906827649542184765075650660815433405235496984758677204603895850632615490107238365567217276920644907766116401668480045955076378243794814672312056111201419998931090780300658096146474767685955543879956826564093841384012433284676176938730837352635853028034448745882895766953526828728108977060189341543359292186050252218296019801291247528588685563813925329582728141659117867334379638532759372627422062242143649309918158599987116216660851957955321956433458794056281652036401451702584787021618587001631457509949761529737320229798331249946765119750295171435795799458384031962630801547045714786724858924919103442165258451993199193498639262450357437561850676436241308106614906223952470525176929895869241582235300940755254817349486619211323168049927835978404921040512325561187807919399510564004052072456411122817889949022323328964555949820870193914705098329988324340005833505693973369084394126074920388820067720379059432032025182470583674815659894828053054359471476927760990313946193474716826160170498443040307437247096069349655341827191002302223922920149318408270595165013404115027038235041967858254243260134137056451849008320009922656540980486186228768782663328541550931435932662626959464183439581035054858298341892243200228737216311116739890756330620364567839358609876820766597270069581048887853172275545820659758345726132444324086727918222454707642991658312840085493112230746636741831257324565793233108822309644959570462070949467205761656582612751362684889941184729646336569509984663977400302827020042518891613119036909693407040383802487965036337144930036917746977832049366708606885721360515209731087287263980693835096993414006784785219426171581039802523219191478733661916144380881909990803140957475067070726772546963798616049609893109138905712402178457651260741255231640185264357206405858225457532860343269537516702806821233532310030429392735988808256210636175585533361366300722901625135883188081381425231665232256004255242314438172760503804026353538623121547715136575217287147575002456050009437944652983260351688454946070605891838831371364488945363563122383818329046474772345114799576603354326407421920028826690925725174564595175307760443915005122842789432356753591828148454531373111348381477830804956326168934281166676876630907181703100983287880128000684423296416288746167939728114071872430534055043205566570051396743947286306121027310971794042827402316868358190009347565409346242771002522157051327127946123440747410265793003503550318733761043998839406184267341889485352393972769312273026251543346166571350284694876215017247669499607774245467298762238741213179882196708518341995080698045896274464730098258018996102372439851506799134159019512074404226664034825462051220717572082825933151839998049648384568502256309611322238829063693457538999824559782151200049535419233876098158274213433313029991132443947058335850550594677325283061513005582740592008794802993352919278869157602423998254282366634908508056497564290155631493782733387760174074440012339068736678328973003720402443351856194963919470182448054001354949079769801218585561840064146110436156353023768579346101061714592727227829298080517583860301129033473891702493443305972487191149856628793537483520276362748633301211297362488025497343892544955301375513527960532550932832457004575114829757519140176562775845327213161059678625610795976708529669625192372612723061373920358385179073269474133019629749000406996933143141058322428504838534853891932140524134753716071251517887445339826553416643171507526633140163232369515787640551813308739617256586192810415932235537202852583634649356156386284611524498231504321633118809416960857181511032081197102394030795406118032089040456686999321758085961090232456068996561818843545066312292871883936029826708141929571217299820074778873898126316718874189298995470764262755180025747416783815634526194464907365387203866984560656060214040739019569069534289044759310676925317005609416951126324657899374789590518931082832669040514349797297398879414101619289890896219188878358129989803346817728097377333674505885263394338511024801287003168812391470855084954359650029732213802691694889943606945114571647681753963982553167135839565806359572948815697309948903381952223225777960995117071310069140666865783026207607969028365760098902161414516664229199606566441010819530495006103163436133721413516414648827171445949040765869214231283068586568712082317846443497481166680948550087047971880875191741615613065112550955241144655396100220873731703401776054452149797617778803480439322617998947335764828597632355995931827317154754942656810069708488110911533964784935272186879940157317284764235190251402457199266787408928543043643854579692721991541466089728283828073844098704305679958075273548303199141033976738798854937699057279382271861260661321439819186656518979934958042876453842515472392308454078162381404484003936227955951664618705440186625021652134170095230918460458446470097314781396132953478556803657448160736120922881277746230975384347643778344540029137522527139563075750889502994123396590647449593864458517280429568080378793400944154250805768902513003594038828573625167964779371003704690131037483318274988134313099985956033672044131117285814172142956944220498516032579944108827777458077226160541722664233318443058974079712999018405815324140920816923926643007612021557011871697721827812999017120466869141793919880377022550958092374L,
5301128571422392217725606171523988860886491299720803618961492819678523386588505764107880911976471709629187396326964367750204691650000656159057356105702018899552495209628487701790241140665137948872635452471792347072792420942250480060526396187637084692892465921018026672894594168044627496611151843731393952739377803090014624612518552967191219800925471637661951305092196368438250046570180509009389074982953895927851299618355833195118708053726409842508389805905734060954023402875260038419567136158734268433864979167043432583940201272381123568255976058696353535212251756529439418276708289825379464330163707534394640278933779633625791022556948609107397689548643325591304093961156881776329623626973684130037144279524121182422648447118188418509019923942126424155986137355836444798336303420440920211130613073937026997229282569074712700693910315090255482036873033734293478806456566409122392636661493546243736073138226344992330241102305070244837694434952387936435162230185617160615985614457932582322479699375496252660326971814702104841458170992107874704492560681645813203522361373385783865306516897220684138205378586255973562466092169798624665043186125045888600475604066517377278821589376233654242960666219406018118858095522051541506651303757144395372901308975550918446746031334536444991986448577621362688024969577928942723516267425936285924025305403915016068936841201706649482383288560739752269449372878533556617185677901533124952536002810265591624078754468077421241480253048025262813836860054097785712720808385065824257471721067339297685682024439708055404245623795391404622348078463217484772216422712169109834010336313933979665259090027447601040441075299615032204121368580434415445070974969230213613309408692638807624831899490173407522352970910195284747901527152634024808774322067018782807299571844156829647675504776437846056137791670153819623692230846495415518113948557747274555310670266356357470546067847553328136794888924866343363015810299273725156507635454123963434671062630192571210602195778991311550918400843500519062590860204135795416398999571021852119826561223448751696524014544432896122359439176801606424911024060942725837837754981179822637232407537037535283449865519695349621978625068143111577836440798230366507121006569646881866900540838930280195506005726045985000119288657415528500781104422215042779424510986877540232102017623850004172972397846578727196172216125929789203175788934763876131652949851326116399761138600658288290744676736762908819321849328229128227364518242737626663584865874977415945524134024513163084460749702581415467663740249127193230283546374729929350259228069987200435911357159638992861849170861446377155770607665646764457624564709152792478816472005112201978580094782321266301949574742519687828987199944691396844565470383248819769519014240986437249083687256541928827003222245367097416706367496063647708882799697960420365460721728468793255153430771083830783812701890978368324325699653108037533753872331214052608463471259468810584115272116471792101654955651175067386372061331310416905845793784220101616236191177467660799663992537475405099861447645161019365007984016714212390229180352035050618117934451181193589826097339934936156304040016110651933679463890155694516956810096874933396074600986688376182113515736747865637384516901407693867079545435735304454475231249035979473811056416199865001875023866786770896045682711924098003668414654494137517635190820613529161891488032915076659255725769797162121514049904451727926712814688825518685553782651448670198066030469777580830751051623185377322422571417108744105327206903362100039168285852243583820744682230760048967225164984879150640574124760442962185341240290493555245662620136720117321103642595454488477770114878693772059597333471805034728200694353691599158815280578569624408320749614122225688528170597127768145271445732676488132086604019476014434268578697044893482638291683927479409634678871558635318243480891754331673430937875400560881854464993899230363601629626219896749191874347716993342209311360421525953394047639196111663977313164554331844704167942531562493810648088694611754826599289132041433792846842201449901195162046894362128301192579962980573890705440388011301303865969269724184548780868168970126226492026671513587313485717955609627961057242705108461788602736702071322044886659808857094034005319353215551967370093192936989775624678027189441843888069761983038591736050124351256973087748012147915740981622541475691455603595438127790774329327920877198308859968976387309028666036872456417084914697886750710253514551227914691559838534977593814803621299381278400988639629265085426464506242534889690951648793870843788785417009947428506997796947082044233527367275981898268507648534179645485438105652292637279830763562634443841877907538159874988763277821053389343980737445042916756142647221683940484132651577054283140902020980818025766404356548421295542343250894969986114138844128788344152433003599287429082284619714200597050179612243159156783773833378933426987872098576450440199268986132232167628724102537127841800358361688039284547553653651209495605144664406037954186974189281375264476897763115316954440040404736975356659522844513995531319604423294006598810618010337836038009016416650485937736802831122944659518256313647240338849457753991065747814177882770885950423286434273344879201693226798819694101537396029726704358447490409895930402900020098827775973577345691070854421661365135209080387639769988856902602810841992289490971531143045747459564195652814142304631759259611197763661014856687502419415599903482587598710004922121001496386730068449698208958047111758561438044754449342771192829540294653345155101468799719367303739453275373675181555190884353844735488464042324558166164796019921879685092717543392851114648377355411113052347133011802984299489974681465399594777767117607012405626126020617310521282320804425093700221603897988798489649671919341616761450838924257087281128410063741545544137662760479838894551461546122432338605525892974593515191914935618837836785103369467299086313317963460674834208739489479274026089596427412691980072915551442735575461531359993415036193454709463485741191299705676074991877227500656714596569997983946095928459768208443667345239468794189642778136704733011068261720253354985004186305101406096166602948983385095026712680355680987331781259609367339378675824826140414867895091893760086966623596017331238L,
9082544800866769773564047574949233581413305053910759522592717349363134183647692306324695258603053759854600851647648953226652945035750528683255788502506087482333681760425837992748201904911762131140213994133604007655882101261992790867392174969819979346692789313877992680019688255783162708564291051779057255298937116459500608461367685410086650514898999449690013488754287274275927892305658344674436742359287429070268629480948641642915811643694816319600630692233828255489806603308753699130905219843858562885281351661908231353213807176373189179248948664272369254534062224831839077801511283224703318020479219576208653779709279013713394807472500342471427468173469231278309532100954053629910712530380202151197619967024726324924394667892352167810957515669626325024067386636350792880938308366898497775021023817660935688006386573500170224770859915146895857552552693228287669005540372563363634692417278834896297090694949207840079754755451417098544848889445145232336976805733651871410568889231036825684243593325831987028584650770693993739183268524264977373924692554851172844201790099265024033545581491211809346227843057088709659971044576102503198680239990374178819759922107799503411317968395317965023503596833273626315025792841465648376283179557503224332408681571547165952901790074050635470044272721670575737608557100462354999661240589917820245025648899448523301235733890064698547169848550968763885192159308463685131317338298841222641289270352722028511497589755828272189525906734026199739274680861892297815915080943594457256356340656261783329740104068968756241811146781448374903066790526837595174973260338489437638455980342182656130767936823561369796327319984356165603766775849568255236920625258512950633011531898280265762026466822317082450809477042179195221508172316094473371566071370537842243431981798254317655738168996513398930332446092863859615366578168853049165165484479487620015588402103712840250761957104400316152327886852145008040696162045220825283264774469615939103618714720125511171284760195371955028591239092253187695268189728675870806009038461114011735671322152284457905087960013262152857238021290344557136531001922199064308102506363474575074154112087403964949356425827727355503433775614179855799820187288680993038370746499111725800259501689351018349816640549153046151418873146012584361252559921915441535188588885905357361356670636537759471517083474495495305963270755397078817381712659570104182847292062300975844766195104510793392828161446913358089424744911075620956801799950565663765429725713593105459160398506129649476805845762871930756438468295950346814927059638681634570330759012160464688132130766223982663960067390226595138027043022028452589903001703717421905551333315998895664648614331663517870184988301830932338606210958304970799780706375925330732652958399905785777254257731038383576506583769513045957295848474098641317643451867372714057339343251306297085814781314170281305170535002682146194800181153841786544888414013061582843908695189919412215074525411426362539315142017756866252272476618272473125951158963374116325948806866542340413104441151373688812364158833700797677581984710920782510611687834684651225018411116709691693694419912233833063386760774652744371909470354674324605078362041834435036138265591570300903801413927680015965257910970513781515446379929507029074127772664219828830238784412397373088562707817532640907957941664719890639333338686818385104544311911187772909732532721063649131578921921144237164839097769448975067194903082526735075495441965080419749027768090958089984977665457816601702398241985591911311548782052704428214996041860576269903730302693437811460484724499217570757555761457308515975552111774605216964962841080503479509066271355286338078000656718974458030300267436791455460607470647580699854911822496708636550685372438524379863014879511221786988585678951999762245700391489601488033345711022374990410540645594515999630800773191588350972222389795370589868211809815497228022673098008767397494048991615352699423532078240527653365581189358969364763443607954928885304722578957516807632528776956887224784603047892461792222534203597977120199918862691314821706979103946660092440568665151218880588791884981823769776284528828510037810570604394577760302669687108181930843587326274254517946179399115358337693630116716382755790145970212799241984811143093428887206655391546121363236458334049777702747323263454053926861774412495894532982623793951242367519588862090924921095814128806472108057264416759453883673435252807416919273620193746323873682216342473359873208728085935211946618922577847342421967632462574296117803852763715187164636350330644726870309252442269810942364348956937351300311736146147658208595548634945735528312997678668699648865180611897352118252084126460192574288351557767731100368285687856383565112675686828090503758006035211481749777651709747076546108696226724688468363093633219375159145793618044723913717718472376715795133784009635550650373519416380130675561227690860915565855292535600669571951876780830219483024163513648044225359227562334915198801829871824816882262903332556921865067473090813049631895138755733382075461343958524888209491554685254456842363302867657173126496378731321133565694947895152201304368868822621432294746216406865784409443007533511771331850512684883966766843845225907452274846702642584339988078888087631042868365595706466846993624826513386266214303653582091417120319215957698419768945877090669283958511952072470858687271817353302023529817977474708823915800433784425150399085006099894405068136090877866666171316039412989783247570798561681171425484719143445704993557813321671448126889820611102147687118969863616698893154526512878749292007493238718018607821222188566485675907868900609290316584464813716633100606168131633579218969108532899928188430295119985020393974370797156025470461700401623388888772105865106475330444479856433652870296700611715674909466567052369037307038678142667445631522845862750756437645350630948555467635074062611386318937803183171424358435167111787342479541865358185462200483556754189743536832475155746228091680979961627152726565691898555238794017165798514339786369311943358561268735053356340685099000335989025870446652351719229608953970150758389809645353555499248645581009313635164177067998220092217706325558106051805315589812842803463406621936170351636443450427646983046636514892714686191712070359072961598784662015711130317L,
15558873728959648124428904353732502988578648258285308154527540270855509048687809707133717122950879111525782703567255530117460557541216884584527867988818247946834728023664337209457775012681789823455288437592013613139108501660356154992300851104093612209535271139853378169535828909041355764549390113760117836426455927441875848016083146172733384190627011357821452334797190214946200184182740133408356305550429511487324977433241116667728913814426130247305593519171684679653441125755449984614121828296110163176745170659384861198206107042299885602980944663298158780314879635506744081517991277459861875079592387596053233465464606276367231932492116727484993296319357645343412894617257424220246085352448645530391181161075012808302015280320188173617847252161888027135269951410388018223037854691622365793477312988778707363810378315983118768374267303364709564394701493848125377813383530881253923451974191030218321188707241500504390277222973642813416493550462192142119456348118615482661496764964510732356671870628179661165331949208014138037446339044229177030308245117276150412761913534897451609123868340845085053324662061143036113740717760040064149502826842715550931404869988529536306808793839936212126791086146573310787118075556500770526560533092940180787916864972150030628704798665057425751812974447005645501570777004552703635367554784162976718908362331473014631065952172666615138961035299477024386262593003686384878288482005622883564792782263749009884140957563807752195533214855103532043259629156932578666920691423120711506283191595760028919436668229602503022999796180054752016264415941883545762691008724664737031369479108129889639472694298743049888605396607293747765416216266764916350188372904225925460454992820712544589334179115630236105662091575117980785279665784541663620702129252389354134168183980212275287974884210029406875647374683605378850253523409861763437366583456405391056216338842610140582621846301702565611005990003283938120323956276646342414978957110230953968197759433540062265715898283450264707436100117752737472249783507171730352525013665879752059510544556359542957894182788494863742548695562545482258837934536822958729728036140923393869706083827294380706834854221330991160531827488874034997319147751337496055073086245133810094353840422141983842826991811799415352624900080064551662321845413069672820193444286506950909685303648364096822997052327618280193632754324405176786185758243177678779660149410414445293499777505822226527375182855118635980879948159607884780557945243099171402011704010674811061422940198311426241699580640298375251209788678691471897395744132906648758012850363650922933725356925263524739800056834818945359719882269848677673904703312344247383276505560317080661774048296771436407066455226194837738179914535517450073582337750122928354196343994540516062469534777498123778006101927063249115654279093111441089015021148572595685952012739250217876354664113358793878204920829969702748825342694195774457690797936661645958295125555344011295544918658767464929257981034446169240529847417705385014434088527238481519104580806111624129765919801707766320556620556041138836342876585042951589324307181039543794036199203978570115031865080746559956738832507854011773894820805161692470462768084787360865985871226677271563137204154176905251590486302260812839853090121198388760677271222300393473567760201416448823022601212743170398569732636336786226947958215901780599281317785795164294227438061355313187531507488972630184368057990482049668008774616440017482545537013109479809370722954791000098271773737297395345744606202404233268624449003458061111084466389205179320097833432392674768614047527722131990060758319558735618320850978936754898408933287171945938959744840631197788502968301811219137867551082928540784071907565054216127066418038827287885114661488352229652791127293107234064667909949477901599714935168106005962373807465212574529821274116051457171737779645703644621229293986899220031465951210428751790072877636830008535108363306110990486418187121968565287771935637655062077803123889678380296667069229143662644782786699905426208650369982512055379329519610178688968549625683592260335119881320231250020173682962552408921247586915862458784174469515690764231013273458818096698654122122355194759007536188314311700666926250873591881349757977016660612476765798094819029336269367109023362500110975165678681250939347108380354055483586122259348306718879511723465851158014414629350682989912847885824617768126940521172720912793640051826245168006883900335260967092266639040100764995510381597608674600545410595277463185381035143713117427155161928008509560903241525224344475574040255189376157591426944602461918054559005162031211117672793129269531645768912753278654307629060377748967498414911322278406200234923318230159049677761033212287646985302302782895884973575375200380111341870854820975879095883452176725169855107989110333484205052545871563922531488686293511464322947284667272305738747003218234132018294315694550887613033857735257973224406647505978800958528330133329185268379676737393066587265370810346959041677140595891678796781929564308659279511619079185164129712095401890462714888493497424854450076555468011012520174166319719129426208164152821883943862533097327097330944087198759578852905691821917842976134266510573479358169510459936648454060732292721967484764912182858668172089395638323168523047759659477550453230775723576556845076035818309371185109557666306882912609034640319808648215489364763326858954699750410046149867071719500878070593140413486477078018081962549359631530143411755201270700715180845714117670577138776611440080262193432081873875715399229916847944931442994961793228879060367155742761008108124883228674604783323401018915417888846628299193977240942191639932405533725362602214779870418337694795863767785798081574523109629907105014938016493664272160051958464147496992494240593567796843651794681412757327316294673759257410810344219350056008168259022889367449503046820426272137402244653585492293603507330855112969004899944416404353885482637885108047391452431260935670282738704889482968173456976478875643729308909279773590455713365132311742525592429317552490279507647468296572793995258690645376911824906164412099852064551505234932292231869324068106333791913959370626705592186424501369196571834425928556081918095977740349601580036452888866825764388185602695595296402147048789974154911363955295838203635L,
26648956174799965084739638364171193212922544937961300020392931633652427291950810300440898950009539259270853228039768343812231015406042323153495942035894725386537834265190303539849184346879230091123394946691963289249876925712002186157031544345955761984483026646940944373031310783140224068597049809958596388193609318816460913341381643895193818751473207294389682460925926511987182300835205497619919483847937303893219730876147394691299120807870190683582359398371387838696996624274955117594248049383234986354503649660614476064516952204790074600828755454914823485013390656418098959585890611906332877028100940132505225362783074805022405074215916416767649791690858913755562957986444405253721222437689273047946156911223754477725095564856788057497423592143656112109520050122370313792126349237845012181179980899380510724487258106099161271144057869826641440877535163484729744729177939275095759573151044937805634523910966317246311972766650080880233547589439911935810297746351684971035663701808870518832403814801300122877320135185756103194380733296962401396793642826847595236749428316541430072263405799675634658409065210032063507787314281320952384670838452858713830994563949397105792521314330007343321080223958446039500860999505605168799100654475037006261438891437856797263656714217387069089597318827488287095112255626874675937397871909940814049156851294322641307184711170682544912379748461252690958346527732459375543700330251113303913718793694531872684578708452437926633432494852255550832472567399400287281133740936545717774926239463103827670643080623571170531603859343571210810234392173910679093395852441876455890342416112678155675821173137226425519019963834982329655777190166930478312165479124157147939620871443074519144637271676319196989975928218707621851700810003450057748799341952936020306769875683047907934841922927133489524254146699666019019224681420742595526244740470970487876495236687705123230776907706738956990790951573921115224465714365338972473750117640636326784280907587289579869209651536650025169903695530642311432991654544669368725101221458464259493464529802556662690753461132621179369624746422844263298459660195312388018534961067282374107351141424424722970678789021168834381665300477774425450354709125200818737493786660643555681815784141885828509005777857055288873756039635974063963035479270895090834267613813175269245412087616763312357398049456649607010164450371786331757971715734563057009704604887542335040637287359182534251216163234517329500750259773372518175817947992232336677355175794653057254123343336674895769742563370206409512875531210928890630594313359898561640585695945173866564313947665857166926070345696144283895949698537707831818763389447277499502474379845931949210694897675326643922414176501272574083170469838688567688470399128458941911023240766448992832616969224298721544869654087287853861218654268867380371296330473279837547473084267671906548840783982471498419662779896695928468497563827296528563805446180504457295964387525569606262946559276396578166141098331046304411474743996590495078842744381443178621633228805943479881143737837617071540329394375319763711972176251469293954014654680802397382245941916253506288977411155704104934838435923375676353643243428848366864329220763533115967803240878129343980792001342034721511880851357389778214385190851638417792012747708651446457174773190833937589356048832507560572709200199222563365040445433233398320025593306202840206490478662722539635759391560681404980382287947430771289530854885751959333575106732836700630400690785574619218579274675501190452894049174860099683497737357119355366783826453024374420615684307325739197697050779640875596788547975794473413919574169039553168077639186081545690165425879009697227906796861426860842936686051026178908959938939547394055274652094279847267314108948468225767001562535318165996314434728333543908653057781638014320010390671789780633285955866403194424839573251140029494282471924666104534652702077278442164994775672001013970498049887664493912708556997902781081982159187348242353602922061260565944761009871831355924537570365273725487147394810457878460536651279016415842529180991777045717122743750935239029408135346928539531897719719232434954577588944653190881473699763635308932613335923146444765144541277398492920405997214340592553698487663355662538999866629931681838865306823267537473453400492747990003872668791118536167075888497557285217089095827122265040296414237128221280873228749434945141851727132079824984888398007205152918419883457158819132495810705094551767402125067767958675925834448071239583525783105246469812057490364447816958003474772803465409582425527607589079550977289971786640954473433472965306704787283901240380924535174886490959536039518029263041609602819018906101380906824529042025027316177729134940659609803335660006196859078142453961116265334081406544059690973892933780667077100730625437109639857915733770069385065870294121662134601615672674942430227545568818517034112411454947615794217769756708879083363612444213972130439755793317333059371115487566589062562695363926536064545592230132016312982824929998727506382795327931556358752421786858683732291368076767256963138382098545713094818750654235613934017906386156123310863900215215203829443204606998597848240031561102347266981803453473575061052303456020427178323014884032127795072450128681109486052010781113757180878663547697242671743668439150974335454851663057261094192104051141966698443636443331041324811326295260053796245842227579254510972829906708692290036347732837480502110469354113227387034514745304987931465691733526114633284843646324496020668253914165281940388961468780267436608486629996200050434329154893612618050432762470499791000088165074807406585849151572931644430902094456513277168683280852352861800355550262538828013962286958946067209003695294586902056828678624432654585628334001923507115597190697454780587054109140808564186875351763207471338750243988861481736067445987268812591533970777705788999667010926194845596575949345611221293653561747617064696373261652069633534612044622823131429420323299431530832692833300005814019019786019890495105510193394602410788483727392984916102014325744624775076030818224220428917568325838811688123984910138190929961862109925279984638066090206565817263630158661103946986669928050163118270511202736795109642602929755941870600196356425187149164873045200145008214310399474304953986972425944189815840L,
45636647212289594194886533142240011823992192675286430079081719126504171415898065850896485534441711938658828615748024252481224911412487591486316883124677300085661348647257342041516348056067611328127074360057863001177473512083815601925323652566975971085274697639612046641252411948856849541006279906804747171480721275617802765151082025635717066535768001020822231393885910013952756262931546504079794127341514187296131225535262408977656216782179697733264432986188775630895933385123499602850809749570001151900837650031983269878524321224231289962255819509787981477056030854785597548855704680173110933787902875610215786150551358257133813711520000144693798502385186272188866190270370838263484368383329622624785865259753877670458607519525904277054418040863027384194464626421493365320338203130741454423789694905827445390988329480155487035046675556930586777854216094859583084348513403958280164450389096774224436453857650974264677376268350529196054874682436304773303174731637003483491748247922613571846232439549823692740055125789476325389140850522882516120865230928111602268827900017938163799750282078879600291027286984925021063106358213341869769404908358609484133734125318535898428504370904186851153334782936590098416135676729645596864763542347752634262528528707227964185387647993068483609340017344528175980138818201375001991259095936847054582451987945176009516808506311236486831005469161334525515891242403240474426969507433552942926011977954599553411549620316258520103796842099881702262646513119863074167505110057422583333906277388433502023055287789435466435991007214167029772996622608671420448657978681196325044299418251186315672481460500819434292602282207165300698100156177623464573833954008127279907581419977259373806994958673298836680636295850887283012495801116246614771980046094789711788767387894243412980767003554575975968910250911299717278355316213575616217646504864926080953582385697864688758593664609412015504276637314071183192619324510506319600173138516822212278295229322315045313485243143379658113443519187044633868147761494796615924829774974871116583856206804262490538082860488897288159445565298643711990207228594725127965307945937664431534312814248423269642816720716594603338532867860607261324891212118694760464397452709094378463065022523771993312532829718212391569321252388910031269108459570484591992690308531051645638125897862668482022127225926635622835869791360009392084584234932243109597147552049779238833699443674047778991895522757059950970680783316300357573706133631921979266591843390551772690695967835278895543884155280571841838009670711083129892603160521312383151421126388151879195519041677233356284824443064862891006248843620381591909731488545659727780490603146558321521550025907381999144888830852400171234897885548593422816060903509652220799088391034776921309810610551044765177593798373623113880539731105640739100449358147509895643625393430165368428505636763201959523775688983682951830717233365379018069428855789564881252247080077911567215462689433464803174222410857163642673201953503377492335587711329744637792082176835842606288669434766627276068184538820912944271727251502426763678456360803257166416313489832069086408844843236102244979003251359316149656628743959496606614567258886135042514580742999984926425925987485090159251849381484700210775956746825398910947170350542719488963447456095182317258230899145078543496096193315045350901710554266446147144490276099544971988096359798087491426184057774150662311124912957118654528498388267336395063444704653971498751045990601509368328993161427755253409685197625943271776851084649970004133056050430123874572388068714975602391771578919792418860332712418178007533015681886180027122064346757729059480332592666502565138013721451360185573551451214702781562389548737944512071700499385734291529341142442641267473677653534437808694920754700899650327704759188437416867764261613449202605363072027958070429377836824171841218839551742563762702132804072545486526640388502840782842637358463939858326050078781718886564451358255952392090680793503526519908106064828402692443660560903505139759458903272735560991836934443621454854827796995562817996475842557361668777429910757929342425993338649496579799341620796345741285539606159842338063962715659285617844195331235959336375239006711445013686329336775578213338543113522379641163166575616977387846952404284628399325154270528074848059733477410959203389378115264108661783227507454261319363638077579645538926757897306045270258630904282056846085832050160626487066397273571892613346640717137542549536172174843753157502972357756845505754141834678151465987264541663919458797953450103236617036533428947990202429136528783058909707328824621316051805872120289352391837593459232801160953818991313632938834546150881690985191813940407885977464023212909481938558133127730346034142995496377425446967354027063945418721658453652331377681991391074788302700313244089970812705739577792435872782778055465168665643035089643076272912829359280695930021476790499219177522768138152315313976643607162450078275535028663378653174592865040556428634746923530598026194330775350227903448980001364969864503847999020434612835785634855440995206218218955376288748428316957622170245532682958265101539947818664990568582536326570129737277305784547164108092668065987429719296037947893754048995747518732329657557555762881687837899724579275771643871539681841850736860063726849639413081583457517907543580502096695654146646988197079751979699575690773415098039917483767041466952577404064502719759942992079944341040753083622076778153528779612017587924320936526212079947876971055268646637398183881021200347683647202695682625953110528269721848681759142595409078680042649332277578851484971790223816378292491081236586888954118032286451546192128070642604009754660104975725228619490116223984303845677578392323713753850965985295736126200706091123515223936908623420317047919400252314303533771782452260470824308253938172057432236114355207141770360036658955283917308380627831462703096106222226124893812420953667459853861583443338432334331122320942986780116971905202261366730020393841717991895002932449805068489714653830224941095715432816932482336080334683727941113938751212389940024759905105783271581657195991772387571007297199853576506850499037223357305390942429515461195592112389231022649401982744421766191428904189796897599681407782192484985586524843363304655031727006279142031L,
78140967257957843567284646572313184322111659991679856451659802318355022485627838125237732275938726472729422610541618774781856406378536508499556144467073898917658452970911497059648634391433676479457859518794111348820011695477234521165022985536270659464465298567941110310459389932913158540666294813131372997720234923422257698555782883803015840385033647835115971316022287616572592977546626856778280072281717261083067719437224515082419259872030895998420597644022114511456656023665270703894705792988951662754166336387621361347102130501902660378597425291341234287128963906973901244228434210520126794722030219235212253448506507680373960859873699790873075422406625155274063204989062485110005605709410067318250717639184085351482984749454996361173275536003876359893404622116721166673390374299146884225771809643995617942137557650944703449792716263411596759386649254446368810723057391023344218930285539187465146764577184682527609471729775530937767282885144718322972201770708579632969030683063108254761708192602953252393727983191660263027292820690959833047492025289286823094316214282189818253740927860546365241866089815310821687149438875067638321330006885008611825324357885106777983035551716046288723918483775620111391528301342089655274699042797696062746825520962859374435214024183294280116668495666230612196380601531657841515569882213849271248880880168997271946795654501214514805487033149092116256889363959256909301741993546160992487533385115764400657924892723905149713407639830693558831805606050126701927644099154213878483086114130853780314972720944487327483736441291096250754345438264623174561983173402134241765686780956004871388959008038632078784245871819397301474481925902891378000158043104828504434975460282276507897411379845044789055245959956103848592701733456778717615401026880778064797861774223927583751857199775078494901167108753625844471555069416398034080916750339185399925384901973112430604856352276001157835478311080050976896162719497284007321155068546385596128675812497951714994332452494690533814083338992930556878472843044183906124030547948679146114822366046310098533002826064118815839905648299782774100686984135060568321642915341456941612302298467630332005035206941972125242890995098708101054718659175083273729766169910407391084112386520064079413731075054568542620301908811852665519952788851858359185541627841245788681124945605507870800480848674348631250669884292521605649971297607269354368135599360374419471285841142519374581110028800744440449362966496070149540595173015129940455039239823031395117184139532125099632902461921094614855430132050256751538276863940094728266393316199748611274510774022019630794360725557407992504573789095519146157400936414379097352377248594858587036738502913466426210718350449308607835685120700079042256685808991349747726261945853611957157149940872220579272192498085825494712029530591300344922137426298977233768774821193821004853893931146199347027171533504045016485997944248665198138481819604157532432533165579701473432258084117932664040401880014331572323347565597777490109368233121159423841469880721128674114280271504422756391569935298611158147183284341541793554170487163874095824004045204724708495638833600779547222705976710228287791155345747061805576165299768174860928089528032002696804079837025183046052691203593306929045027344131297168100936572731704093813164650676445332683215818718799901459195834599206558110885285040439679868509778346006174919258012954175953319036515288971838667208016050573052258246279504710649638228118592982272776973445798854042090463204775811702595798941741378365948435397631090573067454257639279477732612602238869295326415984772781589930884932497430338173535678405825386497541007720596776744931675968053960977403006714159263308485021685548025153587231295849594589331260356835796825445150196259324323244898807565319629564024351783780413849993628555349592997570948545295302144019237981101609952510593164880314319789406283446547585330273566236414391270089662547404650156115481823317119873678829099815982070536909872553959884509342100112418236727356915159487591324650238633200970466705383393521364778120829410206010444766623688903287404383393308227169816104118509375081192091507527129022865064204971701197784681026267836442547515183589115359571187726671050733643030754892045745627197439716821355327446054366743341236923549443195093665464132039845271073374432016703914280905546300281581659831815210457758738635921318447741925597471894023307127960605293197141867789184361355459114508338118420611464520920567380683376032856526134992049482999943918714729222458112824553899909006359416174945382659529930101333574230935886869752277353719080930289554657697285534198259142130816721924966934402652079866844836871709855552341665324190449359708511894610210687434914482552091626215070029764114926098818370073332458974798343074874262106124236505731424355035178652516135777051779986305032701544985156947372748177374348889576462008637349750125533223537010254928795799663545199401955774052350302107392901401310800785041666139884124950868640817233057416281313341650312817135808580076439700273829829020779385335942837745267157177550056575163829812610745674696954029059863404881917022938995566604071018045172470949005751379872231073751091511360616674225061447262518026987304773852317320972961970857264748462998454438272742425972017129545235626936106493321446174546643178405699239985992203417889816646429252975656904464117223928814223282072372318987705464942456281150891280857599797800572434100771938261604516019066889078417633141822675534908271310370843346997908574605283274672339575584514722577487936728786148193229144381618853105094135395441902676682595329797260465131154653309354219120588758113638583588811343205268772661864415145225445926470428719705028233419201367939743020631891634103658293475837300026467765948566974560380143282698018211292487087896233317092820804338831208700004739438864335555169174627650160673593428992841915671930303119225278473588305735291886456452408267388429020966954585700438086372742235847338589083907484127196577124731251653898846044801282316653002232527058405089384174388328057414641650846528019860596348626463480904263552666713084598885957536240122499637443681370560045439210283692812742097309145986109066427175774708732570823757372120011782663556757838093006739942405658496039216131523294682741497883076236343740879890628052071989976L,
133775136167146393140148082215203248080827977739038941664964608687172239503000069832216017725072908225942070886126045943448285467700363341413899156365823994373787570113531782374848902749829361062367569457105780979903040022799919285127938247100742437418212131270467385129231574460075946743301476544443293398211559790848982827262611224373423154355754124707201279328604846804734968971165881928750576765616006983232313422696074681106030425742331736727245482970595413135460298996048539033585374012884176703733788469728019145185016152057988431753833325762682285843025906992377793392603751222878000801842464111283627300032583279670965877379125829298012646600396217792899298445871351002314175998674567476899729902596980380406692354793459061504844140168385098981099448719409293207038528283409466609645301255391577926598716156443782713850804329034322549574954411459498697538617083992010093612647362960732813318426882572955589062890826311477847811507998701419928129940166963924894533724721308981742566496316660588999234340585690872306072699654742897488718287267876833513986721703404976843801393563359421906965344739259638889158946179177271614031455882082865349326795556420483291117321932727180544390233784303250404756269970108985160658302135395803960308031775572692703340724184725308126214814094072816635536357373856353385143928571590541675675758304739808982762682680177248052564564212780944994360525310405428306095770170287083141768866034836945925612235893087043811991658827995199966515975499058009773323993264235285023668017152419930629640546142216171641848467518359870628420027479989475936030774909749127978685616013922270096431681182683841791493548877402682036035457793752096411898223367338799943221367897703834987343596603929915545734241154125384724787494577244779631507692866389768818868130039810153683731134130478195004520548457250438598137137724505321094062279718056706158385701397739887820637386639479189687971762217257426377665433314075868238744381384345107288374508823869817305285410438147438830914347756999898415198237813199825076750560656964486404969571708844190038108152419608982442896364632268432581424909389258508619698802708590908299259846982351487705456913158983792317193963638396233631568154811698064617098816518189194577700804020417760547537319787316220395441852993756222740005188897345791606968794773961000065303375355296865323000809656356724712346579076617918674366443343363429794089555698383942779428188125431924864327497125850421102178391425359991525770655491936983930232941077830034625219071141710262938593259043418488897393082731271098721020428356914284476396863273419130028422379774674733660789647020494446906534389057932406302535802781391600838191586402320171071200769104722249159313673219258858134947389999171970491143756008456451514213057050948641911154041182685677726186274342190950338634671658712727177794968536656090919676090153742480836922828197567111327287313675763415467495490977333281849189527490534751961781270674995862166146633192711777514507156524158018265646123374602013967630414999043278326872618573678900537250826537884328289434783042924460861977369495922598809471690959794287960129942738021426295719530799796315208934122806012450314753229014655365171363139304216225385373623649312730772009076173750122590055169061993419573563075052579765418207798325045727255319394194749876449826863525369616776301454028444330440285299599903007830183389848614988964579560899340257612702058578622486918661541306005014174042515484310621072155492153678950996804133427975992085737793330529624745302384935658928429564512995588816647873713183394866683424561906366743714102324281120492243562130150090912631903613159917754242170524800102065081263810355871368548783689050422225202084804479495766416715030677628815341707688888430265708260331742103874791917783371989456314308196295792148576326347898457504907670590130650368235249538032213157349866323128439755222975020573911881347802081799140156643105979356086968921652539986529176343852942509832407406640405942791152797382177020841775883887645796215335895964666556802315981318966529382117807088034250252192543829200849796824605325777657438003207311641899637476700689556855410542871465976826151913276751825191194629422389474561840960838859961471760361855693757237792052772486790689129345988197687822928430780053259982344500390170888818393154600064438834126707233256092239729621003775443140482832539959602039931021919253791656646913851931360278967207262549625490551934604316160958893521550049836040314858863307003651984999490346936112461480711795380702146197365522654597715729239857704295153661295960193730484678160256534113510855458712877589862461616116738920809440945062589646155686059445980821344606230210679268268787182682289759708883423515788859198803704499281371555823398627191466361068043370185750657309903526622459753826747037246857349706240527801378485424790444142221414393306243365914807778899042022048511331507825948936475196935321549249978068553976000287862791978889993946515718228169295420589949439590466102597345833709202179820735503852438074818174153630620101369683475500039015188286111295678769423459077598639908014034072759305946451125847607433730524760438879732675034846752461729727758796448635695081154335138506189551513327414821074938199299963839801217702992182306009611393868861651459153810649307801629684983531935602584149482472700076038237040343991432035295535039499106889616724432780825571222092431611603596077229099545529048752944971130793458310749578782650976318403311488371311620294155076021207069962046228338450321381108880178650846558687460234573698961127479634942362360696028027635501124246169181309785871281984506031392888121423104628844088336234830238610498850415709610308658244884653086350687156936988087790636226749364311779508606847601827596884146056128757493048522123992603278597266774903799563001004929866082893532745490428381332813529366596919086395056339521693269618430627238746745608475274994358313716344880756549964609310675952586509805702581758661028296234873169147788944147573760306942226249239916364074573185497329451598730804017787397514847501719905391232878463010988736598371937851941534342316673949592968453854775397428108639971043438441434025530071065140701947057505904358042995158393781733269449598241101802004426830493441333981694889646952035088005766726551534729207143956515331460375062495365863695127538L,
228983205080344776630986428280359759202202829234705246517388525063016906463106187202720632929042643186527347732260295294500676051320686006487976194120241581396366718338435710039978367057432796675988228290144242766386669397643525150221625606457804238433546881159782656131796307856076691710911500742560274234123081708000137347844605453878100507851909306052818776080191930416990155772448754466862742739427959842867960687051689376095737895146596609044328081210775709765171821317087325119106337270500931448960198351332749894995103241072626940075677959041768194445876583943514604054257359436871331010800112473775046693080876916043008188389036038009488581690638290466276096801264435885389270946572788461285988520799446506133215892207699415676170613380507228007792971651593143976160099459622449714869842482828563378270190904426050621666277946164471991094518534531632484568742701740827991331547854659409560433983559986425257131390183817545165548645659503220320509866909846361168111183738282682100567929566926257644860278728606508157101444897432450039511392917413677025373573602946430968311184323356590029736259606800324325711054675900088392917329349170486062300510003329296159372058636683027133588164988729246572610544631387445441900968187371579938788208190760169038475534755166772290958939507279343228814834921752040551004146159719055713073653133754197896902955027306938685146511709897985089071463106677786210806154858712863628562564068556331480356150217378181057060104867293468666004606824882775567519277968414446878557608317273740849074046973456494318085635705443723491219367761309528892544927620715566092158852480076190465359420216649797329610591837290758985158580102681352551937403971179546097837340997548282622199990029906156409245551506131539678069673909361912280887895937395747789180421539573808181648585814815273054023495682958078012126050458851244200844010541531586917282098106871724037731911053757311135710447688166153281036090512639129242269256190616479976719602329565703335614767775439162664289834768957012616511257980361559702778409758889236167525969778099197847794474639733848430480415573419483647179040339397932219775751791431779944689737874165245817336939818822715397662558238802519268311721258656865023292277917490931267163669924038772642908410035222634823247787701868300768877466071524128304447130296658702769906605661557874253721776255096215479761985283962203007691257077270686306533319258193210672298529163594699722205070822332618950119084639883313765222364030531992113226973787288267231596055930569673973469343573789639591513975883635132798150262457924599079519929587286666510041537819052553948097159998466337224975670792477927318796029655383655449345925310152679517747109241737251783120792885897359013583610734573009487299899908433969232378557536865883191107049426197690270200066739080042731983905167671698975169920262656136343398542915732936615807266281394976021276148567141491791560234166695103424659791549987644032387016912836611732568529780382875998845549097028745263874925983887294408685219499954607008808954478975721136073238378081818989615336704845452413905867726283017075440312203117254181444774440853334720125048279445136178050538583065091080652537381516670060172869635415672155412396478676743207986829190857001527979428428565574032673279031936920221031278565684074393352089033092499664854377191817195265597903194839223099355042655929300564715280300873352068492419622608416391974744100032702262651704775820975195792244254869350312502596175222528467821473200777158483967668289587671602001304608558710550387835456079718254896664159141588220054981166566974641306101324146703538022364235117809206515705783139269969459975839836605048227561217238893035778470286482306026906742274448128198673509870502965928676921529832980780813023083026809269873903313729410257685808384738188714792266535188030730854729738463746574526118206322409872905680784234966307313387784253749387956281001352130186330013988181433705173275247073796507955421954861365759078259259470868680647400234481153575487016579489173847891323049023635212151841801391398931940194175363085343353440309029305850612232887644633775174234390440468913735490466391475431539490407523149064898654329545751315233484961332426332494844101245011033791874139244679087100248669173031777578694034096958039185981448999105795698926691977443285695911933492071213788022299709641287932884847959974517825997980605806976016537382396393741634412034352655812386933647090324774579144358422896632765834616955440678450677720765920888031902602524785845715545964999314783212247350070062997600509928435611594811995026298012965016606195082830300622732321351269904638454605949822199568239527817449219123171034460156321063353979223502069487809864319316527233064881668955160086675464493445418608378362590583165983220463406424390000626774752474438010496578781112791153132432048903333599660808786442579305701951388484405941391875344795654219696562775368492630933421664107056880953793297047382644259052496583768423712037184269008864330176694183297841396652514211679921922691062276303056901144901701403333376205462390304901874715159595385990469620805992501992096734842170920903743734641153406044463611831178350341301637226611833012925115753375858257336441512160088371982976112343235751371737421571615710699371863084278032892701782256036123585977130107341492423755028109932656476173211896165259171939664654075517337628039581109248063578141449926074534582166034992673801733740589872987718366922710086349816558990456323288453378503133715435500791558789367981111420657821979797215421694620627061838464796923889968625933338794471562997531916291447180736028070134382845601199566185482199435208157224544873511192746056639086541934560700450797213915670158782639467560693745582995893155925291698149152731194915377815072658786007444525045676008881733291655588374274771573764030110135804356048171546633964173359982743318789360069791186602487471748375816793683730415585526828574433854917313263643032386252965922614090003915097091698340455439517508074787869377980802339726025126952911160739550512347237904969680636466059623969420530088118330267145320665156250219212574947074566756285521828767693603013504133799028646541644791845444608201588923558361944130345518610825941453561200128209589590460638846770858947118461666004604378685476703758847058895127857443093009046898032441006667952385L,
391889393862788114010255002073970181033958881495191006876034146062193609434059985176076922614262732501870803981306556983457367594482498126177301391927077561827272620063310645783636463422729114686930340538951152489162999188045292619880965655251358072883140530683953004930387125732785999722450175207524370621630771613126056426025548965917887929440787727690519365430964559702808865165251135128911290848248202142763232923363752369756971300603917226435522609695845868580639668929897332836627807643161984859666529769274398674924466996131861267694582594385867697231609370455251799771818725940885944020991529769997290059481188593094067970791107052585936737556045397702917536176579739872336185110322620919080707489017060213544403321998189008822994746139203092422617536341643810850079436164688310533012827204789462607437395805901535371749549926506243693365088196300508274446205628294027463106611448774761935149545688122760185628103474911292650699342207263789626535706587099200536255459854268222858335430263405692060756768712137202517779933652325662902276775295807381523332840758369184879229583585407316970719522888637826538873195100741918139374753541773056917026854623296239733176144904941865176269676172059547560269718083286950177128432060701817062981675345627905214460510100259903242232483592375504362504183676619212882486002954217295541187028480651397423844745520786762347315218911983643405572526551737668338499813524539474155924268056001389176851242246732801053247463758491593180194651199741588035135590952455608404747593030488789707322254971223877105920999467975465052144603062091858416696843941090313316437056093591241106459861902676424964785837008572733081170630600958741628342608793978576941842068219204658272814615900331615106231457749124034256822335522386153472919667739939134416205238359466484068828152085050904785617011647658626818436396005769997241950235520793776998641898939454094962667713828609255637016715724355884626195521720121636978051563213261016983564821937651862678958199101987274241490371125108807646265934470994178704892335180809148488838303708222486498192376550493932315268939417068475685966062832525158616564290396249776774135949805949845505384608056529769413489269024657314846521120306110929678620851965615161832522029405744642981335739426591513139884675824472478372524373335165601200044915177679845352403910334283185559968446450094774687405400667273334138682741095063555987176340958340548351722124705759224605777075689705120332880634896600524453474902753087754681455053735116070551608690988756501235803845687262082129510854504873306355930282334203421935589999946953212124235709241400954849491007109415668318423811887566833900099340715652802813894154275974822508505084822550734134616117853082870324835646915751731258707633576647345969879302333254558047807076308745151100334686611203359250968329919404749825711133128503867513163392305730432071539331295540376724329729704884685758848367277735193108813998852374497433902308533061711141772512969010928128451123582448919960142582530813206259493567458194892935593065532684081758752509635628186437895580424380035354673685698211087539375952348311159964902023333958774909250130081760644167114226151270340002190843720983336426167080335840969375831693694341816331262082995616710573871158084259847674496691727567328404046117418917457263965872212510762824862547912371088225753050711087833858989483580751465605725365685202093132271989286362587750402943568849427280543443570224752317990337098600130177606656816044837886857334521602623668214385962036762090968476522607853916862374152290802153318922225905115417652515349855316375752539689952503527461837430158123043924034491085797560470521784731936791790320440900371721687393434518391276663469519114384255618500272644660492597013252989933349795267509547928321101681268005797926504640777802918782645131827867712367543821552562206099073952505201929453305346347564473443640184299077407273300889217160160968195300259209501816450157715993563539471804385893881765777062408520014556068811208290176321323651762747353008083986442673712186321888223562436095900964030092115116761427292747258259441433984745167164791501896232382977631485568595510730087755674165603191786911080873062294568442545127157269661310633737774801316932986385745907494620898393404464343573273243785065505526228106376509095904523089700857870564036884928422684052314786944449609847104252043504864799642177359609506306916838658954321580962919474052293167149926675947613023539458683235868429669828387042858572831732445980254861724688004007763116436889938365173088392452799630138816004674656846117605403149102181237459701900163848329410235770383962035234098119993260567661932478357223747802517135143741679776247716934410278683815409435990213051771241940784742101054112108891638729040990183859217381090944392704645195136051900545004573385721720738359096924408867775933025474678116719339222421848580054335507863417523115205395530961416221803207917144346781931566836435093401921474625828853403579802818612218131905142980954975662393623113808637034814525407715499265071282404210412633322670586736375204248580283009553693477408386097342501291495840911088410813966898017907367688851509341964121183028135156092487331456165728728519925668450758128937877784678665315354520003924594760127648554182505473404740087203181714990066579800254779935404369039931053118865958173950863468382050170818855745983048958755882345600012595289168444305595541894725196365511183082570938489062299412222830849460735101222720966743026521198242906964535757306784619021659535730100773330448002041016232651802903529914261224433660225317006688811018190058104518040562481199843017772406633307378906653251327639855133724737177651135764347321217810633134427302364956120641705534707302270415050533598302030657556959543916459321063128763764162550377606423314623830142964259227476493151237796955809064267357004233295740598471867057720256238652742077698160889835410533380721443376679404913824357414461487544340281792623845427466136915905508347400985200410679770446570813075426487111917717962073386708680828386163485215007689183300493827846054809200081505568723983122158306943579745816827167655707250091653947174110520473504796991101508261434522174299100461127881114419032668249180742330894052935074716783960049092353233385617989300465375212226033662162474608725570513446928901801740257573598344L,
670586929019903845347968656884915067009037133646287672399450649454972878257249955418729011435097108331643800972479283251759350772064599420618304319253159600774875476738929558217292007289954703734347938111589476961815642894017900102697685534844830640676285778573180980461665731152674161766706097010292962637632658103548129327934727239197816531177615416263844340691058765651653512051830241410593935089428399753328856912693208737076010708521387020876239141190159452607797549607769725231691290459080593568196049856145123130105149140759749665639676464654791893156685752015998842675168801970865435202852408562359183827911003314365158146469685773102658785878528306025338004806903273979279405837722851157167349701097561321470603232022820751206181479741367780407336831776686954470212887131082915691267546811094239546046553788401499933234867160597975902041147305702712066122558392184802275553734141309519492667622620762168231225187498617492866821238610700557950707828355910920984228821501110719017819959927416806230348082945407858464733520576899323775502976275024061401846594177921553994088515094234042723081673204277009470817099078213440988251379383045148614236056816982743568021721215255497177516156640721937733278005938917056428436525820978387664913606892327471922434572160814478742538110161895807100792968989501625116600965902204331034645309995852023217215256335316642289739900713866141301928912606683902088974915471224991298449599559127697758536180599222646056268947985316733335876554777776586978094734599928115768546243031153954730503958282207109642605053670984144487507820510583893792015481392314409741491972294237990010544648783838005017836404604394711972995895035228048768868083482828425181725508180705559191071810903737232009951027014628774729136211483704162056191712851373897809242637780787040806256678150508527157894523575247089019199405807254890186463697095891425649190809087623484661512763809459482388711786897093751985293455565668935942066902821487450388770123435809644607744666477158682211626579612166098958189763543805332934307178518093145542540914498610591587237051849574363967081151094280417679046156525875200022302441181196045350278141289904154379877131535273858407875316203448136756863011605346368566013599623433681750982398678769714170975439710358382409584007160034765226787958067578243982285960522252118174667354515271282619076935366373073096629474850350320424734030791799541911771211815332162907966168595853226888673998032260756775822985575722533337176252010652448341031136678525464512976672478103351387472217905590331062359560492975919893811959411025350984888808462000777811150609444095864541191108932838068578899453393811937852046632499038839891963275711844993912992493144478508123530343273872053503442772400193095296907030527732196347849442969967400185467606251344398521475928920661606692045045541007614954532809091224757466407733072766929185006576809200330751428707350322745299151241470266979981241415030546498176834803292683602808877992588629949913326204119522982601716000208091378211888273763736407583122385077284439600159072528196745086922015352394406077552616491065279768285637118579245151978078537737374819477471478598046362078031064556266199005632382378254091998832340350849350319633907380540764479408606253488737090612966371009924012866680399477838470676653712145172892471264540586840402800325026512617465070840405854804636589065092470171379123819664248822932461721058837970688225133739362843052585749328142724077339767624975887257843177672559746359805051643665937217854585128511057621819258744393996065451524062371332528794935972097256685709645749333544189501386299662841720407990360414226404494429691542582205256451541758797888180099792719240760058323828258816434386653458042101197405421310816975924688989871356738646196021776239242514393904470988847116256791425333863848597278648222058052150219971556644882673048989560291182047047895299355898007161808788797733834720601686358385304504736666478361899099066005174210735293692931495949227870432724980699293543160079775745499636360525301504326785546484950741476973749428478086807162906366438182870425784173162712889091080402433148585830571401009044750413358003810942299376764529553382335156345522300054291222655024014294276612996449814589458011370072139456327060618281195297318349516085375767260485498639348488309567360970073535413687295827156020712252696610500924582859403381393554763137850111934975532708466857147997122210230468320315586007174759443859092439359816637248667892127301011851980859382825449231514899281148022102268567292973975888965988794875192735519648553026463233941957950177623560644274356874602570871716895879467699215610567703460771143032826807901953881854038522617344683915351673112725373638016572799395584824993073159002044675782242492559577059774182601747505890162534078253349808299131683557034161990654745630195901454682028342840631942796209161306927554816011928681105166601364550560522938150000661844896933727053455657553959035707543778076007160831321802332604174108183159231274403298401215013633055173677442828557593490140406328564942266971258029565817234484178667934968285894250083776724979873187531848201025699850924534752794268776264511181189660984237529642668609418130893305991813046608294519995373891394653646211998722147285203399724337246832884052491241397224896953641846928134721808129905994812994705160019024250878217609723509376282026701504829423553663977332022510047976400324407500542687685497024348739962465778288447046806584974027487061122648663072931904339311539224960547474148384333288459875830791523243638951165221638225284828897084048586578822314986084323152027802321226876835131722960820369156127542361075115816332038948943089047287227687913448722899270509007839219501996727017014976070558319624957882905208289784586342196035021550443956537626387139223625396258622791770230083350311535198977910021317701116282750049760701241247990254711436276648461653678407098640313189813957268509158187263343469798570745553185335606986474000324372335752964637448393429870754304134733634379086505281560557063628932536126650188034253966809347226284111913052152031131745438168201266788654692018350091779464273384933497332613970583427850027125493418994167872557357200126701388428051805455773824826731344232326090477123305224700439133285673567647145483210956774751595795486253435039919841222355666647548618931061L,
1147303701365433149852806560962196757807432153511397000567606646988311650341571454009573819952810511480418164752362872652380645962685354969463092809810837936577383523264067284215635430013084718369504904100777780065078833477433254303812220212193364430994875275752383023988640174616221685180254241722313537871228179211368730789285494408043009692385824621629742038807029568992119251968782484865233560444425467482557734691035788011693495091773354439167176341383155776757282492416748209901945806146625375909490390601457507173936743173306561758845288942753190915113730879865701400902624539765158073034857427242834408872810935829043925859266967873262092987398263547307377464444841354769089209588111834356103890537591497249752870018588007671146362864705148134587954044009963263911295054766575887420621886141377893994197244684418123409708702544437062481724014414312157933546294211604880273621265963906767998670849531695104907526454406209122180627746445525273151722596464200999150415053792619873519021246272623884134159317594683896827169427431432680064045334558798163750342891839204412557801182574971990130799576559591656472036176638588559959192941610692362251475429927317752669034033470236428145880605388385365029540008735707492262221828213648266570065710533242370452247934451171183887178562701030954391488581635800493194608615353961878821953149036643580793120632886872832933121927363993126808584808999866821819762085539203181136321551639616264106215266757914186330514973251932268135638674580443966111129213279219852474040383971619702394762764945024513706409387642178017864111856840412281910497611865931459715028772116494170661101021011125604362164981516821058248006820205468541010841418328520227763718456153959318832608965878671703956623759397232869367478554610704705984956242773645427803090850827951627190456831951256695117281700290342867660656592191417738013805147726105816853458619812875486714923484054402272643455085374373375884981165247291353208579195518301174139659426864343506567373238471723145789091177267516425344443979531204583667414306347927388965787650097131560995585186062591212774135756483117101004786799761596293751918194342138366659672499671596867643600096182932361456566885221041883680623005243662541642514074600011229908108086277631862169324821207153202352958547620628484307168577175727300659370341126316356524393542109655224222776847204009056537918444822567253539894868855688938145644481143733260483482073095863211838211729466360670309160514318056044601550056333676035777405332769478755623076199458344817902132876328431891988832129013862545413688018509061579240802540295289911768214484368819721563708872505650575188933253381553633701779296677393714069819666448682536492924251578921011780205981674080049710191185134244213826127486855325909401390123593325298181411099155157656768739996005463967584493603808967959423605329746552005711525639880055506359812506367286041194739709873948941308484055399833904769046061516299147353719799972428546313257289474720666298368603432288345642752157580318652691420928562678017437753563383666481012996747981869858115796905606908026932424757511918716701315700326584560460151562279864987063066935716399462598972916249213752033529793145149704141995515935054185543651725384047031428360970048150800004213252210811486409058934591300195502441137975967270912663257795979634421152649892291682811947832776004633719804731444142763565374424716781955128171865112629881169262731177651605270692305328559976573600364760499285834355316171737935257893219177927485115965026277450199339447878197386788106662399201678016307303275169053447531150108443203435359969388732970319394450068381899191806277157228578895992591080062694580080911871438628114911604423918827982044853725433096271889556585060730426024098119124386573268479755373993594221754103882049720104696090090573262503127017667909812144496242922884637469985157443798790182996732698272505680479562828633553054836568462098480454432556784537604150745873405900063879285124246583351802676164017855479655638690571299458762467447405127195972783094089484682003878682510470782759281578464555636948331015581464107541285265469498826269231068709798356306575319957901592560915992785640279206545627983965342958715121978935539620472238312600638814995653541548176144489630333823666701173847587701284938554709090981637486089131595247656864136588234204849578064811602485974465683379282244429119192776646589780548965608121048150038392847056169344567313457517926674840695184252392466967197383255483001521046575878748720087682693221675469109030994668297206844446356046202141395532526015683606285385168785029915802766830449122685602174492141716111758164266117096078808526724496713498301994450242060638710104209946733268754867395552285389867701758622607353148139835232620078152760600962529569983221873447481411596256112385245371091251738548712473796486502390077543878328278223200676055454142943574704394592138324262686635230347756545675757595557012837747254760176728204462559498078883947782780535289422473871224460146648521056843668061454484951946099335122125816142427253880819335847761835362149205510061938544141688060689426607514099799513138623555023024622235717926952078859354732205354365518697161046352546940313721101365300718933647409033340170464104392934602739113271535567043348377297414544438497659475967744631265082642570862894425255664767747306339385509977594132908092210672356135044823387780703171496452159373085151632266075874887248667185334861867606789376035499443817131038761349474013118873906394402826913398676767499500204814845583749297764732733510326471275174616071697784872493359211518419831939509149132098846142530935881930796282479000258060729652112939897673097087296664255015077683221015022501044206460670328926935151470500806457565749323551516620745644016298908855323059237474187410564687045436661260249451324952002354771330197917699606472948745759558219686639228583454262761189478831919679287128887965505861652366297725874733187906874636065056466537499640207248616216782696576738305997361613770503397787992591775523455665327625183629942526163585415766433690542967339233951578967011964623770411548966738480324317035878160848002457013198694481729803251636931326408253630371724583059464986140724279101033489741971341392269744962883637682086672452516061399036307756868186006607003140066713819918853028740941688215815892853408883887916659L,
1962607636418734400189628320458263155938512063517695976911126400402322962159844154858332224987497222974030147386811103506937054972077312700320208045629930107378349244004593144291379440921958904231635222007831733643557738964172915329772495356931772907816721151317027464411296028303785832197327970905777749951965795954418398092832010848730774091033327501169097825645306194146390061568913665915529614396482756781252348088480548015376215121969092439305120331611378396486228276259960028735377017687338203744570047537518559714588255798478560571476063733855763328958088177285755630306157920271110823967765523803021995271117032390950444201461167010094363427762847418672243601510641216770042735879582675096265995553188473975960575017741945599378512044840112713552971272921667374638046456787210232774533001861987860523585812629257185948556576196299374644488230042802218152201843206703987063280999164115235372898249074356387577159970287608336449178795541057319700685395094154987246583283522761595874734530930153775213881421041196439122510239159859764106572997021486669931157778562970235442385651355852318224098072984697509972538727995578641908403185218247392574104563499204496006653112142691150739715197342428440369308059396298811882283134887200313805240009521097462543359328770520170565509494824318767197134674044215114986282834897441236964509184612347306664351903071318395299978725886305998688651998112602484613370453753991520145360783643066209427743996953510490989731011387658260516753508948142441332599264766813214332946067263824724690416182308924039802876621464414310669510155367268039992974680127251347147371012096619805776767680630503369338560879954159966269747269605890775767333913482460132770733792137304602166414458161351489940606356424756900954496517027507655162145621036905192761672189852555736526255473469539596024118137880236214866250036189942492622091760600189249399731551702727705844174749457347186156133414536585414043883283882923761314750310444447746192282705563939198839824232225468358916653454913142162745046741133546464639593027714646503767048735943513417799609518254477841032912268721627030905326512901512491908390199415457018281690254349296548712214708514345955007058161897796532453780550113225410229990692138979891864430149596759380990795005917266582231570582456131009241174842869503898119719127730014100061051500351704722303897674083239400066848904459411050556952653238628214159865167970574268044689145628861529088120882666975585201744109849443034965296413391515596635441877624422048838449580989805200920967286591866667667001385752082245421332121421092647839031840187133138668092132900736449550179475614195722643365610868815934617132612519411712328224145528942662017118866402388884992413756208461583202046497059344793668322951417946680707128497265726237131682890203218520081424872950706307553525325786870723235211765061251999851632985104699463440974502620307447896450308269682194471085637608692225029327132881618324856563459957458058876452057726354719211880210983680772749537703111141930540618236167564651406052306887945246414343953927248181173115227164929562536852244308370498320425827529699173773104649971160757178157671236243849027955495080285559810641108430473737455981887980029670427020498022973350931781693919165606103809638008921822673123092749456126057672389160657360067405236087812452816134619848354516056851402464423795538593236378544089758245765487957682332160420284361886841457912174240809191162675673614067433323419355295028864756470353405942066596237645255509992557881402622669310891177643717905613102142047110402800487749500034691083381243916056506228670096945441316243459704228654781795819234689320794584900707267891835423103495501601099254619505316542938957181770052845591260034748496169504662066431948798490476642912635756404647078714933114326492351993982465969507129616305777449128369438631201660379338597439172263351626387512747598572833736626800249582529474607116801549269764739875028431171784030461580304579423420823274642634165455624089736441888045549734695581538444144564557581421858368654170502563599668486541070076241754465571470053607002226128271995878384229798551828812062322634411842248770204763279799187162519944362338337005723053588538868619536145226137241348176050522671823765386293737850955187344083141896640716918511208998636417784283770790145132995456949058646438262409254533187708857186384852068007132385119310994932546870938122229386874973777175489855290819049317979725102882079973624958463384033778396206298393628967765581862480301395418248444967381658789028802660580830941698423439321918870667829686536153071797598821699329038904491877132366052835211213610677055825714847062275482632149380055070537353632685398704293713841421448489021782875336172145208818822685590335372519148004793319004651079789586742274034302399326035600276381587685596422176735610685910461494405726266595752315098688797141544264940669065181797469887447584881557496283863178602295922423218190444499878284263331366032248866957302191518762639188542862027629139917708410129604323697565406803959006215262054451601248678119475055693051624675639662852229544643927704169027029726535669714759700712677382644753773037349174420972795953702891417193752897875327336087782159686083505562490415331534515040557211628889883083043086883676596160143062956853053367490988121757379128580609551929422104117436302826798850619848061639860352562263997809754912614868023433077015257955000192066729580725069418828271118992735251809758416465296978398032812454570536653252433366245403019028429281618425502393125959369292762338357499749715695812961365525165513102889710514183358544396499064626301437000501960130395832753371109638844997937514131172097911951926233549268457037125735477641209403413623116841076309115267283925908456756102075384463816679318720005649481602764634003847572536457350837608509061694202223733170987101364101071499287404970214756794087298024568387452818434016596150418077833061972391991866778335637085421805322984243582941417531482609010170695012608188408746177967678727934569809993483100080280115352056303608475307876263933434741784640412342802452178100613795851460983336635463136887779998251839176872066903051458693881574070201538300280200364702703488458909189006690315793880253427272841933053819847721210176679660403186048364354554607644808983730382466680594612037269958715540331727437626819L,
3356760802712254738364655398511663755854610139571387250540624878137682769561658098366464973689130240111172489029637514902023534930556494954629669130413102295409398946922450552737455435798599875752358371692885665485812593506023482688096648892559784108827113274319395708246340506354471405379972569211549886775535909830079533436781145819590025252082086672832554904714762357552299696255108183587109900273147617910626817835336069601416240769728128565527252242690524431538347966551970427495508683089918717761308329558149794235173793742065519096862795006707352712067446485920650175116267999057035762756252327848854194129645989093265264692391163705931602607439917031897381955786387947446945414006112673819917929149578958814881956700364330120736584394416394109556713915965138013494651400066728362309427490413212737698172878719360209322381067759691994772283383722288663555070144940725295614426086500267885757045877326476760879213543670142128589950328730626513051100665059265011737639820214884249739725283868901749852648768294859962414032806979924298538181048065645404106549262447681782432944786197272375192595709516998126460390864312311450728723566324708254271453440523191775356803267982300235320590070209258113770998448159263562710859469190363118192708853752009379497264646154655835877636392526250324173814640613615854427635710996000220057485751478198400386807654593855294457711147561502757623290344711412249092031922386356406587921398886634626760524936535441613632925550156402717844530764188158292958130450796681102881067893407707416011867089517438364926738296498462270979346477478885787101210345803854558943466729387399693589902045026692727540473042104196258232512177083633269433944469819098774316072036907217766627068965405705950810675862311979304945912270072848962509704808855476424578103706654713088375594496777302186731744682402370303120612215207555209263089746928554093819514525488154009584326453360398017829701926452309024515327181994030311575582671340693182126193389822066619143615295708438350611086207036549580525334588838075999447396934541441164222198666326971800924979158468021386945144768145045378372587459859503880044074194891555511765053017338915986604179200300995953491350824455961124462827278957715007357407285413715671070632437247699781473459395455603679351656005719059456261309935460958455741997797295278192720872731674217476626016407866461631036039719881230717768333489372177951105681740678372711759408086715543534173494471221609542196611352245682557955805330337710125378395056220399810893500693743222457146439257101316788263284821351031822222148372706002857300385273100505593918531359901934383120960264612248031530464305642084729195268532414044542050797911705704228137358318359159126475965537453431982866305590653781861526519402952456705960955382413639537129329243500633537334148513096090605007739139176446704153668816902525036554430808062005159271344753867777457829680779728903014209825621518110261889882234000125528372329044494043715300186404747643420598516796478438403675252894010326663055169190636518372120188247719750324936987572363705035304901507300759987444859439039506623423885981490640911312763929231108003641491828114682592946850751494835582952829870358163645010886762769558353653067234447416118748633528680664076837815499007658179382615027852542739328127544635111426847624604476222195041352826298276267922350593890832456229575571713040933254294742932287867342457547114388844603210527262990108105668458548928108291895695467833585854976021612263977911498795385942323792919622382470807438813574788690877741578348387281340083443689691278110491147767823462062546104961460998400210203774948768847484003776535551809452284670336065637471474857448664547465496881806602152855794805314087665912003050617546812992678849655488612331624324061796506612841338725256165312303124235181551681519253920210509347931857399816259422239733038274663874478325374716010011416778530390072421651133619789565639924497397210751584394740339123616635161972100709547471772605905685838073448977563983897201932378096516465364725860811655547039473150761610333825845848831686798461059936697335209860175204641337528165736917731075285618220030386892240501715262899775230755129991268979625922346034343277418543952264553577951150321819547927691487239584145780357034695946874229663991488092168798923219727818053191688740813658183892854411859147195839220063107219142178839018471059739967069167681629106569678901788263835843070153000839426577474046113478731484737990900459077169218966823549663459990625265433172165618901683168214416677791794070403275135380147675335934524606141788753809922836037653765669205951395986358470639931348808214013621208124256902705359723534627588510892912062152347695482586830138857481676083655451528068252442895756929932412419470019174864435614181575706147292654628115371823534086262023993146103958019351022837508815265286930232208852378517731726928586522575396309390727753228741474311159744697290661362248248956842670957931619666310053834221356379453300467124790439515103238112174639284217332631099645330456089937672645905897029784498124802013629051788998310393090245022295219446437658042878830054874579915353967810017218886624828462482961024224653419237630929540832266867985593795861957970205087861879653545799318022056227662501720009726154771461842148194166498258123395365046347364644016445291778144691371712224206167407007293711325942652590026044475740639806648705580490811985174039692522412854573866227900752099606197693420072328138541554357497679076225444769912229307546627365803954637144406534349993323452259665651645163001551164025221446925636332280365734651309988312104048456823337372026747997234606332281602643481075169993259302695779414622579519641968882070797640522583671910867358918806865461634462539183783737709649432346658531671463713120677049498872485886206256309136312361757676565642791389565794100155195932553550230977686201852345710468024389160851233363230710988097743976156183437142248679467668288169707555422332386841581674969596975263427573392766623716066994463601685021788526003242742759622028590241887869274701923954546235735525437780171639148610510209496588662739320318504006217985228779090166556726863007648416031917423735503469804668309471643754923566826121886683085966404061752694035030080963708193861974410017102789758624529393928088647006234581926780002178472189740199686304L,
5740360530587829802708384416709553529654453193368311771298872638443030402397721381454703902049346364611411669189591043747475173627629316628833731732910537917773528908306366093466733408059927844535950533131549831283665430090602591414706121482477786239115726417811519994031671626636708523314056105940532738693934997342659431719367819225827522353833237163674155059308075933322349546950332464706176362820992858827536857115799275147557417960131485609804290345895126668340099289605432618373023607953531607554952143083206968460547501498890865897337820076469364910675925501793477155896801626924049125233198166774848343634065471972555029545027999043830506000443106922623812397516062509680209473111513080661809036217526264497958375777714573253558165443919058433239492680313368438832214024504051843566079233965648962718991500808310446004512125426466687435166574674971894149365276908562673258185193572922342887826748998935569490252301870700313693995470514570312133819763097182192415733725729871477862003623951087646567925064191775414032694202882224898136545573925627958730771221768282339319460317720057678221932802922635579398527397815191269347220979879752577792816817007764032556243918904354663316973651973377645311375233801018063415309940362386168897332833880023702105381551770569352623766802234761176885978242673199520706266121163082722765789933916632091980496025924545539663261490430693173005164183634003076332208025644919303070127052568613505014425806152021770385445807367153114727692447601046250216538091514966152091857668224285367400065694573112493653817926912024240703226028896058781396454122246743526102821254725107071116201760551411712021708542237253142636463448693938529242420184824138739910829653446162907766842032624568121056354493370754314880755861652298296106147496021215424900641134404336819987710196020961186574374440656306758910066489498467602197928557869960412621250334260819307882582117581157471653538267701639017182567269439438064321127812032949836742610682948993418355357651513214277783838947815942729367809049887142136254397602908462926158085667751697403145745792670964939878198273764815668542808655909092283257174439496167745102250005423245366428038774438190074906509356046428638926367484236594048289746384898213501781045784020910368980180404973552172635478084790592541786795873829403771643222656449740958745642450902924592670859488467403935499135169128057813615605740179260832916505169067759404321015899330607755428226569967724253176605218056507433951981882138269300029153231487719445543141014980958717317405609915050856769577009953477945511184978278619911702574820912107263307277262742345255965363734346255973714731304602640399347517661955706619885566211539331716032606095728743413676891653113329081563821460219238870508489327922399817639780463478920229406829901954629262407641793460265919786850881796592884478771422974838352986042413931243128783043295901745568668764412617657745213674339784564843521891696101918577162258025382587807311657183171893134129138102827743668564536687583374598380147872908519594348366849860366109459214918915298153121125539731630519165835731817239669598106508971211978841367608689418784060355264596066151422535042259506968182098259759135436708830125926091146671757954717108118096563360040945780966433764633157904411613900386545268212382604933306290833335996734979093413741681004608408900004406342771968373902348872122823570410615987780030524281019471929776172493306185275340143873176789479897195987760156077275839662126830353626106035585256001258299215410116264513879533085085639203554119085651680275307716496704900117483350677368829593345921581075803352990292923071661783728508862272294881049329082335093894142327896438409740231747148350497687426063442852548039443024998270992580013362100068401476545057678280785812982100187743872860628704043320931429865138948235167294207227454501786009852697676941414370848421634223979795405706933924445151139461362408323587581850841414377203028345534012903019482479564764242222199513586600911398960333156678583299468690857670254334533799847342098200362600765614590445243451082484597663047025345356289449550158261323776881946192861822540752309869824123961436537475062364218804669444057039846029514507439383423138044727362550280675288881756949650303978269849526155679514544457974407324534609151465655878202110678098617964739208450258191619978458353514561223893012085899121265124273777770444804583938165021657669945582190363915884625750167131150277479080633879281439413255204840920008462974080761798428309194302167854476332672508037136162733881519382994529124068368066603842245525944903013898828120245438327915369814992990592503467042998151848941005274102880555619299505408069077299981739120497824435051304172585066092650826529440241255034618647056071496511518796530930159036676701423297848207790715969224429830010351185050981499140988404419888729119461596204159306501662468653998443252973582498585846912402221976523665900380020403578676597379797995981156673490622254061331655418504137298211441497887736731217262109356706603835561238420120676083448891477720768468866982839684319851833450911288274100980245388710175199303421066681799370608676010677645428537260515357570369500862095550457925299434031457901854404936218111798439587123696554631602436173283601041399530658559168352394656078168525237374496769878489780698115574665260878244863572023196900879809954911572379243015799478834179782985011075126851125534357058863037463153640033937141515729198214447630646740751964269156461651421659667431971552817673898671555684538651660933473103847094721921327290367099208760081321782010329082538971945844991788785271369143080257940452880925437599170410399580343295820147920151673817234884898990260477964800782674958718689040582470353110865796711550074496616129104130651527985341847027615478359976954273923972776484990371662914876377175945249772792152274043532182871279742127697184587525239648291510468267671995211931653762976164286463657219255535387139069813076978022407261546827796705309311584643986963152038795104757911155735216313091780740084478220410079979490635478833605710029893395280689681853766110099288054739661659363851120817773909990220133469781292638956823467025679759289712740863898909619118627483551460548062374831875892448332624008385702316992596849058280947170762664814552489539102342513117033398643564561245378481941008147686278L,
9814989737990323761572646430498188007813519702254320515125748172242758850584382543219255509623688649450125344735385260729019708097921604061517090641442599142438892539028369862167612435242686554157583752293761289307792772535223371156022462898972961155553858738243380347186989224242383724942364666999538617356118379959209079840071148674987136367268231783151633716746957266806074322628389825240145334118144139968662943303398113912456256662724782223885525286741495701149726874292322417278009845902961368249352210407212884586314641322767151463895883747081582436340000419498810740170412178861814505542904142922234544403895311732857614561904729118964369278899569158544683757680128588685067275823006627879106961567986479803038995560177223672273703793238493713455038797236523842448510137402553081566099056231355766929153831177412563921477185920793469806018012722083949381324070866342321919318679625952953752265585312729549785098932339523718908689408955864211442524258282092569829972820431887690092337865573610035859674552132377155407365657742164708051605401083183814973848294308407063599335833582495592639302158549965805684557382876692899898062226395196716307742627182278558153233116830451711775698377804388511852282002223735622873512586129583924586044188703475977968572866250402192256089663481910284884063642934887893202125362124172402792983127877783041101198895164191770172055183094521681350535725259246962191693990332824535607313201025618997951665266599268900714076995098730149029754683759664002247864550079301017196821276848036661907189663439095695093643557645026002171022906044306090793010463147734155167720668685803953262094328565775037414514522807749871781802970376835686673765758029999376569105770641963703591868639985516586593012324395831758841827590269885314664374664764507726379898709646254715915306458093461543167881714618833120426690074475745841584569100528388029320082797717514717850605138628170644376627842485887767849772206527547922300831545358175795750849438413661637832719313736789241827525079526992782980271782152561856655601916096590971896811890573922514982114268986368519863897257070916801714449296986717291163152906861700337079002494088343469741813902101477216312725561200786436230379035496705106486931769276774217378583053910983215714867421044091476874852132315856340453211585135235947952496598593078671101790441167549854353697856594617595002056200732382048001029356028682868160790957156776547744709295383929871661698509602749463921924198593878373354000247097771904667605841772084698131483744543655774760436464635257013129037933580895189282219096778032524013801134311727466525609670610634488783616719486317078076308702459042651894815500232838801886188125857900222109149137481489295966779148723635053520089898801271018228234615886800572415190461298430241224021983266552700666681817433471639761597594161848163490750785804912988154523971916360510742449884688302517422940081174687800571447645525055467614031046010903949411484656174301231454049587941891193555455955364163514329195963918055057307970284671773939774154401644871497736622576585600630767089814509485658878736846882419077938252017792417418149380778394239778458075734653390847053236468184812923927436625968568786457067572517251351645401686332588871015342513076465732097520708833962880050396064563338347004056521626589368081989616963292783547870295922434370945278877845437190141845443506948508216694444621722729165313960363330349101246426148490125940299595331225726892331834445048983037909616053661092919810968528883777610551037407085594461423450646081769340815323246339054682306206208791521042253771678578747230005736447905133220341287859717598681523422486590243589476055166320144322569294260964105921951306301452568483240218188692735796216026019152516948200801984114133039165896798005151045215816770882206678970500232580694785388403567866577827298381988850700845639699908455125970168117427348902613434091179271778081414961303350121457861169680083730392864566261129770390246752844870645083992202850961344905719546299615571829392210345240347110720039460713827264077100455315395677386636877907544731044350612014085974734020079392784409074824966913594485143294312719493508511655722724246017383654538452681734181538580168884805559342353872781253464163187718356845181718080934107411360283294064241025766786101269646608712778676974773702683094035256657785375739524838456178951035870002006839687972288148559455832350946891590639253841471803420714426326544658161182196800432155382264334434994386725906753749780063366664549145012595275968462476940370100129151781025243650994454192293949583215737365012683255989206844278023015348513467269419868265004887769496794689504365300008752461165741333877677411473417853308342468684465187411884200499232084333686622583263973348229042517652835989532703621861860901488736058797626934198603414605196507364631214981845842281833145722298575218528927676919157585258241056432563246317631316175433048005403362872992870997143821537248115739233810564390169040508448949203583173558401072268496223909375971823494423359760981520400355489585301317810008074951235717570725011995886922824254848838951117916810011195643573291723900145119367124166858540024646435158516660995374787326915112513123838102219356581523652937484840314412536675290200009285772327100848131320742653787510403644327235064579924241682613866600987113995892417176659630636252516835639286122251617097750922116893299456411827344213936763859285895067729219774127735907271651368812430657984133250331402731644081027289785718749731539370235386791739192503949477977049078237149186068009577466370977731780227447760625929556952664627159049863033099271342156577006540004064159207821958579811800830920610373110294060262452307643988696596851556901686054215823542332931612816322384828378998676263648622460918233790853494357806224376727850795275179453672673552453945524997640081987018472970969926284981236540256089447017363649578835212904542645711859022930172186150597748581689870853225489342691331868639062408787152589444377427851202575775834803081870014321245301913002106063253795766158846924887334620125122679707343500220393007797601845865988911858739122221349353720945366737124559732539056780743212549158761373903722034736930466827211006064793155194714254483410457080764376599029095288374069793018468416734102271681331656238721466306458139037687392895093087006518951484L,
16779247419465373195650982001417511600194328759155603190008929095396476911242548266569923274070261882607453156053077509333212494503262226842432122545584286785026508825023803596497074978432927889149275624975489873036639966036376739492653739645161504036982497803813204220546908045915846086826917719301657054234323357689033580258360631054056918880457923072391736799038648417365227290761459407157353276472573269944759447886054057050086126061543643380485243115846901223432940379062698595044403933828635502518807092336466969202160670025985347239445720427507135090763178243164642182217742898344490872737325692504074382309542208035755129912515193015440744034438399133437129227309289811697336466070977673829200257183861375286520339209376571601504748616579906321298969964871945718922788495019727433796916081447973774475045595073435069370424160365951125979934204338197775457116482484880084034694109143016230148502822477913538271958334054607961776038704657684073561786400956284069443242622938777123292964336334606951725305083066353268352274467626508151789908786272607223379579644187118399446009970871968825061014088472326708878795778913023607173043300866918076688942512709087095183810461866782624399413544419494533389761559301370118621977242883811457702819249824408300035307306707154293685073503194789699394709670025462993135621099767945194368070590401986441647985499700915171198233279708215107670779534310597267979307728656975211515083275607280917365790506565038453672307829852332336133286449786920159432086996782612927274972294064696292530456998098085487158121904738599329348461215564531615629077858322357967702582904824614960945953072062734215460288725579270749636226980368979333128436857673915270437461263530175249738641895209495165829300976898294736164924852366741043252966430237926776150722820175105699808509292589560804620270875955438130136846225289335311758133288150239314214545075472049475875083381765199609663083579221116848521784733660596771848288831657798484628630204121310560341748924398631197071323782156403946028200237289870926396707132624670544659197516231087099752850555625938963967283706835123007690705369769896099732586404686989141490465226306968542726301605450337174286462067516462278344804554200310988020567079349348228285177002734108363665883405746932768106477331575633525105077927576006009582829853882997630609651281933389470587518680226097403251220471831056602282227614887868858505767275372777907974635943676016489113252887830772590417207834494872661450782201559786551721772331534526446335841953452880890468876400866226466458506704797769530463206889429717810555619651118672445514284648319155048585648640446310500179441824907924457863071259186177532446160179851877319066593543967396926986944019812001715613065040935177601971962128851133578294939464471529953454606128222621839154030281342907703830388463813084495357554770709398628131572243268917870348697633661379254510144546490426632657443818036679464305391751688117851761041136303325009849922589598658098307160884913864915013244082598088989494753065344586846139379644591538004878601894575450659303005818767233140808489222094750780385296022911708177437874727463967674611762074750675280262041708496724599204468785200492881690897131397453791315203738154387255031727833532987009323767005012731156614949227486286449849619907406565368807609686594182238681725174121268832111676493128289559826476808670309000038564607901155363186297460772566953387257422323281253941602868989303390226189507396789294790186025769335694156540105750473223850882706341200349032475879236275244920442402737521086945431301231674610848287432217491989541474553499150057879598488356708838661706418092440195242459297557290291981237526885682640529773629511903942958323408467621966677609559758987490057334337481772587895215134953565699303123599348465859492338960692520685626881461751567335848821136095916377447492696228560073657075211848923064185298057222357669033938908543722455019334571319609611705888294145270156929816717562174002809335515213047914151618731813944831025733874473035378626595796519285869141073475788248828461979852775925104019247389668350640242390830643964151179237012294719618017884762322156407248742581470311032326769105017336686704734894253060740657364080453128337195637038890546600155421674395060451899144613523285153998204829065198836725856966317629165170701277748941641060599471647306060372389100485766600709698072141723351817914606339693531153863412129927090906606203608092211078624010974407408157155226432199226946029321890428618386689818926332972740730321251275503886488167137542992724005009612019322113531069351520459593573444981736143527850083516058299628587509727098199854610016922908816359121355365573757442726787284156798396214632229675772351521749946309016165634223689397081301788962645541095300807632092383823836671410073570997655660959529423502455029973801595148153949507276529189688003901464099243374534194211145088624164942115550301946947990575105837129485070152420485964737179307010184996513139750940649759911697832728322812210791163831279935913591177424264668610518974464013210136640310624092235356092273308970763768231895995281308172972151439358395754546319540788854167034415918973103835386173091274327358570942682246172701836553042807002490516593483688579238318398878655380282384130016839038131704408499048613989563770274930240954150603458954721006710532921607469579963223670903134893949535593973252040435476697561219461529340189109858465809680105997564400841225286841728883648733924586270495015275725173698900591797990708840439318053240581469213140155014993885802997376591686130650448282361506037723904214993048151403005931918781103129935045639846789448893969804241821767014819067305397696026710816660190826019479520979189019607126268405518710259694214209856804398875394187164986762509329664260385177512594145551923383472293005486353000758074947504303870654171466151847663938448873090477819231215518455628414889419714693668410649300773789479458250436409228471804836006047696194891100571441622911353374589702449660128209979442440836075277348534578457277158735689159480345242387788463450105570710636624283337141346340749015554806674019428749398552447295021830288508298667354167344578005101735571502822711111389558809799187540768519719989309450411096951892354840860467334222379405447668933590379928530053828341859972591163961181332692137059980506969L,
28680524960148457925758146976778085783350185399077196275198048614964167774177365725702200477847335485235941355760899467183500209868209496632745034775487414659927161258396495065086548348782721583856808728197909181485528593817025385176247139463997342469589865296956013881779999981225547826661849811032907806079790811909656821401359553709530647130391424862155589699254678599707302014806302116382616357770635778154356653528488333259380479274000167985994725081430895981353503843036868449760266201599605591689290622795863739609844421099872933985986435093131892483935974866030869601049761557613173894052078034481573678573181004677030331915983822043774698109314541403868551336981476067155102999359526577749921388000505054195049348987462239293030640255431810163555107869741889136233322479426839988127681600258273239206209059810666416702460313381087113487978710127817025713892399059179784615906427355438342515908039508401885502923653735290642893282446078666274214289788280760273707476311760516086682423607862184691335581005564139493173215145957376900692609735045887455770258749282113466130313907086345590153047476625700045921792835871374911644808088996765339121841995659938897605769358043431969862539573846923067326412547812289664229353296138045459379528474669296507984492287414126076725414015929953854200573731246353390803820247390235843622697433003994506741875944610877176026146786807687194657747661210394261710941779304297373755073819543242840246332236420223708875862538686835058770266320721367757838892887878271909721832966589253458056304530465349464046654570528929843331925284050660736433986186770036522018128452987306224033428290447311324234514256808101131377071127180519214362289200225398589909727055731555900556315307870719728136997242038654133924608704483429569927071445813524140038676346378107610214436251326938671083909732150827239440216893316138689845667964797300390293540277112318804083523075245004469720891337609056092132584355841988473547682550205866389007963314314572537955957034013290168770699621670599787467799791078728805173947662655115663902855504941249878356445470983042807200489303000244348344834814458976387290808433077927554464212911664306152502340955873322833434228136363673289616188031388403149965605480797073052364893414594537514575019477555671858320478090759772762798179000308204880555092678120166082913533152258115710904404722046813064174256714619010963409127591705378654122722367325233005401947731488668253951652425338003282084727149452513369324506670109722657818980058428725760656677205051183021354020545016742527391997879775575931915852340785961475645331811715985542427381651515752739298187508121465524905934870672461655519103375615870718889152389188068846691822022535759132882491293563010865686900064119248134001807687007237985152083536514046634949291469964820594049030863379617529500420114174468563477446125418994037313264594266400855222435956845505970314321794214715265503339289952802268849879266930289346614627361606035409554477660632904383538143352238875512660965594617699801458660990444024668727455474772919848036253264810130913005799271490720509547109743099123997685057738998435854516000313170132620573890977105856719912479118358966983869594500368629964270254708703789538265987371958791822786842410009173121411167405059267955979861778470376770997369246886759034737995394130467095962972757901560103977144803101551970498077907467590840066080658186898099055388850757206807369108461432289369248277750412334015832176793484966301535327084905741083546818173079954882354429752189791959896816980337672088052186866564919309265899276982712035005548748051677306996561487966031503909815527448591698920762584560965583105046072093805848299057517343990287711377447308789044513918689121335511148295883825751567456979205655054583563193108868727155075941251419890557141072848332577866241052752282786598539036249016413381853786658359173381520486712281085060609639183908226033280838231860966865381045041827069402966168360879762061769509071738166012605223135939224555722782770740038332938300607598047082961369845290550428102030975760005475372485420670232820539423444515577161982726310007469853476395435439192098144883548510881177319030239643783009334614217807541313735893323704966842853707092299424511681310872127895889419942436148795966736431025015725004756244006864855457956379565925679464037899292479348538767990598689294189249140735287591196201161744101725578313641590598218385956512789079862880110013964359796903668131953022790417720553255301252316479280401176631753142789861419960567276677445088571038859444792040464856718695889804934553441284787526936018715638747253510456243189097026508091191412180540042383246987559845001849104786308698089307425338919512230148673162334423614785259045728972239073351625391327653552268642909568980348856871840752176980067043703353014324376111710909891311230319113917835029749309033589415783257491774104587288249200385693877139912222757718782914124662248910886843871660768085866073138224478863200268618953387640878742500887571288192063461931814424051036149603064535169808146227697527868475363515432653035865871616827472534187253405784706655410611455996067037373144221467958947086268991363865355921264047743095417140050411150526156609008468606302705989188622344385074546750856590492110438190260288226385610993908723006483952800345348497389419377430217743567059029031033664112168344660524025511900475177935833474479753847574419467524268333964381630558470434453553886038178540471101709290546336321564279193364293295299605225563234191710936694338718648592077662076789526093850451227984517462390181138848784345322069862833104698334999638930178971408837333459649666699731615784156025681486147111835047644883994763706998783980816932575161865856916421235145442919734461736052771872125663687904819781866912141248662939036553223621813871435874757770227984181359982246139353592801069103542442832975208141872620810530492834509602501361176377049146532157201158445412206260595864369519539713650227650443994241477884137673774624559018753382536724904242473721558485099863120569470602585176548193818981732579568280228322340103888528719088617402376360640917438744465548521611707960495963732653918182958292710742720304909164876277542279431836384885535040275442188495774176405152031582824675296317643081127695848252961918768321591496186243369540114354086619553164331483500285447674271L,
49015534939794356822207219596700978527373889288955299558912924394019145640007683014305801115046599489584295719460671222206689562089007661572195428388099987096990571078794221104194717942452497472057079361090022899343638736097210825361463611673346038038608057260282087922060947122026455821587169378413490021339100112896798954589077579712006607729129762125618677645253683903083235195723226963458841982482002302973010897554300688723491161061927127648007955955521081766105237201359415694499002314214635398858923157053549577574184298011279148269493261346761518241836433550646433150152591918852882155982357558366403234847234081228288222639624938947227183024145263195993897094358994501613218682212697193694052057976319930869086329576891379509209326048442980266484921602936905555590963495769018981446327563154175675131841005933371104503145150279226860196419162760516309823539399822287707065770627864073637223929070678668615460238333783114914849180597286920951966848022940877986252654421132879525933174224741913605307726849817774880757371852668091997242685746855366242784440361543403273655357305922520073358824868327711551705551144380385250876906756464765300059435626755029740787512947144942442570316344990402589562754911558354962832429991297518819513942020230783312937126882580480350004059053613012077890533507971445696104376363633397823985332793231807164823734667704278272061063873744195922704184088713576542283000724595322461398089123505442891736055388811927511340076190091338216168055494143982814617180758450199088932323843758200611162445290593154212849768767017521196320140739375499882735701620709380911347745672472542117596902421404727712634562113925946979698331822373817448651154119522499573942187709885822699312565867274387987503349546882146007696505830253545355961721617858982684247975281977848654467570802973402980561118669651049337126800905167456773361731038995573314136613239719043256776961646937438217361382151555799195539252581112772700484210582909244784440000193068843697124269785090408734565866809699736688957455840548839058135059104393751359507021285383720945467340317287165937734884510827613227762009990107962514904225393902103181083901242988889401898627945685781173778057957256133185705117984628753331643387930430202584616348195368692486663615025987353161351686184702886365070532926847077044197332611729656006677867055282194798989735171199128254227140501831959771060941544006162107406424121993901693224432735493360224854828809086400826105212146564107733622213252359822391417552175255223253993602016503103358290321275489122666653971700913564667480761991792029190965209429893942297458861490279516423026418286755864454938748827299159083877708351938891992588940577995566939311496711465488459085251587929984922872094097110728239431077157081099482009914751682911508990297208705892911216190805907159897966799027054925739255258218258787028675382163289941607121791653178948258535268224352145683458182220661694755844914153640644692824111634243954951308184107128992770943348057206314371298746935168623804155370619976721606663517485904186445391939134831885858338711474727945525138458602433298777503521692773765335608813263358491012219298399627686529639190679746390917776454880569876674782104899458483616458409449662717453417288220693816851031848346373283481363395003253359297468648466510478027178720648734514653780356075675183597782525320669618126515442011738755193652735431996048889212202079266711018651964535496096368376254166726736509534508317387335885255455965556535081061537940978555995253225044307400332441962204785994902219518387204471070733982799915115294716551010657328669326722481408640037277502361565999972658659097451420512808040639457710409301202590433077584947397638328336932303426024336262279130071446096788012980485450439248066298503972480413882921589461408590662726218535430133037116145254684198618647557086083248319521236261955761409056907063910320219394190050990995032387338142831096376357663204052865013126147491640549842373516579154276850503050595556678594673493809678566480928505896792229245499472999977889456225459732532043608614727609539529021019851585891927674873779191450708892486032166997837420098861704480723959994102664714658190641461307555951228893847285765356484944170404775857631449669455216441694429504141913249684568129547119451544938207303669668979646353283379909896087873693111315391135938325978959791910177697368033938647176538184592877639781751120542310443338896085530165349123636879650245895125395577085825001315728685177141202527268682324310680446886407389766597779244350460993501387567796295412062089565696302091853829128447153521362341662672910516178548385290174187176013077448583426957681159651919617271870975106299889577365402853924084470498059309419850729228835194025504628773119642295381476552346018008742888852091609919532802070290843045838276038043302221311847764615562313148144847748009991923401869779821829908008526468822221785739559663722670563786712163003598300254581846395764581341973421244722470820146032384630993751107807317618446620468603913798669240941582974002401865326301172787721112696611728996257488786818283466077204675883845004624960898243918241425598632508664406747699175242907379021119262404302516618279043961966301990724937903000454110142242576593191156578586397044832392060570838484735723001137848399801827496058396412913880144972859510768397400533567767288609039097655710839769425229574240382553137853361497538480026021921577674613130478846560488264070893844808991258604305674524583234299168927273294758378831218463719137095465234715073683757756505648761432719935302055839947551330340466607320034482116285874556616667548650607914797260264105583173346533294529456423122960175930412018318618981332892568927638897051585160059728743305266053951249148403361074307316966146323219773405515201413927261502770419065050256071986218261261872059037720196888438845583757649462817141111796178457832229285257491745905133166480853497347980490917499860413724246952030786573752342431253636012080229946442361586364168214565448051212350174639610557873788812985634903022327604289025638126833382230448370182309607731314682627461244249637166883515458323615217866371193797449533188149638903780645769261875408844896401851032524591103701565268250900254884649904107349091707682542570190125594998614368635211019212163223948021034231336822152180686346522460300068025455318365L,
83755333358353428192289758625353582078771954079944549262718937453168605910887469578590276111779598108936673495399777167809027230726252349357220504828740035920497613226419284517590761508687052332473138858909114543071058638913697078175860329516628592691271426883550771778114977614257662677330156533536802521915601582192780787245873813230654244162522885904429327214727363727224682688750093557106024890871293445745418792211740110197099529510127856492764618009141584541005976499890628720576337549690725295391804604662263937028910672968919601031961389691673084534839289622732261358809495888141589980831156893421833900263920584571657079121456614119813070134650278671128215387475012389073530278307031420641933528152005874911604310083612922698272566494349625102933738023618543318905607168417406291476833000592966200225813131349182863095479984351005982479614895764688133424686420743962548783865386691793658776312638581939334704029154726901855685586297665046887630065855615662286933071425851033938679105530348599522332155358391920733859029070130304534192322395038613943634804554438191697138385609452035298358987381077830402902868638315498140244936186485036328614769179879167626505144357488225922871763697854036474326960853724350486218231673452108844525537977368128886224577853924132407395173677362052945822092548790961412470657796745883560380424622009230903132965993338316313180995262503966266000026392108104496469546269380130089627605188484033373047017569119442131732529760894687344172924563594371762993237894263686344453735881117174637968450681566639153470186778929292491973630187147564942399577778697934993691085758686596641191786096965836308582931536820442939765870458189765226029019928048080557723533447107124757673185039378093513366854996950618744738750793046053452098301334810530764737498687368961148109787479981246773536575934788110503007556590111114688247830989432239156341893938173621405928416836227565742592024339569350323504216684606189867637135232638109373941304918302374835124197427313956234961488462122577384203931306817091013039578368926804654142968725489010329449014131946760588768621386595648361370275241548430177683735436228404244129649159464895447216494858830042403308518465084393428514531927308952032461430082853623407665520184503781590492304744873336182917860137500667499218406387511070112823193618769110042387669916545154066886497988539324402228211084226355686625354633758681597834205498981681363399638003224133997316993853885925877808512903510187519898910134589581337842361012927149643157349793943310724430827160617134183418482945689417583029609530304513488839637200611048728521750443177898682722755098554502716323025181709229165985704405421503448496995668232117868983019400658008981118129621486071739307663513622610292719914393133578666383903760502154506221256064971621757125704011537394787301794168989700531546452248709180620891698476771619667723110224302308808409842595653772035488313562070418680995103078881886052319294708440825295967873916459811420350099196779089965292162979877592803935997598193410441654080410205873061993837608087295739629430182587396058088552576985911866443054450760308484190342711973735211348539778192156077867850087539310049873287074496379766101413220641477189192675465437821385952952611142337503044779408776501741905227398532456957314195400543545116242982114526939328948253820309280525716930784304340165104019481586060722582413049379297546398399404484211466238804206899603364558767165290249460680554291948533428311668194830399190069463767572657362413442904730279291320298236466462573956839539769258377022088623445434698851515162400595919746272361171396483010996703711210629772162296030686442252100659196537948128864127442715941815097042672666401126995989944940427273199499407326213322701261348470189841779328042958474823996434318050415076123518215721041720983372045625739467125071877853170119156740856770983787054654439566630851385462573967753144107358982415629102044751588257463696272299385440605777133352372077564332710757872604253924518463728418461629205091937410162445737201626412449751139403872316006790364560384412145538467226477720601434417584704497167458191415693855337994496121173573668693261658169833518053853380845195199709904964963493289537870514261309180065238774517789586805599038222469154651805066499592034700907558995186590958693906631538486186825348005588314223498907350944262850699836321456482637645099186931767783813527700916238590744556150413620614878807664145246022616111638033625890880128120862548889358982301484827363146134972418229544687708388254639758445182711034783531232393956297793166373500491043509544335482710392266726466229712644270133845214994806809475446869609051189261761930502247671278316125984666363087494657591751591410557185346086231154402027251209313238808937573565060752526610623533838360288462269248884176591544728233901919883333861544607896178725634603151472890464882884552723553955806155045718312146144594184380448887372796904989298188834361865375405491077664554325268018337685033786481798398611277207172930047718909470103163390483245425953208781737265973554831092420286288416090692955822269662028816833907529722913109924844867289395854755340587800659074148846970298946225421629436645082712009751892422263873093968248471241022896973769500478169984717209286493579288835445564498658421576843063085707655678376669920386608277002020031343022855228901759044684904254593531059568060518436580083234029398175855845635508857787393180157292692371969734806446510786493575304477068946783594569205519951385362014953305392466105639025676175022000531105282666302285132007524546836613132745524149739405634214025834907164929138690022486527287930413392093812271051477214050965933709992593663508047179913457449737168646034658223791942816548772127609446009358063478123770486151410538686779293600121928336639614250438925206075423098939552079321482267984419446117590610960352497317791286606657941662095324735100788112367868284209932599811112173767532086029036222671150119803811149407778141285796044970107638742495161690582690119417456018079232087488240391541435648887243172953886795203077632104027640534637601696215327315829716370139776016908656296993117649564132458163181162268736075861987597617751778534640306162247464826959406910247173349520366878457614840572743276775458315948962072285730168330770992057808620469489270994359013457741551423009676L,
143094622285936378069076098371455103867591090238372623874931369005913466136784086632169008469952080594371351580311602498379848951668653324206566167514210902263722818299024509132191754496008144221700148574052165752258596857411311757136000153741254699004442335583882807425018829121244638043062837642743691976920493655525087872627315405136600675390033078220142610118102178016237742074088125853537892771234214716970817959749689685118471535478372395798294322011653043902296622699629935620756898053673081207387724897260862313474673378275897934175376571519957966640937131398096530163264537651385104478517602317588655227864983865578195309138691638106290003818743614734788654439579478969947903583537101764766759865123532165602714938446029542609266155628856836670518361418255857623704750887991377943368565628380721480734807336889887169536982371180315271139786355712102157869107572687002021405921085333317943434061038801305514508344226007285893935567893131839601904370144050957632673536239814569790155913763545886027520118706869322723135574919388568285483083947704647034543169776887114970963370242490432568997940121405652672577198817902847314465537123603129338230102973160037501478813889210065178633185890711445560640064598187674843152074776564598331115049477467747331098049967860862904818625532176398822281551026086822488989212553142822933869060276648040045079668421244225065637428393743156059799176779929604688864560756294537625135016900574838996468004593828280040597663469210790804461236363944803159464427817680957630263355539441093158816348704836810621506312679932118987053280770541378159801877241576368938334702379869256787028360766285467096019322774204648849127664019316685640108087686973504290998972754087996801036784927606977569074812263257909109016025223125753279568499393370525177052482870372780978471965974371397514501911106596657035302450039279829757888180008960888454000780344739601758534995150487358385770338886545228481932531983221574375824779074763407392370440769757437341834149338624650282673501457937497578175344312769415128595316667930497968452084838869316721431366851902001450009391757727770778840881747099426378579880895917612319359648873550768538806255082280706677578439727120936398640841277303204032106949967540349555573029505189989022971712621953831336241286297707876887597379340436499693253057075785930057476433349509451389432121884635217534091675201484208976207735480382926628928842161762203525418660260693248612202528898745476252906725765260331175896774516542181727904151902474493005306565553381265238173282815501058925714664056504786867057026947758692249938708675783893980525923416151369440986617528315259692834603963605008584696938682551777733739005529481756424648834121219009943075157841588540679125640228928867643199428678482983576529616691443256202300384434215115734094148575394653862373949826122673155384599169475894360264555171589510407000884129379638669891858994961553272631532239024166435945840763250621049399639003010303480651627047224909657344666351165446166801484268438267113833495337627318559495365707215905661564193612970271304879470044052259818777954043295557633551406980542805732448292695554996209912298139727179463860392006230209542983210079902854175178843305698697780803111348119368815628662957516747602500586495412884216121118481481929024029788987695355999973527017641249843888969632262134616706302219204091242128449326830480128313438512093658646682672754357998551998875508386816058971860964952737957810418319947361342068640821075052484472790569773891605028529768733829096131351528868530557385706730151416805484273356772684424691041811917871747536393385132286103948976133443811222847138819534549161459068237144133964623934144947868246072096467652106602108683596172108813696237397887955022880514969171093421649904800041546407901313850193602601499619346639530384074611250164609665636402934918513574206032289122738774303490274422313696792663275927279770413890346710908232883662499606196631776373864919536643633248016447867095363967732419201913206566858548588790307303665244695257395192596658706662420694238399697723693676985117309845783561446697035681405507606725013860108782252227227581652266426645164562456801916993457578470392844439810382439370789301765195030842362058477402926254574378016632235484214078784505647905982830563653946889124899683908895036724962354595744895297602485281316756566233126138971895725820953358413783319685337980140892602627795169934397094174367548834034460564703131470857809373717262534674858666191339945681512595260018299358892578206182621417667391650740918759152077414861128707464784782265880381518945504664708205272572748948615281268008362254819555845529079905434345581495328474533974609742339352093319572206041254359696446811700647543276911882575461657676275311855339999255768987827478203771774454328188924527500829211576224499707226591811273580581113648289826090379412422071446397085112959417051628485820731487418730141981720412951660830902078695624183497090139538953571368926161445925930339689154122377214398538687146374897392312513856358148879474087954896662789531022904804147872210308057164844713382738887599302503068280634894412889767185957655314702006890411145657548032430198232153177165453964233315282140150273805004140566768880351872525534695580281915760063247214702952516260011867026105326936357529646942233961571353635761986425807494531835981697314592593231566864545298871226797125404760688731741655833882305784194127194653060586189908058203670724136503927259687047363323933470711828865470133634798480366144048237945292768431233634219575849487261912722425621899742931590848736944726943335678141108880405059364256154569766967750484910412926345154908129053142605506680370090914938619599450280440000986329920496908980231545887868404103990118840822718940300432728116899291741420070300383297523252271157733183047516250580552623056493703947321192304323606263070714800983116687987508240119852292788359051903149949494487221477920506907353693326014074798421687666444826332214506546284077723933753655196174822047516389979918656672413912156664322225238029654978914750580409202656085387688953753286263006683832327120004203003017701630872853679368812178375076558235785120730575955026025748128270734225170240331621306864607081946597614730639207706514293363941514072556806613922371655613823850049083238611514241426213282158568577909205473430938127946140L,
244436643773805937477984938156987965019817017183062631206939365658102092776535205041350963878336105113047389133311260378852507073348670090406686739968434059317270329960446929728149261679274851251173545217361455433555819595745367627625500868704564272382007585900302973424481419571527568243972198152701821820850880445861010011186905951414748349698780135250411555736787781837281076569452825043128719567770792183496861996674290041686188802248308160685399049095328502217043758211026812304693889601864141776070331744834547824423314964522092523035488093656559146119015185019118459600585278839664339661201079132842970693916964189566682266311225749615205513624970111297317977348891788617368458053888846380597514530435964218968235540243545565628055767149572897291497558566208605110861635422154997505545611160321466702948830476345872342459362520062901405792728530263665221536775889427084207857285812767546604116505284599043189639363884344267381993624890436986632783486729364467860177370433108340386586698830703924728029651926608713953822324601739725202406235338190980787630108494477279514973659901583319507796367636058075096073726284891988011081282653341010824130559782763080702999269828084266099880108233716055516549998666275242028349744428270981065308621673164874054023527778170925045902766586434015479647298370679762453764026325861810677757592040979747621623949514605676587926172754174056788981255193443080486325438497860193366534011189642330069934474398121943355626013096852340769774153497845467119404408847651371704321725108434174028384439487212804311899182566259806699958195836581730232183649260925317353835007390105574218670270127247368887236734374730331387552416171445362242678235309907545425216664369172205099888517868894111794379252116821549031591218016139004825861946200144902718321601192159492493751473656805159529952458136168592173210203278530643442513145050720062139534818760689294789770110688417515617247107453843871011672076903697348328270410980606776325903697426364197525278413310051151330940345836174815820696459721469970935030666475494624400531958640499332773324939154889066567315484409223815333045321340125716236499520039000816036623577549926669511305165715627249400711740931416659729066562263226122757530970446342096664073947288436240038608752149247844981498004610544977490636318511260453172089003525307348460703526178814911451084540065968808061941307600259675146304224021056963370936065697621934552239176580321305175569855986189760732562009033857237968479738322443496209159511076506860758896436192029958323301860188248329774636567307782719887187621720606037327783759034232075805868347706412229798950411785185308991291588241423364094778904475660981864799450706846419052713198986191328238897360459040478597616011126373885467236372404379121162306705943951502572605633935430838937632618243087088896277124646767346578392266487466661327191557780821256872504749190190107594894331273195197817407720158014188541232902514304958326351520188081512424482452120122315244202656381743913057787529761155775794221503463711396808497081421137201174274121291661367197811972746737849629771370106207535996960997364694047905835584240227374620584955956754240791989369818767198347780281139831965724355270872857843560497755649606470456723628461384279791330803234844986978681106872025686797152880656518541756801471945538398299374827159177703798971280111917010696540584273504682762088415134511293275332218273462838427737330117279147513018174063501356238657435913290660947038788476750864775565053009823892405631051519583643604620270747303981272497673536932396009550630696615146048454492968264008117741292342608606119662490231361522796807639989738312299254058707547826386840242149522248765120330764427360322373198431741856744116704777233639603257611678072959741431261890107352482103189802142941865910242199727114648967896091634212628737583096003689467293979923085402960323242264930372258018693174699802322383555026977075201511238545756077454199779787289136937909923484251239001782108556429312754214870593577467838990212965123730795227118865019029999155896129657819950095860147818556932185762065486056078199719092128244382724927510457267051186794725074442959470838448776168351948296580499585675773001703553014061828829319018442523533339799626985337517938721228916114775053266923000722813147347034214697260087112539743445392441710839170876852860342415766500745794401993583712437716423379428425978461197941263686795669429577905684790684916413317421774851585393248426315268312758685600915231684858801882608301983657497562222367835778616454773699045804783642964449311091095943178643161280066718008518570991661386564771118268936294959926756059882275134967602448353333745831734624202333343474908675938883676415754995786788198735196139200709530075157840572929918518151909641825332959991894257058352897905812743537856279606625335567767619345412317235605085465570016593927686383163091399994574599551833614677619616047921591699937536837942584353654735032800803817147526422443402658067570403321342736502375202371816967444599889119551667222728640604648531731081578918888880308893735191993514257722629627778408525082444917858993385760669696071974036746567827610019642027098502039889951609461075248796338898857698803051437539827447808202285223176742988022056836882832277766821860851258271073882215612276632312970753251110993831408238060144169363110830682318962879252924452406170270425087378290796035852485529401372676726449359227841564451755223451861950089347778733504770895003891850256802700239816517636670345067061447471333785391405794334651200503577165115201214291827491756915750188679445507304660564509373443511111693806092640853456033957528960592027767551172902987345740447214778180713209440404388866074355630337034809158496375783613096153731720094029881382702854648414242274133730813059360774127541111343656098706758211399652110979639799450809025212208173375785842649784687783470580677870742023293891047641528665572885832824738290231269266624693051582962002823655989274338610522264322123731986563269727681412460038727977453307049834585115518725197039908137883840365380789882534570467737085933506620174024135200926753579457560343839913980372149806851877341984930848649295867504298559288452956332300434788956015067132207687538023273865848845515175811727643662364134350924968834349831030070282665722905185567588981857564167878693246301368441384L,
417485610960216803750264447847923109166740710947947194613770396333951015312742453789709177810884402499969851334738286660772564238740428752666406706438172335845635740585391598868759807818428457023438257217130626237854975387895795261499710114355660271256504464820781247723276508261055745901746324716263828353948706515218162414826121728129031591191396741908184394820642901583217272647704330914365119535930481656412354749918220400603552068907847250892407644130458019820528699198232239586966096875904898742433505804155400179637050216146240195965686288056245886721913313609175558834631968846673400315453381970332829974243428983660235464779447649893640884075248140398136453721476744000693919907619572119477919166310083816531975165203664178416913215296810388524824936259709406927322995067398992599638064382437257111436753784290121269037287910418110347167502400579821224200735758855686121082442554402284297981779620491272439342159467832204762221254632940105149128207020040478921631958248902895224737554515232173819618068209965711461011379301552731344355135351714591895445730233375556679380688180306047714704375796878860417077365712201734511542554553839723153888674158829303374946675583521205638892125966491679769533791386240740277950976041686195612244844250879718190262904447710497543993507138685882794534956949111798144181036526632934619023862402097079465863846544347867036084055731304775671949107394572570608421146961257649327682829051608299559663167313033662945968868839934027456728785695630898596788863722943398170563771244108378624781712613933367235242195347541819351152126329709368869143453710739651915875820908587569476720543516418540482783811333399568421947233622431720600573842474948464599536057752349629481334531044352467687101187386048501990293429143547615501827698919755113603239925286083253206562153199377613418385263554674673587758430161510284769566348790253170755346621577784612896198922424082701994763328795555200592520712322922533598916995307908503617171589772357408012298394539942070430909565716034342282777407050130732573455444837651523140876174879632957211604653009713080762002684673136193493489227257953658394644881507927730006086695338329158483536692271403488970356035373565755098640551939578753030397811656867522600553112477408203893832901548597574254165913023550394965067808551129202003792258427397263826831282923701961045806316779260870650143766233130873380461280535123182088128193806783782888104679283857718010768795204197084588592320565789208236847228490069960356443310162208698928678442940541594462539980976011282934923284839121877195882814454397559330760996526782339130670777848479760731273833634428364752131546920383903317982745508724033889858550676184935632018625983024502409052380615569500023645471209225329877160757359489578331135390453016551284406281302395348715517252100088494279684170450575947049190770182457780904110002314928430055286754298161359712317503333157335719289860607719274740706987004952009078058424472305623736412685205929845060198533654098339034441327788715325345776100006556240281491754022038179741603257711990925395843876672087786920244240876591505964639698103898407586320022762505498033791525577649732218724856799925487017364480883654108780621705674640826308576106198723870346429421059815013007192980531772757038056056803043379907337771334992407185375053804511633574430794330102889805885470764252833401149059817632120399722682066269828015224996912054004364225128175519485493465212735826790343629332407327911508002196964860710737935458259496295368112868089672641952471380467777763642167875520369927194720651739358334090338831887986873643620953778612014755228837097159874006958446781365470651088071314931277746829678837653178890796980505184161455019962809372667010235855313694745871571561805949702731111571427951403322692540910421097948738605280965924936630105007102140897528691048110388720175525771847744210806613215805787873270941629853132202307442464746270955866384480946072651160956970923110873869628964848183245362383365729718452699415355258998312291168160765160578189198569321499696079660861626988803585067245704225260766940987925635431293264246655036013594938329374998961623717164128235780902165451037064159424602928025575678806921527526922582402817127652590580100040836261655291651809565536430881753774352683204573219010322533641985765954530762421646951349530742032674715954219557865475888276742868708682679660444560399639087103955087494022920411090448424288176801154614012977895939835534216008730969885282850769087291600750737103726464481703951908554487298116423471761737677696281487201758574922062808751514853863926711719412722128796492457080552651748074238454489415221901483763542064188027697650449140095153370281836663345038395552132682692051923865683219405007967409983605315859384315723600681277077264070938519899170461181106188708880414020402592769380992039623099530285524853383071799241280113107040576802825157212325300046757608645077196442801784354449525016411504265324321047542814244310702297978870746888683935872100719784547549429415606067076858710669834123664843473983634510358595383996237008173235635253052193381434261624579792482525354248788547227771412689424332635011887182822117805922788933277074186529814706687759667992156684714719371953910136827019783154049091458926671990123808921264362694755884827743417359549168775069068874229637369520806780295283129175783869516753064718584286603832275365917503890480079619627024345135347997647429914013437172056859154322463103044873721687817220065350126668268415595074505187278001705201079688495392668922705253619353654704966231253879129223017694005118070462623555517047128220570630209836100496642379877421619356179630108013014700489309484290615935172548823428695727631599231887118354555734365135043727132543022265443970256853544282430572435919775952001613740972829406799297281513986330766600730953204077858031779678693393424573149295533576855040228079171881824843797175685191218596750596466734132999777773764573759176410847029754879198167167809983871466802154993736296635414655068544418292846034583556020213414178205266077621312333752819858308674022115549601884127742147700900768771771310367444063885286838211677072945985419216580718575099673522617312469502071741321375946063940513061446528926055989838230173497477206661023306073349270429095058788883606720689556411302986648770337042807155127986054685122895L,
712933387254807981492377732374698489536619817958917000442581349286955578119826007407458178776559784774246585325489724452300217295742450048709922397436231246477334397894487961628408548865498557076426520659642691720522735071810116671369816174138882272471672306736257106260004787836213146072935132628723353837058947703664340294460341739035199275223659465659770077225306241947926350058674865830131890519161999267682391186441242095309107821788062313198696853561794089492692879052861670246039004098050743996789393213494462420974502271699403964915458977612400333302513865907346102399454738545660176002440225159133082310611555203930009121594296009357537109639265952137241197712540866106507363616019375087718404603045754355003085891889101101699808635986296941556732051116074131678733751220534608190466137777536335363962883846568081733833460696891298757502892487340085130883004693058000351871945139580468190285804857444140372095613047555121955441951965243319438188294922768421000692047895097406085666700819518526935954550684378048672887642604765766242493597649877206625651754496560502544940771973645766295119700678038417197899206813339300993691215934029110050113346559845985577976206033735158453680843569919606045325448622098245293659013137409252799801506446483898545375214030123956465097422867912880118818531846542409343723861146651075654293433047775184633083460440353748209054358444861691058328369705632366272439871038529265664946319551556545194132522132138243295426562410850349416150772025900383612186717567694563257793556619290340818195211977405810064985849865266892396922957732056147909010879257477548810136340199932917338331540851017317873636346040459071073818008848442929098708610124209350859839228659501464679445057058623614712497970800331675485036008918475776355362569389053445005366385163652074947241903245669873845682729994731757142612269466988735582826139461986512548400305887681468070465464173875831172813303184523813268541845171135282511429179413144129057137619413719603246451240440887830689256684039991696091444125984102402430600595494917207598914925924117059667820056522306657986919522135638159224910521405213413241624975982674396525996021578221975369532563620982992088551573655302684935625940902232399426451143643019452653911196202844499735062219187725194810974859502192048202556460360943929576551756853047698974951082107531157833456603760883116863414507737070889310615590867469578325714719078144839385629530050151670398276449714705600526011038394182007167245298027644578761644285746452102835663888709597493279626027590123009059554707498747677183187993991598842463785390423760154025263179340314614002614182867131796863245127461624158266044449146393356727663255691773315632280646723592208812707630749391735206171883568738353839035497508498453574746998268231782935316743801336284597382562239006018418108126304244979987688432527493136294561387296756476630951074412792717586867309451907849880040187429730478669572719154213669874466249144954519470218228242271365722460632623106284806192221477825963653677614710240711448305277310207380926806621389372230131229968368784151868641473231725022802303108517492622286964546356514019508298478467835068385263429434357893700897221981627797591285185637729072927027226302744900320824203738980536432753412722549212324791642835532570339833866698630766460440585559762169675031428815042679335885859538529602249251938078576551394485698769294218401756934793029378707843126741914647106223705403832075668012200943317642029929909392262440786145213177883335799031496834104940611493985834331467892096666035382524264007980903543921531507954073262735741557117960343667898126274698232458962462733609989088705972023185661001601916494968245341435673979987945383832171651511504417826565928245938598698357538640584441838338991084294136261481416249637426073555114905855658984527271506919343134398483693709503396427117373221908683126032541283250126892003499694516680352022569545836895250332584077796750997585747649415091581402539070222679010568325877412752713179652452163186718980565954054466462000638434259394451115239687973463863280896690499990971688048754782500705996165729058713071279752538051483909403363282050517921697312833288490415438882031385986315822679419224765385417199381717968621593336370854521624668923315941598600310785290279667875008225804674560699364354879779531017731949768668801636375311427511662154269672845610619643494985152659727457470076278299705724096226549641921704474398464941867469288722262197053161997442162286729020112584883761673739271001699329407186936916824576729623562657770383997290946391055285763138465634711883257501472552241230633657477397602126067612950162073985909258968996340185583931487512995557104121450724739161280882287486544741571242388634303722159402150435458735653404858609392980218995055096084377623192259937922589484526950134652424840102780713472515924887177606720692305122056858344997047587238589949566251761709670525363734522795555692906711580386024219776061070265688357307789437619317125993841082608483100222497156088519439642758265821352333469284146494163603566819494357790714272768280225814310000888736606021051650725094983869325070602071866849425965389499440120530277796480998614534659885134698554716644364434252472210573568978617764458498877729833566116769791073012501988913175732936679724849028717208875022617779044025940720748975750380601831895490398150502136384204349630058583589920929590630428569133441935122992196121807151848606201211906620113439469388264699977255690774676834980284447689392500176683026808855210410118133637885933182650989611294101185380349924416175292500941862031583717869292299959319431611659278809133177647508038347701510897610406468344787218885094125961501462603334132410808384668503216296955121696869173824443519894105805118785586100706814269543133502387857516850107674050114235301057771388819813712625374576220746180842857528588604630413836548899586387119243799774441992390138145794402827803397404077395089713978054613269057921213071772659027677906522795133857909593988590224193255991901961268907403696521307461165477851937600610137177213768756758506672407078352094929114979590549332206107904452757108246205237510788104988773501682150767937752796597781382988227060724495965799297996068730813027128203294388354738434963795475174868052909466118705760896893848151768428055707796721934383505487634565416303365953L,
1217274934817710988790686931759196133310813960121424945792930816571639880137640200811816832741291593995329730733550661130926993143013779590486756287263596635901948477569703489487298647703971437015818516826085210116544758276710797231379522122509304235783368993758797066032415339230721657839122070157571322521132893229805864392428932894370478479414674481163975107034645557314490794542538705323025059056601255511012596471942896530459381170880378163496259565145077449359559844759920031451158207601108217201806617151501549647500173655599806743530781388003037032280647220701742891046971232419150159201553231111712895550304548674914120599961923875568392352014151140233462368261666456828515617738384915207547547873363123517195955512175285892865967703752949272112391448785716783202452907810162438532190409995639725711766748565021702212853499636960998029054541701620634722821333276631802657820758275810657894336468364332840016513490407957966878655757321514427509754557077295773787075687849229223715667236888116392152925360298124281470416427630732261887553508555493102496847065073068576216639017775933805226436432828748904552706837844002321962611991274749433649133157618516349996087828608250427251599137205581481287224704230311858902772967222321530336758433586498459334490236056231907191667465551673234440990587549361003855294211407986052834444439932216978966653753197186435717366305436892056195629560296821081728666011982810537968729429758308809907481456011769243254072463810094853738551550460943220224683018876873976078218704196227892894326827570630055490463331565803935456499233202543673208020656251481666941498262066951718256496474787774766544777677149190747825188220373659949900688845521521651396899242401895471862009446983671127358768797657980088248863532904798363341722047127747503964283565361202404919693280414441775214798415706454216478956204670650666698885746447927922031205062397670437485305877621935252030039852841898689508823480195527687663680678783310524745471242198512438596285318655323336218676157434106104976890478114267112064914988984998039445489222143878899024520840887444538378713661479606301991737643900103489774084104088149992181152579308289054457835077696174488025152123631537018685669021689476746352857830056217385232486910713301535297615662751218570167427422619711549305664079948253979050423600923557753332555218560455336012658647645788666543525356675454653132397367323743662377275478365495929505242112423723672328174481883821700128469363181877104505495564942496575402328487057210967445077680571703635014575973958775372190698632536031773955992768888706664711205904350345350082852044728486474707561462156222846313130895503256690644862319255057840220764546713412238648654727934906950422102203545456288675432282677782279551525684780313956101885602854360084961889367002051971141687310297493137726701854856729626107463874364807797146364510057424350421946079922195671586957465530877132401398205835825813056648101174131157533869122224304732636847624955748996708497297866343644152542507370900632445974856188013351303068245491854843733628655615196961778642597029526678018821897573617317833592550978830430860199736571042365461229405393988577432148896463809108046869836137766307323302475038242222802683643171286398205005433169340193144946470300551168669093671606004742999552396271763494382850054987669573963336483545711508329045467033926239356133417909092484259739771380641382708767616375899500640393514455077853673504725386975039869625109126774843652409365680163248536298126793511427951178404141368952014492829465911065155940001881463738233681687050404611470245651834936015066096989662960867080828034988910278418516937168658620869605070739307229328513672970472745495952763160202482305905114637908468453947111895911671718373729955590374859331812170758728442242654867757312470195621646981114251972129914168201069694642599787562470478449460161511906458264040490204624002141201276556338026423896627463308903535904853006911723318008637703451110569615079440442229673164192724865516499707099618868523654759325053285725478005418130560294510161877391513141460024040961596036127226559662579388198912825872479606393322953735228616872270577463459981771779580951242824224234418190717779467366175295862029114154799488795205081423292856605461038834720771711799195035585109410474818457452952971022677910770894005437476374577548303502333587419869375254810364799470195607582560678844709069570621932496473703553755015642860824663288811944695589900195778015152681481768206448893354063772512534950903999157973897225946776919850677914761672359311669498851851363882011203003729619318045769145825188522141458508097490241752725503974501224243451146363802865764990033319806411499459762591586767777291442042755902279354639048014421702725486578980648766509106198724274552388470447957362266444761196312658261287361446921256076081704420585390355621259257103546133657837527238446196434374679528948322455106655154353772442006959593066195927863852297636283661239916029349317066771554719126996890065720779055803969954627664166265710838368874581197186974735464321634642882753931929761751684129161992825486292249929417501830483977927913375232562418295171474149237402085874859067775603136964799770118256644589816038514029379662448644923503438448531172085039858699840685998908283149195916308629166472912008646053637510995831090920318963272272478163281065432022327383409699225623575198082171573906971484594297215343517989786476200679270607633943491961284246038860931525983132077629384497840178576138052846712374013418703076080634617865516986338790148801087072194692308044345358277372543249898492350945802419693603833890062046962907385002060000461634494733356736351726915415913729674529312190801031512356447030425625350320768875690625432673058039263532039307290643643761914035303808035798737186497094978044074814485607964498156268000313825717918351208161666781840884359323877065634837291555546967741329850529544122211487692820594055572144586726139495358900242443322710063589544421947635012294639686431628008203746612172265214397413597543884385318561742832286489918717572115093937281169739210343547705457072806551664088842156138687698313584867507267042269788602527893591257116577872984956619966105751190345791338738550424241079651618119875546929483215936419722517337083013187276841990716659917862107544824843868274154982581147021216487719751928733597L,
2078072672415691333541083691199416372609404581139626859538463576799661002426137155208393772511958047518901341177316809225544678030547950806489806978987245877465354644336595634546272519862473818516445964723655556543915828151553674985042871807499200159162150680330497842262543314962879915522252757101912516186138268178978600553140395131368263695453806760110793666564848683332272714825729750413619388086193970443181402990448123621549055774194573381478956802519240328719974029800661277162314385728138724044010561958927513239883556086655736301516140073455472172522541413082246513676219229480487421907250146798184667062468162698056637148963420238003421400982685050903072308376753898204817481705249965807199868418664737871575060084192578726511729603512332420529576283670957570767979845248171281511197894220567233841006984744387905722245844075011794794498250362027517004673054264948053751212990891218975257535052836481633364981261552911834367885104070674762756056918325495611620920727783798945700099712551258011048480464989346224594376967637538789891879140679628299174555837850894315032978048807119714059053905119311893471858283212522277879927899989078715442257853632430798164088822567253116146814866993184581456111956674180043969868817218555087529705105275091130441901902010433718092820927748154442433007355930587263301464684636353316106551623670953437685710357636666330822513148891277015052524960528019785508328992588544158911240818385075588960347606114640839536984729924686854609927185456354779008520752695075119266684006049359059234180582951129723550020032504047718493527308270264169560309318322483284454280256880993563514797487179169837888569807653295537249660924419998865690531009347268746082510176202057619561076197780628707530655308005580722580088486046856390384807092116694612897485398826232030249339308702764603373410105546099292360411008351021236849874116910721009937945018517763360041297676708500730749929161137428697140195775040106506876084314729401151359863246204661867408339451700318322399084051614999569497795107539257138552847516951496397109866873659556632133443285995647589491748835183696622634089621744665847694389341682181936097754702203716794367213798053877361600273914017820010929470894716107440797923250593684860084650713383281728846527456871066144360355189353949784215536018030088198217806829625692882696653983347380360126082503070482548090233472204552219749380681914426946449399025115620156199624413527296978495460133446601149971790651151697464580347388529573540488665583287404290855813551992883682234883842291774104295072528441676143670685612590124092964185506142064028947545258609667792374399374303878695636294592043296760388144089093644091444607862259711589429814992768128608988844844214625468470640109501722539863066670161932444107993796210888208632469707093069757407797997003600488253010135163550976097589930065908195989823055072954114320507807097084210757889446191307703465451520264382582145576595778512544525078048682842759324050687401435883237773422261727201023288211287668639112302743499336308214309263046646759756208927419940442914148824255578957950853753161400040780216814704343283146083766354364342259835656662933145596094308679863918963851162337134876055702640670236174470276056014572322389710684132028823810423095998775248072976987355461135061064957160732065033160289157815010036521526239376144600254081579689867388468639618170548196863049268507120619906162149565370772819739328651489685160222412447261809612396062980665622562631757468873411286688039997279601060124005672480808778146355636912702152157113476465680268550492614940897813419199579399131024291765439674513213910972773884901311573381491908671832887708619460296492128781464484199891271540154962640611147197976408607163840531227693269648270009883426585794848366601811662592963905679723982214705404474339410223874958922235158678595313808184274705809784898130977071424264471116437148293785198138613687119317959118555166532487264670747756697648446420228562485608712226702872657318836617022645855096778995620775738221883298179005849463631927420155395049934301375608757594721666320358155034234786911610163119571180019262218262910827659263434044933458313698291593788180942337323865198693448868509247104728150270969227943731610194991797389254389674474173068072351812011537112942667540308994794975641070321529343669857029468398883443670057789931622700123802478652491683336127553203248365548077745812062324394142453410976036759965698850107967699309411210380325240516133832007761568577373495662250453480424734946372873681004661372231932840408845446314744482345430896051359263527105327358582369750514178922391021194429167574719201771011227478708226007899831972000056533019413091814916604236329326742315175686901568058927791807556239619836698326999145170603101643427472741691943895661294382229524608112442016642142849719282945389462371040720329866962403599333392984604522120789763047689514960061081581044698531060563812042065334193756517130389841904437385920236105750744663121253065038821559088976400130226695355017358479253889485130663870155127064500130803702975714322219203117666242741517187610653055568877428944970156591227207768773659896060057569798252936584393644674131124713326763042781652134653244528213106422064921054283510177126694628376519983361473687035405158223823187870531831575393134425011766928078739003078513909675929680106866767982369707028027366281764861511349599114096182542299710882473420382137503990265993879643840766902558370278384710614736824561428770809591901720533243980354681931226385424137976553463567262734446862684748720309975390355001278181056315888957251882909836178447699884536283560852066603152799929724965198965658727517395230504526660653220972159165588875003516655758644386305750749656618991625157763261558563383448215464574947308754529819260143033000584165713624323060261920594365602260537754807420816762272878486931876851875365177622545402312842680530570390513809981596000144685471324839334482583013476483627713489705385290863282924720355363391016733053369993590713456951567710909702318598093538315375807225489456079789219470891871634899666917390484131971205203624848201455314921041887687798809129981633947602375749212223240199684893987230626196773676395494275288076408787830081054627552287401552455727764938750177936006458685933839807592400944994103004588431613015244141142933681961069885828943282L,
3547032360466860585023529675141521852556285584165443554288304782137548359015770811767177937736765116330633294845367347926959019362361643427796419976488316852407038430822823561833668500236026849159314179116456043159945897723735839032761602702943410953195939184978776961177408063609803966495340203908277385531492931025968318615577068759699419736402780158696820631803257091319065068210655386907400131123902746773870421388151770487322431811487097137881779524678449127725730912065155927108756153930478452194079672110545976914931597592746766085328849506339052294819106476939356746013848596335303487818781621745012273907150350155373403056578636945640818407050093863676812628935484015855568445412453631822515915677372121949784782328845711233817368192738839862472810438444526700560838808955385642863075446799830611524750840434133007015871097374743705670582485998467564798442201127873417812969162367774054027606111600770546720646803759544754498913905627818927036896321151327903742221599101008475598069995537465037156603710229481731737012668116396105287233858022713876711902678004140206312931720576606350509076247084700963180507110884428289946935704769138114576895951789556502955334444272015618746281727501298806482375289430031607051703486702630040608770331748469198975198695332494366845088010231954951663876024205824238810408850165531250445010266402939314807106519166401937671133825534592022483516996398158173649642821764826569237625648192705198496173477572968737539145475925343555604870910702373030067074315109397216097500513628623540285591961652207514746792148118616441682239269214044523727341222033986643116125350671712608018463461971225802650795667968418308029969442719374613470779279488337664347046193140601418800300499532368011830006408814617882055675984450890087551774037255910697739467441418966299884053135638653418423318678593735466086003316810618021097568631942040815040943065298551911648271789497709786958764650462700127232426357419290789751032059579633193249704464175960154023583016172788512666252441018065574748272968545281072129678165368226896137320162072647663496815924707452608966880006562010127032247463630891016885224343154459132968922758797352409252655896763603124740888825092979161715718873038011265219516544427869060380370436834616387007497323496756268885514852245937042513768334022759993270924164773612095557537742232430543295444711292154515947004589893568950932775803277221229432187656967460033791830214863846972035428971684891119386998109459012894353149573380506927917085630870322044640937313154639795248138611224742998586903560980551626798702537443090458719286932398318204934349093830884465755369644647893048760756867763189287790645982935831778046999263917071074883050037590399196415503587837976102438461548137831436425713247906276033557177286154710687185893020467351007168546709483669053517872732486756214665255171488919692754449418761982392318905762671851047450148245464418623026787561830743478697493812501303241557102115751740698256279511067736440771237755792494288996809011021846108055995548382797334170653383093057467298249805718148356551111576872913169610455172632036539292899260000163896361532346148534438146709121944826377922682789866018042990778942198346120258151651461581826492038841254564295345938213773679648498471602242582422685477510124922572387178241649230529135834868129277707002114380877908925786529747742417870771611419770339726664084438453986859272499958893799799456104261548943241083414142041736793890226492346526752207253581584568977851100643517836286675424509467266326383936536780616915129884423571690387616878709345254803343316497486053640053633459212476888716787919932227416820862175915351990512079790810267173627796889321614034086210460077662987232199172981753597562853167690472192205233708128096084853402301391321706370505944703823457138388006811465363003471503843749056785408493397204570759100801102459506720649524819552960467394290198579822408068356239884396449956318828674057435553406599370780847320780042849426396152470420340417796915770524704233528231974856108209123968276761355217611244922067267242918551416499293340088852915501182752704026750642209378177593199184222249274480013305825849281133075757841608859374020941170556434343669576801688716451195153439613502751516592026013158975396099869881242885200887019729647597464450194208830854010501595938229820149953592406231934991294035958944091223266859800586047542221633851971300483050770042805867233163653386122856019017673048753355933326747074642053022518394205769044197936479529112234277511953418710679663213906453059841902899359734099627811952219821462409401512381884197645060781510564416739150519730217396924779036525262777468714267720809161955611587192715947890793979712384520574114129788070063390964729448612103929509857004104780494206499526992776587201909047679516326649553210814267231780748322329507810303195557061667947988723401327223625199446278312683088033159971681147962317944761770005162966995508892849037735867221268864111116447214564965416599150801330661516225175798863830769806871619821236050248123835371312692058475095148589279072668442664243298560820126719359334733914897324355864275043481449331878368298896019386453011719736750151868288823224677312241627157955507941526501265216167576638253044482194490259475172321704756144669726107879415141307836605843834840118381688905745403679083141248088896242848065780468440305238326022660788163816087586533413633515757214882087492568346397882847993851898507661251237615887537990237917393490790989566440176174784151909336979936974093588740663112728898072407694615098184422858697569493835577623582756481705619931515511364672068386354684074539353740738412763139552017801524852908259923307644955772246931232108543251059505343797240632144104601865969848616780502550475833540407008832886030158462430969839988791541109909848752259848781551997796195248308519613500936821823080429504631731323738402393817569957149321959326206980774190164382221216418893052443228710234329453665014459811152977568352606662010009349137449799621301347042050823659456104599763857501463503595786398070253488972901783806673075891468861213725010870469675464153699582742802759374414218683550551231262904028942006702589561436692763032694719860172215477792627272842870702076660676344137575109072795185853878264001039930827642034362108728342547431708036686264152162843198414052767631565178228432L,
6053436339171654085413111281756412144276679685654137467996265575064892970365849718507096916966561009774307834284701546981396969092248357516371919186341139342087376720364657481982139295746010174392254888262126536685176593005908494605792511574961819394362316327817243557252327424451969694420002033167331733635468378733980910854727060664818096102147510921190778215418809078544198606513662917921782291632259541337632842068656953039770905066056519398985908065749224793664112549067592120330667819083918233780283663314890284657784837285517064574305029794578639231899139514005465426420410836160215820379351070892528614509650197269400120753287262012634048590647051217431491702523004997158869719069699282610874155001982525961442334018691278035556406463560791869882937516674891305884395830870317523234541196502951348657118854163341420991754091974135082807542475307985026045767437177748316853652933900761486863071889795144623360642858457706948949299179862724991733016504940593344629978684209074899284987498718348587598420989082534851336515878551303841778964848511409993945202499909949060175618044131348474952484606153850876723283322920963879827867013894596885861537440676414384134510287008242701423548525867869931843993597925698355636255824189667744645941929320210565655290721727726023658070246759685887476633531655966646581134823609073374038935697082835413377460959888475247358274508133812167921350693336639857891784460018509694812837227428785489652693287307904643335934532608877879329719309459570523653092119601312473274778138458172205851599753869649852857808770035654922309787540241989677006258015809434845720506284284942146156883330443166473459864892532925726710433482558205652987764694591126763364012300789357153356309033254289748243815659451158051354945446838493626466483509380583064744831735579273967902359565226203793944223467755582618626705748907738685421854929176955717116825399506014201810316750969613861581403816817573951308192512958948581110152754084312538213273205776174659842651106160595687571417800238277583016819443166607360095235163708006095698969473012146807674774393798930262691158783341948858687592348922494988817620676550488226370696618541877523730081739965628315426308040850095622898884422861173610258455128503859500826030719447134252328439049337338563096784813620441804768360149885935781674322106685968964805469569814672069098067897705209534749331095347298745423986882071990447077309223965398550595945979922343904890406918981999654509332047511576148879754835441531981662091832515083133513232266146944338712993377339420088434380498280257828007423682678755335691590631217956295342035044708878702748888056936920770941643803538985534951483540872110673382485196113916183586387654015506920850294487056060867532109143550366699265528810310454356043091132477599943768537029994336444875663172264936251553486780891413786222647547703427778012436164882422284988494582083344715371164958902458613641293043181459782568731376825512394256424007156986194444417818579023118288329642588545237041940070515277370118397147112296623950651004791619353363836650870536332250781630330011812955013966169232751171495839874923518607272828080118141792352155063568606142473004675127909929783268000480826543781959411693492383791184232772512076306411850848173828768141081415390044492536092315098867929875843592981278214316838929588016206269209221041768175555142959486364985973049753781518059116831234841882741324474197909223386693983499203990349979295800855852635865518934653503140967093317815773486061155774685955464536532072941794103536013321508544746989205558253072273590951850302275126468487646902670134327449526022543572413242174238850525416998616366183866832251042861095051423277338831664159659830756689924474349897360036157282804257768757884053222317894934253798638806071850982799628405456605353890317793081713816397071140970441865230997959760585414021437155392883531140156751437970881122844899344429519939696305519101181682765244504653740302609040383175353658144268712370119501976727662953341167449482042400061840600568849240728235412425720054949296871277520926510764916532582220587834355967749413242047008087299661937178543659199807551527811167723344350014267381828446491391486707199737519230885063108660249254875909310648661944554763222736018544628843720046776140767661506213743146657859036105059247521291177062792616680429830653880098330881546212292704183872406144333868421079748441953251365366328618506309393149907625657843785432303410732635209450252044771381652632133386334151121963724278252208300536906672713675012655006369107128056610709408810448786413973298273113912605401785314678069713767586039900052070221048177330150724984491049314306064140193735454547128449869295329080465295325712533390757379993020569969330102403682256457748956926766362688259697030652365596187300693598739878028349607956186526505894204637874536085796744521199076339685696540367345375184632601163497106034768569794318337009045223179042164901831867867714374279404363552773228117858427198604950032018060005899753370295689770310656721981292953838513979266787759323907191054395727896104874481457083962887632485856609776033400716188949689946260921838774797195787149372553073944598396742152410280891892498994081729505098281976612396209720347864552767599475118132602207142084578844781823506953775564659314914695559885530534921742753086737964006550417974792792227065403199616965845710862634849323339218008822236031574116249158833919673964383278997321649872622685574568485352203799208861859123625482819048862496249283754498334204358189008183575473335267384663015558709526234061814273865798166503567014091641258426931037211018815170454721526192482896416030703217974084149711130778063344055472366290896321587811478525535888454786094789220785238927021020873622387801985249360889266328550056566304283910525786691256525313731289183699195636509649030713890752141865708124306149904164155483308668414256855804807708240324138877523094509775004191039566012985026332126034487103358223159833726860686605469662483512629585777019760384148575015990422558457957976264591687016736635468779339146261653353177329899982873600507995956964881765307053585323600266483068783502301572157772993020623278426723732329948178391497957926892466508592244387056327486704786452395923367137475360586998553648165150163599070822677132349802555242573844812255826707626027920116245962245958775847L,
10329308762671389038406191826921704128815641728392072980759430284202291950148839404115623605067821691862624421576758141393375305755223945191450542865825721787420768913774008650624578804898221280134279257889608347968080106747790159570031769986365283943766509274549953068602542796614000239749837147321140937466059350206988465037117682507582308574564150165326674302718806467617588020778329747550674311821052533366000055189067390413198572616668156310498212464518179448026952696872549691043966676616625288904123927025896247516873737344780653260822083488825310677465918309681895581664622235258757231995522424774311933230341682026196042164394468693375957026523710308274001766372145304584452982421850089555092891746616786379664959331090306180868709069609106491605738380156367769277489004716570773493473717300116853363024138584302785447739513307540515067124483089961098043427957023620022367201085338551775330258706094344698470976243469082453200733843721665522883647154799547783191625725516287740825049663579333155725483497458066856371169572637332750007893327013136960350613030295954381541197120088434208061245741854291607243992482458942181794903466058952522059558051550848513097568044936620883138889527330978541231013701140706097730289138430813304130360302404400739390105108857885115572615120559589283605196534189575606135522015541868564221006155715095022811128529827752035414942588413175642186516801239517148277540739055730484531092009567664016400506557906169578894541247589806634304142909422266352719367552997873073005575920176560504040195780233875426779001240486161737265981216271522944094220573388839002005948609486514199126843269087002771865167535521995215213938969519285783781343164772196302344843892324668228194117754762953709794214899543497356783215288813428605811311348637007532717635597595751084133127814462688020031275177261735247460360106673356182387365868069335171149046841400410034477872721233568096510698556617685342977463135432921332214496117655245261675670107318166849641765882237291194104839927761334349078818204866896298910375431873075871490651063108009683492475892024983846564409011791203068420468003893871894564710497472076310109914364341700638476761245691350601707957431274670456043985755152219027622009182134824177272635695013199961378341255447081228682604524149640837176825610734464455115283429112048371081667957710320387480105533516165313022783777560090002623061159102174433567685444967834150516929558341829677079178372100390436205176052201756470815752901424913118877503240148056516053854377833543306643608793018492272021485760148482528253936568334660288441699766681739264797484473637784516804463068406441217705440566301335661185347598861171372714599082775798547754181039062169163221611810573514149281991858427781449793825286812818515152981004715352130892664757141893864431273455952249276577067252388168418559615355985417148659402449501601716963086916818469937978290313013039931472707564301630325196146600794769181658384035586627231499938730962275967950264662608298670308591000416116206872145519787226420573340201622761770450491174323746982863919344149476516372874144343149611411630872101796719757605649290295150272570703536339714773334949839350251853080967310554064236821340837240331738652329478857088648549717926161148017337030785602898852188623450911361830556772493068478952107953049052596960580490816926956210881103512877884065862323220294786835590116863673884128818926029384863279388277798574466563388377829204122754444753291283883992188081659037726799985567375280764447062274241974113102815969134999838383462508904020417826506130019306156765207758718473936928651726191607423563396163972533248158117912720457144474998031358556041140467544406679880855516328002793880247670940680385144749940264257521507482902776104697690657635079929343141046598158326298951044553008855758119416922791158423418271015027379958559959646995199264771976321381597320191055293803752706096236694651601052039044203723774796915584556895352475355700430861523919053379198967587091231577718693611143742682393550344656546356509787147720266955996560432167900613263551846710009441915364579167588927958922680509438460662009368392573303463733125125434487037886152353033386004849483037578954715864160022224260113790047399393685303126881784883743675518046462532379380290911105194457573361772364867550200161620348310447342180953260114879892038205458535562912947131600898294909617234348267637067543714006169780595996533856877167404546768991747005936557419189340170420923282638752131597347576180358203551002548509431183603124278263428413226106111810282789816364484920172457168637123354819966370784742112242604231376276446965726621280497440226235224150831689891722105402784909057341179101154169956025082652978007987126661496816657101582947198874617976299149631813609864361586990471270940401953705871069746717695256496470996246118085834323492761945007798932224593160372949172645206996723450895651958715864613695551108593326575725868363546803642236313524497177704875341706667336071418718906775244135650290372297535657466169141957741786395552405878892506665538623073559367982432105680979878151721393091064234613159472466595719669637237555582462289340604558275210916248750578213662936795381072230544673405579112629350925537273959265811930383958977314799974765568173515207324731680448617182747962559748603676553790054822606789431148291686547726295690025672775575628477149903111585637578678379610655327075609532488449881564711088479986245428738265677150472683101187801898278146481161810775287065484030224034223861063833116498937060463589326391063610238344901822243228257820171340226260626876819749196148594105797020703673011210685187752072999860011585945672923018274726702686193208827131434271599542463079252787562303602789527073285071454204043234607450203497415662616427181379323276532400551666429160520576686933235146593594171857944350006468244990559897499877217909763655295674812558730133127674928102071471254748783422063079550086112688181352973298116227431023741905771852090444514777923650624468866375332029291275345200415925162086127855538912423217843264915843820601454985557332021030618529829195609022869042566602553617073314538058750239341582601700446617168068754199106405721501708796736024390720454400572647881805134915766732154982240702649029138533530862861089618334508273400104752042359946791898550797102530688050631812154428102468L,
17622723705894306340714898657120009792848926739105601578007620485618426980099240395453932439680893474471665151012447439453628651564848185283505010190488446857609286446699100025504052853224806416389078996035512637783997629303120661827556729612673306530174983614051950635702176988964731254805883515267128038924046549814184028439573126571300506578004229393656434828279452626173730224068286266869993069122203642334524327892949109954417255245581667311781315968302901136644570755682298396502786410905307164065297109619788556065106031887658790065470080578893654995267493582658213516089713986930718779250945001905113071717989020938019575839282207545701108863830153702237246083019001455292550665584824192196064948096096723580780643282020076194746809019868060628034459027650291119331146590864674790936059185939361077921552787173936900638737787649756803951286076131590033407999266149616486684970930472687201766269335732541306769271855003795928570978517914881632349418859283005036918320921474606618983334168994949760721554889226574348392740323247022354625822957222130155415266445176645364319461486006936371438748227805962998422820407988129122720479872872254110116575967379751095579179329041520129989005381840446022876465460757489683803321772636021998379307874523410219355173704623429475478261686817315669173735652049445409753641550913095365113073351325051160204914476314743419336630774873165044448757043836518785732134658953579797922622765182914460324329759668662172646378534930628629793859810930578330984186264020845563581477010687354341213525944102289043872367027691002390623978919545818220135320701584941296375323345592577658943355817592806182642597301901056374094281187332663918328210440909829731325915471881029758475220647620079930785662063966511614336681171747289242096929335045405967307066274709903976562100335792611772490858237712054921265478202143200003271426207157392366131821028572824727174325241352478410459073999824744005619184700362909946125636682293056026142475229686056773375145076875220241615068144314462177430091062905721837775652360043466708983793060628903624025833156879006129946457002621790091719718903274459759826785044405342342762725617270065408127675742407834351716034738748576105336755487304751172827636207656516937571869674509412546649684031185821201408179733977982033694238757672730842736634503654596652636431077176919242926561563053140110425122517227291861554794962458406890541976945068843957440331290781072455072410939734942290079400341691262930103796194010460371869566939428554967913316748621941242841920038846179163296026415465271137586421885159982048508571930244634872924211321263613330391526683469607423617741285417690810798096335473003313058826577620186805124653103171318433520668715936802505104305743902916475735541430158912033551291262246273483608319572326744616371437092633629552836330231301966829893967487993327917843937215797463451628650279257416108367135014717514050147961041026740619141749913444804626697626567916746124458703149969505031035312999468299572638263406628674160861758847084513783548718373862356368698412673976426898240802658878831878115868374955808216803324083372868613483493298910053481958486503891870974093338309794390323512051614747516587890914009336760648421359523129121947509284921848430573340096319522906838171307598092208316555190152275699370514016195751655324138017387988756261879247049127301275926266289647070638533206637090014495735350592896410719838898625194805583001474894335550549300805992817111884746092003829751886561613575837712238451433271640697781983176279739068125928915134828415726090662439547806082438200440030617000637090455940509268460495250157614228015510078917089660261712819492989171214830563392332266596351055864149790924124985043111659084418677170953235574325878775484211440800810835827755786906936569352628184130682112250001797915971752185832109954616032779680327613802403794335373216097752080881014785110909557008810749277466249395123191993173222031814004927730962433341048632718832730108488716640867392495040692665730965957457319299125770017442864098451560761567611507807537876015926036495606299131382606187188292337683593355432767773003100683253278137323542274448653906389898051432638312125156807676079742602463293416821192896157509505276178782788977077356816400850508260684588366679123949380366677873288143113731185591605422473761444678324709464198699474476762282571210421050864349521566636161487297267827482446821617194071923848179362827738118710033767719267807841256005857705133134016150983312013936670238343332166039513529650072109281323104574276851163895353782429387229110555860127023226126439968102158463068961962903069170016137992152345716095986194593380477009089268642384592538082049957450123260122746616081764461203962943011779817938746086282489480292001229845747232809725899920451042777421391545805648459055746044231051272615793680291621571482818039386543722115529391738573071480553648076882318403006381542089371185266975673854273513695969338686189410313271885138118279002422763842761094496116225934357978199655106921618338529514624743121788476573397659243533432988321881461666470439819715503961845551602421829938628986925892877534454073486467195617600902327609565152270648682987055779895810149597419527689356576805892975861741405512924486419646503402709002867733655890114417124175333273763023693067747173206496872399958781231348313388580804899038381269287195622963119307500971902923531749792619687083339667868664674319951473312065403698382808758888804305037054516118414597573258328937981550368498423478140568569219648038560317220656201581987048280166907816300486927258078063703435457046503721070223460043602670501837398804449538748900731156875382139481551748885954532129819341261702314934577804185983402152845799771630201597279305220121741857340825952759296560579054892957066453649851722570729828875070913970791111223470711184405995498323095160147263022974679075975820188337389748196335762794316709172046856289376169853630947716757951076770518911989504314012240736705211153801389626758255145493178441627528799524358686007432166236468450240774947386702473171452208821289962597464045064440673560717963006429507208797253979816141872808796252256699500017577215263779909498002005181783986309020031895210722814883504290194062682557355810611446230828036634260841385460554051019475140184513824139345821730204269859594317421544429419104421L,
30061271051336726863099292208573431619563573379916966960077374454644076265635779290892049837506413422484579007427112303561647993056237665448651105759110384972920259059904450936321723654616347838821016356380930035470275480785091125252591985696056605210340636610551479572434764337175068998772242191712056473950954132764675800839820302480009077631936383456380107448898291883991404479715317099512640868654810278895523173248359262219846194412678725110648724551043986411332238178322157154796405889382021902897697233466799575961706274020669750785866805575787090212969433382961162221168313357897445656854891495112439044833817115189355479411304180532453179238931349087641178420421230356667321669547415850773748579858337286037723930021116895781917926417590401231996013181194773569470534658905905669801340797544000074738862039196229797609327322370689463818738902634578968394507177019379382593664548463831243202886948813884539742119794712735446511164449072844950756981310733832545564554777877188639980746836452798761608687514154157567001410966451521928823200422591265659000686932387073363024459212798278043356968117183065719689039616465481505322213540476015810767877409931785711631752779149423212217955660901026232440534019314196218169470225406538027483304827402207933182896013744968872528188508135911808234606601206804210356194764655894851933441750496005549605840324747944810569260423445723727713241185136860077816744282688583916456746437386843209776384230997200869651521734152349695439347036528858927153317985985726595216177831139462768851586916800606399909064603453410436553575132756977632651105679039457877201577490421383111720998894064598256025378939126373898140363225197899779776224078733689106348431379053460025343238368608172683479189072685893596745566371560199109827556139561360112343695952315016716362536590579642643483308336227681418716817413819445642036663279346082993038367378215088364520084846960110229796115736463964824773115732143846762253958593310760204400057957063075483928510921930604960351795094846018318791459311293358083160188008990193558461008340247968957492199840542355920973261441483892501222238951857104832117831088746994791773462163305657180376162881877620695493031112947143779187103256394367764906130605727963848304806033273008193303004353196520282920259828463093114131716429157840027471539485532772961187775332014922856776392556831897383937518704596281617991289423665307596270230567013049301857171191758864048068142984141302077755978537929492954728422860243023861616903598197516085041367133203635458360886162556917894316891097839544941602670705764421650063923426442313552640984658867832646462463972698193018428570666799385132474753292321058456757480469602477476324031461610808554293219480835327691976395775696059157144672008881999915094341864529429735268059089216757731806792740632452461567035486265067274388285473601621649315308649020003225873104250542205088552431430102692071267895296123350130599959972688267006422537536400652033900052525899903867627090049620127283841183006750170526094545676125647908492842160479692730319922329084378103672673810339908293055161947771676408252466664600330441505275636055050088264801230967864828091080819721390766856584940491607350981295396798117692616698278535377171460201013128946345584833408907680398165901040466147501834605342741132108216475650373609667945594604347876864011528258382009095503569464024362387484849853874936333809569147747910919036350699003766372444043594030525208855752302341628338238657739996079628037906563068975305978168842690365735143567810573165150308478596378337041014634829054439367168516310152601430372325693093513916815592372623381008750033801290403088753979229752207024932797458371080435590576719561195727504956535525535217370172292295767208179808464201406256976860418493421341082641350162517640107128248802644796346521311131365842456719253282987852212314470801287967135987514671937598146865813814970439237487735243851082236052075581000770044192073332531357110092752413499155223971020579303859345308683942899105705157010449062749066129674340480264642724023476077009508449278088219355357462559277368194041013176719063536991153572321347751538368692524616491028741789874480624350932236089846639593147446038865636198902201056038949601939029534948062989663462615750741141347038124755047723157553095593392432227756100591581200318218389989894420329472373790320425419582747048302782093271260576730600009956075073649861797132162220933517183713855454910272198389410605268505111027779763643079049890148550238819179356873115735145723052317910637643384916247475402249569434916474914529914763035954087802915834238201803978015872589680947680246043430635249626593013503655183943882971273843276223358949921402392110091852337299010318951501187520828144552888234003392449608935785674472236464304890561410355056314903378557510390695230741360384133663337869601575516136791719798494816027566662547551034391030053088017680289306790387334424905176102158105626439021638678084750961686992908890772598892104677607998318498643668445928512247231351860601286243703821700748116550171934171340332757756601521946688742426912983237925188059575996732705688679062698023377325933199859096984769753426122800721454650126435684948815481351026528691409470266442963840281520908784737852786994548240696625664694395103259224112973278248109226280439558127544163687493706909777761436935556866271383161506848069696545646179090032590596758722846143033536230430017757834908785343656930335739559408563400379271517836202934858761385706683139636068654507734215601349800449973601307053724999935421118433725807721240020212522339275725101911697891356166675058469464723903559881373577661903406940779187309650035154939652222482088242869327764021039184398660874501926646341942783684969358259366710042042493042231735329013719548786782601867193841507174426806733147555709538193269905831097887058777567024677018013329028029433867518083643166684667171389172370956668761398476897706011610811245788643968944623591840869315552927916848159673057256501605009483478632100193555069264256692970210815154624679465350778150808017191435299985496311958650369172358280205787821510231689474066845418296888676509960999357404789629962469775091540962795374272010113834294200050002553679578435955827316655880672398413737782441397629210567738962620868813964008447936658228940955900414964229476058956719237029571599L,
51271287421659869450555205435131279045818212259599863044772497884473783101451366531622728109211712902723093048051558541113402678678482913977694687219647346178886251838475306365363871539022454828478772111172986162764216604931540278428290898182288297544136900655704195002961229380878593898533832541475457952294801646063577855290606581983302281844613114459608925406313942995821632744853412053736511313075008885064755972982170805503404998361907891736339598959115403012445656369467527254946460480072904145815669295110183663147764291988062258662501156145917946414011903572612730661358432981957371182919949683044093731377627033706830060296903424010120485238706955729637547849900436394095033267549764364554927166280808011157380195025328146959996206974128450842635174274012396699075443819760967419449560511055497085973458720964623550060785236678613131272465012512221264719714659371147247410697582837664011360018133446312547247078677294212339610762812711023364543920681206209132477809425682657300312109290506130841614031014762960110696607340552878134350444080710996527596579328900776440921177667762325957000377201373510958235671574606781764165683135959821636693927218277908094274408694176685938312898958415605203328610461998965006408414602846153778480069988704561573251938847107355318531035524224165866837484257076987062685831226068013822579934825992161176863830369809467748971297418026929312347381667941380199749404223747370014336476476299404920821038504446915579246552220826861980553389263437625945697189753771748139446259644166760543402867251207545228530698456717003937237185163755888413345638550212935065679047696845184266581456126027670922582436951962051366598720756838487015238533768194734652358668497913610489754807364872534879375137156174133902724722768186730503309953474979619252308312033344539754950466275706619447004115431415253244319508809860069304469452580225975923873521767243758904497426389341133595027719661392612650100616643774715261246759444021808772154894734033138117764840175174049893416331346274857676292169367719440327647514709081879892717742239413836553253674599412434422184903388805185251122211390074697351578866862971932734552053532103534625333977840425008262790446289954062133881643252291760911362287300582678945675106829926350392984765918570559268344136256305809700877557436089521080108212558543766021709959387453092062365946395443953701690099200159005432533482829802864536528404482937369279764059411699873166799659277114637561770553534689391733628245799944646626011199099430131949231552781925256104856690448315769920130339538972921377606153957287434785368877070289861010260146789742682563274210407140385786679022741071781484009200357587023341399669762921493753880989852311187354955610502482704607780529751138237503644775632302943726432918564524458987122028036753514566158185711260935350253634566671547375868483666295929761377077209590919096948775838033280374046994658646394155491578557581910561950881166493314347355485514382763001745454012418523608642240760652642107057433570638427137376272353033232136265743296683045868560295584142757944353868123910285476903054887882920174296655904416207859464398870486643210815747494684688635661758063487238246231259354422066669248413283581357969109788917732662059270479474709533024351581202297905204499700470228482507393189882201844684315096394608243918657156079189246408156839048565597999347757653262716177902599267900612226322376811372800948006138089282511181908667541370961755091994679584289171530032647677452253237460756067137772871866728494564639788046053288917997945969654595550026383146372931385593229710005608521698878173785419856548141221863210040778787259499062271682210875803177330591685128159931767371604873708570961887205729756108468060124061789504696566120817531287213884614694415686795438964900826041853770364026089636946991182502875316708591790997754626331240696287717520469783609945612424251039814360245632191313285614061662956303916910748611573309035731468511879276124584254382624413031965980336401104639757305974281668680409554467054619209473660288853323895837159755925207290307680337696573671863967291395033279702782261291266353574930064675767318017279257102920261731220612462630962499215747848844502120629612519752560575603815401213043632502110364069437003023221281878221484042868636786202440637776866270916467542219272566800474894417770615092974246074277552567695977268421505586362302848670789465292621716234254866295521079216641817289944968879109209031614814890575715259732348330825873520314444329282654465998435688655088110595833571862164162221025917255044596314122023676892968307712555330854143045220528100107146180393164240343776619871497028758490276557776563415798231186476303586785484955907328458024793756310337655434902953587723703897372396905821745833547125528450200334533611741200296005395541302690199672144001607845969723882892302950690502782867202906792720717332053518943448066146720692844419615830264008638032233016009203208553825176790488204406286241702756726636149668574883291899202441607891364240687935592235418050264489683110459446508013303855701723827634318240802041975442322857301698989126346774833610761220719145779257150812021130940647809545676933225208357869716407556635867178747691248328430715622610831626774025383030905855459550308087720480179529541696356758268636013798938577369018858634822449874003725088641825110973878623846370034803605582244360148219207365271466573072575937485793151726316782834387310592847343740089129937631095471515839608032370834001136607025264463001858637310114205186852500650728230858507695927549263328868740241226425203896322938043547034938886957044910713736377761528389409772539451158256845782781418977250863491037226068457078136317114493076832100692648929341562824338083590018227701103626958516599245723585713082537998921235467485009031187912374395207562967434460890485725409962647934705937701748571982681369098334641388821938496427104807183317669431963697008847147195637255329530372058841921477360607458378604856100917495056249285505798401388449477888053554190956430737861814631110267425854067109314761649809274007263464606392339211739057485251135048305320184898335151429559663575302758370375238865795348336038467066183578055151152437890141682433223388332636174883132459098590669683770461618660222612330179885440909075639655083171628634699978010699985366841907077523022851900694902812L,
87432666479690203114043061118618695422639431463903448276863806105840897034549304132011203413210470578409981950528524725270820806257144036320012130630710397077494703780329007052181460950742279931620158010380183479613198102154434340872654147098475488732151005363795854222233936459950052902878940994414215248241865802781132623423589055808921759873482998453132570695184684066104977363689184655583042028297923974754230884336070126989425007195885492405959497373071237165312581069407321139705671626027038569969818958013360170094784631275945801070766393541815742971666409107601997003146790724870291585821096641155454055827167527018321238298432724480580006900327623905092428480320302147646702328266398571732692378028255121283194695282533753857535081161128818937335524699988559342754602224961340996181499977150287339975683035360590173294975420207866896485159229422941282846699005073020623877949247325059192666376119536165608773348794558131562659857342935609977872988095232471067372467492549533883042098998662941443645829631427744472527898782430330560919100887254339672593548889928980131878457863324980668776805629094357226034512211777703888431518194358350770393009220077360866556668942438910134528423276415351839526507996423901943014414729820309432376583761572156995431691043123791912776358586450724113696246306912246892663588349901530074074552074033797401864649923801264241207590894588396551051616758255779420036497284371136455288590894806855166620774270295667447838807070205765972284562355567716194279084462131428275404110854615804021349273623459882083323401108661955913284640500105717068166548129254618063394601997621536162485342288529839731233066250265920218681455468257855020150170159330998307229058998155191919481422248552055749295283124685167871597907352687007579936812345274417061044237896538642458576314934807844280584732322888836498302054312680552505144492497153893477573230568206294485797690383206809764079061846895790619179716133476736477794805946141095372165430860684059098319417853817736797639702125696621464533058965631238761258814072002656891962139503638831237973077723362580614343002472785744271529332129315625326855137967034077814250988681074517201256159977959052894650764953637999253323500959610411194665796474358276989018722922384371254494372136317204548639988519663928254694735736880078106023739711331488779623406258957272855674788570089623354897514460200389640345090379496130689293422893832204734662134275762785710816557646377113700929294302033592765653531770639718915840670450521235923706781565605048918209712823212302161688862559686489869519744765727929150355056739885622258838915589460999232950943243592142766299642512829653131522857945897023890662101972488999390262784070380602232918198717753437070948201110955780986135971394826721846355380523907769516603205714510251291769334287680452462315237761285922007877987387840436528068060052468825703097263413387476958845307170122582575340494023549069564236076407528659689512178758009542250349163872728959395744241716630825956177480666702023198733068201112102463922125763398497010697450520987125960179331593734156841269509016214567631846032826047976055477926754120114195241846658139229624538577867212358984608974151382664037800081382768926850668277371334984246699209024721788856878276569251631826700103651960227288001598649472257387490464847655372802661977583418837517532145995971756808930849913135759350931981072617727133173283499263902755768897519445507084243855604961433121240508586062434933257671553190856789696927691483067448945860699019824633804074219503107331116221275504628058794412384609730950589101901887635668403958435675659219948093143010038075680330951407678245538016528253733944060327367378011303655969518718380785586427964951421031573263762757683184533917300895866571303786476733618982918947447720898617832276936113612570066762826149487627170243920468406296218600714912393733020855906177442513051367772334791513788583589991535392060338036671506997797184345464845380231160490794142586658266853352364270904565012675720261604780628975548005344865405066068201421027198318881165564842150549840047354072893393417511728775037717899690776791461253570189692969010523078540344801991962636393670893341569033470306953484483891073741928925011811927028676223770445001160479741752270627094128576472991992665618524567070412846349272693688418667060661847172061768943611589962297045284523766431501298052759102426357354438834479161970093442473314095589477527831412913780055179426020655218171991044212874442120323909241548837753622913020230132324754823035694189695927819055824514159446026262051502113228744770106744711443928785337348196674474059313498213861390079898838052954850381083855000779830523162280365816703420025064775554887283610008353171948610239905214506541866221008220745266261560636781088516896843164389021633370027424546622674004585846176053415823249376497041382274216803011515171289000437054159026427983307356083878837276500134380554636107411276083831427076122852020022106906901231542079531953986903911775418165202714382125825528583379926044178838966098005032089645553501510868574880536979178339447571700225073472665905952044312230488947434903065715674638941584122296296204284453222591038739607907836464994336498363239327495977026275533212656118692077079637661728349015055189219547735251994743966997257905743479913700656653454173988675758106668366102451259846107255625021519049842237667302715813000552032312970287340807336581414872332652481805567619577262062394826664773286135711532889195097445630815482894464987402751538585481212592023512675619521443422071162425637866088965121827676003668261647724566336263887931518648837372735028545997590962342362515223327636309264622184173779427216208299302947459147360176778297523180043625529359602487581928967844574478281127970782658801011045695078709504719616750408763767079714711005707464064677300094840711196552319481487433007876863329952121727118220009359967374907758395589040776257654828417240955205130670815077381669304632567918276904151249072723278019107808819787270343418872578907212297991553816260808877062150960730609892056959481335178160944502305294835682926283638849214719222992918687080766474133170636520011027376793272787855686460665870420398288690787510996153066390284737203512802796257302658526023146885502797321931137766116174748165840965188511931171005295462092151815466661904608140387585L,
149075365687862089840608182247959891862853370246099828511457897106339936501702502771986832425160875125405241083496018080003339486585833005160933457011730892245391015711061166888664562820048695312413509881326053193880232707116695713526012201733568715717408244620586884596422433772761519079795999741509852298242065559753809710242073790359046118206520975135173933292550065667903176508167107712838439805057046181490348089218941609382443058011193423627329049954037522264447690762055238913116457342031054891799287402847372036683507588371356561680829998894894027325586626290545498196178139345892556922504534122130087180777797231239443539885084590325303022714948462113620234418579163484535623800270548585109523640749340140211517102902260256595530359306731863401952041589429214119742844760229800472254269520894749767609220643939691545610210242131872105112897262784842567343911049609980809332911423917801556982487263539644960750671148900294006541683090533329319927934105745991546575557489005871447754212585911036787341799107528355846303473314329461936902450182667141144404859571366968311833604016958014020480370618017223576825867628216624031886962746225889362980326591607469832467367867318102795134978314614780578412867154637247178815125606397619766000881690941468440279326907344681141391669788658371931017416249217003182023192824106658655462564190702672060834373271424661213602585513586346019157914862027713896824921010412973809791843424724000551231507564058888380335548415449820400345931908987100974426473847874578307703807161327154321003240335429879899830846160206379189226516754698447172817184071416462178063462809374917614931284618210032697850498392758290716771549457259129776145029819602263367079279191238831074192368224225992937488362197042379808253973527703885821033607968004192249006743366271191853299737039643299030592004406426068805240760314376130399144545310821115411675468693925625851957729665644465212459167418696538768726644151828979141625106175009566120532643274555817626049664509249264120241501744077897777338117208843530773971693489775052148012350865240573944691844428597485327383913836193958940918602734309829743818090016158430846139467991783241835005688271266637542572007552629328933582617459787670099179737854589323417002316751700401794573729786831498610069571520774349981256430961711613466322644682858814134064372159175726240795720274104683791130415387331063054282818682339129336762382318721316014731476897223611070067891294410648147229289351463215901751836270160828476402685437500278882238137114576173596568980877608633945486830569032130176827610309414283199859953027076960833257455686561551312785547726085826143042281664881705161651837512876134744487751467702774075760015710310667104248030234025963271138614439291866224600500559712908257015596217121228181951745307503144938617089844342793369501323869355709652193553391847354933074557390912193689478864294757757625825864500549852043776613227754449974310081841245019461046889354294026393592433258839601787189981036986157177886884867217578712485832654878814277608941717227911463937474914154493375704233129183283618095849963710762350506557172228655675581853408120669553524888220530269576778950968449293127560703863271972206516268414872924870558836377027454406069861437625534265578393995941020043156924960085634621909540269329881755354640286134647346783119216804095190832683825265480402608670948716787498748223544407039056621860276393073062676736932241793106830667445367946553318999143633631924857398124738856642864311462660592155662593416833647511441119417106990265275094431543021242144018484283011033141748236842593114696886800404411220748910397570832628727863494444832192984121903196066678053294767345197627042731746104911426714615993634597173785547648965220066252072199080248539745657634131653495965192785451716834159274866776703808752819040109174863731312881147714887825500041125638301851464940575024601947782876341070722045694362093144581378578203797713019659078184507063831536137368825402693334753561374311417632472509401558777171587075772305500063534039617497786366504918386284092867100339463088561656909376310727186507624971064463629133935792503999955822927760419627569188158958751281891034944911625739042950483372176636825189341693934463077157474875384061020386349671163433030212569974208234536871166453835395024940449524059451859742152137774319074586976952323654244673474286283185370623652594382266233021445710421027692538144143583335161728139961163948008283025815853465609684887139396160714510269765692392139463573106057060229261903299761825401878808229618592207516452502975416405365410023684435491619888573388143051566072201405216566191954234831753388647608380780331979419018386798879813814524363998545413621990345483927240156503139826270030196048825049020624899118384991055581633611297256035206921619998103481850014538171935573533467036890354001125722307065522851922720415847031269575007730387039411990419080571242095697272916143220061926916102871235489797199313298318144121371070451067258806143982914675622728329402011921027304649389513543907084989560469992626993494352720913821895645048174683630433016156387958255768437281211368604793686777518092032351973871372953067819619781495723360792146812878916729436956700546858417666511000670387625180945483740034873000729271387634726664158943721463698416568848252715078802160027041163853172431766085163923060829270332566597713305528383160941609051936566738312213340952506978154076975457934282616180066225730704540547339445638234062386772398752836870278310734681212587796884312264457962638130072342736835095362502590606455780372813135495617383787565249335570031850307565263616954658856881650512238980855708352072168326851978765496282778322142451312465866560582074857491951819509683111752845562064059613574139225876969142787502383283282414580966241174579174203739343114127759915732381869962225366361863205242873276909446489533150318168632424002660886722956797915973039395358900926862755425992543372768128226734150151898516840059705552662869615374225466763456949112774745450040107552485242265689047203130140237548570571048616465668552379216835591176200552234346502998748195571080724099163396060407813555614117197171376119155413744212750487852392544671600698642358380708591244689012994978786989348096936874209141841443777628672013948083463280918938712271257126800588812726921784789638087045406428913516L,
254138664735370026462455808817680328667695667566690951050214024341469499976456797135088856839753103840365910306759171485896654061223503873611025359837044248260654273962378048633650337339099939103572096376752058323603598579560401825989732363301439542360151189635710078161249843820823375287359210525453519265764699344580795054136549482375333039727169784587592368752535447788468809680162549015899758627091453681053901387028429426583249973403965104736920049513171592514412146887439097465937953361342346282099189142703381242007975437533367691881026999943396053490011890717803801523873733575687372418181515720443564330068067784286058259883249335714515090978210991818639735891373562486241239316834502242727521011400518766703080694017574087937621638708541489838718528691983767603601450680419858333680440220305144427181146394267491173830838725097625590346262228764810802702076712007880111028084822244946801296063295727215325727081907848463326117805479122619258235736811420847552934464137561829005488024808113877375635195389807397359873140406496625411850750091723437340739007688468668499515167081511094248310053300300229551415292705327994989971238130357409400320463370126475720496887377474245728046955760766036948832225269878137299248265746672341419539419031252782216522442109491606403319029025953607147842796405396095592713464276717593664536946473872573164843441008997589780389760628675306633323735253417022220029282511353462406518578219474031347929837679466328165846697042858919817635596943038610513347459844446855544364917444531995426500566896244696439383850813792884661245964076376857797601677064872730638646872397957850276271446659550500232175037206727706367098150837611979027106424437178413018687766724751197919609915164989891261671941658258566617505042359724065498685669643526512893307817746091461801532549695151425076988609669576777371278671427505326284248458776382772357206621967073469565820110467501092459443550940033640994536763694745022864277628375499189546944415161366765741679662170219008249122553812715785227349319139791595034780831421025461888303199355165399045709777203940590666409084615550444681078573189045190429079584603708541352294291296240261799050125098659767065646626627207402291626147733214731009960977804383788386818433087801191933752672417309204500514697519460592633161223111968589768183743491420294818574444901995053020471741579994896426484315958798797734919980085056797598682711896356128988309553640889276154905054578585153248520755565133183944217077556638968970162754413258947071387117732359341983103807802820053045993035136602444256149409393414037589456998702629452576947751346748367057646238028942180774992030270075998263200619206625657253294025417226740283502816030747323450790670650952343959883572770794879048479078883292053208519743728298797767232236309997855002060586281853837824467499677227261081533740130444274564012350958048405946601833100604328197421117092112337703669635357459996323148809527627400207301162321973123149630883667815483099704735007481304503204992220870907617987467223516015861576616914572120976297981516804550729799768768020498623929947665471209594649436835236228609649880416488240319483369877772976332713682864080597251780045622074942251264367623543738668488149959793231393097488441596180697263722303942462557345645808334502663593070162670211370501291115881779804953699156690227890602164840881070161125999954573271548197761285851289793815087214276832063438034100062738090378495960579118135908687407648876519431926006567826424267280504292478283641090509260580597053821790803081747835837341834627244542173033661117264238978537044121823509946036888602105201717849322833458968889231042935550841113622069120787193009361795272545627587995144442196099251241739896507533129779764098066358312483716397299217983879179159434961405375791808470891280593520758079881773835060002605172876841064972621133082323640633544348566515521959581651806485206860542066610208155402652340698842731791539710256475833084306766351688788891162334560232659279586285387034100486475967572610241230770967581018330935135999618020011961837788161205807066699057815591259514908203405465802328393639535802242553233409331805273974143050531931465664889393163489609165837289888291400859675964503294517844992786256620866683652544215360512305209499992302418639941049242577476518755423026186051922217846790943151333351352322927624702463618627149468441244522752958883040552842263592188496025333546003961175571911632128197980629323131034533546482127088476859549381202436448101973739393528965083485325965749439061045473026949425725428083525801633341953971829361346776534064624052711098894040976820619308641319324989313223772991327441735194461781466694999335943883699781244500832772219508075654123226465562757439857761752737219485943866159499876391481674743561434241932724581286523778697447760672825683060304378045816178363433910273965435708902616172715864160462739763010349400081220655404607440752711069029183615966683371546980678308308938524809812289514519662912455022813178144790150173989305061286273317304571652261481298822747830622113367117118162462701887487623370280889494236099581769385984062473961129889974459548928971949996456723541870306568789944762998793848512160728400014558452347374481689850692022436887201829297148357972812729289003297397131297459329021865124317775522843413779209597781060744407485496780929716377418321880946310454025905627111054144936088112323644601422291016469720895581896944898004702404517717742641519795432085427231801251297877604580337469834154001236375564563859068692948723371063420214843533213489960073700433889320082851529553996439791983767170125347231280367609625609852324718867755329713048114407594335191273684404861552964821714010802853419636239488331855499240936723867098112114862295263007623019888377455620968105322843451898022595670136005143049696387192522186789898713536771658440938899076989575021016247309393099562959252067106300594805544865923244833243349960395073427590061833080375265527369094799545658456199759634377945709801171904542058278149934669730044887877950730014738486752086607863682203599367536407651521992758019828682353354776620308046949929767166461434337769826146803013531682513664377666452465184391880753227483865345504335992511281946320133032834698593984465017559861453937351120187457602014068328202471824604109577444451973433772482906534525854670658537052L,
433179949338104728590312965711158232543731270569544839266119105367413790038987908456478195290154181927371620886861247079816917800088659084772782492019338316799898845332318627895124364185334880768212975237278402474158271589574772270404253514872397285306842882016351883106136599780249514458238565760204615057384496430778794717038245459192255681564356622247681700919793421145756134258738623183879344682121025610308029845651627715921746208247944432417082729741176319630659403557011937920682019888895770351737974730778689362818520614215452614266786126669130077182682908591045043297604052465950091135404235056999433595694315633158665918757814717328746477650990567394040014538061776528307091904961075856991065985343462911512602280078490157799127891008494732143984964993093939123063471344323404259706675737963659951901531125034892493506842769101932102966400554765647758360749187051782629175027360673567987386294763250949897674979194344323217070375933043728535411496466579075812057665117803363933285985291065659057711077610567537843536772869266906944557080279321608327763409030243936920453054311085203248445232298588593220453354289262528898719963323062510392443481564681951028251268246213208938168817864628519699126822181436287405022114096823003449142362825722395028383940635782733379763610397741974576930113205115804512300030651535646921433987645724264273032957138652843310998998669197125810490249001213228341033461054418555050604126247405717853288260636644102625076496653598035680350911200658063507992324501179502235605663422488231728925482106512693651129516486193603526467382685897835025090864905881983742325979549572247452432725611804227111275846871365827454163490907499378258182413030588069542619981574327851276962012253605902762861858877882359011530617111665461333875222757261459087928302605776443361365985110339764560258471935058574608197972665393740113194778380339206302501925448437377054816079669477148157981245406918681414043051712564418848409758442206008684279218264536966399478515623910886454172258890969801501072156030850227977164245058627105874697849700136775202520050353481302280025912711104178589600666341342237224092134583542592680250075814953698232275739557545991435607097089675571351785449796128530694234757751874101446051118531261119602721789856840705539732560015726883176506071047379942045857514253588769313350235860124862799375128745692305149760284830446770864858361359967416116682841475727612540176572326145985568375054382293886809725509487365568052516808721267686544100479203315959762082100188283955076692776816766298148715633480083266724301794386051548564988573065087863661867972111193323229072015373310746775429702379359814078872086820177666103069716549262657436804552845849705276833088629429738714319339081204976195416219693981300308629191840846114262555983558567620262837500048899024146882893264316617583045975347186575178485889852720719815256779013070439717478610418276437782076716444642980000949789066890358873409690856684749290902131059235352908332591578524279239858640624864818525631864758344309496408106384606823767007464622189362004587415327065428432273542256549381710258150255002590412378176323151178966151711221300645831853032954559330021985478559849569186414347465032394210474343026538455965427184382239934616318369594996207110689236086199112127063773886467994222561854141627738595415132037594098935649431765311782058176128828789771450626461244639752193120490078756433139878071528570718455106023211356435627940861708101297975502757429034874171819383838916507686102085960206238236716567542216991669802521275051955773707604951759005087437117296669191778449483444814677068904357796754810012876550945716021794703276286767175936862796950617338627007385847255183194924450045528348649672745863093870447817978147978859022738516159136564067462829965945477534993642257806710852733324343725892975549916379262813270885190540339413548536264869977554740009936228134219016958262110306414776481651214252990127184888440984591916098089665121488321478354295306586170138636817716140884169276371751815167648405718275575196763681356042415106659557238316092935994909302865423644494298273492622667363201677154791911674114698244443995118198506088607137709806997818945217671584754991912544419989437105965793552502422328197116888199715151029916279059634733680686156991919331504392517752986857877001827595954581552145807931070669998273172004585227490874886208207821842684124716317368894532299806245667057888496578207408005122913641586039753051817972212187060282918553189377264144900964103491669291587518211133664162963038772076975762221404150407001301464099687668669729220681928196954282996727475686191013425691046535981888444845030297747839338830137114600485659078590080565365134465776075299372112028871852278773855897303475551167681050173204363285106232737609502206941971620696512517294708532882818769194717459938523705344853541320020325330658280205241291731549003131891120085684975758390670552227687377666599157602498725770582360663180808986107069279650785652042661411299747447244411515830510307702311280110836697924689942935793230322361987538930200457356727698021092273701039994125158731930169171425627694397717806452547588053318715023804269001903795789798144255505931261055843720251250504543438028076327844257498441127136969174819855944744537246609050799112593072086140347414607244284509936265873153893137866677748105977935745340796799632703590355072560513020650940601547768125190980336257186308707245353343631320529765972586011231179422213604443887681538127847998214780599893051188002167116757114568866742072529097082461080125037730148345280469962412631541262872328196470237530826059430307951717004309051517669070721583727509155630236060185974073441466802729060639664010548102249289965034080866208377472841635061452669329037751555211535029212832759886934780191404278067691741058469792521216424931355715443049428593062119946750386474026710636262824011518274607585994893516869458349157751209230154959662988524268028617155428498434917779265798974890213550057012541998551471698752846995690663911022251956304359424315708947938809023227936260328865604198402836675461994660752918292808331508350209377691937432557407783534010136120878793246509795146564959835345593569088454241050824145144874998866903636337095879855401761385107740743296441813119792604094690373123631869109583844431969376922889301903028033642082638215L,
738241970298341001930771354116715582545409659560422075075345833921348272694587107980270830603259975413214210672997882446144757446392257601395558056970284402764360609583087976517139901321539972834328117360011634384551321956361707472238700884954118567673906909902032331403507782286203652163501390021300595238971449743788082688621203080335831165387819033994354141952953466792295676055070209940788221386475858282339763731659362401789558745746528593908373811813116915490648452820558977151557469399411387482709465900134128869304532651022968906572911950035602960059587907726384207639916184743106273180367253495880310699977117732896352977254453742641533124495124958551861735642954230206146241516534363267295452594220944377894021438021132777391645764331087923683149548236601007385532701451873928983013186858083328131674307809576749858628265369740790606146106415879542470808970202686565787547483976612593089089662059360816023086535586122143270181196222708523978039713081891808762312645077987110775135647940893736794581338493269991564707018824431157218454410203833546740379915032472761669353490764807182772971582995104015399273293015786926255055194874726027537909016225520325492751227501339285365372448760187574893637294320809382472388616453602433414407006076808955908193196671462451180918167888892111705238042309039219265860589130356612443736563704266197050475812888261900333880935533998832211624441645693127625261645629853679592433436943514838567242723937363822148711851236207001512168786660846851901067325979635877966301710697157169395843923210460643173510663457743169176728212598994313126180785040280857975039119940718640355734852888206238317707614951826099539879632367373766884591672013733067124799998206556523433984789490131225168516258777667443021061105239113295747643645737737563036725589857117321107986022079709587012961750883524393694721653845026800453608821359510085898404683082601201337148114756122480131817241937894834571239376515064417656199495916187038935576319009188924184375535428123013866388817490784816982352412636835256842687730659481640858890392374888768541782012824588891936317338784298042444437300105813561688976540497696784139768415380691676566125749556499295443971232707192717480447103957662335894204551615445679367591215808888080737173877816347321341805800703957979035469303488626473076804634717804611164514506911039306524463685261860544664796525861860242791656916813261587450696159780473350013103487521330131704251091969900241987109458622595292220587159580422890581500824521163827118571118434595229187055443355969542345608857250619068376765566619648134201041272754642500296981829986836306401976286271965748297844189416438519526756865317646448929144537037300510015698067850653857258832154913352371227051022299720906410590981281184799946345235641304275573978493497556307594107309538543479502955354744916704299162469023129505804009824315965963866154918360621018488734961746573438988884657672899498923824978533743171196514408287487230032312641880921745567719691923884220865056979830327132265758210014144114539932301022830269142814977595114074378735169865375177754967670492947147432072252734630635209318674904873537680597013303204268409843384087300316426688780745843512440371448679148411722966599801324878520627751340327651241438552355781033232500450621474752457600938437598082769193329483462337606200892949736441466209437544916463213762829469708340896875355173697499125777558149295909232154098865057037400525702323206602592978615007737774878241734364972823435299684887260752553065764695739006842247098201165401423440714613288936186184565628675686716713144432988583130175244200556401340682036866713355926566451001582091934578624514167878791069963552278026574682719097819686255711738063874984947824566631271177236153640735975575597513798878446583411668685419882969190567717784553990923210973512898530248687777710512843275510480176436033321019092298775685925998082250533641214933041504286290456277158703691085364136749318940279993055997146720760180330217304722338668825194735344346210254518516132363871788208768436087623224279945917155227989792550850705445893878847162334604173648470431303689849484272491713627527817620048350528726203630496363044121150751046145197574153244555159540352372695241638445216717198811455701876892884330435955817447607213353218056230246773320426603818541852043071184351200327798955857587989346114265789919023193058849480682042800000810811820488563118434236046541020695996556940919616139294103875790434929414036804860584500866160379273873814703598024015209313341256691645569468443448098771916222309663072934635672513780498133158651062958225142977977322767093083337682439398681736960904604162157718138745793273891907826553047594484147133117533642546231125990455745163739818028182146404096733407520199411316008188777673608074904451354012638607076179379151546739853542695856326851771597373878505427836299986575972613841321030737192797573480923016559187712125881035866234900416535258986274092006530538340465182926330723304123690334252922741637381884134279375583535894901496685974531268728736571324851685897045063468425250975081076187945024605356934636193441202839475270650668150030365550580610528594264790978496418047271485359351531275191244056479097836852070587703719976681834056435515094064858595564253281967079952355396977000016134759348489659851548514700882129901387911170999627117849828391143192113036437506730252461843419511363576373632116107869667443331741656289509710609749055837451605270237342119993597825897783606807680011452594953444746163395858181587780813061547057882859334691171101896116644859018592001217037188954378373361984985946487766136673087084777221986083337060504137703306600533760449497299926022628174658634013380697041092933319267354782361477682220711490936612180282442007626668707979196643472742138406550562300993087299776140124028043998721332036784847906696423513872162563487550783723733027152917232807528186371697940365174216833484986854698902940828160138569248020463418455409516969969202901971215603310132639976548160940527082347727612269954665325822838265998061373761194021415161175804957981409182375763972157892881851286576672546794540553238093837134862857641224624150775510311389865694224727905052592877676714574563835167121008603691825017472308286808403332654675754836585117702696914064899461911261617084330620692188087915762865109650244615370906279600L,
1257945837579549103608924794495492301243916258141531274655556070697638523127947151693438235863354813233483238637140722538602178618101309417377207047497511694288665960981695507865013800247971511895690464453236301254603375437289856196027563830714193755914042620593274198573149419006788579084307521938180835619960300376544515662789515263515910357675540643665890279330243888094978002687139420393441185481364389331037383247168878306040593716941415628471620167115871723210046800502311414573373749603250487322970325141708580420639888025043409428714928249760519425601843489700231720851824028063154024674500556075504996250658433252826999218827423237471285602511976286214735727906064745146347825179331970994580401819706094463807605017596011288529448942088982740651854656014079340484672599822954730532108746690195874940946542117994959195078219364922286312681886358801480214298642805790024715573679811972829378092071495282138565892878834893628932912243130103105668890279873121943067810713667285363919566278989445466416136695036900517478917697087832498963550541466971855082975419778449531304137716580184846100977987585601683416514181715871275230188765519051523670287876533343594356130798650563410232899065685396561616018217779941736938773170119339839198332436940827420893639926088349539289061852889117445712948024546362508419311789646942372995750844565016950389968066985718202591065750915914614570244915870819378407929939933052111135969611393927256457113891788449163713126788756665108684031651913912003254086143427182907457868721582612335927094660418840133728171253499235927044979698365462836245017211105032121879968327437364867314589456761960231427014977800028348464947534611385976538164770347270140657416097598575538590346665938566085272437794566737739682115306210470369673055790546096507805402560610758319733722298215395374314959008852331051975499132056829782345182156316208308700970587163041969755003440125496481640455570314967882140394845478378739089699354379086578947136094064186109195604207993825162866334290856218249128178677458126996989462009034205972098684855957328347746017686863183080673416619403028026080908172329223618252938275626099241770212328397310692409994972414807900567171775658304544997329380230445656065462215068045108093774319073346204216731341063718760995715090470172400001276423867124444347661193417157487945297248532453530874461881918359780647931975078709812904190963755858370230207930191625084720406080467547028041517475979519425967486118853830673076330837739328808281930164752581715002977295586806316296779919182926604445364917444464788255107073337238703905022099914489210583086955077623441314095105478033445752052382909281203241886741668497903749676828389053333615465599015106466454901147058417363527018797394306134103878135761260122456086299041053981002587515812404917335892519345015002461482810803898351602111738152986763551287988054093986199700585577640422022225026078070096544665915973745817335974460514334768446842389037711416775029278116981023141948253530096968202204069209289066307440500459628725797404354861526930818430021527248956796920747984312132995267821487094691421165254384006371013729419400968746428848304372207273410607205680903205394550572578508571153878042877290473649663343311917158039205999737341279566963972197898739653318363769883598278542996162067670884140937165548527926875420554290433909232250975577332524168423810931624496887642407889273265005195902960733471751838738497746635026289386247243247269445341464810088562013125060493311793640580972519776272737020392170302657497765074542250434912864561418777370580556484819672828898455319845957009517462854658575353308365224318994896130618092749267610437188497921846482413562093976397944096723348241932029172265751348880326184304275825787702837870774119202494223085806922935412659010664676424355381248383615038246706518890503915425582741292806564278901330367879609629661231216782843577759036436685401399820199236947060704165517997532072626308352452193655206174289632945632267078469664647616651696704719356484442264215949634287768174831801048726439154270242394475764317598152398446607203928157640012028817687102600150206371642527616163335812874946318994654223393069911525723773377655333001400539471885604872238888310627179649021495310545501296649438544771030339007521143049123006935501781762493594710948908751403704243856459751421666803976357250294226719600362059462375432345233041885457074940402413338769060803243695403345122550799054464777090518647128245379530682405017666403516606351088731504542429234298183012072323362462411592595483178080906942085190997453414049427064507968157229658533916284311067276538084345581738616401473431426457177914528753934983445892977902666763039767527222118746129426283909486365039516746040901503700902024294571102721088223578009763027516019454392803953728098086649113443187421688440326622428466457753968661509416333684987317518094383995151330542069552364520779861137035735921640167089881637260759735201497884181465560727352302542297273083294982182302841637136396004791649423571087952550548449315367517292691272372138822588750338826365795262829062099583406663901744401464272250073234016426774234880765285186985150302473281999723778861317787765621626880846439312899459118269231272475587949594501517587572384636651876798086948312399457365082708773488814097661425374127592878695263430755897080958390168458372655056110345805048860915643742960321967016030040462301613768465141561170778082816818147003803007127811920415415609196067096626151484859560408900050596762614175960583414378344366966368843545293911691853698772810850194634625042169501351950669922775384978937926913741872057734517792033195310122173464515213203759802555510929739307965334637885926765144032170173620612742240076549570010739433685899745831430552263735522417688387685549710938623001179761051263247748942218791803858407629249575064492709892232762957197474457541440415255496851555048858408825278608641110154251128184869262271008060314397852836922200658161469236693094327576026216744763654559118214790159026614409023898927988087234135384211217808949977883836597705555424721889198462110586978326485854255449155424509261542461363513292940695290285031788730575903007278033043394079530456715651729220958291651449688680432475505636083414711812328019750503209272813375825100510895515004798017108235030161881119750564871511260263413446725310570L,
2143176896649413558503749747454509599396219808220835997009329099565783008032070603649317462468768103197981068604576735889217261632021913755329008054694870128650897523718949340649979268660424295912064532226645137983076798365920070089901420742835351030260143528875979382713241970475236019438474873899830892613431157185687099485388308607475983942701689613051153247029156729134441746995340921428900870271307527490383650925582277366623178439902587509675535525511838030452253836032926001023353081305462128231636401677788429470369839651492223404743211341893821842226119109312876345922167669325194585619068660301839206470191797872856356828015488961912547965904830606787828328338157751968178181368056095977896590093814164675302111029362740406412251658743767211677757751379071682191664515326854375110593872729657999488027430927794458459677590727709366173947450172396183714281424810106521183363851930140608128716816009064117448973663080870392451065621670930497097092950703708962977174174792338456830531371500144661429688805263153287976071940614871594555141733016773786240880331288933700897594836743684682411314955759414827089245763917359176739168909172460140364402411843881609829598447344187169697141168656563008110462964055336825326627741808070250024247068962936568459465954976266437705063277712573324093299817154299652072251665209635670146090022644362430159538600525322820705546294569158950916622398519412009616358343902921798330339595288917252547414594543145973431938575008430322890329661114042386313886068242104880463978852050190846068266539087362318190406933638998636711302209269637862050797286438633800053424047224963700331693370779421128680864315929849810941936991122093083364047117194664156987113921586999976431384244780567980210570868344034502033087060474820461342651845196592638035898604753822216226202897719018924880889932371442321642470364464017619030607608815701378404983979271078409467013764751269640869421009233159938701017385812068175449844441700309451702912213912649795053071871821245876476425963572177445760319825863708883182756492431481622463419310611370218524544168626263253303053939944472744491306199163413287983764661255172898744059889527685663858089737912373368592243589104203913460258857685671029198220379555244919424029168697108043224598692179014654436792909268650673902295058717373192180266465463425490193122280859343322606883090537122020467532900770619422388504034607996421919066487110376338925118345181484217588836792375794339615100739833203264449836763951227078617451270034578246109769636913948174507509270480926057555352954946408511930979157352762093683489900558316058014082033670862056297163787146075035923043238862053927226227677763031995027810259229317495885850502446893592574813486591527435312821975281993712502602633291162393384102460216966074070927620466221054111266262158735566058979973012115396926377047053222160987007798997420899547783700571902723587826549360566368509767843884624893849976127598308544718065006442009162629627727233631807023164796427972894390183474828941536765201468729502704629462135668958800741416193093978980774393641924287336938853282419006836635666357112636929729488959932867032198062761762691148277447802737153715249419292156475257304025034607058470615859372112289577616739193281203898867863029665309620490606119873242249527264301938376653928707135965649796460997316679247620922224275559677370230519419393578504270448393296515848036083976260435035808042398457507866192743565702080961410811732844992218504520460870009860458450887929566888960433062546406925618438817063559061601964819647849262565049841007232357446847669978169787771921244244946634575804238999227430517038462761923624807901003811090840602284654971320414672215779682460548828454211941028873207694175178116791558794589598790074790808187339228280055127300569783492348285286030635332022986393386546911865882517855236992960574786138896537819439640065439298337878224206595555222231913420836930851539165625931930075404546634901361848565658920755191030533566617957808243173865038314729812080484928856864534971435513507421363724717852658086953308023964743706070433546573501062935260414176895936689027872641002023054157115053088391392155871882463161262558416551969574660836046311266553640120368076565113889604111324275295498717998351706343415353292526985103430007567739520996612540533517835375234301388357571146512575724736094968146010962340027975065164257305535064120814976037338239661856014422449834549787719010568773498552195746818688220977079061257191948869759152176875622262370737986354531696360679612085563902972422087898338227519661590527847170807918099695853737829219889532313811808208779272364332796016010846899843774368494517451161330116682318111200559253057080151428433182593215640196906788190142015960618584985797295960886593652273919414398776328904673331404833956578300932052889935675913670427726958482087126766450920801225382657859389934321909665609799370397878783578487099849040634356505498471442536466126608817271569638820187025548965806658560012770518802298392022880138180970833648929845356876173949350009214720857952372592069134244969134504202790848574169007937492287970935226986493661764694230931561348225755808381116095704257592623929768387240165255239551036079384335977049877470673933897840280079323352213296964983040880808073825252924525776274422579871643922532163513779502009809219522313949921295052996523594420003979672198967850322567386498941795034101263290130524908040501773029664579883068121006031431917363395578548412430781119085107916358960403229467756929929920683504708598188404920374959608762427923905057011771259510212532582247386951321299968625575733386331161161871572306444391837720074573140305097558593286798386139350030032638117913100821780017986843122647192201812491499638084523476258258538122672109604177114426956702127970413965603948316126656181045561481861872763575805730070086289992052832243176965579474425659478709030052739486046273186087191030727693583263857474391648116017919789787649879795120642701677076695552800230159847294067208775661200124896408777076744915927403009184812263523625681306206117178884253083953116400102353682832608252469371037651398862927302373012999392313022023584284130296746071343171565734688411682720321215807838913649415226848966977776182240083548436845124208733755270000278565578100016091522142532215664409170117682504957902658330754380390139L,
3650791265297481146219167137465034259132350162597071005037452029693597060277368111775540351898751677008900501103911210300501988120844713557594992085406450864274803259760292375417906860423652262254949350682670634545374847638459824950969598386325588804511707035741436397467954402495237525741547200499361403005365678223826241567722771914878144304524756713051265887796475932984135463128472344692991963582349896359110479418716138125678478570651223653468982572596416645181116018188328869999343863806244236171661989891469324332006076990468890194244786839816066076390090207665445045513507476316367232771208893206064469941005471288706914777130815204598244538815737452299866363275589746208342213877203337072616489737052173341877608737783351988018396903429993284389722363657734648436636026361120979890103743170984147498574199678066676196534102869901373539966782496259644943142897919702985648509721166106749313150492432970278404689426312029851260747121420026530811370278714705853848905622802303168032055906532987448289542938033128237827922143381918085936945511213984514061953825508343647992406175335061206914271043246550098587042961146133337994500895547829764884897971355529820446104487590997358919915228802330569812137201488100682002644968017343629208461248388276718433142635478536730038240064992745188309789486985025268054568190153159784328541045976093121334461306916783858982638742825693691352246468380256005320465608884648053090827792470917597349202118449020268160842216786455364048409141843730004837887289931657317131962227880103075961034883011161012707027178792191970708799130627858903096320078062289746240244830747658113810879725778660016495432291018151632680724248393568668679393378274844736080700277225576061902160098847202945725719054210640742292482616409008341919165351191023875040280406489250660840038792224753542607208955457751017274671583406459307424251328283474795706938947851346136552501320750017591133527901436317504171804846971786620679503867747641921733050771591985187235192725152052870723797076307784509489023606617733248679915488187646293103454654286494858116559245150774835441517783444682838077200370792460082360245425372748945457001345431676597326167821816194843349895440448188838246940791142855471587455757225599595111203312244550117166029953947545206704158479352617762541231285079080358519062063180033699765467056765838554869477299149899359596861602856157519312785043103908417733534848779377555062732739946773777891415927921963977334205232792231498371387764164355724683443255492527122813526671321327548475669084494951189299031936879035151613551483978550338844337988865340656561951833047916634946047789109908275988778550592392458009486868713092021067215761275424119411035419040409297356290192229722039365104379663703447122141172951025936627586585789384322127625191542299212740359093701117442761848828075470811775295964788512068365389311484721252575164575776204550827194498943762223494573123124706566852086655913464208051354562136859966924489590473721272816035540872845050393568350969684279073656327487275685456702636226983996798072768345659717896552218514730526715328190001598477903105623344184778823315189221690255907184447632771276663170378441682178406521174086687535984760414703850474098591581123684587082957561774492015289083238661391903026129928932331153471732261941596616501474231706805461330417790561202296775165056549411791089046315765061051134620759682641151967974323199132125051225272322831995772023870685881049658392593577729309461110087758484115622041952895233190323716427242054075149442175362820945641598248466427863003427101719173345628596676227243490581739624831109044716389382034292205513541484444462910908739714280362689916698928618056458982094050169536955798486857060779340085061594892518125045278128983856976153789016929892498517292819491722020310293422885708998699758993765670425352410725282932266764573646509669840012451366189090797418884923277913220571853818059810722919856633121653691755603339038263790751479521970062511691541704021754051602935019819776486599174234456741108027006123635204398447503976109965871404776682661958429132696235362636803867662926937417925936609600074726236443768243287592384136113520593938004605822087964347142895135631800739395375573257889932200763618022067502735167385449233484898921390382037772719646399709447951952474673101523304430674319999956723775329484908279711269568152243294156139228471432472626105406566461050217265262428856229549264509526096675114205461644203514376188738532841590938522170653064342781911458955605311407748122578601265490317606692174409168319380680364823988997811892301765107449926157343280693184998764662335323873044987871680856541435930039797680341649546503306087568509422556884482945676832286280665424377455085663362495818807612613504904248370920411889434528749269084188246415020047239798843224223874248576169410156132974482555969937580968765290783539552329937731305337314787908446631140485218318275355471565468011287419551042644218733392156129520021917371728061138511368350856778275424887717066594833100880943697081902064801380326193426814829639467780664148978938705496850022877322599194755171092404271798372879910606988746698000440655435338022070228958708906659055755685364249435516868759351439148949389738011240936208802396303414425256131778271548021675593883800740302393069861586108172409161394087662278112466161474918184660630815902967452117726879720781923665936779779049228254871921863108795019538917142622606609844920113103139144617477860125796267302003063070055278347233921915047555522668618779171775225142476930193421729487583096782198471482926209683682413081706096712276392786825938227753326430879376830261692345494497271523416209814228906988862030100103292566215688080005376798580515427891032664972904749145922455269416067304259028910509078135254377074307063520018991507951853603823531294144021182944236019331491598917561828610279120552795353993330207060249324435849819665000857042509843201807573315149949270010789292345115646767966300084689972260810770411004126883516344669333967895935691179349762085981577902518621195720572121956450858034721672574721697352783139281485725735467935337789389236228143234023820767137320332321163715980650903472262187594008847815027936084971138603042050947932395674817187039318318381457557420194610329070861894160957679594617011655616837451404251555396318375359345274204947503052243L,
6217974478621282128086968367552857609640365033606396280396966002160857496404375871942785955574864654562911343301475435623418375144257765017944842253168218928218929090947448525013051609031535520954309640325310161268218928874461796915900183960066582228752351449590689320434084325659462776448870599671253622054578346813117659637021717921201993008209289265594491264496344375994493740292165282182875841357101193862940339782046738954565358586114850560979283555082620869596817542318530452598856172050725306248578757541384046297522030843872693207038192841572289594025145765197791275235247717400270076723184134624533607516590028884096270755518149878534250352365346976042765783717589575717260829628776685226284232536922201651962117443838565816259921953874938616177492813065119259102451005809634932779548078892721365986834226394733152740676196745812875660347573479101425586441648031182432736809611172370982865783039419285285943902440132020722184300344526333277872569981343067203061959181442697912175774334825166366107263998533833655924237574019230025303864510665696152040259535585534199815790787377069415261966648373312362258708235519596597719582703083203371795562113684510513427409127993890594122821543291934348904889041166220310676972597015655385884465424341959120737554488139041732610848512352654864704270273984011416858318525311936749650692200943869923408441779669649864029840135986281829737980325481310732052930188532098252402327654613318304305885540978802120877952418022612762646325916692515936858721870637128828530485117425318541903000663435901604488032317231635147719862325667881679145867941891817419800831992904603342712575381690912580258829018498077922157339863518934393570635265486137578865422520051729855935346838664140756266399929815255844732397010502193885999980553099326209791292613743213413068497042620291524170754385819594320628540377701443418492106506385185432141528125556107352587290281975216359272422982789661658568776002941088465529151521088098504657381559874690375706394861938170746273203901296293597914085830147977667512394977034141624845701466774908927063168530192676420055912456194840695102864615320582234473621948338397884374206631364279621477019284880126369239063871868737179891012999146233760154174522389894560625510233838271041130830538046996465453781856207185470159320784761150524094736488294140143147192485681773858984203103466456793060173456379363854600303761466262740704323943864736881144218820855970812491849483282707075285846607721960571697147654608492714755367958381839468478288246446664191763100976757122375848044537606117174091791548053530731164333448627332055346468282724707447794902036088624320793272775851895808383205913645546321331361340807454298826333613270446440576389321545102254322265293844668003321169201900260042433396212543497197546495937839958422549488716056016831295137189046878842521566069325244314596302873551104227426122657738062169154395003963855513318575427647867714808789160109759536702361663458246196525584576462923919286333172031973387513749765294958732978805281613249250976477322126288755280122305248408484015516710758560276859489870933615715356947678294434806495276994421538370943710598000749885939110193850561028164398223061344407149706492094999327162703270304148966018248033503919982410392148564605522861426993360403027412786459945754798942244355941729120446999144856507569795650889297166299358315193490985193472174172223764420637114619335578222805154316054787985966994129824537677422583344842923981574762707225160172318140456326376605479300116593262309750363244929491923683313269982185474718128638862128338107296665212870933037045631139772936287034977505208529754287284224305008875364497661537918230899415156984287647479567804648662863678709532179412529589017841385788912472744320447421981513074133285565874893117501084955124342743614203378975733924179401406854512561888241190357061994856423635194778706153020243593329991751196096257307910929644166580491001641465744199319849576758342224143186781478793143051329811196777909488969912584148564788097365532336820877936309829712642207271030498488137973563054045313876089833672349888647910687758535957350392078606377461950269168429062792484941987934990272331938711580790847898334280149441216003705816298159598694653301096912640342578312756761570522525884640020629295172095690118371863956400820493615887225299355836414135878248462576612227611052336105748630298616085241715521249435674421369931670156016278317842801389749435001234759155184791230732849081457298955105796054190678917770713523657057789870977530667638889401968296238375138721060274517834193000118094685820478176027975198079539550764272235607738386466146211347190992154566030537812854256631619760005184589907510609208879801954362672698527804834642805213969752705220692265442328266335862694960850279740819847409598508930719087570760706274836025828281680541384871573063601817611416071479181524572517228874063749143701011314362355954513706805119632847246737689626295585848936217204103684995771892525985120961696905312513087483052375869170563640017997607562133848283661853751877047069545796808857534372567834218824789673082551456314077663728185457101639814338733133578512829537524437503842633840102687812536668656369456854524836452731824277954485384816699540593550175480008403856925616034725735268755703698594003705261543188545266106660874484397091085732699525517472102658874516063342090457903999336958144994970293497083765293541137860464144021062111462478562434371540892858692927058600975641720735916641755001950667313086958130610157008590190809476430333698732501717239541713242072191787236792387084125221932541028781828771318721239201695838954229998441057742329857787876795752234206942777406139089234479405505438701733828879821947048391069448980140762155449740147642218881393190316902665369332181269522199081908789183708626771184717264080737793238532936844936832061342835281156683781557206359429407520417938004892149810085968210580795358398065780170615209883717010697249045007665238185612011680960393401406931898903660664617033356769977427074542728834611819373206486006356813051437701276076634421044106183992589945042051096897465540268621817183480131944782006390374611866900729814127203941727399740719579501351855262990939936578527647671888055779545765672340247701859660332960237166279359213810632780064513687303368708776399968185885102167427718307335730514437L,
10588729581540032195029597294457372972983384339777619239334567389090237509884071590955172070164590605021837308173831014129055020129364350113325394026779682077170600716111196801764400244449038423301933869304664952715431848018808056589079183842199702343457350233542969186073963617286511497221397278689799437600865428900524929859036043667196046253261346650864194716994805051657614709834390183592293684510593405825926218422461765559741200086473182033196933226269943480651131544082483138665843581164664319883463628631579879388306250070460651682223445173631651658032497761672240341216250782825643856105285778479489563232234445105882406052851533586281009254624068894247088028729137639380806968033843310407015440322129818238861209093331266204545191338024516260720633412992555720747211142427665523641536100967238228509188140869256627481611701155608565822965493088828285315100594627512135919699923342553765593109101411551170085284458371719261012560290021144450901856133065580565176476508051636796895891095219567612573166261881002749316835013197373077329534420285280374792450691844638008121278340482949786794881997345730960198878368813991194055416153203074959007325469588776065038458853473846463691285459050082242999184739002287493258651324090232178402063275877163589291040420988591066007331577357086071940025629260031324208631360663706122153886020319533579142048300732242098967854422015564828216922131941914185364623275480533795250111372412957074119696097657359083495215826230355763988858598488621389061667447867129202625483647906122976652949685485689777181656024922147178981401344647867296027236469560860465078145540127042303836459105742179085892711432393288053713443618387151592184547183167520098168412351017958042072418172368126120494805508878317986712051090358685546646960963295625006239574935519643370598639142852957298280671760053195305151795149267664722868446412263489361367791242100293069153921269034056648634719180596020344728854338201188534099317513104693305811308745436677442697492538749581058448094039806698429090606083396439357714125257401857681324006337458632874918797264246469832766329892814189463351452117670831560956619593035044988615607371431344065046569163181824373439554202890047002354518420459703471966688840181733407053189072426412404649571547897418643587361888323588972721931307703137882714783126059581996322463437424821327260297821134294958879818399964228979706427225012854751683699981458465847297139004007749669598238141589649097981867983025590152723038387274120707323523199937637850771079596759478143033734640535026597731790213960107771992882779981810482077027400063539817518730860240188972319717157583024884761078818496950525237123078623858349047555557013034920427841720100653740761730803645513326799400338789107175083634049488956800227402525636468596249658008044537311462182810003291599424285429687305749859474612532026312028184411098397341702295459103489642012899897012207933293831065901143130416624100163758265018857467222192079138554536781334747712039354395781111188244929211887959757961648003483993634490155306390077768494032010083340459167836914899943763888542239343803475772762291795585648188945323646116982745938982277205884543113843961138108443113787114689051514050688487718770679548090456670701495748484490431059274056853789971522877419275639600166367232849143625310335131321719576063806417844149919145990777609265458926074939834059958090778055905109216430319758399777696941526411849396190967801945530096206101886040266087623931244840922450600089536155893048244455039633643417660333538601332601250689848823867212186447220717265593825408958061046203054297993994909578521205536511078763602202520676548122188424653515946768247487448754362166467492501573880605063138585257081254134528718720541127839150340258095756598342443252194784032465697668536963722277485756107854281171745718556197180924252356114333263614235350879629130802162961904481596259176706758018631202204061298364451158737807062749786110561618759757928088735018689151097683942900668335981150494008249469397685460543504274974291359522770696453074988862025690592813236250361487626553818565336911423929555798321107916372378132760811147920221178842267701363071315336217626271238461269687332303385341865433996333608139356729619434002146544809897472723650391974550591981102247949511606833898071153243081170911289161548354493657443277174357173529365734389947820304318952409763373789475382115710945145038199320630189468241145896835513352678463268585211807445478349311655222149728780064636017259768820977424106517520606265024442035118750286017298246937176023851769705273982364209339509354511526235675521227640237986443608133690652154386105460107817253156308309688351856264000146895228377741202454500748552359212338587582235169018330733892753993499461760074941371872990888166577439275468199993727877097671374714205467104650845166054891962887269263605031152311865638992982534085733976914169113421928547025306956873307037579802885753678066278109435514512586227163491415383759234168863706931415798272828084333594702212815869793032987801607534953075270548411919341712704527657444408776465293962131961002093831300113004626316063805444354659894001581051696904110103969130044646983839001378847130773230734226425650591396987045655958397083484892424020882229669602296158366763854019584996475262059626707482690867473188796623713473090852872511285215637616033752012035534346435067835563875721691574505447315316146124520285001680700090882623992395372399082564714946717636353608608962467688061754101761240597452135684654862481071697785614202806391216364914795937991078135786469266543016380418549438534131457452575654824140254946650411654488330429903313668802559662384096217441860055549911662462016818761986470190554412576500950710559038276294155038191006099291745173568728722584979981783112046696185883599824222986921482309464500074735447043661963439744653916939669346776792618345481192726911688601782183542647822383090644611295138967810835896351372693463979586699296934390131756959999755447266500679205896336557887386567548579628631373433169439975684249489002788403584561302992981733947934956397192621730422909848302137816370061596813459698899298216074983227013038123408047909799281226767569804235658087314536108685394875233605570465801410601144665720088673839794553963734835541451237369816586490125316028953540178297567453822386761046768657189351023841L,
18029007122799171885738178804788111997192671429393966925629870575430944553277069188204998727684758355335730325731791254252173746542598074297535761798836796227973331407696251975358422534310167324477419973629260438086589254158218616023126755021813830246881794312998568470673488127124445967384200437035707809603888757254637523582816211521492360435125510331584603892348871728869438984601123541892975441529842875227775766619786893725035476018983828562687042907680260657616380889295103398185557066847499205272158304916854899471619615144240765130652023841697842554959379858808077967137247806135178303281130697363683289525263052057740079007758813743764812647113704633392672090647130795039678825832707080931908870740566968431412921682386869554570539052388881159606765939980473739927987269848924756120466067171488531063033536238309693886596234037601731758217555254806562292045223463875461355030690318960123416457016269472976270543227000252572887264961561304824244185395431811661499763582812917744655888547603218027949991144647989790105953298119079734146818612211109842339486008416156402324012782161952844185382958997189489888888547196003327652890271222460057866247095186934878135331711180831961589498146417582389196894782317950373941470794606337912587490076719896683887462372274910549956739300894947624901514846288455599119386131610949650075230638026765406981901222796976484205513384890964465833129944722672136444947446218431979966201884489853188327450854279821088066081008538859263797081921450511308790515633422979589682802320888508352962659227384637204338678349226015998703409344782526080823501826918397340761979524492515606415911521793104884212010941558954035836597866996762603649043574412736616515861546074640095240708858876977929217337851184684660705737059640854687672866761920668567735985212374240427609150578155645183890612869840764145225790254694673880764942215604475844253265715282665670225363656431372133738435935333197313863854261744203780501724270738100442842209581817672347408753406313427541936139039657320905365559755523930387247398946625685149414143843131671808465123370028597932912797566073610602523532671762805457234246806503765376432371133724497554167591416343769566204931036588686432657070297786715880283390736398648835919896267823749541125759988942932350010863983552700811730018921294405142277110834175138774896787912546474879272813251104120930469612509694029255700799010506633383812686004927776153626307087330217993042725575597620033487843343493951507824726432331846023949932947386202373092312118539535226248199751645061363807278627192400958111701047319058006378852061539076143048571913104346052943763568525136421661865771977223381796108854461900718549806658694246476687080815312071078421743709459976224774911398053812821641069965811983237661167137727287517132795124462203343593588889995519522978877382021885771394078007653976265644042308584509306879873842627803700141303053515295045708651811350614039646072902935607917652163670691088506271989033790825827458959608956282257758431387101223718832631203341242575246123951207799116496467579282004282146406627801510254470095728118024077915933453454827991276310869438965055972777665769233773322139096981218290639599420251588709733912613235277508784101030949301942150333270342548450165061676262189476056420940685809241618200734205913439478443892529560781678200978492403962022557950521733588413270051751863741777682099065058640612879734502491363134883078103179229407150189676612573002197460606209905206429317131004222921004965293948570779178832644245524586114067613396098811690893394408902085951319561140318679553904520684590738253100117740846212923403837020821713436288814035808057607424387721499998085005345313736363024551777826570195724731501114941102953478806277151337326487348552588883862327654746023050226347794170927324768717786160425073953299625036111528710095359169518041769024149648469612410002311754731004437001054880920463642636164424382511269858396662076497749317977172764583402002933760948016462034528287026729077531188231062094379178621723070753230987701661665276851091479407327532784365010545094058497158511585097046147227540845591227159132450815723024395231845357645304000888741441407222501435864577925152477810687676299012937111834296201309199238958452804373488422002043749822770686974100813988787369187862086086202812384806169858886717320138737321768712961025315388170777985364200857807190238760566837470231339500849065350555985779707660441611660397050632075666639017293225226885662147496146930215706141582198769856431947233512148509354053763827873864367332321040684106615924704280221750607493830204625161138345675466313119941263880572959149861820274776225937192430991393859946475740454792963013679944573263739363193245300113694598608247842397193761260775515950375075162866803605876879135675838403175502287024324296029198910911620353488632987744485902890402820557699039852229571727750504589220052794944032990597133173720881444824391957810873776260884162762202656112854670205680441104909325571239717495822456407722292200833292393202652042011073466256329845890862540442661822045428210874038608072684028811974889673685576712021217904993691860487566549270019946442622569458355929817503599487780008585695990891396301713056125484148487662686236399393493148140644550567446107364337399072681853920696444020780925804257228673175361280826152830071313202852051654871915488316511392919847852060905165285638459830477731337765360382369029051903094061411747115865742336480467685734766106273435130499479935315193408511555633811038980870115791508478087525822469436266907139070513139911678380284592686457424364332110364808982666344377211827278210244287947431644073441508406840534304430224897712670926653684221280753724339009428276563097303692442000743096215227452127270586303428638517007845776536044730357599911228150999836823043419184154773230236940529535902736085254053175207641583113795884326672652196305395116186202256174520240817515280475321701270144019341216505040658306634193073689050269817395938968104726221179386606868266825441634221267440202742068138842193643826050696411158177022633281225719424917825581047138321789996878516483442858477538368806673468833682232541001838729127475373446307320282723878796834457760054125295870256495655145987638304920691186061062219826655623477558638944954332954942590405018567831851782464223480017713762119018666826430820L,
30692540341052678769493167238453094025182079625154117244555806178945952549845256490750334619089215809062668217106273309969491070845596256046752333128858498092493127546992347984357226552485509112421653650026412895697866110508970342650090536868575466725414480123741598350113009772231308155104065020456986868989089996175942923972835130836126279429002298694213384250881161710252111133565605484270379469273169708003344364318452963078457774559259513452633896303819486903273008417619335203107683503648555830118244166131484778157236953777270928855729768154771901487907296256604080004288362873626140850337678448776072708856497153170234954897373891606589507774936183984296341834398059433090780265113075772451662505453174183783498199097112976091476134785859356034073769454257027167208838564790038813457074328927024773608711437163114966305172468698421016587114788285686062442095755918547297104189037006583727726092595540496861909953958339744047681941553965622267133169104093693411311254305210777031427969805704406255467225612468267669263622500942175274434640969823447546916780009267475823376378833957596014403054865601116554474724212205413066828781871847523464018064477576428061496515235271973897897831802085840424920960158213819505113715112622344817492424458117913335664705560825335855327909619507496494529187298320299976297327984019015422229606758063924215925040168584717569288657824981364374855899210263253804756830102001028537941186480967809442885385041254070328877948841375383844943271269291938643863624204081746737296876404715334429735427993539385901872974805608143475633248959135114005222180708641698070907584197439636811412111599539010130667766014727687661652925626292613964358662221242788899222719203079161313769066119447078695684778040112594709952299178374076256290538887506796486663679827747946812971933076062036464451250247683092295220213627460037016954956610515568142560539615448907522502725302837977288078016058603902415356040606981797514910922399841779434486435566521470380468680538989743676322490609126639747983717079506551088295342206312135439244700322876670479438305267305513894483629276832557385735897863950472241573917844750130280849697242881698835779436358489860517601538907758455546036978794890321864650789379062722161554205391062741055161973368555819257237573279114072126445052629323644050326077434899467926780778371910265078162478379077067761295155424917329668434941948447917615741045916853924249066205369903076722295131367429960305092333180776833050491482803735417515322959020734888644679225960863582651547571360849460198762211243341072450236397521739701171203429393443223038849005189867501611539448286199453370249900216465287011750246409548040226818305257911421816024227116237402402398249103064750652823725371812176391829238533180813438970508132236567070234840092152249285707044024780598581815383162857208327657946116176111262637297777708293551652580646573462704753822257680457139536705637957905005030172485911358119961112034180930076053443162971268523763446065615250683208503713078117406982178197632913516376981975375306414860035745058838745357286675359125119917372256157172976670668103283422465217206478362670400011914818113432042732983121051763910507081720740016749332252117682503765938839273648608654026847338687406474881740784599467608550455829650234810365724706220266291756007204886001698052197252952312108776987324321101507911283284052376284566185501017460070390192352950787586967266392290318026435617011940785242884484864558203279169687810604979272191048574829895372189543466394971943048393195022213976383760448366225351805989751178452298030221852092722498747983064729306794659431590401451188428989264134499565123797506810473095715967523335950080742935611314044434174831411037829666526554322502643389505646336169226128493002719659989533312075035491381567303421879051217435608849930272798809412481265303622190008859524055936432270548646142778622723983579352666208250205716951171649091695369435111351331834364702975469294326078357122097872715779075564479039804539476685015487076764299039050973785842307679359920566036792724944943026354948916526855569269733190649849395980667051929717562560671813181781049492590904085529398452847436621061969435857472404099686781199214831174705378317340394026379762138652563999956932139441728347656553754268997176157607583958809400027851075579737162210187194324589508225580434190532664506520996590953359108188986767501814300166923904074647408477325682864127824955866794497170660165903851680612212551346734561400722474249834617687315323265493950047705897943280083113278926975095153448588324295504630012246973553736474628432206772834496452901089796478219883752218774874215929272347686991246483789300081234204619274849847425087271967024000507596922629264883137189516740235901863901320235284881439745381733113036349329057856339460435295251601336531076333350244592830977429051997596072559026258393990882806861214362001372411601950777628950402312180066196405114945691841452799027356957213877231697687917321695536863201363577324558618269112482544523558539780442992687841958214871331940510544328696256240931800641719266527627146416613826062938146225489095106453801742084463071966076543815650835459943626403486252380083594134909479088363504663465272779140373739043552549535044914673593843656667907447697914078578367579105524670058134671403697016396830420572594242616326829949490117764621356994179171870349042075712456809611777586331968240846787870595424567444266928489180814537700505145488750176987343307228002941158301012489200912176949978739274558777676803358743309617439720349410558832938053700770952320278422380358655393152103244319693580778589952156193018286480249072180866927081544411892766752105099054242607819416462822047830404793452536607961290614669177192109997013164495123869374757969877269058106699330821983285414283251535537257501230698995766235483289177267271623800438474378916726946243301830837725254980651042782183764059225461652714787343762754385079072259191169057620095559824611787817729808519480236189365986983822377317122949989437593455422165656901160647577339623387572566209988307989548023224082137772998598589558696335244119813551904355798815285530467984649934644042743204870325616643825718719423978014237831537211910477086173966190250438231254548467245468542009220324680387600621490478182413308728859318320582294559784936957982496453419980995941042570L,
52242863533562194772956308865263140143649807830058044096915594465352590166897518165086963906974433343311010265915783627752823058446296590390627026868983593667095416973331490215167491934156882938119893666738269518357873988920495928061694980929598653068339331806448988632580575397292754192613099577537590205212981953718067123480216238266952581042380543145060688633551331718848307295885729688080160110600725720700583149839163706311299442321626756063135732698331189215659592108360618825677291637915527769779569045669773572067951394693823595789394738468669054397839756411818220671240908237888252902847860757647598406165695913540494053756297266584246215962502492384166954437317692991853808650755701260467995923218040276031692216582854276093760149454652301042151143257624075291659428868905597978586473415949735698134374814441011273693679104628739075985345108623172033289775057037720410543202966773910593878368906641435719775441216692264382553957645352402751397239009184826887337546466823696006708625474818018350302520735731345969741513869487352865850371676886482490418225017496635251682292612065605371417306404073164793732715745523984676620369456189091946364930427229575134891619357994873396888510955981660443601412123927045285284960980721073696903772374364523568700625070828537298118682024714207199410044162396491312695078992585911133103928597229378061481778108526685434328292270219585377985780490167924261797223563303122031771714168519604235726966978313133996364730899370754658135603283839429912898057661894304347447493189728387835611583344539097013448749190558546866420249451014893575632451339893975182020604694480425477722931326585934193389890417903829584258116910686586242184836186095607019754335087488791243589344244767183145865823759263366742368633729468976152838580213898210079301134787708262287176006434005809118385535756424825603630955816813730704339285475332375485936026997114293115817417475268736467886928631520511788680367696098132730715614778500280164090686653889447502107987344055742168982026198418230104617472901162377464800809654633183805662099501098000332450382007748927068468203656986994277945205200644845984660622565616654380961189224763418525456920300593085466075259884270189045834389226781359641288225892256166776122362931367715257718676143879872625262056679131315095767170805031958044788256830950090905148250749732478413193245678170919383022482471409096000206185024304974935654510403661612556550303849494685162327637435199738459483222158101469206081432180546341694811938130513046278548959301665720828218131894306715207167932264573117748249273979105988060671020216812183597199802464289845146535328204565003108756174420801116674015416937723322627793468177145570453255828243275910240085868938154684336254903570122230166739809731768085683839612858767153801699596656160104682776513257523072089078190826029541428233663194300223907743690196123297040685672715334226788751661049575427657215003424952163924001737417026306458560230564960620153429011156351981054708635005042373869767600164029298182647571410632197706771304694153165801203440685388940586262251566827848780883672752739456824827596020798510707062804828556633744265524718316396439415614602339523663692685618321160496545380831215015929062152393709824090278558066399070377518660056762170122187125066619656158091328966362334891660622152605100687435084397969161884395474330309242222311966216734595513575276196069819949966169776822347710490115247286421520064016737414672841806056374336940740644467171413662685681241949735680107510805498151882816778928937577226216684710658069271974794205299942056928232629108660882884018511561956507504374029506569233070140038090490643640162705286130054170253011881387716144700928654250877807681394539341733132018912838381967509801190478366356395604972807227900670081471304968795598248733293792908296968629661189052150951581632699196062488490787189406209391511153685013953414867969393795237639872793352364457949469369359700573731584024589604142993507362980339214629820407540152255916562125797985011184224161063557037713892931076348165109008509508244154542325343666338651369516866946367925534377697887472006000939620145857450930340609131438842598345556405136799461179214556992707278093926340920385068375725703622414398729956881051325694563553991473239793864648357505725665634032830933235112590699663416034741443142911620704457654919016306510344054086611275486854424683724837738801432413980043654084413294020260748834595261335978054541111120735951303832342283281749403629456093778085444410491998942330184697444783448111210308803833539294378866059302150983636548986515809769127830892866477026801013245535446833055191492730927121744063336203407728844059803926105880958581371982209620660558559288043680872396576297905329881829233930953324359800306794320624568948782643511397800911872718645403442924694403609033834175481215151162872551470643611721177699093648889696801280813048227446944086593319538712172422272985494137016399020260777003184624487479106176390248731384966064221378789548478579956020603258792077567121350996406733795075805158866436519796234090769119653013951453921787565238979085165450937693625470374263212983997005980188305011564758593862413505684423477601311963339926505145620133492733038597575495042997635140148715666042191825072417078636738126138137618073736146149161926123239100407469147149165493736842649324116871679928923428121826031627368710771665562442930499666784536361606894653941111305052203334493376993817655152216590058986080771731315725001360938736199635519381485145551487652840847238884874614316349127449519534505884005423260948283083988182351534461179766710403185671618290951541863388663056991229478797802027590152372039491994459458767388626753468037272394798328358455900915302182243776936345887005816260751036886312802306574679186114629323365220447167422416073176959436352799142822302647510299352106142950220353866297994912331276801680543483792476296559825561464256970920306029270307173222090770261054424722892295006285819813506310351955300585954696530814507908883615468993739250675618332890605338791394158624999328143836107983477399240385149484166690429985998612933863399636432861482230765510281895857491896344163653401677512775021008303886390172609820282534936623245277749685478491117299028831362483454044046100396529276856970636939480731472097176924884778106633832947482254408966282146697982807L,
88910748356289528223342400111771760012157794818796680208482866499538766888728291389097413566407065277668190131996571709214517137249160265455025134429183338069205228689068324519847511556231183000038995492524970167770965944217252263326499898760161271160279136271845820232004876394313899286139324464269509102060198289373456645086487908856618665216388562909110293418757351655373918166700297887064455051516775687002015312660159545445013345769791664629744536902683243171991721622426863583206556784085730304473168292994670524914351090225272778689041086329364718224370866076637080375361970880042620227676293226904788626078351076679757372792549697545236607473715267029787746005752289487235170546089346711260547570811823352234361912444757143809444170644200773914645540352294319088500218141467446783695788521376203867966396970906553555127632679217057239463424509171146328724017571236078787648479425370315775243363013752569944515638860812836053353449391094736859480379271895068734419016492646316085513506223750343328850579713080808140640318006700704396977794274031769412514396373569935960072005807540361907973301410846321619609538131997606578414495694408564550773700472930540885751626035600650762056820881536979579651478329446882608245116346143128992926881713815998164713888215784148744258267216280831501268749800429906491742794052031374716555110732662251597532519388552979961920957359577448175485503517710926842046502918223755330203565401506132758727156006251964318341108203413880951340673330835502539030316159625249937109725910045696002747612227288990891547811491568440985903270641347303977079505747974551073949372013647636151491158518673282636447687265292453411287371863047487330282731563444726216347157150872178786579082248657852296192358594520208295618143454320643894757086309617770679774237910603964617933290313662708114205144914336452195453179726984510245901465128124027047691286002117316571382309625469869559549010265897465580883651601963036885392817063611684479249005614821696701959076660846172066884613337733959987409726919320980977022044586409614893257848798633147886473836423134637088263044360358913354022466321727564797739090943875701428558440089954381059018379194434468134490414415788314827527034331124253827882128887708035241463685893505884667525610873259955194242164088786709084081103821665447452868437254018174861678140426032110367045831693918091841813775040600698792482789009587823090448818532016995903839398627956118845724466822962426373692434278932965949176561171158076091625460480668652491163150915701652520639875855922220641454077380145254468390613623315421626033250496950284286414898007761864720294527279994041981682195745960998116058944498856612274452904614284719095668157436117834320628649403984848509102012748777712958129205683538400267093697429382121988386907823535649874838786727614557037212861075446472588624620805645512557521147666585413043737838678676152705869851363588737418125978259540910664063422326742091070450936441174202930362484783872868163098476133951927278207830656803995146367907058531209367830454491819406082272458539760652446780298611625251250435532093864835612823878016385124725503182781044691528550847197166731948492541010178003081707071006360242008722044537661298117454349589294757619624408000247258332250500928191150610826217042637635299399573306110343279645763087527427378778172461662880742614429253905990845933858484666011800350733151126021416415911276375393728337589796745671738736206567521382350400802270866924009758895416577883557197400683754723841261133211126062022477172344397102296904297486686496878580322938182825092556743116235408312935178196701734715768225088598457319141248104537729955729233184369484300984489906483836026892972161211895062751642522147118033005943644185608429821287862666110164321778327177676434222476526797351197853482933929145663342097373603621767716426248692525211251290682135952822328097842162423113185220105174820314304059420866774344477474140107590375927531580903956361413994879772044670916740900130053230344206108327217530976652861409270026580585613689305824298389322647268378546533976995673626655889346656172644652992431448308374906001914577319781124649565989145898318891875187001546328594245757981291588257056185641001230297060314545632318568002196706058797074340549020327099372648202971667653902789344811396753093635704469456581274989913173963734987375503622625385944461956289576755934015352023543266464826091913634037225874938197611916097981292601360968697613914394229197393790676901165093804965637302193483770552757479767610038981288545470247966573794174771400772326587722238860785378484876056881163095798381732776061000971017521750071756776405094584462919860600888228725259383616076917955971396812229655654944608385975297227494563652467421355688511273943821049321917874405129213276166109015569413356399562259773895492154630060142919852461605285740695432030008906451337450018282108648084727134353967064232277100162984754908882088540093903551610761015334540404777241064741944595698074063702920243380789720428868271661127478948460348142002731320496548172678139897721098339404814804461838338785569306846478915047989710972369541516958634639801208307564651325452185670987818334075887162388844014411661627917272266737584610971877241688098945783458125267083711375155464606020926578600760068475789567003216153557129201388527566030712528877712391903142577252975182989074282936507289338031110926471391566575807151054500543101671263489567308847406744686302077016445821990483385961234633492003727274534170321641277687992466874405143365056906535831871425525087052279674285554862025927357926385246779071760203995493896629734449856137129283693437095255090076815170871172206809255722331393600492616048692573804255896610186475406318949502747743461865363254416843727934935791122359345473505242285410664477217913517107615780345338101130445315742241403870572974550106329219189348707402632882270572906210131274877318374738233482722413224746583618081576000680391734639286093294678132927870358664458009292166413777870866161578959226752870737793601535549866642068351353222217138804676444916955595431515612916317079575742061679956935932648502910762243521278334183544519244042549136948140434247954691499245669607919911524779528582189733488337679613050266045934195549341589648894785171909169448180925475743811673807005264217999689897198689032223134032677220471646731846L,
151291578132438240234859429169290250923137422417274963660222344630999429641633442487149495223863563136975782437297832071076335746660830754555727257209800300872176743809851641155080902191169420882938020611818089803758340137351949083576265249365573630007400249838371699558775666980895221854819522196595787828916230755796408434285112305433812103811013268361543159094910305324812444990760163284649755192744659893767760901778177374862262461819765251889146478957686714684662935330157559850425594050730926954799756447977742029710157914831154810439811118400221565943898492609399550105300136446785147773064203597301169730230066280808301580393929347880586611728588842961478381753558342253084068564902556244830598897333450564978763715045368408137984224521057262234415868531426642076906770759544483718432928892209450668418694140140699944701035271229526972721146831089472501582791977655509601819598038220105944810332147756679415817105035220062919201197059878597690351445702483471430876137842973643893970301011187921786494681339133987022871254650584657742858102667510380059384085721004944933915386238681987837820351587076862107215803977860583788926572303494770485797088572715198095607929019991954418220977037095613304972576582167929221207554178531804395365778470761742967857417911846752664459104525085972790602478814426245609078262460742072625016853002368974934947209456751036984100603996099763959328986013253087613388880432929962527058027354431045173190539670106078480162605118845014969421708463319323766269856230689587772359685809518338263387801983182543047250338380046556913867451037967359700032176141468519119117716350360810686824167529641186254306148702502862033833717370635649447435045606890485308244089939525402695104054387698358322184381056504639306284051805831390003025981973013655238462062024290281053052125141709922492014399830534203740192246212601256686291678983505869035755084336841301538051622685883211573518281234327156062906861766601793624176127541692093442170269078220333903355902531346252460836592307707223427696943905048458541190129528832499204296878991833601970840235512411785881111402175464948558798180218701838476733400751009511754101217378806500770079299778964169897550732561979398152235617229021995230688631595522780201242050405396283246108373139685710290460222290152992402922817375779571314798841149214155910378823422113764776668878848761360605638161210238823420014118746282494597336889235671135492627280956958625518745112805838333156247748191607051524058428805128728401797277774501697350709096886758551326657697621122692140359382743618567671517649334648315223689150502685663194906867026572498313624729816810869063450483197416776273991966465998588271570114912013020085409194826203586354499461502688184035892254247442947579555129557706995640405948992251352110897270839369458655525638215022712497596283333807178711539192937522541079666386897513766018181613794680081716194711870883728387959794933585244338939719031603675862676611604914152166151326526482780613970954610891318180313742312652404628405447955001852125082749545270844300844121603049798690572874584015434276273678385927620945993467233961496954339088503477810262037492861277796412788261450886224289733322610572362032826418638841135735783076867362671774006400116939516800683864110931534749812738643500609793431621877520524174585502513128601326008500671102251409262733357679259225073978640214971429182518074908344946104593938191974440719296440031429784881869242255728088714087425782178860186267889773841928506019202616927616621242739308695649881287571877868118708714127526989893341874645480579944617351329385909885051102752425842283901464304545510907798252424695441234738931911786618047774116894765707000897501137432803153257463622686896025799772567833984976805582846354342772968101771206962243113466272735424205609572023093165034228074946992215156319987567364206513035660061974958654549599000900927590715196902946269137890039480178765048991973855119036302607959703450282915439115029878532873200624201703472418266521443339141990637135625964911083597760267912947740154943735030255888610909877158085357591622818132592547536236806343651294722043302676356838756649766999897740962280230322952579230231916873462150996653211006481469543110962037140123227401446533888205414635487314579254097973090480669114293223828797601654655332512249950691557029240241624941298171578192803082256786593648804017737426249765732598274164566437032967325877862012415256088477395396132470361736114168887720757159422376551137865800543865757247914531737809275060014940055906548572572837948108173871590378059374412710934080436055758320985548228168700594926829873704033861303642565247226666954424678399094294387830292563251159466225984986197299917474363606621092074993193774915636428143790262763597001978226899246996105470408902376810883789054897408411388076039403010901697505292843528577301660125678311916355863822753229983254200777391545903670864130182684819716855303536635368025818128243117349294053656259229952647747377457357938272123733642075740964043140533842698423543588234833402194498096698106654541018954651425220025158320436043531454836788486767704568379645796975346256173561085529808509694569012750374460090762983086153789713757235114310612241071823218075984556195277002193208232907979862745326522418090064683103585661771137574648222265465176510762722094888720727442782580010778454484285408078710512222908483431494134734100285601341418833201313413212746020821043751741249355439911167884068909154675660674669427644617989219638346197808939379222103957755370977606515038392847782063077581352107343477770192441046336645474546049918766696547772236220965355317298037924740412231759302567090331706599668053658868908689187539865016343037808698049346721215429691687783977609137835352324672712938441110118182407027589491907811333042316090298622802698524586812084556979253829045426987282669832989712869202798410622941372065960940201656296570131414810884677448943116164146449829959663307902717438281373121372799019585239883237636164469188002688311813601573140207871879117707759136842410424051187078930802588283226931042088738935030423958317514832303240567867365658829921493193598566407834579332034653614821422176567717464468861604529928661004603324854750377440186237278373523828579515285506117909781930508176888814004517072140205443863542100813146659218093923308734790604318121416337761L,
257399960846717714389906824542497293704182674114906646319053046308343146831314752909673990242618502227477454683629228823752175264969886228858467896813782303640251510828341525072771483826576537684881316830809794558136065782958075906084831021394658181060958913496881643380908385259807397033493352873857420479253212194812478763758401420440686381469617501878793192726958722194424938517848033223351212645882427951436157768238126959021117254839205532009285034174832121121229659993247564833208130570957570341284923959983042925410182510747555845217638168342318450657711030993469713240735672121185412559734820937523513070853336024896476749327029998171014757537777571529654592984583862633877552342990999890651346657584089127684722553465538379346625206082799516865311489156137670733890766626322861893611234732507623060063076416422487549834694752006951788403047727927296233942694848891290527284430102965723434953229735685461151993127530083224774147272794192262184389830564749798266926849871103862925913472170947235567599808303758943206847702086822392998525567553821947575040907020769904238932398534174388551962592344016008064645085672498823361532988581673231417851751065619890832167545789388469257080230051109515592156835640338823974855712709722784060623232940824888815715282973876673202779787418326620458287589579007299891985302920195457903883276094293650726137348981545541212989272762171042692691242911174664436558765852619285170412042876534850076763326575717302614667421761631119845791178144849797640179274086153855795596392328482360419394334278283349675838606414109876027695459293232544610410825291255552559504318222250102765506002838820497762649967679387349378100528103455109457981638205125560011538000005305977484986728715723401721203296951391368137223868518120663146980520842713059842176786691407228882471302031741181291014285371430016990810499336907172220066062036930443146507922267535190996550281139368655809451412308682388673810719081871278976946753705043400133298598694093424264713273533757365606355957999420889662975925901083143847722653882517441612505405985401387893943709261327060638679894324993787188348264860629126592392906551152498114328364822123441961286699208406001785882689902446988503810964399374212472980973536223734601866005016075465798502261940653506355855021379101742948427682181503740087356020884720036668168407751434219816963925056732342916858744960419195835710646729427208242935552847933460584188903167802867537858760600889543424112566949712761931715132874279969431795586411056052491896119710108038802926746473516773754043172513397260417993098472667582147253907192789343529105672102714601106895682719330544808802561084678412686570598279749983821296921530037412245444996753466967463572532957308987352181384587579222963796488522794066026653887031024706150976604108291745851048337288674759580736224133058139765949370175317846440535741131322188189496944274353835670338863394837096054281551560868686413563576850352495293790347948772813368264354838712271604041044793491868109728084503010365336050708611996160216322515251242199853386206894769127261190859704959995672916923622220013325928306939035767726727885606755364241648349119523645328519834642052070629926285671345331880259212749587113780577796789563305339443585129843203007316581587582785016660783769192344717152346897462807347435293893085662509523915084127486144790524133549955506141119372821408146584780113564242191288409696570984608745515651986265810155313479604094881176968074591450444041649129374641619578959980158026465642015925241947934247970478259677689952860316479296861708381444108636632479447576548054418779324324607869763046610952522885507948734983357547036325416131788552236744232103129214271162847219530919707298033341640087457192277195355009091126271816202434229889603061342356327669590266114454158689724105590322867541981176471910539101262407474216257196077583086519746826471742063918553730930424668863956961366890014442728018281436749396806576605715167208778069227899221402349592054356516715147549395673427064861043604615999521388042244413596890344597642415207530559120001942282200971545697692131742643363280976117047975424513910588106145038692491027842830809726886598506613912462661281932201548768520794723197222573887033271200162180572268758344646669893836664506766525974670432989377936533591763600080262145079834648622129595820592225461720990636994092952309488031537653546216066944139618704299516261240975126752078093138796748628371272378586758040677256012285729750788241422767966172712315909171969071641529212852623424779467899417979548871808925407496063655819869718150264632758635353549302215161157497361377933445599781279244593414630866567584238606806817115770294815009604064567538045406121503666889998046410654586161685242004967620210834135511091029833734814694049697009100796501972467727600334914892641123658016129228624551709525565640495801764610764143606571651723345750494038926125902043765606656440733450639776705190930583262098074189009393707695790659843361105133518172989345056728863260559097790886666163450809997142780120767018932020957574716143491166042838635945743937096123609901483445031268043818937882391081798887983322506869063285042533463653711209697391599724521330275370829894993456070614995473311696132556079064695811596174377069619623646560970922538374366646033341752123428163193938796088275362504619760292818157921600485850608756644723585150850518385308700274118701670579342646637275343578411050842155014287342223466530079832235822254868987553356506555897628318210196996245577223329185337633847071186759256430684812237950523882340385158736174819308559447476661363613924262598893360032569554332840547418365096853998667332745691603320094968395033478888670524546288024409560919285351412147889599244799194387328698387881824765760747703617053718796930148966959841825813565248427768244670339476551841938315555187652063586442378751653036938815920436347973521410480048401835842406551528322256774363785340924437632341957412441578472289387140307730280973269723910209772776807488185971975958192992934832793099851346152908552252540110450562711645701198062088233794261588584837490060941571888130035689075986024169519905933433204607069055917163636980601951066677962248814121890143843734033394804208187571898963119605733964956920182466378481053290487860475249628526436458627486971647890801183763709371791206661242330141629579436L,
437860205914250464339663951336827063630528608867217462276454870984459362278060099918785044146713165493632566820854021583175076629969367675181336720072269748845699298407929085487277388860728691027150353240323751386691443203220720020983987111097942541735987479398904703100184311812945556687123999650343060446344716063893032847160805253804924695569271639931587871638137922746693608156056611104398466366002219658542164529647406250750229556056660166401226804131262476792382758523682345104611255618987119857825839181988087410899724435720564347266422433926277022675839911723415065580816590548899598098610516612723537628889796043074121792615093568158403003003653609510225111177474326333768114924392172653999185002506001735041235855137685282118260640549705632460125223201835136574126917926108951127712601007861467545996753566720341037486748425660125873936500158994459121088202753295677643405223265699839930131954553112488566103536997497466304309658085598351766837433240951294825355480604475109158239592395029793286123808840880806995973946106874937032659941093700043730132212188737098563739320483633069901738413640080587340427945203642268213323185259110002823218431641372737312475107032603833005964579218882558633623219433753873482974819497106448571200499701383730123226254253527707285521430906380321502333185487433736959717228138786623679246046374931978241202168766197516147218796653357123422208404760968366093401938901637524244696204757028234400579297569763623126566772231781464992283290891616245642255957168503026383681630151604611145997549662023295763476649196436477043064587313859598366657952025536042702762031607514390981622868093377283262864989014177909105769302718368989874187530675880795394394238877376689233029118392856680646547081654736521165886879183580638915701987522289646923258389361194431731643813881016489226883860177340634408322081959993864077559822622463566909703457380272476493343038164113281191103260864948404092055835163482771095706168948896030647147188328601100025998970293878426651395686221156292216298063422677138325723150645086383445752805489595724178688684740171466057568245712880417435309731430537691628279699426219327200738988252677974319228490420525706705602012700177061814788276744028892920351477588556604517779663779056368144966822321916046620794565433710465088857666373406700567136701783494013445331871536551456204878653915466264689394773250019329929984293519855861660903954113633322038688653284535808264324551191964687278936796578056003151297715838694920877853593282779035759821823511773286286074066047691742175253947770400277366824993061572056326426731942437631040160616409409624424991133487135307965453317440280397420962759261341211887254555226024208832284672109547689917091904483274678508303308127888885364611175439000485701527132017922354715909009491344446733225059389612028632152494877539143756375549333669493891579655968928986171845003128001629442642785221895918737382104488806962453551190673819586667041517898593257909069464198489405284647677946850609476919303386024985078397668351996840151806751849431748533486919910373517411281916514565527411369914840165594627595874109963009443048224555000442211583986505827473249691892218425956537752797633394416680095383445936434186283399754905860342408411515895028280768644449085765408601928750137539884528804680149105018595974870884484831700205724752523316093536503592713572389476336617411745192938881945876025221404708552663937289775173235453659952643123136671518781181607833390216372854803848884358200358680235466198872475471007007151307117686638632881259320639137580228244706503275682863586357224317634150595390809853623771176472395041926564208288223334371462499091471158190163456542595923088706075410906935989201757956346963768837673339566114984707195510992304822202610889566463536131634017215462936493094922541480117453356955955926975837368959895738846005906089584727759059500242164245920699952638080733122675121824514259809154662829028094070058832478788936012069605788630981280897984283271504594088038072520516962300933187759833942093919512438809127166587100423239943711055355802722219942436631104379883615940160306139732531418193421176919296726398914696953983953753076603088205899414993022733958162856146474353976826355142298142403179325297687128788142553822643503458118420383419438150070931201173705479188787385530820004641763322677687500966968388427921118436159035414192087973833315520309738952047269026474046054459298751144476401914208313788661797562958305240971532127769499089334352868150323026550622225240919807478936536674755190706086437282846368208389393514476000017240405513594006968191509459856769537781320977828117009575483022411986287045479632435415465761878545750957612949254134531463723350852582906543050371957257372157853022511470834517839341388058946281703185571971340245754917357147852626989260529470898449069998287034600004125954987675846519254056756280307793035666042120409065963343195963218373600184882204857404443633392846909002969162497659350481565693761348046564074034195103866661035056361605536216706316720582191015310082698734913024446527822869680082391287846018370796235364080812365873679818021854690706629282505041328762357005637858301133359257576630370209004525502949618773771705732790139757045930886904314507804264234999591874884360057783016262150982139083092940501684439519113861419966260212762921149486706871514939864693961188046897083488763359843192424980354060752712234511144933036260945743951565884322582178815620643773024990842177928575949885846628508838815073324770517055262024430554114316528005832154542424409097079896579358567113998216771143236891126312574073047681076300244507553358537692802540355309832190699247607536946312173317419276402250120805882134991117258714206676253031592712757293413767696069543728224827971927813310694614367075325526616494187166493318071978160261176966785839997755385959819955632365964152598538994080388568798909261275285957251730664091103472776935023308946752761976288739841417532517168432479749178843627206649106035516481007681658906506083896795748059604530439977819374693614928319665527742657956914835752422851125070424486232775522028745226968407615878881721523047144767374703608269343441196259917166191764210277787120477222640005156015676150738835247975764701337062275394397830751104970221569562328140941019800660438938571883831964141388264230650397197042168291423641656L,
744724763697735468202001747815285172005236954443607038277647837134258340999269855315434124455156956504529971654394941371130017190906282987977510766694458767636640368846102866735627623292438605352338913211993968861859815198202592121055094351105422575150061944849492963223522765305168984461995935116300735169738119424084326237053182900671688756256974608019930465152922468476400463421079829107938004491215258239213502277740243763936514881142325257493223769180521484708108814602804196642415549848032402484631756655282485099740666778899605081493610695536654159681327227588851153194618638042783962245811341093566666790987583495116966194445638625686283497975538900658597483461666622515194407182027887136245130728393422005485062484024332109653227810735300929091188808928782152950051977838712825911728462440065559761670558222332641041653574959003918354820943103303625522191016876555924380334374400394679879213907308147775595572029926228257765268779283013891016021927412714865495861687511272857387178904657068452979757106895843049114533282251404072145135005919477470679643262533805852964132120798002064883354896521224438259419832557880086437967388629185783150793119898632710454270224561806431194805624864547447911799930391638230506562596830744860159270650898239544403372707208683861435247578033671777974779947043944069060566102478489110143706990386025755558211882193064417050337856048777027151521821000087788665742660144680888426504626621777493660518236939824374858893588001312618027588878714251303313970847402258826247948363113153684284945548408152865244478488625924176163531376511070353842133018240509986718431704620825735553289847219823911725313796179521036281973458858092343914211592124147512978248986533668528043008805409453130715961914628583867115558209070145731454512928354622544725263441513393058478249654455334707003998529851380862015889753657311883905347718769651081983760656105174095500422858471569727753413923820626628508208173753697094578049540907605926853660005926599919868422800773549343057971956004681242898354495649787700520701599930157104595692062898553892965586875984758339831767900797000368849511743996833361112279218955948811053412883586097074697931029957224308860647103116377534690572827457754254872070813392688707882337473339525897120587806036900047096274859173395711630159531763002779503973299851728124584580310593157113703467374089978364589642385583587507609062850130507977342544497671282530577588934746815303153346151041673643061069088997283795268751941989831835272617120984808659658616126696830643629087735323218458031842757114642139951284197416966216820059643979195529586223641836498322343786909779096763042367114558919685289514774157555404990494453010013707307324436739024592810247024372922069104602307208292039993813221843322585926407059024776310165506763583374126305627583039487568641219381431637841815196171119483744009080327976868142937982430748440652709120817458466247716681105065747378675338277641320659225351937573340811467170403372725834535049200963525242699496236040435337318408282816517534774125688816050748090455912501439244168757217915658950804706227550123551929612138146199972278987195198409669750062233306619989878117200953962602229689019769990377993135281484313380280796902338083493150378331758870367176802285077271674699495260181303518446848185794054060553917525098074650121183558554227316919800889334955719665872426833104424190070243972355925927535213908926247107343433083947819106198613643336511894600682285671725892882486992562955714605097475788761883456793806367723783742587969589170840454162693042717350768609718962858380115164666634279466009122183760075929762789184888957484575048722131702943618907953454945307167337561215826618338054413732643484222055652405809602458937713419476795289534174021769641848118688293461275605269414539268389551138802175333983805741359210758634171944680606620988762517548638413507127450815580927780380943064031077454605697894778121901628794182293213934907047747847401920020674131038419745216206771897159736133632415710607641334455378392007383776041112283316998181485006682146768232397500857538076536650332023175608161734653706306017190494830703397096846469278740052283232464047084858336286487787890866283329577185477366783580823050047769292483069139535512630213319761504794686295557650797439563455037157616176200183674247051889856192415591418229363366321228971469194839879597362159415326977612144296105581582076218605233915541799669776411340632675732148199628288856681648355091095588142368346924306138112560701950998712948050774427598270665115966417833525333562606872824281124927135111857649142457096837905025248997138989154811982322676597654594959352256011179764786657671770064839667490183010070124627559442861874104391254325065487467240329416930395051098159060164674243721288030430161124606488668914381833510585406166783141591303063154616195031629902781991931873146291109924011207087966466299255939472053968040504096379811959593860930059027974746735310264541066414560882101580412014688433367903385605900073675466617934923699836073205042587798521998936983690499816136324725221209848786915036162823608753645438674691204492205078762112077579988062212278596186828463233545071112698104814875190887674040511650524715640667472923620304518036180200624093547051557496218485400278396586968524639588103890513176276408357895308241489905892033667421292815178743672486888106652624236595424235722205515034375027711096612373587360136863292169192550871900206328924016105957923462897464872416631668998625697926207308545597406543098360961523398355844949688917189915987103779352890841477012955783860314967006338345720194089796269420122325797832584852589246680034025591440335253975985555182609177180669137415213503840188401077039237957247026076280315791553891818757252985075784191084345567535742389329368742041400671240309878602866656344695446076402607365882728636224869131654950983957273005817469830668397397611065676657916683490216350773819735571780722795091512975374414912843432514783166678582235155548461497925636298013763311145315908557620243334178529552073325657102609344333482108515826900588994084991081924468191993998840646497528454364260330465061775292168937103112322759551323978938806018656385539583713217469051364373882411524001599668753071521942628991818749638059961999400286909273016596601965163330257385381749556421671984742308535058426020744352384895443L,
1266454152701100560857426247026994792752773685487955321728892522670717712964931443632489552839276672978946657073799036113854632053656046047651942169823403481359534159947110963556116198180352797016070829249697112303500747615025902843285626350775895338563606118754727351118947039667883971270105093285961605066442072704716918800577908105849796563337510767168269736415480624164059563003931414695693180773388972009443551395235806445963488703461655026636008731220904255949115283741939724775968985472098670488636550361063602518727979252410447671875256980746920094413691991302851641683899789208636942232065914698010911080254197606550010571164041525582910205406426379566086613745679083254939815504644310828856849606025141022898605201575773350955273581020702962335179581965839608340456951215187706630529630328802634508514948589380683893590566284855555204386766225426976005623356770607810428254861580247387535317209527494626138440905258294028076906236289811321876727614648286523882259709290461276680673272560946460911043303818392054599154446936990298562564989150477366766160195057100106351483024102244031145930140895835950586356099221714696748379409211581039693944425711579531406773344941025604193455896615230073991087379302269289397473071689193619657331978067689555563387513650944115569976292955044577803648530734296333489213964011549032316207752136713113976844912624390002011877553839402314758733892775031467297209630657649704111721725807115095493547634874358696557975651267754960998071850890730386863055007010771812038702889925878288826026454523864343536512292295747181032876253590076162196854731749471852924870008816857207837044416681063225726552109119479953300388825491837562774595844334190724129264943624456118277605302091380195326108057632531291237864853346831229730750341543936147731334540369683593625683061995915941697731290546959020526793930412562975112968897141116398619457743339272296590426144545016516654643056719472223103699644584102095550736524349840066902199376931983674547572943092313850711275381797234119942400627694100565929957730081446534629701484844332053367003845052949055472520168129018221228775877719522047409848050446440060229013232794141686120969372613977405991994441299600745006905120069464725826432502371471137571226776447911247412847375995759477684291220140819903696242168625982223718336951919630354801399091709632712410187655923536019716960536007605580482200811807789373820987045165468419612482616077582048889549331381814024230865012491916128156432268297969371829548423978644752284899871153198544116550645985371056627808983550816802901139140849347611748408943553619660005526041690949985291466329280713433528665566981203230483190572274283559121852710740412410365798826522351031113978926271108296395823527562340676399858482911969178746215901269174065844387321412074149737398516224734607746002477817254064267012906597855194359820799294251568929550722640403510463279949938637206711262350280554837438434674977123176360175514839110101110898021158143948858819540369148321467945917052402619431749671275102688937155451550250468923858064541207357222547776136744925276195428055885280066013797304258431120558690179107036963612431203963957054291327476270026806477877799223076247168224014360667059061652276427198848945607577506919847639370208635726083356071685939269497936000181403223776589130671553862394869792625220167389010546552870207005231275774039806635611969571515675349567015662494732005562728118007128587317767676205175512878539970063855959723044476206416235904153534226209563601094664041696806203714768325356226272930697020071362647666239331690280724449861582560036485293254717191333085050393042942921799105193937362728256181218787194837347545963375087218335796711570338486640094676389091847609830927874047309585222690283269421235413486228123350308628297814743326971004407816456761675775105289215675791703242417931190682410166164194184822745331690570512535097188059716335831650110668354144885728107741565252925027618991198428612060446732242574443328932104074517448168005869000889003093104593441912949752234940998627824937469421393435316113735813380979288206770025621489193409590139987264923812010909806571299762933746998968400341432929766420006217961796692676889106586496793446257569881194687296240494762371635402132179676970399720803611333566280513257138018799103423342111250780172098534746238706805205279678020923884766220629891542060066846420844644902097881858204012009642357997872299873050445116015463012655938765449786692044620243203122506412148246224686059686312065775405872843502192088372733063396405515582433427852887852553289629650820813998523339034276397368294451465799416550226811935487691980126940549945234490576940431916381906876873203138714103225995116776433831584719351630168389497565289322823855105626229972166958773869287828537739159995232665190473385006630081999205969646078154489765473674704710907854609133506708356643113609434106434883792514181251207688323237522627424904348024964150549584073318508844014020641750546621795661298011502357723114322031119144000538947399920882801334167772866866412009175326707094580151833564694240848675503474227456256358777761975196230934079144404468743744822313276174891481512247481496999759712420263555936180905233767599715908063506943158411440923825940579357102535564807794853529359540588031415065313010271734741759780848969010003286214805739891209193449575766728519015744929884203723308559589131394248731313641626074859498419158042638101006080660883678653954425973384137375415894658496991032558596831897309798443367073025080184541037549950210275414253623781772163634682013693330302368991676166756913055281583417992035523300114874824926503505968606048524023738410630038868326535172421063969309199920782355480255151494911288704852850524846774772011478629251015023806547254781638861165701574712102497880778530021497657002297571199444434890262497448744993672851629313113324615437996557148906199341640969660761473730942910883692474718901434211150176725536866542659260439545153647558232165542359339791051227610503080961836385324027453403842657160465873804382987204638207637949498971960158714709169930423061443085776831466753784470122360434268199324139285002692896634983141909377069101535696512251901447144962415717504402729445492457130261941462973442727049274688637524240480817154971894000688065136983852143067009721928010467652159561205268391955694910544L,
2153359541305902391605851830365555582323782221380329833418697789526086323055387761493595511995657591447097052402036405075578963362162298022067393946656286828386588925511203968551991441026559938481448333533669426191587042435951897486845598006476315077090106864710562739752165535975898072054955958658182052613873165345786496671310963102053412652036937655661979416720462463653056417544152210147639700633357957176852085301779970851803306949983263105593919973696741817302032063418278132042201878859912011695617551742221291261195638496423773134007713412024491673784549575167815403190982462922807145642723685978480171966260310936848937233353757506558164836629999505499304080549299935631142527331626579865406894629067164842233107443280344547289887859702046502773368429164505694098100240514942139912881050577273367524706249373939296878587489283550487563653376022551165930628742371758523693721812756530710938741324361565299896399951886628774845680026297826029923026058604463223596310266630505900394791301703508151305633939544377005431748871624147388282417473520031240842268900699147095354432812598240731112368352602888827503966171682980968425281434295515184250352745310666165636488522032369603714864448041202844197924798427772840061725429605591752096422708551138157005383530467150821880636718587933591846358809805529662581503692508490860898034109772962858880054789553821351459765874767344959618306131835361649680283474049870645254225716437713323779610134803529644604263866434146298017171355564328206116252182852054828372180674281260698118858752503383420777741119530072209890907751393408879778475689279723905312909671104018222394421900284765595363648306390472498087779216954875341506325640979918825651151770437814322091607577190270887054791151985386307931068360785214435684482148559670137837695769170212208369044389596960801088802399298019542837037663744993333527430749485096437137632082385855194821739954410460055272612763187957496855627664915749394776814399853484897926823419327996099768446525098388331241990992918787180444463964980830692768577843418049104011735305683325315752541888593695582492605282327761130626977426934862107778667921976645545971473274510075403138731028057968685533335163679526065848879004264176861748871876467992790851479095672254673538636821502212228450449824908185225027565582137719964755987091431080217046304830986506213393445860397960030727613804716318880712252528638617126508928223084083508715091021247705954288621709812903411316687505935842787073194368303138631042907302049075692625088599826725791674788006274604014576875026419097701535593044860239659135234595804774142390641980345450522298650562586135234669205335178286386479993379902499335487976205813138907149586735770988297551634266689453274710936088845529665011456936502121436471832218697316505483274488739557058908415898210080713480920123349678978653793860628565021434889210239575424103772729316654077823754501120681257987911582435438603318081636811319255344764128221996573680452203636214645464283541073374891914781192198482687046192582554417809738944262785279602551385298147541088733892945609227511919666149233278788051468793748714762479450137341040735359345417800241324266002294343370102942577326222247655420311256819211841597650504858150862696785450640844228945869443379620968344002162365738180422250616975000624825800892563514474711489381990118175284953338316652585396499016309756935911465663707236918067390014698310271757781052492096195716599371295774517057479984214527092897252431695254436516190858290239323724608930607439296943793849125744659523981488317151368016361573324518426184301319403600588476519967098610383814728484716795079321947953455028968748964362621401519647889728347715623950503208976452770720916161941692413413158694760126993179465515014938477979015030320952437335348221385801978820661782487398561345365461148000613297321368475564762573621141622311179476381363006585607089925265063715822767026727434665704049421323904754886880778279548131634595980137980902553680676622789237664586755312417619772191773642979262399656088533724486024181670044440825501925387235667374853313981569050030883503676079859048849989998342087682498960992051752248365000981893632098364785328516261131370207436916492756388856394800928114912194304043425021531515220870331736092965622685587697818694222182448746304125203540196242164500454569774481753412387431928916354594656645389123240685295110047517336067621178737159220219043473232880557529523501875600414977567515447337478770167218496768249407426351174798857748452810431631464402960058403132970919689846354965700442003363865429711708797953942328806733734861486995093177291170400578466276235108583373619261468707082280028906804449279527820860337326037069593573891675666152347287376395330608483033611817814353130497616139974318221424791690863383261872679738334114259147342065268784292016402726888552565423930362045038304993253191525892605575717099992634317377967206761998839188332995152807840425287836451019615545227019102027819688421530746724659252408008519700275368020827123733549060937006424124828278088160607732311475662348178151392296482757621829065383346090562126804816930314263034353909782136804374678227973381620212975702427122112666539007247898502666777867220629263994837808427283386644443293602133911609098182633146936668163399530097535096240825689312643174528710309410201506163620241139916852790454261370366578798183120375990962200621009136199783892202104921738956421483341776811375191458927408545635206916404423462537768708540288956475565562420386780576565178109880138065177977518962088327754057186718562282047234375615984147368327283720790382305738170903866479087173013270592559985298422978011860814355922609747809805429048583801588474121821192830443518250131573704446296977008460282806125905586320492585227798334585626654173634513197736964901798170970131808466984930371804540925197526237158647880311393509097407784135732225868672603205385394984226563466736833350444823023580903669803808551946972146171950172883990462873316727792164130261664392089946343747558764560413492889953789750323491607198868345397107000974962839106565830551139494481308639864579376612988548530815224710623032563806456613070327868526995852194747157526693245059710546910726033202802291072862714275121036689904260293915823538067278762143225790593676723438011162387415285750362273782175932441254634661749081761534254490L,
3660808961408665623363114046555427683100830954633336026609017459701722790527931009395891263820595474822740467662930727320470648979158211025576808980209447084249653799986883616870665268762064258172653369183069101979624859708694204603397548624564671286947513579241754637063208900001236947494128042288098270082166325246565435060532484465546259956816146030373193503021158545147863646053681118363507475012096026308343415344790998876515233674668149206266565760350384659375152351803724960399998499584224827976881142426284386084605699930376618780063864572297260721191925185763939368519235370427080084472235234070055854129519574777128536647617245299792065105738501045093184037554118854749830697213939867912832422865393475806100741178864903086922090316192765748921707930577904251319288094910464927068685089502152443163812183793874633215361501522320274861094794375613749880362797249029165909634148259803749825210062568283458082810642795448310931288496441609361556790898916530021985721671049386412181342119753581465364345887725916069315308900718616398094183577959699088530967183850451987616249973759166420348577109847848696075473175293998949134107794995037372156281026368194730681129226691289448519088951950160303444531178969624620501272947523134290528830273400804435246927735637735565904940922349064108233737517786123612211449401451537756254985922704346823175216727790472377610839535790641051881850947876862336792366740442585747271112410279492224790952843835689883372591570144508302475463606530306476477973319897667671888314791040161208069039988600839340811532797654898026601203362144950383932806963759202553158139501977715306126114244876961576706747788205966508980460848084335327950441486320885742374426926927243983249255856278438876804823679907526737928068543535976991145004495984895946084698772205010107542741351427469684649866964884091761289186188665771677992781873825530607935609530643057995421751989217323624628451043817680403687893651018423669010389742474712735417669824430979054560717423423547562321189177597560510528493278868233537921016023674264477526905036852994007087214881736625774425913121066262684846922201161740422286984000654519506500503803605155159279137144016297173208825605671609131479247019336565377959507741275982709501795102227111434693885779388246823966388297599415936845074840521915748131922503057691039139453963571685052686377313897949415337995935133946295674806966093088499339136654992438684522543359924660657308791023566115770020066958118924851663103124448165369548991891565041496951195724829041479839702113345323405527003068150415126208692130559268063372426201829442329816239903783441257273320816080919277163673082970713262770597999529327968235509966464717517315106321079154057668831936895000035745816760835750832192941553657488652121222096028788226896459702151452635836940583213621336250819732481671081298572469757977559889465091684616052262600650017884800689896105613368955913262962779379700524822378335760478456711895674662909499311770041855299769798474234308409972296383920848237697026759700611381556350150455825434612307911452667478544429433506523620146561709584127163570533296590383375115372134362654297862019335213113779758886890302702334235628253456256393271647757673766702818542834805529815050722427946668701077634191039442028192298338080638797124911394536684845522175745742167482441810570159746421866551889957787578538243438167627679998939987518209123989703552812777287941835962737691104401836473173595238821613197240462387343849950323761415990603574099475345090673246291524684563337461430248624745351785493634851594903762138524049688892282945005993540384215401186342581219708835855461247993827300703137857676324261942520984404564989970572649831304930673789915687839350440346274022762682764340242757418216734304167998995347846176252200072199560286136747877700422765849040021649452994715928470269459958453915598985475818288872654156330741476025970226934704198252332314397054454078173657702659276209929518970005870155729396604174393619048709155616062490042048336109104613192033856303933573440753961964852724883624115341991423829092487127225712923917953413863115634852657759456113041379490232619272946365820862508480462994594933412379678549135012124957818863909287055630788103732320090864263298788537961123133406689590500587397712750775624406143505584796279353780056198982053813634581930541322065675054643304709325530602993609958937553082150706747218726452179161779726209268769027847549458714477429467724712200020069796052542173431833512258266885357985631589803381288462420555654914190352108093821722674154568670813178945326041883935032099672371685375102732423057292245461768977399531479838890378652442262315583099401571057257579498351162674810664427406847615241732736813930005329827482963222823764853284312629477196740348893758449330537815267213379413723383611243092861544941130942459891435839879951097500400903831563084831239010373230344205606715260334953900037028603598822865182033177320787188578764340519551619857846572578761931375099718950359417462187104180416153197421743726884657265362256491350982573617752513289136946869261680964815742966569732516182850857846151397301040183161202295884715212391376658601852451077652752325472621893291168348394541978384811228046878894850784960932415236741933474289305028331388341177815830535515988338982186160145812154069491102773988773992582089487294216552641157539012667093770003973901386684796919867584374375796468305058528810826676072018586240290439961909620823538962583516709618595884294941781853112399841724449033395547859344923018654201923847952504247114712767010446231493364382183934084030094152659329797203380412937090652569985665131820538871847990710691228250600813194104382378939613110490099271321594266086959242127694882319876236286949326063198509581972929809398013991752260655588084548257974984816312554718297221157576290344332136785676762136076791536477347347646141511458885624754848857413022453881036402518651577084602172251679211437127979632755469588746592405502439359791050706518337373124152121586163586436912229803780637923301988456665841011550238242494465832323206840694113977672135208138414773597376755064935219377876347080049469204264284689248173423776072410788642005148476388207737519326737253185232158617937524572727047553320109655871724634821232594682902104863956947618984980984508380295456708616111136736458109216298125842466112L,
6222588239426639333402557686044745524855927944494124708761547279506898556812026206213013115586062976696500049323102204673918773207049079235882479587940117244734479239041120394125609738909676701845342113907179739901520325052732290826656849824736456764755098482207563038113670208638319052530909046895681873856410655327694393403606973368576801201586448543093686920576623174162373756974175060504930447239538589422753027576201449276728625822272617643427662198601918272379987755332837263814079920075932723442884025709283275796674945112364170984783649735670679156803939129119447282576880809507093335377467643987469276479662876427068841154930637712622109948782030498448869894115704654863568241476312755798850197067509099443006398163104453610249693743153937493270672093588655806780961922546847635086142960704659860548367531985952987718623023893630342383041725822210425603893539989237405475232088898778457819510538424663930209316583672871343625035974921356897948424311287079541030609080862890361056091620724462129960864244676068218514216049630505431515272731162073245671621558231026562334881503225314005804669350700953615925554618320954930603070269938882656483452643975680238699256955429557971395643968782403592707000422207784695606998230546832380710986366503063434789938063166309877507775904719255722535539667165654604421522164494849638044861941615189035640475484087987598615200287426897730739016191047629403663204375144589270929320625771730116030781890172723269803706214263344817569909355938424585434614265565473180817281426186284342652147194857209229571242879163275800757059270972576360482180350076691904994888764318838164475045640791682500627746362160669617030080429773134440717951103973163393552675212784115740417602930817001791428848599475262755230151100300287930851904933617765864482039796282157998772217980393941359397590240935269469465365566579008487554429562120875693313773460108123461475625643004037347517772662355547029858925975681978686715090597589117539769806171282681057677557115910355163447166832699726273381017683040181279572668379144597328285787851031176898082616358174000356215233207352819012134225784839811323212345655533578611790961314436091364304507033594173159889598988277144234049589545837195802702052898486441696639292905679702321758255912677139757834128446743574127297348893633001666523939666831643333646885507772452482635961194103507799644511038108935368897386814007666756484173267941971296779290930860612380970221445801568441821847400709763578947336096196757072581524251981456697422415111859280984178048710880845290735919148452653063987717843398677918847548893421061906182531092631489645733146036980025871055665011900839224133022692856278069129752736879807218651768115762880727388536342956738665559388015541801797096403790062418336376660641248187502824740221405776315927261972059510957951760765671723840658582678604834464077227877033915304364102969632261204198740940608749850507442137096673092422066898218936518149477374891822316537927695595506046172039803415137704334799316277159493161039125052711197814005768148792074798343639270193523272643901878862972035121016827941971655137372517133788050386805793088408907601092042233567572684999176544286015664026300674801069055577252916178566370842045168087017157306993673867016238889773284317221443175559735503310664263073724523915614364579560468238653583056410794472717328464488184151314012077952666582837285928976560376704675862464284920196750089096982929079131549208727337565503228412733523223083766293686571922903693112203766170575397862382265019641226498160111676974104323118053413070958247099329062071612512294541903156348490938257729906797928360091022514945652440911539316728289920609839749734977950147707741062029872367386484777683337988928422747884947766523344724857530417425049751932454157106365179470411025523312074511281320411803668149883525681002357190547543989046425138979845561265841164533573395380535508327987369570005936841750846035577877303490041255299918178614798865265509778349272227997013760309466124000630164701775741591100996665685137923374099230137825943337465726304965257826292454134374148655468801068274138105297355168859374130040472808585337695999937521810454103528111467308593384274563090088370811287656206202856783578652944763660387314689317804911565764481816700906624021029887535929285493754913331616263196942229992343149363626540386201379064785607929859161226193574607280503916098263900226092206332775670723343820943562910948597131325963400346705319772506839755688070939515243250421059701280308249728174091453004603375131544829325541240068249298602860590015121327551900898535298868884834195213351214113667004004502010168183677793932667492268982789443359055615151699540130341975718064404690018760144694798654122794351999342726444770040320123825315706789873782063806468477357399159603827650316992577836461076662995527728573496618299788720130008049133997023890772773003143339532656697835072204261252714828371123987047991391916368217455251131869239794667444120296141411371533746440880633662731324567343007972692367280722846615075142870303077250919080571115906381576731798855991846814716070725172768530852056283019631277697153135723157799446831481453236910374345131435914731638144134170214982713901495685261371156082148162906070552534383448111680765414492301961828373717830692276151440301318669760655471941910598413396327248468995198681889413097304635984826432203639695647825521539107056574333166679568578600931166332604907914328472452975191213727266973243699570500603832082399414291852258294807442319183097436836888712447737394556385966527972341608907090600927627007689352924831206086177158807968224246534224767548467686735996899986943510980207790299815715569533203397089117106774738941826705796070339261659850448620697300250935615747028696856216093979781988506561913386254573650599656481654301573298570893753160151737999190771758181017899916569912570688089461058938511163007857575740811707264405715482319514645720537067435952201065214334980922642446772915365226952738267265371735583658241374926211910206995401092843276422893569560356931177854550432202001696316216738413635782898523909594061252420992679494049896442060468709833238625843167002208008137631583841628735716720486988137027288883749998112629279899608569170271815621301386756069561731541323064816834851573977369420122779793769987460158414829275601977074661575495348352653L,
10575443357577375866128137142127469336849532992318886197709821094770803433274951005198377074235088859784923939276580133307560751053527830363021490250713713777074153147223602955836589636923617775841863709556097928695811675870524068064477152452278683930440962642758558088775968558275265204337482709502394846551370008078204400276367193533269768379332422351638226107074060450617065751388432495439560238711114602254720152587734407432951493590041926855362021947873716477045134353268719163092638066816304803846827924840128666566947037617543383954902926341856690922540121554425130507738143483588618410287248286348937460988595595770865092917729924991916251457393501136427954482563596508247491972950994764227281332195124685935343478224905770611589338084535282718410814750025876742495165493469429173643005516217678684012221537775271004664281316517644519787087777446440228865095824895933832779713847191570861597809471999496945344439994568413178627432176502845660482661309604204719514403825828421510596792792702645494732960970918083928907690231279717375288745527582941189380904720489860412013536754759947076995531578955272545167675237727655453316250008863304870775719711901273284515466996824667333994798700712474888991755028297990532821817869431622667908566798398331902779407406430683489099361873967267970626714579785093414766066726795643680478299797590428231547123812569448746708188448953766849398700268130394191649959102077833063337030003928825448003011242572529941634903335316225740621273251090402884917616483021486949105959262499446378916596448752324608856144140112581808934838383188915222402900140198519509576253222567383979003011732430751982405975458751924121149374864757908838217188335804767340272731839474893143319308551670933359134375566937087845492261585522183516014786778138776924659326229189877172783627224678403301830738907700589991990640392169223548519492838575424165971681631445116141212362290969549201858368796822723010286162703733005792622975876281096985496383382227996814736973839183364826351433019077394498030764171898846402680393501518141590137013057798168435916364669797951531150488829930743245115007230006279855737593733505314733604076560471733443926981894579249573094648705525015260297976801130333382638112115711635721714757936649306747149879377206191300951697366662615512862271244786149444581418972090153475172504946576062683513218315496493390997193791040846444033452304293880201593201227382543897796121023348493735328919164175520241884041133607958262679971926098597403641864033890726064411908023431361388788515814350906674170858695692539777541302447636367352023425523898415067969935352478108624782450976367879711863662843740532689586433405803136590014410342681260180933783874563648400128428267420652021759062130985966017138218959679255290191354178176206084676093536597281864782120233195647696520695071423758253006893127170669575359276751234290946907323323660704752193469582857326240446349259277966050073054063064553873512073184514296151976817729549524014581406554322654818956016130233774872195914527924131863816194288983194069231309635311675901318170819199089168127338425484152187054321156219388446698122146109040929425648745526940883852676488271409756881598576686983147070105681603891204065992803526813676739779294488034205307860014865082695514449112353726664496307373090239088232971969162424079015942740854910220435853045284606603502387494419541546681609980577181662705014246806973284095629941230518233618833993874680585981167784447958653765117982238429410393021104898450407398360834232586135852641073115204912386524016137117484671530419002714500469843287896721751543712050683444873438567089888658225908966489839468308984505362913659438902157903544747346954522181882805011228752292195351995818479341316726181184733187475039923431959214123202395060542639412211522964014474425628139930882538451314577186387672452129360019858473722702811695201009018329903805651655947531767105675616976131981852211150253641402904127809347191332035887913044816345027413879904516428346492655578932035061601873393650625347585077089513117612747762930784953465704390299911359295355404220114160723436640366000366809226995569610146900234538789093932986586428814182428471491244147198740286485760816308295624334204564993604286836685355440540447503871439332738137242323016477718733403439501386087494097751028643289712052611122919127853220700974246503251307979230460495503498462788784163996174719849226737416216852302401819679895749914582887549395233812837773016807198805168461714618248972264657191636351770951574488175942043208008861620106408129032976165298965182639350844797473999866445886122335252819470039871931245043106401531550248490564342910180613117078757580349463480693410211751555272615386075838011935883063322483599708890291508675103607638632833461976518378947551957608885570549796493051585296780549772674111071248257217598110324894028548119905829296454870345327199021694337397200102370845399562266490359596820657389065459899828078346080400991933453479040200847941621776647766660835083393685981049178527254355295401421007335434303290948167484442753972626849578834970999225812635595077511286618717035529970306800121002423516110281418537562276867823910728600742364678027122987828019678540118930092133053672247668140030687414836820169059768373667304622579302651473227401280459144002190269294179900860480382803612299350199982927264818656274201914976872334637170955068680903522329954431191553113188045459336035027434438372851791987827388562177519966024114851943018589058151644107310535532745467512281524780056399325829783145024353075544112913307589019781405637455954380554883688189815930788877316050412494552083443809250016191197439601590309721416858172737129650075092347065289182238207749969594238804002400596115049837805544673897956890793333667597074520643048892098388058602517556137900454601365507709442154565219596744951172822930344454578647750972489704783098806478068004177475935068558151961482454990010320264227044971253768267509377770078350639380365834581024811039484020111902922653363454790853674286513961045386278101170279871413964010728863234643289610902369645494994944479953283542120805928554992132993125242451400948690192648011682249916882959364094778745571213170108446468039799980398039156682698777345944568981381911922763653974050326933402116360099779055200822275146366779198464960108031121105852274735780687584853385L,
17970479504822240808626153005216928494597002120499380010229612037645137577223604900451443702333635243473011861626045322206696417369991007402300312878386528678793812228644611363371232789754378271884987257998631359347797372565798294388649317449564268348212034748991468508934438945974357221575487376456918665545269618438131927580319471545479093874526816158638790980851571739850310630104373189950379490403292866163637860932409134042506319257902439803777100185066579918936734752592399691664401631869839013459993733375799958482770738074416084772596215946637471580839706640948987688930213363047711871344854951032313761412159972758477810738172811038046685201375033191040860606789782175879972919243906478329571667936641850944699612062228562997183696643111703654866907289313938141281619140515314735552043165277601235376008455748065542202846539057923284414058835010242854754488034459193809168154104566815476719669100428637484826463188400602930031461562151110098351665372927707142939099149219963617625849509825910422007367095464554209130284018946764876239574554363176346511198871052698926512831932793342020993729004574395428612707717891957844427426921206660268590995449234533398823539313406330664899366560529756688894505450443384653829873577695694740950599296849616429054768287323615429060999483234413180995454506292663766393366018073030854605293240362595377736366340181841356718112847458881524420282426842348426995357078553660710458195948782992922898779199657777051619054242324586213733319310410233242409577048635610965353893842265542384117717347415763181807186063074735841733005539749737409129594256168244565749937653695106310116632930022932307787457355981914265416980219194310906992922227273981235105239600623801706984707697228433871484165951041504700417268065230854347393260494410437191731413658572553532749672201746185774558399479231253624838108282949324014812273684997710505369763273527373534935821438475361534303133024005855946217397094638857126264392899357356517699604190691148225396906859463802899668752938624887163947614329316107251020444876422967715608100371136852824558828559560330995309542774551886263740213404381716890591156447728042830790805132325111831438076419457602102914460475398574665199042077392343094855191210595770990331698895702262382842997517747172204244329155012497384235082378062858312333390666899487204424193598054743682627711145881994649501390367169584055611349133815413492121933162308160797470438061615807060047414865840726939374159400037642810579316054334244510966779714355030465889590519063196897467124013593402873322502752140135798416829189392189920966351060582953012996558569163501744524135033669353334577843389095151072552809663918161485042894080017944022853932746829454042492910573903037957942405069589824553632155349798822197712322357881689140386775204807211614123826587741972335220423070439450534641428833593790840493624082082084729001728263126948717943598809020914697597404839505831946858414893332342100161995784275609529665735192443998587465459231426622192562857680267250790644126810970159384178096433676960690680511657449369098548186912181491365191518722158389110213900178224239016845305283023605493344812569688167513229531448908405047652247720261290563363713913134293637191611109540566175732338270108093126281139353557196658171296959182656971540370861102606621717440368631387599077830356006850166979596398723966258306721915660437175697589316682777310393578805037608873017045604259559546090573571214961331828756187697685401188710525957866717787375678185544002923860300976386942639999725389417833549617210974695455947279700381671529031780716182496528816309125237503588622876166164993803516459533687331834507222498750864143417305326898281407983273153232744775514839754827717015188317182486057233418345126223005604906919218835927306972532495583912000899042089910662947719231176729490191025645293229953304044463549731489311835641318181522143705133638786598352287360962306224047360623358784931233655240244557787933950881959898433845461458713402574435558937859632612429777152592744675159430661694181552102207270692324601816221842522131237416342153749865397665391654019044577999297872529994015316078864846682005747600836409676931256045911155288620025702734560075049875632076905212711128013030338620983123274115702974990814174097495778119230554484389875115318011210469293669401378971723283404794222669561605964404067299444079599981071399700679667175890005159278858832051598094633730430180984895543530853003131044654529067249138501401985285599807447877133089764146179247902467490575850818019324683284444586502669420671511620200359896252727888205692354374724171235567302548658539708462207301582382883856768840406946590876329826079792287828345791698323323857200244050700299483874353513726921739251159861462765512305208042360636782690187687558633184376091278561360631332432437171230840858522600313051361551304565654356182373252121843685779329604440041039018743874780690657237807952997445227266181576255319442690115101077285129845997129465914311795379465275293593165228907852386948671421604622118011973636774991607331134324779718739209642075164402454191441644512694589156936693740159868319461807294421437094960980475147029907555091609118053322300044301981363827303005111471505564212749065027842617122728532621649126762791565590362250893307773518333033120650039977078640272497542532473905759184557839008153907134845154733097045005658584600705745664335014587924310988700392919133623929249136286816579461450471628859638884674917730589116946076896734036544951473113755283121324796560444706022188477703761770741037807234123321685421574693756029090039368261797533273569577859214424654760458482514196396972141576256785359423393176747857014398543550283191116691345824927238880939337387208203958025805685089197510480515280361152843225508871333825692154470396420350674386132057078449844633274036767566576050370241113763798129181032006200895929979925498222287873431312254859065606263474984807741909140110402554463589795595356986844813082051981087014571750484856877575317557930538243851082920695781049516401012219135974844399088565029202730575956852265532479235801356283649574177980997242499637305496399387335858164692726181487837449724544315639484034101684526995092517087353865392627987262929434816760919275434414633393230606884194715551210613020225384689255192438889922042538783930997846675143839224324477786727434L,
30531936502159853831585296296687516584271022448882200276393376949235151727176392848345278633323222798075596569990010314054856961532145710222848384909590919861203671961109504743865917999066301385913546875929898194331570664495204106320208471207110860101091527422178927479321093458114399794785501162838510223172353037778730011647171673097573316193112231011897266226158636616131279423317911573568833730673630233875357222494682807359453687910824897906909644097267222124472621213360404870430828119582139600807204929767617455121769805396493761853132389633653444543899721149579594829251913994150632358139051700329890372891684224930484384229833943913642921536922515973689451579078765413143516359912889828621084576585147868729808589961355026535718476932362990064068702568757991246226819037235101047269918278219565669187560987426589900966675071359320592339728458690197556992670783597486338498983998526771149054327727636532242651640445583942126192634407609732801449092497805934693847009725593793616425668332477845885392163352995434801285200261360227464096953091655995407367471427634306292774630095403342909520695881433216160617465793631727515180656925879517073176387268927908786538344344639367376184418958655141492099938864837586881361717116748618233116027149752836654435169380751867724684532609628443121353240041904588756469079120938226122467918402602611932100426145917680051386734218896849963208562316012365925016344246858187844600529004790962784317928224478723527169919076082975739548202444983790000317822383689308100889250679344364250559028880030472217418250212314612410667476845910347166535074715176015666781542523296822063400693110820607564182846143526596633980920487676208502692339948236933932526643678038845308376736026047723840853033367629588505704047274263028078326377831156912729553485050860780133855957247229080675632661360158263596553406979363444638559916045728321658756726544064099655480317397277289579443053091623718005897658249294296194578929143975747551243423213350110869946785851184151426266542993571040687741271618153433938730385535604578097198596755841146208047724298693882291248612532872799975937209476790877300678465038620331400746346077348967950477532008521931405420046384335637202264714442816742373007215576904164380896931422249299834608671431145339307819989359577507090108888198420956819690167179236993676229961229378476214443888370545755143941061733520738631129688932658209734981571255465133184198570805213448929162305900788844503980038988796646444354541378237598979909143458302005090009037980906848142573846874743118144953300760232344196367358342896831390538735186516925104084669042137937749066228250422212648840137617573674088944536221997656661529265298115193223110165470914412036985361949411563070393238146076324405213540445403855380213839317060561059864783567204717654686609421108957088390011088832164109565283410621567468452910780933161877306564048850116848529607707618410827451588335166911365270326638393942071778141758613881398876314345928007583925564046963170129339997907738630688487405347964375996279642421102295303299007697978349973866836235091167765745091935394448137546381200075657366721602742097273289549361106033358461096996691917143720093162902392205865202873256175811737970190459562077771123076606136022535305093716606599243839694033133781849888113103259799226772671142746269349072620555300028724473315171181903089854132851636277712510311049366259686362858963720278320517764547073304960492711350241438118078808823364524524432001693346525682402781049392651293594690804182304041814381592223333521415917950104061123141927762343102898674813349369743622948049218254325964544108032376572817569802718650099667260642654397383123494949119218866228632108121064621311868314817847183000459075278880995204258718160577355088745657781361844303608939337314987412038490996222135157886665156097864086591723770934481948423858313204652505789201598836459672188479971130910094005193134925257399402076969666879427140654837604391239865313225352898613139970330291892329570823044217348857310189248549318692557257627544978026093024312690619084906849701816058260197556224476665754762901787265540035853825764819297291235643866434331119240100908911688782156453013186549878260186017209258055567378222214303093810543918420058369128383764092385870443144159866479526655437270649445074925963479793056695875281542126849521197352745872614882905906809264606346113433529562161085080485307866356425321702128074282464642231123260221960046289408608110505831657195566733956537733821201893073547252800057395573195683426462021887244276764931975079921443349019974948064154021352586660073699493927503602885670067954383749195861691847482464701932942589211475303836431745300079624153333432101916501076912877356469019031534076606692503868928017000900422111601979354736319162138586118766588209136708807034389805518499679021181328798722437739774726465354453750698925105419867844497913587560775020786468480684547670046777539280315541586499484944655719866371560276351688492635390834284657023006656780449437693433721263785452403762087693840330996044860963459724210984346917798640544687149691014415659191573757283333268810208286011861249491214704331217675327162129740098353990738237289003624759671135220127508161105724008488616916673063396078351601879639995054547640803183355012875178210887107078079851695226068481007415013004765585516483446788069464706621233483787591991482962861860557576576066073068576810855926996474290239977509182796472816797110158211809572808430374621389080147060998107197988556441372463660521873693160297900309251119394116925482789880883179600480810630776487337171179044459560975087120375539126054366725048350506126373294104595526850095562804351609214863023514278634918647309508778212638782198079753622009243723848971915144017743453035540829636577046825652493894813613381500727838413066567759587342012864135050418383030633940928862056781376267723993839469602997523701451442054089885714578745636169172888502753809292108913096881695597878563070763293735072842282513503163381634260931302109401605484501059265628033941516627722146229421134835628311508306230337829542263972312760653298771707639231226314168470137272199099075777737066344936495905017362468260163314113977093924098881913713281583116928893878892967984882846133857206447835424439701795434628262949245791364643873820212740835356913152246973640884754224942785875318207L,
51865990844109167225531353383349496529111674933375456388143858970921759676118360915781738371166630296897850569152185869627065000369893457367714885626110845444233393348561853456952943947512124337585701744675215070595029308737165212824232012991136607374121586607771000160268713056552956895915915656062243543526718725155920399057425237402734826534480762260134603712132759705593876141435664050269920353611614498246465969041838162259000807680597486090407855456542696590699535171926668681822417527057039497747416318467533984358141072093926903259664330196457152082251079835525199463061433313240653725511205243461989299163258730685790789674108307010062999228969299544004151936530189062411883869013848703047207295094735093032938963605365953780432742601497435550820962517479437964188376608638282585055579424469359266857967307739210324985668370974405615826290204010676929258264714973192884266936167106999837963979143995832550519564784269963012998445757933912459575988282168866896281697060199834582623775779237118848951118641315316052106292439143581944192742004523802332259930761985900535274464205428826491830006680752269820227530712214101286257141738617305150323142196161798332109270637129423709390817056765650334191247927427153279590540676418265404152107160088982713471617102621427732698979592092104402709096460569571811340182034308551642566679252318933028648222426576509998758119397317471639303311149956563721980714683373411878770593539860802856100252110049525034778562511713065841601536040111365350816576193291633852069097600001113807696108833778007786690535365943155319806942735177766006258788165029679737560557558701447500945830910593115523714847605274502584850685221527156948860748650663826043350478601160737619246875984405124435007535128280047820921521748171501098629011049046871033358143073371998496218460933202378916921062857309463696059096514104637469657884474294828840073851711947378483092246803215028868394993334451384041302492195856987763270481429264353795791068097277437958070837515744894771334016247412970855425635848531116778461287647093853855479213034092237443072552449939539864340883060392350076340381399615563319468118360315085754348399394771180668167199364692553382411278979563764746827631285717295293061263329778249348752485804669308366656613587162946693519586904433719154802563634992407387939853736222760935303945688484824947945894691952012247369412161287570269707482853606914310352118979604785325093473128221872999985867405043923232232906003006311545613300721464346765256662542749245336765758173278106304909266148688978509733436648639406734171833549046457587654681641696939662067248270027216171673466527744798038152691579909159581137369295974659228097171884447037370417207652370459704077511161250839626590470134558868338435298215718909007807340022552400873026489742729595219762206421161213572549036247060726598474462201247034945959027116957832799389061261937866067213459154983733598701623383109808363663246284496707263564290246836610439681965649252333167373379564662746694413293077099427879482205249197416831306126433980937631143452354503720403168654657740974276876868622565395401891947641397481846146634751315887141648411754291633764476423025479225006103748825666091487849787350079659569566601849449243913694604491785937398451165735018771784908338480254469500879659164486225433153554169808644264349616372873596043559616369403571907909257506793295895708183786932387787356164245269237028266573580820577038301300116071787256835543285184425577345237323269019067397359928702673527006993360938711488550192146655277372332969362132744731171169986144863306759813085089639701053496143844032173130282349451202244122529454668225385258612985099185617290654914704604256415020669224025235358298484978620287115400155932629053058867238930124258812255084638795210182222715086013800408097828083335388218913392127866811748994085492716100478752170488830208478794219289718418651710051747987554193381402019193034792009695646155726621961101710551341470425115942757676275545288164876445931765668063828022831218797387468801379055034577473005395253849555169634719421128588485752167161160717790788680259567559778196687378144691880445480818972158728266949066776525247457508003180662839541204928903013900628470973525556518436985250255027077400384238929168790405722423100895889783105265977158210760206846212961467710835368772349160570890899108747648051762619715720303507338307724945659854899375742759085694323869221315988277777182931210993341778230668041647284403566240753229447614915756747051384656165371276190380033162822871641804305754636176137801409459132529460848750135986378904620825633964909197956917221803783820604883813497244787347419507051100905519549082862501498301531029676987526192155127535483953476658760027808899057055399845171122150263080933907746888488114544560794483161881659809868467699711585835472367301328145989751226799359205919705647834528335308874472392184876594689558241293900503372485474507245354502080286921257365504301092968773673843087419351166580223621269886518921293613747008899960989190381959703236605880309680634112465797201708988855768731386750130747406905069345807384882459171968372547208612801530772466342835671170723251328998352691082770022554925462270636975649423945352073617703062070847213250672880525305464387186140881894557351827083626920014656349324084774568747430346780319781608498556604275131164751039749674082550472273568368259691509661221954201632331560988417794599763713347987058189324604197922758412624811811661646689136300054812037912855165615452180399050714277162532161467153061114640721366007508525167118328939951558820597403323182849557373089398935782163200586259507358048407119161562075543309251309555838337896250299446906896479698301649172275751610699468486120275333266672121772198474653751010946798235899400603184186438382012454149986544278300772344808444732388914880237044435301311853544002479551820901433410782206433921461044603912415959748987918114300528845273053548616149839725593559815288422865087918244057850327831160834783097777012252968341524526033742566077076349685932830151267571799468248533390293139875959450573432782625722876923546985921302430750029055400969543889967887949968331350275267075801139901909288894273841413511717162321058478837378705506462055350300184488125100164669102309500425046044011339635334499509132719641100336281491025713555093377165794820380802476315L,
88093667668379458831862898576164535392146276526815815256696942595992256496904875254060832270078772154340481130230043506037496372051252864237449758083973676903844454342663365772737572853054496059299666470436316852097398644873542738998112818848807871843801500159154464988890340637105435907212993112346659476118866708718049408974954208747753245129029040377718562029255712495012996388950975976606412860793632511411441777303823057093350695639430549251461070984688936664332899446749229770016529973167949261090166711790688969226764167080987936772025685409187182067654174041110334415918439138965367868700161476049381455623143388179882357889663778923771252280757370257943970738810038990496632460558569071230779455786078572269270576489198822757542290242111107476833046024246233907120051118170753466083023706068446023950024651083671399667292249027202868013000476311120474566506355512894637568222849936499515558991209328713065274911046354080344784097700381416748459826724933533799716171471837305667569870982097930632347417619804896994960960271871978083635588918281869840311408125637043419236961379252660355032469126734406058349526375935572031367130467229370871572711575379764834703099202373251985143665956455142963243505528442097560798088069408279426826157069626388100529291158972975914959473177831136225264172498797932758796312859166896813651672536173488003172771127232525721392101869280794556090517411156750324818566565416266961900128567585610892991933527910181177899527907835455090444709081404726625591971322306337385551216618023240821386570813965590064349656916144650073402479647391295955455948747576951232710853473787301157743632564608689134407865780924649146167493109492194756364307234762570521655246844014246759673890973063433384274996481921954289785425445033214794355320183841769880592826083399211763874012454204168116130547470489129247585045613077675273126049142167765146033592859169308741022403775142109376798058135675413229737003962884659390992274702249283435916967484562303062237994208512051459368435705053785867772515082162229413017983863805038308206921343515920335678193225135678336608695886780043747668610003800431407365839250502346021000187322859367210622169179611311674556191585389467682879740114160965076190608869929145387480187966842999179938908985679749889525831634918338322578083878741352018419558216318321656274420118641469334717181712838971919301806703987391735001424885050925761239118068566412929550521948864605833409267824005176597217401748957760731575234275643887874564419851053046317791233597398799906398757151472259585107010858926161680752400786004961383916216376473621936077241587980489522755540513827652490037219967941405399233464260756705828787276275540534659896043881185235752795195068366697276183914020957112566417603160322637749843099631713563039233828782371703194961133630830773240014280878626192867304123887947989652313070814280444898416219884704962804641672564302720696698221338487250221184577228633086600856358549930931883630296965881785827487276937191885703436898444786975679876205254266659630141966169637648208781118154589450298059247215257221622638947220846127812251320417692954419398659282029692869866834399976136190197795444643901693084920849756835654944941693439460815453581441880262162262427067462172314705057954779876761216583198292557726495039175402133927118230103235329310699022103222826422324452326243852766043749435371750400998779044091587592316718959284810404287362941432304918411068217700807118900707135810078842290199706433488300356727209632953457383471440632533142297095932274530275745308350273126857555955766008672178800572975428185204853133804386789689429904711149661455113226444798391874332356743066649208561660879558638814531627976079929309334034921273043735865005194426958984836194826186589072683041719116230241899548226843909432741571229564675676421422727036064521324432554411599314895122927515098404898482847606223610151410839013204534467605158013962881620527910441478972899585937006908350831923851555999974713134965333805503938189980821000577997203061702176472733177093373248042882384791544735651688745731342467899423737270718307298657194786263410072754276694414152317602711262311880332577848067283547702703203994990794044146009109539530260850332385349507479069341256301976131019914500764376802366121993964769773741835246462263187367391066762729466751213502808890566873189262733162887860165316116470361234185640339964109368337081307062563431546184446985364846688095604007282881906841691676053403329325183585159420871649353334042017620872031122991912053555772106658834722745261700762414250455553038055185523557891034801342952816162658959527968726439901222324369676205492973510461751356577988077955161089374502712853902259541967573747200122473225449650908016301881611080787078640920293570167390770209636438836075917111136123038331619163619463334045693094641106865852203328410400793394115845767080253968960561714526905700961320251262888734759109537375823776250628916741639932950783379215780700077910661600251612840489908199096026507361376829316036147613156277983692507701091699997338693641935258946263682106472313776940493378521303946551854701273671351655005949863130167489303466719009526203676276408261196988227537657649952623802131348939509558739864088721758828412379342561324770956600939046359209627974547514945707541239638600378843872823058249164384479613160165036173181901484294668766222962973633970441619107446010220998762252038176867034214808479041303569742206413716877390706756811405023465652025576791948533689471154134473937071790289318458742794633853787163716755624976091687448145118916901766843718070436887804315600975592913618308578088256119868985888606011507101534593035108281920451916888451757333284389294533374308514072796758144954047055453445665685472585547473509690182421791556834430152798380241243906818896320595745110630930188807634791147875545528052909984465094581875499092801973753055684222862588977024177796957518412709670826565727376431277974615899443494062121129293325281063631689548238464210987940057976944441203131270592589797463779445768668522195329397014609974064013549702602436355634924649954280158204152907009473342736162962334890445260801216610179593753045333069584721135873906415172808953462223092595436923517879105088959958987018918277985998054765814347433250812676167664672229415853869826380144784152100238190693098399211612905602350297169L,
149603043510186580751431046172912914596892353956789541291936319022434416004150915017443110893231954512705242249963473067050988916310732977492712179369073451631003230008222460925078031663739073160631045184783803979904759075052315905288539768276486215124482139773822380542874873322899123339285176863249874095624271869580107779756631343435876363039260236462348914932662332048394908569809526188091482346016132820404270907034521338191651543420709053345789905827748419547138237397328281990588951208409105198587558177579603055707737490785434770503344043102926144211716157451483925499601638219494386364165562172630632058466475218149759357618712166905036173702413054571972393729927739845128780998507532530836433561605341472874249036260447795569999836388196554744625283308452872762894288245797402257214217115473253456078639677812219065312455331795741941240000693931955930434116851242463234270530439730323603898410399117128541386414912028963606496690759959248933446522612169988017299722474971886742509586184662083424820299727093491438321399364737426314195056027654241870819741993543573239925695837767245385707294699029189017374991825365797976771239117872705499046301525788639587936741025082528780376355074542053113131477149957962467888667463773275397231972357589730671830868890374648331418701101977343443428405637247396788508314966402104456387809706008812074933305451721348160586245943801573472272870623933272596394154531106436873516073654121675431666704365448030820820475838221008346615335247929094156529802944129988487938967157026261666061895875703360200793945924323792624211140283231264470493103020235155021647670932071148845132739894739659153345171720192027849317287555092026410169667298130737683552240799871298545465880971349391773347292050007566540667820854892794265202873007620066432371294947910194567628718460863204197880885155977351178675134846885201087278370442539929291014526238578256950462330246821662327819315392366348330039996162616592714148287001074416666024209098402008140619384739810454720878876624175431917276007235532434691110243818807309749478620686941193583354387159604761453932928895466572590428410886442620136959974311869778036229010140074312844598091936829362570792104924954004056712907678510969041222133115478968345772136873647472163371183466142395658659730906996764960303607208242622135147719730433330416630640088411211247902640909495819821342270429662700959645980885567520089297092261183775098766506943321355756296375797902440538479715037846264287176085689854740723422294742059826356240232976981187774866476186113125603473580020799733757236724920923773258224294901649219992058038656066829368966627441063452468704875041067512405870170822104584560625666013463087101609747635944254500742037822675986341428433296037419052341490107347572516849656081613424549766422571798482498627217983827434706120688530288866313593967010279943189984252649147018958938948598801726821082324645178516509419344815989851043880466616765796399047779837990893223267432968784521974237480129253978964540014884870064413350259172926903609303061699579940050857018872159672052741203538177130959911517763773079814210244871549954851051050700577002280733120623715748175943527681601289983870358041601010949129050240372729343563029451316715914398613647249687282769869590133165752006278165854464225048727405893677643398151518275101944168269688990859279169414482567503990168498148619735822582620860719183159876744041276613432423809055878730431476559370469460641226578515652795223439861603334567601972082224589020405748662681844383747919751703065002240287268056745686503776326256776830426008729031281889788232845839623495574560680339360902434696737652289928980248072842378986978006313730013605736233665801166514672083497590981171409548688485574231844537382730742075916923856641867553738018835612809284524127434991679978976750880099755454250848687333095885640883414869335219259069045153535406996139708238808800358669771759735548871199007554578639406429662839038020128764606132011389166185978537313963331146933297524913154439038926147076259473600048706537853092320660320306420631453630582222832579040766115661437272009236723565557258412153133039342750570232008756362461038930113127123150440950705235778473652797829045687950973552575560581888766635864755630197293475088157554660039892709035888742310589742892579036000438020869734808020919991704828651101570336750766784899357015629202235506126910326026892860919132583441712156936214373249806152830603098308805494353104436164850640411326260701519323817003339477865630435016532511226066571207121530995908588752301534717283362334702266045860813586164277096806033891400417076010136449344570837426824517387747286209135477561065439842351068740491345543571760753325399640318084803436455555461627910485154299967471744643368491524073351694321201501091216468291839377814181479063820250813145023225397851289864822810869392057884741340768404383509668614468880455515446299079636162842867825111177994502435273264497074862015880334694709611863440134357905138878174887398346400519288984136981780168429456773047441445311201876659491596071504253926046918352006341096008812420397005563555474823436264785942109390902452987188999120199176769429041754802656947319492191475425587068283634545031758058687633696240554713871431956988731948187276960535436155285288006982797080634314753912480415821871742573390881824366862705412394223373461450651309568866313868417681468068427965006285760495843344859860231310628273731958201656307243949465652299231472800645318239150653275490920967499987992789416750055698962964372784442650072629592677073667069198170265459898090085388215136005752544726787340383450522138819265213082536859879011661689539155290954563306926350364183398157848938397846070325236991411545530275913630120319261730540406598676958510582990068620964472930713159698802392431709821428061893295401035642970398849167777331959420670003532194581196784570765699440719781230188792049187873135624910923313648836862484286432590014089403953880205432890272007694952807908941677892517273309119497088301409292900323331578077468595142367287082209251630603191296250860140507344427002752308554221129026826746242356596461466026516461235981892955074672213117586707079206171145813680028029844480681206743281878535737766893020741300628998718400611051013315825579457634400664970668402182014006436348926501897233892661400335709729117168302335493L,
254021181160890862872803812310172999290840278631444941980971002452759623696091747464408106424611454004965498165482808909571337774418334754767728025520147772171359381959900108080274715485093794985715491464821332230555707531186269703603544125548486636088560894635574844109973017024418374962013947685724832538040582774328283220366086238055327186453203659734019353664350984730580155841293799376757401755669201932498374961757092485177955808596340371910490264536057420860149273050747530437399364909912275403424184188107256846592472091318045834971402460270763122169989443685875476168141127385615449573321884376576598460728340192735231917537917881139417561538806147992045057201229807985281077712589330124877010122021074863233732996468536129724537726831789592813425165082456206684081627283896495293622076634498790041256163996889112319283928548916965499527382703318768547147248723923291733618527992729484519038916785852226383302335841809388922032841160066828492050665591597761198284414995259415788657171588931938804705278391278686010012258221397777822951470622492833876418640433039146512239988584819681837144825150776819669609684247080994863630423925003775492456943931949678864121351089351822368960702410337733834368343271255626273915999572623640374510830159416788736048763962129325624729923931878557931185356704998837511543392661292005771756951847606259238281238963024478203685486071358872474840821252362435665793269953592213394779541276691783193535941873533547713178689736012799533190530045722564689226447234675633168364010496878617934126515413582424062509268013101036502605144838967208792719893682973358303198008324443852997424176914223002159406474767516477732778569960464889248510474728083248470123984260909379026573400070373387716188649002867713763398826322582477703481852616474271332744807747158934077138374558793962571308956202887104575684094848614749399407976843746486563578203214229124917650787430933691468284869537125530798144027655481201072129873950841133843361996523537500671443349295640410566220670550440869445176480886262955188637901235340765559347466929914212689833533986197385515725288618800978258396286584264433945232951134545168615961911968139392008074400513251137548586875489566363478355151827485271666283087175221741094895625813200233679998940022110040771069359275685236607665486912026227461915848027964681958140919473295722826692560049469770386799183021498284213364677031865841791177848835061501112518426927049259254880657524439016692394607276976192852165746526052037031524276503136908244268054955959120558696733966692407564426113216455598049447555539986080894087354936219179292917217996505739041267794349705037047828639727077944467891643173377902795291533477749527475198028003085886981831981174159982584777195952953218297001395948166598688832937491673620411232521550580197158385668023851214062769487903323797637855602689193366196297407983826746889322531922018815707953669311501686197898172367338580257105097054082031591870403261758722196292160951608998320644059303058441537886071642064771542587192824391060657757365357149673903990396336881712122080590293306801897830908090948615281265323066075644317944164236727040174775155236882609615315576326663382854682448962435497080745854956096973671709642683924883712545234658766571937876633142183678004179740082106661511603357150429310820058053126875782666118658284868527842252806497520801304690240313856996687993080267594691121942495203248309350933246767715629465656128349352718728649345166210169504458329185540464192690311299935500489343861429625952815140857464781144751176776841451650398762340889927362714666128022536828935336640937290612478087210742162809034711545794527054844832927448777031456217564021585608965406740361393447260337646505091517746446398371735963653745007399932908128791393679119243666170848830512380201510053526520520228551062842125011365004501322849333788303188265104724515848962232680156017199300964668150732848501739619111593829609915769987630761773068981811967059527519765941087038211843212476337607708324341290373270451025156371417275134153403114679053813027726769265511035362245445603535046436104367134459334115918572109495549188417041055736124587257879544787421284911775354208723820904086304179242318624929732124789165006765232525680169726133750821361907400046460457146192581732162118996356641216755798880191533376994460931952698302305470191390508651756000418325685556793721684466952446547816097879862054855462686773529096826658569205811289712398453785371444473315777268587755064889349580256845137817213687374635150261531074707200961404929053540131232091029095589553777009263857991105375794354578754519274162867396860970943058068728328777278085803307517044759450614463387751682861169579179192092729722238082914613576877972959416806167502599614052178926601726914398533659595225382026882781111325752813528604352852020412980615791015607159615112762048637545286421950663116843904007836707813278853793397957576175350266654524659725651205780940251900764283344055122565886992333132377785970692584299067528065724943143611371446982737824128057375958453809351140640184116584981549231257723021563898190889754180212713078133376712237652788304904390770409864012948119392886903223606210851072477353499725760607526910515210111628430436858774682454192009654982484870269679216720186737113586636385037237581338548276384701592635947703860650010059254765574738586759828739454070398219581473585408164573253734696459500845586499976853279136700934014935861442290794365890807610537891368153912172223955300535909051241834865921452694860610723467052485235658050954353009031067418161892971322545326200503930074923834121946071471709863644819563645044312402224451185606979702203055435285853329717078612775907298223937666997242262808486598029826455291826026261283372824010843614744623438595406140528458613144151895527856314904639445912367066452107341540267293511882253435137458754775492937370905366417010662020531992136360729065195559483408232323617468337687076465271757220452981409187365505764608785016284902357256579568788541046938850253044626631646839738989863342589593001256067522907482899419641101916798013693063660323138372019832275315052895663627498153234042488762365990933815114264906570495028977228709273665684698080710743957013912212789468673617846946842618029475433090703742370577018297212667581535230746855556931145905529755107919214221725153539906564970812L,
431254101769137657865323101989357869440848740831439391533869288035287076416292295491462857192593287437669842107821471842905615649974683499800045880325467783051343248793166696644498078942049458391354012574382997436535246710784255799517079084138012681836949565885849086560623998538004920798123458316447765081530830035240811963052959275468745003112174346304448760774929375711843819140662027863572550036187599854705197372493632638287488319103490317417342768983836347970060545826116659830660019218782781939408501435957225593414891850338294492839429013082238638251481305829041076485239920124257772297188347071307838177530066253202489746319913318624559310580389007409428903308112201805385217171411212351690895536073962393830283484291178638655422822084439895275671144750252343076133695665797950797239330623320114474948119566669412938048412525059426422187075091550712985441831235772286560328853723441788473971555792370692528190883337186855054113665790775742377189884958060173047410122884484137755186069059888036295677092991979102650305657478712015270124783731469953652120652208376878979629460312999836938307710843996966095317635621267947949077979221189905229767908203049211242711209286015376210435996421555290067685492240517267721196547233023261626790470165226711486560300127352823373131148424989230066514138577657629181118964854631515899606808344409589158814962720124823719300531602312906481066714536289799388979267926445603328442425409354556811905446457664171893192402085472041542136424333856952940790846105391360153957372666086167648571358630845968919104171346507694204823882704742497641215291964388016725944120842388064594226939879531546741320251841843558817110808484589501808292282270102316707913994050124210345213980721019700729125574676059368028790039756248277627504105840950822345015078500109892885575217059346787628410543310324245181059268293064930948780871931108621439291617352527830400445302546416285675871120894509753579327404432834859097000938649287882439909199342687435386164505699859870043728039648336285285717781902367873622779361663454750842904760500157015590851193413414011748527726944241936103161604920470211886054120673399659853682033665032199168982658736765625958868242298271867202628250912243158430307734532872928619652406151018112495640066567381859435638729869662132403694862695334008279688542750592413643539825595636494201563485706025437906984380293617856546516573160978254274769958657890594974518567987205275153767709749485298749575836265724893460586417178990743595300407012107940083890843495666420214187906509836651277531417638364304508706569867790418013105616181669042216734090073376601637800862639708641295431085239561047519602997866295105331085064612622535125506721239102564141250742553549214410682753885981877907103499722076423535994586423100186143196111259048979796408835252359027921149047289943891092086820583540866579655578265412367393011783906953124482661399726375507064175756473297085054951573849165189606214556274515150118067889549858342258616080729062039590827875086170518535752248591335010288556809422276400500564257214439007305630608540026223197569712308190047906102943749055464009168443932883080606767730225492675683479536775460542186793638111360862324299436248386970559088211305045452395783676820486461859640810750395994695494768409872926121673267916116202082753436340097942251563705418857059052285116167021809888796674852845734937198554907287859678987413096562642968814649771548016801331186804453814089190905672397400088163771015788733741684695237303547984051160987990659297308374223967887797163724623241995994289579518175879545841099545604073377981098919232250906067876767080689117897015926373091992640941520313900476924197777910099324979544793730929951841629903387451833772183666855512265327573539310615689432408076471718402007923307634270497020133818840997233610184425270993293529808520297452299844198710448661378969657587129857756607475211676341984961655416376561408414011913931580373813405326662129920553151198676479809538389499989396669553935898909313258719569996028623101093059238953899237615487830996097591588498886094105226008046581184283201435999443593566213088531835939766218387260595457862726315249349107053415087179015279707470363409391218345221841894892275866751864644637500319610115488316783196438310179100455573074651340556891398758964218984496109742448246589283937195986110394545570829568002468720654084436443355173982600238301411816109318934295851575927144334861238710140074033801761717673116977799572067186507753737675058314920150493544219438817966332279806879910061756654735536853686490177916556698037985955459967770165264059655185897482566725343839314005715510768309905440550844551745956277671175930564920669958772261205987513157562165796221639424031694995321602499875278489764715508091175365536149244876912905326205060608633606995240518261040664585570522278083391638487878645412186024672981724548701227754582778805685752698893705004013160789208141102618816650362286577951937571925024497372446067796898696139404296463835468563851562579712621064511068095927209214851303371931502951656155218209567153076657851859867382432251659020957909188795898796778372516797218297723211740379720561883793950817267395219529741754207978598929427845991907424772861575562047091353364803698793241769222262956140506261277829031674242588988769335373394202302194220871358072896901295356360426156226378479704511264656589469185332449553633917121751335173868058208876413984792954493386319558804149182172190151643386005516711805641520316127260714879034277799203116969808874748842671105936640678217476671260656978107924147961661924507612077802076122114363033637419581873581881960394667478466753508319702429653593439892760976651676083260262616349707513136718465991281973982142074099106043031587724793312203801865885186861149956507900846676015822913025954076117133810033050481359087314424429298713548775962702923128391369263135826836289115274834508219814186107592205659175061027503324023816361776308571909138570747575851880965761232781089247211676218913099612652313019794087847515378684491166440116709662179653238995013286152652750355824380789291780620652180024113895059635387566112190125279842264786965573589667068697895996218286444776112361848433736629474837701789378827454493757440177156723956529358477644190046551838751860192156639786022052783595597878858790760483289808271280516770198327331615L,
732032549690365041333674166452112641987329378348682548573003393661464154874316176496629165683758212008882550914063844225391997735493742278438322580860673747572700366836516194743010430666225703341343936995991587348651510961376743619678750687739964563445476637907141085118208473624491130205398492354662657061938199926279326036071350765098952943675617909573402854068112990790657763411954945513532635711497664581069631961761969390801259822943801433717942338183481464451462828238329345611342909475267021567774920199591984453652638038818463482881764944087104022781274072874464337359232859291724923651610908492268141404041309654872413449757310528834718139178954233158715593814389678867779687641808085911365762179299265343688942669174448424080680548003688935498036439340401404162929447302961066952943188281738103410707707572294582873390043246792799173944532204421125601635467779321467553945739603471961639113550086075067695740353756834414943085797894861993206032138214203779102739726362747485961772649062107908607004407529485598488144118558177736936639660380509723366425200482202924613088947309402136602739708511283838219850839609609523013499265316318061606064589979993618868406196765250676436789339167890889448297920971820437919370351142017460321865714611039471118458481715395111179884354335719703737046237875043700224044624374427750330575152347846162371545255627383405436549211095757565490701033056711090976556796358739209991836542314862687721426645008932518291242278972370117442619309606913436844534754157004759758154447689769691866193177577096677186712753754933395433450815945401530281491282382030611095543044392506055326967506099527894484027137378615319736423888990208938671063016555555347167733477540125443469474287055149214357898099095448319095860362582003456734322392529738394309412087992161327160418397408110630163249709286441519569955444586818584527054451995784503540440340735504352486278655369701866529897546878190753498302718064750297740831500692906110947829151653660286597638121979759687423486979129594216727682329962500805391906262373033645065581331158184285806936556278081370479083391341803394092038277520745599311383494996588588302770119362580631468353529481456568053053823457226687071891800643973207065582836497850432507871129366423752222552016232687355379651834389890142989598093884985641902826272814053567821306066226187849295284941308299283334045329749194419846000821086170223327119903351886583149157470100880983678621969245190280191305876209600289327257582301622748691303764528271000346988132798254802595999778459332333539949522089745073107477932405739787437033720179199920650278559082661236617597951610912517181309602252526425905417871382318320860672707403477546600477565947664476994274071565608519948599706215393994116899698814359489621916767097531827340436455827471785502998300239539120442045002569463242175269688210351056112250794361328215835762774637040562945270985510277515938275842003284600276226878539104334978262641838458008949633625779460195456673707179126261970487022522217218985946990614495040594675566094265215854327647753882984331561816842632096053108000434945957211995843539996512619196466193107474835072478316566276244010818782639807033929294335382639597718696910864946430832227189683381785117305670297298172284424162736690434501826130750832862963819612200091733196176450605250720195437788204468598854473290464030226963896875589751051786132231096736753506961054936863782578948343946851562673608860437571986776252025284787847370702906535906064074449833720789675272426985031187488871172018290084006177846503559247179404061451152553988045934573651518899274753790612184403808146732656687962834990197848317515466063450880565027818621274576105797686696309448929497353914784424050186271310642945049952730541251501271145044297283412417931716143664607244391194322474591434062170155333787101743247316076772341153638451717161407195170700105798211719102674044367398159205914343037525577602112957955179265870274517913777131151717138727867626605294943417742669193392895122166577396832762429742056401985192592022538326792014843059274664122309468347339789474869413667066461150871670995374489749996728804334393951387658335990637895441692762903277205192356231556799785850307265979422696718571332387484667976639051980705675515376272328799665517607115236525733981076584148252468578622594037360937517431206388222705521493879853868434364061461247156363849601271312670026189803165298460851164889643895021463772002521969238977766163197506802308946791474290247920459625901676345627652537099601172420367943670162906505537131985069165270209015024083889231049984713598945328418249635208788300828236424444950935337637386946289908433424975868883916815987123441431983361692637324048351101535178689724717855522571958921066662854945246313778145043637049958144103950145014419866617280913197336847390417938937999860665727598580632780902973687705497757719313700696365064294126307036572592067201613033079935238998976542966355037455237668975333077700266023403272653934777185498811072146894998565365981867719837738313851050920188565244152966321545116376138507525932182749305039134850457100740193837639197845359387981023705523942651778149991982502908186881627383575511778601924355802560063922359676289039562490019673358998229126787741934442391532325044521292218141735381608824302380899482282581302387057209102644832141820330441430157390294008172478446934651630253661286868174473849011880625813320944470721886325522229196895201087105770899451024911551546929990643519270241685951990631555405633192028758418874970276154780779288515334965893819841978722065355374731933671155516551508524265713065755682900403734447749394762365449239743422266969133991495128878683589382001011590144939669128139901612181385861183072840780085334300645938203131597821975019949866244835406294009534013147460887163609906521495030943440645779352283843135068830101086210934152596439894171270704380606343242212890234929179257263354176208506308536834738843275478407369710516253856241469278327813704565796711600463753769459940828528737993148620958628987145089245668193787988201867576341304757933383902429545276857325233242225350639551818037232117799003766084227796401084803845586050875318416033118673210698098706806325203089491959856584768064219234362718809173943453720213545218161645447898576723968572711391146913955490465398700152656741062533120784768606002148432L,
1242399969359119622976086486945181210228564231884621924303795238208124385583237851850771732768318120600578497993774176965651894067313279590635857853038267236455406435003583385488072948245980349574417532257164700474063019402002474046728854071477618750999268624894645994264529572004309480234966929868868962981483986411800875408131740264314763450816611917559936448649894282325012387194128033753220807913103894719639002901235880304261162460555204476473986099967833941912246483236516714193547873087581771476452832713023872903791485245010057344542249172212056306238073342138324576961331499652334103989728478564047853202731350367837083333302128995083699485798161173043828728229087934725666161001162756564073745211358421680830522252137984291413133926350976074398548087269524780651320523596682810743028260332308435808710875329887268756920209687046510136608785747133131116684348153043758408029812236677562670779298462672018115428171644072959649551137026887853022049866819758704885280238519972826347090756849876214388550730683000537428147448550225477908221977666467441499681492568482887808166948963761366357814106351553768957295959634519730224686580741206755994311000588766503650113669519534421789085865162949820006322178466475930051050812631309121615070459251398450339967759310707559677070583531546658423362367142533094534803263403121207498854068166492622349377751143899194051462501204605594371998530918264693200267200632065345190685857567804921951588901833007455027017061801224891848526046073563225623892500667653354121800467267260756905313110665112777016295244796298927526627729848447848428665649376190255146707069050251619486110799399821954674338929106953100031279829209101707088736240960419032159557889000486991574374592461456175332210986281164556762881431999021416952454592119322368739043077398835987385716469403841547948939599556494616264191132568093550869326469023093256461851605941775683812512726216623744024201418714807610923045557092448104831724397792729688295592014058312877192130937349226563415944160776312184801594091100281356135133302803027014703808858628507142342065416991987320103459754739038752509828081249087756497748315552572674366702432231916829396687526193621911819606434103210934176542919978113161678479068153202159509817846761333569103392756538648838067541079435782506258345420059534383617815395212998774613210557082405011993824552310542110147503440587112757228838024974008301803101434772736156806991577997190339428770774996142832488873215006571576116634340469888510960897551632379754720651807436098798730622192870443515848423228905991406626368705900598107486949230966887191205272151514031010950335021078306139139576695939950355553495870882995438428014047041466815401673066523764191346373017550960867550185586077474336364587907224448051496128160900145331408341941979508702854988077844045074743466409839297628394900183331741280822833413923966007597822882286495773781375905326112635870058597820805380793501013682881644964906027638489057928603524134519448580675441207600718695671893122559507166684574602058272295995726481084809204594705914636584905554809026175613245875520568030285868315184511714548719508837891534093086443550642698197154257417678871785434388766148193878204888121236313617522212091780936202004826290526707940762286675221245489512408721286143087129538576422858431653719949966199917127466272492538576711697760477614673850057265954443032611685698334990784382776094304832392709478053385221906358481837222672685391044993069149038737509327232032030874580240307842594992688172494944166513029104744388048674625140768566237675221091369201926859149608914497811556136107721021401457155785668083053765526077598859014464118707473681305034323915247511973796463202895889770485840595172308898486278913511007633373791550333452042714736423365721542520280025404256754128185666254932113116377884645334735368753597028132974922835950588944605658318671739468468281012057042952026028468430320002174033332714044940280769109546190575617840578373434274138577619775319580032654039078959267255770950543614007898273846135951922006725858813368331943195477033954342000025544041282552432562590832237853299588259542836555890951570517650261737707810745012273142977899200482683192700073716591966981174781366466715086165260514845066487022724670633999248204497442772087437270362403539380377160872087324689260664460432288461880450678626688018663511924978611006120492815741862142112336845123377124955538318462126012588170465023024551748423755093822245979988855190720701385114969807100836573232190098209965201887516337602218885287682765305032253986903672730569222056849899460607159451809396456458663571558905177916521877812349259966721999752159715211784816056048829732977749218427003151675933001670472068822516458426055263356834588200675417719294254208172261441014081623222649966463122388128764447336112163849067858083773160025426572380791990204792389812276850681109415073415189333575149881653346032514368122280309825778070176190242326050024644894805353599716165527751956718841633283168865912389802471523663288169676465653862220412390090412797987938932368925257470540455317288739539013943968708156065477166149698550996168612653318080279394615429618612893402305197940505939526777932891397884290187252529063790874520871082721725507015578900281974262073338684424514412958788121816078975393842535912720423092361952410432585535256298998406099907215333286538787920505605140221778332844519353997473197060071703131608590133978123943971751586779454253135729523226233940578421819762003931117331642920061835445989678017406672688321446599388631241398558447238727585016935857736983149658081673085444763941353926327101260661967140448428142890263188666415296765253104214634984747197034989548175600844259618554166218843926900258192281299219375000650492709814564371139814151926089832004049998561915241639632998025824463844304656712726030013031358984333448918445724744905299233618585817413225109752861944076948964462641415041079287496916454314681148155892897482932497486413445787901596176169393684010426364238922211524073394420505917546291852739690939122444195215596313205990366864734053267365322050689148500020330091903585925780144056031950205988661067043302822843214838124398921922356671928542618556653176793409602398171247255835344737167875066265204798305940164474954173929113046902057120236473117731242438631711507704607029316958417515793883202202774L,
2108270821654335560020535768734540599746159455011993036987381347835417026931673245986853309103894542769095387801752353275584026230322005490780254791833033757918123000642225906720203101451933858614104282351096822143728206953235555699541377055730609657442150168688236860154504533362477167508225285594832635369372548514700009179120133394032064710030514914235274568279270109392632083680797014254823731225166351948831595827247721149013209579923517058681758744614310809901243127005491312058624477780596757449661629317491230056875192898216294000428337240796277171313462712461791721211693769594686273534927201485637382270002449159101522184662931830423277813263227398297031714840358619791904129931423528902568297372943869507840554353582902349013536970507650677552040699749841182742838966681238172598637907329134651781030075163474651788585958327502691646305251711210739600918732800228586837487338928778775302346101842418742759727186994663039765906269842067365431688119512522243337896213811729485458554617620172345562660457595276342019597496950591303587714948760588478695219811406276893412407445578561121452120363318095379171964544124119593931819209254024000235593356996527397525897688676435930915161113659174032418923349899726483670162915221817029850803006691858596521409316108044403951978728122800317865364311287815153542651407921437095697316289113969051025542361239518786127658508089470959989662809857537384689978370016292366206525675856243838364767392845478721630214664997173284702094741739234664691612721404018268012440593744598018041382634333803329203905420005257157814123191006674435677554428618598260668409505271562372827920507803687864941459034954245293090746408691790364382989854798101512081651946053335080010769953075098696088457731749795160469363779628447929128226248988539319447273173913658781189642120765670553939553276778616427604987851824300800390270819263013221205147546143298256418040969136986369195697549915288773435728708603315153690732298142581783707528099678845249011412215701410122861346487331660269806657971012501943482788179065411235380867927056798054364980966779059725299136122201786446697557952920927868171182323163522586028398619217172521909720206666164779813033468097277375982014358084573478531843974791146501555610652932125192350211132232012568440856668673475615474960573009999231965723162526125819022507988536586436848796608544159521903492126951532993648348497222436479047549221590754246416701582062030700261915609835297853456765831260249921987597633209695185722974848633210094025370216929869621293725735628472458818703646270267361556205012780850224235277732946533761586205410892924861277695692026728032466579397248021168190106747066796572348024874026878685460192280650448578599248778732148349261422315651320761849227237439397489909490959139850772129044262051402343471715614982693818265213460931644283629323174705694973218424090926124839875718174427248911360676604895722547581479375067067049950835163976632341342721090459020110890682479900976835259191816033887871108363007878208026970039585259292542215113875375040567831207251912101703300583234139203049415588319683973409283077707459536355538601730375269791827325633331316631642869070078489848064743463239499219423844597854841546236447331530554001611403317318722573695512773345706703432940050238638178135792515024725928567115375616306428995045865561100408536978172941052845750958562013103772749534443117535688026092518619577262763195385799097291802967332990422574700902809130482380267042319409090137869618310694129527439690857294390851459157818528117529594387667948687702706154290058332604627207513471897013764779824013899241408559202902131879624683522494170696662660146527804406651062676555168414331829676086695322552469059691018422289580196184843262918524541894551595776618287287714514089355205364703532106747486764111758948098729143589231975069034493246519215392247884040402454698258137146433926348516875884336060124875289277555433076267944331885836726814101356868837190582907342406611066878449057575344082794347437191465147493216764079555909290467658981136833977529078996776941965413174192762904003637863859183350411966982431779052369529182523884355971452658245958758257352760240658603309276447223020319106537456982059365605964303919133899082358723411275265445492784307071077072936165947436243430744182467819139135460294790818177907947883167930103224402938765108328705093437859615538566743932437215987469202106066676394966178212247893959858838828617437382007295361554568786364736767180826478018139915158204798927854851051563713243564381279571998529094837830402471858047781823176007585525531150323285988973638757840772309556730624955118659526720333464824825806282448510833220402197944463472303320698630449815248428324373148976221141910023378750335049158942159912507717181527635556977634822542133371392852565470484954976618735738311941716358838794569126078283186479778366145232734195059302945390563064115972677702029572768774990625941412884142279949883511248201509122119180660246193979801654088394730371712414033488765228499482229102610227863488192473462830361145352925299623373823510782273815688139254941434360687733278002078408122345003648735459103167506071197406968785340965304292288334897405503229694496217857566762917860798150006140340590639417634431637056008649243708420330858510952177308825845251763854495413071688971048584912082584634644226558994433068773597851005027564526992091522099421794245106167501161185903001269365802676924178372517477411972863933745650641033869827628730688037954673395890830240631198237463987739924308369551406371913028163999297124320181553293942522237807593522443733213106022788982594404845905025362007991402138123750608160386035646006907391223241599573427580644287110336455313608890137367036583615044320717859728114092227955940523101669016435226944186051501972099136895128868254260706788920040516855188500971073633273463875259040662775774496370149995674481460780282993349825712010785415117544303529519911944810732532536491127309907640907790829901383860773734671012226205064611909895888012534362454008150851528686712368162868259345103734168916596943573257407475685373738813043471265738725816545253405761780584439064037493806243720755597667690465820977249169309420405002134665696401256910072043714141499243230815424374675650668216923394228145985193545425707082585931613288279373165084593001656418271798207028267795634L,
3577052638602642074882365918773912181360506574376996692569918710609585758335129935725925053709286073791356687212900263174831519781359444107016527865224776027859754421129198528186885844585807557792742660527142451419841258564297305864321236938723477930441025416932381340628193749911035141914502655120357314087139221928591976559959969865393790381531325676580809431824064568750418666651828311169609284030944595283720669651635813282305158869248361808907279835614160344919799007837431249237274288666746568739390668519033676215684384393613859699669328982197403763634009930996188667639960609347249490171572699770020359720684971055738491177409808022981515947683201089762378084557295396549600502539270055655344151658893153000314320004780043839241502479638090626846401075648070272561880793882643087699024544576927686262532417767988300469997668576721843763096794212012769816627539905805172576168026513968314918757683200143872180960684841158820243487380469637633061818206380718493536512190693136343007741790522861630827203110745080829284987752651254194311040229432969631843275546059789567264261189187252606481004269214914383814810662656135482547964379799830423383062373253083989863088714693779110884177426349587341669106498748170647207316251197884974040417516504893588774521325857359603732651890549126487134499213802570451957061485202157669955557852681829950829549486709409262869167911454337524546384094634119951235001054005176899855079625950400031227173408944195481597761541057910910872120997684936591270934393830221764165261105701312029132140406284026742439493397279162517248143529494261321431058496949900034347205847900466283806026672911304051309400445380855265362991757303880306584044446396173881752519671428132685405185637386675578598561316949442122770637332674776867608281968643996141448093933395328029987314608506286387575407824514402204556742696012786920941381808102589941068596516990514684610194007536990571496489155668387946643771993124199011412640658646277132422604979299198658200571040867728363995584778362929862752427087865907297597841776196883483116553144296766167814137945011329251862093181808139065729457974139501441895098963870742564184213831399150426173525082398992917458542993044050261571706327431023341852171001363431131929616090326448949771002414891444440366294752777466373244775554365598164975693545070374682891363334560635618961353454163622542527524926515829351911289012690050524270254289181377769818679239172622678977845161366724538498582392880339238635818340057155515515268768086639452781373776379937179943113252314587390500961330917383674564935268703941073854410992296600281322915709569696764585586734486542137303478791965202912236593490984727686896086871823837551293728973689270831150293378043554863275070177562547511535840595524595837766076944194863924714483849827280457959005545260651775145435043961272659473378042707194042649764582676914521376253493971673229629939132191034337356165149455307896472774563440057593563971692679493674749807186869623070960666386812183293650346166794872329798163344794516911260503323519988889647381354258934032024146695261406899749228429826986619982784391877518902142654977500753458921921808589761202430828505115353828236344726678254784950121480734094211031284660635314621951800233112856497274795381940793091170053869301573247480392999506884934512780496157906888005395874246237598336619373762104140326151816414350078042102224837964183643940959059265368744838346088498066897520677970029184703886492184959670972451470997224870484359752070600618641086595666498317917482867235172748051853662769907489418804588185235430734887472319819232392190194555230008015565678262776128098431919086852353221423625473514462120936919777828550037065732890803416056457774334638960357954666037142467231846450932202946649148342135870954591647432541685964600717959282364538703519899063166439937738721402025235256125307844921971519276558687829185114543129490508908607757522092490863602359787556047981280977442401823670784297235391473941876269771370380701640428116036834902558794173770924195578209932826854055650156878018172562412219771949753510295722640247367421325770555118921272051507755567888456477407494571485004999394314359679161593916992161758727895989764931180240894138684855602758137812598985179534397285811547129391876449865128742532787999403072965277890227434239525828698804169547742025057934594411596218065172668973930320668271521584971923080456155725356961403875358397844220142680070182170082798013511007555727640345317264430314021674072953734472929606065217645587931264028345906742975566190487493695807433492572086797876748333663403552255868614628551786631313342340483641515787826617373017227038524192443138369740047637390000416011276778011766824767045447510446000423693189457629948116502876483435317466269430269533075068953587015956687372578939594138598888348427106836384918797250886468938948902207910457551399193465365862045693284810509849089519058700430442124047997827863790575851751812775420687102782278905059792373048607961181895027358012420261910091551773479463687024353784066255590237197436747129938618022305318832575238395598014898058937433952409444813880623314968435995789444747213554012529611857830891176616675856154630630315052394063291104776322354596083276069711660953165164612982198620776537252040141565391662682942217535213308524116495799325528445230639319748269448213532528562025596700554095615428037503507174131352880052504223633253835997033528178513829870885988719499642887161569651407810903307685759640396859848456326343045993907020773289915816775951094320862542043679802105217494658331462603710953660014550874648790415698871861561315536335799795434304634490721142702729170083245724136608440722328980161260598470043638414243611495596870257555087635050642411400477397991173923730788708494645991489617016624384334359434998947107476605969942384434522669246293790428064755538153641375411059057396063375159589861750454714107778713383451772997678401885010354494939414682456394414011442569910631369015714107716591924807508416799104612321696614884387697653496296009581128143633848483022586312469075771261233911969350786479639490078390507995495499969092379095183217323119053050424218685690339670533472314365767852588849478037900814998785118102357294221966064050715895143914108212593117130238166345017013931890140474005202530216276107386571258279645356059740903421054385888306793065L,
6068177432737100403548458178269605210037267177337485180190367352018843882472136527415498900692678703875645078078243576286285862915074784137724762194016698059936487106174859443364818509432118772393288154490533730667046785467465808874962241839476356529558200933652042176880770869082659033249759364329602904889922595151911018120774208105796017898056028138790864854842401957610464931406698891983348604235724737737787510887417841179144657033902260794694448046400037557451129487237729881106443335807699192349171081189142369311308621183283118687499457966206438385450508723190652573093550747307505106666730363071148401766774681088597083825658598859108840109099944339519194859933692216088106833968230762073324546145568450092485736382103154878170250318876929215428422705176764722547514720676849693516693404052414708518553423567854416224367038087731617039110104591668231258920764085974183687063401842802854424727643983549251006289036475326193398002476734801114877274317578927782792647989821347011535632887650185367991309131842569072299580822426842650388446274910676359034482710737027498699162077348407214088335612205491173597950871335464176079344483724150623775244156313556921946109426726656215732463228767772944105319953367292950562399943634588103161699314907089062181781848656989808903141313558577088207815959338104232396886853549300258063499974667746643297383031481732849986098332690156209375319806768076987603423125006415411709956305707147069765847543557184115947059593865856665387776871909535830499666266011568176092247760742988288059390617078367897965944252465951752217127095914170789684378334831891202747604869742939648619323680471829415669305608675403807345525639590851668972791089079450256274942100264213133363796456998935715830907468966892015254851455731746346422564967579326086885535062157143742218717795274002195416397163545223533224486898339435285590964220518179104132681009866196570003133588745741486120104198728509331481946253997723336859205927290347536432946757012223648905373182065598850385545278890462277261591245120168026919562257170424502915654335677168154206562212252569126037552381755674885491345198735756700899890734768133166163748395431150136842197585020687718556759980590650329244698483788497054360682661970995890861802331086376927479079394581006836872012851461974942691542230869679965431083840455216907125283173124269642068189386591624065339105972261531763105309872839391629625160425822119032374328841714826636537229514696124006655144107946139628744593307372008920060749803316726918951875909570876624302087744751690847057314172285199764879024689667114025599453008624297170614781432187019950848987034249664170781416289761162711089332196953564759303967577666352164405237093550690377448766443857012879155577100086181178224699116022853516723590668286474015397319827926163118904644020342237276046706598629693015588753973892035859153359351734832939717513752118636682354457318278258036154184418599549396122273051557163675811791533646700398381374003148003389947083608377068189376175919087783194358721566570669104118532309039491514210759780413435592371115039571256907779755603649255553646042423627606367548635228959294088231528475886682652626677368756009312189621589725242916446333124814050233638483739359819194513298338677690917537545399503957632709307498620686045100454289276462196029114555035821603508415713055095396991394801142051003023876257914784404820461037571205879351948253308774182810696444778617829969187674030228290556029108912017417281076424897930612453508775785446236000669703868961277230366815498637539420359091604521120517394652831963957629871237191219922118531064071730100911512608300489759641293699162072921088536580248067393767158747904541826111743833271172970138454046938706316400971007725519753116496649023969008710298265057436981611970611413510302702238447259302065105036180997104822757362760113450928428440090231486296496664289371213910481594531254206634557756103305522614396367386805624023923357935916786665255817773824292544355482831331129725825171035398929240834587003576556917580724002772608738983900829103687993462015155960315804523484909180882555132111246890292485816102298327972058966836809937012592189665896670765958940047420230750175492290122443364289819281660667944307719534099387932395750437057109077255082077200281818069569176586372668740041415908079962192383247192010215836634349696770809422879462455012360846975694917839536613956781668897150855797176346071486754151047237808055149964130574326747299991311366820902994672913154256549016485213299309729631926177432908326238080230397994145606644777391824239366183768746255311512360699692970766997642130222006632725746053833790429051809283457240707427854773243234608688976635575979147736861010941441970752492682654935445614366652550876268674625867449323411703993735321567535767885682121689908507341512829767684677704096623974833169588067275199496985107635446314128346274021220129533858266331878898040912878153564227087694084267392089676034411788711036640055604131512607456684216434326368134346088534371347744411585597249427083819638860583611646743030500368555168622179677398279259520903831570062699237610770667446681805540685824793385596275052415036376425493186238632844480526066908786694964483789639118421475817632972128996074108118036584250896899575023259145830289513990473133846616738343431091123225173963886658866604012418860964904380710812032979736819719540307101466790709387407667481963674330393220897612048248142926611896718150135001335540889130027845558450451338884371030152353398402481142178739963874425174780332696700514225427973117138833736154177042938371247280058646217855178602291521573716118947969239461491847949681886104155055152121295618341740135124188306272957956019500665794141426211047778590386182688797426159830665244589398350769198338154836967695565643096228774635847106183892247696800737843982273095523746406012058694530568032752479246414939495499634763500234620184509211624695128960029747793563641659665926181139742187772277802669197084403028935762296277129568007018018621845027572489979499356770836749147145496862450926507684619291349123323536832909134410122874035858755744410762227907017994066365608717547693773550464295142384617595425310093939737062803189249328592231263926322146049541524429371917681605978989053645251690373885638139869256029020677978133570048452470508317683331242421626248962956259534249612L,
10292603860852600146854458322719777463786379251919850457388129196980269416937265976497731577397793209084205061116809002076693584018812903982887353717334144342052621001841519309835129257832762251904133765195782756113558966125112946670083595749587516599352724903162192318504291603325300740998701728692606531355941192204133013366264237097025884642946519519773601440159423347829431976392048132110472055068039029498042626167383490313089995978252279517524351068173020035492817553340587211934373463201938862199300842298702663850196087615349120146790491451565383918575405993072068860037531949751028782469297325642713955380598318007469038311110281941820042280203749586336505447348491950525286046296711285291210396675876673837347259971572996931567855722261192884456746882655301631479425388244534852145555008694036503232206245281353999392797064844957474349997123705030899036536619821596980748453294850413952917103064190481136622040649540980676449300347536181976914827880155722189457525610145881059183098545129149829849939577880394195404894528247783127177347239214541900557725113042957139732628883405162402023574445953400103833018525336819145140553125927916441199604577509305805638168674031015682797153564422848355923710042256756003900218108099213598830864623834632158521661531298040241579525937194154301580090137512585301816317427407786087077945575677729717210589844487854126711562960990325475693089851802759503510276143970171422927901863612124561267748926730108969975217136789612285566888270005913158684742313991567226933475004234783599347894361562433849144883240739708735670884602604569973116395053907030838957615802889093017744409365995544520874927560490692378102161838247035551525072831275379431718462429084477842543644030306959742632047846553293477063153193532521966259422023421465847620308501874087314589268655027947189913418014623152669634265225483391940683674049466181745549649387835871658464789430021404368165614537794045267665578903237456697485938269860602938647936240009254189236581594433873419744402653058932222727183877010854987115200844954245268040852031433103653646383772950265475098378489769144582211863924124827787745446913233342889506306549949458808744632554106585211507251743261829493196980241998953759505157820687529163452552389675147127814647100981301918506834373221073501580035685729946140127766251142137004924228159174451723782623706587933648112757515366783948004329035620699775253710123994925977255446457746648029955475774421866952813570688385364549521092297471875221891744768330908680317324682251384732512875398343151296630193361219912588134946040597398607937554313897215638306902817274968471401148139270040619834627567936519485720899868790990881655329127429845291890891247403993207612485195847734709434801890872613699618867264361643317475193816567787766798423552268251013948523427358535121580642910237421425988750428782055444289764139241165149379070824280445553537680940095141700554217085538382299797035139724609469062926788341392714577253200678899385383302513166808531317961917128750513210517221890409129408216125695668433662381350747630914564128237314747039162622709229099791957091498961732978999186688599476473075686306931522737983888993284615879685217799239072656021327950435298108110076580450039988115334653640564534053922281948336569051524654985777099229877488828400760455719991043652450639071881976866584862564142251994455720481812266372641285117612795606416727927758792188467395950005317472072121900881026143170416877270051513028232788743960430039146388267449869792008825503633115912052835390889957813767718561330562290020515707875068297805193033138008559438903474690126078804997300999544585539897912569094247399033383266111832766108713656958550938075930737583715734186031484989686498196595192460718069591396673874215073551262405195784761819764901219883704283093752759654042075692582262593430081507533485029646244599268290132736250786487658303955258248416919707076232192058549270787028019429031972541548494753968184594879465091418837480450634142242035509789690024267283401470705260161387951650275389614335702956509713254743852678033631958383294314426236251503874859586635520436520225533122948187862457816940028521229925813728581418846395106116014301801124436169992731207481128498132894822385833498020141653168261508229477221102935231357748354243081943406434517472058698059253004219595575418409661567724425880505833893611937407929690104136727775826087566701049114219633274466637277842258146469756537196483672268313182504057637254491131750912347118686807572271908825191212487019355446184655416517767981102625730549413799582774121088231699092967554117263888545222611078085110061683814052096291098124032357271503563072587280173842263851230469836097292661907658156832690771239028303414729470207355183770855728810115519111907327638772145224848739355740409424565294664175135630256394341201393804514631184899755921120969009797045440579230466028071997177255699571851768427061191774652722765277400276622440308494600128402634072701483287939477281579399038522708313290120467373192096876598900258449144946074508679642091776860740165572750326139483033942899490894210528679173420325667898170299394565537943775994780745946526723486961007082419630231517272486442683223539278768603278925819970135812878005350844393299604994619898112169940014802350867234543906739339715614584988304948311127081965322745154047967434416075132981841850732102332454392553667505347671467204288360710658048409477150481118897726301762039307610785333892167491465172984222677867317625910859980542946781483644986929461244639664014550236278861705290812273456549246128619205254850287939837120948255687854291909659293589862819012545063819801320838998848068749894050237010856115550374899382830034732186505404885067135265387750603238497521109720473745803391513618797044460098523740824110439999482223018619827528674456516983784701097772468446407527251084160530872854300399960504326146550108022321477129813918874738458216591378164436758704320375025715626282997547337145299639699706821174615679657085997857812954572538411812230599076086354375905374763331894100095339173593116779156657923759473744462732562906058577575443862184706471495009693949194791373494428420156880206024696728977454272718383727223523391160657727094016934720227043928489867544778860001076297217597496417503611237829483977419566749676784162507044049588722946094021524861819030448993262L,
17455260415998824397085517497114384096537470761611443113039898334274844583197489532332325412296931421675907675376947455026472273211703844170273034715654884754196499858485562247749000588781881351954328035896568808978327233929347464402975002991106674009524350274440015284027996944003952842173601280365960338249964028415475382277181140138054949224481068598890987287161457797060227088265244864299844733937097358369255578541673712299967049026772466712343854956607250429379303172096420114194904657621166261888823021128680539198816235566540854112133262718079335782091021562779806022901429777188631927366258852088134739926284383168214650739522272913181149726073210921808454375837236182323204829488454379641778696741045638849313497061628303262536258396856118514937623946352215788495430767629667585113344619797258379931649939717642653567620065640497210170223243333155203692135950888371035490004227937129141242363762137987497890111010712290200839954064667353914284331412505485252899747368494240370924425266865060537097521448264074813546169142198816535712699773183699804042169636599320618125144715004315176309018031465945207798228382918707481351292222288728715247338786068833746696278000032575982695418834335981291963727675392484980576460915327687018504906594854610252522700827857943882017523897327945992637505402422146633155031184821507652648534103526215344357061134067236624289425159062103661386004864412286972238912602484826435815823005067577673527490905277508119423315211918605364232810263962483178838156303539811830498313492522063333224669946667100819907639328146290021027666816025701026119745393074560216158508341300933068500747346080990180405994619799030564737587460754189291132205975812264762982548663980811064045038924257660314871988859726615111290163604428564581156713563679341314677554779159186426453937698143593359865379582574086761698313248316214977840727505843488939205155967317792445789730543162858060229804198033419953210156750384722446754646088387602819397339844709572160750784008506554704689564396860262108438975066773204382621948957856290261824947648581765938270252843726393160451776555466635502934551335092973800861410756230880558710362810075438633341642914372878458064280218700015810980403710868773651624479444065855961538622881118404441466887818345844796687589784533044459148277381149333141352012621910359097174967886021246935537111164708855654373694670283506874843492570811785220740405055304339585433224787468577620718550163488101334328388614856905985404905189775236435886395674496971165320578160405949699020175920997160180190614385353650662397345786526167474866946636380059961530594832292315806673909151058090065930131034266971241581986327644761084396723743729731484661007000977759822170400578934664030862535675796478292991182955840810477134880169403519212703118270624686842036515373434310745438575038002128585381317874284972386274993716802111953210837650754084609164184373857685412603057713146815972586125893514909771952156450057062132491860024329605546956658643052941541260967372274747059805413840258517220940532645552557465457886042858090722191319759902530900006541126477627320341194486526708805844857262276273386550626789794614151373229275869351458180360345231727912487876448857755799742327080733030368373380204184149162983437868437431550854112022363755874738300093298103507457136247487040723356814327961248951526729294148587073399135661615006025083674816403188317258278317489055065064689356050651986266442506295932122626715116867098189814650971848791381143588674532591839152542404748861308199735751585235824140507230059701562003826136961943617891785158200739245007732840568843318492217790852594876267094663318165243139677056981247803578755220743619783765783136493817266084523134911715306616070704104230322333125950614727771732333839505906234904325863695540082026671660271619621798847366973672452205112125590401587492815167615815922315077057100859656829400777125482927213207459386274507374411780587612734747223616313506928437019064064708418111614878891473507463092254539475901997535236212264197735221881575413946080744170486091731963581131824952021078259814385206440345171316645642282394132115534815976914400084186367798810531807640659652170421705400349583302707951841649529254407253552233636692443087399132988523565554353438307385047768223165699221289105752826118975893746925404135020259541780528561359205440496689723835549548011779870237940499786297463245407686568913310087435702948536938202501284461352445283453221296007373892608291503614974923923217657243396002919580868445601683481476729944180489002719301387396760382951994154395073135051219794689362526813806917275577171022830751001099822009994243791065840530513792086983598866637279702086263156598235673219929567039106875836716653656266390037681951299533553434627418489991370892678355199755254019889280232338197874370856337788613674767330763299906374047758626644370678111515552982820382044016845121802708286601606359916811403185933358603693762393065597655876334419935140548645885851279242464567138038654024623957754455855923097466630234523140678006423172371401779805423226680004405285900734595137462226115195514029620081163850098676177997471403590665176586775695072601851792991254947042139091102781755959637502512858064619229451555328330001907581657420189749373617762943581956097128904185250834485987056962345116756148481326865040692348145089162777522161998172519584851849650843248153571325070452068808773197104975815184033632577798168833781140274826224946857943318343149610513432033196394736711094208327732265410308457961306778113197024148893286026209305865712414729024649488185328559427414114978593847428924989548645888133212811145256031674457207640348880406894380337543593741023456159115879487893198073792877592696449149406049604572793451024507570467084897435411467642821096978685897284972319982010417817493521467119364101399234431637297568536537209744460012218974295597059890442786326196384221358728204523861200825314614421368151011547320006309186262618655057181147549346492092910452143137936313043716445754822861933844161466759104666857471681335760290735031555018592271017463403844604655495205280653105696761286488581755535096870804592119488254154324353295801636098109217009908162843985639464946864526044106487169212091441736250795170832205577406690184491101219452939192040724170410189877184177381997779567386900037235565495699822943108340271701L,
29597943326817237531395200031373899052529585211029980875806402716666929220043552526300286777513312698926984681763160439408453539727719405102873213674088703279075332364773707078284491989909635620571029372512947296053474843356175650081303443831133479270769805790034000306766260617301610829585788517663702367156603113576295357241496828611732498080065477543221076985189166758259080160344082352165023986991942447102105955427261730100031840770980573323230881245748746355024835629959216124513333606204206631169339268353182368956657846941674820267928921602865000789235295153939650887678104507330356592659375309491277900778342805566846217952616389466253904899054469937344175854019843699468092994444530856005405800222364603129615399110774153335253365920401851977465746475757642976999027054622967793251140153336619834032614435583455352027138833793937139400473316841677385015561838591410924416577678970160065507855653027633181137271060925564828066704311860145395220416301481424225640909943909456499157788967211412134283106978687706437938270344646893728088637816992866805535204856350057181580818986867641487219863439759997586165986375973325752822591575285082505502185125409451622169262509082595500853079456218691505053599977535319366235610106111746577278164969956195494833571188593180543519410715573503327183654228628014218720019244649424915446840552167676469881371423681812945011561816412010145252203767608005204744107306626799004760813855088597211349472320514712775199045391815250608844389320527331385324065023842128663337134843217882590383269146439021907819970048312267442634164101287776421127710067800878754787917202899158645070831894244074529881460729229398883768559562358976675069842262846370441759838459724602264550085765912297920417614571586773365892836155902417014675337728266158857515607651623088201162234870451066141472209955410290767283545310173716317409907275870738577902726077164476501906454856371528453512423861576606768110949306533365205019869126526058638024136432541114053417920157939007437746190140969828398592474006729224069613062507761931443913723171680878915728738486195083963394859978085768603381681529104208336813685931657986047483435904445351130887818406218956375784431848250295664935510352752820258374742979715590257012540031819590033778159547244956455600247654925432761642290061122589701976109384833581780649693919923045731772422331002804980907827280503510150181197857246545992981128406596180591959720355097168645187608702143967381574833247233679585784129618762709673136865361693873952599752851772129564357856641268781826680063965618017926725078850456629949689922796445420038232337292562162645917846640423744697820533937219176793453629752054462853518625016658365813496981674220125916970743417110043262369413895040924619356910553659922874298039436847187617636325369657292305655179701984361126116420049715197241808447258193542350605179796474945943300084220462923099774180731358784509748775485404636027478842883747814883393317130928657913611827745089916306916307087960854631180151131650246306797804084576212650569202171337543681323647563302086404478617127393282960965633849206297949732473116721394742629342040893741759117777059089048355582818492959538398059219524791281827474455234040334968934735939910584389568526578015504938338516352300655098297320254106918093411922926211821722792596754947216017434809590829488641860561842116135516296426767734800563688230665838391083385503960806873133959328965382489919522375642490294251407299553383583599911583147471016352569080275526304602271956687692217455281763559935405019531192043614690158853297881590502167751175030894714222678854808644841285570658949058884623773810266559514234880043848163857814124192977186952174700027921037944282469830206942546520829334607614586287777812103367568614690009848364406020953752826550121348574586850202941955644276899378543342725232021830156536119991577369078498532228767537933112518727238761469425319004413717450909645432217692537398336125554726472694580182319314812092070452253010327402352978868134207697817056888461877002836833334215245718994759453352047902314414805531453437299062955095016042269755231455179112388443085241053331983734836188016093346069022850605143099961547482749305557638559525507960538187529249449997929721085070818309153036083950478655741172202679287977657112298447922285708197483694448016301592095062405753734148487538052382613970034092172203849769594560971702716514717539937063031555879307478720702409935687575981511981759042771761973371382416275258981031715886902925762856140021548336034722007419179680400471719965823726617148217946846846452092333234382713349883592362978436921857750332138644613115320596775965257793364985368973742603851131008180443611210873979295303777526531362578906428222975475859789116419792438885187639768563064298921243307259762971115718800776391348473831911606214454634769486188617286281656963891077125694197176864183111956168368408883007520809126584751493938269204194882835467671379004664619754350953621895025148692643109197024802402481567096014657166871776092451531874164457265932067005544283160882557947358096101055162400357760293793376167961411458516206031032830429112949621252723234190658050799601058838084663609564414668019624848559683506352802215856149810143378734126920439694245761097780401984653167380497102366108254850805748249777780710391165262363756113720734318802072512186735823155083532016189850753626236353939798555026976216214911929676559832277098137610220439602619955799104547040522374845812152067248466277228380915633762588893816114603171310745611357989080813601963007078297980588721836333096774700046360751393786943782038537453549703941057664027135047107451619695521360458268464243775317410982282337911646511966620761108625717846542005614011350532760967718403630147061568304017016956055174074469671200045461329123463976618797048609531876801703472090807246587684251676154280410607019906702632823603268757466767040659318739158229913491628005284873787016741629689932980803555443811660989787844554230755864378185726939214235068570640180418923463204326807676015703080047420504327775436173066930654144422789063015695588583103163964470067656269072291862994622457674642270398556872939524469705167331778760232105433975014125073303100147349650039262524799482919691503666829847901852353030145203578459398086600849648318368829265832352334104646778729510330067711160561266356501528L,
50180028494591778575627395524483825704403332202881635195901671499951199182423049195117828412829901027938890848266653089734947637106521252896565347117075796401271682881352222598186837945533703660414845608099071486262585734001818646866079448565547937226361002657199746662909026583843882278661491562393553115556701527553613449251948897814724394096999481358687764727779006897027450170220410851688500156293953161133833904179504155322597408962101603922121834447681492587212667153629490585709734269626098826764970035321107782137883925716463592617411116158147372172422388157605877903963511853656005873469395559482014933449882764229537015734097052773876510812626002258024923870243877668114718480522462358259759294708711516789516739775880915059776241315294546572232484733938148712064514465366815259739650177217290427527232601197329418627957447186843185622700042834355954118913003000229869629974832532381711659455720607349949830131111689567327104136824641989848064510835658248543276593169575336156362944052339592576711501845810030703566127882584223518780822595340456751602667266766802754196426884282178002964790036853329321920636536564656423864408860024750932045248811254612613327738406334482908054396015044058787144425919900570207291855083924140579185629744116486637673504528218542483239224779049515933122374526835430178742012313996650170315258583483931883621556810885701715836369268481436580493513661193017388401726248877625863475525291264900017886484567678366253262940412990839039133595753980362070768049788736287353192927442949416820440619360770506545199909743558250864582031579606145086709815973921258321533663399364072499004354266318906689466811539150335178373438823021140528663267087100727969171337661455093726066921356301269360958256427164780995864833339006266766476672843860083583183600475955724134284548366485810174207231242803850927311330958455830070173932443199700553229050572234934660635124698370297033657051763809492598409350630729308347098759131084326079412953683694432327931810564614516926072130727607902853147211812861563600968591545692168624283287509523561876987060178072295346670765349674593242446391969764070456715410108258028057191928565027039862001433981415888513675726824452158273505683725960719356949371363513557305617761102633023587210263911442443383602369923780398370253843543125402286842959807763663762597589794018460942418207424163154815358264337085703811243415194787344329174086698734068525894559467506325754199140166237016415210850147118119561403655816405452356271764482119372705941971084304949231573849874502820414139088766886002746525084000190263391032340352543297908221597515046873548199838104842193387390008166653900691939859047010314007287217533410367201876916081607618267420363050624175487576124674466104597812891220723545400697430097239936777504951053311697212037024084010712694606009776457048600275240254405389485775039461892712526367042355723600826246676764123138649680754661333425848272198423888880938720179812341012269078665135689418861485856528414166322760640742839177536716843841618044459521874904812648870512782294022089700780110803456424469261076255274536446656541585013954583197614815057929859337799378223086716721914343576457764061008607583004074804558728571122029203465781429460884315049949000716439173235625932132232275304691318553357806151641746476446456653721114813793507424136513978754196191884079468704075591449702349234492514069478906941448149629409288931388248522183821629691609794685040615806211977116664960441658613675111770245374295772815387315720462973651541061401625804200699781228739751893846817948376395110580008354508865345931156985335015538716652295888555669547280494651696497939494284154327030168716348449379559559451354187403069880749260873280905496832787762483018641719121034626111829159473565378742156414474078399780781390774850435535453775245816486184311881024240057663200489694269221598404751717126967431289441973991644858176562114364521204937229499184710643363446652204341258733868941622074230419905727856560097540703899368153940407777953124880498948248483534690293538033776506030116094087871771383745219096732232171114959829163549497526083985811315680474962642262721769641222087325531242095553967397207704937501714755379746835905107257525339720197988984952412659549512466419430092862139055142335505390690267883328618939863293694334557143231138138576450613942522328154936021127996592516268704663041614473444627944774387965135148541499441313231833288418255995142557615046579396234337056995099605506358534126340642881785035266429591427899007024244223538373118947657155657191650156320427581268217654936958712788986469773625488017822681553829525894305022279768870666668769716368247469868366890134620992471031834630120658628108829536354281036047585129892077963427717244610114754420679600215522001815408580997537675281714940360817253598043063456627122169021308114448469113070930074897917327569511584302372475058351785122888565864039565179359931838094044260073151149866150324655851449834903940783436963088444114511730076609910445283857880342549389964208127475850274598889632709956528275011716774728979718536146379914084593985929089171559017805226842174018779781462080665238740016141429647969153250395592405981705768893031674820263666922228486385513995541027177234864443104028864300191368374912021637933133620367350733507696097221660623832774450839900874644280988576730897687444206526302981306647592879125048275675851739232364838066257217443257112363202242007487977944617543773783947470347970636522411176332288080231481097928653380901825085642894825510195580410956986612488702030911085845930302395247260447364911169981280357623692272477149206970247423970758763445617803603935165914881711827426331341526134328810957183046785743272696256859620472830498164126622953270531093104608137410375962903857567239858157132782334652325699609648563794891902360686024632871266328945973001509414146771922067712439918757289321891946174364844854591131392794867182294250191479764892114689762996738561910981669097617413197505125678177012220957253242331709175801788501691815831526129147181880464972500631467403832492960983614996975195623341069842515205867301986511271320864040414748064429013752278746931319292102113853699568650884917722354944864395724604324882113760682719590208847863563447937503587203713678822268069344472170956045557452452695513251153951086611207489796440685307347449397307L,
85061782732127960523333659805241174319520891132010100555254048618915901349513454748494998101348529266144958538567164674857673300954424658659846672664445663342076954690577683480491241527040543123020932205912913169403671474959414687105569295529438551258071165768025434916944542759178620030451852048021440653480488896510564130374450555526228757211354322661644090879908409147834617542903377711842806604945090651399090872106871017219036488276851242316508881056589117140543498272709511293968418963817834848487275035037574388506560459357433068149478133594994727248039664353362620468593416262431097618490462248975869687915462611361338795410549660246521528569745164588247200697237628978039017960560941039453285991469063890628933820176855625250032911012725470730463723671600217111616418645373945332895926151019916481997961814876951058483439843862132370193075294617292096817327243728273398934737069898624166751257354710688427634201139021848327027375846753253078411131554279539735319365704844047093939288055245093567739467915902310223913958438092126967766175197185392290965426750068877931730314983612558894655974725969909561763380891882678916783215772073654112241884668997745229820987491863597912877069622709334171172129590957636819731091767421841924331515053987758808068899683647292615602097279422260110433911240699062844170658560577605230250543408107629861086585348548354826966232463710918249269797712776315357923593810402730286227559081890864759153733866329147085250018122452583362832810804290394259837796318640690885330271716350179349040290616943623691708248850209414693950236730648905254530529851126443149458987948976145742444585896032584716675941274437225527451290092773344834075537201898563821814536356501928555834020943226076280633688418444088755507325742378841769956609836425872800721277788063063607065801765521405581063042040516363608532123447980279643864205427747415213676402840615590042411335690504771641790110273840938405609113135666741070837183037247052576485246213810956266963323481145702344745851378007948499515810505744476456435194196978665337341448587535677003087717763193270535521220487451845143686035010886038315656067809344480062375586158721652457287386514713145138340020370995205819373047478388590221411610453782669549749522289301910950736897510300369336249270208436131758564321407438125665986877561404561279228284593870644973012071523060402815879687189987334998132577574028524005380379423652131761771535191358765087635575436554033654031004347360429955346418956431984725588512916095798157553862113556038749992894972821522734239244892741355599300749422545238699168906302700331108604059881252061835694752091090207543412124839090647001838924207125253414404340342248887524447818702945135687724107879089080337786289236649212728850682294941433366199043095493136728921000657618022042361178724645210521035271195144887584042851234734662480985106238824260798912282052946024341287606073000467948366316456435128474044474907991829429180273942610722933346103013056910623211334229713406802717337623256862911664709907614964748135031997863994071626927897944433838896104822752377012651215347679606181557275058521949232490109793738289636480970925472117964287124098576917252852670147731388153292712574689772594804725643264229130341423460606867591766604900285845023329385116072938494057320002484634197403829463526915855749517214696505674487237777577185685076956042736860288030696246431604855018909951772972570921523870320131140342944565015058401210097881703135138449126327268682566135123593468982804669767269102731754296004537507913502234098015346579021825568388090955248325359761204796988888183552391719831760838030761279966726971909044423906354530396356628662318907916586635493941756526237828988362613352159258786002763237619068493366123089723559427820194286595339671603786285304579923528819993769454139781573692274897361054531869877411017999178139381184829069199323858616615115989741613966259219746197935841179865717097492004701484049547742939020554530205997216574734123830118700336854233608330851653568323405571451478651295580117953225503070454626576773739370118815640271216130459605142001356053696039400972738115851654478580547412999450570934120594501291494548006129635121199268789454211083426104402374811253687243001875750286748407363161207636186433414454817572606980137242968410608025866460808448474549521315244012858937306206396257418138602602721395162256059953955383870270548505558977372624693836896238813249214417378374729055660104513510737994942099742327504032519871906807387466635241653444590043722902619176299262089460934513798028101586701450358769374467155613455561596692937779707950961099312882327490668950877536374458264240017782962694711311454323615822491995425934940926552833006374071687464968432223511286989838425298356976444189139072762815250835236940773325641662558506560335801331726910391757499261808167570117471491760317297693297832047028896333830950718645895381048606800411614770909905043896414818961725451074366779757636588880474504946805183443469552181918138016942891211367140862567330520205224585946764962075714435240687908098636923590811042083801983503787194499022002821713274338311660568200354097246983841627828979447039427250273493327927476104180526538705235879085528455103819820158193768425045295953311014483117041593563727376594317791759077715461001640122118355909145902217448342090537190040959855462594312093782416775256666823754595296120952392233749715559431261299845620091011986693266800135498353690272823071477220368002365771693977412320644297202271463618162589673738522399808908097692012894402450227709546814854625198143538182664657237177743130605611054580766255783927613228870113009637804649520965628810111390776814604663713481350327418287174451926107703116358959428689017560788246026757826060335314491917273876259508208002519594063439407501574603225035074041670943377231929795320498193815799529923426789177810722451775129909635727857164007492932984825091934639463755322854248345926126390698529198624566765380013222494823982557302135102609208626919088260059774000523995469602891050732527652452841752370753930627975681661620858844394192723635426832748305221210079993019306010024361166206152937786748670342259589889573598844403317122404397227539552557749190102569829410524805331702324016274700879660519883142922099692723692775192983944808303459698014484443110453361724394878943795454164413001333672L,
144169139023630280749737377832577783674179492867445364959583348958675383426383236195967359764773131864305993757862655126766795516090912655647832641255129489217966746294831059538261961542223133665191763949244278609201906310346506212703372630194774587489895716819593453799143072368830579029031543827878558433813729530849874658319835971149753969160847834659820723496764481530876941110969769867566282681037880098102425825037102273834562986740483926186810769356089596057397552880098775993873663840281629221059062795157543168874954712560408242091974275006546821219018446694443069438738555241145094485429638813703417788280353369056876379439442667739280885720103568911544548777073727597937176123885466374840184442946837441054526200826163873912546422188790764019344332291938728465268708984807049915472040535545218445282035985580376014994809478142948134151779540718230178839381895892793914502502226878106241076340699282751387447624665986451534830889322188049705525211704240665663347426762202956946976926084769356665094835565365817270398147472632257056438411256977569603106300356128321481724608560212486751689695207786357444986435856244275233605236870799888331772947331858903380089981034039945876814799134714513217886068508571709263140136350739651801807763073452234099079745775584468013707087946135232279115001704711413075299119053614987024319507069704937391646662652487211358385805027546863300024551347800701566319404968657859858530016420047682250184153466378755094445489432902424011965873209553788099273875264642362375550025966492033539452261653927380112804664819905341705397402048396193060707982424970344471185663620948724547557508777804363295116956925326192565991746625071817807312895894988545539508422744590032994748943211343191436650223812329563485875628382751118578331749938033030011117068332875907496186361382906813760232431166828411974513591642336162548391025901863150591417689071315787286038097328036718087741543032243366532290823948029124055386299933511414252694771034198363896349383458101781244467680293073256447979849630929410583611307482838095810602902275118748977502371321458637684806607883006357045505940071291003044480451354152427344865874392636575078008705379917637646091059086114392967292669381782660249047426730737615570509890579916602824865874146791259639895240465463907361565681532148018080308391855336335916399384533077589961344398194560963800597705224384374273137247396468776146194147592382816665485787707113617972989237773351101075971729727152356580149021281194637655466554035578589762959518215983441235356289395350948231572711120836675417789973909097334850226781615350221113686619377054362826782830680810881342812492803250328794531889087294291998310112898571499537198264120463145065441656875119715450522508338162690556494267660704874042480343296618679628449825316118501631494369591656694306418218160605690975555513252629770364549222203839124937105662416296481295348030652233600132089386742008641648226438011594192294879263535681841725308943622467611764640045295756936814604116456824373562020302269803340746911377017145778012173656962115130262389177024615384634760617809476526231382341106564283816659168587226117476972710306895934789080671410153251963263169223731649241473849102743692863477139878049679112811732527097657433119550092092067953702384482900431917782718549170473756165301215624628881006382409900858562615019389750534701473117310100125359853072319496383096938674963032911561973399815874336547703433791400249342150878639699845664331439356150173345637560031921259687651834871138570003369853310101962015130036144440632483654227630585993485866264739032580994523620992326794387560376291090142767708680951001667053164546195788309616535215562089085097926729743363911255070575638698754959702125809213894163085918394220791264984407828338760764335426164800838201885683298306982356407191467090863255697778444621315046120029182633490411119266846199141110322763411453621499636192592482409793556292948916295826747604554571505022360091961206378619944503543751576889097668574528244270751295690604667281383430105860322015431480988103788347123464454986844596612326626507977962876643653729118361606538381872732145401846383568717978546657009623219508451757640243398347803495888490163458888974753988445222071685302884104269527429361255365952316010250044482486570652448040461558690493039623954616096746349249933371077374580159296752661884166141581808982809988538126383769282254409429437273250676306332578737093045572307763528644244124972335977477046771984619967046995331404134830064579934881722504976970277351206910411769277789859337969093087568460177076260579178252790188962960908195518579448553568070947066518665153468988326997259813117842951909491271763781614742006768493070609783915067348490978105020951700540605450284056122950345626819694488846134016107975470212154930642767727325950770976717647037867591848318185587224208979222570773756970512430107338706564847188727572714521938542465063061204007209660061849129966496383425932285263854373932269267188682921740248895225429887407459636852782241632295691195458196930935775184646324070470904615124729586350260017941816730016034070891150131288420109746278131837453698916011376640932288638907670420532274201283736588997302272635431056058937403767032572933421606500710065933296871719651948019921124271951082859529921402837072741046219930430654064552776246853623608720271716814925105916739361289512577606490915046787159924122556885805819904498616335241082080757618265155175118556982929220166798932505414653694839605963077852912604605102476548956601717128555438044748840404566324449413686720671247940172177370514776427257177585125840627506829057171187430093331924666320833969544712649091815454215627709787687747831491188640952918404667085928629078392580535166753010280874522026616693614482035347876223244761753450759483067294179234705115364860465972049430617191254791205145192929662259599611016850914930343360381899357887544367405812941064426460089643848248879989508658690716565118625759872380830501633433756832831558628765459584079359231484494547069877816761012437975235369627533172193932836605707676981729180894196052318143380299612555934159290275450462128506084374662416929715458162691463515322287030719206037773975120423021555634830975177081239901132710801947025017596416638436805266300770968255731062225870245054492414939596703574575646417193377241286062779562874206517L,
244311785000679757975358947182574402969999878296596213688325932716103586710462127181994415305274471770658311461420547762696864844338653949137547931403888752479663079941901718717217801905346725998987180728090264663280917153209341064788108650001800791436644655422071212185490410097270389916303912885702544461426343299661470969388280134259806575195849490875167344317374731338420027736341041849794316714079389970695409428222658285162053161721235920651597502701107587696459112589910578251877126495530327829378845810436047584473588165074391088368601198662890598029663723183668650137776486367762871882334317416322189510454829804711963226775826117648949843030031065170283235877716961540006949056079751054157737444539858651793924286028108718858086733142422889246987504651774792055435982773230775869368086324196428150836074561054576607346645871670032844143614302070088900581924834704197939419046220533749972702687881531419049292275352932364311647821961976006388887529524669521201679589931988951651389741995313380457019684459937882143881448551369759378769564089920846373102511712360489186879722056887502029845269188724585850226964502025036209637389185009303253939574921654265223534529556307221881713202834260047071149615192831474586858425822884597445783595661523517139925396534693809400934088566942478638833153670956748547978540920690285667477598653499722670918673818414488083834546940754500456033878778736755625671647750105626444089750857226733568056686544155074945222487491930406654576587616576057605034778611253221723356955000940349005467179390755449220032507833766347628198861922745281898600774594000103632167050306891886070501924080184872161015106181815897157615053780146648566938458967793419419521049548101434413875857203194606513620222520953018388191291408049323643210227329825266035132941331553648862421640745476845031903025021177857927253420911168886358633303417799230713461241957738932544969618759088997297052067710948044141939495902757788253703611924328539819875904603353463093774921402294326132534704204511872395401482739960608887346079585224494360482261649972521073770624744003266783989959627361494763895405002144954764971653001851285329244395881363140315341571019809751051461441921121446686960757901607933866407063072006329161936077325641802215198970354787903721208103008407960695602825647257793272015343601315738320353649510321839484189405673101202078890679513574232955665516235301829575558331752830505572479898745640636973336676897301438264593177697403658266629026292681973007948877503988076956167867843658473103108700081149116341251356938396488911532646678029101583514436343324047088392293625406520002900562974090807823179477342059908507440487771004299080327921793726244254848734289109673124265151586892948386085124871671886866268975473931036490668493347474512107941966939353519661362393884611340242082682870951871237174490875621048071414224713122156925913194642506054048958753171719137504894505884159327840860411808132152634896501530476743574311370707038574506813663705292446327632248192795952354842659150993924405764511626952776909068914319323053643849691097672324203470986900491255490676379375597763998774223337917779141878911029794848190867714890943128462305255945162892686986122175455851924359238609939203467056327587159288105679660451127040218953850903797659395416953410069516338926208013986131397496392599468510784987466699886364731962918519545617380200783712944307203798758878683194623966585306943253742351404084997235810170439092409610469687102759174256948376638793285337600737668819130179647931130817358251128429583458133266935825839223232776017762373368971511665765438259206741214140222378728668180583150613300356592572433056759514007251418991070086710287720814742398418979813263750725785411543463005798993728521668119810324534826316094884732085263983896615552386691375362783521388708096781218989109394839824476708683341750429791769580012422678366270274018349534586200957097025789302533840854175858830962273947100668520433803585336364897101239948139985669264040162730615612764705770116341113053185729044266078837272737183660702001122655918253989644515855350748702666468500765354029796533827235741914093557416676896486376324288366212697418220580126577394844067873712414494922907284950266413696898856158755376630288460180913924658796999627863637658234816372667984006955855215383719288826121061796241366720560555085311217624303309169877614565752903442736934210273932974486334494600724388317737683596690383428458263695377943304335135290109904630443807028070373689524428757240026105571064091846655430171916874202816964099128584190361361602022693788357495919157843261788503818220620774924796029871475254873574658471919361473973535523655182030394976268455650362943363370534481816625985174471071169802157859950162927539488692188897785073513805914427213218673783457223157498688794401964533139482975679983926899025260580516197202753848498025849869779595791193168892826329357134929661360591515590066547613356473535125597047693771192359825811674163554855356364957429463352918418600313831656223950871814318992956520025025628097329662761231541421751756545137980299820906218977846646072339323441939790939375601086627631357618145780376671686970942025085886228601617153158996708130212596577781579919353063610802098445567447661466700459150532643362715756432686318935719005011022493526601294238890082428398247900956267513176518120378173021713198475768940240629760086214673996576816113336755635134748920613047398357098099194443433659486703263411870879787890561428267776434829311590910375568808034147798916279398436774665414982243276779033285573415233430947069046256223013378094603938362395382805416114288695722785561437299614816511450418713345689864694198824919594928367338682659857443311974937924137582395258346972295524306085994588895844032900474974493145674741819068896028654630886463865556382403866874940096289313426799473957426272120345716590384613681578482118017347665993087677720499692957861207213587235267560113061956284931282385510380511312564697125625454971568072728811271899159520810608452472295147416737604319047496801778178423541751387584316063336163022388368944038711532459081045501029740084855859529411535547382754843271926107420773650363923749835256840259780189221690641946419313293728756009009256356189077052409459731756345628588336718152527626944138133741848848073065641156285200561722605808774930509081030679L,
413952830116232171211849605243549797006513162603026120819546514005628114985142575708227340215109187559139438864861829686318286897648376030531885526968194994330956509631376651815321196272000852269795754027344244090213678504867705089919836716242542753219781812271864619913887211398826802653586917268787558479004840233910305453250919685240918054625218962339964268982232040159731766530792116842898783403694039713563997047056289645582987768555707194341510933560951399836361724771774094750669680090792459067730212464436917861652660171058802823296255873145573080987706978160370032961741803416420115997904850078523572292327404908633137180485194231491908937854507854660878240669642472977052321243903567695869704254883366495417807920830592805037248950924196089054932450666579872789032186287553368317649208481387767775680887754289904157199428776333931309710885151380065214036101858848475679012838193995111697870364479504073143546481982836675208115573378196820945934761958451148030497421033500594648423229280781564650409318970264646642428192370336458561854878483364725748049493406585968316287045157824669477893515636169465572850937235448937110765601051135408870055874693814057980858383036570982329641266388350098666416333437946874936540775884305130735853978069881040423685162154165639192508137276116943774942801939835229708824588457823258651672140452613215992445417024099299724613421596071022522146771019572470903049047887546762837785910850542927193132352803797726282269216667888098439112123819298128718260011327109105945449604507852367605172343017690225835940547408278055894002064743922521492689099514223898414614381754698405912117666841663443662692409552078320793161329978405219509040207540889941553064768053518697984946866574598386837602801503728907318851956571364907978812424411198672612316360548722127280146575343579028595160006187257893204411999848185530829563966460042534709058518091008187506715783697383279819909928034853381318473363481335171911557214092374797764309521873379105087566575637950043850722891514524375461750318481135815579782286525375183321423691495817445813413063439591391872018991330362731797620824815338626930322211737612275621090415423338946954530441052026165525300406555771386686195759480280137855652265662087702592020236710010673741793321230578804555689445479944854485625946647320413617154313504596423547014187153475692712658928722027546062321652442142521281582054844518731238555663429881799476162480134176355030090385005638365303347476219910714145000165696845454700692508990177437245883539282522896349526330779906350439616090461982325063874935681667725507661661879367421443254161456689111062802477719744617745866344874060907989909802759059288147806569005335088526906321728315588196979331736662267127771174566101481960026837982173020132029991436103780918167449767488655231746380540426390987168576808762406617548145800477989379739982002682467990811824945317678108436734476252067316553199668529376636388452404707349616556605324591380387228584750894160562470630980071739092117790229107235239349417805889884286704984437891002222760328175838005087544293579035722995341503147901545717459328874908289032798832706752902757733399894207771656244941116688218491481578769282435397542390887976279918809357635836936674404873150538214443420799133280418247117187423310720681163109707953628250019752408154281588411103353006589369311655044546897304729164245421906925582874128705167149331302110507426927535191717276182946259248127783819932389417357692181985057116470069052356371611285235008390365835207808673665627716097149473639261341560492999653083864128011314385924513202305921900890067658770353235134771101375666034024662421933995166264094049300777979520856388099720756055404423030832175534207130680428084629437069974888081241512443077638027598980965141706191752564823024402136547854449910576370858942881771430729600019958432916978035839798350962873641311144745388953164610692080072054137006002117389143232854833131378286676096586488286253008419144908180811190729471230607534270044254151580216592791107584449868045142799393159032421179495144315881415300661237277950540981659291773105347772545363945871850265126682302902469874941382003568746334058968168117029362750850297471572722105619731227943696323493192770503929687567984925651051192084054882086835815684285597889619755142519810072324514492563745992306753317440943920626513455489685332744866278314404313721378182150926014125139592786553791416986949822907643962375340170704741726830790671524112885945840901083218697439079854537186677278954172218252992742490370447170883569479567142780900722779132380606345586945251226177368883893391999728706294897376959866136469954872380471747229910926307759431494279448869446644490092222964151566350937565607253347177421726736993713425656811931259049126939160665877303607263730794056890561710600263719441986375342168307864869364308336926549808862018313267908478939854318144529082271710822370840248439818280861296666334653476793889353147053093816501415158453571714237989011447758513124976550911900140713744186829355031835083586501721764477492098534138386217451975534238702298456291099228751317658771922824721361559708292890926839276588058280049095847495310146713134399246014333320138064776109237945021726992628934491169984291922951905187380969142238314243286220621783297049482728259019797440588842855544260548277789132100312095500865310940217469837469299918215510010253059783256444788200387105590457882930535967035156549593107516504289189043335002955798624230023688875058273958779087612694480525533916274115541117713251560288525865839269370580083430239116456939284498666887497346215188908447551874106927418372285008393468642322044778162204122498809256760213294087047797544294831228822043735780302068378550870242708840080130077790572471459964016046911450502444426471938675760422957293766042138505912821419939044316881011169178605416364424162995337322236105024981706422964575315873491467941090449721019808590166521843824593832295833402527448536494215799285897782998789880576648489341656504047732464127133774369511911249386608772702183504209169138007585116519570769086605043423066170035784535774735348936407159499297385947219375483681375801251687441388548741069036856257085086343597280330726310764061149752295177915929471530126429936397330402233798571966822054516814605795693518951928494501234100867378338055045936714727429401618792813281678L,
701280338270542004650684656423103655893590902557814061509166603600655567988676773010952964789525656915155158944245580575969376917908393545632506053120424791083172461082523009515200074285775765053140356178957152094902155215388878442515286555028833890902569422497649776510048157665633771381873387932957039008125775000115441994069308295889530738993282157754732147857455125123186793478821716373668665001055816994617688183944286700282023563384650547526009359148667594107181278979460286954651987485757358361003711084101909169916817785858101369386030728012664504324692326358362510290677470489415352102421050432046885875002819117030572951041600859171772945372573398611899428691237976415568877130840849354933759561758904421529436468694059378228828656177680796204216792944059107982494089084462953414201817322053929530346679539884225823470523513082789124022065750605730223608861744798662712253909852826303427951843334196888933794421872593910825980921921071507751920493560409146097348551264899805416489626642851804941768913213924342518788008523765823145394551144841537396956680798978279438351216655103105589015424426868377351776231165458085958003212486145079098913856246936566082276487607471909017161640076925804312952020378280710203998824477590751986474086131106594025765082230086339642931166439306947311328488004614742906408818162747825060290538458911332597911817948302904748871705629342951489177540502302526047487246587964275208626756763219864456736398966658597202162735339881015085050591800280546066232047885758997700658000124185434445991538127140389662835417877820921132276362192540610302308676298293682749718447724234016848266426264388759654651740961296354160963696517733924251802795582739519659682257904737635169889754721217318119218759364695439356057259582696702271840950157783609606011942858110085799595408011198655289728639877799623966634801408763104384936692914481942720062658081289413172477682643229211527459405653901557261232162162738155427480546086674269560609352408232718711568425538503952440404387170628476380261676554901135521985053546949416462621561943215843550044806853934108972547889781267185214636942121572036071446123045051844992904691948313192350152357457819126726866254241481558337932429144907061099397035518904380095138659938372942248863986750671949026286996937439860200725194072376104019082775462664483039258658990017793746348805746268956870952787370435718854437453553519786427250522105549304036855003969194410892969456174689504465459812830060945903861259218573117020068399618464900165168010576492409576522156894866648622780256372350154054885765523907340208582183595925490804828766128513201228505203750685424892761267407624361586839385706726861726727362571430175974021732677219607523709279745996248737700061006150592831098840990262047791886392148626897974987593750403747483530705523936834342131973880878372164322339146651529936459113277395488837585465536434567313753704451862178936276669973333526657284631281393887352485245303174939087937217824967624033061361119651386892310223286462443597440760503797373533977003711253056882636614107502303923504692791345876250456600823533645460723531721057696906111494886479636649260614012925512890751263437779115326643858805292727592566050643548778731299369924256952665203504975338339670132141574764349960454291620718828164862649281329458750598228269351698726855005148424963842581372210355348392807331156763264447886221968867805061911237130171737033436198639097366284154620609811415407073626057026692528201622050060781205738843994817247109904650824668439690995963047966601657013669889814326666062734464803096206355620833747990564960368998307917660162562396848635287490555789271963225461531072357876749003596364262556811422693869927674852261060280982846607552465158135982734811324660694434363260180686120229973325907745635050726594653657353514220509823285095414097236655338941363803271955992768432465601119122015663718309193663707097416532939583515551759378635899360872342133291514572261064553097887151050569287539775729130644547746265791116564160793091304257966466689851193978610556710278567007350723445880243453067360109588727330524576668577817606767931471675571053553384433344034950873494871960706623552093920555809786666479938476632290113040308550282883632758055005148727117021779014110252180418934747887179242664611886367641794488610325888495683194688545035595828888192229866403619083470192844412984383600895675896679153503485820583396312527238434746618028594900376660528346274641029031784204189873640746726294337218906250724496138188328634904260712189943798187587046545064126221630460482309894526192177804675682190559042591799632810640678905922787615828225778248542661416720249697748605997534094051563042473989542452509313434594849831107865805507154178942850717162296053044805465763005506638192601872074919569954709609261606070034901259681420217134830532551606974240453196161344572681663959362102318040611957861043096846238471520919783689247050726796441074826927432989552927507977654055044950401269856349566413288755198297864918534696384099938895595711112209066021514679166678475680889413356408576029572096698429077560337240639096699550015799446649954460197067263115840133332008077281470281674216188744459139679725831556074509852965640651810638937724332895766336898288763456815570551665243803961247333504850505532515355964770955793586796015029696393302286272818397932568449592794340760929029711536193074702242310478948254959643086485878448399586886811010598498307425902550491955708489261951427666169887951880627994425356121188681783039931812990597348446516062856930790907321014579575595023234736375157197477998318237174923684399660195868865333678899207361882373870394627309391789819238903805847353773221846223732355008166218768920785778415319914471080552049659930993955423014384219887827461738083702144948028312794422431420833123937829294712369028626686908168389422926663542141804720285350285936363735793784542301493393416854288854192159941667359596699361800013559156007617682554849043422460812655204954613790112698636578250096444365553539027740592249485748029435157154705309725401709736340689295438716649587305705973585740718214475207468390928643992515820015566892460253061674705004456617675259512810507567962058248735593411071847089721464992173918471567478799060392138923113145699794742574456781321484904880888457009238857548178729701941092751206610800138654298487517L,
1187864426823961738728029642461965033068480113258994943735911702283500538100075907650090050997722077018392175449132685253181832471957330488192803577231350122222025440877609079283875020768813711174990315456972264759628960220199220806802829211103177773076999846236974371000779562641625929072765458095056177859468066328531560444400562380668042813146555253106403524755239811937068657650084596303195427991479006453387955389277350985529436482354849002040705473657206237454275610374135963909663147071467007929520797020011775200736353061255249218359128317213402524249017507248292311634390364073998067330702650312557129627994197631576512488784333832148249870821416796931659227084993180617527810266750945676036593679694510484136313047455355845856249676357567320009457112499726175176350192980129529833540457478882530361513836367057632849920926419209460713601470984064049100778838160204203320701141753234263803566741044151092364416486939597232362262087594121364572474910230354802633380753503920108378170877525639989262759402389757725079341246841045148537541343573082004513489285971820436880918578927253999373384463351115428098037209821458369007720884764021095167839075118148512796142649243580050173634930537524243242924547283495786838097645150799001881561280308550763258119843666832310426554341749941863947254092170764524159087568458561414230375891239577865240064175276800892363803157675778258213930141893509661802564317194030739824964585439702788722708526506926446919223606425473550809411824463513288722135290706169509778693911169972653509410910394716310464432379637719048235043367109563308228879189437655540530624126332124842828478422843943855547787824319273505992922008204420210529204593621152508631380379049900463128710966200398836200137371810776526245125623990182183695807540073125110190569341720854390851873889092608773837410507083663156590260250051689915086474326070576225602533733096602068972037013617584374577588651767453865540509296088812009067899830791219376261879598096289760449754111000780273474439468352580536993802762419444051514673211503331408505129398210526900333403994078276748291846596645221028161211857367655337778658889437655284028796389090817843322128835755550545254484952492156539084292843376265657060521117971713954763812262160853736756119930875894038413991266465710927992658096209959017791465104432834452418541108303829166950522121257851480750220084618847629396267135915161946603821091956758360022357024882970775722229228321132904858355854616100243538774192549716108829635787403224563697716892667713220809262272287588730370062917862301365087125365359732774595035623594103816608516101303328399416104114020066875175694773706895519515970992306818541802563121026689158078500713848577491169788497737432260413905009641909429005859685886238170632314933795381435419318463091309462450770157447599337375443804934380545825754369038989571334434496577436520466292726869014282001254631253046588849989499125262414364203296081123545306715698826809503351704731867670236775766637533310875829750712339092631241474589573789323738477108373064007927419295024874116462475454674995026925014458616599349616733901041625514198448991378899033149164653355744952392508872318359465551919768028113174984882214239489917979744903046348183955077352154485585048951313878275019361093172559215319802510733480633328428061560013566943807225503368307261676193807794049231089326265548277337314739603017028241167915721750899799226799810555792868625367354062169231031153852909561466956567528124772510612885458084112766767775384004602210202943834134672466203133748336613169931035469843630963506462063831014589336547190016607728006055985675847242938401847443795753574284896411187833696605615460075012413372687467361710477330914914242271817591341944621030022047512303421869948078567821863617021446620165021877300351818579930513910039295311847891374343991406052653776021288725620833540473599018523814446678534965736170078645659427808252035538781145277652040389251675513145495099049476242039425766415014876922175794629837246419424834819438914632470863466957408974920715001710869945356299885960770789411022424511439421732698861133563942569311816082128376699361106831045216182294468514747753631381962786085395211272760528507906227092782885071288605027901429619667782231445723285434755889696901076163189244073464247516655911656110224068039086223873694276547389142763642705178248302481903776347197648416902053345585687821918245371685542386173517567718562677246337579650391427265618412893671293647064659381729786858296888939242986865728077734585176076751116446542942770826517575861068043687132025730731450333345079551928189778175298789681096160637008254080742276718501333663984497800567389628043578074122124189505341809141576787167988263943076761371452669756051845897080423885445544853499631684865480113858094483184319035889472834018670158840814920404791756960091856506084620089252544994153161636845230541089952421073614604983830848772150053696442512874267231494078518932951606605495654315660473392516375544522960072551022812756830604471631567239300191732401705480622592078150148421309077144612274243708997986280180210728273043515601172844736746339857318362172673583587076425817252688403683968656097416374510488751194379150641304114489031681922983169010750181908326832124171774388978071896166822563027229870607251234100138027016296735713647671528164552163318892103362668155740945556139415170796068782870602606261858905111564612172721422970440292138035247887120555150569657033381924363250720049788353063484815401020201168702019345605303294859199222715297927645797804426905078147654156719301241341703093363739785513263812295688400432229779441959638004242900528480774810659569982360708286651807615603509281118862632408079396003327102971436165330202915235192961705107427409966160265350650321522806789602213096795719174491332678157247915627261703130746700370152391933372885350687577809265378517176120299140978598809295673301195776072467641041223753722846363358902349525527165836508166518538779666670134311844750544363002127213915403482370419260048465434516333502819917580846958442600059099450182594259081960968477606255779225947259330764008074885115790971427798257229017205573887884994040596365343839329616842275711714346160871666235150507261040080153778341943880078339330566428525730178677084399107961327160443665696361441137621713645900765618446929375403205210010034607L,
2011761707799828736548755115868874503830333982701367809724658887755523960583802911507575306163696911735356911861772917240763342923664295374719676688078052777811871108075356712391121230836327259987195448251245782820237270280758235487351052367218120400047071807245878363429597181481729262355374323500451568631224713384901390349142300618465684897806487246450998063683575686678767486209056706422166750853365355654790271406881057197875945138554515772761133818814554712346466733739441228747583485232880035545960591322657740850193945607122702196944136405481577867856345959902191821823230080844027823799619296021352801324672085995057155746185039129432835313526270640942005745907799298172706425047350027144337662570966750501904213175340575333541576768335606912987863633362207742785606395537031441077559764706382863563292514760790598051720321964208288104488962043457617645441578615512118465411920962097915066417808508947528228446492364756967944670835911284931411999980866120160949533537108866704442628000545767038497374311848622229451653712194482236936931133024762780545109607139858108334202705936078814737255764288712924315831858434444211713143938444044864481643856990453909866568691495342746055450951732372521908162068537953511971984467584416331110136736040525281826382933784698410531872550797825850730251212236368506716818280857815181229616990682187136074338960342553953418389534558346211978244862098460281313022885142069992649287332205844343665244888823944551987829885270766918446030997223061139018376338458684218163007756119862050470190807701055384964145882365402671837427222838678970808923557112618969614218571709864206762739792563436317938288994904594178333765436701611566759624528340173200454307126400900832247479604177769752352560466239765950823335838906801622813553978024047882534004251018169973873619223707978212428507105473867013763723249439100924439425551781141165602019229305239209137336583539507148901038856389387993302067771527043468249334653354828609180880092402150916844730886214387902900321550871274969394987967372338071048679315388912986933430062658843602377667304735740208254339789686210338596592319556187857063617319895487347385983884083049549211570062702297593394534114595259072090759567845702102937074553095783722304960604856289185666665198464127313010413129894261121914530581630755863549613835013204988800298266364957454650950129987516771681690043102526560947632721603042371830597010832076717086766194834567190396554829575375044749997216976695456726007086567848363091055839895050357847836465751664459794565730535824291767434357454739067047553091393742606962282667687157185357430080984877785894523284174510352594170842269590813977397120246632265564408192756630142603656428972111181953210529136723941290092474648206246099818441173109229335781898658545698525235364346016451839518625465335153998418228743991411802959973904961027677732877338684485748075475975985978391881073176149163030954824930259666000032353362387443096191596362548871482441013359423124375624367499386351329793698757003550080424992395115071931474739542256829807195977578317023321971425688240655394757910731704199880677756797803092030051019677261056820049621734923127619807829258277357201708387113098129455746049755123510694211081847592392132697622094501850885441501436193345931928395397648000466789585058257021996540147112594149967899022270235753839966189376950030618927762503499005540310153366244046551998153614046016344180107426585472805185072358715262246638580938745654394678444060350439600501391939644749710352977964462780121301818993991877648273130186730517799305610960256599439306877838984961139158647528004103282650635449758501983159070340903146958213229035112951346256673879347625021049388705717187155407905450201678894976331663373169592078412232525164848817801909697613761302131358654010216298355883983082198487016573842014231825603093729701913865005210220067972879065095969474468608350544524587675583382041498748380929326861011857522920318076172061658452899508686263169780179587897145966927977210432737807738090885170751840110704863090550024757487793627782333750234324126590385529076820676472111843252563139662377324166901789066826349577785465237296706553504714924406353695611050379430759941444461079112173550013790646663607643956895465744558218427094501819614928086104404064962695493086839329640430616695843468492635366278011072890435643568812301079845040747269039897743129923507806410440576171840704942656893730694879686203666284096514721918213603762848705321626716361890368332668963427382776399814826765791622014606082679092922441043659478712769003951289928413184481225084297506192042248399383901699172792362803978329435091695493861557466072930856151781237215531648943279255933829456803885723724519503339948772514777212888523533701896119241473079341817050561564240419300577846597793908965120824502930065288629598975354400981761871557263681803927374602856197306268788903338033306777571576845520727526549400283316648468031326097663040699210583151718279274633066198767072656506146137964633850938356543180497268447607808782646923651409358365949200928795027116976879896198698817488163524977264646521553219961369213775464347038222595458449244700249988000350464420431343742028174645402597025779776535887490638785542821573515246743471430993710318611359296548503699729843370408532417197176245431041991252933237574005015597694928400959870453194123520804294510904622728823810171052994899523350610051211601286597825154636504872339003538210789016753338793687580779701902582160507412312558089606066043100547142703122667204260031237612071082248593619369887487703081657584266895179057444294366321433173815309314153083736152068005290103776201478322256366591487856363011381456684244949218854946035873815038343318657587731142020830148061710051747360147632195170950164154466782091966240207639786923326431089878972365508727428837345807358265655354049162885396263443445591063935611564910302646338001483817936791621839470159547662333683001174301648538274070460451210470342762006724140757345323868001820809965509061732911389348339863622981159715352270415449128329396641844475244693752854066535990891175407776485141330888901687399721183303726146186351926369509220091066381205829960449470504281999859558774258120308519933671196986323305243069765540002734844609643173348242356411598113032891894266797505830079206520902402498046217803155332542577067481036451770L,
3406596414961414467916359368592245205956667258411957862899744711989096059334238091568670089752912854331771085790718032495952862897801295751188046449375990456810418685187442510859338606603813632605256254202683749067299254881971491205489494873855003951773520752722987004458557534064113276346272890830293683284569478347318694719218377477232220618697709308717585015672372456941200768292257720520399441127342361532820655944867545466451957570308072887769619943930389641576240147585429388242484490566461089399675485304969441474164463972118156340651300589875881010880437503543734427118075188417373614412617215994643775327268141824491263982357860810010822926120473928482493622257025203248838053389471161047866247696513445093650093605506286399646329694146978486889408061653378010598938245167467928738959010306745087426111037457955688834710466895210198217904540279218095725965688415270370526047029387619033324079513483351632108883823763512519578457635681975180767170512430229445703545179927217621002855505193648140052587180941695263237830164691045908264089150404099933645213904103843521367593995190739255373302929325405821204183387849331138455171560771052253228024207123259341792141196436645242473146650607918282119221903692305541701887947732143532964834863912156447320797807719381928989169729565638876595065811950083315983024961409206407277841624341698588179323361477449346320370060765137866091726798991396527345241005611089889665071367193979078040929270489269938075136860252641445948572058828100386741963425962113174638744161015840974572532651886738706449839566780931328586476285318752883070361475291009520217605672534633039914651759136828666712875522067182111944386203747137744953143296342938836127920618846856450550425234369629202986516169764224552903924428851190859409681365397406271130437252194652922848692883750304250216805119073321686603886635187652841053141126511606192155091786096440635961079964427166684250551840841729811642700369635430896432615911655713265892679911692694204195214394758139185891254046524697184511374038285753794511291134365087045728764062486148853323005144638123883236120435052725142615062355668471223404336922771111711367879458973378003017470677300656859884638793876553219588179364027574237403553509968338247582749833626927830154780223261445776474759066829516244210206228081970774863180503235078637394728395630058775900584055245299441161158442234887359703350143960767333102544350386262414571820625876500195044870315249145964935641863481095984563759306526962185852625470111925280592833363599652757623899008617511886765963869623784980503789302071527308226962957837684984393143792984858461391934446304958484717532299136332180216162298059953701414422715519799110114167240293413044514282399384797718913029158275819490405087244470225608836964102431554730726038631406573757498705356559919673876128532356062641018557643264015576991461989978762846804535832340874756213958914734110725633265173397392166929414077713790586528095725640152594052128643134219370329935441044187210893567584178619451389061034422504230826890648275853492697388956440947752177292793547236986104857458022912817447626425544334686293801150614015785695004572246821736043589723050925656190593285182910213919450562609867856924569184826414382656387004096311173702465151404607329424558523950333069120677463946458054951987758684274676545717482928018923385600309702516843204887744432558416519336010580628479249404657253716488333808388351962770345557143342769047901675673485685460251410076628522447675130433937937702710084121695169944244641839190383784462811754121583345337120730361011601336091647548534448107595824914581414043463570461053447178058654347901582912266588034149908905153436054434989686035003404564207673312852892555485517463193736619215816224046681589349196616209169141030426236958005232759400796295303200351281255039706153355918591241701966546922166785202932609026177721062899587871595224726192968563427546833084121149087263809431191678627896404088139141178753106158046867447876806233873029893246387736324196010912800735855833004320101260133670517731221338541642854956476742086630132022818097075351711354788520611816117187253019204924332257878150436849316536054805019612893458274335636356026399930747945842985307707521351235960326601034999716301316261903090465484499831617827650391713428498511623249780440682094662544336515814821604947632652039156341975218049065795008307057538458012077414569928894083156331597889068972843145545271786726948880828318072308348476030331663170503415486418322886483024061034686890842999965750397365626066750006247536695858552783824468360378773981224349438873865133777850721489405208601039689411025673277903955326515340894733938522292594821444725585623013861828790636204877511575014530542079114717389289372574947403652770515996658587062898407856411698866232589407671532355569207520918807622487288321643630593271582608544578665150236436001830813565730949187480383767581563082056815984543192384877672984278070421715405014418821453088749596896306392936978011884674112526510261776079586279855368940139114185442904817190100491871779805130757025253456812224494230691234811997757152378275229028582258679862932653038204425705551111707606285986614866380285249692201200338332889000301344278078588794069227721620509694257021443263943948909067398468907154189712849598845451210534720198652058604544509948054298791662225843844967789077756356095834950880520498346929172646859950918098787068032376398640897626577144123554586703898630495110997482341401545679065953307392758649091231167557092169483316586028275963360360122728773406526304122488043072412590784444882478719904494150013030387519450864410460941332587306206741376059864152198097555309587222653683881687534666197155311672475446516652088582645997330717272083946072103276366097637030182821834606475585676927936055356134010212365581184370823060726312991342152462485262824514168701334584951345508891020856830740982112155296149248719572167139248697994853406387170909072135444350107723703952134321108743144292253662251698169933474587862909074137021030151175806994169431073866374072089379972746787148113611919252402274937000168592865101389450179689312875132494481428123925342060236195286360321519121242591150550047595929423093180626604039201748117531735245348962843642616610200979674052023227717770009802446948466812616507471077523294213707566564856311125409572781724379119922L,
5767656122616230249449237952053277591310640765872858866331354094655547350098653332829548748712234602965772673736861431860153696280944605587261033636725399574921468806552191445312681998866509306358539878195101710433682770916861538031645831853552153624246830212850161962632643880902996113708546171005050053381100402522226141015931381658600471919599057467208208142196540647629251191989397525099384977556506310009578859098778993429047832806953013330705829133991788191239807296097075614875374272841167511069920006087478779339567671122132776129319248087491258960063934347322994830617591155790440699972471553364512004558317009120672183738456455882781757651485123594011493499261975629093752706773074891929222336625445028105594502048249207509467458708119407327208355391595745199010468976282206804896305915955556230336276654159983962341324029819825541867817889442225990843890791491248922403565831176163062304473067486804945812789648067193724538293397972462663655280760018102070532930085684097663036709065450751990505526185261057857361898112189130195755132866460591849961886749805863387563257308370134868171909853330435731564913072084098097601332671661156398470212491554184438059597932838270722940693097497701737818164047947101952578637184394590327380170481487064396488964170906931021071516392326672648856265818777018419542848015120706695470997308488121644252850747272775002979251503734761922500555501671747201361418641232149040360785929279786504641138763234343819275790598097477366982911869073562849211363333828645563497205228598659046645647904238318321993512016649819724631489067060648071893731132582057855477862829811030754938026031508247139703340241891254431928237221681906985518918700219344081715300398371340568632431418300277006947399640911797102487040819118371387684012695095887253878115973787016611508498635525888157540907042414193840415876901096181757667022461559649050678681652696509618263094448078006507524056566805916457925621718708709293097698834185336090597719364326785655873632141005199201163954497522694434343089162419191582996565075146585442856404232070678758881110752387083796601718776870346270954354371384355705472960719087685515388827210180827373378597621654198301998102666143021858069012428162495138123917720261402330963865000359152508255781939883683643001114228238366901185739221529504203819003169088278663959506500764511903126612505401927841539093120060161036908620115819537538470100235680827617539722565025562213112648404914357241088486613494067483898391754808686720576077094548217568638617160663516589344677150995979135432921104566333436583947693286657299143019726727199354085045897970612015639346687971743395033591231984343292815593100641850677186051303753607620636541790968066459962182858862612858945712035511761087808924078480378880143580808008819665775341285296468725234523398472731763162978842304185021705373934683452938487079794275198340222644196743648528653166086368439152538082146873064453852492299284651365804630071673832674490237339730036905838499173621521870452778938272285333066541126625283682860637753709293097115077579315568320537597419241169243610042416217461681116904406395175364589893429464627252860125855429520144949753357752837794404132838430265997800341504844831544742876450971536028743970789973607108774234690457547359881815739963129676772162623948014901198114337529407903572798604936456623801058915377354864504293500340973477911816560755959985557214903136892946819845645038920967220753496675932673693577696262546238350058831983933930934523695389971168122811712081442624130003732721499669284518690367185522538313705034327478195872702604386201096418020035783167666395300002408857318838217108095490873090507701195838860429974610376758736344702709497773696525000873300011684081799957009636996595913343751655801451784826903869655155313378485330388882708946030463043148904605400360608983481232429231087087889394587512992787456364716090018852178027274713592315139439085200767741041464412583419849822111386767349392393620449035511526576111668848622199167087407624351002813104784365198804754598598971371337539978144656542846049013901201255207967962801538970199219771862940621068982649607090680962458376476702668435862893438478377358492860507276502442940253583791135597533923552411954368219347263761346803920485501845447739458448030225928361285163594760937138294883670210520015693793216027398346842189661684415847799697517832167694338322258400104616190451421657806077056663542555055949239024255166281567108776044212037957265165959164997456950120503115593449117209082235149912051391608644788424216533080011043031506373846792098308100225896787229017864610504539105266058419517314365155598213658905279943403383457325408883240843927359157500040075856047866283835662135164697995940419757362119471563500948003693340246576986129518280540615193118706256843647902068228501110842082852741388784776444312630725699558866140325103321280249332776761051125708596750442345326992037751888007697415529095834177858949285715061068375068976021594188395665954032727803754206074008074631703855549709880172795599706168120656931115377436391417795616307211833910462638991259933033023589675031656082262777693460949836863822216988380635461126855629497946459204006619000505761143961962322074121200162732539272910619221623206110441659992864168332373890275210938805698127243338304902277286543508095658344853397088483491113517186284163044649479744869811625060933128348570150086630527401725147364536850199521128185427078155838808739435764057886554958302019300743402617664490368379750296645881953542811417934647502028892463484056353212064422098820035736911103997632969677597885973188525391422775162820743152242349820839129888024741535077584847817806229583939109156117087260843247938703132403733379124370358600947790499122472645026679989891533486359949872883670455484114251753936496201582522748753890697320665611381743461053310388818108345118660004280099313832617117022339567784181824901588465909001877036349879912776168239869170335998150627271614719956243081015046067769738965127294950753243675947470391687299082617814814562416929860408093032117495874408167631932152201385218652942912497625798320027345205140544282845170774027927836465127440001969488231837046066301005804903482289079719886361056658161058183999346416424308488892202875086504511360167301050195534391220032164694350522844491944279222698922134244958479583997110905238128L,
9763658916714545443434720493040598799361375777965217436052352249668270013215553155296606644602401881919704321522167380783036149943027368848609156228453998611869194252753700129705688183112963892610065297174155960539669118269249144373484428385170335645975767550551507600473296376183212540981318121672468775241534638852640008540658198704345549742056474326611646114399023556838640368100256260973183372540676583944522548267988265634393199576935702271065351692157514911730340601879470198679335335858194884440051545660627556603165930497018755795580006250347443578040374254635112216382537344495382156915714020235179003910153972260383890753598414569731838594547095004195605935385763601354074426260207125761627522860558731092911317931675322751280626386479388883341131725214766499594467179417896802519816260959495755917025554439632766756154551575623284600664618599086886732375429600111061886952736012169299321927400160190639424649360495490386534935924818628832780492030785472001383886302023252832917477309440247637812631203521145038391046356401140110131659177073552648202791276624069625426245202328841152189309579173805564405729642809072848460762306042402871197711295529242317677531272503538299391289117450889904750529531088393947919787919725950381746440937044040414194097156202508510478307134261015791358931319631840540886839553775167656831365150508627515145038016622019096688391341811392547136946087301990491793257595690427412969730390869696355939821516421072796444893566472386245796911343479711088090638929119171624811213645654193053328662007550853847371110441068778194863376401123297923897127722071782097967618033661657857918547239420517707402880721262336863900648506363807618781780189144413993244543460685548940475830519212992437682493354382317885631819223175570794420594848460360069073367425604230368156728718322032746545265698388937261988034275326943955540510234012877428087122917872665216959871431753321702290073513581364555110961214216322829883027779492255453857866673330169830682430832876859110291839182979667006326527436624084586338137841962316559834478811492438099648166600476197043982334850111857931236709044765545608277167925792861945941056115960754531697746990304647335706709845768983136786392700901054498014600684335790321574979592946642999919139506645418313831639653006083854465029425558745955397412758791349263424766365218473896466839397126500053348700343335584305955199071420668383924397738210442627153975655602856641885805994572150175998780901241078091832919809420984023493416962331619756385639385967237771480688554876905862005580309423112525869129019189061825989073964404145401905538454256048737821891118371840112222056584668200841971174469683353657653451462701989946775811644847668007325915731965315854587137738147347321716449340770860905917169445652205648479215883510137460844841325373153167805959071452083310625864598555888048672367994950050269222422851509218891256180771683422635501220681261700733595729274852396445424419982675665742148669495379925144570777803644209247169090525010741906028031899344949437947191740029167355686931512584626032497262553285514292352001979012117942843252908389926266546001292850908089251980376932288430090161012597990286177800851760563794464362610537243734333240411658550934249934086541896159523986086874888554211346168155252840167496843066067935106573510533669987079440227511900264893209463891004142477543523803101558743307347506212999320070101897206540362782261977217291440855105983544018602351054223821299232524948101663316977528960156208477439036030643000991684899377361646736878235248236244375623640680830450366554655718780388158620117897175829005900646314697053252072763830509498617224567051842272800153365004472084214908854288521322586310697342606432713018991409502317108196842649616917325580237379479373591380877978818674308456537953284631180291191583392623726310421769116411022673138805640814277350695740813419451831615916335577339470209882157453793060296174379443380115454052106112409856461724440577835690346714619617555376900241023842149187737526352223154588427995420092209857280400677929091426212651618831878889080038049083742277118998759488963002705939476033922030833709546457097060735366238852894005912868296515488274934757155216773796456336200810841027374120836785327910953130608210231552151912476283435130597994665901178860608221844648776307659847316672122148709342795156271951387631438168672976634140633395818304406583538404210421827703211328827393482222910502068113934290939564257743758685937672774758081136893092573082074558436453926503455494080751792793681122319475299525747062739931781138190215891647137986880554043648027154150913889615614237384969274910909749022119833298561275532718150653305817617626436656472575847313826349732725219730289998547744276725278020411633612742780224791895996150274433375620032670354631983244645323746235019736815728194668942421002082867490757105964485348842430057624408558084536327020490783117381740838258060058134454272127847923865172463325889682151495696961029435897290955637259888084455414827198590453163169554395519804303491974012688161353972648519477050990329870968044235642177465464100150837522518981740704819212445600899600486432613535540057320341667523895686959869060532429083798647461456516063652319228577895672388208591464605946678006805344389467609318945485365323666817888032659271776550870050098220756420467730581371312361738554454480090933581377327686263684200918150811472235344081846598046413679364496819540100291674455215698794464767072065055795219510426886739743957805197806654170363698530419681648002640103685259722652136709273499346327581256784013668495749373749304960928839519388809247068942305101773477350871636314516611128876909292718129798890221507464551349329395649784170047039374680958983462628986523998613221655244892369370451916770913925863960923987491697281314940711615370360975962061529898054699205557758628769685118474661023030473371531453244099646949806978230548633677914806086894681782828510088351205489207189942746417833917702865748905449999792366749778958358476745218462324305743653064368466206324844023885434186861044058536698917367470649923583661854667337065624282246412698940156372767299893227013083331369616794556686044207004094227648557685768841785333496887634552400763215620607177187039109115943146941994580428840252642632519461907303626420041092121214048517134198015035797313058256647851775L,
16525722108191925005507569846134958028289699530940004850184658337493858255211558554585497697208204327493588624559589161218222165637960746636081119813906804015893960618504194787388416267213073373725259792181272019331702398838147378910401601631262060250700127183385388462930130011921942146927112556334460830905945765406986769583088952109936630828726899241449282993774963982203392142259851441838588513360779824520331672215231784196885650147604553772312577184779476636421467696638192046959140789518168448480439876732919427562556376167971116581188099300894343553785611122305911378226222612990215311445426214915288250024970378753219679035035189517351731513024666317225164570188384290672688985943288461728818767889595857577153108497584767997596750269204853739866944880993076131052812609284870635986698363189663495695576991273216533588074815308604343393878576721578847333489724965666154608705714404132564755850510920609303367482024969949035103994060285660727515769142186089375149946006267137312208369260321841777823849625095796900031243727718118505171313342296228186944051634508619414669092408525886505028944473286144051582021016475694959702772533088201269200296341691348353336460552443438926434811099823090644368397160952415694535183260047870712692320279918604647245206276897416641653136058019623948512150926203710108223608792071538424672774992580323002073913066829125432089782489509480264577083224777194300835441005486205806426682929594453361429012402622758629183868247683958241211010029242228780847238494194998108894369661354006017719282239300242788768886671938829428945506099390818939154770178963903489556579496004091417769402194516817710697062916164669936219699282483295449204572591015278860832971803535393996720193008117359730221544628102427057549357553398178379320459179979928555523065286025827882391570467593998994928002684519264362177142246358347760578973548175268417547501955610312425830323090291187134452478440731291036715728732092044678683688889372824313795327151954364253439820803893610725990152431374919236033053526180752078279104507263610515370076259381554545060688964917426547428545695814339722446880494687310370641314498902982714357393258013878733768549797059456800289812804046013189501577685674964877920223732887376278198457395727570347710622517825879449763080845451555745180508373857791865160069645241560253267086333475358888828349782882513761618197690856757347632749912971863759732519177734754278236887075203091535943996814122998713202069079893176794873931055779296342242295663222975959538189335509083686783761904297156367771318747238558765860717470728720791512562488748328993296419929810069249490536561707363922037619177245975329726671824102777168161260298124493526604548434334464527331277506716598304139164728274351770611830319251502334446948516173000684762160884600051320270609487985666606767124094101911253798845756111071396097872034465790227810368914370438230058326558198698676242488576216323533907781619148449272010324219522392297909760636196504121328910193613641368456702935703490048413036206958951140537672039319829442386427427895543979325540187186353461698946623206704450957706496232581201009305163345463215612461845934190750282998173306829139832345796619020232343534068043274159953031572731697061496813853402904268714501091722754423352919840177297113280786597017473015733508474743619822034053395400563792943026021809356315144743358748734155739627175508405447172831308446181107816941764411149365888628313682280004773580966498093665283880662177657516742277460788931885735562552516435903763252683378277569040384050546135369295901583877100482377399252029616053259437798530732395596735123625969329678307595118614972078524062420338177405765611622375906651871980147064273773257403312821271074006287039226330943030992189085613491992359104244449933962628655868983298569931646985477443919692218872176658440325959451929928486144585131038771567298013488132100117847307600491346068064131209792413755025733095931974177492532098145952246355100037418262469754710516780213267495639150539935126622874136238302922608140216223014428923955982505010434479470897639786709079728953939737069593155102690358659602337929517871128962586774177332472720781378165950051644316294389945509664836291056086247781946191204565608567917497294398522296856819966048068460482346100216182160721785538457335507858982446999537120491593627154534048303973841607776067339880029921206772740159183340501581226897136545884725443872505309233183177911222356730445747649232702410465551270165745852885960391970175109770294775276656888471251677511334323643775800130211958875599090387964843905018741135440891987844784970425954741992522645054514281902113486616657759358690756937469506670414341028498292638012362520980835182921337074689459888639498930123616339859720523719636958100669181034294931508311030118153978115305915417744801296890031131688585415798017921781108463590864780087356083970355821212014819084058247591627531321659800843693847815481417324743433113831493222241663426049551942106258811929472175379664092269598848260705730619228099501978585270641646969994118774614050646838703320122450678334296176761938019876774374313241155025633540682814279760403641832063052877697445302340323287286735799786318676094359406970689027017943763941900604710574511250643342647790706884990470694691576039608391592021911622819655187257155631061870063003379396709789065838742855310783237149549472769487754964879628342129243268604527088198954802131728408967418640631347688607601402645450483984472859217689969265021987590034601166641654861433211447117519323513542355361131086766709432065934153581640036797392353046893705169596671085762373321363934783555736921587363990780881389660812557499193542676072794213102028346506884789495739244163949438809693916413634218876465472977288901803241768188046883794953662602883795378968448714704283013877918946403009913529651115620052142581025254639407785516976167226043883045136163418086629187035699269841897720176939467737364643728150985746395443352179865764302300678161474428102174614128818081055363539121307003807898192704075282674330030779798924209832407678721366004342395310515005541050132905985611605921788445143823654485861180195883433740682885698488723269455461774391738785215491936259967520154353005780436641041213221509392394775106438377538209082546722551702846588218902498197357840929706047086704180798691731532616153663528863L,
27966810334375132223026980827528347973244816834628670259307765376963193874555339272337598263160857412025909272096948067071278745169088586180441714069306109810190179213532306508940390194114306636310338556581975559692466290384887101883913733577275628401795855545361787294902043082061793596240866116230302529529267487879295655608070883209564605338751760881097537427067984536754845382240710170563460019140047905869707074747500310670904478311901552196985718573239312701339777775923325953003843166466582564381168205873446978466272599751582229021155487273933982264268196756830981022335812987706028047580483500195702114203923986680643198910574284740055063489626895889839066105560506460951381935654158581815662791108069680334409911001164242330923980436326681391228667267845958307419968244974106024392349008089845374516096499245081041159652036000484057049036449322992560422060752845112606378626546203440825709201261865694110277166087087419912256380280671355671444779602830655456332454446395128639910699517591730921996071306027966087693628263596239377014821680727327240886096125568564536268758510556178033644164116901163191842475202027449681975341198817725800308229411545008992178022282884516349387162452137411436967852125424044771105366039252252130660428439328071432080661507702040203520542474344855496125244820334352144390642992801453946242615968433225747126358502047781413096359559957688007212731758620043097327599092620349526789253151979528753474650279694986413463400301590651143706621949452358643248198545142192029436086719109986164015796061707027812221836479741901530872055763221806609733934807944221820302237849537356657302052888155762738237246627533591894764593797198238625635657717717260179807489271148123801245399652783524904231986365983844259442180049331712799981119196764233408193586487640179473638389902673771948756045780892565674517755330725980274124828098017126848040973007369081613106762758049801324462894362350175005251048196807533966502985772836985190008863257894316039963899464162649002576258488009036661294332353974384931683348372392212321170722418523801102999644701356422444521595431175468006285209681756531815120067983389156578057821850928248349446612264580659833394063647959854880281136255680946722446491895109053603599239485180654196816225583112607416405805429075352188678741397721207573460273345484034788083034451350822117579405968438342781769276827201980277189015779347239112731063861079868434810426969778159930256828245419001664312504861823502783045336923879353812478692650558449631258022412891156467263715881428360767648964082350465474160186110441129901825435945767409000657781679629405880680001888277618986625591803981715074471038944134596581985265781145789723119462062602818939615378408085118257988186785614165390098249168822656893232090880647233143297666361806142204724349404212057243404798096111828300280248174683364679524632700394018456263794520628999889342879493106407750387746562892726699548710754558867944749246779383061074639462073125972955815641502920690031434350732353201806967553726247318433882948016714387198889170781282244103830737504707820483866653540360126319847722601291900413372851254715784961180673619794465337299740823362852531526019795907469487358623012970881793830312331663808591148628167450848418980175177828149304571241193617636750382475126700742767252257730210936226397168425138221834482797451382406618969741635446122406432120333279470916181706295442439156814270806302332655971496255705229119400866353630181194662473557046218247926319942327163140096386602395207326256585444606207823312434916504918106714260987085878021328537265749618705040773289208181256689953561989559339260075758557534181747151509434671345706490760041138485312684356455987176365934612992292088224412806939718179846979659295292804667213230304372557437087963516951110421044634572542011245193998557995731459657336549098748622265340240539595642783348209140450103601776245827531047465519732467913812466950189648776493515316643802375574584175033156134085330803644880549178856569048302524270214635391085894280038577765239886891343636095622392203888458011337750218341216688200911941187364937969489334789123955942116391564664015910911725306651050102318977913180911553037669419912158607911282693210524940986195904211272816500650326402458070387839803627796850108506823043494023133467678170075251099631415265829843358656426954377059343890319098828063713288471300615066079483418986819707321468228840130932136241132469263953739159526667929508824864208632213863363949756244147266578350621763630998057663788626498270623588320425048074405066144014370415360216026860749345448018171267893684153740770759548481578602455610418445799523646967566877921201060241057787792647547948057987577045668257368599044159379959901155668436867645600696425011852878776256953089774003215520492032412520217677579306668138588011547493985597857672883768333917347247015773530569420407150103936120677762228563945999369653802551666815253637170094774072470236339426774137696540716358742904580172729801679016766164808854989287107217139957060501871326676823780224893713664803042712702570385399767323996163420546626354580827615060641437741983754465332363254298622861779354281616022940126342736269154798901518292869742548949973615472434633597206995186773096112926209886950438390239436228094001781357333900655042980447300030574559658438034440529097850759468464096875773754136777685434843454160237305262161561407557236498808450703503468564638114452180524430130251851005952839248277913341905145598044510144696235083541294325367924608814186671052962694966680329109711169887118022094125048185351259756126596890674842146853172029352744962238811711435149303180465097345229530749212772311961764184427126202601720964434875461140821999678344392706823496004272949069355568816212133416271613808753022436902063485612047244423525263537122055586855942932624158243345191426417397942217602489955166056688137048911044451906539475230040145159212912366377822630717819617629190716291698716084772489507322677426544798536087372117561647458575549299445568447450909714409970000294912813557273476072003082931182539173283623714705615167580594374299002462948718404775377978953668732318492096753343490521693742184427269923459576674573896662789502919524763700462223198779297572845943370898824639883312758389622099802950214317639866747884857460981880333729407445788455439794735826818211331358450L,
47321675573816349101003668038232573913891091524839987435383032396452661752825385381521180105419461839213915257541488308747671116148719843226608124928712075536730291670198649765439548979690930952141942644489658864418171866360412856540685662766109469653769445458103984891299972853324047351531164830434639070552390992460031179046508738447972176233344563393380499322522288286033215111915965216747605910948871343951695860193246541913502075956697518185785346841753876489796653532004995878490821600856779992027012490444000795001085333825971091556002934664361540869310770142632573861727729007690283015477967987199252153317650007735470722543818944571384894041661808718700029526758979174281336139920093113994438916000308348521837086373370726994472646969221935800460156211829176376091422912133743718041669823754486757937859754590035953430812832915139680914402577967529448598592947392660287443080154970862178495346365928773986960719640451883911244156316032768951554037087667574705371584372201104855658357178202872865582356467560743994021951208293851303404450945546516031616513659548964968570702480143901407581272036884437596943259605111900886702537607472209671706914105177768079102109614114153495584781242911584820061026111584021170465397212692403817511606621732720168869896316790861885214121450640876447042009713683288730657579685242243477032944469954655259206667774187026542430550535442282899714565555398953218736794433674807681239421572124639683102331534801216441923567103847312736058039837605599529427211719345349961276069887442640965007445881186698189098419277145165752251464141073574899376449492537485576727177248836095300163052061189997644062531785601152246288853001825032140511839553325717379311324517642176859728774321871183233450982627255182644678305112072112405058450189687671112502851635299417682569225267653635183384580378756405708726470952742140984956034246710634420636919437934320073320731245813469084047060143138256783053060691318041564189589008951854790230038129263796533326686163436017286316386513631829381153830270487133751299808481340917376010437006625160561918272778778037450109891971609411381862780311943118761020171391857989924103711589331223113677432808634007044832113740851839202597960791879213530138861488630823267199975926727753061700790329724883286659201634819256976868966759283685373589927108610901534232411413078794949712250562927599449926930278302596329792553698433027065749917601512501056840548672690242441900221968291811318517432508067814357588777589710961846177390064865533834656134509823848388411701239401573645482793777614567029773340809184873599587556440583729218044704649383535102142062289377429669979608081088215698699346508752986910373621274365507937220415617524017747177717774439105714376547836111314661279105442454953364088939737948774828426411315766388462087494482747931176659067506184785650417128669531525897294738124384218693250378472794213655266524880833145423601655536803482703821454119378228557358855913481481163181032554942457541978068432644170780102023843783973651654483009378776471719013758955121129105151603332445855729409700925482999293211273896702923006959254180443991862486596375002810307527954930018235814287877938029605101727749024591823571087126706705209734732187839177558665960938263124358123511795937064534596917927434300852501126500929376775993141723380562542245811961221679649227994046746593028029855603933096294527578243084576285288003249831534629216524125597103194193861760383888569383636998072188332189362400596421447019564886014410330383874537821206430026433326822442899451572234921067369639104198224871686742427943224829405744039260639726396212385173288475053245288498368030356235921807353007586800126188534614548246029981580292538560480073638955599839258230460295170223558310765684578861026082975110385460020580520783080669118959460000526497106389278337011637442517116564097989055625134616773084419289873221141106930098295720758272368626367912795184867601243006279731906415285489271383009633300034081705815349533886113379157728235701628938540033296907483813626247497191658699088723264040049910292607391967523988008229799587104237522395314330494503868062006950795764544584505196353005288205280978766247631027146533499399335784042285238910248311361424542204119115017540329694438590953700753857219443325368346074904205335942183273885786537050920872392167408451377681997218838125886548518041605992226416655080421373777593168727395735728173648563321454791927363556601912299774961359475758652963365869010955086343121094820632609580323242244695037601779315024672193686298098442865180741550600015047052345725118357374543216864539675506350583884078479450278722498828302016516637678888018907336721014187746408043876108541021272065538870808012970020497167892387156913282301714816780985612112358209402325304533572043337297019847238200269836392560851745183078199308768811403930495993799180711921333222632262072618385232352877396076413937697983923028677699228185047222275433834445926968576095300175433040699618014263946654351523523986718954129176595177920186077970982378465101011652361898332156000373499077078936909746450151964867691177114082902453558159521739649575411592662263483881119932572641873572572140008450134425571084517943010364131677334133595996250169339013010055304714297124874392098321595522643221687841413585850927939647636263652740690183949514707004020958777156668498509651103476260064284941522712330803456253024558218887817543797314164413852731434047305214853258638819898021238362807219698581045722730737327128361340553656750238082483442201245705800091809447141521024556739403375569795515980020871548764217374243779264249330383683964600220774474824692575494954658965591973314593659557002731159752476553235687790328836940584742004141632530457745735479539751823020140892243665811414843598889152321060261060942126492670361232497939187157832299032583232850225190179402451140988599781707481257137752159154255610946458724589599683594362407927157468897332542490938810840953663978547779293376801915137381311184572860528185503900581961220498746926561798832720392254840592889875588156499716530566372963656442370411191971191517084173876984060070414390110416043683505722064867030304375531239163763583682759989766898437076912985788993540015996724759461855682425644190101690449529103301516510830938017205316963684161096531367179216326333481149018677969178367998280925937050114203555L,
80059341768140880874909803972498447683241731724319176894628648378601371516801306595793534633077206621119694828751993112392856781522065691839423635071401646859968847890395708327649518708840945752592366409907245263683756162302800618875281972169002313375468362457616291251218458797948911358056648368023185460929850579113901810125346794370374446122559679114237331881444901454845852126682079076131911155940709293000321015026999373015120672458616135240312420954109493980314695330777261581641153747881332433224923497712833821045686329341745120758574520275572301371702245662850068493010438287035991927182575824516854913440009934380590628876278272049003970056556014361158970625047528420075689232444334644020343321751753134647748058950490703677332695943188820510144935198529581181386615882880200402378052568497554807491467944018356850561316740087547730393535126134183785955751630597555124207973558520093564117033873743576660061119664248632997130501372045580203607099711804389435812779784143580504203074593148783404043976593659115158158892039931711195270853704227071287827585661082014472729999370808983911573112959614734214182007477802045626396604273528227240208700977144162509119738494373776477862535896295410791323221352386664558395041596137341479508275925861661343295083497026771762857538170467619742191514307614122864871578264172439475435380634902495614004771545992248947185539278525240118070411302996974773217869038215284840810237822570772303609470392410861531103139550479670245474599788686729464827390254222525338148804885438105790803839591822437040933933001084489484993111386348947468416624503687924319470089005985083507293493104389676777855545128788505894848975757321877035942196857807408847690502150347043225227264533113220841602000384974560535284927886362310941964068909542673435185898897667569947613642501486331261410477836506153643849300338844616771375547898830043686416883758516475399170918027575334420526625475185652749258249461163746397143136856156394675307458339249120494360184569803992549767255348405790286285009266906533972854941825204771227608566683998470248677963629313924145109739855121132185450387614160154552358715929015310319371337815984593026175182456377146492485970457929533564392833720274998497367099730803723868192067842234938552961402148158778769153528506618189375146715543559338053080825517125370537755565442690579291083577879715559651879053613422913244367062876139629598962318450191909930371170570771843821862149922626298724476438210870741244865280455379952626423792835247348979837950198550411145688437471701724576258927618906208404193257834173581084253448254807811554698419407552188615598757026609902112572066790567336161865090891490152671694715133503242240135949769758980429307929359908582845644609938915155924036460964512876997780501167055844399636856557933399688111213501145957705721285130166848775988444233026320681657657506631697662551252225229458921163532326698169274286440771544449541161610554748911172330165992025168711232878732782605894324064721462634298750599500858966549437879890738850311090542030103150568023041599709085002905938665896749383643369068082280382186664835528445941946734338932255280584235081511865466760585561277876351629348351393083325820357659579255257331779776146639210249232117060641449405962169710686048659490388793750896016356635093081710147058790687096429901093694839870828618531186146496012280607044919622738385193860783721444309271395921515911428401797204435547971494166771206849747012708968338229382367407773227740404020625386494223275864445485635971568290523231954151810580564473236888445390878068476574065381837552219894498645869710803564688637055675961748506215862150831640671134625317872476401643590857400669359538013570143148705927750539249862629964886888150717487850189594949007099768369555937447540066147262465896938537320255785059601409623425448020135843133408695240039677891511128893021766737982189662504278546903682697412658176109131103056424101750446486590010074387277042466055816787074753066162340999629013359115823174971704596199060103348852734645463947953718717406301074843551041928538631375276118750983248686625351130647787172076511579055135075702175229645526287755081130788243431683420565007433616111511394859629042577107106386086738945604980952268183938103425446713563308390918947847551749573590539663143678366587132989185854753027770426202008368832872013748051243913999599534592173065998915206432049677171601088581128184877949371778644895347358328791096291436450495633759236085526742493750180832031678432896285935445541323227548408027153741528673160746447403054998832252968036057264887135893803354720045362848650965017382440721528489703469625687644889972820886159921609477401979393400475458925250563127315322608815005445163761912286924108002433354795263432404668063378659031522865889519776204958861601018667099492513789858085444200514310242545313054856162072724728375298513979741412443148273573249593978688363380045447544519955509863348989622723076568565471414209400000288625792658162934001157725833139948316797949415739166305477074841618134154396203755759203207441600857144663914994332634894760683873284652850711595680835086773535127822218342026356458820511924261702958671224825052391336912933241571511761029676427435670113480926517315870886249453320836260296150884110911456458453630303121495669919943350018738619455536631778732785937933848827265488773900338489228379936040739736545485219705525246549209088167741760630364074301564593377814205854589641255820614937004443604177527395541194020066016169673140368778950236401932810119556687629605602722835909600634451602536434247261075210874633108629286414853960200203205627616489752316357894648650820183153133743432344459667137036109117957580954026323241130890400397008753057609580368410793071592341627263766628370060649175199612950813928082498875067280470844093933285580217065150579429979413234348424737040406269063647272216707214769563140560541432565619530816398807674176688518861670179421950194836361016748496203500561968915588555568012474999118508379132423374846995919724809766129902049441153423342204247178679904821156957751634797337146332855949578549947185754311525062337639912598697462485060645010644616518967889679587293114493390895676350962095195154350401884896374756345818854655931701265959321730914205702494258414829020475007701493847764295272475945937290039277360126729250723610940547311432936L,
135424948947348748060923187814428281738152405296045903917966202706726424049985320760806575045868309743659973731021765560992897573299071069007926073662102037750797956616864581838311774478629138617676981646574496106813571328340601361310661239472553708231208938650214186231775130645497250995021108424871444751433715983813856517573448710963978721756740482075736494845049840269356975266851820406710113277911892967558807561888722806265635394364555314075882677016200507867335935166479213059750120373670143138263068886339307701546497323749450748927771068445912186233918138465253230836080946069243518862692565448209092849175158824975117039162599529832077859892199382677040009943669324360716233308487899667973488496732936048780776937034261674997817865501191548928507106084753509297202122970844264883602772742086869782118932796860729706047897395479711522689518324422369124448842674163789890452937295599252575063856594132011599854426082945148832307460705914640377883272471798857711382140039364640770699951231113438383624943557434396391827524875037030755435512493829876163524942489154293902435659445187088064263781852544775090696570495471524316416716975184781022475588515191382930369318895738050378605802665053969939736508337622819980355283989868600826484085293486115367817635985136286759911994107708544896348694101680599320287195194479524458833993170897375882355395493115783313395297539670517765011512553615923014175437376941879628849343669548481670091731355960006615399616724586263675437221511549918306562894333777459223625439563825518830953772161819205536778316302553190110542400574670848468056453023892110722196525725198600931371036049214634585055555158836624540588545052244678791581480115580125040681454072951802239798000500792776310878953745579703329468242688711857793407461671787655298814553455810404143275204666071789877348875864347295607338230778400969913835380602616782223217969454341030666578336027060917563447805222220404868024077495579205576398177020812515882202234564247937621198279884574989795134537312830835810708592517802550407491825305870281098007635101869375345172211084427439871233271190008744976722469402269471099623893569844589330748590196758019528420100189262938105593968649948534682938679058122742809831533889517116807486235487212087890506008898747864956330356576349902553400828430132705684487323189723925354371054356284029864475839319328032135308801472843343860235203936659194121126673293170044836933724097130638599378766047804533458323540859359075095494375137821248018695434681194027170781466798893824749140650174546985358857767623060170541837613514562563485224089115366045582494359919545159001622790861727607555611652349624981045972281242678089872379123132868846612367729315086206924579172623534389717446213801846562410678708530005327827261444534859019998623175477363058390194393401389885896685352660802006488797532083710920392335141970901836731626734187146711189560028972827328205739444126140578429231291214758721799150840924157952260574206992050555422938525872885615170160381113158643648721388229655599844511703349358648503106192041047696299191877127950627570192498654806036852681131662059970612427094675467094450106558674856099135559242052246257661637501400469073663132722000808961659453059991343457889274833456605677944303059422496737750754710969289385585177190192100724281950975341590360770882686287889904971988907858291920079604305588525194349680997242416668851031704145361212487177265546904943616457481896951910747003375773876074056744102608257113300377182937401445749674041009010017520975609691981560742392932787965359945296425586828144332710135313546368667659385659303685352470782717410289810278343608308375422583222733150708467756195966995643132183489131207288214899987887420705742052079855720333813372249718546656299483142573103728098028891950687380532824845316954334800649234286824954528419763112167392434396331777919573539966329702570889847668516285662013798700342996080680077406915300326029517291848511171851109548972032632078062113225591558285524718497938654835903399986819220276436291627391829602220592775840991908144950998107020688546118785175680977447110868786687846977422583009721827237472665650741624276033224796328673088751517927889223924024214659638770555664333063599051389738125200474837918915891925756843496913899498322943554081046159271839490626989257108013861037886844128411794195125436606013251130064627755555942643558816474529328457595642013557922920797336656645513278304308228792419736778233264927911853037184940256944768410726637559939200839680972232924246079901091947443476417531131683701299830465283236031026262460222086659445407677803179805795170203486254266341869774063097205790563024672468268390146486096683058947659004257950583851710594238652017815707897080199734401505914580996010935922975970657825575657836332816249698582669844555785301847869794281988857098017125531740463837906680149840259125961721960346911737737465558220336417921624942442471754986532528474641486740797101409214014170070554103989716804199381035267087305747069460313811033677778735509853606627911750987886144421883504057430201137969142323247646161103222338036367726028648997302293058976132376046662369832401201259028856095856009310126912630942509303405425200322575357918871666810985129590865681222364090513915548333208360160162978597622974260791737756072167633179474163269612437914864809354003389055163150715945501490847074592662464449897480644904714892885894870282451899392331207135056189231585920882505901796114684996337842763522452442974673968511947513136923941382789834673027182112987612875272181443293615613110585434046520196614284671686124629424161377591100643737321977422565866309451466702603792416266686422988194775722692123566758136191694344510119812579153816315213365775869340716597194752474744026253846738959925773071829617538251742117504960711944669433458833028504970980220941364762950794876894970698514444027266818932849986327089449800620700356499797718889142762836641403845779470249756336553662944497731866738299116524081264498477467101042829581439734088505537864007309602049019606358423208867838651839996863961656234269371708703840013452492971305293656534879725193557651045857842475720934429124842639988501001093301020844185048447152322500321545311714745767330887359369325487112155052844380740941241822229461357461473396020663739595635249809242971278839331847224611480221432057382280359158990L,
229044648712980986342811644758255115552584558423481305400172200294727482928222263331050393580055558123925084456274605556400745919338271447019274961007752878428807423765092532009462583925366499288724434897540800969829044205616798723420647404686429672599646748690437222254250125320051539770868195027852714551721637142368379149245919398292858413872847614394251466186430595606602214783105968048741874541007214840925718241561519406595193321381556346602602718938597479939607771410732370037630430465782016816307272655793067741530088242112692872264514573990910233028041884483122850407927319670612640056840170854758808235723242479630601551774118920246788969412312962101687078233840675417023867178430123372011292828451809335824423266160708775102099411231613025556408378751797310822371979268089880210219091904459424528462653466573578821060164305774877200168797724252788375400245555180767784998455039715735459300572509561469899232019343127810189545895672754418569669019307323910114897242793477307353356494710329102537338183330167060993403760801006782309494165361027001483646860117507718488404169234105688230340857884215313023155030615029292196326171453588821111660730946685417665736645402388275604845819057420823091710662020048473650577307938383283959136664079598503576564813416891979501933534906595440501988116682386332556972195717207341303210965560135715164020356607870926274244329690304435083396666452180485893853762782975950880567333602570934128137945257694735739044745300118751278330470723472931781181865302179842507634179823867179231650257681553435232429303537040006696983024212855244801881667167909164621146878704233578490532296707323685123865703550681614749303950291330837392705557684000818374311883754118071619066424529187929073010592305881349695428210639120821873014007504716387126797035817723393237320593890402789120013645331191066960594662663266250029843975438507171037018055647184717505679765965777096751728375415158352105255022473386733451555402533734801244722015289054363779814126715653871344520275017620651516549331314828515879716060166902052689387772745889356066198828553587888618118563094534887292902630045111744966876037951158325417994321556679692635098394496049234062396860999348763271839762749090282767349522067625824070303992235782498465744393946856127975821313739520833524811250946669827150958540361321159281283127438939552960796263083836866802364474418468543398284812090656178017382256349658057507132016462552577743523927018837617233724135100428821241056044623269100001554926991636832010762040573539659645158193910390325915417470674610902416228559497270887319301252014867746676989038209808212824177411079548934752402874045594474026406893879821415776751592121828997464428941018224978070447863562887802383282134795755175742421561526089239502583863577012479955973045102715074789626401559050143505386610676584381190268586034071258727110611534767513051020722772652822932408157014706313565245969759314612976668492297852819026302763716817032861804654109967227630147657202814929304924527727432896184061868324732836270031910925399213961333890581790752353841995440111049253522519393370084112026105131620024286015875232765908659328375012365497129486720304273120353701015609446013058559570818645957572257601952993235963210402348332634417486993818744379857050163689474673318732062982678648893803743570540266698622202136436181806707858727139150493337677915380936429411585013677983658394595549499321293989350015069677333642457472962688838896025195182985543771139271020905248867057950786970346413446953271869792768423384872325784891130556321543202068095707845270670615479245036191881323360401326070299056416782511526558146250501540874101387331370908898068776230700286620337564529323390516428488332994249289518718008146953526562296336287626353437802465467173404578629527356012117968241908800838702321068717222632254428706257117289754139374840524117040685933545861620579051606767214906742997151824631816294313702518156329573014632360523210724191536577214989101713235227972673028546331381059767216013339584723249231282799320685335541852788609146238903397005433923917142793361904758094979719584984981737258177975682486187586325312947285173424597165752345401259084141107952781222049439306649464887428856798338163316405638877261192413779082323069650566742650946787754544781675449831745106825089033934430357039450614935931183004601401246868486387463515431481191282480558482924459832945044575599682464741601642878252967430981426149996574223260810906456790298979278309040765619628426195577346145540181801544832935099125420328842179273084033920582822179995270262920566476152071508162191330175777147827527341359012270641879223895632792876963370708899939400486832304971423546985743377839539469902674301689962991682382794416378839769824876681349424084177829123862178860011874145763156600913754580601385301741685916207006281539874006219404393376537425488584362967584295600026711390871471192972807736312185501077222383540671893334571269957024240205059856486557428749420126935168001221502159112994933336046645897234694047340507560594556929114830397676450353649587217925185246402566069012078522904816857782434994195473748371949102215744356109159397578715758436351295366025557643352608928977970142328718789253268259644185401018249911092531349351012929702460983630006932162508106544254229773726266381084863081197034628728996195388238602336803568009307128818372452160332125086237295516944792027516654535242333759244067979397465499032122914031470205935792394571583715076847040484814647544082916927982059042864638782450549428325809155654732154362613387397247885223577640877448221173076869144179506093222521558443457097627702740369288656827478877295358211866294445340465022806586453046851699217841129736323668167804512155829292085807912839082879752436209412284210065329054293464223153304410487387538364632872868127059565176403684900992894978276348007480799503417872253794761747066553114331266951337846134911963300908504317978300366120541973074659181083370335148503220191579130048746767823712135676627592345921894244264344971136409340561358657918831965990416699531077754120048989242680423979394721971549210146062150191205752114741662100658116278344434859844862024759804810980628764702366012268048581149764359659984493936074836993229892657213610490097421946412444600127306096305673654549975536528011280334168474393355748658553260619525019388161725304687258L,
387325831326764530324174602881280972447604976123597372443221084551937229986064149618689679508658383357734463763411790854000695666458705963272699319028045048999127080893402001216977324314924819004659570934859897955047119712241835259490634669699750028658317300693491466995168193217464472436109314454915776263338784219739416245572623760231983503467337777235307470781547694553790933183193827142523658741091124693801088491675690397360012981888951674668516160717032620385194682750839178655838390886118945409355962631994559229926610818879202493093751624099053821407563179206328180975770880597296779609526366307293892509869838289818128772271316201987136973987837789188721422613339548371785670455092591007432938347185277568460211142901115663677558286710966618982036237202594085291305421187561190765274661891560753208221818906852717074916512675191316447430852399093924332513193168135665018595622131151159621487361652883892544695092430187416564183061919741656597958829982503159000973928151701404034204863280469708258341210019113039737776635760518466911250766317484845227120613179594551362778785937099324124486061450572866503890560897666688142417634221116225245888145205193546499488868648656367429672239536729602832974972379956166990489411745794643120959754443193702693654772195702574323313317247265611160252426109931644410632177812178000325755825824888001961825802294040739019417275499013155882942269527649676202943146586589901180335439016880888805286708573210774112400680100323856502653696497284980754013880774095741706277853848847821264542139435209822372440581720084211967849042665958524760733591553977366738937140817495881610324175267711933722823362990366323274144756889211656952331011136782302233900399479608765754301688800744957437606002293352551489719197944807454903908793345225498701386729519355913956673778700656940488840300612734812612666865047917611216565227163963904162545858721084033347356735419024176039384345669806232332763531233616234058198795359372005278212651922058862034331075612681259002807436884354079429819446471422690447559937299924527407468835170443990337230580666343307158983390244450382054507715213723623684495848363757409630216947707819975904275093851173479173613368067729548192090386619333505925424361997776038653422406049549256783090969618861475334129891924962759649011745633640991274673671276860587640526401290759175890498358504171393192374151528022179197419320454956263858353356210711616764351428589830742763710536094240085140933650431934832040003574857117437630156881814069530426309552738809837051019293695214047231862737818451864672126614573498743326635549497312364438339162911778879578171553953608058294106836273327675421524432817970866216413535032577439228577971990106822374582003699829379139727158462744621190516970512666954178173344763116296506264836714530347761128809966222817814698661191721443487684939598599749986477443432277685571796503579237796084124712097724300143620803232401650072247676683614181463122079318347269684149753562648097674819834139127957346163789083294872670284058543553355714297064156547217801352233033440928523323937016208758018115935752554862574153662898085419930549034953839870945664335609808694790272117371715344945261518220299811750512924766777046764447120915952654049329521781962522154542045803074827521130277607114711511547508219501515485326991332781560644960818899733534379478834525400218409395102685314018086928312673042773615218284420886294031824535529767201476029709105949674721843916983034622813105165199058266320021772904148511583676625961931876912292670658439973313779076226271047015240848284017484375669576939185735275833487033052093348806328038859856456384826775205894367931999283214249010092966015645354184021169214070083607928122113312036281028849997246949658390496584690401506698670424709797133262165877659195247674909092418434565906899024146211659713417202632531904591224814578033061346344390113304551255559114434792851303719800734495155765795520219244662761397093752717229731018031757368952007104172249373788070623468065488423143525151226380471610971626993712367159403120949564773800149287954172380014954226911088322785482282432759417216066173422583633005093875476964981880262821254223476041539716243186047995542549106194466152983629644869112186049258813459233762199301387850515007722931732358355165055667126665651975187321470877761586744784113959360084779848163446415660533826586500270152088772086699201942974408182991061998834873964092065929197549627173081519890166413710603053653165762253284914900411227568685712275798694006113301565967071544725781039179769263489767345359262639138675891089212332275420275547833286919478544643555179538677645566594289237104719670130576482511895017237636092275393901743859611988603581174958390901344062465809971727629475196186174585370018918018633805029767066259839086305813153721761190713447630895558751412446863912283374600530396553271114587572353206972685529353014651434347874655689536420085805686987546090424383828297163290192193001755541338051949242278236797924894131244458324407403748338557406549491454197656973311227034834305725934111484679656211943996747994061660451931354834922803388992622497962553317370014913776028045527136420811547661733376879680412310478905504463743538694082555657519216229269965206015209971523308187281711598473088053043052449778455988150252361871805579043361751575233669708257260345702025004855543535921615033400794625285981172078431667520303102856969367903729111512791132683637483901588209730876481558672334129800862330697500428514297364799049041954948654437393617064195202731549814581251910917892025737494200890779021379666666858256965801057312278019115966740872425949824176173728478246667039332161763215284099585741530371617468529511337462417801868819909112950919694134592515411070032561446284486354968641072150531975742732440315014255994014786789265064411360388586326850584617189960015360084089181850871155578669081124922393734561292489002733121276931880499036410518432123718535181712493309400146689322578700326821042886588759298759062866835915013434853812603933024363405911046842029436307955798822371951123705304224268310672216857624468532916639805490366207662781838261474913462907057605006593533869396459195854383505500913258099731722564399797686879899714077962091271034841060742769441709248628133412453917312490816837984361750991823879560969455079149135121463506730311354376166785046467L,
654888940408515317017732941684325590713248993411336806842790821583882104374962825138622160418258545422030059015725123917869991911233299028022316779914925870164981813714045776645509621918518796417180106140378759481387528530500601813552421226631671163118126878928971130610153427374155033846803070573827852228647626362104914615723771579759990923203222291777133598522929944994835954692398427727089730143529834122115528530619501445604064438500465339781875129514644886310014936484707030418842232222128880670312576799105790363813214880052263335384836222267227571212309599370849583702753831400591729837952864985100054866111325073237546015211886752164990632129526495548320779147350552470488175555902832771604822863340238605026950491956377077859290364395850016442018024792113160760265699270356570286924941325184317496572879518078237422088004071959038918005817332835221252600709580067584359037933935267851453075311690474188056353723534641054690986643252161685575992155494409309512412765255560534460610775968628422779551583971930822110133159220839832585906383769802266699920919014429992773688615386545659939697238883542200536763199409517471999479154225302030023667164231948627653899582013634876491567707540591076407338035895658198421075263785828698562499327203478134379358910065458146872202934303402721251020475429595389037803996564886206255401291742775473682405230364014742499078688181072531582149721617444538981492710659867902813104718569434977268239018529199432073592923612378102763484119493172668550178302453558495201507330548848295771715343055622603815848264730948856112380089728427682826201766936678096219394306636962418037603352501986230649186353812837573767713292793638759630582994411345325799858241896871622763458267914461821271040885398208943932722182879132518892549133582316960615113860891215027737233792742500808537525618368014741210972111074078179173598122449826464087467504101544971252744922948909558954086323755060107491534787283193085856602452370204927910894168535771811925501696437920894367006259572680631556881851580543417214993521185939394227563687555171911754330860303376697076746490783921146923894806767009255889424648855867755991401825594325448221059960821245081474485449465773183836079309134887087390837056484918884115979509435856904292104823997327260804928331792461773030186712740175016760271486671609679994766543900025867596458644863633808762299028726572453108190297988589896900517741853502054819470364335091737122337007757936211443977508774316011513674170140661129509834483483585184416095485812763998490279839026609233197964345101122595177290024759444228190252006135954282903489591357141028610830089669948506113342589000121648417690835816525562950096693901168605932501802132252031920587954098072182887219090671474910477580134095165569235163855363151148407603746034652027442635072265529432810532530654326845419384977708768684367446262847873466486187008472123662403037889684407040546050063802994674091250398337286381244853408259623856072178288628838878338941318042318255904285863986239256769965623016760322493775459095379036996587393697458731198094371996420443770402343646765763375420031282690200556112116018359239275087480721210474830607370022989272540711373268689752779595830606630366412399516482871232838832245679979684837252375971976642837834157237424178959244935922465430365463951653287766074052929632849079154847648408060173356728632728913507646707748520625908196629158774615599386426026916010633017905057338324325869273734114462262285787099204084075992032014887759659797451172067590574091526922295161861248368318088856190980320578157549484790835840671574489257174677753605447132394040440564493531438864902549157731290417425135205815701276697610708796926944432636201383197154802427111885563825292867104597139834573590912379448546545129429491663868931234133688981631908723761143346270127408916483102783515447155142614937219842531520301783649003174740407543325194206668036542422224483426286176427222015048197104235634118953178111519883440538558926625941563243061455009132303994958826466177856716457586183189408257397230164101003786241446643968627867947470522315650357505920461032936992453043601955092627442946782726458523258695174504490910085702141832817957608786360461798143473547068784336305295244930891242035742841377901935697000287546215652351263637847128240709630547130323328550732839236196369855669143635102955544709682884296873397881001844530823929330842217255137287883452609286289694186152354470138810488721147199651383546970428514985785365506695159780067546271483493555842984487461548753536520058353162255788849525073865735047067489642537887849885829127480583349057190231370192613573523668360801153530809575269299447440857004493882066925641376109201610409905161543362872502522678507442449897453494441635228027086387037764399926638572313471543219987102318501125858718361455335166860851152178071740321105914370218753331551713148584349765993275625171520042858722445217550670477552226528157547882474372278089817047400605601986064452936709600085605294670766034026683339616120082709914201339738738456469116740891331352099140867990777638775903288131860084813579552058848764238148651071579107975130647606208025482829342960768741035301874896476000609097908669077479399776486961292652561970091538387169489914111323689028640529728419440792589241942669498662889212572715071576212332199131381984658158794405407744955220182093360757907261761719294788176493366050033507407748503179099339319342715458567215830191255897452101966417414890989528651067904886233545123157518832151680151561431669070668134601378506709346781205832814089571931710187196069380042331143263477861960374617078380857232699077887419757360522106033032701152494751886625275807353471464942665735184043237436355305712107006046055110255439485684633325865973726024250605407300571452626581407544105643299825530347752954194107365751477166419565153748169560674014341474278420437411326187531540902745204887374342770675803210723048549905862118924150050516365475563072290788422793050916251162901953634728206771791314301189305375939518504563155927726924002566201222628570722029653517222171677441993458715494362532890837933406989482111439290887483523624824396256168591571704674497192693799119183421081699186032386925191034207970934436353191637117049171480277097931419431541321337566000776739298395168694646682663557665159073378997504865263902105470108884451575831L,
1107117645253274913697335216111208054606684373752847882372593801173322591267250575602319722758130777183081186088680849273641086150198026790264980599500019023630695822779608331210947936846360307658243804130474480391733174012106424208160125431546503478604051757298473138861990808628855424203217038079842558733214557905689446650153788370495543858391285513651749899430680007007042073456824794710055459477993930477948988551480077078872337605359704000100867936376724711716074756466711647797870715776020108561995872553200319411790600855221931965923193930981630439641662547831706547928995141679529038040062662502080844945402994324774689486442285373826338171539971691124042584930450901389567206570762802372303262885222835398274312481049600994374090127326464641715499704887266978306500780259734080181538177747855292237744505977882180086468245356251192408758621896302419403943253896022726405431164258092366534866057782542067139563923493964420156138606174998449206587195151751361479967759196622205324542523258036900591396014125982018309435646051623157195247103705658707567713402079664531485119545404967782827481027977880133239025863073913330715907485962296352792232096161115630685377763220618745444839235135893433783610947547817987729576279898946550654324988015359358535603158630229845171829806347090753751662678329529136747412233350999136502017374114925595890201950058391546371044423163472725259615683840462273667484142593987580335702713627847117012891161024736413128300647862589387294826559128120874486640109029291060554805151602194882343073091854766610239455024198179682594503384905928635230592062726394499149774839558516543984150985308597164885494365529754806772041050639997528100490310782339275779669382093384434464428069854825382468105181619370892870004349827494377151865713701876911473871640363931832664371610733107491627059866182916738987093828691608659562612204436850358273984117017712837853643852599634539574998689599512518398791473875973156003432262084179030567426747284276693785364699439312553778470745415487528550143308762920731437162613278641807941329371358870352820533190950856727937237758196609651348601204934049852251799819052540641116775550910829326606997138939728968590736965265586960044535407377630510514399638959836859116911661460565381809045934829293349258207825509667977625687828581471966976952914283591402119920708168054269525156978412324908742117528378276896578686464113654858369549268946447791323365663733123089735292903490542292197140558265411568613565626316420182450249262711186952887852848530736627717112726203621587323111299869039735033410261499928672680308431659028087233846799300370786706671999451662051220991479996895932075334038365005644406623660414446649358706510363659830656194506608054118790289179865336716370691889127885249700840990255641344451140247949449336079627990122679635638525257593580117566602512899333299180702797123842904307078893297873379010625308279341969372032255084975521681067428589479412064021048373857629336607549664519902953432761551094369160080496216843075475203418067223773859763776410959986576185600736947642420584195359443356623094920229356993548427875978467920825105648860183279237669465071100641971111257915348291029067111184915213268473579093650956418685494043156585744555306353986950677679431883383011245016254989461007246138818086864923827901882203082122341318423020994380004850742957507672695222953164492415161249810866769546177494617533748628235999761197126369873659170459229811464157063734491165181722744965713064650996081424230716490738055853973475889103166790533976088354573252080382575348113980465285762902891897915290055763798185253832708797797143742957514215089142746414521170839491523519323646119867441838596176889296719816433915699703072784019868951297401364472876871489201038132903544256898466381076943418446508332964558108834266339482492118192429199986070649572353507842119388052754379750647485542406763333320901524644011046587756167399560619218181539510696645418792503370539201079767892106895132553205720443417578428091670395064279598060787359339562094413465154995882158864597850847681811235063414192916151669001459890397898032513057385617152054286902652060950203066498001310829043685945730430209924619727712997821957122430793194779507225957981614588455947082548990201617413995847699944558803664113416794103515252209426111905923384926023485880698926483445519211064116011233137838090039871480718560860609051274749603004567722472984681551568182160858483896140248916964400725413627688116928789834209082147650499695828473174459485828149755247420010621282912962142137211849630624969456633097068007504412353529712695029884868463347188657051845828676351084018429020355608804274890972575432488343142099848957398365723224664263064031278301845373930417043305672763320595334110347180814566624494603462825937141985804517505813981587282454548945984108160049167222286955001082691156499861071533358765816342115715555890996142904176237137959237298652565710715354240928556062034453517917192385024582544926689907696443550734986393849379147797145656556325708226598817097736007344919337920525473410857897449140109151937839720088293651377282496220870956274749342775335331838012922104943931690985426725432793990269423316821198255162043847019576364590305817183449293446701193367200491527114683198624054167164625481599120009428593921174876983874599652754207493587135679159063430110753976796123338075559904438200492863133957513056888670982522254553271749476665013003597428106425272608002832971050315441852672918582598417951259802240183075716144004969159474851958871967707650003736102446616105354141156444804367362310337316852730531233638524735837879256826936926815395194670362641402330330490887882626985343704744224126894048060534796799885034715164135712442980828136214527126988237473598907156795344501529013016792860926515089533965139106705717344887806196898273401354794047744615488755631154930332368783449842832486223928744556935192747902058714312753004673973213051418532633306271443765222709496164890121805812021581475054796775712085968639063231380027153344657664512772926518735740025522754529403262350570445624150817941156620495758006462458584445280401396403719840146387156603098256502165209644952894956990937040215034501093775201115704491887061242213367210340534718765826041696157797298575969738547766580171408308925048703447356323724476063522051806972450345389370191911889437408519L,
1871349261499606559234772785047876545856653655677501955898235172342865363664699791616589372952088843468553274244275818226387104342882215680720426335286471191144040337735021109385487867039047639027096816191935468284988886928444976295446451100314931833114746660592961891260744734271899022236841016832790103333169929359707445472303804011462926326541559583968930920071733730614683852712740977739306234193096255839737400747051710914514412294729359490425604282814574079107217483040573471027188635702201985620781789349355865757719449874230796062357453240520665507134462304459163144961026704241730425067181085368527400534438233315698169274181208103509600650627560364025537508121562015961153785230401476577366027988259087135582556040136648030964996367703935244103043622743576836888919633404153183640630566196043631029535816307863606450177421219846547789158871174749385063941944803656188177613302690007919021854692306213358641193192166892119042435030854581970084965976129484711769425469776572850975187777160759788338328593403223311651499530377898971399525433417177065036913267367827740541763947104613242697283198758387075032564706906095672651484602838114263343053681965300812065585046868507895596206836533522080427536320148737680286219561719511935005808197204190063788359844738090353883798128609894631225752799065004087597566843118583990864260572773956153364641753984761745879860653990944362313901300154169270126067682271489560404829575031309018280186662980355242538612911095640913776185556724379461692807868403794625968812635517391538922420116711416105204575879545346483254785417393651587622290797763562478755844826401760917103185122414024052780267797504609361580620668516999102634193654620988925462657477611311638817545734852219782101123825199029257951321314449812733766586755610845569408988862792144506882380600671461153577723693629324005596288140337377072518069007033189860279268237453738140817807982543382103310429190828733470098250206679462375324592752556010966842051654170510688180712483918039338129362169394273435560233337645656992203330997078861146584077781321484426755707682796173453651943298209846607062421731469526831574931563610980988608622684024326888336318985244896755218912793470697620176128970109827256130561028879749450933441817722130507972698613541666022503363734310876397872996214113212136571216115109214988592635206392281126421518579507556540602274165785864225591170744575275379874506163243035337334085219995473510439007095714700095047935780670557130364502524748494532571360872603443124799383023074910214740910651242133976850811938206121291744454438927966390167126146784848514338174202670952720702734703275102532130139871456743568772264007484855811655695492092892023868527913968831041909133789304207437229081230167051003939872863057988388904399810587995207540165213058106009001248175636940641343183628365032385362603455726241067771436583385958189900524796055118777888229952901995224368380637808116098804421441147752477515309335210631132363470759299680276213308809292521532128754880867149086415753609801435386108933942543684868330021983942374417321954135113031789024249991646074666632582916570949447711443437440248331856820193182554398402302395462717068815755756911762521324705232965075575056127452198751246329586860232856056450549336284080926845662316348354550102412290440247473239293407248815436780913839893327949999747898298200261877259735076800690427396720488862331564365862219389819931563855760825263760168786747145544713962041817501091413272816722996075962730802369720332748931281646332001960611542232102570697291220997571163416653565732128813727334786796387477383287986501701825836232093859812357378090048533497385112497011932844831579207176526169363514434401081923629385285239170704953590444985609292163648329608164317641855295425779176515543883806624273401874570996801572272287958800020719640683959244277461590484222586004098298901242688238129576703691424272614923286137467055695761031418739275728685484979455379666001206417040177204085046816920053705179953103610702931634583639062180999598608367461061563937932088421995793669552182352012953079692268677206671404692482680260853126403049957070544423341786234643666253634792853747557641690294859443460832612064391212015157174308488111251012038641686835350066017703661258623215966303898964426163512322334551320550315078823596445784968211372264047819190592496253041337159045436958798070047111296075560626050220964007549356964100250706039631741815426304273446574323107541695118374358388575999659705897622202765031618662472199569338428861877205877461716157492422458624866155942955481378656023385237659831888675053886013500297613686658915685364910117864659666558801657544704592027076118108148492980984455797408047872480453321519449932699792832784265779926837126713186153714327939401157309955539800233646076864078335124677314211490844933769612964359139381493897965162123574465412341441540528468415715755017950616759641456687189017692209729889567155749656884616475843718447354742457286117239585689684187374588738026052541170456905490025265458327344091939591158145075533819387607363282859311453988150427664541154000184526927296045636316894137795970043205028502658240647031371820159640643057632180648150588861355044483037998599139106320029929336351300419538120687788058673705878878517085769549865416904080013242173974160935658688695004297330811340474972364435446259349117071228845596191570650382759609484774535683568141230457429393342916099797526878798641395877163180090749677743580104846025399139154183199264926129752761520764854828088354330271280414409116289562218582147750093774830959788365004584465041184520098385943421645888844313747507375553690920114714732874560815046215449884318719079650560747583375512861699353514570880518039327639912440075341205866079079906657857792500979445753889600868756580823903865105608643003374890782972178798321933080990251197863162567037946164332501187824427820675128794667309950091559628415262075785934834606543636116507022330527544808659133088110096685383539343960178989407282817706765948508297999169946881124557096617114665700019562561194978491193621234703995975641263649961050774659287029801163896723342884953119770113557762880474089623986635526866929402531067053007073512170117622642310085201804129744745147153937819931555589071022368944823895873977736894043402255106479954825488348795092976104826341218232742812914033989422518353L,
3162648510408843950531775338122768142322678645872251610972667512257674178357170316123654297373499241350862075774988779120294709060834101422788651777197510664906490323467264005763587059058154788455347970357669764440728480728027758833789206009183159721024228402140996933319863228925703135013357151135410938549997709759608498790882568469799934221975793219282547045949601352270446854492340436674462613746997390751016669988542595375981862254616776573389083717492589741682989553113166105234555173238257409118543388677345772436713349482217615732112836143324912040962252685331030486206575669585634739912193953857367247870874756627064473405749486049171945825841951533147259058168638467301238070542101229248639235288617419034815977380215155073601122972778202785595254012909020186070051680885573057730023274673551636901478625702667399971408453249357844948158211040306251997039659160299778790541010574401014485506926937970004600055872232837170064613356316874722411672175083863319719225486745989561117566544384247805119955128998667391321835183566265220205197376604973479050441268003831058480393069016272176708446012924037703947506329172787976340644667559096858609895582927288637098781975138735864665449892015450174157683068693685859705631232859152920699332007316186525651399710463428680992244568501892484251998907987600264421307135761889214871882699994019595923483085588347474575391285528295093272974064735737236732554286745299674907780408772949639540242512305408669552385896488906437537324640946368704023281815093952261119811761287760537544753860466745388511425679600393391769124448927794113005327558499744975415408425299539035065421638777464072749038961333050156941154147160526354396559945590322032618685102123659793100975264037657146061817083142673367905225947582204943698665526150180173522886211685974731129556437048218475322782781580677994168965178770306268761382740033475917856863421042217249367903951129654373813974908874007153315120305221685797267851012036197635284351495717689014636495770216776767170202549058914622492624978401158945395066942319567178638306988796466940219977688741669602914953025007026333024920368169513415375067762157718219313964380410618904227056561233219625281168788820770271099487295069293274798318309807558793873747675708948516307295579854774326702090241448229058989841560305350940801532586951806708789771268591842531968327850292563766850596633051949615015209087230680473876460752809605639447568971297671588526845898274500079978420660517071538013804306474072166798237685231123424383041230924701044206702309736049253009568572978252495653414017880149526533325995472059038791296056082523675751158216341043763024347740388773156482252642237021070685935948817970641071357612438405494183899934365887251374674054487364642317803046211725690378518855743644475239954351969674730494075995651161714985987760244915176643525302238411281234976089943944428243246631048097355080420832931984829452999670944772751797016239648617305579144793255946219104538800817663755669105867545674401030789835009835963213284162937660754502358652257048546751949880480843399279812419978328763992331689747899561078319279507694561739565933552968539302065268107919994032744025550809614484822369963371894583269412388273049458587130598481443356742035606167193003063426559900681384687558714748250216648333256616664982471195951519039511218999704629698852947427925903786175794641810795771677921579702708772376832687765799306284823687753172749165898162169009778052717208864534662440393911466635301577316840796063989589259494313218205846128090396417387873430138306897319012766261262929809691895596534024978764093502868571189717172562155831875221512730080133492881887720524566620483014904631057814427766831989983256139625469079071565536692302639710301685046199375727240613163336459126364271675118372080997933164705681981286031291587992895271883527513151575924375283938188728404475999809069686850180310762162467163217893488591549700916284737304285279702052592972017791225691051370457871209974913770101603843861547762979402565828509131003912123497880241129640078303762120159851517863830842805595429262802669369669082683655841648997496552337649579409391448566068705244848456494481919176993557925811448049546266537963255444073818571316406245480186090429557484123280942375021739545212064714098491439732960282126552677635210366395126152013539072296634355372922948704931941940963682763684331539802949822592789898503585796813932736784743844375910658940615521251267867334008782100326014993275629135780063135731942972319030342899050214197108245791097360063744515813321767390799610286591919304179734205705428410670181023492273562129153480030838759584705829992513253419905453516042678807496510048624092693034641236889273272636356141051835237166983668117660985654646498406750103558214874161391796084197738167601445162329999651639135955695606271570832255866177873205702368095981470111721528650714755930206487577834364448100356081785526927786629950732282045229988123340223816799584926434492495595690631757143357248872695127821799734792417195031676032633929282277343155867559660459893858345906986604648605052362213729024118814952995584998702948300170873821560040574723467111735196835645351876826089316462092428211332132091006868592045689289343126149666170679254223845959451521052877769144495243323122108993104117652450185326298263130444004242682860312558888715821402873547072824351218736629270231024821997468074579355254787327256952620735439316254604249766057338797018065112150817343574709589851598524360419470536161475440707179788151286448504748354409381597139976650062582152482624469852058177896780861780700453645234410293349177148317412483890663339494792177916345899746728493489366617763742884964584648513560683945130360595843622580358557161709909599973167578793171952577322402972410075591518478212089587145419586799092551164578935826925518683455348660098613674945558214525742641573631646315709233324267684385348722224713166268111135821665437365211372305311652825646216649746385718486753198050237580909597355116172117966547981113099119228311796739377433218550225282702185338757464839472726116479712873475448687812142891035232217279231906177617504438170827571749260510955651236442733412887696565423225109544974905579145975816772166312443708403932115653682915589811012325665304815525485210470373947425294497401804008753339144387791953023161205849457477425453524030969359318L,
5344191915890463357794982917555586647887580394545044743646008353571518795510719727701231472585554087227457716798303415880661037689258820087230905371448855463406774879937796959607434197348032128721486618245373917939927647243748279697882474681071629259158701847684462928134287675831259786495531968857819431471270358449638909308090527437988804186411525685970678193910901063292846746223834961383814252836670386764430223513634242520838186847044703021679181352681315450865893725807802267179605479274373563068328507266970355223129055623180940149248556338648820655387174544136720621717744611778951841157331304342592898316320656596361800007066380054633232020036694484420739772044040031425484113128533692090646753881090779300704187573090243037918111688288728508266996708563166201782825750643672693201120305689919024185144062906053288767329090866916812790162536493429461115897926342465687270671134409961441059646716495836882289536703974274163745996394446850071282571439874429435429689317238148740412075895090383392574557121204073919927198685350130860076495944486848326238184195398804052415649470780958497722498526123574062897930002963779913260980318789563511882775110756058217046343439647175408648372770364538923563665543368869092686383434835017099764719818859596764822789302514618687216546625953195700726711475281191282378591747066745210979476299607329449058601057655320424471904597824924076439890798396187119010647707033719494397713466430284936297220817530478283280356174314568208657215258040486554509937053705115856620995594187840701148010993496187971729273392363568578833067879322643787447746543035891858611937700705073296183066981174259420492232373308567089857970720973288411488558310622063650728859001073933023078914406824988152696786256660764253962926700595444718664179226006254690376086371926330010758556762491803235061789743213641417932518373203499779558477983564520380272483379669354027179725536527772774631941788063826929195903020481682029249904910347448734083571936962903787659985324624428793447644257030881026024970457294731639257035227011985838961789920933574836971168674819572822537651564543748110042444709724106525724751273303250523790680533253413093907292547319872065664445433980210182788675003321785205348971928354497363299022848518287546399788872299581997740456624716014909518853288410423720940180084377074160176741562392402673038830305888208647090156949712023198759865275607702205549245446077699576197776052735394155193746581402960986671058925168977747899350657730538417264640425005544100426763268448243943424642573409471754464542814214367681565814093800639587753014015820819004648089303625811637081233862056976850041829104760504403533478788027900536604369629141485191836955218730637117413106793997623229696747559900697695363523742950531703036811920375247864092234172322615039909629237884653614371389944160514789528485703488843697936509705632603884613975889761090127934265897355802833344603730800003792051506931322116058065841876660042775285985201468222609938080676110302931736657609000158830668531563248354974135128698788226667815194813522387434865750886796651035005563341025329609644939791944798139501456867554024067441083166587075953660030552463847200652024597493401347193838169855972561909080656527483773484062808372013151553320030652271060535202547896370504733645248309018883785711110868528108346773738186713849605344124586552251263682585315741680921911467506570555014753760284013243730073600213731329302631872938011352781328387189649387494440021748336910326857622351133519269262184658662076120692553731252803370559302091078962086611776037896734173924031259950290490100364131401326816808287602329818903160456897202851774887145359021760944757939605015488494780683345948664054243843650920184788220534066881702115511617024168559624573795877601974935694478777609265125769833277954180210838209391257639669972622520206803635024572806470400207232986788396531241043836897930294387186547574358205262831215748066687718995482811356757595117834147689107684007201344009479871776743512315392387053722453669696021871441970838524775952670864019226684724157388058205727445532507610807086381167365610843625171355908733820347633045367976243199440991539721748497146177964508738334887114397215729096231273420426680408296780658264131000264706325265435745583051377223790981367320545142608285373337406767364695363299852434127789623807848188149661139583350006991864672836142092807958006713860033003621320977279647269772977725663542999404628777323488514804221958275327888907469285176216832084733151256724792720515976990479097548524840944867099866493861097451810014263015793405702994958122549956442513490361861151620303052258993777738486042951420995286879976740977120285882930449565719913410678798465228912765240436957393243106432144843957049752181241355941531823689960035533617648256708090946515638473941657996535161421864206513849910998433381741610773319535990672337764815868341352683435747960147185488529502476677569007106350772667471310672212893266471256040315995211547905239750654609538474711922168714043358670565757080128286889161914863673620294624178832305183864082903565015948624195301796215542878886098353783153116750752976876495097934370680534346772267601525924602754307107022443863380639148625511976444363684394113411859124808969878558715010950467784790409410822603590640597158800318020020144897864391997818022838439955717849608987363533704059389637335744064984877682944341897975596369070906005853138185186235439952200517969497376195078509253269752382720208706331103722264306340217561087417614407735901441785905981274402030050050909119596971113933873385402157642308356375578709424632455761077212159391285724165592536240577675945377233722500770215634542680599914673960955839610512695751669107860792532959434541061988819373427272057471281439990796349970569392447253779382654942520198822487387363723919887938032981212872304748334965678518773209578386845986995440409112322539894960156974012097382124324787074503563360510885878660613701132289192840533364120371087599829671070126059255612498580508295858655003040177173963787198059352133179289552336321336836357547041910917349129198153606037866891098401386737264296998802579651224809475962051144212368798692038145254076792356160245203496458521556164341235333756026178358342518902777010336581770853697811714579632694039628993799687419109923309739084673457864967202297384823384721633189894L,
9029178573446041946152271089093025969890096120394964597352569293233150412562434524917367054504999706609335325196658950663935737935742340673299073944067981648222722616779207413310047207631481556200280188886455412384678725813808669362088301167587710393949992182382513111268438909900001814144545000369907249827290991099781152468470288999547562575629212363281614726350029106456263124031779041091567602586470124227932940003908805586118167643116880642247574017434930017063484854510323626049059619280745884360844235123019029974134393388042396346075133488169064041674894953497199057206278037959404233534959402939636117175850815816646598663826851524103222492595081085169294596669620461633214876350451787362841653740636886914741386965403213630061252276828120321490150485816422282015602361811980809061392792059002214859656768873839401098684632251736175318958292188978170286785899213129650519185253202460548693501801573172581148888218791955049399082850536436760906687483037889868903993311600221929907977648401181027153600354281691354533755620987846860208515260619829669123096453800633269846928616837949828927485321926767665140343082833120598174997728949803944893014127025935272140292549502132658834127687646262515338363504646807053960707785675622630002575313192286074546504617909045438347962165339249446077847409861180463716019541222282452414632361463224557461613376213089813514322075364559375569588145348812053339259366121756219839153704975463995729690630235227314180542418141830893491500067872408337390634448604162665356824007001641893520556145434308308056452751152451054951350082264646915624562397263148006715943211183297670539139617889224510552942196420800431939117235076587575905820035723741967313210314377737972799421546532587926583560978368990872634110312691243904663256607733482119007264263754675512962286321247835638985058890932443558634270915073091462096857952930119858130309288066666863736307330988244778913408105277644372947712435669158761843774701443793487869164693205578807194218714151836748511539560622799070085174708975365509611853506486874808373249811393818742457373029886854905863845906305776416027394637845595699810543578255154035567999855265416647465184402861507097107519025052183887617844700126812554190391822051576464737449841255774150052645493582867220737357841047607894182629729895630876122372229362008435093805076180503491034113744665446471907659304490952064182820748798322821835742197508012005509557499656819909186040871781140075662689562804161103895722592675229774423331059167960902842780936100250078736355001459480468557733281417374424745742662175205860739335388691497986277133806441186808977267510675096491305726264370164940686150534093141854541602795463561118298390333205486214786468744901640073062386158793385707240246361223371594419233516356755543422364105414294036586254527135362876059906425474153541980357671859597108121811633454315852767452560550236552920494341652903883643266184679007959158115429948654652170039191169799761543182458670805677975082738010807204400999609808667670190811242278889133138624733801554281946952127763408196541949390885196726018585301780977971011964127721411119356935503511657727992255241581349251923070185156176932719091450466513108045648966423193554058596858685686562739208647718450536777107972766609941068959175251063038264354229564885853650132722762531819466064722842232201465851369629695837399236772197016046430055560418561017107744032687843816973662120404825841967228519553448972878231476206141017341060579662569649570181655863519721914104626931810683105675761670675775056707524957144052144623018557900991680055014667905054996141479162361279618887420899899040140792952567552324500314061319183748982806449940612166897999710849095922516717580342616039631551256753005815877204761914100894956585514841829656598800673466051177407579889099155783950015222606270314910512889086595494416640865669106969949219199911309776381009456064273043277769153551282636804999947556808064304785992226470236195029792550190179914792870686425706359467205883439008615399867388373707220687715827120256474758877996288492293090104631994605815700709133021819169252570679984122152140058828947059473335359885698768309124332624707120510341965054627529313558499018959475346316045629594525419094157536513225930558300985648642104264119712984731117932198454074460461846738706139178495944306363124782851977347300347879012532780703488791698847863618432490047089344910288260102060236403758671351634137219760088839777712348129916361319176299211179614020807703875678072312534298844710855180465559559148892451870283335740879071640933682871409695468614411421419878902856070458147464805077238513655229599931835241985004917948067789028295818106686802588682953468980213365600504314139763425562240078912465575599575655684104839073250571725157690035532661564754956422265720106805814442962382120537301876231861948721908802790691431267500691531906001466618899101872729344853594752268471561865085599530376218809963813620368900711429331340156515138569082098053397655176523910296080853407115701538427007590251527993381852191702661450765908321750923953694429959635484600171950083270382951172513082932828660097493260711410994006163891869587284241600349495090561272370267662435088452961256415399143634383179103499682369123373747916084167355363196774437984183792127332119263739985015766701430244009412408871733753454930211853539203270178446996532965413995595259007821858580553271808335209648577012744830378532623695730373058378675976736172929522535460583535842166897114173892389915776903540279932583365691914881978273251518024003920142788743958460811709692358274617631905983995336863827078923938987276538968010021692531351377176602633020674163470448820602106606051791706298886174564994110340713904229049718172016246251501464694453757294609129748032821212921457721509037259301100568969521542631496644529254175885124009145069427582296744994470059865420515540930044504265694837601123667853301359848550230586662658187090731824191564917003179753650565390032827402126798688050080763840564561579792964853971008567864227680281649025431856281554185659729438292245907913380447332590504991233117836747439379539747625091042634313962792021718407128087492620474414843910679765287431606715683289258556635141447085357661501381789647298830667407766914828307827355988760957580244994304262681342079763859055873478076309917010863765297103685235093769210L,
15252799343047252631882981443952265057905147358591132069792024288731024188118525047790681205675680997957193997842808962617466021595890189572462386793534226912106011996096167064864008583543662551700001115915434118498126835330084491208626582484353036430220679691419308989669050623759177742446173008031580780588225036885515131824270971717533279555137977016273289736043815682333404451602630844453875172933435402357107749230984271338050838196401939516908038911115173418117629461418108329240675027109597683688217351658612064572530183604646520046176404227533314625485348614792916470657504062700359297175830108659651533772417014623104016335826478162204589065833727955141906821036335567516083197790781055428983077448067705600783878949624493571360380905537327201231443322206291195512531293705774957920843071792228231209443803861618088053191148786233360444921870492515190158471953519780823188534684968446550465885405745426595875375289028273707308566279763920507975158729128473355590373007273068966683328943811207893267783087275291145605889218615673114729156459772244045570833453384988547111582235739661395409764112210273587363031177900687219351849519838119859288525538195552131442313081666328872178003020479328623342835037217518989868595799834549549218371559593585842864400771686608714333839256611470261098806974101013066542403511729260815239867616964436394002957054974883136784622546254023409186971164601847124890209376093045312663944138414746318581540148397644640789984745356993380412863153086195766256439462129773018521728749027735636754081443181537233879964947439975887042198299729124058249272674231649481782398368563604723054651815072020466319674567622378171692500276689765931090408274997972052998420237918339009841707926539656452997623819775313976533420636586328098835715448955791432712218614397860262856753011245153289289694503681740683814698943457489107146877585978260124054637733385602548818414823876796081512038970759511252704266862997088129701857996988648122995524781994042325837998845766370710058206463594577976244527675376205789682970858022106948626663569812175674747301576022543972330312968472743839869283979916344304023167014149420026878475520380462852908643859501313797885116557718199783644350310995644558257364017744164921634571024803341269511858246220793481709598314952610671935137068527708482643028392787955992421701719130209197296639140520361679577896356010971592707613903258836103163647769667536963188885179991714063447521146377945192873929568334967204464574642520946840426286619192186446160426637229745769942736440021699393869910209330820305295748137390630861137248960293330679849310969160182656875949112818391446007650728606593954207113885809127304549135820527537217508778908990773086086439183519524485833395662818179577423466321112884634605005205976180028702777069922612236183525518174169801677991124631761844473060684936523630008315146374189584397478364160535666944066209938557250604787770320331603722783908760498143974882662991257248137631064902609006401930012865219309244505987759678817483292997705752093376431788935328490801640587887378905572541392925496992961651875612684106045571014250399648585661579537684497870647371686997099406668257057591522928152934107956826555343946285510562514052146345853404893070003904342496051295056191458873997265424436041079727017329733911375174085348711663453189074040828695926998698866632983323241084422569350851560531331790111905960588806060510383734252017755117125909105440296645275276014500246673392287861891800039329017722592485226358973011623731073626715226141944704342630698731641517761279205243176917706267633303700735461182525886541126328322842751221149522179878130186812257518692076028683957596013043926467390246246904380267503632564112232855834807132185183266795739844721692637980795108100607792367992066414217870109095418156925578073062785825599376107371924453970723045590358874439996046459547965013895166139015672131197368006706952403185396068604380138811638627789662801847807488006904966560014633628851099915977593502251471556073648074884520902926205530928836833907245182014687281275449063677314953354860946536709191835377833333160078333905935926751665932393291687091234651009968770267578415637865642380955418673382175147439494312743169762679079933131424598209890335176165601981276846678114385971312211661703270228725997321297118198726718718498075520798574852105952086714307239694607615101266794660014277942743155820926532144037713234146159870934062784537767051902160305711689198828174547649631914232161049636812656298542537218103239414380503854677303683841816756871291618675278620962256279830848264006323885686965805935649985949059879032690338583949279444503274791301283290183460183223535930614284991711084523221946162689311996695031683152766081208741704876373299014001868315639397650320168555298462360547110312865936098123004110018053819749367216224752461455801073520487716405189009197704098399185247789592844017650867389992085686762830838605013719575711417344071868768058876884392884701666754604309881694325592109601327869525024565232820388936697574967608318401343499456652950384112702011044315689145392918905111664647896203239050969737730428021823784129285721949396922117180503956765001556982319170525936527185073029405997874501736474458717656039653460279761098894769894159300528684495172169775803112587838530930821352396998463460158094622757635742096139808363796903504565184582098853818301471597026320468324762959001436623607965705649242493861373734446219684531949278772484347414415633927503748207266390599910722859727683933973608817465523508205819773478547735054986633932398542996892176618011981728451698049987894428751560185218594947100651153184842399542295351232779612028969034881944158435200217272512416896919748090341603766085141636509095587648970819843004967978243697736320350201053491197465503506949211696018499713535287201290157751433136524564409332398117884285136012925591946975346417104138392787899740288659125494594132893762626285466897720451091908733161080076921821473838846635264328114395638421723092803234674292538764011313410867008987645468238701010293728949011637136586406183917417023893536067516529322811727791717315233847845491242494719244826939223617412209555080355698333430563765447945942080690544230919211798793523170013723660877117074024135152899196297939861303156342022794253432954306186889464627024476370639184644508298318640218582017561L,
25762382788203805559204038940129088711313961518695456588805962809898089444277404257760446593052099204162514484428230985285149249371921865215721437540395659461892847568373603597582328565628122956954114280115351263915148762251809541403948244084089274993511876298215259054275762987421815520678253019262042247644990698823956035646666186580792471969002234766158377772928071968858101658296161185640787511913800594549032805365921232440904423876346121732835630305263741458027700014835276769315873746332803914265937772983284738105269309481836628583407888902208796957664248751726979273474672045815610754450046519880108047814615058024045142768999283280250536552038812508924852137048569493913816473712140391909760437708302702717582852718016793032105108815714566526764751753701107515555231190220257094491288154926127668275951126689749681321597459011783119454562856662064150511381241800415646626907851898285752905245508711282586674157342992245541029266836572642626576134569840958660826158179770362424763876142626680661678232130741381155317868127529005126708911381207288127109793985805448386443013681481862103326468717768419859078563517197214578332930569851116854384513029363805272416254928863639939852469817048261833919271548777485653227716728584440345895960761308279279235271180771861619886196589666315827431967991636194968973377288440147273158030194634689054896781939918018349757838385762489459132429573027265925400278005657410041781893794466617575670927901149124662873775949320652135668473931473973352151466588968235635581863185989007406745398741643036449015274932288376420551449637351737999896590701902483236739780665370383657248079707302289573188225817203588641783597225307936101383184838436862513899789825154747809396728596640645441640948253485117605570370179705507617036631871170442777379024596094138118436696470472646697251610555038184186629554234198590470950705060396455760803783611330277719382449988445578318389181679646070548591811131576102897307516769041070933166518261041879765795179334381421089061441850576812122238748677067514659154745162572536246332074257428693642016366716548444339657316337868513065769085772900489770447335181427629512603786669664856326683235471010949705940698991932359512050713162653358558452015580124009943667414561527475106933838116432020365685784327504874770125559411511688591229665755491838228185449367574386324655125875569005579712477374338592224402738369423510844160549395395188006702393066415952255689609683918703744210251716104869462964394285464043459691739370343009279450763660614077258517973721125855752211975806955910670175528770938978358462293241299818431716624066812524702319598655641962426701703306898139924666660255826386150778171342490753327664011614679446504539201759490406866778219350847910523156079253151688126217588062330615521806787694333094811353427613224631469288532078517059886245444461157513475946865527275686416651202565141152242774026611713887184368280577776922247015445160249653020373445918247402444194085434594980179472281563492296039702024054714181584760717574927540322185271211619567753966146982054078640463407848884874179190076541500694239942661266101017259309759662536535140663815787742479191439801840749107054369348542237840764361468543971679488912765826926267389905496836669797909672777563040339618005336999042640229771481137366926608968464839133857573654255332757374076636760231708578483289346992784974765205844405311433845372375060563258320828142967588934333993103295055715503072016824330258035893881446812373910070775230024929467629578394758605365349028420927180196614581565102166163600700085450739034038383796196792050955705559757319220018833396864504279384146052948081049122512715260003740932373990990372161273714396630757275864612566603412794300712099610944063595876873678764178355697761515822901166588751931539899256025195102692033147146026423637529495474270236152793578977828030371574221932822059341870772560530906230856497012414222033826528671081297043939522288082113274576757959502914275677108216555998265936362156542553672506558280672734372665595323229671962548989175364862375691341062657780879769542444051459896090725222396888634337001165431374715859366023557808202410965189371948500040800196380578492319056565547259530907763759895252631251964108203732425395244687368311487959527604342625952965572043249236839673173101283620582595441351684615556435704448715652432498552061839815901894590363645072508049688241544071746021870551514340685576936174421680753242010315512713329510075199017121337396807057317765389567791125312806932441841278193637339740267403836432695319726046357898734752025375912981917108173258663232254524602957870383031135375619251861685904432072469271825606869912428122913576772092290535622521920323230233331943003097873240406044615160366782668723790960242799834126797515685632650062691316497233804735871666344016647004328607847736529956207642050560465678324987573403628346549343337129528296504309401203589228088733462925514006650404469731343183279079158960186951217075675766081534341934812821403108500238979209783580535447105006578261058580760143147217760283249054925348777333313313486490479303436877719589389828915555022652636931831920550945868334463610080995275837288292214517957054045913937726787081615471916766110823457706812424070220520763570296883073419583937014651720481821074360498231524150379759754869899510023376488828498616000308640308947804700215858744037594218595785262354978099775808711509779899220400504189112507695172966436519627557069513091651294050989550563318376230762261403464501794304930425754694531005120670595829943769045091451734783501662047391507087202549304048465112468538760692570368288169989710502372297878554666682013314506643339723711650999462192280067088630846843005424266277812929223695010577407036127036019011753928707986225554661549671407807070591340056926418520703798032317272161239428925355853426631499079680312481091971729431280604619504050192228027037214289003500745988157030112164784308918615601566876993562208864259919133156490471899763682395821012142343673854671411794545499121847993496381647104551416485924276352230073227908483098306467136553866225363107414732873012715213533151946631997151476029472830644304812618253095913698342131827941173240496813550347490053183772880642186372784516698235460435172711649503124698062903859524183972751568831028361348199733330941836308495273892291888181891235381285811L,
43506855674413511306871843029669811656854988735753557313721157779820708444243355731417340214890062479379828442622503990678460345979113787396275008367282418400960413261832932146769303250305464620791729396661471130637049027057067234705338658877144426633433674906544069148885794188724242134323194504576530204983145788827003468992745569726344447626144396810213859255935289609249185872489601595124681538480602985859460839748924306634507541785093924307531311562791978006883785603252802229515446263214735528785525475199427206679506568422828916035074835493038843481532720734277392642841377322161884019019346497236018321517384720429450822773870889014687887354461538896035012397701422227742600650592039007541823493595002284630456023078864664891011998653454444831570618212856244244390367493065302323146790987863318687131580239156753109666559051390405151611274324072505917253447364648641583911410951905360493996361236101565438618297694301116318066660425690975183343965979220685896664656118218920980040423989224189540370772414910227891658010542039346612402946071112651002746670204439445726649649337575743245568438672659607864748008743287054515289612838182390186816609991897941769192501716888571423204435796405251378338837233672345163275239346737010875758895990406810866550136195669743168084012416936765773376111134334351986384989548638127620174741309517692515230220552309120389633726856200053722138048237184928341363962591957501158955579001739171298792342831481076849027632003678407469001297862681291785530028299873946726449579872302714965964715419313815413447174927046492758356979869790533030473914134691809858850905496434151009571475773823145688346501940761491050290529873269779288655663176736154604463132229034632746978093214078700630276405878615086594975280366126248836964940377676633085242451229928339604569163642875202844493275070976332522354474463467619405932904612625910514250834272011425647856674344184824409869929477711839206083757577417652312411886665564470052729703143187023241805084464462689564080455845435713705689544416163887071662434060624910686921802600541391949802606804868488626979066714861659790916713468632475452559265967334758261607645774415371545411628235448880219250567071613888005666859363465174762874543424994552066472424284034005755139560555633750171141120756033004436588466664467219748870967946351837408406749096130888960383610571721672201609102671573328172118690464824427943100818500395418310409356796273849800764336536700809943706789143970532576939344259372332183537281713868878375139255685140474847380288645108001243068235044929995725757474867823837583101750011103171187734192528094227810874600740137697324216098805558902947545774987950150453997726782816717952490415460944635366525671107447988572833897360155596649321686172022375723206795535300315798283713915061583624732337150969446391046084295046963821789489486844006566392396045638151613798290364826615955888656778632917592635392558946324077028522107632050278480615190178219272196434731907941374296215416151558161702864462698289513022214224060200138435420461004594053566054713718403038025415230035522037526605100789910660556471234489800937884424940302148540341642699963850542031481766338468841072118868730345985814297963032644348303991026878339165706653915706861897803029708824766767484191015832398678844269427269498017859436486620296051626495584814155405241938385685827448445072037909937606002594082672811255540765231325724063042188362343316650222601889860769141172959012819604241200815188936328696228436718149132059381521146512575334484882118829691378415296729194311929803666565663408901205186614856487586960158350187788847075703619027171650123994654006099705124231789907920898567103820424091469897373853452090376106445738927163069028889188702337388830855370410975426002289261994133112186668834819951839477517192173998369419990340461272259873130313844224022508711113710738511343609080036983218138752287306562850347373267475154364539093724503767426682522446430055655021062557404986766176365250792912652474519700616088280871661793730933161328904717886292590688147088318664253267313553389968885728563300806891767431705082538299300504515433644621538031717450770316115101843021469356604745468456611963452434608218186405823134295190296066156049517633050992584264411754784347950173293008035574326328734645923647425585866707860108708258510539256775856019439314676907417673372485774055554508999167737891157019327639067726635899612409256419060719934125972732098161244820264118369414336450311823828820367645965858810335910848043928371304432807267048745567984257835566003822277421069089718313748790483106684721625380622787389684090254460451934007392680033417840177759431735354491270464610930710931994088866213233159850609124739343122078707491298844489634179106568253521904470543283508648666015003100359268528026433696104305564008579552421982314897578000815430411148726450471981036182331079729148091845629408724667593875801697992057982803888926251377738983437559213268856503006074549008524400250319047334257521110752740330442711916721257297751989745269197041358911238259517505804213140575954913658346837167207051551155946101033733401164721000001047230354549887670797138082082562505325739519308382699513708253493012013936530660513269826873281455505048679931935382131262064538347772289191542841546728590938986768513754736201682255486408060695556660278237995274595181901718024495479627370945834826586592208034730815073991976430721217611573381751401686159160376690747193402634270184070005161050332179059566271101253226382173632601621584207126386655222169959259535587868324214874688958290218639539646117648148096908213032521384100640032393718554182563899455784935267098696025270418990657763645844098285391068595102537300499171236681956574329932940472715262319694440886899335295284970423238503897216889324518740614344211223005967241606053877449884865470742363886074703106721277065925361777470722292889747581009083289695511901660393118914029636494139502835594213943652044860863359745569031230522729232847683933616328923120272659706133590642952866647154672570012705949142898057293141645366290275274815625573306984673217261625263550358644028756351229402044925487467848590309449080412740253765501561687119120783164017068421775657067156777801708623157344987005365201413179480270970810846996291294651671090639393802876859502939531665839981049114579497667477585512031234022490362735L,
73462313432944077819328676067849658515656201000434230539183345969787525699403591603730045713143180626951662189025647068923770502282251157183924993016687660936516658654355003184485142946636221926263009148057476545490612919378058038903604978758552722720058341620914950921427586722810584364939961111878499613807938797089656619610615545646669226208777051950644242071167603279776010103993114991778614223398224160336834392289917493599975052737750318369619179605850604698491167569461867209696053476806403220375404804337066119825867037210005754709058246211624366361070798045798234351443516674466961618807157825956826503111344220389330785674846168639940349377377730170860936816844235017950042243858494750958027233593918504366638938239848667958974157844623092686422948001031349978069192229569720343523411057497427834053994497683358365386565790960510142006722582151543455604332028188958490909750639247605246730587007419557808727107320583167815207591354181274108388323838280365025308935952648351790139833340147284137713148758993436000252171547494800789591433743281876348873338762562834934526827161168216177742360822038615200153377673046066632527496293933958393305931752269819795482306591960596760002670641241642775028624718308644421121245579016570695056927408218639796312868608520913104172646065666162400737162699217819464927795943057207131090111258508072046236153540320544986671012605647789231699948460064578631968786352295827483877512306357368416489277706191308852036836869630368516484470095416989294360500862298902780428989997199682429057198356773002170903942944102321640672860253812106450928787096170257942354404039997025742647551396261037921430042728186835060249577145579409412859109677501032620306658036040851517055131558294487337947310442985783718802653082644914395449996913321029876367236165084386938299944926143970781572498748891022743822203819514285837363777864600258726692834729818894329047264958397377629509130498579623143029721396892196102138897270393976804989515934922825364992230308577444730624303565315747546395379017387015689857018565073226599554139973301324000846448198473883380718673028542501217289854353396886193654758603749282723473164347521976888818842422627014728922356387054332134389805154905333742591488569337760909437756914263762869812640479353649900347633934942285080011414796647802741782880801011680432622241762267568782648075192495103701380115987753061525356566946832042646450937573342258486227978875841095603693263797144652386252803125218918038318606106008695552153525947606194647640199748347654902563368444927318001454971229147053032262072394002429734238934620095289044323219822312119974452957801659240384186699993630532163196161694975629226307826301583825063241491159333896213431220528575128172648533302847163240662514681382742488333896508112048373511053706793366461829390693187739403028535924933392985362454355216966398450475043624895692910115861150684851348736429572752596929963510691660658273800178181585505727138751589531976408349184393437850105620067021106123081936137940175066973810856574107166716984078615058335161822944542276133773027196596755208829746482020699804904638557661133108016179149768722250430888141581201072731178889806264302689809634276957632413125510929409464474292703869459375004938020074277366438829249776010561085420195087590372732662175960559477382522117384485851596199469846334583058699260481010304027894923509514073482287198867317668162641275463379055310530752205600514489862033227636040727332866805902244428962750743836735265920349003732578677025001498093196837332193711722242536726118658383537646756072276568886551513123876859100638267697964766053989005199153790228486740377478237598793188130170057582311613842019397407181660154303727095927929521931031036587224147930227787885900067918984827174613419700328956210110252817953172909421556662106473171405710209445741304798902996273586142286064430019662834880331856193737819421676793681085546439062849122039634875606295802399494868629949639829199868919462001063967554938569000370556650868135061061979488705821023249331693045541686750977767981198643825413690070703260947539277223430180096869404185407422274360171367012335756359658392778138643642701712900683756965382884044528602367662627414982255800323825584179576804777257275480711799167124930374701522460202941772923390793818219182186207042347098223192944543584572020137276319995855317302853932663923554585448230665701764292079263656258567168582457151098156201490373434138366631965889193979177411912900800492702264690554316081165336303280428242678309675224914198479336861606533629477018314856102600336502418127304676093274171996329995369563786489392070433313583270970986871586799760671483998345685353814950364093359552256837921309175096004182416544115158445105756713367161718409149362112264819666570645015944664751771260712432076724645246877438240808373950230954668343549955346390526695066884354571667723575440405235484101628184206703485643578352250564319107058962917031648431689489915919253972770083245176988062099102682331785714317735249522459141762271787713498494325033396539716199942078476578073481349982405427743148803467232894079752122686944735907569805385388424684585772626239944859435825905599167741067312997355736449657668666238279640073328747343269567016326604062197534681326882504390127206841887129559001752221036347261416375068923133155441279170812140768862118817084442484819400716906584878244647582334865090260965576492403552932253427038894702511799749901293993851565585311433938442888742016564202282871222569111315922427308588020146813648649344137610456076853520417837797219023258028690072174252667908518833191329888426543363675066853793134909970809028118941160165149011145523257039155669154917281616076199634492964435298561167792739456963332892715071577772173226751245985163510800872639104375162091275401047179053150084139446676144318090020284616919845679578167144865848103406198661787520251645600950386691502737438149826051459578713894838061958653642986550749420954428360172832330591096138989189464447799305090317091629739031051797074858023829058567117955858616799279610795085941840580463285907624927690262710531614818449159301716004795166485139939519960582584025785603205491144975972462587759078548864437478567839694569069684388728490405371725379402335936290002217148755722623859352769550299592384145754529546694844993027575150338949538364650114915354559081090104065L,
124024298388782618104343325211038567151002051272369897722367174104873917679729540870570659442306169521248526073631515145948647253224586066086284694692690529195435884144303220195390965149959952739095710788803676045112332649464041949771368420317052302431780618618974070507959555198371655385923552360657873725976156171909000758913163595834316563855824497751133717427762831993267450763725646650530062874675381033824336380122306378935634969761314284371161217813696597747804155039170093961498017561339321287917161655221471870364432733826227510576318004984362535973414154776934190137271974370780549126303091591259108364637800257759408542452275399492365543756834177429528314534873842355517168267683179709288918618468016875933620507710224441368381609028287836958161257718671518437441819948448703728988001475677286623425975940103357178170989666761654863844595152755608856035305437307275636532523349978855068513172262336771592782211346739037472890104511998543759709820145570525776171069904514744777334047702500016846461805773828037581194985881956315283109726602400005194136084202483297772151673747386743196619795192823199608852550425811666996165166884063188732797225335240139984732270586204400413787228700846296961527219540836450267015745364246237766850543546445733002462855053647691733214482759603560071204842999233995354929098770539538831360883480171686711163304170816352377468241582653782310410520709701311475319818857985282553495173408412170367650791611000582404030975670122502022506572671254869091843525016790480414147652526352343755734195157057977849616769849124806757045060148692230193932814002565732053097519188476111585082337429575711072611126824811652096883602565396272118252747323482093332085711109360865004217918131541627039066068242831803795745308077201029907946452390318361273144857724740882666346107757274548085101877899109254586861387974507224314069228173354153933203175863816534044559523607700979431749791532118727723293946223257420097631461594254540018211017901849410072959351730741293660584377571550571478531410091387794665268066205161993545340339823544057347384888902688403310455800553013619978897909984033441639046700238001944704477916778552179664603845121150742277746262884004410922125292209936888014993330731118018695034931540649087440427448207253346302994623303183659186858849701569016559099117283129735507585056817257675157545507420897777748187656957222977785649737193123462044465046627187853307022722661474930611182806277098090113718768533699139753303705541581689285242869965881828107990085247606921553005069099210480147369354929082077220359348901428399832993320153987867708109276334234772324094946980299150986843155263188050364926705103110197662513068528262047160345689428385853644485100478015700862007285031822337690530849098393697131583512371373267862289027151979017462473880354626134975980276510657975079365183290191201128681126969481818875590399951130323920284986071645563110490051652143327285724147912038289585198488625402912826466754979132955055287269610688200545327733144282608749331083933480814923546792894827649387009967315992121004479484028841329768122543514903611644562398361167951215443885237208555805014778026708258483534030577962305420071587477236976014803018440198757559337232828796121188977359776117699196913019748168080674871344016132214162300932859419912565991509999862008444957537110833087998098894508907955034280923706583796998413227221617329367926671836500693963441324398547462607023689369042792642808907633376466036329371632326331264657836678922645634056926308302455327473914809606067553392021090101816216448322461058849574114746754407002693721159958808233777682190725639604463588061011068570457909488396959029895878996083512498140727996705908873798337445650727677142979220215164281092597866103553310619189978941165610463854827073716154381197080588610023622482708374426870523898005814030148503200483106501410824135100372885806482792799813793872387218198748751822689688834069328157859973365431699310555470870013144960317710072722269468317945385133107612689844271538135563269883313216358150474165305448953308446159889368830324384870858721227220312376524735953966341813397054841655039462782519734101801293748460547353989008732013384131431335969746791447829485289277574575843141203727183454843674289744007711702132087883108173110567190174821024811377267856117031193408101631231747749392501122902936140062310205868505744271272210092198301379345507776438174163961571615417794574210836673995719066484854675129306141115255618378091549555050443597115534273780262188014448937672730970613905593795601803784357979718318543651403986801339166886023834701910957959942316150539730303309940558457283065563541795931783400489159203453297083617977313082266809878099250581924255086740447658361539532556046140447967858532566547257497328998498853676966711565999109283331018882146596380260371516540305692981911678145160596842904214044372788242024508076676667656002577567198615116057547658900434788858667666910141155473921419339693640499577323931109073324541199928462840161955191467034661140173821189399340497298072836829388934703206030502431986836266812087413709770655096747113253532134398386772282156974486539953322318871548817527007693722045891177054466223769997720738788039899141599123889662343545319938515666132677661736530982353442449023480246093087547796297505979444202332556617941001752131830814072277579299050087413045862401087455387334222516687565054286292621048842857622465803863701308775376536858296475223737299620047029142551745067426262821315326541136314206152064242808309843833142361108207266570768893201929455786528888933994989079276181189130797842469837036620201011791387088604168677155152176943906764617041993921492664629351747969653702750603546658264087379623365762330211526445815832923239310411318935953493620402092102635314442791127891867141976405128161158909471078582613552057113628129419088821379122987401738683974654751779419379663110757251601315035652535545246313890880774266921616364716331771541687491180373271613902301550534799417156519439301859457603698437006371683893419864786379307741380368309458751429133285704756548007413081430043656217189804861541235048969687208467813442840798081399315612620822012618827363305558452673541731445285418725521108736543849631593698757025851217628803779291777932184691518876083548931402651130451553760788436772510995974153735376399763720680166367219809270L,
209355449713465554489220295328470638003630393478268424509737923771044820895561884001863537937678442859603352406669345908027145148823863967629329800704361283877522641889918464675171055754119146709495220563268903211082030177477188783133101224940623295051505645488869278469729135158054406864141956030374072291561468832266667755634489768110706093507282441943489101308849640706957754779341545486913965004543347477238661628453371967639617895263223873138447451575972389687023546434894546870741829531664026386955182821394515139383370055986431557993553435149651591331298545613194791032835433114686883973948526782479273447058037396802293773182593022288154922306282569335268382333941550839775036784382491292504857327308892040813280863196350953229822660429618523508649903100932775518786641023632839323443275854059449576235675113261517318419748472118790457161621907083749580791888523320652326616077603980907005289738962029478353009276071706065808932181668814093127289273036941680911927901968743138664006008907392473312187750183408186623402071960288057664873014250941161172400378465602752911790486091144444855183575450215916143779596869365445388293330703461733824901209630498242922660011791082313921714255056454856366386486357266858675608090676197513363938792596021306609939704833638964203190016256916725252898394108525834737160156763973662673687948547097343381521712240964303090111817670780912447276206688342215272616031663073142250173808297804543979135721752744486990993605790289885173310903902888423998094587912183192749765466968599937679545555196836866605378603161981350274197632098079057271615368841042395729268257974970220956678251429334338303352369299839969345183332857470462747957355037654307399844393446509346377411932562454468377669437681347359988330995051231666459154843714219762046655503832690347689359421327557188360755364439708724734930481152956179392545811682085933574063961112911167338589745289427831109288177177059754415147595547235044646109508893466294497403654308329892407561343105724313704662832820108225994583139165439199892325985736326375947245089545803785536191085491263782923777237684173676917879137605307279856798675817503874745888149836297838913760701465852259414163097072125314970877607395247569682607371004457851172230673072188862496029964000879879770386448890943431238070024657439414018599684316199425570520390145895233214863400234519248620557176837266374210469592397190846302509394459961780085575120756007779301236856446766401526708332280675705440466261909515436369275155739870390387756181091596083073832343820961082259882247904167142662239159375086969604330492912877666457820809162310319291981639042185389258670091912195612353733644040400430173254221060843151175651904651196790810481101877980931172094706786703798839208334566915492876148787183346470191262476624335001516139734400346075352608307059204938428741809717355868497287614834884659178488367180927371555563943160046068427324322312610659000437843710968448736520583974150114729077112389755525099399819302376579400715820592118123408650768203082462012573453146020091457954590554227947734118687222848892278502998727883023437379424804613669208244917462687190469306730193938184143415579875145464169663724771268283175086984947930713711712127067606421551797873034223076834870031628226316182013921895670370571976693614667743123893998736406386033254216309408298276395741693395331022485902678278831183267231240952952588997032053940298084924554391072309053146711643955391716281444066957583216318344874812803875996345672020489602699833238832732962670627434990276578464776278146693996380021186406619698810123617409810220883108485373049877528110481757841277869250774353903798223704286201462682079706747902259643609266659572090543718461300013467851149388530020741051752790719367593537829724885485869274724611480231513661180513077491612921200864752109374653286150608206674416739308527614929186779597920033134441234047922371251723589900740911778229360837768269114735469504377509955826917096257469043168643787748554278974038862453891571580064881301903432477039381281466557617521259459259915322151601327939466429692713086663839116111452051836875010813110089160026376013541011613585458364363014494116142132965706725804650133866780780137078420098442033425460155181201978644922631516166628211112000112732328541131917950999934686709530074026755135790987772408053542684071944745634162615400691905824914903103491166351381978949860995757448259150334161801582012545368040880428493605693048404564774532336232798527529042508645573254133655897795252855754382197097157400644811728492987312039832643693535297459848286917684320544577669726937934132687490744196716681296655046173535391935742494276462416041428685577933000325918345260699476664569681275906514727919162585375518431782734049487973021891255857051473075524387265398124499560949359075439034946576372137555287746337043390533360783459950668249030202192383037751839870006633987603549682412401542408551896725118929798174300688118906399099027885602957572494424855115772512702722380727932440864626812478720804796736636502800482562406206674713461610187727086169038112902340310338023774617264459120091902782460191199810271830536270648242445309715977183706566956631305151187594141170792275570098819653279102165323281017545718911080839280018647094199306029556544720158322064327537531614738020476814348745429298855403835956753796269197160497862784078909272909811437456357436504041067699006780176774801179020832700485836712648553566404014640978830841310115522121116645237391793280972389170301631114280241273710006028244583822092428319665895426524195458916867483797758586545623216942898827112195862362400792171302518810997992477496287079911761127023289835861999339147323492874702942970954599660517410509224689522965780051022136047066610044036404727672136953405259754980123308689986996351789012955952069902637638585094491361786474587182538613731303559857583806134140479323929423811683709131649519681242316129063872532845410684372366549295135613275296850571971270478271904291898487206261106859962344277913273797128175805828439260407199019307189843381943609008038340543764611144160883461629293416601969735013698639322421001142943308633367312999566825436808417635178363511769373168480013087337926920306901049357980117994896716602106551988299840780233931523182994610388773949450575234923446007768770172833133714986429919456542182293987571797742223774L,
353343506394466604548773987644088720741711033348111893637353891512634813690068046091456260341439496911092494851625990795070542742146543019975765888958868527719859364969086446099179424997045561233398583392413015647898033589779917558472351184089321626127504848319127783879661165680051518600740871100043139849879855805354383289143185859656103443449555845718644790043147192231516792249552907669746699985757235904794099528659827209716239818802810173787816883031603248042892962702876970335135829711848311009354486185780845326374500795129992399827326364181545239999786053671783637836796162398263291843435392008072275537612419217420794214550992778429105122871914791910862559736995820137863736333902009263381017160960138419401084180385522301038303862022171979171530005703453441219041223798093217741327968496409257563643842475612409275146862330401795367340973549100736245091793886091633827856076392409891353495113307179848165292330706695334926273837528023497117976850220999772593281241157939307376470182401349513796357537414879413395333388849934954578668736185291383623565332908215092461707471081011666533631440343013781482610550234941144508644517117932401851037153686333372280949534417121644334477770147691630959985951384432624604256335237531693182714478794831394592016848463158091791651663783847275673903342258909021819973161062721712217750792333539102823721168109563314399830025043960776904804122603267608080054295015151340949016067637525798624793623381942405407121681207436635547534194580859994015183184128280811545495436007165324656232239657149097883941189896572001723525397925521405365476469480636388262895637672418743849544477972091306701567365163518235107944248684176924525795930530499152126777864085673407533088669964471423422192070349151953712388823631895467685168254295995654861631842513294140620365247075608008814710704685154006700052580703231786556012757204425697288492043721173928752222447492930874916394374461705726664107480239846781318856921215472123399881832727145733454467387020920591671944607412359087544757372670015164248478302117343215592117431525126484296197716809330940911828717851390027991243490584049572455061658916507020792076214391282673447763114685023801880358133964910909848984956264196824882060927762451292582049089595647887912277485020360175317079323599194200233028129325859122501146559986472881994086405783471137680372029765845559231610792539757069361255347010471058880626414362723606415724092451490842358752527133531934849253087493879404173732323714681643973316267329926688870536617619795578914777439859577021946225639480199020612474711831163037301704053735080476950491134036764641716075948259300702576684655753140075416513964461865547492048931820345295534520801284079669568856245335367397286885635765487827640422720588215420549956197601800645056759302565406533591397966353064152357353002683334504129104312195153248867660546022215552947676854644291513607226742979629218620423938515004579297113623361561920798778951497605561452410397759596284931557581050199525266120874238640087875217016796445571575844276113621414758557619919329520307471336796468220184844305993191130005047483232216951337462580643162435159943609244568600438991219968648785968642840859497317221256702319631751741458902499259081546382171752098943649502621902023253730809104861500090328425791973577182556488899595560025369302245133949545806515091882341713400646269941477533604088002167479231135045466410537585880169764570494124259103599820133937424990983295141742146334838785117239675284448932836471355848595131347307634136118906200131075257679828073136048378537425192808646489163672764906314182512263368423987812924752588217459006349202901023895462840692709517723682284560269541717108154904961577652003476917573008883194195407880827754372046895783242070754358035024159605078842480051490310101883898340846467627330019707180318063496736344842922906050304806724308842513087200507800162121314795917785509171412590717121004127537487474627683103172138563300184340331596918853300340316128564740810501238939799039443207461498644355895466754477507053790644074645587613769813958137880844161103312108692200486451247116289900149399792186023396971782902989483898270439927042663532319121956398369928393818073682372927138388233816119172399968285577033596971699236975917906434463633897727414258254064544953016059841173894280478751059835519077203102332719856771810939743564971591869690564757868131938269537720462494000302568326823279451728573068370861040492455589486530347867784227973739458283837466162447916075959918677864551759965478947378994473654650763717806618412682954148198278393061281410970248556135761516688073065337857769608550893167546658144553069993745476705415773348102169417757720712126790812256542537732529819734287866120873674378309296351906804575658124017289049049642739086287973174641307902499115773083959811789220009433861557146885021709869572545871623345269093630878796487353943832956143821585569404175912403070571625331781634567503697681532753491968102271596344204938352076317941574525711322977703137795024974129313699175586135169479701923915144298452170849288195001594499658618587439779204280087196197537416756602300819752952319539660679120137585132743936776485469437406957947106540128231637366862720564815136351464368750106830810229626546854083958049139389193807290917491948658085908395379577257975614888287746736589946899409845978851726109983631862008060309451329682380797517471199790268300815432981905798709677430591280325446183378581195168114598847666867682472141971980144042734232615620187633595114227113706469239617306121649017440273760348436572835147015569596769414851615816411625925793808953369852022071724822562047079776302508207434595674051705127460069737554979161813347027251841818648508766313556838403305969980045286170811863995546210450609332347766207116629425615864356388074656196545422199695363162621752273585007942153534184468136516012180138814358415464596955804248292888552439157691112086836674859445219705482755230387600141731542646791730734622885028295309360959918958538309927286233343124907999018795548253536483522790370803420558273751430329412542543614101400368488661775440863178079880864418006344995251360826155512260300636475719114896135220291717589554929519253191339588994590930018946891935100877817929887783671758964474078317000688210557242599792379660889560555222546672495613285632319540804067326586521442772799L,
596273281960446600054324211281129560205770993750527117618575559702846243117631491893562010614752460016880314210944894806000590720257834984066118291272160106811727956284678791311116299625115568386126123993726046145616369871403023445728997915536575443563436758326394646919724297344931486659811898631530622260447726042572961440734097756847873580071266662893220759717603370359328067756330790612558459711561025348755144277561729357632904534456406080489309864630773255006109432824345408356547379573809810774010268880715718197979040494072810089195150892954592208850638458314425936074387677851921346882662020720474963375172136989251325001953940179002571584059368485850927666645380809359026789950320666714050087221935233842484699468310481810484055049417979988417250475442952303751193301546281037050689066104482045019379804337348859830818540193633397551580018951831082632336982268788716515168628804444301809650474133986687994431290862805225984875108929942740180882933649533084862401948005437366224533351904696032560711617705400778036286653059958549036257118179526255442044564515966770828146214828779054681665472416564125907229033929601699248656790136089950152874771570017050850573313433278150905310283121862152938340324199876651959257636844258810561958231681327799300707756236075628765242275010558279844765422457878551024723773772807018512887892279680827377129367407341476677446797055705251686214064895973604363939016469843266902814894343323160746319291761213409608168638991955007468135619863920762924449938171014748408649576802547239843522279726794370665887434271449972597184465094259214855115505259503026152701632145726903404872599938290622306167377272642462610857538923019560264149426304059418932244686365770342632368835313648087076232293219590410660700693420452706231833343076194960852961182587808246050941352303210979883679251280447095332415677915525202837129737766156452775884499835771743198659876211739957067005429118681719158628311694699621359221501369489093610932345407690980093829616061468836155159976868689833792544201295969482964213647781523866872466197655883268710800316424086907393301407027123364068618972849901458579284686127995251590023199391434595407446036130534205537000344856229837544235215957943856590614896085129572790544970867526350827229301176046305016105339373094784203089309885428243291071351947781780808344116081835133895203072274211688198761025528737848991606790921648071189971431229885967038452480103990001541461565819499406978493505881967187695690934112322388735408931193633388408060334419895405757515778113639046171108998587655205596095696543404182097609055008301113369238762327103167796108738334365457775182841900414068332591818166393695459348731489178719912202880880509482483908718575069702514063697602610450312654600171885952369640872446715073517395238464912181162402864686610936110957994271365468870309275523725671206396423041435763974152734073504019173130387924835207752561169761488721093831042994833334968076727984891229914907076466473400054177151190480279604480948405178935109538312255577181599748797899410567187826678300728364827646252281984124504352775246032392574367177044487899976452437042406100147303643285956481552368021039842209343006140316067189950272073091802953712572415633325455115426354456132965378376467803904315031124490483414093928877744269445205708093555471355575886048626846081052368015226058083536018393226242550773068032343436492579439640589599932632672542492630482880754734852236930265101073573399403205797091377711833308478070230146189775550881269233867557693572820904984487871456774302271912763759887993541711411734608382291443939222084745881308505539210939535895897782120273459406178088686646508718928689552426011050911919806342553765024675423199760461370856999053319037105278800866067213996511466641195137257561311485035339026637806317824031196077925699621634578974973096334303968442940496526010730533419283894854585216422020010777434788873295750774789078390331617865449576136493048169148942166910773522714488709970172478153668333564523037002094702063824869915193704472134428849032412301279052421686735305166560436462039441189610078494263150051363470438120115570513350352590716252325572641726430953729287811406971885972382757478662233507976661445726917288308730318894244980705725693297590337747616842850985130300670852474146836869868657531388473105617654919960302920642811762798192211731961839540439677551265550278919132487499464276223341697628066908387800070236515138014589526053023333496663130965712600043571508941721700337855981276000510415087851482665852163567992012297788253931257901371426787585983135626745013105486669440943184414186477314910972845731300218938643649251626967217723705719418854923102135676368078719670574390982877663861299833466395877767088792109313028669154401509314635119326088893607650896127146117068116446839909598713925473794035937333916068554969234514046853531164041404108590382419083052627593781066927191017373399260474050915042310605081373605597955408864993610787957173027857071598368813080814300327224085469827420823471496137558037454191033253055954384567298075539943754204440332548580168774209008049621923009918931559546936689020010330493946679081364832060554671042549750073615237869145418158351404280974018742376287871906009564345365124810652723638810870460367831306568658317967918173347971886749025261126985982354331837196107019126450480228738652954891680315308209730999528732341056193749373527649140076609241839150946288688751407090446474137579211628864531480463068754866594835461803988917928164359056109312272926862251012615168310235271810836850489611972380838015979802330091739882095539723812844159791757353869808581665912265682985627597470099938490340414692046912570031069579834536441967126186573544429189485867466523786981372766212903387214973442237583269012517868634104764064883037125545053328611269916890482313289011404200018811403048508513509021914099024131731875045674519244503230015366232173085938766384322982396549112521830870110447504276351840618351819510720727224914823167759132206407942666362953972554037897401612871105312996083537880514605999468335557100322904497225971043753804491033031322143093317935370593482103494913844414332666895885596041568679101356424270339455843315536165067082310825009248224447777101345673304704682860646118477510760600460078130627769717251215439891084831778003245136361087365217213235988106806779130327L,
1006071891071719976445192775800282662779312836517399325046016640903687621300203636663632843655148527737873936820927226297188807032888462070812309180351227414526403195906357874349820029712289818713821113308496414256452213685817557357919458570981501739081148896331678848440311586783657644273787263001884137351612201828518959879334281261427734879480818776797617021968398232323012246079935194732986657245845136898861418960263417970766568422125174980319743568921458465574689443985577927956478477972718312399849945293684130400227476853824217766350405222141430972620177082244131799546394119557982500128500629667374144840825434074925965038312602768472901146284583057761314612341900386380106560491649098993968879924911766190835082615390105395994978233605553176451097673919213883309406657710721171128641801075526938237692920492758357084125227047914425624097128075598293070892158347823398781807994120962003100433848322291778345051127086302134126528729535176246202666319354771106992592126224559930465218448904935571438986855146813341310542351867197860710325462552449703557300739307357279324897566763610142021736201387780333788713776727498428236617387657646588058553792486571761703293648183400580993552554478446618410011933564639568424424589825156016456513431137777734187939974188426506716318038181542450757818406392335755990585290455705331300712482494639219984950371459729792205606457296991382454148045891260402341186964002295103629540020360550184707141992844393875456040395241722942379383683667378929460314008871585949451846842266565400172891184834645963157245102071392558394216710190012284866463761336860320508078439568736031506721860674042768484089933012515693477933324403014741375091493281218129695542617080945438615253568565696841689590030182010526802230559843966871564003538740836880057413696490271026145022514646588239233338376286868770066906042482098534116420880420777900566015863600212843252808781747483444223247307020311154390439600169864095419504080579881232604984495964503465754769267308738542079215844279140577566644994130386941843684427402217227255754436200125820970797428182525028749419764062462808760538138475450686680868619597220112025166861509485805448440553017359095931091782630142376982038832844154224680142923886405911668152616533900088440522923542817586931526750445420563930141959484068852271087841571105095584375236383236566156541619886821405199741247254622170504839317033293933544716919077664752973247389253782890592382521542973286025721309116309672372048990686407991082450977506606216021570256241784569872715535256468126111473117517768601387917565927851720682418738966677074667098111689684611361973999985538152291095024012978367142497625677303446057836990214076893598149476265825806003773895929019646093497145431196796441929834033631188296233678072483441061168907688358296956335541525224955002006036227930864220172960305257909603545966304292213662806562940828006882967953414048225392777111454539672699839934861928923863128731851319673186308809347460402994931072381304683557478654419194522665889959914607158876149338010277062614449419437490640821608578548230280734926143117843009116631349413662377720542882848446265072178742282963086509336805602366917528995647138878953727656202854938503850600818577258128670815705533117597966978649730883715704859982349014059921766324285138075877421722710235274850516067131725636356148239392193306945981475445722910915390707355595249586335566500079551446209662457615664101972939103016073144428239400783623123774519683003269654502727992554248346156494812420773532426560764615139500356958352726205760392094502431663833311131989607115005037501924831283736597378203016088833349900009777471950893268916040746982600537402337283642684340181796577262701712058138290593713415247981120296367538701644373502399427033382260185361072307046745653797447949259759400429024032037559895032105157908240072372560226515772481122609990204296030473678182821430122999400409157432948340454349582015573992907162251429042176016715630324601225039676965241210100575895158319333847650497753787830883969923012611763635516373315765209998196005397132812253063375265265829317559864239937413133097013824231925768491597735572544089512486581705028807319365592208215582539643969144096189423450921549399473740703592850240733619736503506034409465056832727981420626442704775184776770119820766444843616919616540174602307378131877819755876587834454508753590514986676141971999731139906494781733619260050584855520438412460245748687336736347886987631393373484297345539784462539279300763313280824457472680518697422822338021143962240010623033045723346849376431790470903217059312979175110608730638721144820394199551051189158374590943120431892788770721302503781001177301430433502970662179726922664237222128318714642346504483043114316694468094365854640385287727705140918866890123018922120251373925204115127263640174177631097358668019938261106258384180488892653162073123481861180564986929001970780538889501229184954739290781974152852464258066644754474813027272180229659792793092626114306389781645450376485015992938908084031828050747490031489289226734913436766639830980815469375292693964511131872611169538006441550303134212039931783275800996631840675968580293869890070196119388118342902874918204910685946710350723580368332091309427539156468694473925638935809260139260246308567407904573063561377639758809001970188982696805368247059641217061181415235931142634300582997779523528435035335943538837548312524439215636034756078900373483593542179887141449460660690577491526638014648234298482712561887287337315974279083968288702665535114823918384868411379698456187659621997580237937714516064823220141694082891035910156914135111651588960436857260330166087942651858560405632046476323562010841812608387124483070203917399434087671356793028965481830650005896307469657822327443025111311504374654344905019732449707252043876522362425266084143206149113664358791063646660671676603213097399362426160026379286760122712388870200880075586962719160944287028207718635524971242857022381571215713490200353156281662285459827455925591301059022031857417383821919471272785995037399697620566784946200761937359247796460227429797046240766741316490670788484534741924787130034140790041495627231133401121893193323525631442524927060048147367861414536664856801797924309287741801465852142168565963692390245563436515564895406145144295484839275729906394678400788493327154263407154L,
1697259115850549394048042334477639872837252364181882316399890481617596290628072353371536742608759495995999989842705399236856787353798418911061610777260340324573071587059779764165303195439326414219690784307150126495350104317691472512762544926181059475214748027831846993664498678727285804302313065814960439969021729783548091522818497571091830651899013996272783027438745124932566709290456191354051313578849207293958337126066859921505360278052027659812634451332331150474513534932766449703587309119952690212774266381212082561937353988654709862724308208915675386516917884810731904836996079339998387039719405931256789513631637053254317671383485250677813006189937707500835377975585816135621975262465420527639663225315798174963297383010370200629337620818670943039476803850385452086407886125101527081663863550364606828936704565294194200853665737633996614095305983496271802925015464884699461757759063604539964261284371937130402315982470398189014790359363519569323908391344808429267036372028479424507088337853094233756640909821642272899510580945286428686575443366688099736794586080940014119491738243350891288768598822421464860042508049669861220549412152038813169544424196537645792365567342430338561439809326972546921009383696937239790051855409353235593402502605853880187873298633540967932230291455580268383809961094579821966046038533820759570548382694791345553350408557359980776316537674702258570043695249784390471567370338707465330833485464962476600899505266311439196832711822770757643749415295695134951855617397895630998747901180593850522601045711924861335446679046694885466709338800362241652597199979860892340538034271769152313789758555062117318474453185185001490955766200271855851625824031914057341403538001843406234100677454116952988075741640169103477477307918895736322339187449931566333452662124474866476607369908488018070084087299229573739691554581194492527944940544590141810282702787130760687479053613975041272301401780850008724156720498801616084326504236166555339960258743328986139174104162455328292314732018605476915823523373723331687040136343916509171642188837961334072290771677444191722811500672116525113649188922805423219768357406265251290157708075735831850646843824804776593074559484427196305444189677858417780285257825465800808716227276099901419122177224251837947203686649780368706562449236688548794651675417938925174829198323743599626142217491529713761070711644007742795510019958701911492623415177449962746101799317490859594524645960989630701915890547246230179121820568878951101002890026628947618217195576014565013719116342937680241123898818198968468362260521011184463719379799182823764544791978417244008415393194480694957612770753318243979634585418798821087640047126400531070410619472602639289765343941975022066328001866108680368194743150135036208352788432072304021004519862374369220740495038921186396250112172612541975939643718765943450551626352100106898154630597060202173614571065519746657603136188502430568989843646372798661114397068538326143730785290927848843245876125957974597952894060228075493886760175761184976169876488989032621779602639604123415212551436154385733162327409601133390527923458272338132634773851518859657935248459670044583347626330463142166896814852061600972523169407802713187600560612583241835776569952117533518961298170956032240062390526028955119197627340442798532708116413148608068034405268475912994342678005949373829128066937494624416264055995023213143817538588126455934153264057786093551186470936151238550956322228879499713295249269583953681863923425827676010474788845182332579786905000838802853937156644010445251368229780342956935822633793097286101909191159173542395635796485055628653730657202064784904547015413175359067715772823815037057271848153935260875320505500319730138615366101477376294577266262670107067152899665483442130116745786830729846335249686175672263841633258408124903012220605321851246010863952442408308932087789574634642520032180109271102257830038320976310013355643065110431595609458943722438665881003596234602336941828477706887368473351857144195078234555406962954638857313993376979348616590106804945827936455589400392246909798924805744622098809198968068830961519600210130516204837979656546844139258623335358685441527371411306320685693307551070643059163420287271904926686068385546967076815697956304987806165374052286300023548340287135642070538610427468241271168125058202219690224397571045105987228807540741217271656932062117998935034117167143333383455419966991168907404214354319595503871430311332008330540587578586866765636735311866333082020052212154790828479608264549942000860323204318672523487324199974721291964031462593481747149019912806498313693090769252946799547780762443532730248158270422769424468363175478416880707438296643739667076877920217897708650010394015298919343615479632279452445715568531439480888150367532360826380417183493492223487825511613380975518076863754426058527222899481065796904433491192997128999359904253899131106239578214236385942981112382505679080351774521703832746953141205524166351632448525654544072076038961050543459335773085571602895554452462544792146233428616109339659028851687636876183489896583917731264568517175260785662827535826261965150985974403304283544107291807275727227634190955246366127360554855149129585615980726197636013488512481494805131449359603772098859386528156728208088526720526613598747806655390275775804248182703780835692614520752554423365586811886953978329713023960258784237216230567891714957748129775442504574285441801509750527297027775476454029133552985352511624348137089834919470541999997403782562400003393517406927936103647007990830104754742125762568424175068202737347269497952577722751593026157672929895882506787301721726057629986791412077642480006846857201674022966213859230826430643857895638086185962769072491267567493553219636400355063028533219100918063611553485300153990892406518129246016348519069520716217238228960990452155240742474713426742383705378006995063899766033917222819765003678650354331404119425362899676655832772335229751204518653727550641875528085832080493546327786571779446867625170712100000291964099439239035420853708552659664211055985470646552319596213792114090956957998554528287902988308984298077872398074266111402607044935125663960210844123822427228570223255864243030664533227324840222168032344208407299663309536857497839786452397773156949478365800780894946497185708738522996341203384794936811859281823806678L,
2862877678597851302481278283694530501019469429773789610102398527431240602434852412943042364271993349506929296966495680429697527858126492265055854995633412882727919363883538398360081794904456686874155290235961548241557525007563886499092076424190387842275142180620545657757883796781763443443296616420684944747031703675291341376907444454382535478962011044813330780639785937945582472667138685101611693306219110500002982363696344166528561926605325222469128868395086534268249438689416134204896787818152097908672997860861498612763477978599205986248316572452076693159023391415335138609354157137087299314498492803391927330844366198349867003662285014814750794100975985883180828304317335923621008185999224511043961295700743158045293470112368686927757984949320193501598964852870021558960450631512213634599275090491949394609847044612353873499976978578249129459385455344311417420416794878532697600814391002769894373699842542116074211279505743842543590930491479000904051016301007977971335355248732798763886955536226771398057050049529912777239276846096366473680598967681980236725081068880128891434604781812694520793122668590360868715486724774870539227638961437220184535520808315564988541250331771787170021581936568879556058406092580664388482125720775895768942363725101430991392191882719309232931487501743430212087715045710733913984742169219526490395227051134705763039588028121531455827252053986857821231046416385505728370981935355399978082216484995619500384282848839909904374410948762579780313699983230275630080500978825770079615264741346194254181304742128937417792929860322569782331587639361766778146884681628912603541689375889276821254232087600538340498917025534028062356503877188959581558268146522450635022850475588779084649773414841214390585339670385211835839887839324834691703985337890906145804412777195490361565563725755691892125968724970745040945915080166361885861214742757686166562194398252583817900401234846664868383837411914069195835542834983187592456606504451874137639233653829768160855305568819655580536812360292656195583484992943939112384865929087052392046288946157323350685098368882918131475767844576678152429377430639602204455640280488767256310992745102478352075275603905459084254136146788145691623760068553634786797423386667517658206830053834401038310689635585604281144318495316786233478401810427587189936382539049839480674904513792776419695875532571552743976896926645563725850366202224095391559864602222006012715329515012798215315155677229935688041204201928815816077575247313816034074753302154146240101503242380151259168963003356324793171750559394306682010204495156118728463999315542834292947066994948617639010996579545828012916654836775190783881385113269399527436171542100394610783288144031404777486565006906877425066290162821490951638844139717725944183950781712278140513779609918036436622226893283690790042596929996450807284542568838845059282162338421022736229190337144801911637384333866778221324387683580517704915443867569378708545269470364649634720034024099389129895528066963937243257182999691849258130303596528717088568712521747726246260168111464932585842651959143572945940234579025234515779477284175765369092845513577200564129864079105369826572744763292065784795408566480580551349871949763681382783595865063344192276493224517400426306605038564646129910780731210469475510012920088171914169677429474833849427673573813009627599740970801840753191148031839920905472015854096745900192630157817092386306823213115518057926943328255198848554087928432331152858199875093860195170488273270427545204873143860297610174561908464149077083529635708125243607910582885771701519916220092973340866271626107827714994107795843349451760843665467940166492752177453378802194076785623022358805221129860225555234343164473135827010601459384182587747625354697813790778242183067662369959479889730633938475547636489987836250793494174295043942461752324770329675927151791511030699021219476729881667064733426567319549211107359243423712236774061147720846790733248104390355686721138353498564200952711956420267515166034412237773025623336524820912832803782335742795317519871833083020135350541621470072044322590230563078617921811767956416806135495483711775794961901504753140634309567195660997069473020308301145966945497006650122339995115743288942121925739839951143675639560742768964883652196336780575305870428403068844649699990306772883710569902731334106814708128930642604953988243990387819653853870530946754651580150124331923430850647384711292629279530440399435834326544237933809489156390027599844330125290968738828495597130181500699764043061094764780567155736230066624079156118171798121377717910949539384889699033717560187319180148658112551460529056371164440767952297692988139311749769860706687641852019941220334236491875528056604737835517239678302334619441634475439638008382172220964847576274808503433988587213503156855490470467118650057834666091829290934301487428143880407414117128169080538429501351850677159932380474161150031149704174260371733012559601342428602924498706242839915142636284580643291490236288245765983408927010286410093289187345581464807791748663181320055383391138757126350996202484900885554220406167162258821222586339091152334927375798756865669076232134231389685069025163026780087574293670280785256223234882518639628133519434727451987456573580025216985282933291912487351335615696949074142030288647280993490488829723065959996149222359366099327704021900703663706726108439919170016792535499213889229746039970890671690756113178934468562199538761625832516208639084606481688131281278621350147896975105796478160175035835609904507197332699149678642946534822646793049807364014877111809544678834300904575931666559562826351153201223125499111930040551577847865906357297622504617007328250152005100894428623474426094127332056870237886461527519284692343845085431333965675110393026030894993707142781630111361069871557336933012368586555789438714779967417445902390773025322922781925149146414555509167856597448803465510136379210286933360656502634114129365067147109648177382139069231380863926801334802660807073692147828539127255892682119185900835277115831874392619624980204441546855776382779238855135933849164867784177878514998469672186223585995606892488251473627615118212740352274715226904443909224628213535488205905798672790856740122452615667445826632782209447506503224895353010031687319340839090711483321317195203838848245300657859547294165167964528501499641768L,
4828285936926337536514341870259321580277423213930637288446921950908633993655404013510913331704545891528873375135563639528128233169880545673966395013229316029761082816780888398594167510451404541421283455496876848666369231226281549868773748728194181895536402098949936589218921894879703272042604632505992525381977317172661047298823375206050604115532990076637348112198064749564481768638881427680796740807414040583588569374970896726625500952425738379519339154837263774004328663589542834327599346279912848135339772902717515265586020349270720292543351295571548624817698356375851050347708259993520706886773052784871532602186589295315780506579677562889331841661145130019111082820765879427158497575311357291665263893801605417127198193111733567216118613171615786329368033526322422812429046727714159830571855755030901090365047411134859668551360655896778867780920418395925507338979328107604528460166243327579747206660583215717382707466964491183941456181350407577487173332879741688548805545937900752425746726897505300414509969972165859963136924135708937642440922541004488644889715459203414058449782528720568481991080059262059923049443605917875593579176473139065643772347330228730550361533624126602426218978861555253723797432052303393358174009331164317334720666651043800912931349018856735892248953994738437133458138114673071603466843389142052350165243306248574434660169959118123739374094220099436171255718355926848471699664354664451682414134392909871266924622241702144807084729867462394451842210325756822654895576146477664553425308088521470084807566241005933834051485311341007045453937796632209660020962624474282535190340503740397286807401325412770095531076943598316709438995662228106149808134128112346296791575471209836248509264486267169727302919222210176061883326758905275435563522815083951915923985358417240413558488038561483133965442603081972948563790549011889348678620854995589234653265558611513732813455908217470228452450115625522283876119285948449822450513710962990145063216282197830007288780261655252237958124183276501188038348122138590318697380277086561178526719857514891388040963416944592529268697943537408465127708584638816025893544629407554322424136255203533511584628691449593467841342441745664123749495390562984382721488607219170029937453953021555558769609192288530949059168020473037800967933964567952069807605714035718239262702457206333685668835027169323903625874387420857002238598705045528835484669718320849496225641536807436812504326282257047551800979428421863044044089203269901226845003638411711105429165765278344825583920248002825717184215543915683667290981869258993097908476835217502167253362160936039361510708332637274084219551571208454002521821974154152095994982717255258155555693304078291985783327369470056299995544147547008083776586220304469634689503033233115334652137401472921485421575005357240228906618792777023981683090798004415864980786248708683674237993866883062971986884982955926742685576400714933807019858309058197303877674806527494148023758983995304381671835405425043893144387789294583512073853057180516856589280601225979150156214626397087384613408887512578567717160515423637589226748960087053214921779184710757809976890422884699875128682319114415581782867776478806124068941280855947797533655958876293691909727191136053404398544578194171327843525181781098621610696044195577154042553027383505698888142370910330152259953193985739898856321272970032722227486195931148039569327092052274312500417165553421091315911937232747903493643130610696272763667795734770172283702219629468399270444009369418531572740852463922974573825851258468606868136603352067715134383219178477845440327630152083249815717074020617129172405152263905693391666999632759690312114214614842973911184654751264315333785991624951863515734726040039761976317783088764583318693436615380866627716722325100538663978542273796400123182768438692397477100090301481990131699224877239824362816023175710963601314712221589050792199474366187352555942388900637663699856441635185048444700640461985608328693577888614619416268132492943067277652841901737486786806887522983869004791463242588351801773434929922958279837257349834497085621513313163250257132306531813991822151734918103640547656887190572708715830150983795723003885247637927674994812348989847602222644259249561879116260742171653490790704575277112908495581734160460465377467339239519614395686653819131283836783939369296852780996960049545912983835768822337452825297613780204148798480121212752928901643966379792539509955785586695990742896198868829083582298387351945559533708224801634965858257793844042210014564284072690486882089121951448095617268847083052053184561421106317549915817418761302240843301603524881622646638868340685392680732360539091183440988527953471748354566410028396236557124520527561856777554278096949925355175872435706085133375548896596396537425572742176693837191724601725838764456564692547676632609449954689809567172820868635573589481584436854928121639115506996847923299086011907801193407329920991675030615847710458547238228603178128083901976849343096484957601855624776826321365172187564012158672765390879099662860223099022772211102390850270975224906696796695403954853369739127759826106763224591671148069167755594582105198339101754182316034903651556416335077779161738765040875729234516214455243243405987386790902889492029782074117972070624720808660656888971158678309642270622717658290319276370424106273788830628570863537372867740555864795517247277832569366030933266763641612296121161381157665752138441687037444142644995474701728716207096317752372644153708419595746909117890153098658346982526001853869664148032039732320610916532189399077998883616710836186830360321404504322918879776803027352182192797436304691301223093903730013250108400081439599902209736808351898530762006867260650779719345619638062994872462805617578342815775455897532505063677791394699139441249779361207746783176593900101649972953711630279293277139936606013191736286229985534853147336669954065235117287536031605672196407275441964248640593301051186295018196534204103142339468366819173110909791097416599711622783998137397947562089629463512327581573011526297694504111380926528481055011867798759526036437344596085144029319208199178634232153537040682398681768121450711057755443924266115192587467528855680808038271233242162764505035301637920295402004511076434491007738124002820363545831221851910118654701226754945467197569790489388918272519L,
8141768623644888637039155843541615837455412828115865436162038421508326802037774403434323452534923579279993873041379612354384018117901449557049560825886820651654735902804412174015059025539423859213054752244863093450892317622484493349861324241839301182583803962443123491735434930370370117635642287189767470261339914276439482943968093200290973612884296698036196605920828341093392020085120015059607306324930119688667003960340788347275214024247448656130318969860821141177008492607644152435874954169322574206207099944929842542817375910480690987785869512712974985640657420204222690249664516112932103340054836891375053464716113567502722963223550858314951511025888118688812816610312322984682696056892531293613702015387828279828025378859846632988484852428158964403106820459303701201012766357596636016199591387842571973360403604249326285400646381972504921707624022774660369373113922484807658560787199148734951981065231393126150768365508282926701156640604500823690609108287742616265861523308731043796414447675017230967632015760240551474880842210482382857487708013869457456793274615204089371439306923694656041628890953878370816708508493615714460173663128322010275317560856771012081145759196472041811873693462042069609477808617370997451870666674127347330205736487846480343803550843098622125446698210699762688002632845300767044655361672671184778534159549594912441147064223674339729104816685619514596602729185729269214762123585997488908934175703032084177482107493688501768544856640863018224928009962211480304683683634318722001688071159517911797287420270921925602849430445824473757271247908223662012291236312566509954858989251931275013124522779775570191513219731667938044698111794096831494456528319542278691187898542601891170154750638564905498374777112471090475651523354010105854877921245262674190779149092870701858335721922357004794538760956942372540652721737056998458352465206485108448630083612216881317185119532132197099815468770186472384507485073846070583520598916403477795546872291902773059675994347944603967619316171241083889015093303282459710347622368542230356863989349641545718048719200616518696279920224279841165738644658557420770827350168498716092309790505360769096435941661727873377647808316078735745308824081230707941151841980764430734766086019148459010050578106572819988345762230662342056402616543504553407702216683473110988620680125595862233624448648963816396293121455306002822165730359880546573081483113913882711895177820227177695586570064591438718766659442775156156825390504991389501803473491977471550210983204883914271217512042024151442780731118204784281353465084991174258282128433178016447618985598137973837356744607283830424308938086707560584996203686701501028735688912872921235306802937000984585894316897046923220771272347574385951957607104153722183848770926827585558268817851263561391600086975171411024729963957309013909650681914089525999314876425917605113545538542893748651221917143537188847043893017184515291407130612691604451851258688965481652564730259853267471787418657355053488926095166647228149685649663321177102582159671954024113013184779699629851972936032680491241965248226981442440019198648673002616129206127773756680482991741199761033794510101375246651618342736735121141599920577845526706144145016516825708228548627800463584744574335606208336713315003304720634629388281744691994627816967658721477251086712091769629023106275601820646821173068181257352208652245637752695216434740997196499459013386424175300283122102193365767869220626446175113015798801329799085292445729236722311390394181583982539195066164807713812441759029373039899741825670786301910093117338795897508576169979162842733363644369195896415101143978674787370277303357859786013740347976723258903214644639774456138106164278736122682792988143466613607552835324410686759904869179841151059239106068264066975985311822143776093474112372963652851780656033744828033341500133481786173609542691802080239193649728651870307481146776082811846541842342529399911931538412811316215566995346109238986724058583881865895926978705585557212759745584897573877184191187780100652779551679806508652054921517365039954316414006507343530299349358640212146879646898353995459068525163355824451653050025931781761409158061842042209112093028675714213059627845611926119572182158749968630973540252987249014265107590587073886909959983728509107745390442179858652416686703263738677644885967456673559206617184717746570012779915996784308165623311251573461832774788945632932638078272764386199210643138346996417128687347106792028075493948272177178537235069132487305636817469355069347449090026507352175403805457249981281258014762649859895155744412803324373493826455550938451470950073180757769931143820598990900347497225408244851156994483012267763385009296784193059999196103194185555911516180459788431359462132787791271975591480186732494228699626872465068432654290168607980998132300522531715013599654529157520786734555229603818269219195207431978831057691516103919956992597162583332248545911363378957617088591078749209483618482743428875595372131023157797427260214968380954422011797495933790049817897850088898467254652161116347619763983405738058371690869117983863619070129811762631934412904889562790019723217487096694875816704736878916728108006545123668424632256292375122386730293522120489158594896076079891301300918504293286031938268993647007202271682100490819681225706497559599469078956109265859568988822339920112726402980891992180118770565323016892611890553489447606401559213565137135110575267618560484839349758590062273449612210804329364148324813670601845090434199214237889006913007510749011447941884108094641861601977167194107178295350056312510279107044254833563812791912690426341775938671266880756992531377795301149904919992671711335160441311045843438309330952835176757603843019125858652180562847715326461337074049800288040727126418213407983581439364944745925687616053526327586323901640510345010156734655677207199018774399674931147444810079534596495847003969330531618915989976045894404699784632752375887226190152925024094712724819207016958060888822630537728119364449496135476120073395390979916824926020969929978470141338544683395805621610339046347980983326433684165276785340588446378407727573824657788182604373990474371534837258296398038884614164592992212946926574678065879826755664206230492923741912167227602008267305448975877003965642835897718996666178582914775935157754974367055848938227840766L,
13727142908462360056453607797310250173312154674324965487956206819230946154246382857265672401925441367710232963994664006400723828800402549235155126183664868762349299356618405502657197088602953297254344204975127979280196176640846513256800900538517185647218667115973061226855762145132318233989494387253925931784330635625361616365903663318516484993202402948387107705329964001754801147592043586120171794067989335531884284845343793502732132753850466519620728184762537806327879536881667225194011976313158717022448330939231543505256205199339163356322755441705632744160167829751810408089550453601284942816086997222745292620156375565516326861838026378607662199932826774785365569529198871184473604515338298890983563667396652067292185037143969619343701060596274952397282352477237295056744883409885959211075485934075025859111740652665357007021949577734564704403212289070596067774431432481922456369122016429584593009143574686780363698404976359778355630882213770404964709168586171529644484551273183055255816784957121740913250916761665928487464576239131587131762888716016865290383039448045926606433690000020792140873514217632455268989069110603357659345776771873074640480781964369570803796935812892322138167647122844309178224772630973983623893429573138397273891225557028585530527507784020474523052439891751227982332089035078744753669764074904148445971857661779343037578294976126912677295303276059823553432428649856459360492796593577199065965527840688662139934470412050656699608603725398095651117207364320009382750119437488074316938837897310188386646003611912040571916433845077082929769131387258991596079532281355556582695783405561126092819139787898365006516963869386449618509627139124064833656832147954031950180611177303384392620483399013126708251170452600781413971711215764084067556644214632861887571860688555595622255111680052266819646313137660547862757963299040972415944154487024730785642123344000764480016983184534943154584338537021206680216567742608771792352280837914608788415385420248598271319936473946582470206688790266468968386602133290595678540052406114576685854014244251253115535815699206601846431106742450200078288492025054191075107073797348404994223891566422158009000736818821915054587564973568765759904745027929269846298066959126742319021989473378372305554554658502031238151297732701099026642340861062311932246909891090122235590262489059871489357728935822799834108721653234189159293200242777797282892095624835076623566169812764170025194969589273247014684371649388614903791716878833808373528969563661479254379368422187776965520933709415782842669912510137983634392846217067517091756919366549953308917710475692742765269452062339185238910443489317825595209605147880659186103054946918145582687283959132854759089255840905476194346727559185744075789863429486259705343431157881601189011250206112191448486401731148659239454628048168391659733758459605495146399652913718675243634908300866762881290805670443670221414939075176071727972552061406009114065577968082129885143441928112345164699671558758594032028865144879739179599591248849498747762010947163904973298765346583425830871253332756054811434760587900654147134909060240301522648643104626558663006518433482341171010250087739245851976133504969039129099094881622606211787951512629993539660506220953555067039646743324691844867558775768360321407346045663424911088262258585147432204351771365216142636258794636624485163078467210238358193656298831673937915770722019828811100151696791560992996821540542752345838615808988510550417950612943845414509983642509203445213412299393184117582649842401140698441298635483371529887498713535223709174310182661876232129841943075718029489602595414945065716760170365023572739695600686253319290629992634923352199288028230762689575978399868906101629985207076243683612384211760776109463077964950232940388321171011761876553480656291608632702485443080517806535342540997932071415778456567945067811429319746979283215498334258326107559735884720104473077752716080092050452954281616583934503155558711220629744726034285623567969229765214721951828398897782357438985062180086001570810474325490748361828607665982577650112976320465064127363024222107485195015333091612202946502526172575416291417779844315407524656395164478115520890317237010475994454204740376711103773646605171880445542601640143188958334948035759437882093491527246164978831583128204203993878029543975199386768372986622437482091852129982378242711047944261022387675550146509004629917946891406887829320935413224639108226876866099784006646756872431117394458905921110699694428011445044798115173762757373759529996005123341517598823119981032853726887638308262678967470641486300476903973129268054278579228364642303617271462638251518108605283756657772751321224851953448935618862861276798022389581188073778957163203235075210977998866373712078167299078874980681682179123800785868568357781582782539210696687517833560232293349083909209205496792928883361307337897149632405175851028948272935399614067206863900291952932240596314074235645320746417151584725378554983215489214952493892878146360566236336788069580560402900836998087366663643292792300349714762032716057097558836095467014933796312953192651545491501701697716028158161188446698375058683812935109487917925928214180037177064755693568961656120591016273715059145398395774363386375032557373360938674318201615679289467621925311226601884066063443113210635084397124415552725773522722207991193459111926602081448908609176316775852471936897143848802870418758181039583298557198624991268478542866098951118756647000528037890132900895071153903776869715633869594530829854377905308414274545497185952892376390517322985211511561892635665010254760408559872678830053416799752450839784269812532235118783740659655529686614737606774701119514479695480987365319399645570260240492866597825686889855354082500546775147802708138199080324010249771967741483030698048303683277301680287548913436172956582983951988836664931155031851907116586319152441345904602525812723804833581843633733201374984930983567550662854979554048035640893960202719324210458456792040980335162659271150729223682901406139158521647993342271936749546050804505407852973052172490928711306043680632478235081266525342568287108376754009736548779383474832447631118561556205889237470327741451749389788217973477007764924838696148979805274557471489882483516734736860523268965514706250641301169456793566815109563911031419232948848232137290828703258528L,
23140738600259829226097878226222116747216682153800028462499763911100099803839258737338288264906855834522316052116586733976422566595542575952924698571022468909309543338876889223902448616139247775014722368998474688659307623480105983855739934931479858503889082540711844234083037993485251589745864748939368849571172517554130085648648070642482909509959985167006508935188272112639328366534416184550357619357297765452992000580557292351710110457400003256698209630391977654431560014028214990404568463736265883924991981915082162500950890999364995537108066773087410912536609302346350692730801847821834081917621704597307897976332258736956495426380205470099282807924827617377179847123415345205914003795473770507881776574420142300480335065017266594114803902903534027712661038999493975453598297800992016291968856732971124544645261390880329978459298177190498244339278150055230228301738153436107780459408784627414495649031533887231326509367424056875856560875585187259310713662623992571718824500547533680800336270792944611899131402598055713801893122016571107370574042529463559891337605252867081415946654677178036343639858755673135559850965250613631120289214095980009381687564264090542860643258051426569348413486044828722390951293855127910227637636774717520945616884430456991091907050417561501133252026940016647998422728778844920086398856246037696406603438415794055336851425356363351971745530528751213927264110485753466277335780673764794977054532596617534920428156425947411453186553064612747088173374511692216208030597714441282670544467935805952030867903819386801188713023110972610918230065566532063709037536180649797637927822130251365131617607148153905599089862092924314605445835325063946580225105857017624482969552410178234115093212877822283733629963763856888872798594325785467513135641775839671688679110920041357681589334511769050325739204473770489417742839116555015883941836573112425574606760886491937130199218990403685794048325232833006065961794575620283389831515442055997257935079178675572478572209606895014397760512677402363130170945777962875942021468945799870504610461866266199486661333563681470621736629619951501095077681894746682665936637980498697809572311525372109741733095179413262681196024248700737134709262653119764824377669727656876681606645615405895353926706256482181169358566735035887901205989229286085184070856394045675385836852239687996935924563018080315639666437362452490970340196040111662735033565050755528833853114301634393533905777883094986123489620301995315721720775943161999324278332177553492660541295067571819265548267953643375155677503385603598867757884487522655767861581398790437000026330700266269590353549666597512447429302600094765243641089626415296058377349284161923515782636550263725751121103971528878168863739031009813452349141067371256651684670626609328658241287252276637143208765895148354749163266423661010573182516097816119951090414320811707821859072433206434441641354044235016534444946270765268112304511465273822698409635952690361060904605823149353833400378593398436266886557641182142396188333095704096307111007865942299557625263013510434267123279782185242609941540457818214914721309905495673095470233661891352710092817943269222654652924070427631207684501057778119950785087322575954450981529302484731571362360149958068304558426934909875746124123884381098585640716849326905789191573297840819611106944433293658755346982491089948574713651558236707455920479020841827648706975152665483338624544827185587018979787233419989056245152483296611797024459150699520535339573794894489531838207230380240122886167995643612381476674598512820257478930720684292226880635547906533639884125677861285174615196915468638766169453993569741657444134237116730433496871589253035908786988573096777886813110625629367028041224784996318010428147068842225510701025038229440672806143051665714111569583290648021958721182490670995976264537779527307733642355615250362926766597146317062797765689038363074547257598539628061006038015490368056330969333231114773434096335397970257914163291640507685398779279614678945117674576107075164203049025058287642878721778267025255486289092341509794355623179769531249853411635397603321540446200924341361445735591723946381331263745753782772208359035673757862357638340182258439249564445245234814110542593340699448630835427272804431618732012814355334436323605081206834548385096825359703800464109559351745599112270862827617199913428969276073553701784949501728446307163579380533137263867212971914457546674438294885883120660559242357428449869589090285947274351885520218527868575457312184684599020009363364473879536878100312530165543306159111216904358644355631338258589312304502752811335838408574306539795888227655656406075625660275218495504496968596951283833362302268215373095345736983399584509911131488126334969368833920932195000885055528705302659831692957237948245854630431738355604617436341695685795014325148881275763090355257363248874249686674694792853236224015975881342541224156181316254072191678128387610552915046309410862851752133034630882159240850101117629999500285031870510496214345033820104581461818954047589459918194637908610509865089516710322212540473864827093092443404319683496459528017626118150239598041488597422693384905632510826739008174501582408187869520739861109477562337230097423731573168141596628683693522239104021270825592519803669237201502008241485862828541547589655732782239619892105228540689411158241753296495886100468181712615974374414384738640433097093765283209424016161294364401249140271261488860052086821098005971451289013812498472491500234003430213115576295749443143349172278957313280234167577072853390738927946391113913683295156894936843175805958587125110370356491927018783782886790650802633892792958117143336119149331214577720884245346117242921863894630412301015178079799279297802608473226774189267191118490107181579737337266387857836708804734215721036165724079018741812610649548160817438028230955431272343784779446766895459778289856913811090073714035940020246618510180906594740424829463395142327778661117004661769109304584306006657187748649415768726634999321041576428305203943042966918783730763116129252570497909096563150841811236577796445803122623882440789457661305261038914463616318506424804637329392255072431439828502715228854492482584774888516949780023035927513627387989475152329839178108702911508059588652574559801349132505200715739999434419717697369949969575349653061901564669482969017L,
39004074699985721199610771182288482290974133101092792280587423974265793861350731255841743943442563474716214646951436045368517482942506062653908214418536737404775086237832647750636411266641331298640435684877167043342263074170164227971159187961323481634630311287244272656866953044030885843195820240200500587361710912360720877705079156756273085597598468616749551606496917078767513412492175468077477016351986050328261864809737751958459226101268834321261082247299378108557959559994428217804415647559767750535451583492049761263571261773137903558294623426981533693155559721780874793359268248454866226251415302182426045413044480355820269455685383791045090077993815606385174279251319740341404579168312752502295775037745755723817282089411304688410921179071383903053824806963568138045266742336952759093217781353605949839080585031204486785402599282811956250468296518735313190663351173980229270528295606810395940751913355379257256718043786292813638564932351037174598704741963514786293617141157877624748608920011984902945569860649623418621051691424925971309705857979965832888246079777570365254003901814820203418494872862315620364126820222200038595279489337866573253856430836829286119655583921882465423515965671256678226386345036821826959436313367920443664323913210752820393432972008928296987990508884915317746168702219692267044097928206922470012161947017310313821323698088734646865122500686023700768150221450365629003774477133020059917662441318147703539690262707397952342602042470231743579462295672760500007415480916509685902199768667969225072724812155601213652946230291561489676508460600728959657494672373820999519666744149285064152124334192127477882490184036202071189986104656301733406051364739557318760873421341990093010012681416183590423809945370330383743249135320646768439606404111152031045439858687459833468738782898096696115675340266463959034724828043719222546959561084520322650552964442887575935587676613350274297986522164913370453834421767495242442840056677247886460945183320841666863901548269401233621486709443183027220478747055812913040990536911316724097902835462340944652605536000464420416364013787476154880254848376212183549612698849439140161746689617911050949461068849730283419915704569309381091478143839872473060545066979819686937851951781006775654084995760184854514646331125767884679388601880725914613966175755031916209065709979208203555155962841204139545338518318180935174973526960974206526895533147965976880182949732786725385634006791364041939898005890690132336406330715190134399159870383348559702241857562304356974465316321757648954244644897089859936755649965254981018130512366491155398202476888512301001704816149822294218084883908603054300805310973506719580322237354363902758944613513097114778122277783629543750962653408249284234270743484666120072721757053496782514996688557371511875047614634039253004706243446098854260972199471400623641160480528164197191139952570495626953991554553988102509075808456400816507174911944859666253539034683191919354995240015602944198976316957448828334102612637925729053540528943863236220465056478916100431569186255292375937745369888592534932717259899290081937764878111706130447629590420387148237552931199968325545028155750765791130591228569639768937601883218068661344580865272545194505911831907544678416497136343366766326667912485595207347708949034301566375691401167870148074371463302213069915688158325893936536468128688254452504707761412788181923420240893466363058563922109434701715944103629219837141134197586682398254708337846613096911404217700470218901642488272098139943649339659702269160426502727470147930370552511901846170373664176106253720029626946472179670135876795510938959961292152978608973607485074570537409614468482732405023291653245679906688268469823557796747501090128921208087826007601945118853603257510777532105052784611138766357159879492336351375688603389887468151744390416474110587326641035288215774032973216628044058178777843678746187905006448846120406603952806517116518879957345279791647755165992748524394758331534311868484263519420347557873267349293143550071058753179555930369249007343822953562882037974772356726926324774286665011303435939038786011506559852728015017986810675345902441153870145632858714490000837293666259960533886353564926665413356349851283557664203013932926782662113885354606665689646842325878809168370525661378097510860323175643211547994566987844531035863171494088950007722807576634823025719190986104815472626621626333899967380202024883103964295110829539062652034202479508733244550676294433572658693267852830416234337037759189276936424943610507297503262564599324900317264453121471351766450376154251319676625191380140370721323478894484788940587517408228992056482948763431449846924144004586029162533040297285887851847123503058511308953839613288000374303050223014060823851014729745645220959977150881341493899525564817266466523236834837648643410579648185078899619759270922231778427852370867761077314504366290914580384819463472947882308876633983268703293716251872907958567765666531822642607318711529716022846344572603204558134232116947195097129083811409733763763390075807383211274746751649475389183966034364570851686108536667179272739791372616286678040440254872931577522442133733537641055167622215110469757747221819246526372664387012899627307223437393304990336130281438862170125098162814615912224302822117305224141472821080830670406964502087589680917449160549423764110172705634840695630002835466902014083813562524153516773594898860636559778436146355258486691201223904437120859874842026864168800544773246730256709996061515347463131834931416861754562406303731748335777216293979274643214418483860011360538263901378903778159331722383191428594682371791380263906438358691801874262142180534849796645189357666555229713525947029005749254533362200341732979098491552052436871991317641659057762119398449391006657341352013718985233755702241317028585584458960005114583646836849481591062608126765389949191682216961451099240069753944294107306320844716056658787226655184072449563942322353356499182932605737409395372359986579523218088840956886798870252881265713833761420057365537257535081661725950823327029049526406755212996629927616595734238111078403379706885834658337303020679965682414786269826756640789008367636432654491302853655492429218202336208719867007610344255856248501246168472957268713764651661993705228279129524043984451140221970427825179564421619652086680452844524676253L,
65732247609028229024169135738136291381246160617632646505252663219729993780839551492446378370172885990118540731671829380289188689848011023821186898117812797482379325319931441587262842679666924560247159556199715113815149612932127615405998081125793115742617143821907293490541158836757989795319974885101826507763838962499899473358309550907949621317795270096009789470612805285516356817323435725824117880044988963912413795468984930851136804989618315331672736395815625154328417132983119583804901359307072627624126798174544895819174789235418695126010957316776629466804064792436113345554648494002263668922272985042586704230159867390478778869045715549227307335811288021558834718729048511003292665227494312783490755570358915521519392996622356965986824867623753453520991600313026893505045987710378934025911798256610915997016132579672066585404014688994034389936082929564868585287269599023419251065869781320779224399338419783303950068983980969109636879692859041300204694144950242537701217598125355732075178580358975800286479194011335869831708047818995302283173473952926987986240590628430079884723842766873730620857138815090618676064637498062269188637570485382598079731815789345270206706765138735493224742725879940711861718260734642604233777750450614967857715291563189378086933596611128084946152906170531971303181951663548849093100359321530851356076807288754023415748503753006969205308795567124864729044383592163615486958740256029319868121061901289230698056819657036591785015528819719561755192732151599162759258955764779160599423568650527031416803727017556134411299807052511551191314086740686942624807444487295526443689984305755835130600321085861849390426564324557194831375398031317024774700626095835979390206439987354584803090746530834770399643206476377605649863787407474742958830110066865465931211672801358634621993462481739524932536539230928499611701418180974677876118483866888595279977388739511620764742337645608727141312403698213381277443611186668215763444886882597150179932146091401006343141714425201542258586293928466106206409039981660334650730104145829545916118088614600281088199213095226398583425732600332575065654875590397281231169460820295309482509108658732171732799612332331802998625018986414865756002699161406003743431870072622393914777732783960342068586268273016067100467219608181667657540607738582444268095784951721006320015811737175791310817163098823580596556177635362386586982275471788935752949410268338336005859506645365496124751183168303282404016283697215447421623115391577753030393219522341943577037125623872663005038587449868828352416096932164810078149310282737361755293863786316697820007565103779238140308748634050516253475905498199001597502601131016511823670416974821413300861348305930474060986186872828508819429583797042990486657991605758418741966843167410928304455908215087358862704743638200602847459594080228058120507122551044480721203081848421845174951635434032510974941639851826934396125480913936285604382004467329542147692883297304156732986450763793578420437235608411994461350254501759371128942879668655706683567968139024542885115591596308421348002720990004358353687298387807224304263890423152630499927461385263460400285930015035884450734072565702574519842608014870464250441821940163598050637076705008949396535973715434707686547676692850546646793537145898896026464096827317475182766532543107592693358626275204996299548556841190058659923868596096164716359244754894740819853059863197486058037899362913308490062117307301543359383706184809557794371697127523535841709705639837583243084251716529639248349757802334882623706920923174175543629927196549232444897509388863423559711977178212529719836207220756706280294783532990042401849166579222948527987536841351005918164229819051308954468282783996578579975867741669329488077117234038581329718786074015170752600620806800999305595204641392605722650080288842036304054994373742478496438930304871244358761821133342591851468839642957848850042931665940952487921048412153576916623655942784285426600891685168167108239169860220259851483797489315032452728623434792484667498682377333541289087447579768179060549231677669776691537767753887154784986609826696218695527041904168226167069662610621515034614255022547148188385961832864219105301188462611462528823372971008059264697319763849701187012797489393743728351886461380819585630257305452766203810130024095421918729496559437590787906660452662704800614084118091393930335476283164541100908482636236731957736104488433151274391631704470593908057855681186252516245598562575977112993505952703452007493252376782974004061918889000642264115293256151291794487716341070826277031038806392927345545592036279430714021044056664785505317100884768753561419781953798852828285539607222415331919735171487889665455085728188984478185243331554523584388394821564968735158245285302688697270434284850384888216997870996424162632822740820849788876753501663072422455048659385161863364442357294536536939806922984653083387945443554770030279573248002953793668909494971378759248555450276012108354177508458125056101949279526876154051479751493441883262704850293135992933954447314266043778447599008158840575978463112732600378105342687384263890296802967476655290394083518866514291162974127769842734036808052516649274473025271175424348579049262352663591700152260907019767304777385899452472399812926021370110900621871513311315246242991741193966777218478475621627645903044659622660436007873724996300044898622524443562676824616399667338165489114223878132518996916660357888195519481466525512658876478666562169522393181181082015074140022831413187033479563644994338316540444806384608496468706723304519502913623344961781479102713936284591610054499106511093301748235166718210748377345476063352448868211993563996365428575516688667667862684169188931068945261829601910048298926589891692174176457422317097687610562967520823452988530837712486236075280489196689044720893669179993006140715399051804683579842846467311013920851271805693654574588536051849974170159415579741078820845138748174720668645324824352810236844178389452630310604595136670037217117807275475449046807888181134245479794714880549326601250822855624751749755773688629579704620444265688927603135081060686907836224288742627083386100369454003791876875318329882585236863895072981618607859384172556844165398518294507838790638564702107355730055304977130098603777473154159058668884475987508675151646374235038366589962470181343776698303538L,
110759953350101755732634190620615787536601687683086197217650138856954756189056488490706325904878393208171124440971737187161190863023551631555900447044363509046815354930695111772943611281777758036950260574159639785181821566498474074530383103224154511868356588578979892875379388863185841122098918962988373673018492551872568081832394989364360715184228297719758704380033973457879431956476143892100171613043224597451456432187549089154107757829404984766660182369854028568101753284473413164769561806387475366337285916200571864694902781100688332569274758948152832494643426170782203367961857810712179870579630389045554191155002193305175203616326131536687453016734104798666834223457715160881262001450629976534391420841331675801891131286039979535787186273790587339477835377481904326213386082264611785917640765879209867488423168373299797423313143230539249864393824453828243851921084052969700698008025222854554218027786790277579459667992314087825762044196569853147315889523923018352031388092796071542850851792600491786940037218585543942096200195473276718788586949113083465628443724433951648842706081318242623874641288193696762388935852126368555312661166814570909497355930108503209849254203923608546949243405086793812618873310322927904926919339613834412569881553365077316385159433293450169480488335760984353856638469672599813856320159303039102783762818119654794257249525682721871626263723521552054604944664151005704196800924662881394111467259827230874026748659905592928407260093105080128266383632574911440033361180730222498741110500561191114876941761692923113218139184079494710688841012539427184714127681914255397286894331892729951342772701895264556519226477794469595631469109759505476619251414405207864865329738819641488013310638334876325927734855555408506801686436466591572388799817319209887306974052504946772334893322869323012826385291666017358906361649608708065839159974599076121243144365146351360526765186747688828607665495791985750005187257777804774107928734357949031618831727890077288971982408727143204264855882161362407763929635877239747580972084618483049830222410678778028070952296740027066352624236412677265594966701145505252313067891390382914214498276236524804111690882677097103270921189386877812269813208660305004945552571266379725701674263788274285800723553905530508570849962902974363810976609029091646196286541918426500481905107277740185140130830800370238374651528553322005055567328174819300764280454435425726852145915631031783447443693742089194663608599884786451882657722745664249152788144885611917830936901436847235109689101101809784992552304318851234980581053832121985227832663797453490468074404290444080985494411189071541905976537676725755558753189943077223674105805936633042229629949627724011720694399286566824791784126783480028195994850980720991179030737508556242220485881045498932733262845544196596235601247479422897765238056486401215101548315634970783996947388076746505843659489010779830571154442752456722715015228314143319227476588669135734261233316337182640079013132032868071269956149690734508412260925812017762895576737928532704566905900658621325323809501561380658655184659468070560667207618271505935487375633287159598746747122636529514301538894207702052817674653327623927453964547613322906138134999428067486411193996588255110478222943568499693868581832569263722305930294666947042561942225215858701512490505603107187613054846282801850387725399518006611743999923388734880444839908232634681419294161278704932228267283036759278853430637313591549309128234047826834691012676099894802485080297604938432332608514627940666590599223348517168141854901785817896464310791781568226015998543308143536337330438071149981475979083173365387797762464746760206591103697074227678274999311271094057106884987124208263798941070382160889605520560776549798974772596055133003455575846334596494104656856753426558229519457939190794821592715445112802476492474754664776318108955246894026667801601971836870935434207970958949572313103171758559565465160082198517408753985097821935553953799872006993711014597699766970509573618547046827399207872790963725039684701460496341876597414052549922524897745050183489257778969113968582396390995110562590708431738010237918334111633542651391021456789829546059905338457362995552294446334747749307376963660576813821631051319616510160054507900511020740493518744865940553003012412952736519139500860178846420592762109687776184848963320390092526972294121371219701544344029953667347209484982312261988032255085577786540074037072874179800916178600798844297229376741882182315819669885294943762471834869894638625168537959004274899695759087466181078939433127609770860870673481096483492574944266473548949715247086926540835265918775056781343557935423095351223706617445217263356714487916645232299831636166684076673822399111206903804191232143389864196480761703072260459482634818878919737332285977966743569588444645322486963296498525812405784357963734554701428838467804142027858702549978254328778294805796799198143167998191562372241634669084625217306854571026805694757133171509858003508677446050513294916631435150769352824372920645357391600555859058744672247525494419701871305411937107001634427010561913504090972324982915164781085928607315639696898395871587300384912870615503811158731507306204122547747367167637029030811242465377215746367247229512527287387232058341530235567440401044801736821291132838971449673288026025172323818877797136615798463971171311803098668002273855415133683497882691447168487280084217046597489819364593497800704179823136277942269709199487804776142229987273731510498415243869062519558871768926489384346480300616445343883498457186625738746165750654355626614958603418896177045448091069286669230717540745444706730857469827686425784057158750753422187321667218203475666055794492685084960910090859341547185767795917399571034858702292892758155036259235718510472078026321020311762996683108917204225363264955198890542985969926184660625660486238078372401739547076036348192948231507078353770786159685521526482918097299752998250638871322075029418316553169605265821294935344061864403853279373435545252060250478640736108657562818400541658458764694113698138453365442146836783740225900137655081624685837849907800801143273994171974424933170966612093651001663795398138344817325697443648653999231754486593629471928373473025648948468104404863528069411740025833071028626017477614705259804577021697464879578016653230493647654820773541L,
186604822374970473799655439429889471543633773348329985990445813695065187798508801876417608492220643826984136669060226156348888713968013136393984550768163226591576092640725625464268288992819169068466099641225334503520748860789793716311842915164839853169935985708396455048752789133575542079998496751019763522099639558838958474608974569883596790756219710726178271389281285719983142755547219218985709928296437556954609699214145756179324537118486571385672175717924080424690235162133282827677100807374350204108554532604946394357741430220572778834293428436452945206775940939799722777054042684120237431593417372387853392084570765358472293608472427338889036956566403751581861645088359317560269543782541273491452793729144681999944124984941828626394209043850118985446061968573952667848065625112101374524112608331934090699997158301737517306457603404158230042554233622060523970947599444885190203799528158114733511342989542341281895815263699573871847516795676978313232510945752302978772668476242364926917056149045563832070969851567192381129351571965863059376565647168103563464283792361921176482616448736151649929891581296683794822018831644135370215554321015964066625471576945962066815861351146717934915681591468843932851447488469505310765973611311663185889795823677832891291613573321555487587038169616038065579670660384416990520311846473354106129781048420839523492709551928236530250643092963586506810075322663644032867892471201287531446908754240949766275429992254022776183701873278802191805930083975685138674378193358277001023738185900230956359005834406309077879338844838033132665132347315930674891510519953984022030703186037298892795225614670949360413446209888370756663586681812371916374022416934852036325831419381199677758527431453552665008278867167853962637491486496563556484230512586518271205648196643459695770961479255729919961233197604512542858189828590941719491030952451647007005921503775337759478700808333513775370511138801484120739464326416455096681731675883434172191632646839863806079353614612746717211273735785898843201383766227332544180059947934060762839640082236625330046221363765979950339945261238749409659092764400089001398716978475238318606763272188997614456686333185861888496925953879408103646548619417456680406530983021763452154464973184750624068790932894341096993597161802693387802124763034251359640666150813223897925415899221801800169167853223271931077274620829258493547079753924869504035927393696613211154722506116912869201936252395668950097592586653971823559919014810789839351918309159162997111604905146465436138530638766880637512767722450989230087594334917259850459766666132797029942865035627188914824023256207116060149839127168810026656094856473198268545077062890306273204150498747528712937515450292327846553609395782432435052797338500083730146118709382757477551889856057980009880791442334016795713302605775382516640914458001126999535918019823140057724325153659941961176142171396708513218489249084630883977512980342078723326185430696186705419548017556039740130562567836220547618927966979056928781484736528833208946943962560088819867999434655386294075971354751162162462544542465775387958299068022549977201281617948963412651759425472298667215563423667900022701492296064956190578959911255563440278700059224822970716130054841635052257686974543894556427474782558803117864033254664828575942160967726776955828700619532605403073147785489450276691458825901517473708872215597658057221910323592038618198373305664437501438233475067809726144270511402546365468738141399158245074047913860819468948823502352607736944242400844712836205451270760458774195096734764056755934605597836130834066347106801697788978936247331775589348268044886806573600124862976620704698091878161564676863301181996744542417222260944666344338114613181897943378557722018872429317385682713084066369160749217126533149527763591003974391686835784144789914125468184138368168961950374579370968646814159010404002871015864424311692407898641741683939120986276080427142378729240117165119708996466867984809555200073117405971779050639550344079508054677996792668440128135411889920519394882163941132106414858268715013674312478753897234673644524946044260556914356539899636335772627301300924177858277716795035322443211203904700555546438729991471337275650651720649979964467791534344060616776905798976664279847112537254060205638319707526434334268601638210068096768993071043134538902325519863200256441020934359329814186341689066275057137109691761547739435161475360648242639803679672389942731962710729229577109626237246356138752271113675745228708117517912039176540247186861952482703297843214939442951305433199466305735408530873286034140984635575318105535658327457883594398165924251390169458714874037534579125854179775407644940186061607143942443372187339271693348212805587489710006542857975088172346247565274173571237440942099908751962320177289764017627910334427398236584354331875765903664772012946498718171868627601788699124065244733005821937542272634915040198598828733508159275646269164194268329544012462866736703625303725181224393519830893096084792409786409005064930810504117063062031075160645598928517855637575446117177359375926477197846520260050820853682620718500738704224067800286916176742828250440643488500068879789916821864389448724607644817674793554220384501236941148929586145232021392477984630026441912905047014509820054917004341637644846910348503001213172037787408071521543289034701221215728069113372281053084429711262962993325530654827928788113305778275403482908830886637684202527418488334357548522785611889500629571168593771807785116783753332562807381823236197932996705430560007768744591519710468231265694303033029095122781631435355105703415040533087316368351145498821716110167114089069228184069870637999862729390099466088485810115024131642762678005493545738025193840154639350444368401025221344519844735744592323166455139523504747039570412544608732452848260883403873687610203791939102056203538329259570278054686008656006129692280116710432297773394762559215316294676490065130465585641232512765569461294154105403490581988000851121492272020104679872220709827708521370429646416335194680108413555154856690411376943034565933450415051592198815042581628933719073863800894807701576351448229371624748143496424685044118381058938894997308531897360462749479776829712736811549846344918717977111617667438091611667049191616496080277801697007248510505633086206580693962296982730641294092256076L,
314339398120329656341717816569807428355549009101116701996987442735831642305741351568835140190897716003778572910681583440958962620954766686754772987349095227712555102544080673378935194127726037423625356773918375712260433472197649472398696201666690243982557579584303973835604211845531279300427303733616708224758602853247518260535791623517539905605597599331523778965089835373512339704132700047199492427638980067915292357831080728391373602408389205722517781100402930654457772977204894585096259242469623564833835731542891924128345828410184763905804357592027597766753474909161295980056085593217213672151729790745290577733637080956865938345723228995477583163752829772629128558127243379596179571358523298341657179214600018008488065375236631325305661026491631086793473548516672956793229241013592679607606995385779479830259908731567557777760960993932085971610471936933109903415502826622463701037156396626700177283861605843034100512724320022448148664957976241851038555813137876967199984746447892963280554018690841259988308251181120832296902975090989028011022333778387650451158506919346492927544259936380414081601162118159683282953142088900119389298921813298517525697417279040264527078069180934963401031894228859571849955299258427928868583041983222282966993872759677842407154883871653805891238072716602280984744746258310465717867363050910068115366565544834502863369242886146301014515179639171521584549911310738093748657609300388273943984552312022807697075538681271208862569976897341513422766372850512216670361364713894988971336945182810451211364071362324207997058750970515082335238003371062335143270463641511216437616416286084079056315373024090343459343614398516429850354926493073566590046085819500588305336202177632884933255139957573672871595477833009088562374346050626928500393540325850236418379664655589332507760650450442781282434623566214085995905019435158378405668713295555457995147706770719566137182601856585678398605835933665538473978294282449936083546811942396685584749201516837818400604636804551633746518276885982610010646019310090111311855233314351826188659806125014519141569177005707354985033187599843035162556644157963505888063479350175355778965312603284589824327181284046147942707231851632264650653020643507175226830887861264938678314530099733573466471680634490397648337985853874135848146781442944575237082085403651521677398407878193474039136171968329763069271712202518004817350363656202916477087402540799788588225897431147941421453659628637413844899669086467612159919133888561848833738075676363394532898437276526141275687219639553371258949670518329387273470590642823310379415056480801436005401190788491723132060562310859459019619199851241471075188146742395423744392742688353468777214325438557299008397767980745052535430777560105200398918884805303452767661706777189721154906049455574295453508611596062111919849231733843017444255291761767868534602441414601842939024269880842256043353685389540567458924305405618381117412592618219919998634081946550868370047151322222568774361860874264522787172837894304876634365448858522131270838485365509264077278375481350688155130242393331588157480312669026299791713648420352915123524017516558389963575387750974111335605462055061862498124645609630419746815656086825901495097844113116439800010336471697242257586887006179281236696921902993367292692367677974749116315688109315689713319272834855641278988249864756273608176661046860139234452065400522287011124921535843430775821398807346590897118714639651235682038920541434043526693250181085920758471559352577560052448222438154801612433865944177595455669633431250949027325175937963195106967300179557313970716315112849875884585946033628359986461833464955260981469393599339282719639214127689997354185445602773476934808652231076960976935603847848865304222120181012779877663437101377490196398807990791412298571550446216751154464604650143183014304843017485703448163684383186842571509980006038568373979585321987411699527519830610943079653654536270197883785120037334262844161028913729716404161413995052923097043253917006002544552740147372192173839110985525969108672121858703729388393826571898230015388751880130921836936246398747974905946998171930728501248205573985747369398881884104425318953810509757147564121290279728694822030680739443524387790332489554099313113437151172451839287477228896577761172005284403809137666209326538629859760776327678319386598849374997395764813714077809879352496805381039895147962207565557995596256261343480709797260321115183917562380095746564357871357964179595520060009808034544414370305598103361031886219854696960366559229486947382990667793252800687567119836242836892625957481443376354727114957411926498670716732712798278950506687853794037707561965248048676544331666858114997800240163356508086813373798953692955496090107766035361364838651430795743176704146898730672777217919460101588387827685842875555448239788564248818943186379219105194966763912796114721733596878469879486222535210024211860625776245221191160640969362336419330448580818142295291826407717003247056696876898049790274339726380710961255092305566057894710140085577201995899777115106982257420735115579208598050512319037489962941779426486759285272232035160154700178839496238003492471551999170646075324377251647469124874267998694092874873693940921486850873980455413884710416684850852404783031934553576474817968445919597039489320064802375899138503328924677595507878503647346514512099227769487313852931734158506454062130533964543775630010992495479922536296021143629224603172046286113690150077093620713162595842043928491230627912275238611321759037166099925442436473360185331748106392186211657586624745309649998220227649174556232399262026098239064648132546666955552467838206859879239122173724216243638330983173390870313896788377435731178102042811855253698203265478053048123961866313247776744936475832579709918595854016562573609581535525241191510025895235526887989082833511593173878802585825988441849703659396287340349584309452346561087174465735585035212967346888236994101863125972571448582830833514430260739253470181068747291438968776448037257158801171281761973321044692714971826966890474559571593957674055626587095942177195555350294250763995050353097496647350086450724279912523984029138489116920405688129261446050142936777111724613751415072263707855984581457272316393631623301248057104197168195628367726497160208218229487189364312042383456028683590036849986122980277408059558094L,
529432583038142136130078524799237667031141868873222632609831531942990701680483220458077714665420990925770457063631285632645412195662491597414025093135639277517634127342863342965880725778494154487148421097177309526703927563764000163591605634154004193403202971863884118772105666389298611245006586537656922306920065256163125694930768351277819178595361854281855744037380719015680780870949049819296143000966681445818140421255053156588162509684953963848822542667559733815952646021707487857678202688845100635318018742100361059589673899417052574465626872311211792602382472839840322824801568157568189833958414724550176613273917267087988215060952311364762576756526232383685272053052107783325265664193125215689751583421101003495953266942115083486159946509319836526428539999150728908931751808526073031233896959100541418612959629885003911351286269708320410696868355133509795477589560942533431749501174954192416276943346229679050654885648271162528784865489053685046051962703557166162189912987436184443170280173631100312183184395154740782961441396973165888241140698113904056041502793463154660019183136081380892524565083989315363977507461333908427721172719471011919762169046623245492691453802767647533989139613919941712199926400105551049055157659856282805844443560947573030991705493472758767697739699139230226019678168341697970540861444073526246365964719941091533893738491333828574102002211871787823572522109850522636287847038423916947407454601355134526346347148048682876437548299906015138536691246284933468902790851433931062032517095667671909015532794441036461604279487350454554221310102701825461739857253456773713192453439552383439544099358571060532367319673357369357573769733860211301728569899633198357103500726769693622333865040587116786406249952893888448143823676841542760657977275971280755079170775900286677839194516372285166162866959002674782673075011794582753609003797905270488302804837403481998954595217824797489021302817388342088153796596266168773528869282369934366403008405973582004605794375342857977354793441162438050393323128750255610565733362157611218856578883777432215631216301322830372439838283977047419270368741925961764499257306097291736735392804311736238856942612665183103934686364997692157248337966666579464270404803273199684234502490800607911837821102308374906093646456519276193079729771414573096855945293617252711263624893934256534750818202941651286840257289927243476653244403786548401227102705766509643769266958081793874118614671798307922737919124876461175218208781502418653521192634505016350226043792899586313379224482811067175485278358141723094564065755283976016844164904949183165255665827419017119186083740012720261493272233003467725814556499633957203552816963428429611724967325883948095435048189970870745124847823725197605946882429177537502865368166941761480791858143299296205157278041065458550253812823659230723460224709321144441300198591723443164146183345526429175343560768137552721634417377240193851847323084251869167930335203168224511912080786707027173214942223499447283015053762334630136750680081708884822510493173817822494749943259865366211172511535531021942177738157037953963683807880072031607271197896084668602229667761295334765861074192980170757304367247396651493110441814545345629928856798895434734194102768268908597065086785266249553056733191465616644874955309511834037949506363779330553659581462746755280309228237513363501402485242764501924107906148976791314644028298312008650163732350343036065957631903396145623661025021891698767947997084875879294278738855183766354832520073167761762802745399823360799886827232929125561151895438709913220924682089219937095621964835225300195352557311489163098945820332155830673375662610705802390686914456332008882561105849009716971723216263039513663894620518502982045201760606573793277211069374442989741743580000819474697436727215025921209263123609079516029610401176181903578653610385098247698347957155875340504869582867538644201789393616274921117848350943034093912418379389622988842735217831079708907941690846692679525197191983115769317044783596789413245304151392667354238409620419442155520258027446062311016782128593312536745979486852717964457332882277954942925085077233284195468623438347159498867703069772836367549901890895445914139213919448447764490710809659671364828077839352701098162122508154248903632735098050661220703203672953447399819622623826490211699399869234749121215063560884486898202033109074371887358797425089555494327153254898151353761485561300832898417007274533292045901330071732221654908967338993316268731463991494640130999156528782010927850899402109011045661583236638716367721929316721952595851509091652928924443892316817217589267583379015542493970845443990499143580749932467129488015178093045220501276883533939634362138021392382861170725408306907631439393780895155046412571484483793381874843639791370166023205030658600988252412548443756306753072764798519953262632407077707188676486369397269303526269252171391826171206268573562712851308378204795222565591937856546571697216719489606945277082658924555474370382612044579957109838856578808630004656921478363569648124924999572609315461771382729298329029100438837233481827313122202535752545200415712352274296550809785225323128158638188305609698446979761333091304469993442499253008914465037128665072332814541154363674689330935038099038112291840573411273435041602490235440502567788611376066509382459516873864021494971447027512002861142421134664567430232270026989303901172430425849373483376507794903912458763714536555132503032778764857939203253127902988480397265803259491152567775612501490066061351773719886911942616153048980061192025036216260996896071818717067234446248374850774833837227610321041207609347022561284572765033536281886605598900123793687818963273316811272989196217659896353611219775248026028221541441391511906180940161810757510701155729528418830964550373259347539889730196411106579712872188455288839667276127902138506887495898869813106299082597102285127803172417304907659348485361883168208417014831725526540497858080862909215593531018087499727042612771426000426785755170106557938706056185705040971170343090140377210939793243210839180342145721379714189286211045390102814976820930565257001120378987917632891396961603846039585248530415289222614387719903212814716776345509499897869468657965393485630632870606637913660541640914131114482423344650147931847159065732604188511598939232418427220124584920732418771L,
891576158681231501752767107846529923024391758805162178425979315173549127154993646582457180833210570264274550643978944781452872857880544825737738520788386209738702810505312062824943325745516442208990447583302906917915419568685878558999867137341119058341074305068102747699902544617755426796989815265381830720184389587720555861419172088924372592338435205479410594973673073266682880112653909586721160125020707631887087876077322013030504032857594601118073424842914446488550346424344017618914557773844027717265036835099133674390801786061549308568261161909456955353068913946504657057236882641605235685944827969713460277434651754828719318333861773416149757499516668256084679441400683070113969309051403128454444183007275178580466069882276399647678714211548002032323799244551573606903842267799057744849900451580932789507331248849818071788064835591399160520308500542471184814019953689827382219693174889751316214326910250965853170777411444190320493739981595728729236806236979557121830504401987986718337192292961267030908430071075722741268267935661192829598011266306887888611441585023019395955967179181256397748673021217179548964132892082789776205187554454778990379702276837345735361904489766490714103735556507067762565002898658639966724854952111259562842106312673600484446568837918236522530463393110223678757874527870270412426836992942791920866819611724654851736375947997741502823514854002483654396055869937097479367672956923244985698246618747627379267780025452454203579736430100334824031489576958164357020654122190314998418115916424237144156382394275239118396443108859564887662927936657000888160028122021022061580528941032453777169473511561666750875503061318143980554594226988502160484074860524179124765285129895833206725261425350439611712219336799410055471415138359991749319967237825266779756895151045381958101265796139483486079433473815272824765188945560446621531866236494222771263157276510001915305525902916613779753626581565130254619080800551242021720045658296878212856536542600580433733397602246566772999110214649127786186380416362903713456475104699219943395818869264856739410950388387909739960466312903497165851513968692566111649796715284373295186491982837743682984630309276833175279401005658705421329830040834331264061030903660784444438467021857058082220734084883417858221064719447775468502273187247211326546710963376322888333146968144715775686310652281486029444105901980581321287626725671514934011644272754644257603177570272318218350259167588221396687157490711625926369077396637854795589742576636788953881667853211859794980749118797266386911822031230114965943750078817405805777522257471689415986271010733641351827191642528444217023956284305602332396557525002348837493049695284129581990196539938075356644213558409374752870195593186001683241705946697926501356739082098231530733538624032081488282537067532464043615090007896158549813532368361714730329845139021296517415608361586028547617503465582326915656287853491286140320309024947646075926994777654106873404127487240844895545424756699828988102125243064388956373492451378157062444285664854091933129769048872886325417534746676955455020620707580894046127320172885772038366447785191444932390945070225694305608954240556859163425515751559642999567679548413273368671615209456975779185551237626192556864852195268997481165966785456068937907206130940037888590506762846929059915164327522577074102804200644813822486518445516979553194433705807963889145570226920639525105766628976146494828722632430484087133596435854842970447302772868257209301845123899061039151639677995883355615297313804726576914312703538216505178268749259004677499268632738572990656062930502034277205788684092013333890049229913530752283307241074300143730847911809666771815685996736802292064896006323732673689889052470370919731621584657128663534109298909299037885874918631658352766988595884012427845510178238358664397623501046556510668574735484539818038594038686702278292622581662228826459267528707661934479890245413357090599979279504200291596810603088624731576569806178259763335969537892165463387734864424458119397900535193687077983585562225126952940005992133900775276526215702062262359057152679264881942304407190907613134083741406124370339008312341770535556319036947726491957537856086910192028317251545988145748979956804103561062934483848790549799145491492381997578222535227016377692479718080296207028569048275953225584518501590405943224233998862615150541218658378147122193657563272563947758133992200913352336608385092473490738120353462075421503589303113417009952002794084085795228131901135189868650677695883569233016020389431833389113649245890187567901821890074022944646372140726698673151290456395695980519598261246919305352130708173184486949849335720903735716333694348913269502252005314110279636310374848487538820963236447514220000241930297449924429015110632104272881801893073161630923204886164855739417789830024241976003642488706879397683211168075724645030414959021445323771127262685365656974552768275856104868351416590213269617177148522520976971030449843845755233497747755826165117368857902061421135289702131468095493970127547804385536146162584412586448556650666613489411822566356865492261844025301863206223800824514229189769590295619307725218718780408017416175584831812461711107072771271427393132929519188644399645378527626621030649367947423878829439182615209204943703716809174653821231002436152556520631086790254269065331246846470744262597203227432471616357020542602761593186155533504337291832765885910551635441278745073589637092481665272176864865739446197602174721360704546369101438798212629197121928545693702787242454340101137654417638924528096746667583442740994548703934613774795133586366251070281434317086903601682366554285813170676845112374971463864398544162547667034816523003727888928073609277503015261700043937956911553747288463893100027624323765166054140863592124938412554276519874926391625783169703141528096427712242144694485020572652634608429776751715049143087791863664905716607097611251770104782231701638706524924434177825818496623437417979844100740978693160458398246492219743377833413867574344384770909803852742781681631990195328884998650468109231276412535012242112052836203393319881273633783548468227793823305448872128125458344592854273254681659776580150698678344998824895628465084024994791339485693336183100703288415131509648353991681437653180857375312486222572332103216438301552538359546942782780377243403677244L,
1501212591659473599992523164360520263209549393710839862099745295855065781372667261303094970803263460771317769601532936526800888127499205801777476585311369057307183689113619019857986043357022464551637007055531799709495659008972117268606702447849813951414023368396400588044397373336053399355594588886493827539127987937811741315958818346584500702902074660623698410307662051310474170738285732733191054904649763286830828207701808226845231362203305573992546265747788153177843098404367756066145390920641815554219213601738963687685971995556389069319739765198498391539818168569252525545070489134487277816028596009483798115433562285735461808617750219742216783054702935246506223624338599943933450855794097933128139773285787762520832038652808242406221143013373625286689920191265542256738594591471470695558079399874976394803762200590327847933719979458580282070076145277253541417124811932075113246269952854563263549133967550435314237886685279372822916382259536588397014233567271003628977980692900854562191931105011906561182345703867391148581240520877654959461776214904812111060199311345690555258298197594950764534246918665384778659307160130041640202777978342519859617917995281990881799623250590810402326645850744755993501033325888702973224004911046208917549653244342864919911327686733293204609712656038064543263965944085852590614761480019602640079795251108317971710534010255456825215484465246229829691619107216132401697425627213116445492961335436314598705881608117377176879946577780233648504414323627294004922172946256718402495575792135946124076444994801421516801912328559490227605145688707894194876081508082496405169295365091233660958491774095488135149035085872566012584777703674559382099689774053998061098582750040944770734193653542918937992080487962830611257249059445957734916441884416323306188721488901591742343470552568236179948452019598993600798687555456104966453554510188587962687644694162612502227237640885379345982705336623721749203386173347377747421897707172851858476120609071932885429457932777571421455334404976244447394480961279308578908231449678404759596162581477630381447046570417062985526143928594524571588514238659058248280335666467631487170398934016359304884421428102846635974153991773368899591776052810284965754979270516968083670926932009398244115759944310048792214056519596710375549304465297093685789233339674115756306611421249674265307965155685107925597692860108531725893217584376100089807960261424050066236668454749797625998537479207660594843606592808423197347305960803844833021451275487133323074897198625777617537673145614113485694471775539613676650792644960775621334708243537449590224783681602681139913235853511199186007992361471110037096048498924643263657174432224566202922225532345054674347417730747138146196053710959807246581939516788885090747151898324064084727854111184538834453682131854813286192331776010225465932965400945274191748593465542132553270919337925070609632620769526243144230189696382664287299156298032532753786729207359193201085300676040721195036973792125463338560510981055463121585234220286155827587923346422044137324703068943426111809607926465268373504125861932370328928998909860997933031871546345249945504987819181683979202887047144863625563902932664238926440861460661423218634388824101929676168024962416633512992073707218126544503607006931109043620654343771956796531990194221302579414894157701203099538975457981197076580575576066890042308574642828586050978967247341940061055862966473493933124965928345584680298901056944991114667376385821574599076025241960865642673287287656698714852343950788866990548905514170874125640623682704342185931508012206327374984737019403265201186764467418509749369981845013203725571730298991699427208298682808431283888253203316120096977115092072906045122220775883687668381257017913830711704778620175479792083029048059095489224509742316300889436415484895516828408152061880215507416631916331844152885047880961811221783316647865152616507515072032426776981697889326660780814021720252574951029237985298311811135146729093500455266288143312214299042507478760270936162967002787135570523535876819178715091038432011451518163196800643404593360707778422557988207764085373003930903883961619360750205193011600105018848248823581770385733611344098899691396962617554167027812641659313314041395897609896181783566508255139288799491536586250426293065116498194646342369921543783513135054440572954874672520052384771015938535161057184384727211149099864118366451741965942847842211463537887154024800131889833019631458757956743490643667229753503310104530856532319852518042130434213600796993232546434346678890947993759040346610386391569320680321008538504081936314414686708256280017870307745071699179497800042709152490999215839082912235287746988670694552825227439637850800422788714629390695713343588696341027983721289743358601638714583192429118725921825797118944437436155069743646143574456384150188189671996388911409903524920119330601658961801810632959408367824061601073605305563791821300229353693889288478976019162216050639087909763975107717721679600130845086744061154377730686842626076355515818842295843641465627865169205640463085781448237077146598532601798187582119532481437332425329783813315278864003216127109344632101633853763421174023953833064527796521314559372236882974535437960814514988753437180515458621046452554980406817725030258530918897404173325172082216970539784217612920211071018105090930485052016057764702234713391550268690892690203761556456721388413552902135085448515033926451515506250485893717481052317141782522381659848462942397874287294353744803907647593621016914257398469634592116377174893699520056322899270841730957442511527352279796997732049426163550927925010450542150028630924669170468625395354484423287510192728176690746731293236386618008837034829004741892789590906730594972365116913467188239347538966798637509790511928080697724798109376735230220663058958803629211789847926133097678369070203658530839173553758143982130325167745579331509418869937313978286783844732841368220211889161382591468892714636231207022905612337359230928456991600585190049987822773207722481986672874947129985571944082020127133318030201952318727729552794941779456947783473856710494312437273564575081101189527552963239712175026225211596410818591922486956603754064618624446647568168591212257352691653384012114338285125577356968911149480439843754811913501949683909955791326417064565926705450208243789466246801149339L,
2527330040429059121242023491966062883954930265558737513807972493730587736838456310466461388530387399069501486984967357831950274841031413268286181856593494438389223247538117097648844158267919499511338675175215543917340733101411914501694196483459383396300181659225051231836286086001907027417316983022130892945039430577565259211473093213381445950624125599742497672391689355819903018105805937874071453221076183177290463970782005327089652791480477334512538449650985667873873299144186701710305349488927721644924516810817699699694125059642530362262817467409784678397062417002771305748535123627693178018314836129969967770625680454203777941257249808161251488639438131641355693144773368229950665476389538981106208388477443949773256146644169045368743806734443871770279116543122462648507874914797239741701002065150680558281972875064344233236461641579893526481865439505170364490395244042750173841646783906436991903917973091764042332764268690043404945321573100309512986328757147384874601104423819477755110234605943713403752491859131639719682896334967761493864795682085052024306834069000807115420147898696854895044144005544119995518977282111408809461176712359247662211867919858985684358166517170817571560727322763894435257632982527515671689941738750489805783424672635012810994105019506044070288938026333164827021982018551467779812096438081683343847556091503414059253630976799135664325388522698097445170996743641691392221217271956603472225721848475776884713679541298048980686325518191498407156575285351286837661210951635348494286028598735700368036534407487887406874252945069699397768078552528042978891757035217941382179000736992172030951310836406457708231917297280819736206389989872883033568452111166267901513427611221197509480066659314782259932711649816094835610119219862257334835561293130141756128373701351253449800677681639598458878288023984506664077584011172370805612228811978870061443634981452577008311302089853328045253809478868727423387340467135580633818464118027387531728990241877655556766000051712808787321095790760472237306671883069133800397477323427839434229157289227016948034483069393092190496349567559363752298751263698116733022941591277280093139848638632956046639738383179485699909511659466949492082635138828155093673868684841631344604771161105478433306490041446402672761011039167490194627283766298663222368218293426264995713440816447839821767706985982124987807351913439630390144192990848679105963911227902224822093803939349484200124161570271521357141002818456364473567691282609617716109318742760279671744696029788441201805863140016262902315388544214567001668617161537356343359198247360201205051957747988593508785979553191943267502841861646345423088564420763984905241472194109129368862546623073993159150289583269849189961575102034434543621353536133960097721640490382189865706458949326813817936149885771102254821984462789185370327707295561961454642729387931961531731275487267887000731614988246428168113130142898861936245350628213785120734579738617809059711680314911121654413813475399689451281302651205548576007050374722296869527172755187055681770960705146035173394560946102927266196948758804430793591204914736655409167623641855271874339904044267685645371568738395100315243330151014957279608800952432900277774714281369867953110251242768719392352946361870929201141296923330718515284695628269205204726343163601699482349532948576593273873192612676498535558178938687431307785305669348321397807666999687833286471938283669583070821935113781381426088115312663907846274584901422881306649995707734468105133950880090516694888896604611595629094755581526064283605558875950927933781177949460085380130805310109920844032023281090073992159682323281895438387276121342466855461778340725490246431027008183159459196847645848981743306863187262775105641866638074122453276249164458675829003696704894787278641297869874622469279114183173563147303939665142810078749114625099557759489669332971305935336476271395022606774097539837694764578539866824557784467724383700955370946315016363655662082865516644536347015959832682386651067064556857092024693138623441863971106692980229409666243346803929801314358187468820971372646573542869761120869122765395835706805990197999627060057980698123700373345799111129599302252552625101722014839777081293577194520606678706280524572628735263386046701442616452061458674495459343830742444335578575052320825792492732437500906263272752650127207827550330810376747279942469283518241169908324380584581757069048780458959181942579143764968722832681892570222304670364284161179772267827006966865748589165094550391103533171896386380546314377392936695201172690891305998564062684848557790613391808210109061007340885999565908424612681980609898241622328699648037796936525865302844889036170870009668795350302963017353282228309703619286504505673876612291105481878646364205064898192905247533375615159574853924906158277400298582169960155035928156398103905195260257907329344232530929271139991747640475543246956172479723345931543689909266402941113497603939156208582137344812906037555738263748965386483764519115149193101223121406315343491021386895931224521214863986478496873038383929062010521178928385999025794517762739486493845558005933863317384131527468540111057602792843996636807094793968443443727966150548252015565862306230013806159014289696690045812298146182497916223607042040677158925588288520779606569609203500559034972117839589237561009624524511173981924247449313561796394676520849354074848438576615307851085253962348007567112120317904696989072739078204659058162208574288221675851648038961691280084862717758121619686704928593617803609121268432329812894445672867340192783213175902296608604423985549646778751057353573487492030090327835174671505670838508235426877545312603618679977990511851364480985421843439890398944874460586275454614262017046300696703506959366693730290517899872033948989200708699122481491898053080463524942405926053962660736337023212603662854778280695555466485424276882447245988905425289281419247886727143581683132432831324115582241554076117972966191920083165294569194568935385263946413156011687197915465722110450492878455271575284395297904218322251675499259720971812598492635276323089591059446207456079441805390496258922586376177228611038714707670551120601487207783653405712037632491792346732762591168678347443333604676690154294575871927604538423427550689407040018091931756120022810019937134355258105688245329721236308946912143377224L,
4254198676198412834816722245235579332365457295886477024335332181914856919143801248190029048421431841217254702251084626752583340556980753302407041384998563190143817789914693389326218340409387294021111811663185387636302885466743733993461733182811802530302979184618842852103167642811000423463439097439546500558912679707776411726462075698412943876097725975515778484163727515568059945325512145020010787579312146591018477492586534539756473752896666590527192957167493084406510908802763187378813952452448895480715391421642217487618769972591665288992173235655517655360615696825565444645535767118414661093421288396107779154490708219407773821311777445896788511086412505918027860555651600796924286522747449113679360290125827623781359817004026419066095365308010332732348315287240769786565998924676111459515714228576088501970917835550489232361272565541453094010378592353958515901475514692503544722296547083747435814913118132249962669178478112936567410230447239933651618337239072634250953527725407952942233261626688567850402356934405346148524496317046009137724835037262580195559372078803819718627726060556839517916850125166605910716701680939766326379191796920305334029482457933076152731990611063377933004817358053760656190801459730315579570084447168531077269263756070126507260032099516062949888156032519586899777473201977681711418281470659444492885365103281787743002128402637644177582950180158073948527504736011397032813392313993917507107155471918914649066930429223568894666546044202452342285968162077306117582015795323034145933891954292879434054144229411489302451143939964327131588669438878250984636532566575531876577518984163390943651403283015499886667614036291653698505405539948295296968356778217531418935168895298879144650847764202243338802871996886432054269372095483112910620207611580890663960609482907103410580439195273017692458267227209831088171824493549605207299346498538322363201641195347036717045086235266706974698212814635420888274480656109286366000617480193428155661769363990320317433102478925911609354936103036143574565444011170467747774048877587559598399564134506540958981308340417159913820725476231068503331096615184848369173743165920532510254208605095431712975470865919818125375932449507687279078133284087890470905697686271924467901510598239911088793362231505365236675233617948663336225868593848829105665572074580268193220382070733034720016782749281398066154255850448100279616677555090086624398623424233683907505187262225068299377973395750416361014448234785292540348797428348709287406949983932103718905655615132963419491159978114729629106978995707610753225139945048935674943536864434523027721517621697451047380587503883614000820832239222619537586617662670483871522807234026293912921862948276464521496156898794007637105634067232758544048913247970739780453482413831621566766196401785137551826533925331652504223011085642569932493484202642173426200083963477984730938847503410855791751944455424795385976314200278683901364605186740442633076900876246956525571473108815484776919979127453745916409389110198705385194043537702712451956841620212786980203067224268244446178319314486582612622453197147327771961049976279790525625039588162955970847555839147591907169521282126029463324729528104570478700920925279225320998118958387338085266665025015076342733363235369246059927518819962294608939231952844231863668403844095672338622289273896930044818285277538427269867961798444362803158035317097792592947340942132135416110091867110528493492732241742194112739242938890507268758476913466597703924817214763529058639091596204726179916190425432447012448623134424549817617348342688231058408780122299387425651449715410155510853430420100958194772073344712319117967690006937120126659081698501358942753381070826110512240135804529776871711614060031665828516254521006955259305455457348258607442993378070861378032055284648031864530315214502255161085947620336580334540492561533916255151975521096544780205362767107137556587004433681327378770427974684804513291791777295646154156561205624712237165636853729628381366184750243707862795080931563707192102687220584313485951647167009467851624500957749093313341602695265272990638298637104152305150252950663658319681380177443714126294191317517694164880024620325311122829549361615956639743385635766324282264776893850136270491651734380619311850398804061062534007614016879792678871251600423201500168063547813540446097370349540523845914167648473043941893454004546204065105802173486010732832663336672358358112139519941204381695682651276573329556941812732252820769365914979823837947467794142119488852459590626626898274490676615451760687068074910964508453543285695941320032479733985399297292792721225170704352136986676511888970899597787931595481565840129605637142041843328678671666027344611121059792730484752434588304866859001141738281408634604785696729172796271667360851847847088903526730491708470366915638887395844376867530826410267385713267936573822987852187918150637337097449344421829919629749114342092236368346076828814773175219866698753893958251950548097911253071751896995305359270739162030002035105890775534514548186324090589056617518009164703733512198450104233206471902131867997346895061728413304758999948414429129617352121124431113486118514085512965238663403425636267596187849082369559811739857268058997560018350220006135001175977795017854159675627664448792917228296844537163751534734438628065333456679766012927270384799827652938869577961135850442767594622385277321159491107690534987985717716440318550345236621556681851521367524402082350224380549762380485250534747392634829640178814379018926116253231730291990366001241275962623411354700205277457678105997947634825321259663694089496900787063506655788005879741121215951660586686980438620009566079661812326284410164878557174637395784604916886596501553584163151678384843098170969330275082546232321126395271796424560011663089197204030919790153319581737844651532080221247793532969417076408424254028760063880352916260934506052885416107378241129235634311381788389964113097807366126140585627610851446331373138850312137544578465467490317138774581073208492996520367566177171853753030240800171525106205721869020130888515433441405221807520145987481260182669240980704740350429596806138244021695557010105665392677223629269465349176546595869891525282529636807153623975633516256069486385071268588693402248413869303989353379514410374674967427027735532325516364485808361897057693312949253784188L,
7159944609228284509134971695887290059413407940859503323775016361940049291295557177964911539626026745422362219692498615779359890429484674166107732709287465469581644383813979680352344460598922119392535404091579860982594037623352052250989287843634220097764969232915406991813300395584106855790278066666271384436586289597200661363868628668743837694698824855559577451392321432701916881236962575255544893009425607828007628607862978074441627297009382224103415075909432794672768565493037463930559634008628873112337376321173482630296938814581613698720918330824006898020248409921739458944504084506005952412299743179797627630264917465363970918915834171699480724887267590830536165162482090107512719365291228823383258491288653518914043365541627441159850694771168123698063579761098399719475027041146522048368330471974205672612317462671854405107755918658869752384066380541990059169434190022018085970111578565809213899402834524238098163644331716869187616173076391505754196677673299449847978348253068089254571764552037539177273790441613617479583488630580246293874218522241884023737575356913462357834746063358012827027275857351573338337612806035823465679997791480237921756253759614297130770138215059424693406699734663080568917119581448727378735848108903507575336931719740986744499473778077391028534927037246862384913780546645336704111540678500245439951569660359610838818670150929095926809073064083601063055826967604700292078824537597162191693677889112205262577762834718809589661133869149695382809700871376700193453257306207630854271187535789242455738758411494806210560870954680926265463767324193096875953955139312820600991494083923639978351445743576183500794491265483469471669082432167360390986236269422994339810131873132068362913395249530670867428250263675651466373361918929156089041070815843531708562088812735734753515309896476709228803290047265797389618749595187733333657566995588966231308743509752366671310111194940230054446951437928552247061343501951070510342278774991937135014724108634593584627200674298142000634460629118068694597859057468398532638734337907822237948804197163270305870374082656419873243653620391096704291622640775699085190158124800165627029050420712656213080031902260401329094818822681499037458516955488552971626770328205885231395218684139466135309506121485817840583456896837841749780902788820252926631663175719021803835549923952946734977709952611192561825185560868199519561797066414832042282374257825954632070776438026261380094229672564452574683287973572997661028956274680688624285161748750518366523613464798774731684994051102123141402644200893280678099661791332167936553236107076140913415959758168002845892151645795817039565513786387002889552328085298759251599408952801006206231333595605807784083054217475513071104330704858875908618130836774720290565244265207147780504715979171910778694178532125342247751549163716342846603038663649625563662360689350942689773592039908792828688898779257324437084956589730429574537611046841849264223301233872337824429150048388230757045071666377228763125530785949794039771657651000974316101617978456405347434966653343611926589611868072248628225551901428827681552440298596145086022123011690948654576416251871177432003834359649708336788824104656443146007041662351732916003669207819136211754113632593683390296938524106719147510231072902707321899073186050276268090138659069831671594467771737588448942126749946889157215695767405929073494063598563708305015778019373770086064093411933495768088976752468920719870808142145496151201656803667261127811744706680764579207282029758224298683476654916993554377714714700004164545345891514051334781654567061136688174666106334135887571139066855099166195269717145432941175919698643526939590358797415982900143179157771283612240589565839578742592370779329335871292490906062983609539460161975328988367942479915356615390519377389121022446132408950820224404079894162854938372669465826717387756912659752004222704114009250740000873467281766881832163220441538888378797852772740132548462668915050231418005017350541283310136454648227744558879904215571093118326750710932781166180507143362569642356539410854059067136240106700113010171372822253273279397091526077109331245551070316281617559090284709140395848234897314504311692853636519928650134465264094282821229399020100871561267319325154633299128729055386600676676341668796662653119419400025788563890596196089534682610221681566726359984127658367720872689373747615052990072214520293721606629724179902880819305271469166738705513512055337757051038702323239373179028970592049010057209415924160231020208849558738878779529327838437213508855623166410641175649047571982207026109525783491471370565506102091696868395832114332728742244021918677928425565843949566456920774334947840083462042893982262820254177301128552804680676128394623299861655148488362814596321697530593654593407451193734000907466841720813752915723755162724372297946438077848278586787476443758565868024629145867793649127080927610347028523656407243474136447437230555206398827900292067337129102538120096048915961850355569829790382397131523703648319855915480128978837524656482781312230015569458475162431483127945022573068127831677432473351269150344341672774568481124068571372330256044487865906299391019776242674087354013791808467338906453893745169793524881137665909132167813424216614164846446224370273701498995796820164318934906226573079440026168180214864594474505592652205633916484985911021949389910404347219271217121228661915201003069178817500761085217177649013869456969049459544376218960737142399934085515306302988493847154037094635737816164601653459878907515623493948403354657813016169696084420444580696578210286177275845607464414865233859815186961236814429275731027757440296898944096825944013435769884750356091938210581252605634035291051920021792984719873891555083173495499760091967491115708914995257342917856164523819582057033008548565320195611402187442886918780113030087874277828434498351034489261019054475208248336083735270971274337535279330259327194870792907785735444185385520847595023835256419539931941952338580960292041066481148879229857231418117919952783659173223821353693930810860151977758735688954112565315332112174802894327141890764487286632519950799698033354213943562618768560852347047076650234447940336226159074460028438885132916974696480376758329121918014459970610364548823623212215462211258390868695981655106528586929622922916364646533133941323678407950518534L,
12048630364172687040237709649733021734689110473815385331438694719870259450817376228445097173815704437406054576474961340233008777052291011252445089556080325657855513931389492254098637551006540605656492778200509720288746460074779617848638004555972338929622518081246266731785088875828017263998642539763158692647795088040108648445217154078585041876087148860264785673811087396086365109045168503013289413068326063932060669850120509545737455280965165928689680218000122575044932159685478569892673291688770097198887520493541241001878928166084030761766389513710539691498004655323782672136920357332788615251425762950282322997575153641715608704674412520315905208155730805688687902934361260535162110704293759555897138767805012593499525317000595985649889371940313010209206787382006807583998859826464486586804081885678851641379672030388627037233335420761839522848651135965877811131502284334817851290192206971819819693838057214428864423069154583866374064714751612876445231358153848291429802548588735613579093412465504452578173914692003916087983421279740294301897381010616252853828037321787227889111592691125393864198433341987674557468223280357712865512037701770714221739922116864539475377325595492121967120555487555312166728060874043888762529608965919200922560788806704079401432628811612727049573746328385186891729846420577952467235476489135771578871600411122805260606447974123073834995546224876825315989492141910373414614255254275498974101842850443259814535102901989537801508535559256772591353647411388817930046493498636072971719448254228745677117453793855457412112688545013344021226149336062536330836871512569893461097762701675544632663150670768264902150253634143647689611775782076285351651461120626151456597828922058054413670157081342912535754217153240380223464169813700728249958220252571596130346175248357187266320927352316737411109578360219808996177456403532614527416990428737561133460379949207011636683138966917839060685270973187355392034133738764991528678612881019017251513070792813877695430653654535945619809725473352065265257430743079068449282737825281360763029182549909570220444507005648454749435767728962006408647435124742269754917228947665935182971853709035564854862520825128678783468198280713682678874926087689365854618299979186674655511021573685787684680906793199726610721719273381457974979746811975394405073746668638384440383250044670650975764326846223754540142875447286606466612871677235656410129787679813044916250639744219101363828969636745691771114434642307998732004270388403568725991324784246114271441690518030622145046268426693658477054562029166762804292291787838966044800592746314602258687849019525252129787189967194162401308538298372426466507275026151266090844933119480224848761700935678934243780888210506135143469182827447101893434067848989575506449029909396139687336286126964622618084345446227661278419083659931547583953043078146851965851006488599492487143585590280315077032969992279014970326257837228023853072665545306342304450223238201761388059667098173015753736002043858571296999102332227400343977444107189937373048530870180750868127197909798869090305959607814358067602594229249926225216380150228684666994083450176439483269746275781387139285195991015029967358411198046586127544845447535417748562520053216289707054192682510919036749225162966388394925248689663349691922599435253035015070792024210163773381289539086576540985665779984233357251285087149229728512718165649715286416444420007313453916860831149903131590450903633590323759071533649896864265866572694962696931074601177062724043727289795033500757004612816368919702976216308405409306823008219058935960516347407790082393426327989816552411719468150567812019215932155757193059937926426291462784561470325492340182450175385517708481961299957439318307009651173951743616159968770421605238448970240526379298762782914105361105945634441496361015818119968664835128740162587498569683590797075470380559205640342843650066770082093924194749047690701668474170510070905470557381226822872109371818451553511217390132160288351810283047629733604124401325532837034190726774301414208929186688627725595025183812471028761796504134736801265956711223903568876713581481652499150717100667177533592639753070504213917356903296814603740244646730449826197008444865686240666874297020255634360180625571583458086772916461810159654196159027884752883565032744807627744377647103845268039565888003375670363626956349771649292899072929050667921772948890872903365957894988576066367848825625662309946971241282127080810001280480271902367394518389288248625456217508067835866987522813260378662865354489089903724585914072296999741632442852234819841502174912401328692021320237846723946036844820852303278365970386765866284204001720692639262960397858819242234354725513711958640740385267630525887017807760832028701060486416416130150894859134379760506881952381444824753414651990489666483435982646558776763534176663794217865904018942304819411023998238716721268875566786236086837097471072561724847353766284529242439767554179071931710761340648259920000646854248002141074804646216715044512338586529379342546320875495373672508145310524261177515519034219689246296625488838006057402793830064033539188013188363028398803966918363898853253405728328604034915489021719041703391099490211342555970149896391754479568526984620079309743504019364268245324856080506712428397101300917908450941017345637790471184353045200659759345994284169632468718471993490246975794747899088283577101461571110729387698153929811549082351881928236642248272356868495314137127004780910555526841551556790638707294781325065688179855855618341718754742242066260076298081559191023789503594398914260825111178381499264420244409337432472819936368629065089218618600157746116976451029894928717927664313891977385273923839724710525726190694396794207445106615514412878833722192570841245161560055332986990407903391594635562326244608291035599422519260934743045953047145198803327334910591308431899775011677169974987915262875086931372437210556402584050433103870257004519872850209441418946314567034122997204330193768779645772380185258565398472929437492808377723301065270272872333422759226013468526097359492378428267227728105391934034174582862759543789481908624160143564449578324173031876176684314170444560739727043266090560296768768177843638564322743821556846909103909910983340175860113538047089097981355323926648236189994777066836571948575342209142754873147157380859733727687660980L,
20272245724901260098187461149210097739618678649803818725773294220232045615949637491608900640037413514082077294274163361054567316684048933515388313640983484057983308910338126324302218401589248650841821112450391512262824754907938588360045789904560076557024549676261871582303100081909166924492375301305521883016742667542133969555277310554694987027676363343336631643864497625097682126217671710724875733028843118106037906644302691512037082157055269505401211253203165133220170483792590701419387799984377172132092180964687307732097013602491956060328268822939125138510161435092331322104550888401876754835087099339386071503238186437523441563399840421558254713572152315055635274223401681742477923354268073819220261364266475136768538671210208103352312887249398269644710304447853183783187020210528289614656187795094816752559627667138818045848427977066231035742356061274694561326992768559033878891962880915533495782899156909710619456665666569806034609712933373663892082505467723354541333654562531637900240825027697505052820541352534218708902525517153941907290419456267906517080693293584067694872086037389105448655070704648854288510393593381078727227281967839894094762657519804476493191822233018876521993837223845851836454037164839200435383173602199320306923457811542356462151152183472824966198544266738630814730638843661661253473768751978183080176288518735810511004456604778562570329701609901758969004087656358948493671016292185851953621447131248528591896234271369604340032321365403962445696371694770283051905292668734491408882095409192137002910564657949758179433359220451690034065511578467207979105806776187133308531772166088407822912779333382254615554759604504706936207310378654292515671642780092122273463740028537708671489111691808540170771487640554478028321397173837839276224486830115387805889976977587712476730281436230100981263893853405061330343633901120404941002259491534736456435880164342948037697207761785897300024370086767291040098285678416977676252399359663333010906351958104399795965991829792821448543196742436321860637107561528790771887307959510620293093247602502611312511041356819978264707312702078014736382186980225071055688668521965524064355139793621133919536875601440263170457603752107995422947709234930412570598692894987235387957198799431604764077766428167851295025022882014361950212363518063101120689525800843964710657765365064500556834344596880643891645176311266591392663167308699658915735661227068675077498091019583391668255332284055671251776383250335183355889629920319363151607441140692337049461100184595996662240021770776834372761111326685817716742808993116936588156959380649740174232507757180967990309465153263336191210327894952434471015154424985594668730528599723375287997200296050366333627221169417984713063971246522117512789731648281847961533422763652898016605842708539486506176543348261080571277976465697507921325537722696500415183881936609943811991243383282258012991598922592772307817721734616208910480746632329840635511965387002521806168086738241664226188248697491531892634872036588619217021062723961859940664564104765430270556835507682029137247961923929343794547607429025556014384643101319429039208373244435888471675396011786325650112656054390603347000815777526382741678242526698958085661147254350483268526487184021774531042626743934324500996968385091062222260264191479989190074692925016325197047820118412230795301153006676556714258690921287568207057215808776334822501154392639513143566813418714713291197558032964072903494303022404807864306284479654295653918331219081233196942120210123179206508754988580210184364828307289029080886254912213354209198006981351905061548188525700126243660651937088317596180736681451266990617471392652944674521878554833580857037957822755567904864062860292695734206350297091936796543618298809122354459803018722754509623972602234120303678817075833008102972771865222619082891958877457898151636772869552363787574101947252689373281577344495936986805094283241336723271741338047198539144820519381402720526528496692975380217250957530210097369135451061506352120103116697671960094322919966049685078039514938096958193308450655062179587551519729790367297158449456262097542969957836152814043447366352568714173333743471660669285303153422772420427514308733131283104526550188308093051686943134299453642940391388547037828576245466698784504303855101596071057615202670880035654888959084518634704817645952381211912880345128673242258966801414467581575642189183311938347843648015544571691122473881791723363984006743201790303357813955570662524610070508972641611448287972796543258645740073333874125499216218609315804795050535950166252634664641763175553853228515563075208764565012543269477738816273649119371086332268079949929398246664352198281900228673077484226243577348053856897008632901176131803001070376224352951265052014843722667011570583361632233135678910574565549335753825057729157399646729922222917740787645802159073118914069288989473593800857025715362638147093098657119001152501593112389390573399708702581784056441123957288896602907429859042987251137422404916842666039352445722028329454046532746335826806274232258442871349381046465998685781784128096237978552504524601721576789576979269968006360736687581736168044940128061863129830441084549366684698713261172964347552147685365089146858122468644678005579097618193806842100642889153197159440059456621253906080053417717385547587249411184782761916575465407965913508787854097909411754776427139430703963617729701477175056861349679006682638505760720871200392068640531196627194116262222527370633304766388786897936590066223710668203487734372591413039008416872049508818065387586266194497244327085026196227562279647841898370997576098806248313729510991816934327650081732485212214270987019160733445758638956789980548676365977740685164671061730300181554574192082903577159879389991830894181001309181391587495474591471647967805405021181336912983810634198123608354077912165903126705002259077094012309086074507379174664356142431038632405503567566376974815076186401969522214090446637862475530893871573130494791221469171708780965903293625922940660643839468384730998901467011500731678671176032963958074372828906807172228808698794701988867305702921303274506908428392666102407518135565027081865313042458385618598002922785315064939687071627723488103089967489432729736314007209072500895175247338720948899322234113167001744514192058308909309906469136963167366607919984685516019011585L,
34103758396948851463017515593429176241795914666127607723295211887113656680838550707740126278158504728477019779421364658164472297918990096780132597557896632267368944627697631833227556526654688053989012401173086499921442927944722656698122105624476692068994456387504128608525234811649550821493461321394441311637424021723604561085780535625400138777023915671930143150365250129933216694412649010081029848778775656264260525832092534972091092715969373180640479129531890274647484006857107080579452182972564793485647569303010600964569961622621308381028003918316722519555801015854793756221599377735509429284365629275606216700004650990064736379945539776988824878526779138085274425649269401539323609836341333214571353563563450596260923714580108061359203908055259018616428971793987488788770224921848469173180298910563077606324795620427598085488536833210453116197127349529133637310699940872910745203145019727821532651653878035168743416830030217538585998585867736681100121624016227412376963695429015017115251567887348850607830679814869077781577856828532967382107152993942698718731056524295324740350857661328527718681343822203542197995733813920936952269721065724110128572253756679275265796728389258859176019665363981509763088463372197561941616405394370511298376431771429936236086185924983739814951685598817431835366119398767310079334619815281260218330375907400214143849669894874540078351684517785359825442661402233412132110273798220096737063601995924550642090600289492740677996805794039612346104512981085187998794971961721118640374926950218775535460053005643479580270226172301892233566609051856313234832986726435592384651345139500097836456308704796367292596563894073836579512941331861766877674284885843240463819572182892194304996457092302934027362712690109096387340513829664429592768619563338283824045534615349421175601997540283339805307300870000636471706962826725164727934542552530587701147138768066158332235795850299370930774083476862883021133824589280830258557379123356921771545165136413333607262739609455640490035377362352548700329614280637919408960209336002900759884446582537294870370500402383703639425529748638814282299588808650081369575174358314576942768227810580355731215044138651360032184336826669870142822619588930834018182431602630136720695350069318230712851890369184305186339201135385454509867797450907868181464964689481646769080610925874479727808133471551932424884892644360621667767566160002375856023835305361418062156914361427642666831286938953856349071912151136413147524057005385972076486266826035662552273013040464827472563106815199135475450823716387878419633491441736093642519782655124452048919274253218468867026267085058009997189357009774723879268695135464729513005046579366509477329977694287212706209301264043567808094709640956663349028761206185652206622591785422331370176879436922091734604262642367817404438894179203444887092277443967844602269432773044390729419047033862185496723179472953869966389124696780827931850328715601124189568538563988019323513107242843660043667520226927587502644540945135842039927617942523192687139451820745698968735129723798056286615013758009466575377992940675230860892879422200845604210105998306945412360273757623521293563630038592480633514261082328306973983180948218166648670446052335908771022231644009809038513433947670028461150076781932163560135046635746673804217113623334732953263245053565484364908076194611381580075914972275586152302035902292422843817092765442120882719475238109535805950512793416067044368878580681642693475939260625653117440504592566202148847635949247256808088359745137749194999844629075443453994836383386172224984761055308315246304161209592624144844996788285744173709238852640786915328003887172104508165268068227923426968397438682132528851662453367959413964596406394124744025024044447333556648622679505661499924078414166199275019022515899047506009612588120470347411896635056755817461889682001912666866652376079138323017063823355599327633213682852969615865305568092455143166262284117208747952913312663649714633856083106350859563542063323623892955653687272849303395346982522706944377549184282257848456697750404720825501910561208154781451610981310601134835930838572368618198761281147004395676316984927424205809345725933328318437757497348435781379841492714231195340184502494208087935984259562641811830693215078460334257168548028957121639254766572544337619742640172042941528472573405432148244606386816042700124335224954566245608446877906073483757514519639798489512067791293027516395019987911555059524791912725803974434288793137481748611320873334904910826531303625883498003461643663453849940756254753130813759788007034607373839026534250972775505745753226330052260000561717352456234213063110669645927938968595884384736317074061219522915643697112209696562116740869216028793016300466425117098177745296232260896136067335586851142646561369129832952175222807179754370426925180978851932636654599736464355327224251857384867705723674511076601036188225566892538676806251805133247998101423179600290350777839483932399628700933423612114157777139487078699508385590460317835172571777201093649620689175002170064503781273859116098790676232622293255754736763284121837197921327400673178625768771033533434925616871906652935751942733553996438192506233668569331246556195168862947573557184657532057873775632133682593153719139720217582383363907161911943960723081415023402643869194745711801953042539747130856591744954879658272891291166799478916979181706027927799607446786816067117012748730997790311250985752105037716044955036659247783707052742035370313221878667961083103262861993890371117945203951969591173736813060310923187883492261129073044213113314111536547312028942174144444368414967501049883620325176490978038478748531583505888301382842536990299234491665922797250531023528194659681896668865172859093317394739214545240244767488332272847985672260392936845111196182787119858220593085115419648541524657067458659869726398713009041358354048792042927221737779171651546531180382535671635414518339996800033687745634900370899941928403802907645927344257897225683590783983753205693112125326902509096158888881673220842876756490326578284766342440417832209230331610638104862806364396567797925708444690832324727425923196531671843030113688088637739006804873004211440576501860453987046295261071571291939036071279792388831388873910517878503140389776568777089693088441236280908997015752758567324980344015283533421884441177234341L,
57363925450039046447668831066486677064414646394645211497558871952350964033607812557997907566363499051481761577120799697411787154833210688638832875740525009370707298755923443060119205806991011986866635551913728162717565467375692136602599179874732939512379515320952394889475469508227480362241959100025078036064256467426375976386611023736311833442775081012417357185515558412035729125046693031997307963613997810686126518422002896430452920581197163292879031945500172333357546813203213541891651713519670477073361258088189109571015089816993953402079226557951324033494273911980951477758154591378462668472692643970183976708201766632928004187048911866893492886957123891607006924369116464584959060849944529853581483543879324256323937909805097287621149229934775768283594988832732726466611613815559187122135338690377608984306971152478269749499372113917430720297393102298383595327115413816699529473981274086966803617474262350064868221709010532803173777647024550950597653852052338785901497324613250813865006811217627972738592875930827108875312281928017411671240521326663627576619687653598950888334492109087116799860462318753293614126608624445864660891276644742767467488533053522119650310049766347928117727478890547302560327190527374409216852100178349993049661744379273587847454496859475318412334867142459298318743541716000918182966546485534973404036159484394861510891565335531078962830552901257868858640741162823170989330193627172351818074565471693626109458531664917941427535107925120913566732407143962589133735556809984941408782117646174868487719288211929127877679088721733283399666898118209188816989794152391771050392373973905120602991341335083754730410791166718878059155924380233787976294345427592353696538375716668813185793694056639547798217963478434906568895075433010600426331446258767021130916255423232579025301455640187176940909219555712716759819172035343365491991290792026429310381200445845516436690601036554270982844384778981882932638176093229624031317580358565993066891917820319649063943073066469483478664960010561687502541815099589408881830728532953805673925010799560058115332279464072238167442220261719091792420644861133543904807587146321783409798254503878628277026078704293853280943083775018488279389586252838231624008611416373984046462473523001323364079175775997821641028118990225775284313213337492717383335889199293802012582395573321343704466250535797423679961060330390670112226380724978951424580541368658211095353265272470286110539588041185893657940151646387932996733673558952034726317892101891830214794676916536160591684772015669417535513013907383954751749741486153828650036479608989635082020314588124854216940110191102148662194779808642731746504510901590753392367110994235386882298259587919848168205513672843304005176761814917525245485574050627854660268754916941219042003092818653454628051487000740787460746606898309698349159621772063353207377100558935480222206172253615806141418607933005328583680146582231997298357113243897073171950835468300735445062749526276633330781139741016489298592073888993546887087220486985214299878678779487655545532853466485486141032383912184150769711971451306303814672357928911264394823653629471718754688804804459523619061661459308245951409738898996617003110578036586300671911271909288542275791572757695989624604789670608587954264358666186477093863919419258330185216182036212827559668108511313068868336335652955338186339933070587302148536678081647442705064567216109035123803197329500763099039901880931725121986112499954009876127227316148520815127603756215185133094487773101169343647678224829468039409128166570075130735063795171350140483547673531210854520904909727795346138711026946623482897861456123642380696038836971517344343279318887441526713951227692163896295573847570323986774138205331827523481647172668934753154451042847268454303425420780302615707590406576125688586777436909083290311415053545032563355637833566829298900793266415069137186156015070977995088927643321618145500095056689461062639060294346005328398727186549793829829958900776165559699189909294739632558455746097563031646278980619604793522802259528171864284886072872542569487959360680349146005697662276969067362495779460187469362673793526134571341370017207835424959229497585166808676129329925955704262323965126463109157480997149886030694554631283160468778660628350874599104364940521323766838482610170533358632830384335615039342830223404649589660575161167239446875182383595115841286518990027372794719100353394353385473440589589717580449580011374387750967278144991656559031060375523134038735707824978100787415739124955843838169885396897924384605457591123939233625448914120116064202455157306131005892853861635587885018406093886946003509060093839097375305910573383228114258520201295451789391474255408158578961910274843069222626599047724397025872936796872584848448708807031297818448268633589634169096776162311109332730054297893081000997037960748161168480384238798308394929872580633311244704611181634695917543913770870216857987581644754122429164720542389839907455784358972025368058209725812459356550789806304414866177603665126200901604883265915689821334928303298795252625055691408565554279952986155328048846268429745889495663672885713676860190260207964087927341149719800120129010513040273133882627511827995062975220626731087316448381168734716479721777748053529719311857548054862927095468484609985368904752039188649411769828587931780537780844048179771178212305855311919416934804138681097438271647336337760336355728913274338593776701528912205030836508880836980521473387684880595044089996727104884284389162749685937184735680930238223716491107986331046387354097444273415669712001743075173275253627229467063932009959898941578355454743563683914956296133675170775057687343237615550979246908970835745890552783547996382169432550323714765495961340436076272539353093823787819129513299607069823569543028070564523726941739673384680736512754329421471723016960072586937206664033758501420733825495839560038236833713489677305352372294820188561779190808232530444666413075594083758281048217826441368966392368739362761241094198084180082636140742521459509406973538493830081788682150038328026485018947116432868332095786620253084369974000827432444999326507471272224039077941267845292966047029605689619866359631247792623970851013214858924555130956277383557969500087421987375385312636756497830468546867111209171519900586478143909418750317524629727783146690296285786463453L,
96474327341317000326201808306196445507482453263860055436221083324352515225426298048934277419081307111561652283232796445404937093703486551929243429567220262429872071795740019112283291588050290892902597221960143939873137929631955188651415343703693217169476024194195395625399908738403892245659543693703250553447411569317307982655633634003911727307133870378276479513494984050279584232567765854723377864491613090873769286456654335526701991424560970527230588872813858245051596255358230966636221197837669639292404298410031496266259863584304180095963785326295646989672331561121104378884185431225374963317731061005045344281232345985706427133120821258747832179170397401918214777921213476178348607257482435117246086764007720580453890036589802565222936149034693382603114580416037235455157532784454160754452811595949067846124302362127590942959655755312703653635382482401101702675141085888972017864558068511497827074207186468259113672602030694762644731320536035107847387662333810799165019235740605812174726124486178957728767405228810289119586267051248927065328348310443752146320130351671313164963651910814202665952992863912772652731669938446250100095960452463612496580933467653310479696466785684076610288458560801279590205345420077595214000416144410566108171531425070179445881312960811960611776711989120746574763708547567692714440494163457207047896182886612939636312716294088463875079736835672797054325051028126912172212380669583938314871586355443196643895570125008176548064178061915482003502576358625416936513544146523583792203664996142933711836161067798170136534658127988110901581697056442539351206844006410327975708859088898804660289137247120265270604430252036143189040687508759896561526110270387135006708205588259293860837930492381555770332994456912702283784063620451563362371452265862007591290755556858231129916670575912804301472541778994383247643442604630003027587022081726492368471792761847395501370740354384933882896234237238081907846625398011811552089092529195362748001837481984175156432213781124924256648864424702355255484200929434481990522882866233629976661655793777009205011365145345272921787839948374282630960989719625681359632735020019503661981344307008374376927098388791925900414592846325595144086856664404006103094203589982416016101974520669148177077872497837443190577979300702052155306132153589157925290514637598114521452916497333175915029959969275078168624934248619478941427214811468587184473440153189639956185499176699249191191207345553199816895206718437215967171923800010357400153914477124005158321119147376424515841392344910339966533322962024894434108111932959542212524721260988437276193603581874109245854363378890126770006358611142390347057555287250221993448176529179895383045993067433387540309172704363400468121572211208163725673454771542441633679547352320078985292714881443420748408196936213899640536620147690439505653670568684392886813267406002977563215974923961214738849159622158276520482722987134383142636596589826902950172400916699560466271214840710366170917031949118532812846017459270348084887831311394329641771001259581616586876797784808073424830174877177714258560420309709038327258355118354827006555375937115479206292264393488318909567065271489050811140021793683501557858815891090054741547247239218768606779412874260854262657200577207409192452225788138847654010653526828011160342370486289101603705654688591727651213264183592538418587185078145644190831359736990221120043308456499647481270896270737812632161082774759070045741142273607463909666520894786921692161296164559277978843161112036753554638249222956128588103971259343346902778236161873050450886415281634756486408338175346579223822150133115917755315062398084962084795026582805142966566095145458655411672908477507976086161729157608579998269738237445499638397292090974630133937659543280599850157603104762655411991154535588360583211195680354442640156280385571559747075068362391485628097605787932867739561614294828323975212803543808245184124284608384014162599461717189508121065726203951546272648326624818515360635657545272628781662898496303605910874035303989658718597674017233085401823516412075232563388199374820499764866287309085968308911324540231694502729327182813284091951331960552086654808113876059078183296337646495387982370084316357220827595749377124706317737767340272482053291255907895053839146643616792246313949483632702471529119913692378578380188679275590902433857889365255018975154495789908445010664898928805571302865229599634186351285836735987680815272469596141889773198822324008247870952191434702102468791729525230627320496899233242181712530513076278580344968160131972836558256454444831249706345489582943085288166648508353028063050992843856048720470903175364339551611490413590732343308563244700338153840977267578770366896447061791699526008581745818783012514918769831733834664597205174232238970892461764287427983411136540541870116399151688061472926642512877768109695641710427067937886600876891478340315859805336482149818669983778816062906357403637650131553838304248715493100678629969460479330360114500878054374907830805893539605072653678965139926916119221395766501892087647276671627216428887157177282958491870351660928192195263354673633686010527777651769626895306528675280339086858578053794198664587765066806339602004714434359514709558353283301497454624676416387795474329258083199292384785886838849156748709404112731261131270847029064492760009043147568410707281057175596010992430183334100644976049482248053503891898125663505580259596015116388259594888025307327639475453410947013348612721843728453053208650123192114468170643851194701907581889582293604231741071639293821655597311700178336644652390552424044336426300976469158441489363696969026540814724128592515793243618220529172650395333836133644420326354666161890367670660734495084142354286545607762414349097915336726241403634963404885332838854043862429736657726100495229572713525292828442016845550289304861211002167143715994005627338850872848607587302892784451010264103333412526322356221019657297239973888854233401680390078136313420897503035892209020871491736984378367068938453744091340652114290836575328577712488834664326807204956021597289162163119317056613735947873665005157920626221639946024722828085117778413637993379863837463768112920885119674815107315470498382961103271030264063780386830135076946981009478505580244132503650511082061670078586641051228605668971208097147427313851689094002720198734895816L,
162226190666607656345445228453888074821831975723394512607354814904742103072736047726338808807244720833299164632848819047931142632406839157897830502650574302751454660060801855292999199480818174728143670425358672164086181736532774113117502594126858564784483379024402813293714713575368118511490236706513234758217248717017270743996885780443923059775455096452897148944911770490188720949283058991209706371964986414863351990852459409064923373924440207261591393485196529131474382194431550362030862928777500192372356512885328425044131896598770364705086813035165325631753784296459159078499956579521572876155903328075403938452646155191231440642469963428965869493241164644529231154537160023679510584457814585095878807052882862112753463633267059767537321705476808536205742142129683684254686810694421454663631137650128619272686344476375800413044582193092141388872309867181583564100861077981235655753663533927609397892265665179786572807804111150813177709806170455378892389961654460071848276699147873041080045001288574075794772465252241678174936922978338661223513780142301193986197714879206770884188430255448164944774771891309933987860566766699715468018158015765311108186843889897223346707214518569691564413188117712949756026963466248933409577343033807753395571737023182282721932778244064983870942838687187559250273751980642998167075708521922156331833580208758285325513307077301229753222153316637036799504645611595116544379326952122018383276368760700918137664235011325041168255028024535122689403849625498259067103073869973695702382599549957849898345752752844966798184553512898707209872327334831574290569350279228762414692767714852599788973644442037513404667867268157445889265778889512671485461845388129921235047244898217087259962451600816512204636516268839581849449453578213585291172953260217580288107528139232587299085566030479220916097026788188843928359883675326740773851369298015425264473877225300947333664136870168732189680036028065170007809524104343263428211218695749337836246269152748872147630371575812362866160045674962937600025715899460669891672682130352147036601138050778950062193623901105613492471609993360752631459932911102192202024756462575571708031038517417709323924855571854219478277559395682553714141188398713158432680786719494799357397885288756121750616255240373570689283994815469299183514216710378531647253783606458683553694091973641786107368238768550302106429383170630679221270034786962830599921245547931523702164350920810393988471107342159705510664776421518222308637277549468210095779622596452111858659357760624355572701309064862920524863612111335091204432577788747041835219512532590429949010529114239231476572025757483771630725460924264058089034077263071703300075841017175401625978447977083641421388748712577632005880110315307722503466130573569692755527440877494139193136726544060138631512054341983215489272275124089534446900525320149955526699746234088072635558164904688016266838398199676856789960950600781818848110338638514059670124663534941420496200236635020193130655778830620114937415247449831697089557187287267428566687467728426469531417138634936709901072532066191758584146040424623832916588595153972581535241285282742991892389185548511473777628345003917996071660657441143252731590493796003603456873677244512438876860909622019539364017031417197425626558350651399722620354518785257458251659112693519761974869991511970648810227643134252945238553273942399007254189382535073105101900895862225801980099555770660535284453212408047704872500707101106836721687917755975729036714357339415463911452915641225707542752493791709846002717900441644557847781541149471578488170219101772639991115914957422681222403190622825441161113588433481833806134454935234558030345403991634725193566139241648682413063949026389031690032825251905464578141080926628184936388059127805685329315017879051094188094163107047799179559576466580910800520114521274558092494480077282388703281051994936079752938233096436966914835841903599189135754887589163745876628616522399150038699344013328657813654848546157897746386203932335249892544565325661940923631977560254525885471059572479885880561080037613325653568838426678715571398735243471957722426054283418630148200412026908668483563965473975320387452222319507778009205777172209784027277879613065235156705295233494785748366919299377366464620786157043126010884301290894857790884989361955402311056390065953583160140769935469783740486337347917309143790580360821358905625380418800932415871202175685581247664323383807111585444548241072507457223150552067146949841523681274597253315987506874339015569783167509939489505217087827131696910731718779579933868532264252159275091296967038283460393633180138820074021812983335496530458422496359623797698126386633830306628859174554272662084215524631949033112378276350436135300923286632692411338387472493159426378685893763935425678394494640656985945495825783459558817440415656216191028174810228903288700682456038084393442137784964487831921955356085430480925245809510179833870522846140347612031223888289277860724736029433479899904369993725246401886063217832366245729859582405944729623652882182059530533780331373033211192489276877065987162493620084419612211269668582416789537245128081497205376486900889206679767095681393190457534207520718415478479991561196270665204265567939135670831173792607244622215645441488188652159585755957570906118197879868981276772986304626691844291840139483804132792178291467340424686998221237035904887620173486168297678525885838739783709659051242855962482815366942156654610332597302587635675682939551375376660175120969673883322165057873919313515697709301879428836224035321420471971487705660534889383897898294659138490328675467800892120702392378308497587882364626721122162120543777179870374931915988656961728798865003300208783812474436453035239349872077010561577057173671605081654975833943014363507396763766190778698557792199518149931429130370404904695414172961990204038551270432409723444421644569863270680273704964986907302013200781115388077856189546610653788827864447506688476096611030409747779865233474176268288542910856646562800428779698585461089685323355454983750140331494826252583217619546872594149016189500425843608943665003300763310404167112186104262371385955759501053900313671779892983784216409241407180634428740028763962962965337571756301386065416342469945892266049032226269621445984186600899879918647670284306688493153941155235659100638599278082021566942495010L,
272751114801277520809109198952342085619425281107260104175837379250475020560295727895790317739622056796048338045085652776757640650407941312996495021867710772754932215031764964840684739446217964999788633145946221466191644084605726844141542054433250538868652546006789628577770398660785187229125732986685541290320500780499324219202309465162412879363544873621453793268356436010096308938336070671653441630584205369010269999107171667365689883757030328857020685063326508570705171272087874257173314269837130131284430097279476040178925341446666115449839122715560144276198817261568994745673202385440382573508296257052295762247536141572721020525343246813151763352369995921021486887769735340680269495795100041026881804630967191368631937613216288693086209066406258745096081011948340767297300376405369745950075680897939947040614866939699506189164123742380915007704843941849178243972989353439013046695560722490185982785437665052921387536925736183646072192904875854249036895499479661158259132306017514627609746113358583399717011378992880030711257361083122619200965856380663460148879273699836637761341568400945459058110441921945920386416712396389720803006274192891606075785341723463307297087459624814639840418703176726369389825788236037222271275385866264118375041887368485362804129252989552383362680955393529420836239256538045288956529252534133879338224320116154105001483908021809202062449234506897563191843531405212408865924012342847474474222906708302049220989541046509112020772740632483160925118623325038718120505972237811651086633921260285236040616405134517067544729311635997547921378187191268515002366495085972519936525357580157870092570358597995079160014616761859541395546301491903246009815959044758111501539205395846669552644797375022330293187209868821600355370300708879031392419108392467033388131439658110345542455970415880351286492816260281491205873019945337869484840302158888452045851748196490818069286367061550213100416145330073251953572435526988263029156607410759888581171281986932021543717307917251050795097567068930141540359301445726374410381810612262610786889638758051302795489227447070207631774504728374348533093517485603182763343518300682698481608672545483857085376459811260536438865927387671494409676886883688524159556003367539752085767213832115075542570882313109334688682354829215785207138609403479725307977587902414128622919890063952188186013229408642323246529288199834921532679243654532786488841326409438519566419866018793814957714883660439493082575276059325137194285945128226616519900877217863037517195877230515062502206114976681444565451492500677704563056265260960835440483101213749390420651026221985322536572008460574801646242686256573577962893726170491309679951666820170297527376361775719418894239025850220147240336638281936874303645498365260141624729380520949058626866872947587708411023760678681706720282918261635292285946148057629140618596613672652909534952118875088862273425502172047265132071034420403643344339931998671978808377894210294833592518050856756653648521974033915801306075812046557395741398201137187985178574683971809592449450494482602190422716200286824941317026198881121053233691859483233093502174418467175555392193894662239525772042887068176882134544761760698612528718873379318035496476814555456009392956103358431958222903157210478761049834750978244142497332004600095522925725087917827400114124332777544610480205055412406549260372074578614524391522877379359183902903975038900576403121022379090272327476629137224921800929105627511453880745421604475465232535064431938488605993340900913885869704757681139902283639257483032130204291909324697449170699210078202669120820409545165996715658274499583018425197490912985665896121234732736582593151198659251757612436215533711753111889983319822446957502790101203233511314847829654229456767880347603680321020309077820586704328465914028332331712795978713675623975550273039889092282209759330379401963330110199122359581221603662452160100924280416872042767188580145443736385584968937818204888101233615623114383973513151908053763770869197761484868731318402007630827073798669825686444640665821443605988125389090471587974910967188090059011580259305859480410870161750901613722304255096231625438899949061534173635198590266813691404042280284617370668481469089122552051090357201858417372219996003443871813843376957201637206731177331699379236340571776446664681227029649628593963414459264845146931879278439708586302860118060591719506965955225690077408453480006906259065645554922582335819347696179706522413962837879522493381088215142617328519031415750092716556224654944585213998521741936065511317502214436214450945785456107556653148277862830172995980321129290314901705047019380159182014074265611030721137105529705483912815702173928306148630649575492534994507340935514889363056819826054224788536402675203573420001210771750504706594220719985020173672279149847178129484619980661814108006447547988259627661461112662598881645744544018390631845709341973301660825198950979365722930285668788426524416075975626015608464208560339933774461601500238796313195222136088085769888174845393539218817035064687489516312377305092387991720168060690443142544370359070111964461162559269553566770923542141503043842544719058717054141575149972529449687785158036769450640069214765459571381437611311283733438547849374720775988937376040614924170776052055807330385979074666054777966271755073697036710165506994256958905829897080422400228386345117754470595614051695642974252813326999829959712916968468821720485341160500533744427748540833178853684860519294706419336397217773929736607157229952164784236168878121113991669187344528040567068238520039666984703270810365976973571729685609272007078911315730439778409134883145947519774001108434998974444167577758489108628889590497511534508595427527563698309282637886137852019719893420812470723226717634352232550786232772753046125776898265290734617537808710555248547100644961087169099669243739390280886488287712115371638882756372070579464604459142721569810990923266620561564498145553366226575261434711826101829271716337901838242905015842192511660354590192321883645099834788539303709137489456107523240250506265446563564048185739444255443614465386291749145660788812793012311479471660746475119992387832270553726146859094886075167749347391284117905415150417252742997484732104783112276874853637626003595604964157977736865968358871801544421948910040307120707406655537213684269439500425686814L,
458509659088363089188693436894325937358126389170490352470078959160082423872892561177264601411781741033920872274069351631963207747259226901228389948279818942772806581210751040810021909957793442511146793218396293927907176345377444798020435193635362886680184763154897727347845522499583407949894974318317517671594607497599582220455815722664878338565708588590493453091905956727147458446858240708775143952385528083682869192070997574166471460899594583132929458142958929133659655602269073343474846011476506559552366957551218083690102113104814797043668221403030858491544935577793235910116326283490532737131095052480088163485891957442441461128806798203217579500888247636695459046132569416836994059052744675920801682944035196876980329295888025403935993480404221466420099027972853526059664296004305829453119587793968054708727900214102410434750049296519089140937173895665368777773211530903195909053877563907870937643639452856069083595303742709369106283449227526844685703273306625509298154738269406293006802182406338098523847521016735216285606872043957080012839494496940856120858421818535869271655867453048821884163442648220753795463500261941286001919157307585874848811202751897890374018380727143090740620095887540964103996599213292166699420865177139049131017054089836257656287980862985772913820711846077393634687092392123231572623727547317895430042904560741323690361388111483532696479179435203142490229200786718604186943038759020457392844102566867247224309999690224423551992273909553344641378892259230483154869950987105931047498982616456244552965283894411902740650677826465275619296548294696819284564197095661003177855097641227864598680516176739106932452396333334182139890170117800017008499557170823894975387878360646149672414090231640822776440692410967976497582720568796029820781866601497351211558068796738405661807053275771922452630159879968134605110531460670011101113022361066729469086823635817184462318894848786563814634382696413460216900644438077143589301320216227387587859035423486406372970425654102093112516814572710255842943926957439080855009146931049374792812001482210728339641690491773219171169229319874486447512514965406052771654516766948979498247147240145699963468987840345507544871979334212044548178159174523809917335048079580296126133497075487661124250242023210748411957380676817407305881377205158651977740847430706956759500801002125465335744839653516384168376725718236233321400283085018543957953600957778959089442482625793425642674419243064766317847737386799491940709826035798325805183729457002122138747782627352550937834680849026864033391784653253003917833075007529700537251480836333737227419772213072765567272625832568974471371128606345478995837724695016074788224179205068700583031616060713154367650530957821492831766133293779947440338514394730814132324042598093133239814070347919114751036918001911151950013706106397566719400167302075469666985584844424643458177356599382133976059854696487393895681713611762907741938392395585861710118690562810443675206724482748756398710888132008007883091369616444675348018677605944053530172866250533369397732982584371643867970509740264836969142934398587992490435220462217283380951654873624591615085785119491256671250595817701942575649147883144386275315682817924108829578343489108472234786433903800672619672947626904249872886307736064156538596013544573370864961371325880501186791669076366831988617894440311271747267461345688116459485268650663470136509283669068503158530683267034960651864098738190111363123388649926371586446205781583509088092975644696718925894681917076958765810446049476939874183094627621639028064485812619508128535086183636136091551274496306567743096230886270447348288315635395646100622886942119529421492680518375723321335361490845258594995546739253717261771580401709335379570693006776044692716064458400109867804956383458373807679564463807937729468379052157854140399905608669750850967859639100696402623775668995424819509991695263984872835941472119404966426874734576644173729878975409199840089946918637731436041638677471785625579358508883766513113306549263689739080185423590331783886304127155812375005965201436350482107788744000895199960945243214800382767163641794700533572367391400539708184947423208388811154038377666615030076814394124648529159076289168889227040759077819895654096607416679022726589394312970712726495296917038627945971301969169244207885171724684622517631943925573291192713984984665417454626934728550542224641444912954045059005149839370435520174486989885169730810658791609553864046181105680471403559906579871990407697313700889463834607486800859232916577072128660169275937439542430418539080809574672532172660240734458941124576243880692323455083162861188768796579621242158461962738994777861943886738225002043120654468481692413904713870730583073953286708631779971271620044832863529737953769041546290598383620335801743477394486363535062655865915303335821968176978409766766702137954742813552084929374386958509338941380124461823025368556905037082127874431761329610173525793711593066568755838963755955747928395134900434435341225911239136292613740069501395763580974504387081465918590849777012405166203356265669252130565668365056206285595637320483515952361815275376339830677643961110334779168070650962860543045644587038111865855595931185982421328223731271403329941070330746060336796072455114996841210342140207049411799109856852047011387891036392271376629289106567822905476137160305169905344185792181150968613566842311237992884888200757368536886053961598588135157125216405798540735378156647806764252562074915152487620739440439529893176909249755226393915624432212731878657985507017526974520284082976455872339542451458943734883245609098929735529820746480316281468492448830385939806193356014043693639267784159892175810639516577989492490585852650749057786434005269892564936529512091789870361920289162880659058814606445877527566486216677129416044820622263952273360494687615267894888882088952576763004364496628526697939091390315223541241301609135902757644157868343832997030177785157872405516286364743258245859067246845202143578277656320112606832321872845702706726784942838222494035448999778127221383517407742191822504812821459911922277953833672722079248497360129412637515530910065088491193953934474856411166008797378963691981151027115819726245133407098177522966692570655996046775665550282193178978082217155535362799158437165024281401388506976564904319095016553220508889558958902464938L,
770667194589053585121525821322954953352248107859781402497145075827601382118341065476468794574226136169386308598805662531643552937808846571571952166634197787104650041950881792690970881984419361819967669848654108421692132567344336352191741938570247020936712821260998455322354267363212681609102597602490990490119184175749671649288626227811105945465168407773667987458302257247381968529639753046219893138069164797022490254953537474255637060487123866857107403583032991867603879110948796812342557154102415798923497495922631052206582849255856251424080861134055077531293289341779337055254367241663900178425167349794081886230902618262322947412118899592896970307472168396694312911120595209070001017982419487888045780463062214863572477028132097841597949428809386450198794571004878810826762165494764242979048042528616238130470756991880054539487429573882566047561559724642481398990343427253154204394791575314150333504631455767925432078650449874026628198886509162509557715212231651214170788917166822207331609793647697573654935562510664698270666302338017656635314193444333799306547238268034001811383075181078185659129699272527142647147462879606254262604512497536405062906086583545821390733894705441007580778106041936225430890785099593954740308460774599436145917789525751525359733386968095518311485727824009583343755814286937908611598143397239025610251840581445537137669672714962477467485441258443245996097116892044826524216414070189104096911399293676117106420380919508978044414294516280342798072137702621819094326724930059474090963823115404353625657843057737116742343648499087322426240725436806185654690050740145983608440658027840688874039195307945441818990961180911690204794099551251425466052474375770422806077813350217336439544248555397156939363798136228704843778302515542541249518141299153501612932501111314238671112298258430026072776535225258384403137757760033707045377189096167580110992993337597723349796226928039154404219004928048646745384251255549893574997470564817778018537865548885651623385859929346966641684001713454444731005993258420974266920107493003025728474465126616892196412632014481914474842853568313796995091556766749256508895186226127376199858668275371233594028693465301161520928921163182119185175343679720610952751176803887331470061920598423708874297435722998038254925272462296419082792157472651300954352063635201529308048509762041558117297174356460927342650999215804450939511987081282611924938936917553909696859917562139514416370085979921398673477148418411310273308972953259674517623660273986115232417151456195811342175255398061034976146171571057443089345258962584826270708178268344607559049004177067227345248207841394386266022905366893729644809731789861533476197045299450269773320344138938582252253923961445582156882482371798790416972720637243036537754340040168374786466688470436413567884743205973758282223072923167858926480720183963014785388062375226237984376697458440838695374426551985657108841133414214366440003744650092181655226798294013053446793691793706204188162158196758625647857208875990897460373068922346855916379045401124848996081532944930653854901745054721408027100382998605666097096401025525669476122328264802035415716143733758720213962940031974675450391070478341542134606908574750769199921420924287857126489293793596422133882175858536526578171876033998744720492631826019759300837405864159507661829097243096860667697872506922020292123054754364560459539039471669167828856570424362014167932432393030242991121774632318470591484495470407608520082477769279925002879209109105433665207078969700579295164932719907831879413681876117463813713967304045892410164072440998029160014381166644084131345444564228999360147918741447884742308403720767830821775800048888756074453800332736390557551657912439587378367382028782426782516943312661724915637728845540176326240073346081121534535518553266043086025064056534795927451637772884986682872649366042531645737656181965916609180260380842140973655797492112967090623860580760849731829367316024351205762336265192324279177278272421556804751593482906492833376569039302563380975118404003897910424989442421579396345308974489480443476527663481151214253576213149176649196444378219075769177233038529914941742671635384575712917367414986511920974208261770156445971286535829698009783663576624867687938767376506782656584455954014520890212562813861157366331683123530252371993227185619150333252975777907663123081179552590527014487456558581228712797194940463907275434701741085046008507177719850647687210312710299225723800190679685783883464437023168197349567347064475914961928936935489820928641023362599315640287465786209211734215956312357242763569922428948318662673513812699149637921898617032165502637330729446030246599702675946104643201240299432184012428818592087055721743231817668793883795371720886733179640545892414649317600395207806055988478358784324043167902806456361675829177976183717648365204302692661582223490786747749645515111419692568690216860037706588545142838127572324797726968781413507662114836096868547205190845891433372205209481447696593007309888946677332836388524978117976744833043431222224510970732263209059417657194237554986021411860727805569760485352656489189231031522247347728044340329817018159445922945423692575599434470687119141640573990496244398896924903624005464995866518576939334513101769818639141804118473048974153581782717241348349547629615078682887484197046572745182206501477858696118243403159094867153249741157896192803526389526240961263925673724995549280868119026835962339890729568389356991022928243342316692038440856451748011353052891480462251593822142843004611107152786181513403351941224432181650639908966907509014516930083208113302899414076814816668117028542921406401341257142963592071703215286172703977276920247218925672664183844351950715975812944796920645269004569185877537146873610154306593725592845805712279146205015626691662305534908440126465319714836000940689942004000878999724106425559910818571575387923324963975873455371982287142122539011111375148691407313949928912744940704824554465181417516493960748411363710285142691434444321592998260028123296458782381391073149149419030888773145880054193327218510136874352889731907072006590173417669584932512307479686031939916931744160165220281269101312674955487395582653403703902848657265584622521781726956904274669570732925669667881424839261057921000209265408467186350720460054806447871726650829343534480229996417607663094221745L,
1295154928856022499047463935187212560658183212394261930955152681318303766338675339582714840218236110782781255922372190977084768190413108195166294561034801804332355220956162503600360687449554556209041034746338159433211721763264408568740249847127238015194962581376468434624855154121778317533198778065599827767640298267577794258598379101854159259578634608573350660698360019207953184048042155108532446423995837930759255570139679142185100629599374059827151527972500588608385557811150394799330046561347128070945732934299753421606676956955881300574417010536281731174118649573798080455288217550116500143364462434989681159265289228983227477902638451825492503102901956278452485167963748327203029067126749368763525661596898188072597623868216173757741654318985799576145331643889425582842498885795519274511179231356673039227365617545214379215658190548658925542389663715590241013834082784153113823708312232949830421734650617034632151258068657049369909943826806694944784752305720198539820924916129583500813159214519756657098546580462554914986553588075904296274500066684648345425956298006857334171087484473223305394981868654254141713518734993392209730601356255132411037777413544301493913431325462733883638905602258468546248449431664699108290868461784376821822679871224470574601221775809265381079828335189789922427856830432037692193700546676719313616599762826389699035299896483922091195506018557125134321779738804744428131186516145925663365024310103526900487002762144799194457099820605434146264236431596012987634358281433216528976357019574280321873653508066489471928204679825812977426233073620591162917109379308594661343275449410890981625972463307740905881054218059861660712821885920782891430930190051939816976003125228434865863801641514263142389247764234159764855169722072560503390570141171256127553770337937467046136417797495427089322183489481041788364252215136869525136218266700795632557986286010404655218739746157605862403191252740307487479075394008267023210098713047902231919889092072107641183919028142428783282294715471629166027221923552412080729623958423956732480525264675041272237635747840351372267696260468170279158318568337020848854238973561716042093441768483300474214225975264830829475588810973690429883061411478933099380683829201882180926192649781938821708725545654146266251676637867547101387608280356648288143513898897002025914715488029677671581601183904826846021096316750220869394122254183163675009422760483395269679524214187417745506857449219367096331628953641276321624797060229500472553005886210172839134288947534022645868070366197718017550846449444272027361270070511699874246614537321944622911614210418839236378046965696568885778142357769370506257899348949996351463385927474985505734704802481240807676867481965507050612414151936572108473858653750640210477209426604956115567773301870978564107324692738388908600434617796095069990497347089536850670842777738548319168777329724605804360272322918417314214648863951007833383049258990787622303876829829298975465965021863059296880090769559138886917753177599785994005687493759201395880244203129173002145396740732230817771174803114206126409665588794335770651860005730380667937009270009388594195827020578252013043748631316860225788248494260866793662701924586508978434255730142190369712629384844381374347821040501190827057978023214361901729668112051691151620439318930524456934585134988161561104524530793521098141447178598481834035583382995449802339973347411686079720581891707141906193830749580230429189589107757102523834102797907965276189477279500424750467045512280832320923399794948657556487266748104179074714781391361601898158466866963840930574623718433924142857442488914880971390622812126194974223733176720245366437475434143152456327947924951236001558883574248299546528900217783173335499184286935106893535026029580353214472143003150724052010232030321481839840962982525426026599134371156780321583855169132890696079089259774639706267991283921263274359127295722757673334399366587891503333723706136950184906573346820858333387784554987029830086655363574157427453593504887128564542664639858907437665244671571765189567663458976942584356544986456871133882301409093843920560665886515784698693198005180993319789515781609854308651533172880898340166803177024218183684692756498895372842332669465898185112811125768569456896504917264994009082360890453693482632141132156140213964438119008486604467712483350854692463592894598187549470592977120214973510009134946358091496661886483738623898489153166997400840893488329909307959277478589726345414678085966937758470311122858120110166004128231958185206320345883075312440214477526516631149566234248385592991681533685494017752699696640377737088246088063911426852072579941137932769864775294782134566978509828203192829337630824072935615609848849210810370209768239303875610844947323654268665057293499736999032689646607949149659345696889337303213490167221239573446234785981819053773780017019518880989561102044414218159447663188169871314549666974477811082945812855770004186200226086411313807330596004475117023404156226055907317633421877591725347356174893866611413703038199524005296703012705429668918973785187286361226932773782862602500223601029289306068127766168068913513978878715520837916885854892551605092157053828080025911028698507812061733401842883014851888791460498250679860802630031603437790281617405031096081605669227701116875918223727657753441022394892764551245762097308496498163736409476469701829317051709400531527616921876469373885418231127191526849157954968964881798584336906299971382371673143431268572462862666532951277920608136755486595732407825187308719635908680094724931665649112994420289669241491766643415153285891335330077434834314150392046446769995395947464778443105453304995419205130893990686214999414090413411247417882581311095383470588360192921692512062785462944422064485929014869178325176348249494312051568562726478416388204037626197246153171817911483103983852263240446355586047772695140190414746372470404691709306351452743797762217339504843273754207666996224096711576679020924241995146132875979940152537740603404447680025537637306743542618599114853926089731316766727260172381924509322005314409027253871848403298883668104111643625808858185720396541960858387815345856218591868287181146326970489888543134845036635230101898831357728205743782336283687797134365792655258700327867338310950895692780373508534747693846952093200740033858373390220198175132734091322L,
2176271513200656711781487741745287621415142670097394653508304047613961531648337252151882645503720924777069846606002224607330359259694630298169963746831787124554845423166551282679552876890327418240004327608721735052936446640806137164670954966992702743775704981180654747018366624710136862437679761214427612650699996607393152933766941210578053410013830667579713745176748305123310219202928777683557483211584292391925594288025346146261647633129317505382805907343193168665469262507042867401653004377515251564399996764955331721019492595361652691537965631147865950738001376926962242697120664754226310141137235512773550146838306279111993168144142322075817945017969327471532082584300440018966672011775030573066648777334509009527371689761669896878726723547324524082521957175133507767988605484892237584734826712748744737479943682320752975492005891155632784174948386515712641307674854030540542357796405303078380734192882884735920092927034492325363044099516703617383567382399160130810404988903202027790946047822516344249557804729590379477532147672704528305367748824078128974724318187304495106594248344355929282443503813608758688290333569696778663058048404396710320993715478958118727495023488974895173692617732464755420267687250329207018645109220425911759475414243080331753949403060860677272069727298322384557856199828635583461214103547535380135436508152086319167438841929328590754163822553159935377328933106306671022566527421965409826568871060762357728727219133581354567805378164335308114080386293452502402166357190303934260494720430104258027722447031807743325889046394762045115208258292095252369186192377141947418853754773010619231433766325833132710134326597594768289620840634703659865590823884184996440689783324727634986491522524142359305424650613338551314492346903432088292747016068920519192192524881501591512168327880970313450597987056247187526000192866883229334755116307860583285783190245349789720195630311881713419460239849667508637287800216612865748915070610461975965147991831790625988214136040507869654070732449810339337132036331757967521911478878229161986605346025647709293980156323386440466530639337384250777949958656657757810068604265058469024110131218766261492486323464225489314932493137392311299033132685192450703601861289502283324735320658044110301351662336846610087077997612183172167401086502151931017672039366315375386869243663671253286093280381984877995332821631989334403385145405607977939819674192663272069750563700304434611022771141521588575153309247903738130398976786819917299628423031590682599477973040253244637272559793855980303644353508669781634695419032012205306146273783435169854473290813518962822869506913494086379971366158104298387924997171692436156746847664311243621768164077418940322867671622807988899593820545690972667081428078604019014065633331716269861460320937264554344409196954580869237249093451322626991057421477078647503706917038495903451260893788038749610653113692410345437470888620749808026149590605838371530889284294773790816097958432004931704635370934071756470020691876119565948686354655183307927285974014391885328377481345916642349307082307930517846709299458296021328628760853097397901399531245538319878950363368577320051633332827953384257127390818763097722976782957375051767061781116147807151778538184394987505756328810925407434545156917934494629665087927521093405378028219707816521039293647157291075366675658550994623985760974484881411853639280376137977885212193918369376716914566173326807176586772133681214546344212181463181064520380698272362437378134885771109262346363364115303624079265381763118214412433343974012950613596279926026226814512053813218306407689034083824548127300714120415807438360384680810018864850018973119037951199722166478505265306407939496239771684035534955052149791932362716235472067154623937735338016514643358237665900526199674787378319119453567340994989195877381990497999903192832854480984051064544995100438248526173611989603808510740804407796256902344718470140378362972168627740397031955709865321987008530485175622562605788720758326165330779578519298682207995013068704238338198556251399739471774694843840447105565884443905418542216725417511865995058637416660594716940789131753653820026443551504360954918563000718523389825007952627495877826264123736713607879961394723595604776176152652609972384924038433868113240021878918492649753597829474496586492144384771446935391164764441269045418022736306154205390634853927830412413943414684213149946126722040306838892387215486990548111772977174806018112872977902361066713184438363865044317930383924040910547733844905492866018422916794111630452119913311605984502927946065208510560509422428247984833220092004506222558153176041698421155989537699718609399297867585204171959735079010635071617331846010593616813886191461117802652593859319561411779332221332048789723188283664064812352640101463627362001647707799946400682076909419534671972395521750080978729876269974280118226006106576050352269616496935965224858089181990654600057881536948889830064797126567454473366494708110511086188276124434703370808308358872052768741905625995869260154340373487515024957772419290131169772573709773731883249722136154891265829326858980302364093402702768449500310498502347220299602868312066536020664428256797093593835083876953018082958160788117901685422921050182389038236129241821615985870735749859288691195635704141454680882387150151962414603104255461793523735920270998239054491092152292714518103387376544701056217025999694240225219790878484116778829427143250253806730623490054848038665539286192009104567017593316376951082430663730758901359614158281425569357695757631338960666510741863778068018379644248841258781098828417698719817174188623538555103709339756069401074849314396418455923416786133256754600990316939956940357035275186343730070701335199211105385061132362120619304900093847255689451416126357073174100823905915975695315814901422682739650123437913801805924769448786896944088803898283495562961407081314136751403072178012393450274815296369125847000680234471893940869766103160373885761673498267444812516274918743437939884294515697317495165221687024778138786533177362138954830665249031082216181178966758544830443007958353713437452606497099175269587412286695104855801441156794558862579812994585484706106014640797214645713629496681280143431510602565566465157660840586777473092599104801188021898641127980559561723661487770003306807413170034131943833727560223817346092112L,
3656292859849832707167877352345163515855614491735673400938653830929241386825837964416301096226913750643525184598126549641317433731420830550529430887293474715127764735370912761277997226634013175248512711133141517241772384001811213210861930685811685404125109580402245166217503306212365450197253467929518914550235603529073610111478588032764476362172290267208894180685009349599512118398199006435599672879058469440651999395122965516065043258255415930678118967565241874965388792491224267641435403053737822820570539578297226510433816820876452670479187258885306861074707816662265899491223227260243641002846489289587763018662406624219883688989496133556697941106405791593424151827658179136270844264790952531109760868033715559986412774958339014907253243694338221256639845912864355259245221085014372450382199902416587408000504537605801696396010533163880800531925370342829605522084230672616458537059968057967742096253375868433375627263504553158103069577972897827693140677139333380962902911670590805689812267833322210424001838581388877297238686855321615881298024458294899151450484401191100060423156188144356612121993305582136666935712586795022984144445348328216182963937822333942510405195625758591002666660471820027534093434813421347727637307575674980747852829654993870263910680809473812263944046757893035455378381925823167086625249081618205252305599008337738661835729831163767553018566051756519286585660877566253550941241271990227417780337722313764759885889489434290514596918802496543119597693184015904107809145723304178321850764830173702909367728472324017204251315978851565412541998887003799681367959353919108177654452661510375315364064744549470449811548374478185678332752123035760792164012668573402606217130522619388948333974172754996563459949806879540727918056910983896994969501796970509890725171093995056813181986002158869602979146452830732441504276730534023612416339168461297573454023271723564407538845358520306197541500404349223054003571786643617650501726878517300034568185123070352184113409414501649715117759883040840845782296324891581145942072039684241488272632281356263597750140749054283549161424867777577161396446599950966543317683001958251550069152256627559927158300034624229788641196520995693842991254272515641925299372724677214419376338543184896277540301363846473241015928135706844273625121268473604669061376820700111733625607070327571512199171280482589148262108224326425074798764291188272406250904075264111989840047920607636784392439156340034543481132734191898680683309391495346955123845345149340717564358337571237027374576168002293356558542455490529751216920420124078417913196643471021147791604692884781288941415416015797635555648013121624020350678764069063749044253947322289748490450722170543667999627542224767972364005708831130727458733299296862244711086899166204989560094625599007213248091241684137162042692538518755836075433530056864835701785318276995770718128666428113568692288081213471801814139023034324900566205746959965632490183651303041994306529313035598289795583221244808519083204348721440417204871914474807873393235890488713040613100802185435708799166429854487984126310693199519839037601404452576227909503274261372029381749093631886516206883100565856927995771649800794808268309654167636775342343994610322814824997565223349055786170271221571191460702882005540226447573491297965254453509466617523610460417510086138778938184613835378089417190511787813334967007694998242900284102906786265969357931912388163698513677220838965303637027619237753222207909997290427241839878408303819070160064312464339913532076202794218222075738275331073973228271239975751717421555212321110712194104586813257204588503738734897742706129720693314700680785972001343007797525735421176052917565971688205658138486978819176797635020102208432100228793284342547465587817694438456015892808655456689662133000282742277120708040042363438254507646282525219648513297747389452876861559691250879193373648129143866460984271073733224577306677430034885928198350980681173350156223395356682301324151701749218097275588669953518686673081593464969561411781898129206625703881353532875788866199668882707558369206945487254924628160624740435046936463755847158039792404869969663529673709292575853609548110618953135526143413441741298331452647796107253481327671112471838932320808169108694899776146725725440109085875794014159625386446243985582737290306717916394544868870726986303632475897469612843343705617558892876725040434510591107739592483311759065651881994448697608283259851134492898659896297010004716325334151324368498766132036841521251629131650371596102461151985579249219892246440274319160197898790137300064831023370615004750400281742461195469627480034978675776432049692633815265140432127755804144373941402037035218211321259792888126467235909292532295215245065051897183158082300931829408770612656698644917472636632169384065106157927343105372241180137653132972583377133391880002639926975648515796764443202544074172509311941901869855404467256399510509749452356438050370638338547392990221494702969777864216836607250044283673752544958534655497481094704978908021078368476807448436135307685764061021120811972977056408308420127104070389148100402925796077482615279532520937005511091981645156495663417351865943996124126412221784037595905252163371633012379284092951674792175483947961885331966494525168536023420097894586472997125761102578408013578531926836807591906681656124956497551308560504198251534010492305057877110571837865422381471680919759995478143234167773780517161418605524823402632402936957308883740765341977027386502969633022829767364576867146857687298750145313217652826838709686902783851451912140971015074272137692158578015318540693959297855498356501135115499377011440448706818937001247170777648926281174018858746609647959112192579300757313839148121048433560298066028377466426797491574635032951015375247545722739794224043971828804906277313923546876701292026059891694169988443231762728852839466227611888716779216937977609788154237347827099189016603934070530715955668194288592576249594019797261435316722136469322887829176065791022179926476872272878974045887608274051323886682914298140349240259525615533768669350203222353011150938160642603370794154353884137625687294629635904787024471672606083438937920149874510192772504488551430608698317782570976744301890074132157223408712718146745365698054634699258624814445464720175993536102107174073871361277424329016834730359408163640362181L,
6141938332140842525804876646913719576134098202523735693875266726309304733475426555850674373385597028562886914976813388068628919668033620793638695529865601690826281804219702916659345033311700852460325408208936642975059278201920819920144837865337501427167085835035477631374325876502352442526257317488339137519213920651305407349525805375791404375165945252796963856062744499475215846010430320532391214775083722609057725119862495101389544268734059364269418656876163012772622589073961387538566779715752561625187503249873981531991410190307734139881414153078645086481725460269816589097515952672450641728497588162327627084428650692266661811390106912727500960869383181325695010644338163409246638095755181550267371850524795427238198027104664778760681446799285959952743444691242614711838208688834382822327189900910779424013383476278531417742038963722959122168400577528132511625174522576856365270561013231086921469754199369829925531132478226045080774798533742248561932638023475158237532182059762868671688674007997412625542083030536989675608389988062481904569220472018688331649734114804139344130016802840203531126821064377506451529564963738284634214949674539423605803229643858460721020919838580599041025601273711415048060433632002437085790637156924167021722392691620451119202382663053431037738849819531793854582195581161816481152468083325559098445302770072178155840473415402720285330765810033120032573334526178207888530365603460188275152026005934300927941088623416044414469957972067905215541332227626035663513897321724726947786255312020535467374376682719268561516783019625721500256156214308256299506946728198834641012133911787845820906358183166092916030074861838830654131560416878202525634826140284483569348961679718872477326283454597698857828994894394929410066869195031624631464592199185207669590672634104726105022429694889506798827106596144191212868863130312737755679958716564858155080036467112716340660864293914828368124680641617167753287015265757531638997670464297835376515174199013131767418382290128430373437585196432163077877858040392471219287849954192537749415884375426589569009459367310498345129267873618233513167286173895893030934159541854465616189766256832563493639260320580437188177303529555619353077375085583933382757564220918410602317395032335808500506644985526718908887814203471275947106796081946912239220063434013926049794902160036347817010095079447316994933346107585757855898793702112227516000894797326258824727144913094986424110348679556524612914904690455643564547367532343916307926354823729653146882818998125852492274772347073082525944556852999995058464408654949082435397941794233852976510258028492511869586623233592809942085776473625737174704163384175754620817669368929622791085058800516541027651910016296664976410959209982529381293133979548447756099418249556454386456348519305432090694626092730281256597695563146109835459567463789805420309019110518355067737573445411576319119377396179715482981540855508658761876912238987356580643574163395820512071783170173033220959181443307177934391388721648046334601021781818261904566290098632936628107902294089272822117748047528509150981373224314425529163256327453437018416966935634942976853915011558295360708116244119876352810971215551287041182577463910059082045398791274975500705719410449047607391939413185940423154413379947222281093548753763114924214650036059884778985603059396207779948219367468426033386886739013091124068732369248165405637585247829312297191797477498688915784715468759929915181217340146071452207377664710919323136822447536499180214386868798964628768314609566124086638036301452074064806410629974643843359070844114443868453468846617729801630284672856709178695613629087626489321870219044168639417051071289727611216094670010133991905742524944567896175197367866925423190945660050393919857743283595752565984359929759821625434929575022223902598416787328152215954585592705443396357429386708164009541069365593369611554957492276470094606542829808249917475592010118659106890984353889609662881391347501655482733893813561777390317973701980754974138504977469241080729963726447669464052396327475865359150782284580864857345765491642478332523613314473690296011677373146509090959747534295572893053447913012826981200490750084925277974598227304671003738978244573463306618825704265001429111880775413708214855650501143379868137884161853463814904085286386465315351607853864575791933472852327826625782360555926763388221037472291339387517141101952849527403142614249084442063693994851707453849749449140029243411335047652109568087031524078551352515058047378469044828672569411050399224372437245199741159093145682111782206885079602483346132243391241868985800700920059721230397987550847327447556956958001121384211086860100559552169851133124995644073557691091088906906491560600218171315048769362810765972105804747101970879723994403827491314361681270494134688025367768495736646795081937628707463700129788813460258652843241447729807165578702087325657574660986531481432964028509788357791803132440889760691812518626061577711354696141674426576341289878615285824787283141217222402615235058524605881615761887122769212510164191898349014794215323136914080317547315851544087169173229371425840960913180527660765197074461845876635324865871546676484132542584318544594485650658790790933737164574994915712695834412704301679623800483168656786936102293406171815854386823743545466427162198718709666930478036905221916771277578868138280264643558532066569369732282275873309598586316705985380635105156128966150500711949336679451552296359726377874414957874900002108374714134174488270559395373373465025643285989034195835725824170795713538966623289272411629420174587905903102472868053857188756612154339760956377520756492692146905270868939594934945264805344040462248543231209000643973757294794359485536235938188572449966655471894909546359778113759939585668039786131866209465837575264586605508077627048386441223339286650517535645468252375741616449382169653918017712902922963804400801960617838252731266579653432065845427439196511201486523634471313832093199331666432697275856256704273565852534983346674610882764777731684512291723825440412218548995101567757762907711390390264786152390511535061642559720009040571072126754663790518440700284454828529317807007921037769073342762033394554935044478039121378162018370806792318144155155427552764975918133018379246820325033618105580311698810318303577078224588388029813095605752994998505473091888L,
10315886302575527475924093904022682960231377186376751497605657337728188662039042232548157221201459543821838349943895765262485634620510819026100862840936314643515270296568369460097851892883375396404653512560659896028402170548983739314843449950991301010788089560036703778142472711262893433632204644126864893805796407846154845277266708644104744422926395152240608720241710187622440955721374075901351032809249042412599430531747856981158372625925129147189209703047295142908925353697162188283931864926123278325141437294452088621737712999576148433111771016251447909259659921771766333028747337702285927930446252612738839466423271328933378915292606491651435835713023440575905162194196889205726942379621500034900242304908437752317638352564499494195406141392849133248326207974270706322750520849586518771596372856035397083926714366650705507235445128987891278158786698347623442069614964633463742097343848885478652578563117930318117432499354930083424207070731569056864697399771031636212238415507096347869914992933073816464906309357456954813852124705879311654522631543316605383382728095103318382392034456627173742545541207325096916539139415715417733944956491258224177834562509710006078333113480876377376582344396459797488667983526283775664667117727515792516239966919208748974904158688819022533658585711658095225764967388706841285208264087267363953404415139008506317600325938855759252048571093870577237012194578646641001896794786145242611649843134209986432433957678718712363069892282466500395002066105369262454486535185474712609208601252178822330166323962733728798515774086651524579482954355498398318135044360772711357695855561246205928831725294058599230408502481781519396305938298670154039264200444076294970797058602420445670589713934256960843404274969321150004695405458610475229306758044188785514385180008036661140500295933833337955069317422654653524073362407310100971807677855166687887097784108261215459242506735836253251095862842305742845956272017371270071287798254296178802378139222792425249996819790067297704782041597610763415774576827952605536030944225618925026905360501389719902979225815049274102268102819759285836634098457028578299224669869015424519510299754526124282103647924889231007117296548301256358901968767133654795975042902864246955398812639978259126989415470695635894587351943575871559299984533595918403514301041776804508117213150501198239344736311048988142260358446928861526684734091641610657605821741423101173537617012057995631048764061712598892890472178533149516602879271008275135867014978384003152727904827313478505446413136587660813581864352260498567587857519788072668120346922653685122502793664615725179373067802280542998780501985854693268014185626656573919607035989327451532851898788748878867884603509975825332996816238421190537729384499401470153841827956066556231476679521249192981032197462352665092496272803507424192859318750256961699861536922508215512558970899541565783391762288514651975747746353490243439400135771514633936712287451380510295396325938007090800998286821798735964395169958021018773120713973712032037658294258186124343407966711709779827139333120044404049685626846184179487590027762622675802672506498570800502334814085218656386166091826482688323435655832711362803821999692336274720939760317316221589105150485201192998874305030517860550615435408940405192168142866271409973790036831098355175844215866444467154146270107295312961386214567871807331984828178597583884347448624668105865324909226343055487821259879225394591176251857343116245397035594941208410055388083194375299747164175727469249084928454846830615931364262039267588767123183943365672814066893489169546442457042425756355188651274915810478054973389152149212540242252780542805420220375326321036131146199036886090923526199422171908880398858456738592286544265503363234569008906501678514712116582036652490008890871046572349910925541445542990728087150904777102043780888032078964687007773570310008056714446707214880840427863070395567919220614667224698722230489465056183118142578830051542245377128731325043763102278778110093971352576853551976488758964673780093644262499488155616837245936649928878653241955574817055224635480185136853504768498588765823411329920047133896015442746130517784311652804264558422806746714116305627381032906545923888918980799796920302416038968028363589145534989808303190576107190513444456845406035510831831317753071323405830927847473125775334415117734323513918177596132634829299246758362056339206536140312094081226106004448067428151804125037636654520510587852600591438365534278698853917363296379193556927782582039387745133706292351996615434622025746184092629877325579986817995470277811042327963422675368972408669879015892003536850832962628544927679829578885907960601743852180780414670018438021003434979729142794898223961228445941736754888779011897477500057417825514267796791235830125730550357814231468174000465365713852284958045325953477821900576011717573429104440370457755409676726304025369394595016570342836704909132387706079354986087644436085129063693171607127448486812453909312716790408177063229151018256295433326596790879714419816352153674693983112500107142847829777603469729301408630159551427288201287345434518697552238536019184827218038230549147670640425447159288184803731858722955481756228863723891307507365207952751736639335731308054506701544929440633618776785984568552405172598760045335415997145974635856906619230209821418288321313602659334662711187368267155084219851214180070481115994308762780833262218843686915712509993156788463514840049278747524449109580923266064987997879248305518155713784712105912608222994804113378971315210204426041981829872848008216944575494845015039522843633610108253617596506052361119420232069445119789135994252336609061534086595204564524557347094360222528842614058310663257750069534132067002844050525546069839395551534307255353906072746491849778223451764138484522646558308658467496480381941010079015013132013615489386370836557639477097403062822621313486762585744902877509460199400454241846508317201724453158688522999083558037387198678359128254045855948136231068358042815771893857819521308992659141691904464483150021636356774479027377901455878548115852903831706898843311208845150761421703359725730038961604334763152360817035429189903475010942506074792049576247029078227273868373060625004078260068686611226270581277385929408867780617002599981732191668975998172139712810455780246745879505956141144081513470938L,
17323845340544396343627513458227517124091959146249213353868493400987494495484818390737190606109115050469247486416096925064830325466640985678660895068544349263860807333724931117045621539524921366191496885680711647256612804203912012574134593642939091592868457963996399728390837502595408745383155043769416904332686118618158041575663866902614795226349553241826212757779830610542979885891137593869906050038343775971799490319125369175513686797683617167862611391792840595653715788180372000838288355242285624612442018989159509011562851701778141809677482879569295748085019731038796164418488927301749985061522192185789262735811409173035264028671159797543022706143945720623467248748056328357360126569203396520749400925773419786588912814147421136510591718537418151353403038852719030993544306103503107334856272582982367450493138332262973701211953993836043014460752323015502587800006059302796983007619227173339759166477743465865448455395378973094013327953534298652187508734055360877699648171838829681386060272776076931530991849795703996934256975073812201875250675344598549724258416357616531203688222137019164680334998796850879006403193724078523601423642298625782576114026943305538811564846250373710263066398025393674780547117274439618049358569535675518125303031278476373095704740801027309593830436164232306913125642811289582290702692277082557653608810334040534987200157104598481683491493325062251683026613381055270594763518759360428305638868997450948935022258906078357282312107078896440937048644792198522905035776014761908102150596207039717972684757183284924090489114653004800771872861210763084166916593888924048496822598295555142758853892151577623115554234136341162854062555866420968696286622348120174439916068354520996978861628439389474228672265832289978526316609983978621538120071172453724691989509834506470424811210729851514961358771866242450438542955933243031631801620281864255805103993519984710710425623931207514288522398120791514021969647412981622619962074367345910338348882166444616949278212660176077921840374831478509769711038192153281625409837838056538412953230206059353280694163315218238585218925948741889994884916474985862472721256682535312588962003565945411506081296176560090727429348797176606558289011137110001094483914807049803004681023266496769459849972292033826055204543580550995783305609480163800272397751031642228880754330700806988115474693613501404139294498989681826902478518747358312629761552130489599946956790919384551309779558459236060238716372123620324886039126331834180444398692253805939000161796932861905508276452241246846661687578398787501036555558739889301331240228936765780224427368567347041085149384084498551844237370050821184129057132814220905759254664132843506597724022505879703019226772693603915175032926265005379463643045197385718950834952747438404975499614260401113563218613393359874046882747420491496954198887617539889732786928123439932768819719375799748596040913177560309944835909341610301434387670471660531264100649346079405039489582943803056289382420591949190647467353270518103908425867911643030750247471100040996234083334175050133562545868798685918472520221060417678098044459119483416050618209558390914385254118568223383494455501143193874608189579497235143150768778494162098467428782535931826015473042608730887659772827681040735738320871470486626003407041571087441118299446788248696981586033185471895078571594876328154327909987325442982355586398623483923661188949056863600792297218818702290276803275400492788950019036964507983677037275923187460501332652505849001353190332832608634619544494902721550350551517550121839907767499526272297829314916972367025978904018240810628225321286999462712701384505837352377586917165226873062535500251018162560079797862592188555045470208832945307753373895625833499194483391194441683622942626204843011760729682176553741482562123392386101785232152077432598158668137515382191380717243486980810230916764001185051053185048399206266871160300099284904405498191061512084435916734572961321545322734907416174104077905447160691872229774956401841598572854726517144341446922140911865179138676941026327909608140674358652371467274384473666753450838669366188171723426389050212328346617458797655716366694608053209034148022557304237299485573523676843193794535389250068293597866791365150360029646600995510841308159374001710659563067904819981298325275041007150834117964542570974767905630456469325565298932457872602675706451147927315235098748317062502430030418358168049582791062166978833535899014005746816582711888344412944750318930676761624930127998485119973101908663433501676200073405818723740113603659037221711262822066229915688522057345121860560383328232136611633822334373748586867403174839949386535523182948195995547860166808669550244105152147904316354341012489870302858993951532710467406822494065736578057293687242619201958355129922275242416791570328847215887822294956618865716238956958781783479243982334238262046624633669062974425641395050950232503512164163426668756842734719033045061179447955847962019424155837164133416318785029474179656955227515569658288948873102370104655554020534899776968346859725671545407011794629157618928673199111867009470293893750530160658719736814432659672967478748498198336232221809003582085220700484113335896391978077301383519526939349093655956698889414692194802434912752263808505401028365901355567458065054993818515603014652719694331556502961720991654210057430076750185460964944674053280244492577818046645506761234381733339140761869821293657434445702424777402682730732097555560147064163007138365273707675620849816533579015564319858834973215488573713271609305261907306468638630824148273515188460495193630649175455269323902033567795952046395327600454181876988443167838085182531535444150610952087477478848289082593217845218098208735912062590989664754089038919707995221468526467583048287782232017790668996324291380298074786912636773075906431159961998819471913420416889012920905723186991374693837667291053162759943153123561369818825189868696721309341343919686886476503943840601385238349007270284421596330393966630766379397752777122643509293222407739889352955068698302306785296830794796964710568073257411282468544558580833973008434087069037319769294299612384219067371182736728615222877022224699156121310389819576252046323782914414560773594277009872152246079082842321078779423192483305298393387656757994311097406311274079870464903498364751096252478117503767225019342041608L,
29088326907614222416339333392114229274619613374324595730133082097526814639404501061380551017442932743383868875803331618047341650123455304821041442432688091025505759831396082174552868723261259806501666585229666974025760954357289504804909476127946272931252605017023016695726599002096365512709976601511335695584639039844924605649261734083654699102694008857966580834710934381864360847951441235049017163175441584829253766557926201077604201383620037850844683690335795214633768244677523194108754466582064498896694722355590501774562235545797597335179671269509475775177399938138145357502298655496487851793379074451184138569061248157421217815997665684430489646075549786699816863847214972914819508750765195179558128477132657050228269808688192468828860891853520909519401511722980805166342820445261043157828153994562979969833650000861015818258375348320642928155999952485160841082044637987373630555009159030697959117450083203965147363864109933104549042519848033227872832181978415035113224440624875519229242456951945823395088747603362823408981888000364992444459615176684409882515581555210772557200593153578592643619236718197485739335184837615060994288323818088650406402427128133229935722761472684167785282665545062654706537400998716984085585221647305167557602513382983744445264603413519316439125701537191124355885192676710847999872860076468555294856328532768834450576779204751620982369572164563417740040087593753235398806865815734376302163870637623084830368787057671831382738354397950171941281606547198456285633924252026077180501894744890976135248153982536338346601225244968494402737431461966914648040652862591168255445304444462484211681977944687162601865671531778674327867721949233938058156449002930679772536318608366939125763833939958391101512550698890030825059589459327810985953514564796373777507577546142579542523373722271431894625931307816219386774322490779118297496487127971298025112939009043809323854013066881236426943010904591183267025151071720813340513509529384940806946912408962981814056172049274692718847794552993503163658439610188920731570556413847679004395548013130284132858106752588652465531523498588360563415086451401042207779492941042676876606381502403482862889023687825215593085011144952778797300078673748257769490768534306275308978330548423102834356888224711384318317012393995383416138683352806106778256255558097597950978596232755253458222978385608221478747971402542506599860377219201837472669059906657505687742549004957179928850628540918087639117587195178542116314939181061962660682429435409033447681680452152230929533370610534808760668565363845689243348199968104050584334699902785829330755863257497726664194640742522480291191171200780295348228795766407151970341845381483183693533748934809646076215134781361785106801335521342042560603322279202097538106256836778029446628788144283094529664248543576714023953025389084195590406494640735348089443202458383190717312366072348485663510628186065789419333600880227778003706786643270640910529130411130800283391675908761703270907769047996161123552109970059279092243032934334254744687503957915708401875329601653018248815480015529761064813932322190138131726196446455326879632456049085695125595244126069987133782774700426580911745106938969816434458187619061954013784391736927814517834139159906820916807156589575275827404770117688735549761437790456427881283250171321998108976729149447609246622858642763597755658797287358182670580806833521205416227021984764449664813718542964797807815026082844985760013155283022901124322672038960210959512487431150470863727659139053100726959689188274540444548433470802408814639116229971477926592432644635140965037003385076496366543838355641824618664628704070509405379351184006742332603343298932357976018387261174295609760649858146798005647193095542379393599902717482050536046436645347924140662238592664829203203075026927201833771524158894334351543130512033504038957074561000961005509132649651082588470844825785254607748669233874617397543367115132000521294190484623950183124129287384246175868157355810806413909118141137840923584563187062409610873537860403895782586714156338658852220320245670334664628355229624270556535917366747219530466005715343140294849979087244574372279265575968969874274831134601908783463670833994075786143308687867720299713317469327735503541047172049958915559083223415803709331345973925247220760640865555123422770989889743901538005896286428075986562026209501083142613425315727490570384393442380540557398483303912307877988656859235044377970624305991816210457347082554096862603060525607034678760701808967783114749034881046695202044441675298533593648470109761744201417366361989671016470995938384020356415190775893831103912392110169335928839465800087807007071007037133081000178034250874005358605573810788408002586157519842915036176492526102398127720839789836163066267642662407917369145106135143283096094940347060528776255923206874274687808084546740802299332831474039320150258269402788600310310692116230778060720334028676904986565676010112481822885479754088617886715946113733889942623419507864802547155086370087058858927097589140932163752508403954454212670606093888274302065811685996723888077904710290865500782886446638384432004081615107267127207525258324733950667018901266224402880511130697015246825809963399794469330352153406603713449603329112857295877291376202856087994761237078788759718676700365503444180673878368579059031421662991862072535099582786645781961638005346865892425882681060602088693572535691235288962514878097989416166643137991871574846913622429654840941285120717150430112651104865523862330547491274675222549569036764116089203861119303640082380665417883225855620150591218730729609225684109394609919333499895465783570086690702414548231069556351222640762100259101304476368385602557992936888895094638026395827077797461998023341750842510596133877348273043691957329687133198899409942399098663781079470234736701658165020390478047690190845894968314049240119979659389206800363758718964441617038618385828177910595977595183130883698308033256232258285171851884386658259725337094616762957203178528810924174301979975394734921532694921524049961542963136993592681401254373178295062142421024959162588936062746311087321834374045097589087184318375007540440828891428001408856071241625563664589087362977710639337010859870056407978551928982068179569363133033021282959813925973969860890728337103020476708048822490695914884862424725187242958628348698664427810L,
48834856734752753482140824012988968760901320564659774961006522334444560280633283643882228943339216008175133466082307294161474057570752481801590755111045865754668940985811918081626002498482204190918387307152925661937454150922707027989179347557831736525350813448955933237246993413735420855702442308724250562367825751481329316258237639597141066856453813892855918169318239551572812411648123383184110904492269396139301969949344813844661396300813757547928449763138717616576428664650526671436976884030857309434224584668803789103367939562231983291904851291609110326956649549879720900105826960166829693846582863614760484524129878265654035020212564920160219004311210718494650214225920853505588370939255503792480011667291660381074350072233150593326640506127750586827229999606071047820274742938018485573689111400978331459908827191292878682047033032138209734971111442449725205910084423843101410932672671044727561999026210971210136402487616848502898102188428856062642751298149467783218555939958680649948250988408536435159815161253133207453567883666315540649377673079006926431986544437131229453377142295747576509146697875719702807517823722882636126203577957102548875131612642144118806335891215554786958603752270907505834833640467245956286658638982960601459291738455756950557354648771818191463133233640838382284839143818715260725973090723384991723821207965910808238074291392702020833896488371069498358792391362409039497959078599001340614216981454320264066296722896018812691304402875094819536535902515127046464164320186481896497027682692239397573362115632936047799683129799034662695226624455082480715395018930240871855726778370784108122102636257171808432453594518927270685726630391914194236674515795006972077692789168379188448241281170741570687888726029005826327001090521623938317664723228657161276663150971766641995219859550107931970474243344998538489454909569018590752614673187187592454116535424947094421629316573474314627643385809414166903124043015798796173933960087137366786369963774217675771952574045509138925742273631870010912032156194629923243799902378658327203514293062963466118247895962649413276166053435074312505884043237693573139453392219813119028514975154469352475158728174695288577687070742739161442870908080088962849784154064112567078547041537819547239682521511396473661640277467323092743508792188083487556547033345776536340549031113874187464573722928748935854303910638751535932821931592530140894585729725152425377971746199279538388893258917597499609651107001829930786837860237127525858957218960672606795071307127901304980071052231088207683062117828036410423269639536859325070265007884202684813245682653142396751723562435011711885482493879670547694700245470540007325418530186486696208537957770600145702578106564774907459057585220863234394586149794155331697531700084654972751472057697499520201181986300650075789742976468600309210725580285715327268456665176885885393581390701013173212177814781161208962947198540572574690815981434069369096628491051352440247252381348028659553053719625409264199564603131451532536017690579124490042214129515026288121765668401443621885396799567377777474354027954738177929165080748549148390419025178622437308012582377338937026971871818333464562208875757697550420421857460770902511219948501573733033900030470620239024984815409619798020376178494132870905444406639085397913063213159709413966230567026876918107958585802542970526699015279650931747160803487637790079045401614063495038769219615321344625874702821412899494637812358203136701638073838148409213804324943534629186224063708500807578941602210803067309339645321149967096571681687569678293542172492921950888588336806546437535313304423260717563725492051849901792474644126956603879426758799572253879916413427188405501735136675052724305964752772584516695395894597748831217136011437516284894743308030759549698937932312716676880644398951666988196118602306267129839889360273216806598108447287287821079408888217261800456947511584986769571168392500502219042729411656460683119900946939862105468875508541420253037335081764657612318371975017385258761946058973156519000158490003889984283932483697047546500223096967068218502492686367686463201890790807559226381746469886268912368329168159514185984150175100570068256515240021806846346783363899363897549673558749765616962068427052733994114898753797459558811314432026240380013120737959668007891419967796842050389711501872798207945877810206087308777931189180934483073743553456004219099778258397231226119547781134272791841445602227521673905239514949977569644052850661231097626025348071853961603025122220289435365703403281702464370930434985314621775838240541610212557233759786527402081560378090646605667171137914615173339486191688433608085492313940877416110486786465386933637461785570188228936816630818299854850776639181152249093623268161893911308431210108482596432519470425133462511170965483980647985692019639662072437839262130178157243094204502269992110584899649832769670891899900595849971927726382084624787968512469301996628099575908350589441925852436629930990467678194518730472045225146401875153387816909829054180252532014047908985809242326089117644860824304528800498639319972026143060996051702655862237684838911809446079551532165975488053895474054350992750790072266526856288435268361320417062454474950635843318890611141774295804834438125028216903129443062452195653745213861335940515442130743344329573536322975243319280115863278609616450596154261000792934521210842035446554164819272811255585659796651275842910085865332019779634176734153559872917296062637974404859275270777048845160849375836672587042195482599701868160998379043696659715667444246404434323278317567321800918486678078511870897854846343901491775174486078893526550703645601124522357016273625596937080357771219448030786273859603603555399480682145847519646832122210135393516417145825446375444596941058791694396911899600366897990405632899960070718910753054834381120751592894640052127438246996548556804489584664190630945142096585005982259371257552669660583031161409581929689565234512361994130991755061291283536612121726227295032507829235390328443397380292096207717100359683764742903451083318623787537659741489742327531174450391042780251694289784957847753239555283937645812761137564595417121217416320078404549408402444018235292557735755553692779849088227733244267882646279751666259492101139363850546984540203107669043814344858698673389438289963712621413569201829260925719504L,
81974327478773829221437750913850136212230480763235832011827349371488207818061976644850823163618446170401570955148247099741691650141960177173071322229738343722606095100092703661289562638260483449100473792442806705206925974318031598847837079955366790911495574077586776041900899458412869012889503085434218908874019039292034319773590887257649552664264591027603719583763511452570866119014222677585978903642041103482671054723922625658135008252414502929388441656289123174354447080565819031214062435054810757029803108355474703969465587240233860335241322821836501703146499210156651203744855258525009615214718447296893386780187513065683407099915220786229440330918904443441608422854797471264332682010623531332565777448033640275207568230379409373940452011876689705413642649922086865666874392939173067448637017132286520302143994985903776977175927384610410045881342735852161236456502199626168500411276602913751179339222073349914275738646619959795668375783342433055066300610855675723903083299727287060479848488644479710694376261978941944949166739101390733844223827554494013775734382891356103927943276216121218764769228834879784635375976529600385421204105834315474845911696790820291765566783857546941137166359788936649706586720675679228457723277557758249795461467527340132889780918125141304481327042822563159001544556081952678309423323684473193406573198415561430237375312372402782001601615849831815608816152277184022277464047126795509611286398312966777542050828651825873062177350964993681474060005384312995608897252920210141336162965698277296961116298394381864253308518305269852687147213064143574905884110545691489379194960157855606236415455487086844525233177868957370895826304465681055168966068257536895989445191964205267688434264575616449282402991879508855684828539132087512991794523119022085283424665214593317018643237642462426412341557372211164278709090455723460084013302232948520293951410974105010028791370416224256907475935789377852997884306140223005599873263179798284752921959250928887574201721990413973355161608730647084420308509984815671501743658011164804971187390942040798311372584579732277859685690054892155745309932863712720532667393431604384280465234546317977725401650798084235431336328264457850330242364099681075281479251987976614114835259462700264511375764858822835560400521550887253219284065703870604449561777953958320842650165363481177308133960275766692675003977609021340149451476512998233110041522943364779300966991910518104138663868794404644243331928703897133520016290911855142284014739054424200108264006283936117724321019075048182406091792092509181679058802482857884945386058323874492128040185742451300268818898658078509644592583501914295167822467972120151469926045862709406824252563678161300875948530944862409546079745124865648060345609450330974371743576019151977424202349232171336945564770065236321366812013973970288983908499085583750161242806192662870001386122016365479975396841438192341933627534188265351210573623774798007491255642533922001205024949239435395143647961835192150424886568610076375950416844134084567729924681470462405419770336911636411529718003408275563937931183344037038839369965781156395292590933385587375331645978248219710906113930380330225596031127750081831064987640793880754919596635394132361872789627191741026645820227832120400234798050209581361172420537586313051080793996365811269985671963427606345823840255787551342951020024084849366840901130293546675673998000819672766888481612941161723037099133766461057627448399665539547152285824713009273591882932395099247445052780513606806766153819331552561429848326199744899574957085077065951696826877996193459201490300882238727200248915079716811006590396186163922972313082763518880490388753177993065543291398849366493871342705177539721214478612181459527278596513609215213397391900729878924219686493111704412288383644344940079647347888429186608216435278348938451165670224936761904575289384916257359594197360265688086013153625955574782740424724991816844777138736728182496520260907047212321548177271916113381308550753477491726448377370809930313758772820534887146157752483182320691863024710688424346822640149867316388107735643962244650553728579875046346901747657452405383258489496427032660645267630899632809089323815923700932827834822992493110498721569219292373085781380632640379777158701198398928709160933454422239913343918894287212231235922379141201145062775866935071878668335789966960190708594094757241069637006605351933846793394271740763413236369582659899009900606302047597006642457405535948518627874811861022040282915288146117837669924685166975747674049079324428179616281037151416543609835357055031768443681519601577425641341086526580566847807565921726340203183153991120585178160303417878848432155313453392422813460671081493978910784261566122944852168447828169653598567661471701100308238815398120888096561936114894560558971078725064328338010625478847920323883422887787965221574805215403763289772339811914413466408779116462792581810631082870733319997464947295289171044755474635356368283887409342136155014643963739776379791965055686526931515141389689657071665647896807635897026809853217169619732935160848190174557378404593156517118866141343085170490305718877033548133168611801717613707444728849987011561999018702578934710766520032680805291035710278871385573516010965793209646561003604217733009973229839072038969748827343933924164245592178984513480585600924285936064276718139559287706068676256418456197530299803869393908211625118492534489073727919970694931281209092805265964746023140292447032119688338028443907916520677601801800132910134493964818796892867964966813722700178565064960808320521219696281000385810679339682431316724632561284861684621524350093909754284991313070365081386663461534076992713051698098270615387947438117877242079799629196770712107778334224227023868096034024156648273382082389784151003421036873747000619722395420608412233094363477522807236367962358618640044879843844525542899911317227277710618220730440265253721480843901009676804497162142070053943029091356513082553744717713092719609641578803936244370731783073678871467663712193987324612398398853525776812902474421185247164668805470799210285286119494477807490218687084749698547594169795193875398867465882928935322380746038945709497565626452331186066853770030911599616929246231146643905276629277112413050165005218623909804784522060402942624020075799883847170923313696376504533868132430214020575804667L,
137582315140316794570327180606323718128113897619502526660043394685137868290528785982708289499858200221052399641213274361245315261821271646517467750727300270665485834639634566732961823288270744797886423909196426544895037944945214370636912300284914612744473432787621894646024656988794517563082105256306588290121564254496569432064062281084968180278893077921431855814122944310696794857670571287532401720256069404537400058759559716820573331570639058112745673597657519489187555338950809856267790849066976422006180870492645744597117834552806950738500630252712009664652437913444697891519571301579750430686329546003248381583511740636153400579880343916236862952408747770861292999775264812311455119394417444612904249138129880477882020850712309492164909648572196830506985737321451125889380964904549275641944251473548413058616767733032377747745530071665229642989137824238488419987747295559978603572899974766258663537260724735125906115726715046033137888341133588399566630226519797642797670931388110923541949892171472865360187163549338601344033539061721995605133983708760027282613061321395890561359754443326328110534534165712572485049224765819787401035827284027481818448244948983574153387260849963032666549032135109066063246114932731664148792526200687952158404376412328985997904219231738605065315959347058057157978131241731218893522243565811712776549415272762982217154758960293914589293493176557562672228012952215574319674211197800237193225471905823098738625987332706554318258697951915843341941173585305697412359048056690632676319539198656024563424540822012215232051694733757803372533078346340905482382132105753261820298230728214388581000549497976935759075467593416711388183076644091035889067927966439907710576680016525395084907298531131488759489614649263878859885338078186103381564641273775857208796973746221666937347989971927517782711607360439046008561480333827490502739241194806733972499271119352336509183422109196631469370029510365317889005457856700789216982741872156500071190469556305766205495906509736699319499270840064653255489650535583245036924470752746892786073968064421076068436111265147846955086565250610325844624905422899854712260482164888214393138970417496870129113999204554833954166520473806299950354430453686546853738289567896783789668783799770030968510261970074080772575064381480807019231405004284817114050834652686250381214263089489309989572390705101420269583280641772723853741109974587457131729462731106637960624778603259006593082977531420617488328432767110510318401142418610285054296575827534795650921508924724283092666744317470500924753977060024479577072727680529573258073295913435554962431245825428829034865046361201067229623466008792344737570613260648557316404516735840233991007654348547163752886220522828089841480986415602744665032745654107922429844533650568920560221819571308461381072869094562663758355515559132586380796131576337850059527809859833064914971591513500211451708104944933095297982689277320754610084751083865697689066276187975179708103356530916438481592789364678024188799743209138581815821669230299384129621609362008044991238315324035774721143857412673119432329530881165147994806515494050192740584127018025975020763372070443268122292981721258190092207622625920819470499043725868082876620153543010898196903135685414993329139904471524097003010713500158434470949683413728286648933316926727300982280974445350366177505790615989958191361718838427287430834802456619847958646196556658272603129537438049991464747020669694063732383531554126279358804029953646780950158938641971661815712257986603387032967479627409976864760328604733828589184018708266582927951953295350738412735433512948792602116818180860705696254347474780386577350455635813338965278417297416596029974691744203096090335125055071795469743071872587825487942045718215082519655164045736415438859687414830545685015532596811838776844311686128828910802760387139305261287225238710744617766920884977391281721541927985598039181723592543859604378130509872333368151937777443861829090319522912985124317777052468991348224161685622016460231946421687834164263010944877146731559861664786544388925943525467631165742853496685013426680845669224104514880873350708051244888129296942512887749175336177713952168740037909901860953029358374406179747378861573028696096530088797132535905292007592552827608641693853136668825446766786647397844201321232801778636209334026699452797902906427908789100531642721829381668909117825377137680412647240173271457075042150800635623654375036707775009325051411795317362686909708704187325412451987198576227262468135128297744405589985463503487701220843658918127901683324767378049150591853925739248181541228883757253794844697262244923628364508797179042170987011753675253275499430350051304400262681745755373170410332041966090370321703427634953993980800916205688173172060843382146261522566617486209472014684791035278490344551137019734094179512390893764088597658446197772969184048799475625565900970750976331597611609709061013014975874060061192245926534875470154669491747311826379952418823529489968339886833514710356299114945700749289698171241766974842919680378208940425235890722789626330598558125591387615652873018835655595612792171561654086338831448886136732394316108205774305928232883541602241272061911155311064052918553652960618451777750919514133393960858817617824776454307751778963438578597064803467196235338978352185766582988674605901764045256872687367233864180225020279143591155474015266997641376545875791273939393651023579834693903970834766262781895368838390454089578592981423411399465344443601006401061974991433799534915304134708856913644922576547299920758694631301093588196698673013040550001979324559609586065493338807990028099266250059082039709978534074989866103466612890828569981934761413848524466191581670068105205190558717113356394449584561194765293082610901409234869913838980118283506795957801854051858340725391963454885998964985814095365646417492603191074350864041365824922682674420008301470203155047728513090621702581291119668415408549555287471844900636262282360227123846048866450221443159775532399782349367906002516250409877080614458804153542218780649579613637467647942746743398081608638372552913754160146968485746566927063135961326990836423351722070910479318203280710553714699271896361578639442272386190192560097033477030815144033087743784712884829106222324064925853763908739546808599105643088157032900293175590943198071380078419024658348232977671L,
230878880518142050271346155622845605296355770099650489278289261949807084084182488708353182957676587429601600009318367069781855659699195748931869281889540444032882140709404458086168129053074245494909911620142399716075467819142317764655542267514233623017121203039485963101897947018339176981497414802240126919014471500251855081424261636525023938720594699777595107969692639878893250904912112248502755445047268943822070802562487696792819595153279819744179372166423584507652826852553900159772884110013824657978434145165824956842918107341788719843602967019117127210638695221487853944229998813734125007202659137221929144587859364448931364401711392019490390311595934633310955874984885425938499754685841163938020506998830133526217405335427111634749827100657852454609393128785306716379788518565541245439416100707866016076754187832906004297991942757972917843574288738183464338247713033110036347978976238470796227434767907963714617333908962717565603869091882668557285205738392860651429153985619216373423078912104421014316557480530707942836414225654222804463821402876679016689950402124362475151745960648159827546297279348250089274834132641332441811079588275942174768099083235913374512821829432049024184485205081197802634176431551833435229553801756814378578803237341563471974064327111987510247183763668356038896905204084932399415204525403615828462959762108533650672960728900872022908154925962714147420180689167800544560241135802531921013563913211663627917243942680356205348077682716874615515798480523858469148602017827987203307874916595980922026677901596225780352555806894534206356616802813954462612190761310109928641842484574338603683179960587316296275838857859573762355395314748535988730358312074179714960417044453809212093603763086865239182231096945906147955354223636590219728986785062028147092885125919697417858914162834209121825690587497213711314206252145761085658688744107933382580751610195138717353830266736033738061316049533959117261346026730668178905164325206808560764323377732383067305983090016456025521214023244030936286979452517491327849548228103841677164379400105631474079293939712653807974769788359314842947499073817804581246568963687928580642382784395918135497825615561470480086813254978787976564649665895762757438343107349597120704838524260890782836257809928857256047639489370065472175940721225224592635486955864385010717338175279678327773960400843127262440893845618061637225747970175736524998985717432187507276389557134710565729745120010297238530957511689780693606458002559851430226115812729488042338508647275175756388327115738231052039659382721360324366364660665338875851224484413809934148672082448141611254862077851721072030957410398782885759369738167113773351884096220886797610064908321203302901038766200874359317643744460104288286265360619249622487762546139302515503966617629281365112298142003034596875781427975349073539217264994046678549169320320673975896668625526219050772338829239475187578113570627990165266127404338608963142838293557713955753818018071570273567414844159833506713802714040046219115524976965615445455787274420719899073666457067200022738681950637047536360073672668753579808781914893531459527819064655086488559351681166776620830341142830598340662126252852546474055873507828992368012661602735720450418967692145759569830300370515233059631177509073442046046571764881288175905231806982993914902688783848006906132802950549719580041700048041261079303498762521417260563061106325736184687995788662577364842638617695231520965477507283929549039919945908197738955964194112889618173754144692457057688713594579579491567256974904141981309519536447373343198253251068347517653438377008286551959942892983914474865261006441290789078912730444325450308704448101834617807541273160992891353183572033253687755703346671653757520196289280372939351607833820332707846720837595528569194011271300936465189073140500509314430527413039619599543136747798508845812971067202310221255196116315479674840560675796853368646433802619911312345062670082570385221003677099026382903456305527170527466173676826063587767938540805255648654468848866803040744596554737838885935454628384921400554906980572241335786362392885704989972347013755690477588304449262727971532601846443071382392721459442523146628035624363376465190478151099435500626529266452195696198273541140587007865198397193886077050519625125234044402928763540146025086017627442950747568858516981033789312902847968452943947772510064817644436057067286252521642744252745605444514280885392006448852330194317350067657547352445717200118845064853299774858837990466059477437687573979934610593838379623887315404819580960851902085416977627768624483239170073813184502397155619009966427170740428664573928789163301387459852875694875329798518164584368754797873837211142254015085234300802778857282514799637715238051024936957531336001707955096383067322120112846660890710921924381264870621177850227850879749689835212984294732755927408270046380685952095467109715567650216183451207066845762165616925007649064661607074934420397461305961005956616105296987866312444114017344883116395322209899793269844650835104956958526808604244038505542107491938242005085716607253660913245992151616945004356133918307146629221555849253023883984561537350617829441412274117046038078979869256997903025779988947711478722126267967838989883600295892867339772338274799292901139580133820782356877539376797172150977577028411785202734824454744558491613926568797087346089256673657994307847154497775247613704159385737005629728015760209550956403589723341672454422991457995147329050201434833431333886754246174598992319292047354590979555468407445200206916910589540122560268516310099020711151329798688835677461910207827338309631848224747059904570939027214081959394459400538675332542069073753112092493120944323970006583527280079882501325239473859325723576923876390243530862926365224658296401301811347608872839673642983953936826865362388463166853847093745478958918012156306437466208629967297927881689975196457998703672523206614044567376479732054529451350949097829235572862567443482575940055864039087793655252995791959178188569120196448917669048412489116098613037428786659520545264869214505294069124692193860137993564964255982435169001429028117202969090697757074792508935836201898534442067702464103443966815347784375531361452432729951542829081595509925796721501599775198345236499749755514030764556942341121232758130868380688428162693707639133665757277489649395857L,
387384896457530275560933269626467677123659581390575023207350859889238110454658335904950496314062180218267624990795098499155889553596117808361445052671762585435689755225842898424515001590096505798257543929149338663645194660334624330552913967795081760667756381278702083790212528171654996102133963416247979350644129952496985118582954278847521553705990180986400349991258213510878645647054950119165419013684266150502000142796393996985213562333406109612005993169135492871869184090405155216179801528839386010683119046491296265722570118464212201751890986096751094393656884651469244281122236192965969364831115901185240869162027056260981936459390263404171454999938947669968738603393164921316358069858376135063736651513821906353454851268175396614462590262426331569655544376604417069476635072264529366497936754086094402460327950559094575336712275560249380098037758127098891209298372377804895320563256667708492228609755366526437899081907223514662681501772076305229882460959868993874221894774862790241767831003902480595208764869092116026682647583182715226672121914738126126562334094544469359745380753743764374360723161434733472984245593900936151584770744736264063984734528379796925066839054949748666061591320834760830045500254120028236631468789431662722641444680632450941552399619637809053771658233671631233875804212156119868260673821393330195677096632695692344517529552748913232587155425650485311002011419980474220489645681502401038855508812424232138623725580453660494734949339265779221746580775790684151767644377158633705135175895233392680436180405674226475237660667949544967388619151080776972487980511955949503448849460904702727569145134595295146449907619341102812562837943332664396311353577151426884127672040198292409417558249870486417601295738739888299058102063703670042551495860489109604225639026215754873491370403737744370600816001325197383735660663212678344622954370303334472914253150521906518723299619918715858866805999516975437327634332396399994811561429578129889383903531907058928454614149763373317815085011417631042017707867080078699117430736388172271171499513547127591513826326147804163498697873470719922358132580000601447899882790934063458602972711272839236385392241577129698761191156004076469480916854659543927196513378862916143677869884095101588161200502517321523181103327460439402501867029805171090413824674895484949491192252693662213659616663657492207462135335733105571395073373099182345014550579968951178211102135578729929403702534566494486009433859763899887241454956082343033123633394275257148562200054778075778163850548692396235964737543469405981441114428012307502671865632909438486120485414027570382479621534222045165172649928625738304717936329786470662227854096976354647392217327728750498685486693365622678636174487355460955210521977160226332079960100405447661352223239750041052121318714981484837294855632743150062404773887072070409384307824915888453818200347526418655494253379636823695592233326491782594511907477024413849093036248134950752754101241940260946222854913075892289469355732901204060657336200499353119507060793288170757895844743626147020198421364368985830016619757458916534662230574507450820650603307338959501985603697159337903910353509362016460096725420689546879096545943144097057939292667258671194934197655041778120602541635825902737074695593248949614667485186038412298331055943956304184260513633942748869990285521266825928546952365724152519541003546394896647637091535495700807511131661256122458933271213943581552195387966486326612256693452969557843963369656506564034743158375884870672733835658445470473025450104510821093241102323813121991131769014556808550464753436834144979882073336909532952939092872006851280916304777748580492484486984372743762604786450261539887107683442437419126538860954291520659980892930853874295814395875682781211727498175335375122461453558329373336351104572696054792461275379419531259476768567879362460222307056616134477998982532984232571888145870952664228802873483250173779188442120077335896892462938909412942140228659546009120087714647789757253913774687314686976036827438632788190201823684384066825640481955850385581704071925913226072405770267723836979703860958386079786413307287959422351979925902116187075994572083249796309471917959529875452884269252325542711293898186243470862700655514447763963597589488463045062096560085800303924310004876199194883916668876040741933845035471185637729295236909868208385280343463093993193917283025065691189943932650437298998747830122901011404048602925419762078854071407190082718216319982663648300828293594527307155997923340180535683898754618958583825488492513223255984301738816044118529152407187120111963796112210918244199413440183083315736948279542598300761891065829504777218447096638478623202171268734011514742853360735546250249337648901016644747309958920211270352732336558934835158045118646915340271986497853103779188687870328599942354298852790548237330626899992975553501594695351263348378254866295725038007691751647246711049536390113020238135992370254728319026873626245468009630900959137947879744468366470046081912168598532589243479699102275633806200335471783443300036136524949405505971029996884629310953951210794117387416798353504012220239787995477619256917240260428199937225247164510728331783169841531444569802760704435826478423939960805822671446584750727482151072648883800329235378206359061629861850405245049946963390086448319209777693062453218247440107707110009244139754243005586942519410909220887920978598583582668847804908334433637964908580707889996844836555344903484226758315075429703633467669253137078455254797240859917541983805539421820330110522125804147761233923537274553835517944132481563352999609639799768427107953729059503419263566033485687476889432483558456210148220045856649917209737357363015236270212417681486560390166130317286561256123746820871442954024504095262810063950362033438397581044953206683545625976629559299830699920311862296874551104260614670510286899081956505874177389093288181612743467309844296666157936991562715161550087024654299173084997940692442533556173364675438245060137199869300198992523627946422851511719672000227253134110836674822307002477312165072012984086774522748586797938643319766045292524164825107163103020519229015091601668246348032191927687197871491421167014345199312437935642555573695912715290845730830655447737712944921278990960196521325987124150372299449275538629371366003475767340121463117782650055766666L,
649887344006083320546202394147297522911305088261735646069360857539435002186689224800633052925036663698262119616364233970158849243446568346274003466822121852099145333318767070466419834109767248433620291757726072097005689109259557686217859649499984640605455229304635502224545917366600012931016615726464639648071999941130712298447359563214335130467241236481998957547824156534009061444902145009610557185191677746658022171936595248662071868282375802607172071076946337125466560552999725547918428537586536407720399020831807835603469610864879248971368022893081981714147694340624231542583692309617583898846517129352396199877636043750369041665370388981561733406778398648965744510648651923117757704285601200936178470797678176462817694019745394968893554239366434123130415002021400400875174588672699963756996863771376081113573883348814764762237261385125716970722542039862744529727051376485604348480689453899956872477980593126314085511873672585003405044272552685214591708782765144042322868365888950096668729997887573315765305033205965004489767708792447953290253261184086371438727673474311572346708396631785085259468854052929401321204472993149725573406266703963046088597869847695413050783054350669369240458071816505312032370872576338886368885011765910848609883818343885298157789028444731266966466128607803230024214374412883460373104849021668342836309646248282939509749529996896898554323701623232660977862930815184739903546698837204585909574696972379434744835993143550471233371435393834498235330849530522269978310016826069913865013206914557884208726760170427282463790730900641365345423490746338947821917790684929217173389795636863118172079937391902494457381308264286564198581661276558560769877199795609565725696054494226084199571271117023110700359342405300726503215839059774941593714998072337944361038406581863619617278323082646873584831421173031061966878180471437296612272929744739684728241943776034289383879020388180435570152835118997552486033721831096249682084965980323906098662353462527118526863018691220381357329591377217656498721715684060305289546948440101203391357919240284692989317203202153631245763683503920978635315147678762151597353700811165971758769778249583476742053635895125389757685596828983082079109643713607229785856156538889816278415189909571319448672712791873560895131504631996161757777450088723706291443094053029322945280173899279750531533839914076991002357777852014228051480512478306821676328784733626696304654397642032153024537991902381310602817283537485844710741989822275924147784751309996805101733414531503092072772704876917018410507099048706911354148706703453162677152611213279151736506081265663571545593248590215392372569832602908694979255982680084388551760182037701818905030580211323583189969110056496691837665851104789924118672577850745860784692602244422240393724757485128037269078083512020132572931626369884875049920728494712269377384236960524772601600904781245143116177736153115028928589307760250400145789892416715918909765739937485546350038970832818113871162588859683856088795447881254599856746331942811455946967189079344205166058118621429712251022801787756299780729086437844222278420909972793743098586207410007807556340115551749989581025628899946776416149218009902267337625297267871766464035467167441468122514881725403941292794985073336229930869893802821658421805369980658276817113793680970868653110894308370029192986184560418043709634139749491749003446485495650549723080309170448514678569448984180228993704595718855227084035560667634802654866060242100690849053900321148254300018782743572122437712756018573771768420684932670610741670995313898393861083576736541332258598476172974743090349455512301315222373682579792866403156896980221190037868882025249774035517007412337149144907148872271698334750832811454996967609346463777781172350057252600332526382913818058023511214573906963148083324390608529010627723923458103221063062073775310543635039361554503264091697501275591953258735339358357866588171394799668293155387032617328875792601892365042581367042904672018078124826162073499784669943750300880988857903676165379590096773959686923794938225879273669157649269858080534320974647510391139498636210286328871442356858339323402541588238388020721240735700019121167809608724293329242942586492180423732330600281993924709760284227736297520197210046489354195707926259383341847254593235499025592173184041514812385170027692261963140168814162262364618539244809973332022071033466708305119509103274359434157221100274104843568157871512531858834585216421850802957105994217652558409489416792228794078052107745465383748713839050143697009539227116764115041385425180803080654424298089895284353131361979656355274792538264333319652061340702366699833883928127991510884235305805539868699017300172599770855681699398729744246315867583800115697022324567976944080115014269352286740999171765510902510827794088225363727956846678194796398190604315831754080732882391619713948218403460776785294809046839619333504380395866664718496303361179548617624562784143890392152261426638844983055744383121417442088858395240421854104027730058082326846569776576634763050372410902266042815967571254377242716082319514904993767043886445383652653703519895690072574896320917248625776765775188100493376763818751336258605596091086648657486242263722457965665079123091543033319553138847369782244481545454322508822316265516786811255165757960501572718866286741937883405749806998342645052446940491981208986180058438043342629620866096968300823485155453983131631658312586856658887623435011694607477461874424926550955580957584703527202586006083337881193315026968241240768175449597681642891695160892851065679570340218603363000244842650322390296876594639422001651605926628152267335362724554479147978950235026351576775140863116117108407357079494186817926198225357969752272904228694403202373182795003230009677279839349925450816479418652905192643552552025864268600978993713045146131077257406773137948814365234456339511248236218978137762491507226960584080557156226592487662296687392423344381692979109702943208276668849471228774242363670628667406258408377299898282695750289090359969018318448466927026685168734405370765924268475961588848826729097479879321028552271957153819004668541658066465533716385892926459231199742046987546467777843648836343294007005164871721495230000519978540831657632209515847836329446592173459522055128056045885673995055022694076017631334770714421182803363076705496006794997L,
1090110270382619194247350360338552152444987514215014640968951516703261993959455216149879485259806523742179652026442370698377378711410036413905452355027892345736199115109366212261549190531995152629849566181427148356074702075765510448496207501820025282971967911315485712577468858074470745592809994325340877644715345956071300512549621773122965524472077588982776849061670806248467546548915723592533217062047317305961736540838945190970748922014748445334567645000986070304236625977675630871603832409070945048084551662640982431434189570464220867504293168560730538377997767488449273050271411750257336385301523005243164556229664449371465360805709984956368072956403168853511667278136121736028496191538499388025242612745310300057722427627738653162155462183563675746210949336551085746344219185812684062628120952061144248549525887781819957962258101374574729393409663299101867295211095640079115897593107315758053932675304001478582243302800024738071609631602483147935716221670816017735168322320276295043459283830632107929976113627416300416985288895804723551666943325543931078517346626378813861041925253279757663777167166232013380486472320968160096139314327504127408967408462379957060397426855328576020848322205011133475159500939016310423630527637133587569966824503012917361325524960264538456871012590130779321928753790794876102225641011568371659143983057314808919531421618770866320787354254451983829646464420506444621333411667640619864712453203983198798344041727019095005877774265283936768621726086234977203926636948229947489569168660417116125701421661905512878123752559965473709488955464481931951520968526021800211776131863352238559709063229153320993674066619581355597512943665616594583162398776620079554256975664608933714924354584479871994596325063360692367915955856921055889705424802047663325248079092708013239283747912747470367356287085766671212265463704174845734741265235759248313967685016952557005984017000709936945072104900248972530924105922415442166318974335621441446923802028828305839244101514291589864507130837854511118694208530916646407609949101937538219852085103171938461281284504442121739121701600086992536007356608732339727545693862498767564475127012966986967838898211036638436420476500727205163059624303107872459443152004227062852461230057785223764370739749596218734046570225335713043688654265552298272736899389917214009055345578089633679516610686196814613820892774628848992437972810752527492647154839540448004530298878200020642322936974375272738966308757217635994576140365636136783172032579217173219722194548321716415167087266474121769473498704946620333893959371728495280710419091836977856163174680214573707731701758331561818305606775803107555476087339097713255588373044427307671968226561641336089156984508338432021416705924883756791502979513126373131509304510923096805586224735959703830095881699470118128527090096130007747577286545873612431921838616948529316639623114806372525901858388074493197978178912921707058293214875531137892441624517188558344570232532107279735573071753308650976842081914051403953835412633277148108293154503395889824767096225290800191873404318997568974668512262100741811955467766288591049688599441527941451934257854163532385409419514273595862373953232612867767531723265026267064825437165257645388991935138312080229118263149611496064348721827133597629545271459340247731486264254492004393896812418151574432000909093511477248768804561132775162230743086975370942831530641210767626100178015888820656278420675342841387613742055043383720825456251970887154962475387419754736121773808783510813129101300332376605513381536322852686250062752056293574516792295781397223788127225411691585176588374811766983229567188310051885839446830936579323215939545131855183615681533276954646730476879837648602077955493720455079923790743258224589712304608778909370832607142858051831222428883466201922544687443277408598082009761913705206481001722841525680021913952550842038419398523322099476877485265155216228281033005732163060405653756912490926217238992555363596479191671906239165523954353121058708648304378572002296344228343216714677939225404045740834337663601309094724759591618794207202881970793423287277912970896832180979306873637732153468276962181191048916694729327230063532371651264699017153681891612791541335902677084916921059129339946768457404875273895912017185029216025025533868333694556291483857199861105793762229252777187610019312172717349769652681228823709950646278036463245375092582041295953988451645442185631824863877040890251343107475534311505953755221782956666552173202094039510762693653154896378400019557919849693355625502895271404782696347561276672982863176181040210558099094019608845427779974387035024631265408379322032318019595170046489348923473140043213304139337773692423937926529049676191642845075287178257310650550084287033517571585087480907661356976446130656253689121974130189646013114830923434017856515569676515963081807032872002684351766939748699850510475048461284266594518873306862307799064876956747294828464677775269879994206182460700541206663445443758531062321841495373969025940930373638132005763752261410417948020153008649177423396559361518495299914740366461460347649944026876341028936780075070496423133776855500830792309050660555460331347809202031263422664439978830682030454101533150078487707190702178809466528414309270198784472879099210577024096775156131149924753117351602685856247212085262630735491467458837849779032997781269706905497266870079769091837448258256643324703554805440698582604788782157007977381782195465156055028721636502187913523815838954273396561840164627434247734566795585576289526809537157241136209511188115185537946653104749170744966432729229897463019451674032245355754250692552985699244000199277285001738897882112968005435951467859646103084256800011554548424470387889630292918334072986218153175008861738231463888791587179213894595735361032307764679726556009196046108525591681359395029674163759271562951576731225000752210790140954580112519928051652058337815978687552258344743795679323065397617274928296763297212004602252336691293759844073771387561826668402843280907336935333692827990065008073072723914887203484719847021826353624824303528711008659212870202135151537941505264102784029371677205886150213673717630808266882836829900683387244644491772512773636506667537903540862947574048343120058890914216736667260788614464566038823947491314996737576570426505293660388381529991444784965030581587706226L,
1828267659588458884606695608045984047324967639310232137384648800159475776390553350580088179196068553286527579625976032026614099714129822497051113219339250971561512877112881889077077131474440938493712038778557925555845203081396414696440533452271241964497388615475329377015409591354478106996726415994371613203584541164716176828855977748492581858442728694081204262009235271870833907643026090810525683599606312485844866366476333526912844993375515186513573531186556843979549986297966154283371711357722711885548553498715121098945335622590514653463879969394756146261218477766961357458492278909872168521888330546552974765927305706260121129192740631266679561593161621230580219650513799820364076164359150373296607897529724336064243323487854834485177971281811872526277847476655019786478906464578531552916539482002675225854985001594083426092777344478808334341100678652412413463774939241123865958784644243461836856364207083024378763614482645080750829956685698927523903413450771242992984133514245534246511569471114721180445207047193003545120286148962366757096062119580084065083715028073297276935221792858829435896568157247581407411487214507541944317280819907836062826106815370854039888694679934513476239015857161892814837346736622321209891270361776298264907452843599039436281373366612987565113715985944894728133579561584807515665595881972654237854942719667331510546872016297603108146917263621754022806599317258762513388338578515414153202945605732082170029519956298065698138729626267329079389077226383455845068331668295507996344823639394181071946571644442760897407374255613612737216527817847141826660445464804266473951371999697547310834734545873076957232370318443201665429916016987008467127327164784687506090855315960425129327375409355844656433433804326883889776287847859648592670977295537009361128935482977154633215388577215319146619062115863743539238610032886917842054450430872640040274684600290491617408862733326154548982359313679894184880593773840778321467252597071804162535611295468326593156389554745326241053319632972823731551752843687292261009539143331784490099184374026272655995145267677759095822143496741838126029225534412537344677891706843089937188107408096099132950397252299330711920155732965506330929884197567227351399775461169759391355933983182655041155110829570301711603699312404952661416423491692295188580352651792689697736855027564897744169860046828803483703934086760555191635518239868499946842080592761254232329892590544371510411770140937348838150598004957325730520429078159946943932086457367454243522280368590499387412270287861173377572264129149301803314069873166358104130037649491576354346969801783386553407046982188338992522322042575633770350754301440575124047548856114534950253348285996689916878030355202190250035380869202294885469642657038669503509753990481570070645383603497864901095652960827225390571754761352809232804321000971657196478878968458422063694228590555838926011951868138177902782956560926525494920163717039409852668739579514620027589796569888122089003471687907175733392499510505128655266188490674445494974663214918870847307950777159925725981630052207725003332514880523197916612270394755469436750824019185898173707205802523054053435253686678324123966066095789001787038756971134494487626253059344982538669555798261652859251731101401582036773139063661985183496189174264046012282853504286861636793494062390230880249733341809168353550623480075111068705597312666206309229857610901715380072745787758991173491902468504707176137235085733570441696129557940396668328900599048483406497941484125346725208380708652312857364524467707430418709102781209054650655319301288410080336772151529247429166490766597393102516228339427743519597291911314636850054265869215078667741480611552908359578371670282037853833497801822749814276729310105369063512621894111468485355631142538750101698953112135275442323280077046474936565030614623748423702326866734775000213926612366525365018402907947461836739155611015115287179372188539730920306746985232296261034861322061355344953515454393934827006802197107635738601111568401250402927331874837073853875540198557932845831765077774043388149436388876254022447079148500812559407129709951593394938899284410062178043992830680250920877909795652811262661200381161615437073941246005582954757952235776370978818857840599471655766309936331954281821098152923377471214140075795053795403326060973733935243931944570057659527580647185572400531835625468455942215374386153343152019232868778176340536594048842076318499647924414254594091574898452858658048392466490348915715316953540824897383099188573507699311059444212655967532800641904882545701888579801695703224065864979862333244140323790025005673168419235992151803301754115898360443689370416392782127288510025798397658589736101409670573487380560175447389173499760498389321796709221492482861866223473224393947789767443837453295293590834036369117426815780788018323323923992506412460588852703694308015463305999978471114411410615853434435148104585536668541223900488281364407869494863991207898108363135209509297029461535564300054097750332929166583916168545050415785800740498770176754245965560471084417115195220069255117856171475442041193942705211582884445918309640132049355024032138957872696233817989190896565650802530964633398693849028254821979828521486489778556891187035960784202905068083759491160188832096223595022587588729913350318584717226618154755112013681923319060636188170089785827559656620808487329796594458676405276563049793064551127010024279944867543115903672046367165643468820831385545715558381434569769266869934097122453394669719136585742586815808458341336988879567766450519860104993829537416754928633829404273968698599885710640126656116253007012518464726978085569908991299071907739326952757982479906586681804106264955658078862564547453748585830178639723938597325364816677365244462990407349005976851955924052257363180091984674286796849411415188494062967048460748075278335609030286094301999687004679486130154902698302306102437730154049288380497207241356661374169580192750504830397059019997109428419516496492616574714760720872666171796934997847202155916470637263751194693474482386706715663026493583322594847952680501729902836843675714178488377726542516926692276636775267242249902138055668903230437546246091421955946462457577227650051008844421159378829163552642548012850380896086726453007972283262708477108642129641912638195420834674611720254867176587735699025305988831597L,
3065816477889755865434284214537096537697312513463702730010717065190147442555797227184115947646191092174713231771094366175862120401519865921129051675060655600882820762248409462895063786131961471732271213030124066063924847723128528584997371242899523282659078250911084859354286927584554183622744876461232132700697753408115486789519329395403128197003388795056998597458074123433124472173408883629542111441065388977184039211697686664146038651704936220071809720253850339104786145350650521800768432376363773135634157763798082514733884598965062135855143187688742372386329747739204605124983454996293018929925253827716817677564455927563435355129342053632467378854853704683294364919777146680209114132236031803437904928929156292420827794879473752489748588067242515896982905727208272473577277442042291563662310485054634118050425573706456509341522813696013119127403415722939928403693640709927057687577163007441716243264872664528482277224119854710914306077453534646972145755109032693583606579440323211945651288525142440763411491181022393408581805281919384061788185270425667078781579409114574677980142169097559895535995954272076764783814818396639064949544450601271688330224985671155492500455770176667605676899580301665897451335733357312938320899974818900935097609702919476846865052339395148086248508527394909002233106149526568002177012130632065454293007239690223903677854284476519193576618620030895960985796498484615532807295878190867850400917517193635630086872942376784849283177430520798112079739008273672767027036073556023800773786722571869516784012942850931514407065928901383872516825587625469899704997685077945908540477866471614523575193201424894158785533521326344794344390539481162913452464646946700985266740140516979575912612062422834862470376318058450423253461818939956714094069418648860783968471002837606297904705763070004749270573258344255868208358079394903713035169232949882785603591557881610836290174711988990295147407019638879518948775963909809897905396300745630769021858614148487717101965509833446625871053622257159698029698231749061342835733166778041091056444363921264190933526605264479017144675043764949396521505274548136348349115891848783704935722408935874514426608134514049249433131416440724835631319311493748676355786177613109190084606633745695901094886636082486321068992695777233272691550386763494513491469362172274543102399567940034451375729642170446235041546118051398816980208044229397963739465207921546594350189447682627045737548738690173782791517053943607066029981636360279614856143516829472668995229885086549700923000999303282314501426325126197355741485578419138880218683043021476300578644742761190647820990126569193791184477118368816431126402909854013382661063738778365935746023970219416858986392850821088405477623233597380060990857891238033899393318837021351669968805843358750716697734821308144716569241226287446565028677524998449256014953268580598086166888849529239446416019487729234024065502620076162269883263902557174672028090838203058481782789528598350588556538200239548954941655828612076475394680920644659903542184403294020307375615476028549634172421113701209053725413327352395689231732357747289159540427059019940798555313083384451033021588860498775260282709938527929035871888777913052866044971265834141593320324618071724264288042728956345179551302884719860526248117808452318760444105704354347843472541262442557581102039394204511694881555020979288015832440468385552835950328857534631725739923053424219944377314105846570629779433846237591658863825670588779737292025882748560956169280621647409996027539592703950375642913385137570688672734667063574444749369647588982409966088324881279162218527794558073505140150085450688697485527833164840156168826155604263380771500250834084863259358960365122624732369920988316196714482391497518061120275693144281576329129169744175913877005913974062690836341984951030186327868941820098190136138331847491855948984908498847366125491181230750408372167545117419713892165605385366478190189199137238724320328544590123649902232215714773772605301333813845329254955916935250842760779134231433846653219372549520434829641998045570356588233880075153088441142777730002774822885821885450727573753736850985196565585354753565153042628375410102008594191045929780905451187008935481829740192936070637981099375470949773782688548199497093993147225623665315332498121200100265965269364802921155857130491768105193893890734942773175678735748983541181660938147524013051784020673377902059204203050703649884338077112191223038666917586139047274142582454586829999070220239718290200203007947896517189796753464237498040465220901240066634972934196289186366815725188263437051108200445571332632357142909003173308014143574423571182708639101079527581560902750987715976799760331779008186930076312911174909128519539510609320525935228050732718926961318456012038099989752411113198081420746390948013935294568022017311894416152169045090626458335659657180017843890630078672397500061953568153281292740190383820943940142678093068245348318774671074308922616207256141190277606281525330521789969748381279432054353699430592457312918181497974299835340815781197691509399631750877318258373751408924603076035267464430336913650596714924428546165567054936605542381516068150997545502652143002528031829026240446393792178882063994342721613273838126876983702487077762752986095919948174778854878910705313358368631534125905901454946981684367357402306532667786076550344708309514255659391429809783566652524395606132343348923620431410758669647878799744811861810203971380166143958297813724132170253367082971702433684674669894680524433361315217003770570216986275580574929055119025816682887273634160612385546775744695316176384909158864357181097981392449831204132178396336286153302519599782797427706878370710277212760665402363604368528206591400376112630174612146855663029725063538762066016234960871946383004378902811732068225459001254570751793982836852113010253564275822555997395281926165624996828933900470526390975550642096743252949956524824104434295500408585787147444067563794116138085673445835767523452802982582766574601895454262279502670190348376589353523772839835539339949445156291064099532112311353933903607941658208016113596853631396195741013535455766030612378151334190695051857751953684149166925295612597863241760042170672931848040827876231032006221604942489386464546754630626915904242561080416772225903640035649053734967146704600065991296452322397770503170L,
5140313417989209718518972936693995696555342752362506445244813511146683520165985055817639882772985144259362572059453326093657673330514066255118598933817465350853823542685538085379830966903112752473627797088256071675388602178306579398421017055227635968318900768067764290854691791840893697720547130008171563553661448082710222709242688889013119844296965909659764287205549761031379799142529341734740485660344825440629453129623592030824361107148355101216459794606544416631241356507191005197836473243691469952092500077353486074282424288096957248435252073753815298202521212942859703488103096184309455855764241405285548379548321977967695746881439543375294798264147789523950924018743311173017388527213930478201659305031496124433822512991316483647823191617760916353989800203151003332420777667110826404791824079560315847847135846081666256557393977120167656577009424376096469331057789872797277182303896899363315083346142791709282410190681002341407739558087575573402739908760084307101379281720560334146230999242717025469654784042654570403684110611963561189566254962816355823688294986655843839456660536122930509801818343152193279465966399639196167686432519733183273379220045254527853401087858450178130220997750838042616353626481057039385699038131101939971640492830341480076369749709418018220008984412945802334554184150096450514384714967846240447521072777911666880153703511008259141427239510733578494051233788722504839806154243997145826234842288156474705911931825156841603589785585582038950098605240459497959822634513533113044316998190893208544712663778451860620884799744698040717747452104522389307815508528096199076713154596321422476459072994462268240936904736741218277070408619440100838118845398105360366822632343178640050408868833817668772369236036906380334862384667235986716516724470630594497114246927295547341806170787699920231956807484023240890362398942459777384171466793967114491257746046591479126820081374309538568536606523679911596703678427611674512975113158722929034231829147308816195267264758515496081451663476520465308312212589346508856831778280364445319600676321780735822000625704208181326028080164659888304940863342266787812596331149223244787813190166926152693134685920104247456314173542050071281881803078968071875971232550644640359620640302174011558749533794577749375086050224806235230184049040096613090299462553261760543281840128197183206124265545145520177914805605399834913780956504946233190516420543554535531701505106144208556851866704602056356199141420867723304120653020763752252902429528408257422245069833429630012891237844640970525500349041520790713299133891723069034025612556329604744318148548062268702430361350664342462111283282300329264791255406307237489754705130763335378430986741229172731726745518657251292296657620652365081189296525271440527295752804305218087156857679231135967669005295584669211765815494357409673831451549375249285367261028274095384517384638453200455319162860604662291186521020981060640662980853254389071696531196302974073291807450660302600393746684400531244304190035833476173571692981847197097297939321071267879759828539454220287134028272769947539840449506611633656603978234556916779476508858056191111876028212339669896363555110117119253115174610947272371539246673135458410537731557388825641794209295637581942193196073120740321758291877469604955531339440839441868136843872454037737737257017540110386719887753732927452242517801667818939779824431501052835352065935601353062020086418866262732807953238634605508124332180149955798331046302292174075772523678067947850677832518455736080886734342822992510451616922436542111292757630356874645156593980997577589782537984571468151590176867388068028250219665832362692195787868016261900487935633887505361044460371845498618475770646732441691492261379163508070290335063846680118293932422608132949186963922264244211379955940241517885019808753128272170838780294629930742780537143809494930064454419650440814979597346833229280199957774385534759888452538420533334888456117043395724401836759896597828110479033430617031511991083917456216541627694529065506804750960993662801107499669134464646639400265641674630264525503724185470709524663331705018172573858899518673036539736973118941119841393163745152642164026322168885338494049919385085314138167355225723268899192602381840734897841943319535777440871162466569112214735552848180293171659373517374216906145578028249860092926806510529317604505321532239353436273283482061439516025227056026027517309764296578090985166422080436994544768712312622367460602012789366173682359294676067501084467839721283553898936331603689931798380476330816839456883047629421668055262951895224099317300677585591175111402793180079960054222602966042245627880762177884176107455090003279357816185895859504220297847400131658380551049762188749836496235987969739503928929629608180669006571313218081729429325467287927941916854890660057856092719834186749155516782925679978389086643129037984497978525430482236652757895478289669898733446854809293138500380980149088072745015555591837066530368187453575389391105895268076132737615406831082739334564187849245009560754953616302244528681028163584957345441408339032118038733027721089942723125885732639573470023444654651590129607298660516300221825045838568629756383122185624424892932527167663736923538513194413354905885288700711376534278644866199266895613348209059391569703085449323041561308238653106201871901541978316025500982355394966156734053678283629896692777138248363511331147000720392802007956525605954770366909558263134304224945686614290328145682874697096742574650552286710674185792463706535481494246073018199972139474243653062880226669248572783661809026614549825349075797201237905028959981195591960690131523793973948742087559407926515844707445719869674584631378930876555754036192168361478057433954236891477749525590544776187133127010512132598773703135465484590763549501695412064076221507198537512258033573539887485225909143129601634245119246512429566339901164336826320818663279012342600749967399087523557961230066673563695909211971502331816421964354342839642166603775737175056959833234783160679463742291152330650758017687252250499175153337468216628537899369127940942187719770190916442202012949308925643587316686204500515152077093756655503475531037908605093958428095029298071239270893432826617390274379222441273939074316854174543359309924313458582967534907026765617012484193984386014862546888789601093330736354847251541515327L,
8617278947898839414082674125885364301083448475923661980793567765538220261737554225598834794810588478470125613446351920314189541933381331681064073424188033042746071505877286605681644091046414919499890171728394871127791565774170015180846554231054596096486982044748897772784335008538733536542364531255989219352461971724001000676386055405409128276323719660038027072865284956628162051382552373892882995790460386064757654379401442485629481727160477589079541285775909213937683915503386690331707325716390799948880226566893372968688258144288839663882259261656891164861734774043648428463907182402484148960294881996769402852033338173974853786665644386202967977340047315500121274899855294285357545441005957554992306377424282833618191083690662244068421410285948614617286183007553293453710810148156867827834467633955255972197079644785486627437661150903296001422195367803605251119898985390344608040043311547731294560219841098088143598506590083271008141051349637508421666847956804988549809517039090579835683025062359649218962831546602814666175715596644527198609880456387445927045621668213484699007249553746172947319709152626973716077170117058959121926415000530722732570399189260522530822158627563886341945594448854828327008848544854768840042198321766289683472618803188085321895784493142320516417836950031725436241964548875272369177514262011324838836308375773409990583664264493544098834981735354163828083018477087071345552101143687774837638035005942259239361306736104025195708572812661585100645555584545852577882250777050636559383153904288967490779482662980133102567227390757005996324855933980343348946623352938021073706197888189343648938903459041741620238522999876820656444280345694641705434291427174926214774634630443898537089088558326955020017337803174939404327753093309669476492870394682197856497580328347917594927802021061532518037872070237251436331172858879671272641336546280307357909179168236853165765114886564466735642560610096149901770334945592765575122980997699526004030429145605698910948192269239150284969464380313715880078271176072335721049416249905374870242691510607535914127251634215594872512731921625562229707621555458539412960113558638740308388011434546135023412419248781510728616067900362227208008747321519160161218591856164820559815158552055294572585221340447130266642768126703835414894691869711457707484898988792710957328360902252419996248588581914774800348060412458409394379590370410061881873504934075631824766754780177475565460557730220446436066110486335332511582015727759070543138075532287386426535746398576687084826105622046554830495717902359553607481863622299421723165252694078183631056331159953302691209190422205630791091248981690008440524365659849136504305986958001305272847675717795905434931632096710748014881156193259949815948142733309823607525041412322716971332694032924618827849965387226025977954335788613178879330558382505299008316231334333708210764701861679702232212284703951068359231572057528557866634362219456115693611420720315033855239632039769901272870097116744720078563251709599791131940541992297987942118731179465788091755375201406739343979313307077560081800894566931848373696305594650678102340458858218289800359811766468916138349253239258084914939821434636903535847513927904277503562163500681637205058114137140439830681802774141594427880827756060148359656376447261509869582368685893847222902163131476112158603409085555579040686917015879869566435733710973068241204861289979548465471948912816354325642741746411249208244592324200627955943903176915511550330307289053937883954364185700154446801628045655796818744591081479872005788473019663790016013892631287696431099527570557060353211137632368374319223227265742469792178965063401409036895999914618051967447153829236755636029173549847558104727017016236988001325694981248508459633289407986586119195476535210287148233699221982661078935094623573310988513909412731354724489293257275916650069151807874832682094843183705048444112795571011421607694445210465711210762422364838734285719952325854310534296215701942705671567366693785292511647007763924100608563577356637337374726224637333420221778374812868914003524744162613305659642471063168606642191611100348232118616637188549256172987015344473632639393467711962924804390755241165153100891138089691426193870677607504296197317647767493672853734101755759075576629543000490522157669448382929507580309364755467773157422185716324476711655837762000082020315525467270038903231935398738893460958112282172745857264697238603521246577023797148734599996136590432656665284800667067512891658604793861883171884154246647582845838719593945244678097046569516171654677025035766601491319569119701281280166852646866301743698930811652653870770318739599622167294428635444332494712624730694327954110770244026511507259550739474001723030675611186644458321348441408580574422292414432730617841716847873282451287162328475063397120260021650262117872853731003637523923656243727315974918752710527660670122128566959264373855235038681719491921355588522908758287232533515678417133975797867446174126427159820909164133859673520204332154933904811595485857976003728434443865686470721037291752979433520239862466431873912565278405926518426626129732370376207615400427285439442133091934733822539459049944124703755511092718681565725363667804858353104764088419678497003866457670648115012576659661130123111908693610663983534058951216373705325730139708205067547369491502354852929220363451286574205076741975451843457112914715520830729188747986914908076588501958619101202381766704958862636900111617088573638112158631250063586231289090695081320765442251074028059202659543618409572554491974825007716722755040307045496947112819777527160756159664324580184273076813118292699725768264122862091953344821613644178092959773722876681861501460884968260574271308394348657868192458922677792985547868104809936651359351089494441438313612486760507753677849123063744151690084386576059070961817269561526035491395257937412239607517294298551192938438776111018891097658159483995887495977620391670625165868334172955857868078663969498882552344428151557978391305445678994078546218481848778961065241188807620277368390471959447013030717463392907577783921332883378035107397577099755998532532140272653477259018859305949913847139438130246180246024380578236864292996154824955999733507469120018292466548859437336182686135792743612289678092672631935976900285277042463478489933050695654330208562299371890618295135631L,
14444012204780364005393163218463172258578188466142395365153781024350646413612149880216519803519134490372878307821175102168972948998278415926487090099801962685269969505882718207617559081339518195133225140175091005999061639262210421284921333124143297405364408800733351533333363365679591700266471023220511858664955814709874687382686212288632281210776179949877143156312642311305864707667729806339719706027099466985024786161217818483928482812509740098592399445464543812967099540001669907350390318406116987779846520038860325328305921570593949325749198730426505423087881800997638053326030228779104792391265148730326447051967025982916343774638472751815955617291224856032378498704433263294234257426019938793891915007627036476588737951845635265162949152329991013805121226630230654418585682691180289418215676754992183896894053138713580217937297093434438194460303654982274116234401445095912322580634150091496224822686209249133371318536160982438898519180588872932114569985658148468339980638602519490655015244229166362903434832070126110710034660260486071294536340235077729578262205313847601698503727933881237208893659772378404856532652386924794956679891076438722165067708354916390417938905482529756964804578028424535505201249001415879234507868808351858003429905239665567516549207713958573418194084938073552485386914768744259758024469117325084145010411631533948526195557900071419184301748010347638267083853637442455220946239488787182083501910277599592513463323803593051238101043731820393869676457056420041949557944156487145295679790772746635084810687725292019538155346359233395313269089598739779031398046601001387862790756079110007672202344872757846539209867781867304810478442281853254223303555558027415742434109761120215077623830923545734714344782871628757887737336110604138630947707878060656123471911961394949416575647805136263694734119477375040843930811835317131465788399300902251143215224533621538383879400269687438900890703358915585746875266943728287524431894200088714716890605037392071581705004924807741570056226948184202880733353680716245112319477817434856560847787212636902355862403102725882839990191453944626888530396862912380737026346180785856706233732581935361898390008756484783792862366886869725150137385154298846227347548825788754157229401671743567805275207461333658472396507888728308205621347403438879077555031070445375870651382788074706892625115663578831466816295263921431510343322763758411869724581793132974678526173446670167087879519033454764900246725639762396906741975459568216459160778075604051948879680842946392141052964523314685143971879300384213504828075471590128931980784729685826318942115649043917755296880571204863770858350686140517587280983379692029367696820322801775677784076914705481830305706611221293013351512479909435364944517302026286594202464174849150421735581027847425734999285009849302528237980042906071753347585059362976365928574649672132011865546091938790292960287050679092461346777939707134261978517634318081616415968150712909973238659563409982917608564776972178533085936118006362661931452352875649201199100941184139004595485411354698892451135066058175563896935308823374046827109521320105755969050705503969510144255690035750641826239231534303826113759334584260249053852880354718763672663105720877280825834348083141183923157617414445921839745145448610340343034571378601091711454821682803761883782821882599493649703516372386877373860634956215674093197513071087888023120687082631791907075794828081460095859121594616953044254611598875861017302209461018226482839483266919830289712419488244867438194803237538785125495792543269718955902578756790353728444615179904221863172042268187236210733591492930282009952418812821949220376987578565580719316015704315689001794010373078956509150642445024473907481059893047410444907686151870160904902309631340023440282099561385834898876048390859397444121730136654246768162633742041597553222611957839537668025427220062338168288411511892850221030532718002424214794341121611254153486495911743349169576934391157330984594599949596313706082086317301241680309304997491689465031376757288965157393822190088563127046313961869349441376175247185604381957051715516963280539684092754180964253147323657576699131938880899483190588718624867266713726409327752612572960229243190186885896566710440592532552867043066988082289377722223936638265539197552317901714883242805011538784060299672895610217069204761537057469258692012717088090960815992715042324584992271179874680417888161441949582910166138879025770337908903389854657208839611500935825172344618682060039289211258678505344033413760011746280563625715046449504804178757477217699505968750577165427142246654276449593811963468332986893044330162103746650407319951383134612229910653439648548735878402016900716474159538938656198967088831621557412134318180647265646044059264886001539108554700306559239589452480769135316452577623037445236255120234509173887737147127629465848478334444590322890258205076831265760290739744487437750836566253866343608117878436867008379753204708418452751714864392275398064985388206007918999298475101464787220642301230520826783295424394311020374507959469942047376635615532499124614971630836451308895381434696682049292931506919276444815228234070655477219439015659996836735802954923391808438908243874173767380103047752368908802893759000687615735173163847103400467299390335977078392142733230361180257733056486928294027137160570377387083091747027687563085272850759643129038924433166917135963360595020051569113057316803444991795476824865951634584556915158833405245227219715772742517402682838809619096104524130051650210147204838543513410873939971918633894451516438576503424770852625582618334662430645616039038015604684920741158461030607810585087673540877277901780602250666759723824445553044143759246024272809143519705908884324481016054061035067754915999951455677950530673110260282986922738390195742330937190275274913588986723852727617230552795214566648511207112636775373226918246641475256301226575049722044273727551924191044754557669775777232117695739328790300421096949553478830031915639224469139978132792014542286071261382683934674970671013327845956404683040185133154765539196159284058615428984957209626965764166955061730350539947342502199315021981126351582616336686466529300319233517240471756081528228539495446782315428845361826549658362558766567871033955638100199387268148529557752385887446954739747650664944380111277610807021688292014545192851L,
24207097667401680865329661998763032561807597772044835749793023576448010352953590554109523526089796616988544464038607922102307442130640987760322618854244335963931377148768078003053097196572414043762416924201351388876220907777092771235816958432320286522491417879523690721691202969759830812617450604027622505670129771164792676343272471791424243485480980247473114262879319338569039022764104509123246990802984393940574213941538467109204426097791065027039015105044612533414990042674360731942735161250471935847295675395904605699459242569553305029918711019049310491745787974752698400464287349037668053475566264454753675527097740425562508165496046904191570685309087937357633647999051675844241881853057549346162320985787347950977675082740578553508010663366075459247473128483082774153028693090164048920434894301918283498286934274476719975334371057357969363385234006773753480031241758867086210095281727980568625147188765283705963182557846701414976011309040123388973540550960514401370119549709269816645720383782937869167619258009726335475884409483399167747833179866453942047220787432704639312824429899576138978355749283632715437648313726935129180854992366773779099074060172497766857053760524075320674558121227333913219152632562625518163639377951869658463706901602185514545165943899850488709633310450779285784968221845844091131955180887444968492109347878217209153500825956155247872338148485008172045490077043297952001923058961933002087930860361547032836254826682293634881874797502079261948777154242747462437277128364898357924098591389704789783135939668647531756170754696511927870645483935518506404559636374422125260732149465430072636155517717971296673799648106197771541284762838494307161332120070613600977736132511797920939088073690249527553953009062332039136349459601178638521121995962736674389620884449707343019073229690568305120100625602299361156186800526065292279660528525080420855080018731947139171020548787296768334573622607908880904101193800129010683826009600491251975760527335103665230544591912317228038079525231515190993362831514977356742284038316712348323775138041284177550519421354789247532863029103222930970988450271170134774864934203003267104091770615977374249185036871769060351634144449917669211972091148331097295608827510841793594409609134894988647341400505477547442487993859117828961699514150843351540787753363220932224175528130431146428211884139949252329066282963015379609906015133699981414324224788290600066952095386167859898175660849830721513432460433006568036478955825701519253304683725163172578423535187579941574063731075359375268784022347442235880495724953717092317900382186324397382342789187681580924505261511656379060279667548384922659558809345930130312755138991074614319666358481916757542374659350030215899390695262187650529147065887398032638902105902888819727276506871013381268892494274402337649729992090360672184811306194094664880722411430456617156422588615919760708705740468265012957345556213786215376108453458753470299077523642049013650410495805927861184896171043469374632748534923887732881128438760813219166279608365194883623727997671381472240425556435912742091091504310548150519101724834110463213076627963545693710266194553496164465745085868102906163931336350933611015685435447663156948159108645999031226697039542498401737313383184068566505908394741516846120780043347223438419067829470487668204135574265343251099339678438423791335196702888751270737926324587557259243646259493624934259023956546808289801422670301360081706506741871691346787503950936960091393630730679795608828079522571478648995798727011129172337101866626909557640478686481946064083269436506318247204175431002191030134181759045369595682610865486016120907833097952620695660415822986593068130357586792083607606347070495382303235582074102847229228135412444218332869547355303050605582535270001063515523206142529893669695177713016880808509170601788465220405746088356549031432668404708358867968359504805094410057217323955440265370650027898557788271627320934507437309116323013717889207406755113725570518330935082919497891080305022679169664249633185916153844369076123151368382322911817260127127168931091987619197793963961155564006767654061636747698290053309853939484895367023348323407243663373043297131666939315999747795873834069345754746390733057250012950450956707105080905491147570470253359298525721015661955467345373743612699970759695143422061815031172979420516036741500515366087496511315434170496071816973740500095871617441778474588098717906604974770803579271229174284938487674578465751806344071612962835338410707559131732228119128575947859178066975452333150557366069203246203862498118334765571994787806299270796759959063022348924369631706168314427220988345205633225729356810503076031205828234351269768293351878261625078861269759555134561900411153976101589816358067736623089082504948269043425664867762674713516317180016913954471886808509308615849717599571999597773093768180436199688686908729498125779617749809724313743293325625831286786026666787695204884169616557164395370644711312115386663074419066059983264941636820436610451031106636183952527128893842180535037297095721006310676421205671361007504368239424821515320843191210554673756832461499141832395097395793024094272306941332892318571812891309007786287974404567603544473834215903154255048546592788626158174951921129434181682237491485172721735428709323813742223309975639012663190714401860172859334233909053046524039805804452019373993222646656270247867606538696655726842166073072633842253193837158322543421188970694076163530554526415847877662613786522433992201857362615810427021656208711961075291535478565412321526280938579086571069839332611028875842288440452446616216231965657667432051329857547232915657366948754575381003354386845699794941434941891352922536760850175420788861090478024132407775632690692689427207047740535488559930307181987903521426145065332404901807294361847812580777838598167094412820094845173893294812496867635274292452794192308644464681949006442388283239033999597672786573610969343754981687357990494047763188906050087127494827231405176692427171114820233764276198077004433330576360307024776933249821445731157448588302685234068959645957997859440827945829155391824194083688392140257699466829824839629038247084287231009308422334491585576210726715456266635814520206246331397697033484720700220162589704828754826774614288806026174813821356748097691871030390943285874055676467520014350510875767092716L,
40563443504971976667099681390803263761779470025230486533164237452968229516208414185147183887061806717773377157082680929951365696803202616221211122780547341972807342230289086137353048358747615516262040879101579170378612453177170170263194960612703059548795825940482040193876027748357367645183024756774173017683749533995300007616955002426304873849257353399665723364607777383962037503068195303298935729200132477592583297803128773225012539892674351145330676740069904475489247282315894132429536419501637782164282236161198278881483813568309652532383730664260998325314584757576281739637930028757819819531116176364564221001531245599896608002400725858667978921837500900263392997369265096082308106132806744537912912996908837138113778482585305157324943092875773012313358207056288199549621164765969954331689190254080088954650239823017743678852575265062887310159790149681103639257669840062207760588592529626359075421626812875040528370095770363473222596062989547303482402251968768832681887193572866533052186792724773143906314526519655526228453000854676295468834511088917578325685978753217090693923192062882072251487252480553356597101874895068674698254215152714057736912578925115842626763663051999118472585959568906042732464532967873495019103315279904159615784033807833693666125932203767731854438931936892890833389433649724471441505235350105889876304096167498517212163671414801555624376427147673232432788477044010620487624909570265929455868245450730515535938373276217048558409359505849084653958865117636230249652599572339285794454639535721882869279063956564368669357023656255716916124407572451388863669835643026956761736515084364981468298477926830077851133858638383212313593012710070866767280969595895916889171843015004035281787625382087588702322658898900872764865102577819990810120735772308951578965943400513511801387339724199958110151696208512958693860853296794688539581059594861523133421903108509289499956027653411987052931400309412423607465084935460457416980638485449147046253212590833346262492925965445093221985401602967481409164147196536170607974259157821181783604870980056642748108312513315530927322918901873931655021786311608962106632817235368468664695160281339382661722635254019008636685972718977966347525909136920455906600044258881966762699364850813897918640260279522302549539971010481909218002753115336810323610135858002116402499187249338308823609875605646090816589221131674292469595884100661784001585836786281776310537766005098629598305182888568060642021780020791480738582419112649960713752132877574734170737565505800277164726102416785366320583497473159502016365963614270130688751939226229440966261599919443960038234729939279951267834048066843974378012067529211366583582753681452052922207118940631325066117111802218643970134471143667760452219315714013669640747159298523080232857674076916762788477438272901114597971137113897685717114634872214948365730492118202063304228927644234711928810588336979868497064032316897228837542142051338478827306717759217908606062815697571270353106441316906483004069904136597425241701798964951634387317533852535785282629837499905282105007093025761523498956327659593217832371646153599342423126813304040507686420901584461668974902528181000714008697901917370797299351260009414766818091988033937842456984085034971864645291048897906154518738662787948244738569548875843100983821020156230504735066877295625430380148666837502479353783942758210329094165165444289249442141959184841763999990787159673964639646638286820792581581110257361784880617780187719329356404263250312284261122647888983216954355948843041677706695766984184867775212548896513977673403255003871338729239799121899813313948362367675613538446413236443744227682315713399213802872017126290937820873058394528012577291986098401441993341218363432203685835909702211045317995549393373671674903006318076055595890333717034341815775762788519604540271927757144734247137977277742700472691771503518199392830669267361646306368001218942741257114090719911714292392713321960704811059539648476708201254687244024634578673102202156619060231514557554594942789634829474631337668709268051027924640893664580351028753499442742509681910785263963897549638484965348105960285000656920720147579949146651356107918885998500401905663022828466856027787863504479758558896748263993040059415112146572525568208251366683664511448257064116267124823520747050175159429267428471829112386428110145561172478783538550806761947056412266866541683203313359336584185226469794634725922636696730491255814939155624410934405108440997767362063557785867937700900921333398045913784185009196445436056257563416894785583740252291735616016692246641350195468494502038068419016669750392474340044621465335561127580566479439280369853608281296005552953962987326550101358119792535172350432916739188809540750131098109019225739921470139283729582975417013256232759516619929163706433067766622419864212606151923484940202077188764603671536787077070504507214738663815180312767187456252956833106840041395411165028958743607121117593945475508258259756564278662073034904857030034284752487474093381853001148528945643330201067392513347242141484488667714386280679109382472999488663421971776677939923495572060665490422181934336925659072417314254436361564853865542866652212903919038329678344287355447274123659470203987352747567592245515394686513202379895518059764876798569311467490217770713120883622273983906867334060954128290643456872072447255832454327181753261029469545631985863003050933524939615297938671626829553327400320947628104396814718292075069281146069893699590534805593471783853159800673574905290954109222278381759722807714163612957938526926052827417972711807221377984898376896463113117170515817565535052848137496113854577903209650607791979147375309180495687391665126803426494635591383668155851260705576057864309352941153042383349012021421929476464050094324053810419879582960976877354541617604901391805256960692310016714301645124384021009730643912854749418490350982451021958083805383170487762669956218802457600155108904509621231211674556029605883333702711743678101233348394817950272185139558639147067134017073187910726681799096954919022764321423302623165346436631415233125330252857881400503042166414670056818914214741829227994219378504996176260100818663810392493586728907207783833738005104350976373078868460045661978709029357218273071303365399358049601695390776234782031985773906781815713010554924103072926256858625622552047350815223528L,
67961689151503813525412351768468062413122423697498882189223534524985359007632112165551719678617994312681812746278470549786321718438675082846151392054298976580207270360746326563176288431422640776616263340958216481212683025836708900982182286757793323224562522485025347612541350660818806022837106589218379170301403430763914345930297974691244257817012792283459806016357701706053350032749293322780949588216829621564800051411723502940045781579959093041610738594875545508660668327287842374349983311201268104006166323905519708632020432836114118320335823409417146228809578508635878706707469884234016807154423873002174146062475562313004870558202775826893075973011865801902247178162647588348868959680358411196708608683933991851149716785577831377069080610777451932199741754042565639314651244119922285766009275506188328483948280315527844620952630317782752747011327882803883263439371139185695111464333093616644277000751141595704675480072161967344006144406429681051425514243941602690236972095990936027533404289147198624555574127569961577487492558223837759888825006387310813018457998685773615700852347689926854348664237235923876192710728656915184501675991701930729739826612113768567446447603917899729072622857096532577206371720910947496401007276456541182967908732681387343636344949406293369587873333595559140650517916144260459101201853671218413520540982931458787482748623865884524341374978195318490706575270073271593140075960295830995827522627543072614896286682736431601531774775217869051402779234974834054160541627229557580726561433257461992883799881830842354145476615448370162993814664941070508874937272246291474655907694479530262667245587545962137288486567356483086280829744066903237544145139553030822516333564307535787109982799970249103523741895600078022135469269243385543790678650431811323993261233154763020555808410979496002278738230599347321917055890318332820891916423576421475760534963919759995549654773416806541120401506765078301755825375811176982594228954027715487408274865215291951738886921548564276639601889925088166147325301354745267582060108704665343901523758722807064864210664615125136308437610743152902822367711099577176908713401631268745283295983093379057263914633304349807227024126424290923686562438776718626291867293538654663561875813270254112302689717146566277922010294030109602812610108181152436009512579303264728503359734266957546025947228485746686842070895221748619322134863523767005534553149228265209118194250077834252182771119857676193443433197023967540720038722246238851033783234438354324173824181444627279782537831137433816524578040793736419119615052818459332837572840220308058835372558834394870130782214542250094094282020597908156199926337403010569108276615906173100959225987000787215142286435741802890124325277540047968233369900115027236827917766288611357825671884627396998604565561479338317132318389371092139938103674361937658189584799542378360302422080213888020146052887069715399779845172806931281471782535639310756877600865841168525487622116023329888108462516535785734984002017309976413474900444558896882509591867826196541868605150747942559450712564671439794167353657364076822332777788135773075165168745336023688231643952536953537107381399630207440582667723558610886789453710156465958292509847292719179716268834187222198876871526112140985852159867838866887627775283032449788924750915196932607604972465676070753756432808102743607841706530887732040178700022322921336196473118152892524667331812331478466978190166223270630023946839328816690884359383902177210727628738279466628747824133825527299399522913374176196865920804997417072176257472532854222748519416648688311872349480648500706679968941217396088954287631578002425244553911983678827506817904455026535321850853863814231635784685698786437026969230370145608046806158102732286305689726423427182932087084813212677250428659504806675715646550086788157965954511259391631677314712959217038493198788253156941781374148608172713600825929860143898028347647275930910321627929028857840004879188184052441252848363789699056278975421629155345007393527043948099715842691362570293156492793624309868015234149975912265788982668536361844598894890501253993289824208775128487238241538390536748273757863112650411655037810059132939122295810357807546237557999444940944652324453385106826483196588871721813841350190130032134842579520968946504877385906630552066017946610643810725223013705563973936486298809865180263468562765846316798395540086988971633108405072884959219979541084298899179480060354995132120839110705821624793075307322133213398095722399335437829558011330181508781366203350575560780750807583786601888432541070282625922252631060161482550390722459912120459154888228364045735004645099093438156795024857403374964074185276713172875911006805823082820325521644074860256010833107874217886771426329944919922154671745348652957163119258440454223814444176821908252300102441120529994270228843554222567789393887750309369369170126508185988186556042168509804103442999349159507834373942261147932394848733529132712194790627052105625537644494702255929348515528344286917363501101596078166694691402861677693720738380808944964827035557734018058598296637002449950646279764039941110160336491690094992418085429260861418414482193815484188038540450200723125301048305508953092941274295169891966579322071101937136146114102028272689174850958974035415636906069686425853062707276729779835086386304765794508764112534966439595375986049031017218022023914462223654745672069345919069655200769213812984516302014002731914888336032605656149655600781584976442140896311650381158777498599656418061298939376367487312614891459315961358166006845573472000268424982121037812892415076982083736807263723349189690844360749473153699217852422481451868118274334815173938204473312157768562658071351941184924133791025809659515548076362458613191765000090246891732971764288309169675494155591911718594062869923127651024041153127252431420747066016239048883219709425746996065444103678068655133410180738672196893440345812417363461632111076261164646378954087015513324746499149150672341282620519503032468770146116251120563672801175855084041283106194396375678655544870249022811239712529342971286969123685724350846340589335191311081155961629875206235248300880709464438809111930863422066373605251734500096648770574570535813611319436341886153562484750176934159264226225342664456462286558665543951495317116381374516736097040430450096532803485243501096581995255L,
113849415478168568874316689860667869541259387627760729543206643779129232867341456669790375827638341084061090783033630252481177942514070291834143038506850142232935476110551940594050187935960931338130092541161896064718596165082683657761037870966955194602304101387368599692879188094640622821284542831198754817020227420219424972608596803653203133198853825898719406386741112719108118864855203890548130437123357989576431260936915192419814641636875771551454052556500852418834966165233995445962473136286588074534143685029592391278786513119514572495724288629133887380480119754889731937807520081117141382435237475660893639711624207843628229053028099396076019457680791825367629620192130243098857707529095734479258202542802616637840871914827349380471176341364448719401421194274024820484194019557407248141903307514677770232402154127001074823618019431996221589182268855983920102329284129750019010441726733710568439753684204911351430901849249233975064178591489974080638055573957750121188222714285057003032947771362010826561646726187563653648698001170148580382798436686606841297331947423110280613281540385147032102173747311008430917197109933447213550348209938057644809027636321899137748055718065621981598568434113118465333605784983875683815053053892548713265050019960639263210198655720317300287975969458246163770282024518833858958773117970799842316591894659934958624969019930510195505633777141504620122980285051994993443176845719430756966684343551612115961587220243598565615004710332860530043234093569991757705687599166277875212489960333306083268212259973138466608951598867630133954687653700212516141959488116432338890814214899714449117314746275282208659669683200062190405718969334576038240014263042150500330248554027363811530164740393280310247530518539658575781298096521946803604873405463373918613687705867799388097406874080508678983159930031355008310415763970408107346522929230613787839440431414184874510585722344040633479364072553618586359505818779667802593359662896911829556635792848724937686210785027730227087689075570974478237930978284321665114049650884556541151166903685763325222887108601174089108100695989709349270218774305031288737482863752079668721010842981705340222270670992481141949962245373133831902868793421096108766337151263519868134519055072050029500984213320637849353500013412982689050868663204123856211305664020790522458485650621940140586285089231471518891637734513506770125003765499829221209343309966028562460325191847824309697974613381560652029749712511108038408900785144000885873326359077473343442657773054423275007047843822670877148685509740184069741270989633120392033969106249383978702539178282580097910025073312651298960686900783020612296114849585054445577359494790715981345349313783360674973951896295243818835635832480273160689243750618994771705911795911843945679257216229647592788709528413511151370511490634025271047395777609402943394671886045642044417127432503197275013486391753245330238074840676446750339798244033765163001496778329034854655732033071379116310863550535181599824407661796623599694607975220835578834740234326772217590475601299939476450083891823074258108146261249056772200720865236698849271557601355194794678796447702948727369410216039799558723372856494302664706550963801384515560710261855766238898804258425702455060971923652708930841442093495879671685959527645048387960547883694566063204904646145831096914935706200741787481530163472059095761985225267132866815159823151599511149995651778695267126088933831133822530624748469703393280854785858175861892046222700683089858809462389455521077900047812078761269083306734881049286345744585166354737485477412463342522514905724251714463666623163124791191371399599013714027713145989997857615501923713020649483137811478416510874873781867093633230273186593985943701316705093432590923600509191654705983731206112164262721012279990336321988275811028402912145880107814085282151564967823414557226916063107072478106567997417877769604728774156013818430079229882790653174930366210977580870195132640973220024037992762846150918935843395920339270839868600458873790481833882775669373308373975363578454775826278230249385652195009092357959552978123375523651476994686525465768506051029718900308299919821454024146318512444940679780965599363049821794452443150987581510504191166604986948882630132428408208146558593748032501535432668588521349234528595108705362420231929804374371152443259271356162844428613797730449196538373399210038973971023223970054122705431765552980968646714817509717937741376906185909605608451235902633660304424901337340249774036574259210640966964408799686072280258766065647417389978589710051091227857435375674531013166772066766350345490997851753709102684572246577171549270860331964088451457293249432951888867069271436903862897883020036672862219848706853366084972497489291805297646760474706704101615020962324601069959302616854279819559999674598961080742659630810853535486427861064148565785049862145820369050955655634134405800795755168146021377707127974174123652152532350066915522763688740269488685745792449714346517796809107350317266713841383351398132211709957263914158238769468355025580291990248874043822185370941659852255624740573713594297084596194189375626561964450412016350452661582971217464622806407194994783545858502011426366112498428794580230429648592285833857968433076124036877727957750804139848600510408110379277490943842389720580133852124273054069035225059062990618181882904026228029352818708050719611926688527134930316100371145702631242772586270592907088635443498772174576634874204632346514030628595331881838051677000655400002101758167968666022243867509819767382342932876924120569791805785438637748150039518566566193516469388614165222494951806998609471055555741731446659385709237223769020408067983043350404315161516315938847999128094032452872218726791053183098549889206122791859263638342164643057373604637479595905798461106220383265103042786512600154717408887683460605479728736309280108734494501459308013141582678746489876413274197722428915999804115695655278912927430976849211591367852793836087743446340247582947503583656000242715091880413618554031294635611523006903971708923798793560628843561052984417506366570606557808592387770973041929012315710735016799888136465104548849979136046460942864990183179688200209425486602880254499014213826692691027568124010845652462036271623263896131630320606692881566378418563187253187943478745502550298892015694345070370363128854701586L,
190693010579189254499467112977853872706354150788200966530981039491852399388379868195754103828405505130089263427093693111076034159285405523997490704951355997636158558108464343635111183410743929121392194963720047477630987150162529155056369290269164247736545367687034762790793804399728577089747637831255340606174632214638129572183751536057116634186993684948642662707710649499124804951045621835910566247850585578976665095575927211850241244697992762463317493809671801417595011240424470487830465396212356776079555025731168692442240055654998217629801878815689349376917337984714860535869891987501731358306556057013100307230276521155317630135497322794618076187797333632276881426843252785098387142142065838765775015332050779818040349407982429806333490071798906592255612111261618127700872853710261137634160574425271554279325290940155902323103107447968242687499621197286726271052069546489880520760154580183447250343227143350612311980814042526849789910912738462149406151840643270774223466720963943760763302361099557062975701745347245963269682050881137584352172414191736069479841691264085671778753022181309340199834539295923074529418472005566350193760800675897851860574851861547986527918537274094050603198758181582635979965954590576780308397788536481919268324479957542953733232939690278377022994340807187195854754294811355223636769151223538296307400833699374938895636079871100405308330069824621717347031948851330004474543998247103417162760289818530645671825906571084836112922277881699211628155120917856284760315864569894390554026368722847238453691407312352837716359681501724059619996204097909838772890896131082229736072510609130309399607002785678693648233817915382606032748862480695773342993382030055217887007609909066350622274731291491859069342103624848787599062019628433423133683675597094462615740408685261081578773839374764180227479265310651427076433812918336743262141614883008461490674733054422059570896918020884907864038997144293146266221419636381166761388717063640958978957525464147118981654621294528272497251474690918377916974162014825297517730498356782982487909883924874253237865053795826346442293352907838656859214697094826108629606332565670233970309702209573410267936279260945509223308867356671061918848372051148482475099042622873432709300427084016195161588971290982882248732253422954104368541876353837809389838727032234503916204408234404945007585275145749075427445958156717408383072501075021047049670765358213024671165899537630112421255583129719629129331465738845471251249788647446101785441979692447025425100967423541633803661566615655576839920182651943092571509383342639801731512090313845051378048457547912590619924865565262479194855779550691586228325768237325682235156507968107701297376938601711862444615962460387630104408275371575552063022424427525840528802826817350481676070348804171007692429469319666154088695623584214342932163240442487245926123399493779251679740827788349497582258808020086676499804400432691232552558330354105956869655531520436947125378357874290805594540062937310726094365291117864764460614049901655740380320385398658009250080740330692948287881420445644074846131240739747026330199135418510877918381938837678316221644771998601180409022512844310935716148708949839467926585389681487937019638860830410555710938312616054506386621726537933559254977919822518548705423585979602604197690225135651678099201777816841721890879255930164067075900135487966481556998051561731412543633276016578925289631352155395510806981542099006044408318085734818864982912095481933923161416876916845118372627222302716025068614351538735478106066955899047585278856871976798529778653136365935092520939903713766018764064711197978601671507047581075402149425852809209165469318685703712084731373512081480499550599769712488829191186623115767023349841535283938191189497254297105411016621547075194601864527513921298164964144988547874259838929602256744956612359823365178172986234420237696179996090557946287059248948361233930778961997567110943557253495558901032032088067553740584315280652940651708271194279215326771678182310921887965580861489659990685105718106285246026049298847629664321563794895038087321098735331773721749715883775453202159748959884315012351459825219825291498908836860990931739580309690806026922735032363718118314393918915008422932430164361121325476852150469677475517256074218883059063644239223562609966205401425456484901339625416826732446811761541341116426156842725057855205337747501194665046271383315936930354852758933266466531212480634105920401750689199312292788756538794894727094982384862024805333874432353265008531254533659275624295585913038220069679848832775672932019959959352672564951675478951263608538953514626299994776482823188081012318094118013375895080244858886602855503658776481142435103482233113641377503433561923741488107187590348184226132338779753266837509621147582879793432699626687548722488853825397589226010409020363118756584490588183068214752039611297234560813745804136808734060981373996531787333963807561635717401037134387944155171618600618934687398877680589795122446360635303671854143326605344607016694103940798458453686600052808812460454336287179265616953786664766748434996208120387036705047376693009333428108222704939056714154882917234298409153815032105619843102716238424657297696699669482262445583090313407171541720137898697506946492824301109543882978936898065463151925085138605175660706484392545741362136767292174849989840089857593976554329570305315937172030348113316842611001133254314833859889434232114950758811759963662794267987342013451747632619132178163503348064726049193018960611036706727325936866249215602336053565786857694072590006164067095613816496307275248348513086032180671232186495185775688487064026612862505359164900632324637692825843683380429911775996130082891593541001064885363452509147888229163513833875836522431436725671206578883230551339385396226713845050789076161362335490980700766416857198548320543795418089582295828395870888619784032221779695787683477367439451767860063672737515533761234722935557911880477936990857889778334358452187389163704154166368062793966962321532502072884848707841330059538559922374759465442229453964229850605935604731558390392039274719273806128482576239475242100488661767364708277017855186023326633527036171232544976664719468979458433009920519647467338346278873414296929615548875076676057354315286913482568527210088831798035979269403567101650019933601828559094574859583210162390779L,
319356758646576443576896543939343398154388867059355608856520546656168520918006422561264012656009439536816726644470694717371990577881880325622491738108346598122296464160092803691039299571285443065317525159285443602641694944735751539446960383584491842227976399421755185520857890985781694224289589555812937415194746220391594903608354122835119212515376236805775773758848286469358435044674457960293477565802887808532216392296057568826325325695094631409177939274273453274680710977521132596509955915566039512171370266684857700636167552769666888108430153362985983531659107611838812304991529507783985199001407968868245080935842329397022987619364527898057615788549410885312082662889561283026163583797785357657937182029133427139418622745576958341904797332024944064983337677809129122948333097827613361066646584642181635932796142676836720849839172433568819174705749387402785468110690580940873152022738227420178673566322813055803422487765673014130843673952604109012204527998307526420068481404974222488218975389824303384571899446154045353487089284926264129650348237017668019758105469109905519347107388089953630464503375322502997598800136804177334170052604576508521179948281861410749625806551863438985834616939553961851274304549228968229091039770435440642449094903041649120498100632794297863767570360500180106927669787131376595088987478364611336097226754769831688373812884889609226071509622877986849428683292228343392530845086740078201528390282016110339161237170715393055787613430561192108611919354945766476572845739763661016159676348458431562927586298222025437050530447894260019185878974927509402056164771078802268809989955813504332867682404922101704615815714343055155521836345389967454210145487139008032865197748386090965327546545170440436722002539504229937032637734395004617652455853883251139790252881886147687975722681916121609949927652623990837164840538327451241717417914575534661516707166976564098955198364121419826241279597859903752854893771173087289832262903465143918431061925285783663419870501852281645122409095945116534601934891798002590986719048158155045508099305301987555948010141592438695531904814062916882848107226347936866802952899809086991817251342845878428424052808278173475939034079744581256821146143004791072674964548256586329226720386633572639551380036258374547916349222968744012359187600346861128155366290780327562365750867927484336810547941450775804013749216627757585387747483519546874393875612056118358721892967268750494644710504026231782094510268118017181803493368418660807522611576691611487570539998833383236693917876442185109369592856917152570567858716450174460299217734000218605826136487475247348813912106527433443405674254720588925065873457014092610332735916521157113999432511739968422465344187674339702325823738804349227005248091161875023343840455690476968631154816400814365444694337065791783402153654750799871943444003676619019731783258906323119468603420602581828864089264564242081062753018279448597066172270778641644872033950283611177524044079626356095611981302309884860644652434152207362188994819830925250162862466373404919349659139005007595727630517441006345287930921264399350646391736715004622170112429099277176655068811746106926273793096496160776787458582084813109464048045450201104920862267094961932701416055960775983761009061033029547187712609208839914891315242285565734685698835043478318200608586107059790193929260698185469973088904547691417339338869189483885236043994099478883933499349177173277361768200787957878852428306706268185969949307913827455329779268927988723575254059908163253003548142401956909320282513187811079441083673296066433900167205651222977661197120100263285790084892627360191604270679451645744607297525431594736541426696097739706755468613768966934883618455733010349168520217155797579449827833098447166902460584084194357118749641181750293856564278826224324785467179781288351482984077627944214627222624998472280996469975245558998200412836529031021881094323869541548462398685854085473660974519756784381169485740278390798834555359784067597860752385217948352301073101271441605346046340523706779644925587996547676357702463997297651314707021076413817137215198969609181626649961691235184339833641784400205690076888523083870753458583565695135193260280759744124223114135368001479795169140175802810434369306282207033514042628720550651130260141179373620530022421035953323440213517955357570369640565730018066197405957874767576528481588440183039536970376696416544547786737197381413914342125317674606303518776402897502641008405992586087093842085824828264586503925442143005725186843176948963926509501879960619496170155466912523631139157760483350171446026896245790285682067013689394754814581684698381772723700558928369685449782752818623824658274115025535358778176718589352476738981663394506042174748971957160684644995424344014956058785586189216426969767842043871358926879371628796239750520275784103696826462375229232106076988493872091540523610231177781460164708954260823748476028538746369945106574672088639221902109062289558289213236972123594715769307069812020842856070428349659145675703730381377507390564775110545863753656430501795698872555818271278764642463315838003727860051639800902221927618429283033790517204261157703164010664427624635644764974057053425049449764215878696877315628081283620229330152012738280364679266997695896465388437808379350803855443561707519289809786086988434613366816369869037808106298587005933511065476733237187189018009208303285207481633287554931831241699786426348272236544328462923039559549394965982809946149556035732349082633215428366834450923930002722974559218344027724005502417339331060860064351596627079690386893939374124803759379073383973966291840903808548405488101009389380071559160404952641906306108459919385271749332212987204513073100812696637881057460828450739769336504176376548139838666296838684054551635440339855071557375345634673498552448284818676354831983572855327880108707452463592048713567923635723425497135810208678105573137129811605257989614381411059905625415655950697605077300390017550877181444534666918547366468449997913619078476997932772168415539203410652378964664880113693243032859122774761545248245573536183458900959576062457108738400426869266990019035319021415519463402175312381871225507656512574058552120067349377417288593981811415665165725971062035983265339012467088275217648096225941368776698366186909948105907296602306319459236432033398307487476307153559082202030L,
534754997119961831450615915437762319845033607759155788697502618081966447390203445068191279080216964418565376727074454878303319084204966759383136378107595830440303808295040526586607683436755322362463704893709801464153325172355873611808033989645034043532943403236933687919362229584433863202803106041595745439405114506112489265574033505734316406692405633510248692640149719062294339425685891914164826996861548594021155974638487488134157527010863072603547794381583814930034369244730373157626815809573108549397547097377881088839756803465029740513330695619684595429769311349037938393693678461969606813981216628043462141209527564991556129736223712108618809512485136391614416332656821761634736625825610623765736182168349492851622363556086155144464765104715758392814890723566333344592671442380499226222598688373852640895833989258826496203885721718602926375454386047090768734066129615029122769618039780210384892057696308257286833529345666901833400534836157812053569086522976565485183873217866680785067855440999410455674386350463460711167522157502245742078261065717888083562059318044282936967562452141362107120938515188218413432277848356421403024402459338101010430498625385468217679106291789931438909898557139404145368711298396506588925882898590175920473996916470287164147175384655484250799713479517871658280866946971488613264019196320087129715595766028725154178655992179029474348307217927326351011937184600356867262775811154275196183087484413681133115368757264596300129771532320943366086233591534026857605952474326388619571491051841399052966368242680882841634474056408209628969533065836848988369680143615292596230893095976864297007505167010162845729691985875862500451970916974295563607303733248004296510135385058214282564744598640287962063302228786883477489371092233972503521837632241513796018493019011559643688933505177839334346987323014807335009773014979983221067825917595017531293802094659294861500160637513631991082684423569177289023892658774403738443833481367231027125430197331693518304312027380295218919239302229165612394406587450807302292343700636522593610987603926427567575040502437155410234402063974430828729542114988244658080606292672448861144828641687092806170456051294265293143308449938221409561819882019592743425547986682124995042576325966093510862759705559124271068769903732670781648106724750823368075555654549087047519865113667561523442318570448693939637054252258741616484814888062062485444359992846338158011996821857653693906186202988443720101095349194207571519571326687760171129538215689205591372528582284444792139266811851244208707150478038122466302426769781512491792082955596545783507877684897732756279632090422601023780476039066293846385063845830505372372565068720174616341949591114839412873045853764201278797002654937217307465057265701857197585628711125726681188560119828500330888535425930793536881994033341707093556372339617677899474606838112920158058055458703091070688998803143521650676372345257851149168285731153369122677092968984221550959704828840541388695026599061794858189136507854148245941198853033427520051904344150506739893876436607365654058329587428693523353972159542700715894670725024878827697774433827889513832333024071210997408008552777744515573013147766168634257380916236257247962064823860703140673079162594462225917756505085114665919586279039086240059366113689790017723288892595345986150667883516158809803584078014981799399196088270427118450760995750159528268162942945826477631437023444019330281845230467140530408100665392726018569311464804752233923388785465289491921077267043589358970935001674704432717524944261098516699140733679882679773814542725854303720808008828812063408954628449452351341829847486623949256438407875370731313220672147592829579383862885098788680652312678760323374031356732002950321449501292225766704560863937843066726579519439689967745229089804884323670885494863693914444580138661462104864006671973787734651821933279542051272687988504869530067325290213515748636440820770254106570276246930413180732603043039413007696056183121052575456795863377724986934700252669382604113683264234889929074536132388558756542256856167633052604585746679226714561878815718586764554287762977790678236642225182932005763327613534793079805877928844285497226500945917985922299916763634901951634024585950513141887001305205837985770595122684757503749839610800907340333725846623719741745393901460137574924970371121897991643432807874332394097495518687582358552872868985717154193610544880622087418227362874480788694041967908067286524355153322321262247293863865335784776210632677214657039356006668792208822185363594193054694168888996938763070653993513993415282347425302515628073098095563689790513651451509174411755399592596444412735478038532581556134782473381400989401747082401895307637367176603439008002107748027042586000889205729592307304804354592272962038043600773318244472267742151167221166212868926086642627735559459814965140010316443703538000377348431023435603134454350856739086158958566402207496106260537094621121737538721380295809451521891392583649110139792849742006356638107412358282145401313418454581469655177978443833955718407672394868027016783179820014760299961491298042661048669033530469157204559061067495268793339406044957185513584505527917383185106024681690406800267480045621006876946019264876268132723009431326684114475530660976549650473940171494622599721437034963198355880070944020608282057126649734858858324692275512191364431574404680560139001384124954085602102189749798196300685688686247116934118508232040358222326762465283783036498875447562378527237575373146667451642331936614363032759614443962978873509499894185513187816001389943098852352009620405903167414198088520694035625431693831183073621042087914788303749843633856862309792818137094929033243212496810034470305258200621585571169428007895541057582963992172417756434882903031545680498498392929039518009267719627956690256932299275011156337374761068823400373949013701429393028826379371435836940723836749186807973114078824747973739338144165212016769085436399906532155383332034506559196041591815677640346616192041306382928934646030535800951460085965048891643855187054309752976676951860671523381945495523678759493005258007697990646837301051897730067495648292072492001571321380232097955212834434338939364884219936716654039654210566389475290600883386558311439206643857820392646611567629043943737388716932195738314387677676656945872719522153763087455323552443610391L,
895305045581720758577237381514545019037912015870516361985477613327191920390854184741599676388967123216031808530919793704294236322245693859159612593292296528570571992100727587424959628495834408109964428234541241306324158277446288228121670062089119888962459140663247257921994298646797552806516096855652395688832236209943890682925048017819418478791172039235451611150232473558804408243412301243891337890087140617882916716015233588142438581687298691950750834942069456603321983039506894994806779885220995690557734884222331220294128261686461452807718346807801845022370716986550428388797687333790981240135432363254366497155507081076275101871220865463636980886462284997135225781859935905304272513880659770220902015270237251284397140129018576105312989008331999719100842991819543479714545757118804657399020242235154164612931323211989519862232467616025974268828669118372045553037775424404374128835022175305160101284734845885713505113052330542462804383196892784968845231593769017675729230664776824742759217006836791359182260506429479612057177716423946258397053284506034968974497510947293084146091845655120718566420258050448678301214590773555484771092333435870870404261931111438239368595274721777696153784487654900419931735591465581364105457460121479525037644651478011214002522833708593039945416752335959826316238653896976534406911998307942707413457975722383582132050618925524927322313496500210731088402864177674902394479484619899018686563823254313932044409444918484218598652870458324490708863706022593097383126496305581222362095790452207410543214876988299559071874795499831585764225464459323745856377100773640734183672143145886580208381120396037007111410480472558960393992818332863259330343550450038150902584963152595827049246104024538930857277077178431753503158744437727952099834081504099905672694398331478302811927034402539624644987065962530400955840569627516188566330906127354183379672586144895413672046825505177761293029174416073777857234531215413115900259586422336082487591831620685265138484917779478283737700150824323087135401504687290093426469729257642879054234306076134697660629271281819586242998177854851751382400872067650835959919606248941750934377821500871320990743339232622946936075986075164382201981424293143663338586684108563042695167275224118866455135769716389183235976687909946244998964921898688040703800198931760504866762390745086165160869549385534075691653118868931449652163031475243335106576414739409994876806173345669420896820928248025637837435133775027912762146576302054506070094270943043310167893765846299705246334198098016220714536731761083627651384753654333207452506712241695972993470002871527067270372999911679885389545208233917123742312945701982315936199734590148003174385513945322164356538529849120344513341556063988070763511182404406821575439686689574132859522541705763301557170036370931542749466781315252708872237294395648276870938291663804294267793031738889914678293832001219371285071414792452086909620120597148613735556004875806569428079008281500902960612642001448870443870942737321848582002651865177808384519573708695633808348001703437386892085766867192345505303794495725156387319524504106326241009347607026529928344405972946841051736330925775997245117538681770275498791204416946320126996729601638450701702327858400286443264116327192425265390681879297606735090727623489466816066307839772876280819103259972032696626905931581036598092883872778697766405226098270348847095096228819671875620889083021721140568052891735924347889373735862704463515988698588888746081162595700971353506285882683796277844110059448203947938039174677486584583582803665444927611765809315487197215788919384353846800933491264330968890985947743858718456997393297975289505518694655507761477208609448363257902391747559403594047609351830063531865278468418719978227584626418873508500271985332041885500999683771731733565128436736915351500218217529021396313003805971865738369946506480532883413375974377199379123499212456313805746117392361968429827467277676343610045630222549415459970569618175347832004955414880249938888646691120950482165642862835906747706779607690858722272237854078179731373047074636006164758683341505453925313518424291037743210005408921778939517996565059744073968879712135163510805259299569528163343057933499706477941463256753581489224235607627947075433354959754250771110509643368029180365393187736142564008225740337603184195414072777955780286886094661429222086470946650578563002726088307157278930913348147008252042488421629817439374779406444551674696656743628644564801517508714265766828137494658649815378538384568828226872294108361987968888619042318036168190394419985735328300654361483935954910647469415178974803837772853842322434904188601846876845389135065399265447511799760263129053646205947287963129899990984201148103117443099886105365965125847638619794718012316967974749452853741646634444135649201935720981856769433352502445326920374642007989210259952039202879329340752239929219303346231718914976846717016272079396712141107639215035254626909154233600191220455009734916344982159873662207175173901546650462610863827635246921717546960618148698588403032352820260923646797233564565898883091615065528011812561661124369401845885656955877999528343801776269015687710382120995865550418192566253058093692224210063781999332095087633983190686560354091769459982045515624383248190147684490287340802245090138243586583768586282160613982908288093428420572383721883089337611760145094255363792154064799991524587750307943724086012949691069927583618079870433324990596318217655940111229073894728097939098534372634147795842839832845169703953771088625468346808167378678452140421726143140757058737648217140528013674975061388747854446066705609308847795051201749156342979436881380999378884763478377059894697256405245283969473903258773020279242235046091865808161276855046660595843145566180439045431884029461395849913040542312926140515951689193457050777495017027280894850634854403360782258178637374173636371905843917991276470030163033243448710196051116554577525645715793480376370956942817656820758683438113577419459223245061404145983551375075864768918672030036072832062478275747838316852409229790580864801498907388120184559391735248558871140397647040763911820696635744379982308977238097673478297464350294510928306492834493884702445909115419045878309105166384963931715191676902146794546393573631143009295415769655089449018655745681305564080595384651013431257222149079582L,
1498734449137501173736460009537541904401560167805823952138909936598848225598931268113957190244656447322846718709534797399155518372827942779854961216926532380539502488283289565439458369854546551096218226830334570908728457671677932618167637364881973335224359143719853161571888182326414701843579037050760851223754053268378985762295809541143852213495797357844931659355768190900161103866345071117649958387348215579042550021958546403027819093026058958014098800215306024993461638530789905430935588387520975261217841041815553802152321125723236930417998676666044874608326587726877075263218781159893201960925997659760478966993602107222675952281200850183064804532545907413348055021539906244514418397251323629848811092230119356532303134164915278605079516833140433087898536636123936950109686635033141059011264955604581818975469898195042047949918573819722037568216148586418633986564516638794967174014808085292750774996444794065099280613056648449370311696737383673205909953397811059338172858147159689853207838195719763156166967041985385102312526159677326873165444423513981475280485861413546487722164017849337638488514220786667513780511380269472410353494721549850865892648240171492661125570233349204817255397656293971941207279117620648113199925547974010305975267759102018232530526139580955725076742525722136869709047085518930715406902193958654795367277216331591424678006961920461901823379690959360714217523516491591697524852212909621843639575985758392557955237829064426750139621570955116785743965729166618876703562600138871344756545970960469474722996658061100059780256363918579788279858572360415676462311550277227821177587709161184454098030027937439856203052643193783605091923158341638931378359968274579483960803887734687348807192946659483642892013704092987699804195072764434476538421713934138970795895488472885235126103513791238708045452998498883693437773370328626301737812278850860704155059689533307195359388478456976967988647079607450247752290935301532783517539204239912369518016618540518989736503395852454440585731713725658909460555428092552542096415598724287046741544175417856780061231591679683036063919262599172753399733792310670686277889793103303709488077214794408260220829090534435306268824306269800604490648456485036264778557113538911169188775701000361908015237142277564342716113375150756924531120285779677603132589903479815953575418402493363743250572689971663757519753987052419949897250308216045295699663272104812395458014618290583554395249979934942182412972145417252064779672374918780757690863517830783088883019144584750221502485662035148839554572166032673551194258335700497841219146234445213680473838029304927841533127500703397503197297209637310318490375897293536992216569931524800832342498778687902993172939493512888148571120481246039899956369009717091115358082957612628805734382891851192166518651124149434702692379038005376015757725057394940533527954474571155196532820012304707784791940067117644031565748046663615911591736484578946779686129550833647021822175768670392462761272308943375153264279996983318934294798372743872549828007724966815615112313937427374690235778396785717388666850415078913817858422374636420848898465519624384215486649034198555377267758146816995102407102362069190777703708612644080853718581798056747225781716408618959190339349369066712989930751108236857354145471757861434407951704587268219286879625046303266146534667896782671989687362492100976825436337610911254919626389042655738300424851460683152928004764828252839105077168387499124349299876358312262687057054114588153152467043829888490454698384760020503180263758524218679533932581537388786516955324585451143476810291280321548420681285921998557672866885325541871901754294216241091437984644189056889133404526456136165591259036438031827538378282378252259625468455238188458399459030698845118355931126624050699300836642149518675457922429837669570997054252829189889886781082221147744711841436341538449606362402545823486435224930853803284992879216541774311965499478218936826711775493446370391110163515952541564154035801975644129763374749051871641749593367096343275069091029806505086112908437163749310355876867725553414532212086086659918125924403236056220081966374820737294580000126817251735078863565742492451832324513763596711420718132682440686642239209150735363786596484503287281336190177055964829760738609930452921833476380923649587059807541326683652231161009942608253003488709189409329939068415406523460839999460565274467793194771026322400733478282216188222720796698684003840603898937743523339176014857671711353329574450016508326681761283278377709666604529547117539839730875022507369980176785830173542663647586607748710429488380398079210570174660560247128390842431368329043240354900370744500628822755541420016088028273174645665233021019822197950068299633487754159649701915508716191012092298962535264574690820075729350212036537484388702427541561715251387453286359168384964665136465874191413938202047925877777654640912418533432403352879503586714152165686234091572954522657748509983941995075240614748489543750430437685531839270747193757254562471761427438601172145970361668044678933025416490131915656584142931951021934821634682802723132234699648703468775048546771899419698504402004498473491419525179016248135206761241817745657544447220787202834742052958082650650789504661653406551340768547573642948213591214134708706930958734956297383367997726393086604665934216719069107226662808034660564398734307651271135674300178306714412308581921062680509488734785223319496515264587770707405704779458578750055424301600036595953005198526837066724243550369725804387006749388096443982142486680192451955790792567443381432171961369194777112082425599266901228526362518640747894677069746636794279892762421704454473217571589207644652986502915280883157170517970605683329436958436009864662427422683185485122362083771491050409990146898670693187971277334542850528620239878126733144084467588624768804047484794086668346512825674934292754300435734865178068575352927363193700563960319420442839905611831518810931445573857488020126654109881772136161774579629758542566800042941943128354458819413581450149090981587288793068158638142370041014881784453481961420258192383373220623130612422226721178068785737729709790584796853621421360620318390175942208488824267656465601187409348138484497100604433173736877850155423447801404126534457175092825401621522503125345396658909489949080279932693108749568493081993530234738214L,
2508510147655413253481529759082569386652232364948641058852432356228972674013276164182261103711321698189078015814071200301800151214206814885083957543079815412733394169708238378374399364168454571081692455337416692601244540022597557350725811505976837735847662497645976056025774962977502857052094665806510603030979138580245221712694531471833838612115897331206209388867522150184894123583106992026460821197820358757200666705822203768528729843344423173898390244097568059615316828526037083105435181214908142028396552286360157209786811626381983056335209424693730402229850664991916535188180156282747952261166294991141236894597852200736457677830682454344965087991038934560615639605102084680281024328939485474422255859770632924143388623630190481808081066803139630552304272564348014985962038571967975801665364270474890099043407842597700208677689094231326162364039891165515306991835840024642463806051013847044206992453606023164873525441320995324609250757671362576919496524259248912235253549223804383864577846978672881627418083512221806548811870924472284295798961807917307433839280551763459539057013955728958520065999400098717130591399537315635208082892621626733115893307826501176127336388842850649303374115280131289152393735218992734498289739714362260261505356912729921189099975716721065857934308125712269644416155721407249235346436655483069013143020212424032279007891213829178103099883221865971605895988543930836544210388870464108228033653798025055982383728134590695870255429359587498040736256361935385265227636820836238417505856936576316969816159970251255358939620397579791093405697454940525592724566278421663229321755574660552622678371587258081818201289135595837934027893841698226056705657093391386643334891658396546072967348240078021498043433281186177501342277594001847939278676672089524105433818836918496029038346406883916533741475468834477773547143254516383803749452061821817521498584228302071048210296717283834935829076768057830780035545158253267008965089152772635472469732195689496564159458794687181869046314037263615029514326791837044042877736378000042802054522745291177704056662933545000645600891044574364836882920168847270111835758365666507040157666645522241705045095832824240777781115441005874231143500648006140846494680664034976889417307602867001208617166701861123414681470514044903954667713111926679129194109067722639677058236781231430442653999053279124212406234409165811781345086233769342346699270911035171310828747005665974807035086200502775221968832167871488275482971552429776362666631166919937857074353216390783035420096434064675382050015820172507790321752090936178519923611363738249161499930999447281900838769545408517473823405271853702838625675881471978958952777407028779556249216639188771968349895944217568940706268571403948163571574162905264126300125667820384000968651364290718316237501533299456840656970382836864807643483706488038903421044255778398695022917941797706944750760864881587260561063591121147773927235771209771856285697954680736952760653899076082073121032625800952666524377725699583222348321709129581555135554290542101904575571972350643135752312521529872064701632757479010235357390269932486817782331304770652352505484945724797878373974680206272412530887936005652237628379386462437818592615906735182297525945010983551674106456044639686684832106456306409801393781304392868623531064325639693405714245268416683348494517157418887335944159189927880456927025640285309222928602635084230612106053032949454038775185372034721135410384551258607211316808549533500630071798455995633261851921861035951754116034186207025701740450340099168461010878442219137359378401487502836486403948821880354248753182498336760692111408321285043337150508344239199945698875918979541684037065289826995575832233180715684829482067310690671322587544390234712881291594538944079331249666310334952387574893058086587867688013855032862581490603019308803201127109572703400717212668818218261526089665854643653217452131433921527085923072069808250387542488305503559441009255471487915189317164034083697243168601711527092861855102756318276396882793054294387650588713399082538022845663282699758175540464697943805882009475315392053234893091440510205890870456190045907629828927845586629130362360657040673417953096515701749545716971350852268456412225755793523731870629979186212286494311033114325994981128611280789709944414862027520362384322999451467420313302294180945781586569374229420526269732092766880035064961737525327710311914305069253697778469066692194293036586176207141874307313750464433150024403806848354497859690233959781531526862473547485297578054323452934893169742005915989583678967392272469506600820313251733350312846550700878676075004141273609610445832720441755724230199462729805305934007873039715783201671682573213362249321618395175815341069962446837915474310436271181558032110064081004458758978025921360455298343007077080094655311973877430136077511494876067346608344959853494650487737050940854834040129440636628547512654506946436852413479313350681973013222161375919054458153953651425060039010769153817841441492145915506502108602326757987245844340936119302490477164036935938284057023496451534413978212862218111229891150114237355943945992920713435173917684482496900733987622741248792564394308526870860582883114084534345653002150249686113535533726820300455451238534426276360626781754384505384926729955360236818546543681490242255579846369136416637181206659864699562483116843305949343531074412915386553497580939295885480767803675122622893405707236305079619576884594515184781686454331527456185697585080852692006873694091618361277161262618227111493295946527431784083517396286188117672475782294800930789757432857013496367349709697650352286482360474270525325376974124440290655464033959204099339868525399406545839701797014967184842100007345883143519845346535208228605267205705711307682905139234434462195677533721481698461657741266629770981023807423163170123568342996535593289709924025265057539311536754582261836801107974785628464206012630542876394393311238232964801589022183909734531763733290939399086636157665690951362679260876741111867099678598996989894127891963997958284772774843490803384606768000600308181329614104229397365517948646285321242243293161347306902328843067111259987850798938074795561674022195045701031934098655305354805148163164689766287013212818834971020390259396212251531414009063318658679646408306357584456729970242752885481648543953756617726733410051312L,
4198020798498335227043815409432972240792936555477966479997169004763450113945317024855594864766308494945195455575548300255616982357365417290434161169161783601791600337299227711305586133745527485158352535999319781757836285891503181838313316479094982227321471183328985472884940471309300419276617179117737897466382550014986578495780398539651356545791983331717306302299445738320650010364868350241097087299462336498481861166144556165733658411514974072859977694823916707098613600327667800510056552523337872008672037124210253970573908094622538443411454235552747616566071205347236798210675276555812940793331358776111269598229771720537371212503496563609155903992942115585876253397699882824834596813095462707846226714037394597790619106981268623246410719482046779185576746239346744690492759342282418005840612242600615732830157469987389238742464143793238192724057104931349673503190123637309138177404069809348560602760307377068322464972979786257985491658725100719064247686050942091270706459094318909508946821211265272234692083999776211593116521689756628234853318032874244798765392169761279278669918259094929169409628240187437597443262691681575201246062513432890709812238079078989519487296375520595975435159669087656095451619304642593756514780173468148529905251161147907562550660073569430190132400541384854112109766230745746994346959557505720606813232322427222515956295308395108925402742643559199210732040867114045590434354343439792544602637392070881297898914033878471514382749659544156875914632378400341135535428185158287290806042583979904356221721955276964079598555281836249940721324637506002690774672203563011679804441684968850842986716412447670761572601174205692617483461642983061530677518508463633063861688728921364299921434965199581625681209318780607117690872548277727013152009028600126430743320163913242548013662002909552510932972493999798144358513212374393773967236295472719234270147154226321420910840085519281704984133124876218652979560537403048220795182536280824987937743269799760942579625810137958001576511244526153272444853564711037068059532522369969308772635797591635784157799246788304992225421813403883918629823852265435611511657808709674770252422931238761779974323887987944877133159188700254719824603958552036833754127831615341635528025117944035139177682882427663173055283689986226648215675243418870532706676727580897529036003423808392635869856506250583916763308053785448519963919280497586017178671317976532869413751912200175948189692046668023935363922658025932042682679670154656665783697491556077498019402968524645539143821138459804323997363656710237336757383718410218875241708956468581924351436887699482837933126912714784271679540259313827872770816907941650586903036741449870977617106999749333711260107263669408869109244372419711895153556569755224632915555660191702158932290372888031324690171104810850471395655204615883915653997581904986437205056510605614241084032184776357983279763079971202097764934597778734552062600414528373531875665190187506343474799238464951755816072806256035664583194018335681911780710071271386874398488186073410148801709187815346841282301216356589773285415580937903350270988229858374519888471217906781319876229729543050882048774256429487375107055863767661320980529730312656116348477735196113091691152324689661253588421942381777872596384979922462984237517140378569712268003025137310005948856242600226172247145052662681922480427220234845614077467898180208959343167941835555344425606257961071870736723203380934593686747341564659001232417409535579981430759090313895116663208986600586383784559419371449914691128875872167107002638295956985792306640542004212318463376195227932586558816469458567148516865026034101729266534570668531851452616941837329275101055932073415316714456011070400956312826022975232227148952193807571095446481416532953104641705840626916959517940340221392171798965514745446049870144174195843213358366118143358689465186994960884037841376512350884486814144919543452395514181396327704525934959954418932402668696824519593325280450500719235559159472253775978902847304689439306858619766848799781671306062798940786365512135639654244083822981349982663375385521794025716726242190781782209485108939209756369244091050542413880479013264704451389514634752272883973407442366303216089034379859938249347965228226430816301013987629330892637564751361718624847282653619702200636254784494852906036956523295324441503146577511160851513539617317318057693883002549526130076468764055685781689098461891429526467042957904274801526747568599214190785313868598200424162734474090301418716118090764214643021743929706539654314386198571870936133688293275493969263829215171993686843982034314881520416999777666346593212863355294712224760228908665891159153693211497392201694067209810138499103740046392670810443647976034985209527325558370239788235056545892056472606197994399816159643739375111003373099100065157482613698091405833030704659162524969597754192849009752375100938645555836664543283527156092104688965945286499563713012747387500172968926756727271996054782573269022092364749392629625485202884438824391253383157317773278252008857104116198232010195384227714329180095460463764173481789917509523612421243378918188825626460493447957637235646116168489236162564122018945009191238199315886785898945999973330803564529762333537019662236409131236851609101869379758899738822991327752572954284309282001536947730839957966789366932615543831493738458024308924457849830485646635564160636723294222625090614056581496796375545713686949028647946373952316362914194254208196661289495649382318653565306387572745030963546573068251816923825125556494261995961310745255273442750375123838497669542685861670785824904519582126526853728123994864629518898107123035552462677047605924184978778575223383582456059722167930460277838870926128595626731881914350259446026220154793560649019471056442100664122113364342987795814373655300080406839129041745488483204061906992666104275696279357923533263512049349082270295398105062088814136269788249336030886188695436203657258530535787016276577043474789988656358141186519639740296381778444580682980055660403397875550121726653548690290932604485808732866306517233683718453944276332076882631178644115895279222122019233639174293537522336559224749243400208318770352476663852262335793943908835835906006737761696692324023635665674782674404222719446801269493017923639229667533819415676587071423308303996615604711959556233631427313194799339504L,
7024426907863121922866733125959739381900709714842875877599343028935728322774156344443326718805027846736562541406950319225543302376257742271826657909872524916494706504377594893144475086308932940291519456056367109017685985822163125736532745624684729633358465044221059537180284860256030085070255636918439683785415004961769092630964387237531856520941190595737965081067817105911801235712035112543770340864405256681601515197658750821066365916815544398680104395907687799827568124416768130626049248336708686834534578701904239621811680201856393442701825459855225315081414884555136322970586456746013783830871198052297415775292353018459733640007497068321146030847369085681089028637634178274337210491339809509819574982261526054828338054091444645054257904842124906876168798661547471017457487631319790630466677083479535257527470405197241341681039181546142000018896497450813088527389627891646543293922903465829312953809487947895145908947093045063971959144954706555771139629809533387334815220866884192211294486255551950504656563698101702682042669591095271506727037524286708613899964231337689221260345124026315495856890888436380145669601265056541818534687327387040207176166122181040086944756189026885881561152592059089620279210403230144592039830215542051535775077957325290852504479060887793555305326017934600994717280693695786916525273172727303426876788160549725785656310107340667466151168318865275654207530691551518726553777053575659389946938224444036831430325173184334420484536021745043392820995739724005797200411733483343530423380149601536756748864656325174657467090854288126593685310130361434870240596062224009502006020109626920864429850701835874654961467426361387934294248884998499495316953400620769036855149547392943012318369862747285242627662149214999224599317217360935770276650362938492994584523355779596604235700740485318603158337679667283743537778604002104941547396762158552223161999990064534733837377327720888932439937833403911737667751149232384512904502760032156380945194648680539117159424983236193910291715619396076250984104819532242401447284004697510118330930409537416075527201126061431595104216526880564878240038653230299758733302667362470521427712288362481118015897299617312492759582826010723249182955635152197185365738218760291575787794758294490490328702660946913444323946887800343373597160070936315078221097963257980293766831656430409616938785846617850912094207343504173578370800514866574140832340500086810053536329151363664630330539699361347810723569956453974798102620344190973770976324849639655222215664067211075305336959838259757367654050704335546168382709067493554731597049769612729352158159757396347245409900291503541735897903814813760311170831059082875337248535506701665849001349234607509738321534780677666925563247797496149372452299041866786972589754224362789232571588612804205883269867158155320576473033401996592224079798693273205848894978989123740763539228598195132605568151080983920813005107127973150217413331314781323093893877914329256618215832239674877033302745711475878546128324177803456225154972641974649578438386830162916247873507555726767440786748793915070579185437071821313737358756342743854855927225397768394895684318463491187430974956368756999031016206690262526136585780474053582158457518702766029317860904336194280056649552787129318845443600867784371703943724396493392987415051522957760900738126687498654949962082674459101373585871903929702565143825358542585171150874712130119746436402838637286378792357026903184374689946341978775015953453092214448044543481534986603833861016636378470775215408025033594912049684354092473241637266078673998506620652740716300438556041275150822874735912197577315967969606938686190227347674422305601975642927103431089215072864819009330289313876131665630037965774026912414265862731894064317075608342189000320916141870872393988778049017971045794679813087249741869231735279562675420639595168344054317948757508692555886427863460288311629227946589156112463675915643318393189820594100055539214806243852851890782014760586712172060261791002205511825565124774932224036791608875671995805633189183351143230589060317024260722191105725327472170566511525966786470484656292910258172980731686457205637270054884645320733507964681181281247063500014384796284417078987872273232942350279751991369211325958385060443928699760618732214292402945258055606384630386708898225998965302736050531438357605868757258885202823909103056462953909430921258318205260969472581165509433989466036620940173707587914412485287823977023305379733719090603453935574120993747843689641350037443601949139301823688086782386737568629582969223383411806052371345619143963552409428069630486536605073032170039213707233109506177767743808599981248521834008052740164256456031446917303374864087619206307956941786486038517128960267001852495627314364833658396166504783179638494836501596979522471659284294771909506182045159047730476968861940471882979294488657472002770179089468556340271414827814728035807959870729782393249446190671223033880502231758047306409447012719387776955788309917072112386560238022508888651021054558644616425223742909356722838293526079273895332269475316008395797228608740991764812619859831563391207108679082892209639065488358247630368540355254739034191774375785226273264679969082761988257624169360800228930802439531638489249699855018006871163605459175311063597978612145793991309408157168548888348497200727226391509367412434362469713871631434927877748665417528790955474219201115887669842249125732774249859795112328102479567120182852727853452001846426512215583124239130591798496453345953959036152344566587736308293594550366400377589644266969190419368531937146362728649090156713117738749189677438983571994543595910580774488789373479125127445784649499903965713089842870028140558707715802753088104085438168103549051798741533849944772724691466252169243136376184245896421607905787792834969222580368034102563259362870672093720718718756298776387624231113261461532686534621795855985744558781030282734157030107968444169105276045587068984751259420926401863343082547150517148533746807099815696262438173095838702880598009189280215840909090241575128461824110169888900934182286200417442592220817617774680186877198662623175868896127999963474779975547527580873250074185083053179154875242216893954298877385368697037192804501199916899575777829511711555875980881483916735024552774238744612585001599410650095642506497320406470780085576966912215737541863457L,
11752082590401107045642309906659846929678832871215184763488911955300788962341946182120753715403861507431402994739715864708425300552135226580384960167091069761404078856396979442954840518008346213117770615664006712927483459855652344430929542763453580413133772586635808475742802883569237316915428307154120274558423347601930066723585584092666831321662354856771105508910497549259830584807787785721303163261660825135294099704737240070809941140515860177722916912278902748898539390477076864089067975225481939451406015448894466338464739444358941735951585255233834668424838175880805497022224341117803847342523814954000623419528026718153722531940932250813073655170940183473850268547504058572187629036878974339567549931211925632376779226238878168607184483975185817239172870393325712306347819799959535509989119685562338148492161344494774608462516825857746949601039539928214972974711958139612518179600606228733076037753976581290236339098814262165867805930920272083274400979614717478787821958535993974666184608080017360736572976154924116962033168050513436323625106568421308468883516595763805594797645878590735846112041474917379396232866238693707860340878828721313970410052466422557289422122965116506019356627892264178690929508935990901021287046657953672478561586706364735671620420956919099182591244678755930837991024537345588076488234239412367111255697194029075656189609792689932306788311780554242608112910437657069823876584136190082494433155030678171212666099750651139204010273108653738319117418908054329984818892504618725558303000914255938615815234887043338296125122172878017808598649013815027670483941525264231151530295546290747719026776447452966728552146371874155293953511088162028688490300594036383548232459628584412072296578004713453330584000489060535876374077657598099131900857222045251639941028631092608433884596653048707120733189424163246327666546180138333614433844159261117984827642095311339675640809680441890321120271390692695682661133258949089263293989336085102435420535124273301155616352911072950627494827644537825812823282640117410732138809115120445822580157657109759705252241121827488986089855150087837696332811014327916849678655577557991213382668261055170279960684250210663222509815959088041780938625039789827499326248303159883236139034966366642257424375597279827859328487728580146850391735637641405096448825744391118644126041764931914219112619646759840851066136696532849762648619402872394060087301206071454057656460211066056886827928060218337358208677627585178026396248479360432133350839095994355787510186336637525096221254647229076216628963381761023093979311925689719629351516650733614662097432844089675704940050245365246432942283757479500010070638215073669383037837879572276294612830135253652144182652039792789688002105976084437194313389810077275554911122800779007179532123900344013124958119790064199640690197823754146046644741690787236793844608911364926702264423475759533192670724476824400407577760065654464183867909446033110949876148889058356166178019063835009671636906883632355687671146770381017668463951314039892530518470931316057384776360147757268802432119764948300761328951799212118956020471898810156852968679651667502117325581353892657207293636214125835321229717291587529549019308848005630740484136697037700602293973480373300156345893202384279145079636656809143970538319768718030641832414542490468658634338702634434380259791727658178211342023548950976430841689275107882142772865221306290306915321624515705095468342311382117294067731581543242464940063232272042908656803680236152448461506965698302237799452689592323277766048137865537641575929469040988457286362208147676172060285690106072017532235558756566390278054985299951282943884885134051238079754465129770835639285246303061862978475071953697860802503765282005679603306069606322661892158264216649864136952968315972286300759110912839594932952441645766436030559868804334921127292889197796910334512788154609200386950894059259395023509841611315042899169169339822848727277931385260376945907222415817475331719773804499103759608976625443850240309478343241598566016815375530314652072562415410290735830168201640729023894230349230669066111201245221804531807872855495510975329669494299832679813791836428929429513635735992383364149548684426573329256847460510568239262512590205881704042207915766621878735957537084227976418319692566491951493467431280165443361842852814347879085774304531674102372120610095679557520616885336475845463773635054765418638704993301270280220902880576379960386834885632067539602387488310255368998592478808218032856334616614889725677404351802348799930679578840763272397362499878832331823863724517053331143447529735425798869424973212454167887670483096359617412680005086539601359259981155989586391297125802193570824993627081644724858352765496882667815904659870889695973550192576537512932191116948738281759738355953075513704973344762830704857777688192997884231626677089081065086852742244638428088648249761236620754492252022950558950270513477590878685900061234253450889647924559358646255480082996036792715659241529870538713248676647632049625652803501652186449312373845544089530761657307239927690901187091016656588445022547318783138212122892556322396478018412948434075757890872920813952757143007784369121702191535474474079635718526207792423671834667482363273069775053068435561582755922773041087474124545737831625175925921327683734580411474343612164064641761419626430705868549265821301988326992909057613896397616582663676339943754895434329240258991413807770222350614623380207066142261226212205639518355417553002693944496567793119584807704840898364355313833762938723282453048446259714865793033608862980379881817918711208745070453958616315772436076570076355118406980715131924284880504971189008125532556600143435455700533908954963755212004439840758615386793262911944884589791854773181980935402068173980862346544544308551032505423554386316603222604708468462532268968968315096832623728551584372009886227393376531916555995945277512126749285476279936363956731577877715170132434301318687550816148389524622690322498684226370158557154268236062245415955151761141765263535850681094988813308975080536394551294164743847360401704762983732307243312670295925023151336171742756795546681410252075139088725275184508028495183644237183304401236061845844429949491160651089026625651135741317276652814171859329846239316105032728856969509149945586225094753856630717637700241419129689677132235823558672631L,
19658774175859786362173490150307240179762686965179720862204473180995904036608448042219016229360012957481391201993357455893389989295877979876227982327848165891698999207822060436175887062513787061585544584761838298531129546129294894657676354561627517870054675177031745030044337818450381428039367661259511439765918001728153726907188443194562650070482209908522101640594985715315150437238620378297955806272705707023960123121303324296599954670442993847695249394105470263160085345346177125865229018959124253848784234287864757344031128984276905921629642340000272778996953644710379889893802827959302066675866986335845462320078051768247978420646018005404234009398916234352642783495869667991058363938918676815308665697901142791989213617482851692105721770196063074132800272748753769338604847446473507273517281821584055979202927702374922518628177007893502212407276535255667162577554873642407295081583900791626952247766338511504811491411189660525348104483032510694262596409252224616709571412007339783839422997179236773523852668651364916884725546482493688320720428768897018081683722644128960681598952256887811774150467579416884476175306188064920541714785178599657751735966822116219736933104882090793501066413176443200226908526914815913490655214531799643251307797177037819166933573859016275457429997762042349792826619141586925685259071083574846657957827789929050478827398270555534726253391186339496148269168322896277962078519747299641942908078870775757937351378800027738106999092147678309616559460107117543115786631157857053760560390296626372456213996727710639391742496079627592700031238478211660528693298237934834444172689014792632726175832561518961581137622218046131473380844160790094380894444306476752965505996126777629812109140254072966701706395227117429421328026231101647698163113412862904326124448236719360480668210240349599033782385743105445313805513271419703596459086715270360038965127337795572069338042537797193218450173200455536437332280740488489270521496526867878485239453277813736085702928543327751154165328490078476389418854869945770837932583410074612025654954097712547186515272089623976252334538835611979137756596021040355047299576012836703857987602428378130937432851518389176388218419523240252217653619030745238013608915215190496466150945254385667324367938807077766048329230136533302663802813044308993884122706630955949947584117396633100209417088839207617668138546165241560982527236860531136440684916313888383956472513293028306317355855771528494746343727930754958669110991420606233862072545643162869941403360522634080829360738213449301485275580156250655569558062724246501406004219793683568907574490685065961264072943346127703473985190735641005488459030179538086021249476432491531280308983321231171109899745134741745736864263356514779782377005732223420691086080080595933630511996512890073345756066290748977081664453619641634478944704381686589400508865003553556739665572600336438249880351721286308616457251739489853937134935599171103468324183326133017752617561263711475729432504825488113677904053960811320297074313385313273173409634037490451674297241239011965174896756834983134505837181054070404310897690966608266506457810901206094771240927215059540712436975833076760487285786275139905767042724204260885592981324520663210884890356450462136490807664409313599620642704550798635313860835881910098431345519029750583752064969194856915188613273576657642498761376261330595017436204729827401287847615585170358899407912802056692363416317870150580835245115565877742265053362653929005178123850305641554388008018043807491414078681703380123351744804706716840203062381547212588428108329683111935726436113047241171839316052018993245571141674599555373234717430287526149516868650188253382386353866098930761040014196095828627308913104601675195964967149249261564435868367757619944735280551294914268880845869756535484123739489129864789249151451377652379497395175307853286029339431760622947987269678257911851902937432949368045867756631542486295284768515471813699985280046336482946775877208031771185610659294317172349955245138477838445437952937659806833286520251676576276344498937030622315830573932276706012273426376719308916560883502405160038600297599646276233905325311103963197455772527343984883168719643998415013354137658626742931521799371381359906849894536959791026443934530857337481088451889096206885557398058875532680141638695602090310168404957440336064390947902130580379269267334256539252593717619682316338587034057877420787604228882259776151313464704578221027519289535524810884372180683526255976989459206876770838020351641920279705195200883571301855070954936177960001235033951671130372225580601752346400147484166438979375918484159764847281599329745595853966056325028388767919953829602809426627173452963999245110878031516999270241725535276206231662145147106180211179541461718413309650186345547333056171284673604689324707484931985060614922165970107856076732647335125861775490900295058637204138388385829309383992103157498595003146204661128492929724617573480646604689902661539697580676924692909273015184472560041847898290171273062370880248385695104813974822501414569110052785169981200706957678542774107746387166468480815946066094057942898274897977624686124746994940631391905631567438370275263116451668349932551669884109313650148073201018598029724187631598006640935001119866121276277198160525065743425544860972668061930134111910492474983535534538111466924538525708960241792554312304812613227463021146436009076003119016128458437856537699073879253722598751211443836974547540152342255309084230460101621014964092793923597773495080166179878947606065130399937535575496184793947695123705761463770705742948001234445047017889806922342246522172438699864388376197493026229427582759244379112080391720807951897990708791292729020068751132049076902868998185660647451937665507907673211407388128384047492155599465860358004708929716137777883543198804104011375877864607113559474890919216942260558377322407379998327844349797519154996232300430171363305238483095674492357312721938468278906652819573502510655219290346598133804951230846742165480067640625547541197766421267613133085398366875241702864979779265957123784877803250756746156958986671875854764621108687512649711513041228828038754327632470408060974921183200038975039801148152605786858514964691906408162447442370853113264373033540464158087695852375864077676688337529086084863447247999358030009292864857399354499500126580345145260301L,
32880296986418032269982664367477082757437202704542967161546199495354246650145921558556320125360364330614356398124882520713380475584199005613858048434140495303645209251175239610479406438842057652698729979842847298643407221016389551561056189277622090714809641607610122719056887063886184120049528980793300200713117827424820609158318234846943307999260689650394319123697669901221258812913704096998643242872634687395287507698226285521457225312927909191113942795598970109992062929493000921287823726347489789644691173461634044325690043382849916927602999874306482551314913699133776217515016694873416363650660062494200659178044645224389483332755201662164550532968638536385436987034160797624371775936743646578860376623352481778977572641256272280258963180807808017495159452187204540097986265074112304992552914340212721658782598816069303797800781913262680582942887849264949270265666961572569954857081505916223793888379449484239335938476911139085745956856739732786137164489097181076814575421901164914005383659318533324338246729513769147345742204000734848689405179634444840121765754973041166389330499092610434157618173570886695091415887909030013805858028073866328491021689366514374006592109230433011956722413709437772325572481857661346329696296952800663747134093005152122431810963538465955380969824558113210921322621264222124250482925211054010554871800756376123705576870359532178001444337861303611686726985090838916261236910825107551143039900148091622714988529847903555754855765207336437574211916862822787126583572500153044409325111855472835749574358534376324283807429044254366637590882368142630539448872492881475621582799111572255045211770881329155845258836642546667945881684599001952350777086515366412962439068113664075386571330076074522837191845958458909610488966722050269188217801005552771078011084361809484468123465843248025636988746250983863580393657559236688610971841051422906146479566038005859724697878730271126286773151730710399290821102114024742687358895663406260490644303374764906133269256470495352384907633148137286082768911924990921469462647598356342627866388957029463261836844415906741291381506014206109052676770176013298531349114388813843152832875572466943011982913413861999453511653190538856007146147155434800393145316840682350503472127935066863093450374489986102639685718623742798885903603195413247015405998196823621812084410529467599811436284742440722770217476808864102183640443084809992937265758938094107395458706941053816024458838304274718196932698592793135841667294954428830575812389111139613878297619960590403120018942423386033490676435127237025226133506228432240467293926217529324870197079290981368587609797327239657977713494914323940771825613311921549790280130146095305349137369375293498970783491940074255780219299185724267570476636103104231709214455213608421960295455954512162008933155044626610898990020344577781463535645070728173710218150874105047838231242572897781938065610804256712155455327659145700248744666178413584043934859663103679256065837116461941935412031232430996326723540289745772887944255071656856737880698374190742462557931546347954524561330748025816164623294759739010730133368598345508029368787092569519949027620309715382588693269368097517995798086012450262456111135747956899084716005138982565933684440680688811769662047003025261492199761093435667945025484163493131868988795263122481919105840226780491720150712329968021028511748776413772307020107137140529128943621178526054446819518606209853128280139074557199560688016214087149584330488607495601547549275639486357830221497653328226446941222329650406630007433739209341306850905889065109899132481310862877261461774853710806836557470665990355316125718020619244353024747406281355654640906647523834272139112263861843192792352534801709750443785546099050921803351424267852417914789251823770476354915564617508983811119801073890870270779154204972514420323813308021750313277909749044603696565789922406118404414133916056904894964231876596910464571754919570261957180990271323951101862825883564794124807170620175634709938471781655025324561842733726522189740250442551673411766151581714073841574059467796992094739764050525474891417559601742043798330138884307489197568838278617249946794757610250594393630573115820396927766467579839535123892249108227380300126292588924676035706115945503056463491185527981436342771064136232278751894822860367097968165062889652792691939006793821835321888806708569275331483929557974210539360265705247584714426636860679979264135174730687685137425081892610580856506805576957748485235381503702670073708936760230558658934099708976698786268910579138376261976009094244933248101282927414618377324931759334337899495928402451360902756527928275906436191896870073670719571883078993155172000552179383722326197314826920839197988076829941073627667863868177778421629607360154838842622295312476679430203470379035830673596063260988531533785064561756446678640449426939665893266937554717957694344183744992543978470398731547258412782792087760885712408961767544482143574215228577168596472414370861960295775431501247316857006415194722837612614082622930735475113505453500142965063949577232338895024276225875971024804969800315944245294121949048838718035196497508211404917798001689998777753000575053762408595433164043695555745552540404942633829111019611636618261085976704440426602300876316775506930432225249179793565030376996165491306926157387396642970483595052018276161232056528961706545717682329846694085069614888604514363205317316123713171299247195776728918892389585872818780202867237218251538540048489190115211881243719185479704272241296780823349077963789721840729686308246171089798701265175104064509358194747904653027121559972783293403105282328304603643366122615223197983743503308622259423127461784736296417293229361777846791198085957176259602642241276161897259905002081384103124272359012386602574816902543868324531972026571844485937219398629688690190053813054576157275053371982684469091178531663300418313419487104460684482852835616841112312163427069454524344659604082560397044311396232713937654621557743076930926242412034562096976820151997473034177191428876723920009042397173184052796716854050623537123889104520767827765732292849655012639233603968291510689762862548208040834864949158292865836957351686762647985914261063682264482459331632026270272244089961231865808742857966234388702502081734492485886881765653215762107983588203401166556439768288255348268328806882723757066519L,
54986080654908672146932645093842995452577723423722935107960620946960572647114460256688483208247799798501393561156322543867651426874429965250574820128208586249828871814685030824315781400212702964449564157141775543726382666299247825068712054658024217827798694980570955608453612876690600702550752065468731429136614241998826899539797324232831816971976994445962179466568902325736838021329373740404430289817644181018194463164009721711835076060648190144630065726164021801971356003239797990456349404165993927417073317407105076375965522833284372229514897303958586145880361950950922205523372915651041978526865053057366102446577925781634252259783184604705837875101653220675678734753673167099293878519061622059801048937977731017801132967201937890024777668090243901543498758858363139168393959937624624312033871656784277446127779331170595697898151269608236483656039930167165757229189945558005547603972566307121187337058479656466476911099718607711032473661561416162847326840964195919098572357091819308352887834328048651789163772566141140517533644972558602553844186777076688600721451203456353234906099818870532447955812806767971948264468309419071668290261971073240847463829249289704247503015621478309621654917781166637000384906108864726329520219175450703439163129108702348812058556777760950065436494136370289039730089952211457802648989950201236388841171774247626855305128755969480881420965908940272668390000564558967683284854956262935301021928485745462902666151387493878263691709133414428007575416600013795654269746710650969724432888478782933956169365218882733389536656769964531462584124399085275662153594503754825323120034365226086524415869097411108160809259810845545434905087489171547827661447489805477140083356910980425980170700026635834506194984202850986788062134629362927854228622900816283406420957873597443414283357058794917045608743536104674216262237433546329885503508704264459417930222196207913532636525488074616911596736429217672614881755391846923904654849416610808346921780613406342224131330867687639412924422790826812893847035463025164312005005694368439560639078305476168995175675165325043420891241760008370015677799090425140339539935452777872296901593370351645609621445292068268645895818356404132272226673708228177572925202120190733483789566463780515026276828342725130818979208327944058099405178338160923244455633388109553533871150960019205939683846382829460015198289872591599509000935125926461878584685759325905881491273784486819402729040676250778304036640874678322901688987428699205558207764098122092215172701000212068584693462321444069128391751031625521765684111339668615355437021402605125061910973816713883928897681876534363472527780200422188766896541562079931886647382108039513944819330687715133011866789646069371365380003292080314201174854882146979870054419912521976726391760334787218127962387044509809791364382929067864802870260947119845324438764317199020496410714986492704829203717855249399140275897881756202933502434421360671255598413476922298892111863409115853688923840029641038086651327871183723161079770509809179405915409182610290806723246377777680245015704536646956539469336886017770021675398215092320519671814071807684955014743015753492243108404775099758912934608620411412346907899695624806263905245244519673362223800019520581896590714005621208938177853642647194304004741585617132481794141897657672962830391206500735303612357977709053259201095816432917815454813194184723044789913898449666373571706984693124212413703954188751835448937435344485290643160440943763415509298290422615143528247616053860693527560426820455068414189288555309748172428614612630233421608652619810310095952926177370534705162573066484784627741847134105676063789578869236913838482738798574550026043048551102112369095809079644000773669630735219839438749831933776199486932247456782791145292869644011717660119995058502900317362638214399026605580054723852742487530544982911480749630778136131777905543965109271429240670658092542493864098177847679459316196101828333306576328373890075951051910092957300318982577996528871949159109184457895839052322850071451577444529922724947870769522194469229423320744635260823267862501688839273909654692774723399207369240622949512947675119665120431048465628001886514411093335193687159835978824875562435937620221797508931532355187125290273051550193018665217740437797278602072293756659955506060650736856606886881084391908991500835592274295301881227962798913430981362181881353611211407357219047626059796769760499797962555286757930515272645536903675663012840414227741668152520644232586764634267249679316562248510169591630226490448532535061635398716972576873240213053380912752757229637204206608159068704507942689224376916319329870245660628505278275000943456791601673157087559292442339464275729943269568305660161431756050937605852955086916799215241597389789443561744163689443814028679657583486673127794983375607517891701938096982062167965245456933940187452931859994110264564642615640463470838279392313017370658789483746493524859838602623790109485198519464910122472868418005860771915882968797645885110811963276328478189612747272875009998358592182762674301127623626047507504497394459302678712621124193863406681199555844739476140279818116036740354847565779612177790436096478494593374213749982016870855818055465871883489125982071422786955774269039141596236141831362031347968887370176631672730562569593844460775504316753234341086938296655800763550879252186709196429717750416264431513835413361715609272091021010344886121091617238820462646762601773924425348700982040023668835052566920778874543066127422186122401956995741558929833243982263655796458786641157219234555395137513204174075172966111108064244374630403272810313316523449282779902639960223788796600291948562344525743589376269431852804896398830930997774956052140794420426163121466802867539536130039946412719289241588880794119570520733032998703449384699540666106593383948311828641863080805208824057401013664899857256859972387874371917649773365208139175274610345232858226981549349126828698762760750213146312775704838741574620429690954608767776541173519410665125980439600022518717264748085925171207479527123298436887816899277994555816443488143448137353720126437989593322368619856977322888777948504627997334781297125188116756818066372605415847773124287768834661762325238679959439427689569857379356854553811731865553425953440059943730494675281984795659111357727726820654647774309772328326527923053055L,
91940650076436711823471943892586530283441982367513074729527129704316891474674039059654053054512094623878515765257879900832943522039145121859709999176415771035867085504319068602856315067097982233797899017089563655999114956794334900383732078784242766671628157957257312458237832778966898961286783485976105534125435736885344104976897290540350735107957156623405891776772988256912314549339944349373710923822978111539585800862162301250234486144535342305516197165111648109098686673678927601529990226461903555086216457660051497438325210208742191134390137975289033702308238782363523445139240758887346323642605528001461302676624068736272955632863688839892954672935227838200336629105500406507432128996968084116727515294578628422432957934130740655923306377407959481107953584765268986760167781894353287397266454189335145833902123616064350385830681153498537482881565436561501476599693062790768931228755230027202948418247399804247202875236010355728742516098333885328554071875942819673807358760870003374828170434135403536429711054790734990836892776865592581016954295137977161187774666113538476471343260754420842796899632470861525302050820564795655430363974486928379419286831740210025715164477545354437891688729435149773828712610281933741470173737414584513708133971694766385885608305298877407067310306705690273970673159621592366101882839561974007950714432099671962663699942513429759733323151228822846829685221330289613281268983157070642407863853177528000046326103196678860768226994768796786777979422218708218581090903428198306758249999794450016050829228562511329319717573767550322940864577497556258984487903033416606454845979324678257424670921975684452745227183311836437708886241958354265927671712471316963571304259788952322341626878238006584777658896091392861286637942505024370148792189379987471220090421566923383145507940130118372720165591883322121659025047855391515185855008424689123148736611599920813899634325681985200213477591355858065298283266290093377915022409470831861822900373276849902249461868665477149774596758503260383377156317298963352576789617814331499319340834034658687443206860774717426518717644264282286117965820691754896095708667929149355031082207158238716908283614074985507701489232150485463091944822165436274302999878132350579322109087296614088347618881920595375191251762364742426169941489604039848595246646658179161264947160252222309077001660275238980881014288004347142396145670549435358178202548685416600116583867888573486324837366341913972317835334950577330678154171224073820699580363146569875432972934318197424029207460664136004012316503803491489078647752335596231206311926573009552786614495922466937058051135760558419051695377654544911509841660469493473350301989490506529709803967622223479088513372434597705653802815096566969747185163923518250036207238664801352683432601009621664745324312767063104618246300760507170113634736391506708340003944338654466686182268645055770004388920299717369560588252872504473780510182805787964859078399967188907661869906302456073561601971599442438371576929579464653705588671650187439477481798494761589012166462370670375036488710153384757428049443522711688271363631900941483757662983732935554364420508367742860793175828772105840163948520480703808113532177816043513892272208706497062497101425797327156160884690693898500900489972240316511520877109527353016647225948444805452473643539686037067945446397823688393089135930257475336831217209335652950795942913598838541042394851853911107513147345717366370667784457811774077454626179261568191762221740130678119638009954219874815176717510892802275842410061727994310615649395554357976071099994622781492655151591557303340321486381660073727338701561378836345192362083409316073919446252190588110540500604888779781703571628675525147576839112198494080273537164913810106051131087214967548119905255568448296809043144180784106911412704338387178892322153930121342212947624152326420180664121283553255975873199045521926061899103285618331294328489175510150394343864697772423789445299499897374372071685988741156794165402762614615647944299091161580455954210922047390087643438534653136297149467184136598661092953586887917253979176362765651610628272238712211467375340008341547171904047538967893141555156282588713780637268934621855731963099616306669728101415430097638043475584867713787043526779020292458676820941406477121938639980797458782484822973852196790178985274903620434923516513299455844534297494904033338594528818285671170910604537970151794864473203341344951837352798644967913634443724819041427758837459276641617862943132249458815135410387101332092465568254845244785031620444395790214540596311139175111089932031737905479113587827587026666723503088941419245260617252994246649180299385693911591446401840429608018261337753365580362506808585278212853959151074508959055355993544226567652791670935388483063603788036546839388388927348696734813573133364466343235139613648467396782956872251574604172454067592708511263230203630246146904547370007417918056696533215252092704352249493968176038416509512812449074788572579953461993448168149437239987813629992172698801899823199297950966201288266524845693141983644622824286893730457636645938053771395165672470757166860686423635164141298564648639913956352684012838519755724904899318900010079603647457646163165246503709142611194173408461077592766710276183297256042578498088542911263173094057504278097561812715398611324440849049860164266404265745751624438014847578905163340420818066787584817904217505160417215666823342143387885708063928889581170592559536726560538167576993574528037360016551693077924266658260588889423630456656710985061873529275883170792517122611128146607331656839855234402024287595012443569721926146938518053040457328748345570538170828148471974993108555861312268037886802707100751974479592188564835651711627772694168558754580204115515773488103040509602255775321555363829888001117191951460208794350156849761672917204922067669956326773485777746638346816304982031384167113421484411870044251523081610103641767898289880183788771403362666659743552045538354755026421271519288867575021878083734793906379015628874332440961545193560316138391386876599890156375462523183591156757731136535293663418524537302652412991089690250846136795104180136886008939912939417856411468166633354096484234424503318417378463138783458541532701783389010906032683459788646737086672559515904107393518366102618944327693047820328848353785034661162303204256734021146991L,
153709314033142427182577669592894186455810719991845022926826488715383132033389688782286215906498974267392177054009786556365463826120757734353252784203462001587346904995200098230665955935201505897833129160992147178567447472165074544101126174993746277032291190016474358277661594898610130500932930366930681026545431766494049732230081386332551843888393142467641154655752416981673726681979724543782459102345354540141221288364531321391467359400954263940436478986647800806124824764400291485675311583761444638820424940846188400063361458890279907580281279635646858782346719024228022518965154739387396780147944082561407064038318233566692095690855381046791173405091493688915796951723134378208826428255835065670318137018249187498323887535934811875990487577284194090534532433492181520244310370507193094989616105417935708239748918150826870945715545861926710383533187507777876198552607079058846171242871827100888643524935824546790345450355238619266581678609043912792203579394265144389368623202948472301597204976294651369047359765405622141658253465337143530385005478844350846133664234757249236237393002944434473143680455766941617328831436281735908197099014312304157546172317385894765995171827981396471326072677960416908996646418728772277868603913747221137378221578357077113488780317068807282825344834360323069456071909739302029273710993058714180798655685075529327669431445158051146546307091422399719613524898765946548962861350460987829139670846028365752990703880771586814778353334484908635294182688907903571962406612499643058925210491033520772431404228969031802022281103258339674528150868295801679992647148610711137614128243976744485324404678673639987918754181997257979454158551799142593363577965258159197286697544866356796647492535417209072416493339993564073426797370354678353312878644370289361567180488223798444627816909714541682616915635949135641608110273436089738219759606576518873576743644507669557517467817241682916742249772539177480986540764567619714688364094850527880778282218220451754331474416489215421513057409622481426001608404001985299931266299121692603052270240415849124991675421398920413564487227866283984107329504449209429835157467261986073852991386639725447737004681246560471889368117372566411607895454239596428428336912731144010137976804729069798587220941150718891349009760534376599012114925221403781154188936468756261988323107062846400694405262466687214061802938089434906660267929565653309318097049224757184925862844903795910540689842921197593700346704640648279211572396877333901658627071328059794485899700580569086386867999888597815084786492148728446157230520501608476840136202501468920876153235005817985755336442701821204429043653830682200725707458541537215707484927259980885265456545196142332149229180289592557558641396439359363317850732571677757171155640472912829827074904402949761316558785523901793859937312721746649840130748744259123080146188799836878811032437945426436783079200680828802997048054492285901607414302041108537134588595104879744569439287749141413404845395469151884196638063140688353841079978543633605296507660570139208460757861713627322361684931480036808058012461250597917794653290538556916414869514859162548438474043495549271329455782116097456187172260275624982438596334271306236381065793315945227814418321121843473407847232598172924007718321366496489416282253014706525288153198118882210679632908933083024981793975182080772082169930220130687213801027521321292052942635575202845430777720024811561197173880400328937868060108242958528409472044452190405222802525662981715231348166207027720673171426696439538433284765406080948118735895744615376573029405047826532216160983887480191552887777295154669803722915566480623289776917605554638145028312846713655304749843414567199937441244805491746747953872285150806058756268660751774407730470386215264324087039845706473022297087821390476265554982010380786420900382111665736264205403163766542784569498904763956165670428193819344152489556202698220293304282032168935732815689569077399000609835599455072497725127702431465689652956444494433304705221196260997461965412932878825042312018738659994057877402158029400360901168817947068672174429186644045089868744506735145843780918400738038758441091078950665553103134285296124002850347666545035875326750475907696953822572696303655536715212804115400304317749572578802411029209802307099786191096780160080440575374527985972865656464596817208999145953019103040384795125339726649576797327544534284463322727934823981015816274401454127331478718269178818452874524716770550423085721872342359684987919011490913770512023016291411370948242990363627148755568459863407802501585427092612987164572414478841047068788936145245958960584246609366170808331588129707932718256762710588285256550799449644978495419441104875888069161794887482955384824339083071486920991113900449556324090018203719363368976401061340251995743370256266621331459464621073710012465375884282576771481446029430843273095760628470602906759953603337567920501475185291254209481807272936531587184873002071760459668301341196478272620284993317777950322777655200775475849802385411745778122236403268263757963313109261123126529291376703916707564783420278713087162913698338904423880746390999431533196532881413113627012040266569383696894914777345802673282998004936341030911082765668660095589210108578293575529247239683527968293950304552034698937800857749910974031040538479876822470298963112960394294245304782502072037257019091668399667091562259707088540615227729042365313498128212027718706991260450039615634877181635697094770151015479947421256767632161101202146160812215591672362628343499924863135818864701249062268502254833864789730142889337915298005417374910316166857968803244963060727243714675654937763698538794533967753717778882766849112905614201845940615954982148942875962407016529974790174054732331551085850922693430631414142080534686007099462205403527752362358190764909335170719269718892778126947742597715131150479628372212123130833185316532322244914888819163539267279191269110817939009802390313623172061908201742507062598472471966689695280206293276340230952942371575630379725501948026743996942439198561326513820041958141067697805788988126493141331321180648068261087469110574012313217544374210302907744814345849329573520842227091126203084512466250535016014349738163539301944850951757058643566412111291449210409374379146407499845570967039046598787454169476625285267616568025317776414512383185235180789116L,
256939363672843348110232861321209128801693991624176757594636764305308196410005041072994117430375852394154015476693293668505309024743125501656790132224845824801080855399946485712291045633436441671861468094185059704346829852179063708283652169646201161087625871276145565336908415715870782156961826871291312615189061458738921394639588793849389494906682474370052675713712457159090617708648029522940652840359033264967892355387536755607527738385459754571153420894411120593034370688470411324725447092652799549322664716293313429989819621860500645411698402234565839279795129875464305461909573135659160802758599472465754565284825220938954284535572574868855658306220675056619238112699815694320156598616892246137957046657989129001101010481045927141739166096952438551800822385415805441487979651807086041367691609698292524331737089454355592930678436888729004322340920593413025071279524177596286050997451944591771959095078961787810224884381384021788171165139828594990862879013989546619840521334498757336415528121693334288963862893304217797543567649956023609185089169208727104903670183373190811239779675901935643461400602089829672524892568421263704595248525003534003077197116139932025590416378247394634229744622214186432235268935591267197141527171645521332731753034822131183698486298824393406895349383157396724874698219515548299590535781657458153375077867185117679335058039717289736770005970271147729538968192837463039462148024467162816695030805383345559302340709313325710629420051440925320380238761623048404051543970810842975852099403211640770231467660005064970284399356606539695876594505347751489708015195046276394705003079308038865706575711853978223495775968414067379663056193740291929132569099105679928313221614443864169374912387951551562348573862849106300254156683964433858257796480371422535790981594453960511387032038852974816730980545784438937263671849351448282904905551262221999992947098512442332891770359648540126574298063002110691005155147272656865359638809739431116362454308992531208683482373069576349567053107955933948240103423838102219713275250070149122160986400656878472104716275619728539175917291317566421456271381894309338223606262160231951763991875867583159937525982183958887086287113470407886865209505645346106676495411987641082009707701308479065687884835295360603384251428159692753296731650533109778626038262477033734679896149047995614186795292808396591866604566489247321760758846282265720726856578967445493971933863809432376887020808862386929061453771554123408839677182772794365617712803068862056965622636915711004287114654909076168281548276059857700504392147177126134877284326806730362398705412672375887666266924838113721369693653069473962084069286898409737554432291899472529993307529530363510980653744372972141280387727030138694256389032585753478378954605144836172119801551543543111820038484143459063187974206167086361109524234825545904929752116575485823243887449147598839727390326600747502829422820476803824740520605216687906500716037513982871679892903613404744370548862576673553407968555673198299661395016939355154764474241067831888425430006896354728534595790965000999304862563366790604342741148785896025835455638081266561102484637065495069709769346925123896395442020919819484982424797259705699621027464287563954725302269502242281818628324896723965935369268314055887472397282200517257614854081749851419621820822806265689611039116628487257094728563363592629046841043766644608761823021503639163000388478741001114184814783531985993237920807100514579257437174249437545285952941633683135880150792626231253851675244852762708729646941706552720323881329101847849242054673653708619648087560335050022776631417083617602375741743263302094102593878847302054644947112594219913176916228163075624687052901747596738646569117019221688622504642804880975676603023066545109512433686056615865983218562256945841935486080419725676120374713006287743521043486086293260546217342890993902055472359367284610025980167066790137709204001587835278991343854237248863875395714515650871737485650352987632673977600742377933387562135883486757930030391033162592017293630771560984600148813127877319129209312820627104915321389144744785301270237985130435089145723784393093615692582739498950252842105843384262329096505388446635791678603422617481678951746083247906941202148225631991101858695807157926076861058917839776329152409836392225101506381668357866135347459564249394813169456645807568805472591705776212711210664196032775503621063866709446356895737017831705302291615134605949247257566807675849051339376896926387324157054647685101069321115499826663672558115012348343423125713386577200269010209653712356987276820009495047034176856981410224438831175640441535277236415241124912327681399068269203048269198577662843605820681859827351793741025043364432047041778679255752499651630175186716246290294094436808785768400214782780050259358369188839105200355364416034660212893515554984576379878729667781016685477938858038414723057572409135928100738344814994117549356499745216873651487402533227375154053661061211867390161877403398071577075456672284024473982740116894230320901393175332601627017034970139379715979025296124168737782427163942899102206322490665177225583635321268960273505439387683390206627588434737144694330934539872359916273321083697449201858874951853494939765889700639232744052275750225914434531299708967666068333267119323505290451474431038037030476908200467442666876556501464596870056023107906557443626831259713826975469589075756269995372552717144316571702093816492338981878299833039512606210722490911670836214159481265248212445840517127630534006679711749874047329557583256564975147247529894199541576971140421575030190258404480696286081264921823542805861839240056320002455411359068242507051809123097438973186952540442991728727604860089781503290133763884135741156702906846330946800448579461231833734596891993228394042443459812973372010017463512793099230150726582977041554349383719659229730049766021260623790020801423173222784836114708970473609609988704478103960651060578120633931912432279639105365569240946245648035034230912778037365878240941583632051963684977580264863635166469115381630979727763881804889320498231223908492634065647313313601546336267513465044125479235325998464471714405602089066966722059860979181201696070239219503830019837954669137215611131636232722583224374478166791551712474557802053279414290852876989338212990465190554117304603036754006265851114398630931596L,
429436531271060948669280820607522097690019054169466064918454339239090218776135402501374730200397960911378398685503573469397026359226461971458017510184611535246737504739081256195550727652735774008975256602489414034592697007676878837488156754651141582954989328782819325876565592753905268658814778703243671014391839991703745680819745769320480012649063509495755806849925225293108919957581499785259479529117754146031311211687123663473056049442224199731948494860715500810553658186985776482457281991693853516773175423631182362001954463664763731994425432009760771997853921965201301768653889172788768586683613870198668632727835551121486250484770876848295866318450010151197328013636617856323894926054895425977765601057467530018892838642417213281606968599270933333450346037530104540204441520431016520341969482935219357396030905905980066880235474284934605837281215910207332619913695111516673473746681142788236359134219475217191659974467840189269892197621842987704726893551546142388046617465708298359482803830254446327208754437074860046487040835379024283181884162307136366727770779059481862748945862396165263548646057109783520538087963478406419631715089963144880231386320525290421266244570280202365134334257983374219833871551889401803662337654414117543910352770046295388459845757038994457653015804573539744237975347180475613099712055469420789804087020115602440674262716370026405884370453891336909029615323660500600745395448211756691386750295335138742121996640356498680895037837724859060841715971781534708700429375485079754280259046546427061541033763468106978325448853444057545691604774006109015381257675383032542946551802768092178548793967943086634958657213979470532174856409723484697052406176224674483940764541755662263585568513372825761704973792106856816252011027494954401358057827457849556882802009836762976030564712654348199592683784137369324781054899244889061236095566270168927155349907578893532757002373763255379250174912411529543494169240984822895185306281437001347943897693854763165983014509839904927822233242579944151881250891314724624728661218698569795960645716072525243125024064659826432340608299598311414374792664854430865587532825874921805462374181647882074576626572860684104749544705387861162537926481476954816271662857614861568961800419163423259407966262693247935580079649646955831022024293242420100482731033162891054055125675594232844013868880380915792009266635344779436537521949598145607964121097038568116815078381160781638113101112338089431081051090345434798503358262052266403850517529344422288710251868901192498913687707531190138083509792597778660280683605448582072891664793690286717395518957617288446662528498272917323777453851771151697430494384008482880865689882080404515096075923111906237441923476385436493924566712090538109679483643586081456545516827421257990663957681096688391890332276677338217553785032663580029878453547039348405174071717349702801134769215557842449832499177164225813918264522082091641996660489310326791000004570206378749174445269449714173832606301149842561083375428184910950837278437289074866310253100543398146691126291643620862309644245303046362685849448907622469222611132627339878317609761799550699919155899563542491240790833622165097505308599059347821843769209585298314830267656126131226021089099047158602899200484091338940642440274635399983769160650805134425037677495850032145958276067214438738363224421491508904963746620443682507918317768911789648886963598722057586671645287432925448887697547621810650725887333136823356112785802084127711267003425381243868264099889389582894502927740216633493728610588118993622584297333567307945794836053942644128662559085179917267366669055672754181301010064005271200728301701605925198669526209363429015624077853744266547584814000560354333135431880994445508618375399526874658005299137832927357971341420726856887754965231311512864484143973938166464006665951128472429240433310710038939254778601499470181075884571727463814294346680102691666912900759902249626576060034903341736038231359929528648808370607691072009168359929886041331540242713887068573891815126565344247081628155188088584586280886460767313355718600417729303130399169493624299860429672377214079926389982405110804898503403542690162541287025724215517212551960368394057328178595192224998872555332623977977302744028395526657149969752374223457710814587857561380822327908388828235260466633631777108895781685023166248416486071376284478678420722395648787426820844397218538218879185992074494497440114162950926220542208517551542065671712979851648638028528568557982289266993509540530501864977114270798723518550604421052582125966053425662956228197372280221769505829943882493770222103357749424347273624829078170163043027971525319639215838889669592470099654796788963685081635062860697034294296320799500383898633714402726418205761256222587876818890434981475546190467893134908603703659808045230605258066662220168031601717019915981280034073449150026489939285208147096734398519375237489188939377687234346821156683083678164791257043199350693242922104560803707400030970124450312637116818254022075783528513910871743136130522583162522489548722780166479623845568831338665390469797888148919504801316184287866457710040721568805192689219279414159869933907221605481261122502306733817782519976697733593977975650214559706678216004458532833154028016813202555936566126839541653708781969464411367288004334805256387785274328307071023026768024759481146723665248247931832627281212847554999237684745202661939872177011477016118845961888203793171610899146334500817501707397215472367577696601676240282842701654837310516505695001812494861759304922168969513924779422986500364376968741138448927309183743334738944420134123678984205162912902403767504270288458817982123179832583593611313212218487002347017802452176333799639501291473755654652505541650293645204684227672422401199882314563336664390178862776015568301672057289325453509281163041476613915826658149656904639117302348080631617211889884648454395042970330828035785179888609268772476290753035708061942638100198750611725596495449560711167973925450814832790438256189755212250752081057771615313263064339737463973647491227389478861819560140513301590835094663294733156214396208299940451347911580918010768391232761734874838506727267539372815096752731057064269833439327709857186207495931780687778133402128261155294905411705077503952583569748497901358735065885622569260390165098911411004011549116955722278059735500031L,
717637702122760386143935032059609521614980443517459655067305331673832208480665969728924932989867193962514804954123481229671300225152808750217328978064024377303518699206648618681436375060235263290802191620166591140303623266298779639375028950787965873780141423531869929621739888721012798178441923018456805098144073116447868961119033037498640846746610218659152796170550936859689845813774072660640449422024063255672723820511719172791147144347088108597399960619728780028256355171003657430957341790019309307322259503407597668167959219867572104564952555317652638736954139959828563613986754100041569068279908789515961643623759050617038081778337675697016314644194342829748490300378433191385734433415207436360821548814549761407614545443337107571325172064823006531891803127795779040147671421748309152167573423342119444324841759471139381925487741873574525509435557314230273783757289695787272527924852428532151528571103288494949725474421246347360383872705289351981104345549794305741531441211087021987110385342479496852205582367355808232888261399319237934060134023272970940810714533980012482242313201162012624133682070803705642554490507907443126048665496860038890454288886944639778735962104338166945003328072564271431757705355262740555683712433969632687197304352479540833550202111343395477086551206762099960784911394942508449880686946444753557793325207859594826415420104702188442357471708864660941345319867664905192199649817044160297498683760245506910683802663038352413566127762343717459070332933408088741702232806474429335432033392676768471874631433486018428145324274942184478526741502981642250135476746157428850050436736790452420791392878653207965079205661595720680543277318816113893664259810735328471494305372791105150021377217793653469084983579845347071428971559994558029747988191128403676396264760144253615432735025137020458370653022959817049114538047092038846623451060677943316898449512138447876852077820666116848161750168047578878756312434748816224294184709803582222999556165733606559204634073053174491775641700761998704219038247042009511576660159605704758827627006714299972530171580047969753221057470497761496154255759069719901066906353178559553744387016841074934233234458144020514856953527675735121446025345883494207860602081302844856460769796556105489593484505669514490746445417415068687238415358000206923298589973145262188184831646876961557496859977671989009991619227356866909878717454091887194995455919220901659289139223624405569249686388753269902319661670078722360481477060007862013451621275804608198718667985782017242575916394463806210436195120082400667493093298862625983148362513222653238410930674321507530029033370605136673380372404948911600919854660635505100223657103287324375594216164962192251909033196377337418213830887239105212863694041001148874409850840915066650173067831340692121353666128224102515040486414615066416794947306172253759427017185865783085628853959389118073385963926278097829045755864887803655488551540893766695675637037858820583132291171812836614600400264210171612064654250878351016985563312562520309441304265471084621956604302338196408372238540472314061065433818249379211946080584332218401344748241672513216509263543397572589465372892530188786286804219555885674506351731329257588791452622741632492703010885322617240643035208322245490387374556050353867929686853992845656785541328624834232247837292488833238167616755884379564701182516008825920833023923337595342826871806683087987762597295658998522146142945594402096179772821827730181358502850820186931974648363842400976808258992017307114584509344144003288831154425575871201429325602577825975489975920678024820359744662282661548481854437228216452163387510036120692574027170688730065783298292928561330030646561364200221803346912953120932882908008793756544777998760883897118734007293126032606880732886704227206461875232799077949172532154497022702065342853979194451554651480628718411865947124406700520030672952167150578113610975446706056083852338826503729536609034639969224310280454653529874319091623393523446057807783120567382324276116423503697939072323666806313674758025665499399474231680883118942699805454658855196533652134449746994186270211449951088118274260683061231188395267010294387990013567155836898191849999410398693972148170739782634187170633086018384990459950615720606282344526776648584260799521212305586984405511893532179706076306813315700965021886905323061684549123006332733884758506856409691563725045662606445187472519195891563061466370109756959827945324715244006996226449840101773180934121852542807596000354344692477536183027606048387581338374570291558340522041838344387361537043115104238434308125990981764669055334892316141016134083066175869281006529663204587333138145614304396530080529766272580881604237558309090670066233326189145338766776056461541692847619677855138528302182358262821605690170273936590425361744249022556840813476186541160650804433011642019979377250243456471829974102451142805729542897424628695437775061496006089658460878020357773224844117011984914822612833208496284850125836961723269429860084767030349407775354412045639792443461608210695686014251135137493143685805039710769646188043388946581176693663563038516650683103819722895577958111116439160173032763208347278299624064028657260679540915163723378159699909046640969609813433270933967654418281618195531623940508529419477812835115071795719211052153436625585068556797151142209928053176460884078812457227615024563847976924754771506270428432317654984091157546767428916783184882597523923281498261754739131954017537110070312748869797955400400935209611939528810095568738134931534664307916199720547695905489707685556675654460175481924185205101919171963324942573888749134387983092811941130761273767940534812370948588733034521560757798622969435551767138019931675794973752217871561297084715573022447259139496204122928612516346724491800913192245186761310148824310027448604460803641895130321589250755817060199273051644148512191261036129106656690412114790113609764584178790313281680154156469164197076045899027554142358104863594156259491902594690071437450970434269215185166506954034793883004624519970486785918769979639501109592677908019639948561766304836610632653215789362044734123703715940187520647805906903720908938489580768179844297928506688968767788603103391916027511857430184857408184669014308056220492309967790194189486443645898252937175738919269440969469972751612890141475423118364203696639880189937173L,
1199083599479373523478312982261698587058041721374647030934525808103349617508939940801881021341384313002591931019304098685813247627842691701630177547767840102240044607575806626591233078329299589645629168135469401305209774745745808119135951188654862063950832155813384300838785244933284518045920773608677839704331962776266664494026952970402996503055708606105620805428651389086340932610198935932806996800534934023886172849104168427972482305948267050599981491125559322563984411931395814959505563568191610927315493489211067627806041836161268993221974149661019747280671561574721228995491867228127782806577560144592556875176388030286140984185666830765462245981416931933184998782979242356376994855638518895333446838196090402418674078866912033996168707103999770900342912507172172913014916259682828648340650974424071836286033172736188452609624145320273193496725922369648372267974692657200917406178194530371408696197603307798464886163931050289630210690613023153999850077324919020862349380612046868224206112796841795375908317295457346835127817237637605910467186826106807760821996000716443558430470934642244725714527996252264023765355797100652613953885509695791538755375056715461547655068222955673249826232489107256224008866761528891260423738094243135183659755226585266213161184463409783749277120014459959524057627910342435413473624033310629317356396448296247875190305865254483403356932294196628940690258965533155306159166946116547164156954344636030241013918201170647259287453136538259723634937422613069758205420174469871916761690783076267883147684276840462835736558339802580039292291093081784582255986100707031465346389391576969332581723215633901312791648681581052373341390425004615364813028993882242301108074592420315559341260196562131320908347011652599304663382030761091890909595111563891352196133656625330459186440993591944585350849236500075542322085930013983851580526636814175987356228981695841666063754643715524505697043915450163208448363581771485082097769738501348663421996097833620190862276228903185698582774123981798222465450645639957741453557330329282170589418921821678480154115452691032999380434819085166488536266777669805841851577217739066443303923793672947251742186850239774546988015594878788122837008485116346351255560246364493216980004281874011815140313567112807262430000484260351363576409355632423915207454349664026923144390902677972662185209015268548103325860383411476158526444613520474359412027376041284226450458673382660861551210322632977126845644617690952988037615618451194821520487370398460466033747437330216975751024877611109962753258762132846282367997893054174495278473333256679998154725855517814779431008824592030699214994177680845240155629186751019798467119812519823403215832303083543771087157432300438751679358602699183405873780320998317166285650326686017812388683734041628706599020083447508762139328646654151101120832851099795368606344505902662839310454964875933711451154119731750976639016811583947704308030925772926284417048583549194730180093071082944481022662839169100380898496410354327045718786507640900224493814736271799144163884389659785140828542002034639196914860128989587955430013484331820137967084625058992372362271625858698798702107786287891806894726642474199152964743876643092564512786792380068354557205789626401866623017866317197270551463960996817090715456083896105900304395931650413870505911637993235827296904307942358213327919979689630678631014398324698411536643876740423516901949591097543116632967005830838710020107221204683331594647503188066981151781040640572229805939372082512683866201121025412740967022123110017218608388221369216265500552125182088921449255864431602455678715377661608968434085256519372243648367001835372267417950255624264673932189859975111503820086073152786295773572861510546607176226353835022984999603254504461003769951538944845758927683272275393050625218714823051972949128030630603515001071113316586729531796833340388918999497488499420685800943772907283902844752576471867198338882063765179381101481798824809479321768835799469900665410383050589680465529303305860508027358081955511467839851838534357827477541708413317556165028330307596565168310323611709154636023896289792368400878873058911941468725687063793777799735269270449237238774287767174531283322836767643513582842833896946522394418649454119845478420875468126308777000191431485648932053879308355726861357420904623524589450720205900759085373464024712757244481662847490204522049537699283666146676766944826263282752283914020187049263246048799136729033232795587292227439573082641801779686034846007619347826612411204229615415453333939920086994619804298362908426325002949081910283099106099691356408156576262046143578219665879061884736356473966629335031994907425900000421231604769144409601954396593652565054781415430022240594026403435586164162362723846899736119096819771034662567978886233326591495287578688761309244291307689484911244495035691278372668027021232498196800432389569454452927212553227316603979735197095753017038285735280569316286404139027272403464605362695275009277275423672019002985064646315187152526148830921335865943209407057198331774102974411227817263000119663634098800083769765920654963054244143311140841798583413698454389422336191175586017208672910784412319530534500087346961922403819320469865781663065602081724538904468316636924219306912085156590948898465342287433294178786392443727976771831344557532872678643963993413178054167795440562174200721278303406166718996782224954547367604335505872599166443011559766649225654605394868279878616529207519980347567987773397145530394479303573531996290107246948338634129925061074210491521357487295537726424061973876092539127693879019349946053244716817577984157046519087411375149462329555459136727046021656809092115334518253900857954882070472096822535968787933646125763590411965693342365298886862156839315735142678611232898230181065477032446883132037539566237792530798761976042936887347926635551948123915936761948125114304658645267481924272057491845995532496426151838965319070786722966718472230591909373167638562571966389778474419094051814089317467292757565370034010167636978631578037844126403722743493481150895905027414906327606107164200798013723469472566491300623848016419112161298331991115600015449699995160555521818798898974636138448448510541907586618074040013542369568879388813000785062696670014038152503279854599136342280248252087709934436342861477861614789266608279331304732802574076309128L,
2003233945116620798183208126435670674525729922148573880621245794717308073190023752059958083673127273545764763721711255235404761728411449349455972992799659391060688397896640676419995613533344776392550926551799740572484680021275856489720281855384916023268705525193440907445193047214155640671163574827772448056222885681049685185010330651040306543815759470684405011900616558182514665133929179534993650351750425944090921184525555691885098041095007972453730061491138979141675702309427238655706927660072344986620167686844816579031658505532094051986531216978622029957555462070832196934167930918587508865489043993869503835452512518707793960377712947968588797599145265460892833708634034220192910640829311094335488533414263518115293251722889882724540620226721619141871882471332634168337329344501341735271999213501858929619721377703221737492918209625855016000387583400015567019755887264467961339508598533460061533516676426260408789007917491056957576643887125796485758673262326170909545428900756214777054145100236156722345724641586437072609518214560605942193909500051901817215083099771664691122017972903644772983736879933522751658719415054450773633856125824432618735537165040693280324690999806067562609807544865411412282500721508982791167339473856161910343793993073944936604911653808039033590515589748889986278902500114713829828431507224692067356259746396550782510625381949623355538165923136431136115469579870737804523910024899923985625451975851168484316653654462109355445299229131185459376141985627851836173202647352629986013697256499387932037615275779547383392017248839112364428511266697566662352917841150585786635597395994579294290877519945942023948662566522013337701539498995371874548638115472702301860863815498467151843226531157957180864672615590395806339598514634950875849751926627778712562388002093886047059186678636605772400312681873222008766043298267667909668392749650371166601279436426292622943243744090774617918803581863611624099776988044284184546202911475689600396906245835300203177256819811562583705331714766197918268972991931514629416445635994078555746780005139576265879371212542299450694720390988860601938348580208276446667285636069842645423379946387715570120892682240261661027954431128158478735787142248616817057680710361538076760177276438184804207652175692696223297951737596897543751314446019942665103883214907722393655951350264591986970334425410992776954820918963996521518525077036648323458558015233791692213088698511977218711518513299754816345218975040939851685401062652124413420880583908358497108170027456795177202245466764166195367446012675725379120702793951761577630576321343401340683208319890465061426738411133875024633677935641295753765899862811650798490047764205161665284229343718047017405093501135454965210804330686906437142707232876269290073343153492877437666026979417398023140394625057404960519763848246319014040265796872575048304917463465742015407270419810735753964115489299978623479100660593963287792037421232372390964811168553530383698427855727096209062158900653057639685757429688660220108079571036516423012737566244547182465787594015463392105666059987838774893112852489072890340231772843389944341973519764460693230791124759679884271598129642407485915652365372166227570461997661097827357309067516864467573369876307612930433929637661261197944442198162949160811357465896533620348858838659028135889951362645521350134813033980243237255907734450070486429010164801889986732554443091873870273478828327881644067911916410642261483465778296230736788810453731805988451311982010654219009869504818685878096217735493110428206599634762389800156110895820667573664641744952496568879239790904459664047787126872627927827284212667930003719395819239506287584654567288790141152839935744051418571086854783517796418056419342059557268133933666645483344430580548277799411625839626745568839986990764173669079530724386246274171317670194159635247046589148390595685053980447701861151042925896535218562839140358225309367864820356318593815095238899989580467314270233726163087423458067238277853327512175271778893487906137270754779610286903509021796390641785097732266406792468993469754858184537422438233769366241218648093370226482255899203259582718117360843492926843108348701734983797761290799063818567238940233071687319828152429050517443413565703435355933957561186113232715365707139387834429445095088540583797506292781280043732040411795644443488670404314334790568568771537592261738990454387965377222716593720439152913971063048731998593372598101486418332894124182463206481231252117619596164636321870316150828913191468474705319551673684091885418855778197238983276174357988297207379958032887597288348790902193533402679385145394263209424602812989223978122308201445151622391983732818185166140069046654891491139003998007403818905904542829829727784342927870516998558218435029339919442886307343327185397417764319855337787793435852837110539024934639280406619407513532453631734963293395907328835064103578664765242118522906451155194582779098027079035940537086999876884714133136469238685325694708403708986607340145046495562980041157379062925215472928501036628217503694088875655884697580360966509871391520604278030953972139180783674220400984654549286884890340402512285962241085325078965766857826266522362690497953904597978625570851867905924621368348046667648471254364732116924453234872822644303363889143112198024670181076404053107524231698885987008908779307246862539622529880427906166902476764634120427130081388559239365948253416793816558970641724575204263524044639042242419810067646192033292235335521498822489261410494568321457874163866614063393898611024495210179393739329337406661997994546988236591556276170583591210694226336260065486484790512795289366600971506560391766325811713127986634799951500506618322284536640350596458471672631249543542584534540312578629195415339545705033514953953780215458142301419130661061651592225894799861024134383748968892260269489605522691180599130553105356347039023855961645907356128426318091553360307199178876247585776820146540459025276968734933741781993270880414174814604298475764967845143169836867212849416423185673455651695008903779156141744086443273470181278344997502960781557715605939772135364169316220961955604555815384932288683473138165976252959177521746704373484261359827638702611514772084272569469125756963617511825425011503454267030131358702456280358182688552214375574445940468682656137633114020227939018070191826619987078734670484L,
3346200092920794774554902758624315566611518195768653224866796906252834157224744164322847360980182592692495433252261538082530705262822420553880261563010876793869619894345368900595858330603699604348469878265623960209065917258541546073779406785334204865503629164543210660624028338118864285472252517414730420182972878975008213360606480377273809785677601560715208739293186445959491812398681293761256940770342151673943861334515682306973411265020504238533177983134296833481271178690525785401553813769738620471620398445812978807513324697126398818145496680009067902474040261068509294697674716760155164898479692522711321655736627592995748817011528062113920121484273289868310013321132291258298036063076477550215819525063926434458124243957966489923215840963713977169661506999403826151030976184444759119626175526954440131017630409859298557616540923595893435307500848645950656172639402453346872400561477932628287676230640402250205522289583140698874479224637418713833684523341509264784904619172165928707534650770274946783148789103053528197373884092656094242126005338188146268036973511237649960967200650269327711198140035377120287171298707054198595195015893277734309480442795860069666050966302733581056007591115099610266019180543366475652084717042819684805738708759448014753316447017473119629852977317206688963094115559944963947993373076850887417325511521326868382000812815246698848052184417848716627116434360663243991287014172782952230825455893651170294206480417956998484384321273913497789338694822376569828771168940829200735486203724407266358356738952268559698838506869005165569520794270131808938433359072385488975136115300236492795729908541208275737712244938521221631026649538558180453654177709397143124969508176917889905539530089113643733969380888765892466392266173947504321772592971954513754456078953485383409500003461294496650260948432020868462121622504667849180104141979276965409655441957556432701746478151902916075375073300849302837593440045073905174749274793573841417201650918414787437063572407357365697849529981861585525369253910455291688551933945091361184349245839841380006317927095350756821620796402138522815420993312080282837925589245647575419035448050866134066519180067747363842774583086693737722101191306909272734822697409183974845881551484805505787150615714549237575493493840578652688102874687162607198952211503332825452982682180349835230238486761969040034894116679058031013243939623830966279828061656408111339838174806632925235557789881233210809301856944190806164740723365535094027564183849072650464519980280938965123031561250055041600468359870052884421468862448421701814260860602511724465621170081101152757160772304668881942578238993470588565156138332976334824106166008318975150428240884503850780197470199494271546471808702498275807195145325713011811489439923169016827011304238300267401372506841279611141504796140388803341915230160539876189748669384481874584525682467574619614735802632833403281581371947109962916614261254192761700684073660515940977440726483711377837301789975276760065112666206820868732478794286374540756676113907189096655633840457953135806183372841527226819378369735424899352710410229575811775590656097773172604534381185595429890125151236756024493210169691146744774354189318311020944403697039041244958628964525633927164445675534720483772367254216755663205075200268337149847136804773853891696829538819070552230277055153960378647153649910545921915769230248885561792892128099344674853396404829116052759862489787838880171234969838944229961119761747767497756093323823050143075721456801438334663799107678331259557306749073318878270300154459952198007429637500233531647487143181395638337559962583228205220641792837889948279332786325974537161208778904852492180879006099256317307982421349742535373436397070141847162679189307263818809793131362084793431460083367966830362875933451780432226351663904060924528950313411268078248839244630535195526319183075793221502745381944523062631598773966220222357861463790237825509605658130927826179223861395854295321578677069854302309183652696545665303316068797731074934975379645073499883696565663586299861556016835121969928545731478815589304733013475325920528987094104619602714014561873651689568352147785634801259211640903892214069799406592987013114340955658721440063762272126525665696987485656100230007988004013418489610452913701401815269463670014057228191293944605800548303215647074960377678175117178332166697138123173246697452886064377912577381316654298819685471455764195057874202657878383304002122120158462201441939311134304270814452467171361973320878238367937550849468478440543784251222443432232757505579167354248260076885645421198366979931055918436777128840336571750357598900637253005221971621607198297995346912465837604322674532455626635206175256229754744584213008829412911382233336021364524084096140406327605764343282152201177237960551328628911919956712130956831452190646549402281172885028635077865697214481632791029781981849195006240904871690116780499895191327177765810961476242577539778948771144236397858643086187268071092984800473946771441813085435725532934333918836628563387335350637793433339668150905656879979330154861736742941660151508331765443447575856864844853122874016272247845293907166430504261374477254107389216859445742194398300694251146504607681141969724185184349145405723605382972006365371053096609305715723516050996550892645189894334648390324660071988459142176497861345454183770466141498126790812188005590513313030067885459671552466971725107790853992695063965000992306977928382662469397343264146227469719912028047378762227658339142087840482714272708789773110711898774748981589814507022131526061921573750643418048274831552309984838244292327112022075959875673530602794519695865676443392597404584513621661741984133205355941657462551976365126759667769153890678531008949260322851500893646990604768405764591476958968673134277929231479355745692121667793019658688637208845728130025423115729673200033745844516765560013887347764379318492614942321243848503390074342691543713755988622153258037689134187054033956353922275911089293435219019540238636429905587037361497405373162785685705679747262683514956961036289715507011977130634865407964719118568726244760210124613313542557947336190569550951150763775988625084227193659480565921392198676203925156825757745429251598594737075058977448393780407264157965260634032899192940864116569035131245706652469840370120805309946468294530605050476905365041419L,
5588692413132059914674272299759370620182422927776433434017340781760511645930534362033792611806130332384709340535306998220655328658700589593131813491975861730794919943339127009476153170598379929195597232237375389459315397353919557125526473025639558733647625267102176806541591122748766586763393553049658755137821567646800646987948385841306209380916030060816701635417631246918451368442160371975924054596130933201655005792373716744318445069151197171624801410865024525290649037682160739599852985210638303614347202777469602797225592646385228194565051408478748670619428231232522884624717932336233711154248313956919986166243866067328920231785849541754902273097287278986882520469653869548374270103320519697467689218981323311594484066618242119236751253940630908398536556264503083276007624940151023660029296627535612124226477584972734085226436902362167478191524773334228961595286438419902970772725903742638182395649593299889998730028181436493426898937851773063296916537647273119079590046272878744843179166439147069101168295456641630375172062932279027110996706025564565474442374015671161488807915440122381807780344054379307150446427747479148364879678859760437119348711793973428395074283216480315547153447188025942564771242071273527647792783400904204963922531059044348525847006999297189983403107229882088559355194877424957032313729653984456243542012602660134636064089192489770806882131763241544098187082961461071294450041490977512443994249363982259608940705472628963302569426544523527030259562305584943206659175973245360197801272027442136881951824814727663056339112920452514845591905556132254956391538560788265103096466618651554991434142145357545704571126357473514588962680502818058068884652881984644246447983321499342753878360943697156237053747748386636894885815591823576552705981277213083616322617986040101926768929424819936843717754059101301062037092498392340968761773977590015948237893894752541001495662388917068292077260995989352761231581708727617410733553519769064738174868224732621452921192935312538422148801029759351685913080416579499103856172274525742047578797350585517850864159026107706599315541014617464433524216751679592278255783188484860564675042291456594060120653763947682310926856597695788924137382288896271722063208733525722109554147496626937952109360387071712090162280239562410235906271853458302417366111021646843836075938440188785609746961276872748210710986802324444005957319614936514206219843440265826225848661884485977222683594024887934125373648753293848281807839403734014725931474713650723721846117622709459759906752724213903322664490506217500156262885896086821526855880936570463808496457799190275118451584167055096520112294461905142321605248680443621194488249145063923627934703765446318357443059583823690894525465113831515654880953344862830095229358026982686222171136854606408070089217574292013018764395390598254119611512542748833428997236649287209511263722245797328649211650011405009644195067564987133700333605461919540112400023333762517933616175484574151189883981527051002736195788055121971981865305560660020329812544121049508194155398372061388930130222672714369463703504738973779341900393549160245473053526963580156093776194915256324743798388301756630265971075605907376850621457818821817881140036590215183288366744204215410434456224210421316579966970789268624936599517560462186448072692535101761788041958170326056581896108639250221343340803044079363153983657589266330960881599644416098013973246118682245953765881925794675020270206153527967537069432189133374696305873188972862997960835686447610440243781938406526984416413486316951336935996384733806524988411372882357759498091517249672376258274888485776563691263214885854365647199489949725457307558178482894795693005579538670509538619466584726521983084933542768778684748878399382558651058403019949316005600848696733059185923288752892728671233913827578399031145380249109141720808886317400881403426253150433949766832377506174839524122947331326452409521327162353342988398282758550901043687265020869075431946458406433993874860664900806419386304243757979283223760176032148053907479289993310057256841890345092705560550467167336597780748882487975495236416332690225747118231578534949154860552246214027348314436350377465025263387727437745452571738580223385165472377610389025164629512006355110852213261645709200791829799806179340636746912028113377632352141238102260177103199415683916212916542173277414359598238821298633836519067444365940459707000082360827004997589277267724829126398888123520525629791690952830589560877897116443041139825203594432121451516745341376427034957505394664293913893442492632318087911531564601881414977141845951092867987043733367577763979501504994650703803114051883389080035305749922825475992807096723516827312682632489203352740210633080083608176081314658984736046719958719650340775655256458374974747408482000258582560434127241202695761690562114027898647614674832799818670798159510519554137149314951137242580225736189815084224114360180067374341008783745618235722499798423532258454973213778373539258848514440382079593164416831961264507284936472977997217676289103915105769156177838589564862877310309007917841625315932008071767497853319646887739071318819104190129196783847458207477514120814535208440170019268619685386260710110129336294671304161115823326800979650376149960829455231451291543071428472602081163583310047172503933212816419945972545576611870336800238707086622640183235872798897504119863154951446482337944928319411110349099480117971380621001762590368158992943405614504268720896524515514840496573646266949661123778357345958552082744022636329389392824609179030061333560656486790176145319085702002778604457457353807333112296063501973204888687700018383065185042550987963338404795644126048124125354382244153008173553889062152409269526545355983343589260458661371820453186141881281734615845098131641470578906384320999724534559516117154945396962530313249354948865223589041071237177485217276485891841739423789496922618506380536050596238009213531983626458803786619166074535248464974279588901961815212113242247777807590910687284672812682375520150163304368307727560312068993711091824609980147719044094334403834333283151652398673779342914167731176323926123892656934474171643399791390010219509348983699246653425822233262969868773441855501824090420586537998156272665815506964829640296948543216418899965880431208455740558428322204287907671920436081966761613653991120367895736142180L,
9332685050187596754405676897659821492440878253169169734442358396153103525110765831221527248098333150309481390880268019525857678077856932822644001529809123084325910633254776901929389395031216533991050765194993737905874652670601535075077258918304128373098649341521405778556167931397396551203659021819675033897258360595662750062127729724277427089208689365071032765522878429190023486824948719040900026391201570854463936332782552793647052676390559304411492044802969312324601077333530516019199505883259884493482881077259270883457970717878344157795937264767476037114512866367134750201757754823874560323800331323129911740655796215239570820371703619830631523962732355056608472819167619548887252112768498469812122262509842329052883590588637025944707493031431437753589828825970190010789932861357441874801827576377897107615486928711377680620320916299529492945173722252244164986504270865341503407758550298559585879858554886115537556203313774696780142604534580049947331914744848039273524025426649578617506735897343077179961651940999976274963289074501037262342819450342405709005271561148004405101820466284710411116993166307304605164513033154676661735509185283018947412431577299716448704303248650227292559217756923499757459962050860960847470318121183666876052118005698476576332181305000255654650515851958308551448083393881093945466296910890009331526654296836119304900984288869306738339575333386188674267193515056646611700637310149533908599702137151940685587274926436859293796630571690655922924415919076897248539956998697197842065995731362312240198235360538520236863847854179221989294082599127772689844989863766718704326579461018480939589976149512708521151502890656537565081620157227345611301470813339529045518811088403063351178071433203551236729780445831967155902350488591908760091405133977143873255797706352614098571573892812755037908745567219856843073197597911338204685601995529251106312817540383973151744727876198510431893853796358572150131136573579589794585622993795767095073619358441744441595500640547921724087216097903819785678553036646287499001313141480157609883057343362567166368659555729121693753390242337421940518972014767135460370994341841246270325879590847476441116208640760077493181238843257498096670028769018678284006457194262964544492303457999798515909131086638406540680187824047150348198630257508687033745425248707854919928970596991452910394111199437766292221934874456525901918199070056284119053592492734175432666675993904707848006580928776099457469019597328518025326962132133225690487441530452287869980480611050698970721083893947352710174548891703580816980551250903555698192922750984177829895673606960577604086636930814228190278523871397395615380060346620188806910667130482546618563440893387003041989067118245570851448468422040355536789723165422984048301687019026842267629552043878476957845291239460695350601971985009494415578483721544957854290064687768329346818145483966919722488510018357906711990530925430574965186862932030469117916817867272506422969736472660760641536638717939495660424738490275578230226364907556628078327209646538126939887946691104918285901521886695653264681312265637451875736418894813922079573715093190393624022660587737440817601072630496901803489200191796759252403136724603012126140589091464537717054440216679660591247663918748840253843545674380481039847601065420718537160739985137793715996881177872712181635168714076100577923084017167533946127309369345061686119499073309614681619387620453119890558420379032065898307336021622167851702071725474310694697326039937747172907392665199229911312751137383310885625528025336741760540314567879951559521863948215092530794754629262795385969571513983683387195546476785994478371165241771449406158848047298380123255216486027482920866296115563523166072474982832169058540768140751751166539617757704906049371774122940187401446072848326360995911290101606861484563717444614841135067885658019755546365674218751808186555459653391087469129854272927079754376559013946109544723460646246321504425120722008891606223682226608576631995171418537840476395894070666890672017458430664992290727038442806778172665315019236723164328497596507889629084456385558222583396179136380286565544066681318814474352086163239331252328228729505525414760075047852193651966933777716777473859973165862986690988059123299152685589380627699071193248342474961184570060805259260402423601934149068385405135377155577889563811934913609741046583697008099613465715275427565673561253116588317980584089136018917401994040057576868847867370966272840570836841378039567797840794864673028043785162746691585577874576305561065315573210077902927455931446818675707779951083091666863675951531958851037712808401210099583166588197850227608531573573598946517129620770741839775983237041959815815380581959384482302860872344761928015296889968497728610420799992249765694380115060199256361626833702700974555044191543329541620607644343883940656883743357515154771184442587561934213406364942746483021328166872538360601917305259661425105966436215830656086957016949294461459559857974943933724553805273622984723030560268957050604957552903340530264260905732423002422776834230192552501110308991426603549676208325812546458459637104217387026281476932720720335406479964771330029999504769904924808694748770817148236836713699717648289604540813310877462870994640673089970149043638964007628161063957538556027744648552158404570120159802368513915528839843135562107915995045188053667149309661638603101514797331612609602987231258606548004132062887010890427021555380569191425250518082002939256365643021632873715744686933961393254291999681004774711352040902995469002184121489839074574541202248396296374348065469483461341418800014653398965446920553296785498334331162595003413482505993782993104228143482389040872933204715126149503716052036693136596030844836965059078304005324730762403711303506048396522267995814753156376988946195864267241299584311776105013734138614109852952410264215636102841468626212805877650245836396264133288018966515606135445941703145217519803232738674445424997996084058518477612111119839948136448938754301332667307253990004175245248282407442206708203913564607953003748668810309822679809601895345689551066576846959097997488131209200951611030868158835317069104049175417915307612687841623836165973355758795492217330597379745111992144996271379648942565606858427088098375199786824367062657673367099594010714584146616598305800874261921642866491889832754033928471L,
15582644025389042261060143289000209844317681125335855675407138347179747896871374412552491511984265832491692299769727033998024138876656527968410084293888368675265876803756936297610031147346080225176575244045865054257464110576010184780149995607862844401639375189977540008648529582414395585861815139119371375866703047137728535864092381826622973595330970923553270599129422754278141950966737626208472351968993082663892650801392368588080581561222898572225967224109077060434379424875190224044609782733285541103973729341929942867458077055095575177022834301933488392045528324464734077955591193968717566675899214233982576584160642223742869071327141465013831152287931478751636100877691366860863527239649182083820929735253115278660080794670190276098603071094354294424403634449446319091926204705644653820755970321907079116723564225992640979317403327406031827651759445656947313458957843939632123459335057956717295819402061189969316615459421925973557724323014526663880379882721400535449510156067544801913597748566531177427797806965367192158121373860424664104215075086592974602872965914776488496372188193262542662791289270820607243504938515888157598564496343234151079160825028238009196476501033184236451697765503880046683557455960310512307826282057569735613822445204915354558994963075907364493071014010686301729816157900813022443877657900115072136384333198005035922605875692619019093505157209304445663052888878572003519718972656395383017622971323561757318381574860107055754893201008681269839352136616860974944565939223238303258391190035954194653725642511204321803467063326959501467164721797597245495082967028690783991569993051069307658431449608968984491218628481221052538354533904323353109267760293757086908448971925506109360404106560208774679306767532181730407202122162235617567069268913078908825999435665062543006699449809819789892846687142386249057408422560090204732400155677985477476968222159453965669345448860170194049281926389737638408661497874833206035079703994392738085022043566726701981530820728564237875557128813451857150484746701356803870254095631532995490131631796803545576462357191298264773663006029954897672821790944072346993206672664760755778347435709873782284592620357014186485134180475976273286121835411125960482329401554720050650198322089990164937369542034314911429574693099561795644213103492690097317687823023172383915090214104868932534039433960114310215168250947324118578349067766786184056928665370483738412043537551393847081754995818319025246761919145064442957062489403459184581460073522649713801327976433840332511417192590732206948946683257695523878462103029425813592594577661413123553581008925189707648133763080920880548540246452574496995479754824522209933974891112361393036599056851320623658894154600397391671285408830650539550379008916944103966652937665236768299691295728936321613253656911788469602491288889772694920118889244890851746931486854853147148602091296676184867705504112004725941118916073953179001211894523405869857178937610264530366653455833277584291007252723913690771888079219978896350499855809162239769719486134731584470486907833654415550574933007827103133336706116918120715518385325240743865188334172639353532522917220698863597494904686392091672129166986141923997524507451194103307441515861923906548956033283995608604054354151048530474174138967967502825577293519536336052857780799070409890221340560767106798470092192588830261190284650715633227025245363650172928318165029159892161508675433670819152301928865530726275056159826537473308199634407800695818942548633966414506485944526882821892050771876018614949557344253277086625299341802677505210999236541124513231213046428535742803820640995916477533684886690480432805581221474486723078579961499963085421688245951883467284122856878719485948800745720541612125830282125819114596417929029740689955064249037845327709638696840964207026163062035630984183579360698783710822192805513824555624187425999130773137791016325876076300185335959797437953049963031958923767246021708798312947476224274464907748331866629373350645796111617146591051192259455657319451242807914644473763203315116687525900309068862939146443375928135321342004591763544339675240085233914002471157313648885208126713350555037383813534379645828614454096325464080647089233364788399260507359064746169346759555848224744136019011851411420807848711343830044604476649229664758917254604272201486300457223336132428387288049963539544559648655745038924968598460187564715125670548904511120894737033342049421883332563410743378106067947460545507961469043807633461616057381148640786164466914940122401645382908849831379330638531300470856435354688113961740569609331708017319051621117151971312035764469896385059737707908654756066667678633015433978253291715242702959062762781883328751419248416217080482795672806107754493968065508157765501580525256162189708922512638942368080233548288622265867300835917697287877726735505120436888197642345370407024311215511804237942710494059888050522325891392996288218795131147982445577432634143665652257404976151443367519017015455219541268045114427807413852937708544622324512839351575788381935119233715916915898201281940291422132615831697434047746256832876189499165032600340033226685331717600316683281949690351333336492373761240872953952661758639003522619776188301497578534746660449307181589797909327496516920180484275453654256810827838975865038786209728547934089903068414503443071749541587771738385089337004789127060689270276972166856803640084001720039690392317177998133687986159697162358272810268452266430501626666705849556437682346233757817281112708978381727643013082478354101674817153892600841391887241227835626307671486396286690333273744115164309586692474477290456601163747755307171455905868796065135704258605954177715763004642734250477316247799976937149321557215130202000179440382602186404831574570794014296997705414422627847791417113760395066967815506587873724221815743994911041807733070508241819564142313225876688563870982115427196124515650992224719303035909026557072941537082602965844900708155908545873445084392672140573990499769806427335472014475661563129965194068087845249592251510491603743467325180224546804288573151071426990858756804022711446107917496641897465558445024773011818007517509339253793555004368467884120560424207034893368542523348294745786230039648281173776090433292281015756156564150312460049409289162703682030277782813388712833204562096553698623124649499356722607674527665004459369970L,
26014402965751349958971130171082011768203592925668557279865419338771469946056525127816723405849890098099090494115014232138682596430066270667366186609318560288953165445108079591495426435551794229690667555699977276574059240491413803301348886832780501351587376634963391975493239874731061101706013600390691262278315032615624742883576434407668543439057457124784160978308258563464001738745318364372682931850101899677697462569317479272423068029800903519340885203782315510642044676673809011397927518601066747416510477744697674549450054240844564824880256311646664823246778428174614733235673800729035568695223777413718085579471068111224955762694879718059227179978408097720401933931826640549318875475674545866995977783244327457979528728660959504585762950075278917041745023472373658381643740794511866220739728057692499983889096164020069051060847730578071660412405270791179763140973583812384824048805676644108802183453575641283488661344171070921292313539697423153267872557951722410369172725145273292229172063582390452496046518516369050839564178671265038236898831625605326286479812608269609614042669601652707590522644679415324734774640091375643142561625975188065989399940175586684607528191363535952819636277568319679299438324474756488583820045581982402098845360452995588296180493755400634437653149990889472956500350032789197774302899567444758044225784433763804073095990436847953157981116846907935311732984322888527426731875872422546627088122614518411286100500654284995805992866497566360387853511413676008406716256362443800432040180309536755497010821892072186292152428251286909695374819829541039793139388878776921895169141853055951842981978277599271618526391016126329137614284709789188794543277592345054455315403606940113426057733723526979703741974622083959972913501021380773489770116402669542177450565360573468139834375302776087717871079580904344925746036824805646471677924590665349805362270530923557750688752734159777743719342398508700473342363052002539044246202346491478971177120089930195931243592635195490017334011999315734898674900411796635915281630656889149899111291689447822266082984016322660948523915188717944723715945423690512590756150445955906840775474365230277468739358323009570272624237119878100559972699630528102014480755155951197948848847495715325746692223897071462389777519476397325289430556835883703759817678019682360213935867921295861109349320858185055884519332390443168254048169990405369236025378124871434309138272060920785759492394005650080456269530561757118687939766111813227227939977496155305126983835198098409335193042329922143115474116607679498510716025960455997094989018875560958289201010780085883736224045290783807416667402176826658814517021453952306008839345110995609670625312898400685120840939381400409763121296225849476150729596712419102473773279050640687057387916676266014249816211514837041450361698551235846777416231869140122347189274607475167627658193527248145119432020909582828034001297917330743348027886429514630594234696404414823565628591420306185543263045259424197264568384276007165553952600000325504671425638885345790015276762251790467580838868439625577578231987678260025460480288297382871788153230795174675895335773550888084099412208721893961384467480800898744342794297919943587816146604947997839056240956080688068826617208437424601058204393241094045597424889806418703777740764646536672154305206366155840739792647078046493456805653854081926386040042449061085644057245296438125388349557264760886692994398936037739406817879426612119991890259280811862202508840346759463081816440050324012537064404718007513783424099576702256872344787909984448807911381276317003972591492264544151117729203295199302981176446472303134436342054169539251562325696115359867094100239717638697709745180955893791315000302829416613190647174902017612282408408084232997404254739179623243531585649218682922889157705563263428571630682169746775414340890791966165101787212730958447979883566617336088158626772985749049266272446672137361785174654426166373119408830300653250095192763979796053561458606849280905875529387816078225835261389516129809387447933101887152652655842065034964674149050516804176234020083218797013385807592618361938137334865015856603911597577310774970045126549604855424400026947997560797129742587332762607190316401028229256877942511103648533265413855746458852377022336454598359117282438989865125718602264942573168645180561425907224807648369573925581913331760212986060615416072522218788251466727292016274330112107020259997245857936658950685155375226169518963158665474633249971722861077843378168160934445763044774044132294419480306844429320102547591900167765867918703042572713050553313730394017877169088888896706351795008429387424818852762612333500434759335651868234666523243213555420070228864827531202154822194607336532623655060299814553290781997269625234534063974326471882997860758952813129820180044075408988442530142037257192389762270711058461777307340225850782370784086763690031680990413666982211849973393401219753867710699742346075673571601859232381071787615904142804191008897720813077942006571066928463768030150115896463815222290753782179246856430288373378684271217363876893551211908573689160040944131888378744081564028265870668451951609449753911239643243971688549454777691376138325575759581357029875355903055124374057191160803137462671129396479407491379959604869159529622614844870426808479524381414305592567883063693255705058026737936936739826588451936005366572099794443146248535664304147942300964467397516135665181019918915072909601355933098831434087270760919881659851696136377561224346900974871660948125835974264314626932513177938040072816377528343603470517319671238264591575748798314603872983142424823343609150812105962668808296397812607049959630410023551994487633701506234295831250580620148494986592389626370799345589280830999801340949330221003386190997145495531006241295155721126606556416567006557744325679079780952684719270990826908375152183733740393816817954202269071051837152527398155216845737727671118053140199551401767844809940069022686108895046654958879095890188530492228695045926052964360662792254009903683040011299403986900454368237374965616257324745486034278629728861436336559206619428348105588475148563129517943366078094043834192177043640984013778803689281569775381375079702246394739540803541910723376285701444760602482170598024602400427062933799147765588495835908718827666923637098649782752033427582704589037368130997301148L,
43423496175348130766827266017771534620755890306876355059709904724216386296406323130918349997005711584065998993035165156764978108545520059440703115665660789383776550146688299837172989725066984522506043575364958795341055356102531756902458308339841794668857750265593207118698334999479544851903638033417598733803829477212466872306811234313146113718709640270065885294949112368667473995449819048991928119796943296344769229744217612630315016026878853171319306828813011427025274404278579350589805167517420760284996205530917796342409405444869526842895738330273656052431437469676036889741536313740188899180724798867317842385937030958409141588212244758507311132361752818942703287595360290367379264677450971114049999081317476238084640262573233959625216629024005609029287565552253404082693587244206568362923068938498857387948733179675498033347700730745655423304114090408744603344638261047605168535353630769421916459552544304688580145435827673080146909227117788684741531851388032791830021563579560721273371445628598892821758293952559240813713478335938359097771191127326348185810987665552124805838494134899363719418949525776151388901895864199493188557647960569148778843757772613288563684817086164002901196858779007097686385925894477699016333728972876029028278175094144325335078450766283429409083599548383918359801908398210947633315732957044543514203379483753564045842571868501123755926320549068453586008058733999061143483531250545626540430186585729502055641966885598299838389909695754777770531586470191005937711851457967270304500966716370003087489705119058592458843347965326361205472362971853871258057116525684146663339345161980383222775516457351547615920210348305909624432737461183593427613126327273438178831334635818613511004569022290937414331126376484865678882037752162201463150686417347512171071954894002097659281567795009538530155817860008932343140860398706961257792233792801805205293834019275157491536750769382793708855863523309676602379766242936227496803642403767003931374450528152252010556463365306519145586415655222837326365461417885428241243740778434456647967602411175168334729195652872885940505544747370900901543159579378677536517411423260010120400217804353716715045964432957900038251420741707344390648054985538205015405458289292796056524263671444054220913374284379997364185783087438719050208151135549696817443831886118722865681507445346221354778879612686362776048920945432905951671242139985297031556674940409392180966701931309235326110238538991538057356430739601319067556190697222541398788573327033772460471261054187726529954558448362223726126347170287229393165369373326880436146855369950250566677338112495988007118370554642834067574147637972922068203627684206215677532040145044118905618380404927404422453024342448607648167282607529026493634970351656659023512052536198275106480888182008911963913892270244037687676149101946972764681609316771716535700011890791472709731625321067619658068458473494814502220516307490876453461015771399021824469813793404791445372098818596369122137829094557136731895328851199626810311509536876887808257311843700292141494401772628297691612999293444854002878354722008080128497420844523544580258897507843165516720471425338387139494161049425065620923952845329182250687417303068150079249205076878752402918578650205108265051498564180402624826386447491954232600210068973822407265656559670987458277303123174307795269174766032586395257776237355820853096694170639969017154228251075118341565579610663851084509808237285642708560769685254649777397594546822214689798932661007961959982970364434486470548570620693798475071993746087608238392499851455555507264399706821760715591141692093516420007025102786789015193790801240151380504812702218435076410490707107527004209229099072025450525705281212803379523734393901296761160246772868562934240163194697472752509859072821556745356065171617909195908971455252765916448535594798120817132737364562785058078020462961123534821731266862056599726220610981119128307056538552467178096816261945869508304760067122589004749829062889221074512481041734443813963959019535349964195312367696328287458656929474808613880009849987799310529591316430988123313100844862367241745150943796124283578890725048871809966981724157624271634841003041168248163914310397968184673095462759922947533608759251177087419715697667401118967258708219625878331420702916210765678433574226130817825962198446722263329320468250418596166155088303140126795207886990663657509531734035163924128279382059524995598899119263787048651900860360445244392068940296199494411178335182066114104140788156495248679931193933915120903627283442275135671113473232728583718754318783683020003938475282845433787413482524242302303835919887381395896664335737585823978812646803610926560032579090029925362687521301550253823797189288471781388487431559474015499456139401502723898275229331998781960822525331283069517967455453101724895214796409338270405584017683724711418187559035339221508640323601756951593422717848597898577828104869740134976041657649533901029388982164543346300180300191265290648303935209585125707054970659416726128015269627641367263119955191356044606297133077363135598234445603788353655924067128147830722061637333997893427224243420010978035077986433346779508748404734414175490830575887236609613682851595652873658729230401967328111844573831040378269820394775857471351376201504951517530220246291139577073697639540912193340179029746524796756745052489643489155187977053502602366473762815680322357933488527691013616730713915942580000883508988732945686488836390013970938080587104929208404388867589630364009416033044524374360871137965398353181993604613216491731215516838078879938873199232432519053255203027059224052571149414505041531380907541915425793093506606460724247471005561477026305950849577581140015594512433051387343471592720953783443965882310041470085227419127852106640249206830774814262669644078277067372856484311429356835567983930764827255949456287908188320467461301931136706636009275043738693139060155080327762476453382430257901247582180115046711608935450795473411702999215389898077528759786575214523808597085753219080655506160074613315824712252547697726812098562206729255029800449605714774588015687177223678212067284473656771455294022457348139288464978309956601912530897364161591349282096869951847436807866697623775407367011043663957721607969066391818383299757443312205117874427190787063063896296497819183694126291565224449088082630016793804162355353L,
72472619235087982063189198934533735120466491475971007501142389125891163434791309336993269357388800709684589955720759822436827806195597882872583276019049050407045403325551432852409855073898748814684916902586726641155321875605216534154287166512087137216538695918673427348796241052076797313780990964120891145020110173654679241319390741639378225856615246320530586092706654207003787129955203559210941009646173377328537395372304769287511946014323881541811435838801346546923947233349634223472959479317742672832992120790894206451474790908313067519994491851331495300400502585947060697278299853110462868655288498901408743988235620504084078172754785563986899323129261856345832344378000698115549709744005272871093344419042527023891430561106261413334269844999395072145080097623321208955974078071684113198871245531719452035821718736034364037624743873398810857682366648817751496252401246060526924472396676022474307116532362639190990808913654037593549341138190102073740502500032579973998605756582489202989960352910322817787038210377207702669898561911320438339313133256566524412157261056356498081833774403843208690363783207199441838836356641941084316678537149578590570018649446368872938397427282389163255997431350558702684433511059037129734853722194118323217398252528626168737803220882198028838256241331109854163771322685399898239064751284391850462830470999747034049472128919075211642175680584617471087226191200422049314053994253806379614358247513840147711142842849240246401596697972708749118463915569854389077794537460546642120818985327118387963715008277263318993891256821954813145808065885193002426897347775041329812829824793939949624713389958086961575291110216047579178703093968337007786225635222971299280638696381329808259334741421673083871651293342775495470920242460091514925475082084626512040584696897169034915344101879785599506323382809277228206727552694987119491629424079748345108102242788196697172988530893216014944850416372614004939022620426489693975124740746100959644606122138190676847604833510391320634615291640293149325835911847456156410750136408479438841537638103920958000489349328121026494689777240924957020093300471806760381156613606124407464688718648699523659091820106270297171461775197636150221272282151504673556762113721386198787754536268146187661241975804114920969125461952799062083268547527459316240331820611991926167951681290531275153852119855670725427021936111342960187461248609194867262777419809624020515722504147338188345810948184909138951484983997382028340294120625799907605971967326900554671221658440669779010336755899485122642489843758587816289790631178312345608960781211927750951395294887425582213286383165601164397953289504523170414673080740206165014964822874437164985335820176619009221369738282255633953138780102714913249515518569852432433474116017719807365043833488327308429878578681071663867459447426321038332830949291776453778644545159110739403142999513826929065297630723327824444311663347907420221470616110087457678633073244840078115165988080243343312793223041017678220603731475037548877677064228988185486466653534046063699760168141153299308260621706560359347161603177767862890568101581579812982697944542613628827297657766228115263688793074694331133213295923727609038350060294810875263234640370214206561261899298464821202701925083589944840867093983661654378697842970357593536149838513177014033634853974620794112556000036167258642073979646835007956210198043786168714755143390258910385026469573295883907256974840958018395845985059208132656145179306424420689173295798923354796101598531481145791911151578375609961638657909091706283851755504920470341243570425000523956217984184591050339693376257668353455989711589822568607171266178046791228105108906162502388641973604455450940600353327113469395249004382229472457787947896349695785138308472586768370086208861281108090775853973380032793936521428054246567779809418454363223845681300400713345703084148920936368985033345377197514264693229317403920781756641185641837859697597852212867888296490750962753193831902184650105890631146976534702849828489872512529351584359003383486425015429107061543630293637614818613121335978406776894348580430696844816914432730793726704066222417219620154534640818270313727472969533393069439952489044819733690042335617959567083544832039000369209780772060468659670199652311340368875698291784567954957145778892562420259667290661432221501285985581512614511694246402037988504897138559579836204869476026113106355850260638065788843998936876304801001271937948056637696295806310987380789562666257868576965467729904781410693095560553970177931180523467900897269450651217145440177992760800151985190712102041340550633122457705751416818546494547618836243853156735768070568022037648275124779612032031155502318091298499908679232640993210000479840964518873466324412549941123462080394050035682976326476759559469937420404052695275207816301398386746763452622669733709287989550896328347152103784029836744652333325127521579280222043188011476424999787779036164264277479400644523044153211553851347427307715391869594729786382362093354304278115545833542098899652115236350620023709776447224672472544006169915410736298208965892953495100870480500888881234443813775159865391570767647273759321846938547979231976204557805549119362437695773838881543690113651545252023005817866701180127467725608421102114508308540434434366971340794073182561354722511163930883273206116043218883016934724482886686566116241925541334467876822717510655150158146158325286761257492411360113098680852232826531131127713249485875659203434347994261381991143820657257574922743649972853332037521276910290921799602734313877006005133030186923871610171909519117735909514690887150906624827621625498236482390826421826348726078419979465241382648129956475768935359014700835338683454991122393765208005777872678079603773860954405044379013517043432463766558048228955982646857805944839903633954087799617055924787186739287591479967971373294011493383686760941670819757402371625465506273815254074577236701414931559923806013594241833893804265048007839001581583241677407343331923936535932205560834025169629672781865390468194998688756309515434309295029938537610384789268094694882800686107746626592400092785418880333290047945260822198435397039301863472752625532236567572569633927206862316651406199702515099475104526139769999914884019759340453374236989966170163171525946303825235696624470221856865816972477649597155465122026644144583251371272510L,
120937618049112158389656649689340239451828715829260150824944234654467389525799765255101113635573357117193372588915917680661090865243802499641317609553840528564013120519295142336696586421815550626007783145407487613285074630791635390335129685238625396090933437722308742687882964515403924550391732184045506117672448436919185850922933777897089431157672765550752063919485040516092547224494619053076253354824092859291132371461733770479493843457181441184052374248024525557253889605937284057307838883733262749210092383483298426928330851239441285419856318933967638069168661348706913197448891252496570259789839212192313406195238645429832711153661195125392310557302422793762439626863477031747956061797303789382826922306217110971187388471016774421818347548333017408381897196098999195125616636445628436923856742003393413751873979105510876611913362416611464995164212042499862254637431594674524036306189506072347679018032881018393234620642557872921443799972145978860703377344806945587231230741639692850355523631282506809210970867591902775908030224825710668347284930718902545697871494167864291457319092093019099629983871808008498930361254380870355080336935126380921445777026754879247075575371351780441707972606269376182130086657332699317253824090517462534693536808831758705647369408978843097944146117046341893862068607337548590266258588732294892739055492403768519993161914290313438701237295598473168993289604946429242337266779116592788110761998331813322671079766663079726925142780650837413778461491869020152161630627664401160088028013295818954710154368485638236042100674619978877931247314903448125007420509449100119693866587826256944987466456795667117222454415793510382654688871306688972795330811955218717395678899401048393575604009100238737270974071464470218801703554098232735566899676745758645252320565163461371359787431559189406239498333738021480560152519294211691890565763301647518387953629789879322173008606761741945735917500330845907635993918704438428842796233728920884393259517620726809164918329557120928019155301768587241292201252606447482550905109580316176452611895367175602884760647424856956931055450250373290599965456390968639198675760367388428704783479766017969780249295793353896991347529813200039681790704540093423520733543557692777201048154702768298655883452464627247159757021963471222896923963046582862569864029948687671806402533513656794849454877411907078812638384102982834914790154224315273099944263344242746416248670205723581223668898659559837540749577069377884427415603189645597874532010396179494549107435859905094596574883479892299771330566015045710804345323757790633513262421456882434887606970122762372484003875538619662318557562213812684433884303513883636899583244798304346086248193097906070068687376388991009823494345856080464408146991807136862793578121084475682643664777841732412452404722521907345561078312905133029386656763883092322469285642157620598915579584963888342825648347732312082404546911406579962782249175836464084789948311474724915794977357403376783614275932384324295077841708123631101594380331490724920398988709846811539354392178638500165019478435858885004657295567025289003936668893401518999652820275904515764344471101381464390402838087402110806157961505375836496206994157033917871107740690100074547151134300595547427849674719288037100299005188816537395248818735595122075217679415691091162292479442845974280124459515704410906573103466159117026368590107294007032208327893528201170347785435541245837338142413894106845840130885220372221126407964532916717136577698649933978959615934185828288744442771277795993389757899158004057483350743147818678600208802894835537331143120294973457039833987848354526123628034162309117910458835833612666639665937049644596996201340244822626115434454523493268336616314679160349419723299763683366910339023653267374891549510717798137637177819935012852039857067430372522911531095652490559317024692624733589114279176470395326456172919174972315033632394535723600978550452650856133861403636617275706133261282337301503691806795953351522722710903800833374932040380791456843003032412522309763868241461156296696142165925552852426427259405529546899366151430039658277276932341611118963632575636142408496904698679968196775998873421322935655331790044727090174890478382340378172156244126021970993509977733698619203644238313940642197872213804093918933742409645375746129682221420346090955760463932253703630087117897993644594041063918780973176491833890389900322845204418445937480677372429904512751935120219460912688051410231630036054560654486073280300831553508151903738834859264519185510706071913827395285238480519115789017516611148300147235114008904997241648473509011440429546912841420865221659935119886828135042419939392681897440803917031572524765239898503286817067738324762950561311771964959507060096282392011173767181754507956169470606374778619672943939775399328968201692029499060487122071887538788265467643651286873742391630289596088029651901960719332465797031919023408395895486727491786453484858360457995349346599783026678933325219688963215792237618745339022669250979219239915156568342341021023003441184066427453815302388580355431497570472968316972091977345963036774856395321195799232542880866924132497545947987999133115104665192241411157295874165823548829415770591577127024263257622814586676592127716648331533120609558414514465015153617200599716473770060572699384936825120390126091966788976794511321797886902564349856103513115423463877624361574700231305238521272744984884964475138618897650018119336825600196175993126894659806637238313118474458547560259713314901454372782934477018493986587617889193191599964906953422757054690349849268810675911537998754202131171337375215771675261454366026665336991864035738910698666616190041664856079017020716695035722696116998686115638230594207451611081114448980041547096428066243378696916829663048242842758646011361860078647926089692419011313561013584930248545310700105062065736046733832210211836361853058060429662792487813518655688768496037993352169582227450959931253275069074418385123428225740355779134793634687312307944153415929803555163472826495721897057335581007783367835688825522336342013626376215761907033985534000911970058472565024067205258867258280530182852834445965738680310373454374168337457004700265007013153069448633480269175749183001120604743067100564494958292136835906394927654755597869484338391432580954754672200450455996852111582263440377613087316188720003749768L,
201784211832312531983872537136904568259399375270079949832092960813533626291910817055643058993827961120926278957951536816662206581682813931044886736880410194866736826531159381946267017891679883256720766751003474505334909452202557239370706104522072095862851212833266405430461295421104894400056505792768542600743808238590759537084976719194766142954331476167686450249091631665425749433592231879289484922326497683558933189136823003225997785418743882544914636310331417231392244998397614484290773294267307704939764653882295685272362664196625421923454251423034519060932022424934415278171708347798301483222252831666175141536945684945992608850894532236100725745443970930650772786532963667740917492268123207567486007021539986231616012619959845830846177605771439679438555088822766611426153464583079340629804864672715214834317208836794528457948619899353162153598945762351955344570344713015179133507424840680876064133811872983380408369715970241231205908026117299315927678545876943463699380114628642529449493511796294174152426852270887058481544869498384592799612016493180850349121979349738344823622040897869674961331061009103594185764598661638886004880353295679913888703156016145727571467190408372014241842395068306826090620229992081373494753979274543538784835597353382568613600091679886213781918238700326220479871494158971211294503626284628092093612343316737084108244572690021551042971150954265149996706942505316520895042779665539663175546316102925352856213684831963949623273036554691274971393893234211080531291704558579628435681677769700685202831947557314759531567656184019826845968658959041952591761714113169867787425543969139209183452173042804961899997467047384116512752323179602076148731329117939820384726537799375770724399133354506512097019208037243812231683929575299551132300038370111662021572657388764131211505705064191131170068708367341440160804367715409609793577193988409680786321377013714597356743746846526627418246250255791710773818601015725722306426294648710717105524913716545545281367739537823249234814721922503676212985308271526677586327398126537989225067181812035138464756702497598280997035398464210970465946851686568195387301580496819863838864727833533062281731351354271532890754816404870433502029156122582277222158977860955332139315100569665895523599812416098350571889028418465364116745216962687960825242472252252993621386816138075182868362101704011039285652236561626049555087283072542235485429408376909233749629202188128179671223588312869149306577756149839673408912778697170185193598532428750384505355659312137995638427123793583357660772787952897498128190650011624705000094429262625969724675447828352437548421607306540974384705262876011324273535370122070184216493260871223177361556385602727491922365402426272623736640488987196814757027896823317375089748457324053266900729403562100903834566908164774592505726802744039470788984937743051470369389465542484195750996435978408185197229409561091364492062759962659596900286984059641336699921432639900728759720256550990101566371321462036023388380013905165990201742327755834791610931484016850185759973150941494856969925675836638278964079275451522292333202281403513646818501179397389762523231921495150999845029696387252490766130423558381109215883803120627821740748858077681786234722835098622104074391509369476423295927159710122319407183219815700125939215574705305171555077675693440713516345084783879749414876472669510720862959596554090000828335085006929165779022533515767360829892139799075151878691892123300896013863122667180508645754594386895412081317866336040651481053222181625358678983742045069924036092337200171192021476593177951262495459908176896983566019592680029524762680690136359489701826733979585160317551744112300221093262883313147876158272859249010747779656239755038211199151028664051668444021501840934757453020577639808557112083944378512298882105819496001442554166798443118329514975366302757498322195493271691382543080104300751743588437735890598595968129137913084713959997928269232703884443111750039824468727087708766091130270131794466270088569371598065994911384670199697919708223775786787645093389723095155418120256317109913392768553245601344592905738195242639835388284507519425161309754165554345104602824521468869213528395488492029340910818886979806444213275708256513244300764379615537863679601371827747454110242633350473331454770218613998733943273617744846981869927353005012062904013867171435388668704893968011916135908633763037643830451980583704926797593559173865799060767340466144217094874168028746398277165533761681797940528680827644431713601730750137339614319780857428234364385050393681148775663723611787935088297886977119387825559978417960956075511214062178229284421889755565567642039143274965043701115734450373955914476390059052265668127577776791970469360361626429359091501474390738613274102433534971367477400925122792365110071036464527192213571629268919212416300119299289209300515731115573339770928309749713268244880547947545551658106706786281714000529112720711357197710178779252238577045808018849124293446406097031391238640811868602233015480070153753032834200244924730806453794714350086750134726082669216169611609389885581549141359945399328115856468621471506325410557342133115617115379470903863728874985491291467041419127517729498687791951997518325175017192224229927535279963757653269705867384728614225400210275699985445318622027658299632033046546187912677809463663065442336339044248574974046019173272793908956181848313267377738467143873940009630234850945365045853790424512065037418889434054663578452597525412034050651288108136308308136887521560158092972360476397117862215080791767722561615521962550715486673580104328813744115261136352400720352048137931308007562767774219320094711983743708492161966079671038461084153237467580014641755245460239112943281542409473190184469646318193511333806636436050805872331933669210046749162878220243108515205952119830577707144840830443607733902241713289353303525195537214572463391335164756149552942699311784349875220009968118661057974809759165950678511848636179114897412051546273725715548191488934894538680742022928302017196259689361423842300081205765485006092317709015222326963664058546341814945069524683150061783693405690528935541380899870510683258207787701032363592157213605527249802567827049554496844535919694076340357526596680943983303027792549970979514283164703553701085827491945377595345968811058934783899231778838886631972412293015784004448L,
336628831969423039143048442515809522208403999698136141102129344658095374117853664190344636193940049912327750780462051257357057338293068635682278672411424628158522318391410320308585594390402534168209938739832412771950026341890065346160127623785337202191090209989431532639620259218718101285576673087959046202264913497584271013726641000912277892104106799338082003561938285057870154328819567254129271484259810775781342742323862968632175265711140855947048531650436477086544797533412069372134733396870689397940791608455423322870207235509680049502664570776244263704343991250259247103106461007510658435884175793849053049579967724235865356991425804603162647476328468756135193367033477789846213902433532991654056393196667815052266171317868747491371444320740675709629101031676398910663496828477846835623303053373396308554833070269474797419420143643126987514792188916749120279371707092329781293668628628128122389873493285492479039477126279717973495798236120214466273134212692916113504375884784546308147571332508947345950477465843821258751344779383290550706106744532320091070861749228198122650690261604384888066835376384428652704845715092074357196694359208946632869963841440213863004426995160853686012682555984500061943192848826614399250793604245781135174889140967667895953884125739963195557093082921752969447591159378909664439205134362981645645964800815932866513192691536610544971441915383822819303393246752154465399893636040319859835550011635248736667354506729940507786473621945699268604568549899863627029424708610018564494265148690226270300199151644792371303506051215992526885382740997113021816414144666651573654072413782650918171941578762681533709856909927414546533893617517383592079395805933934433514063650420680400349017294016632656064120739629495480670377126782868969600193628953459959142067445622234352580817558860174781007186742730659521569002899037433538472308458254028770816953269980589602995198281816518895194613481281450681600550134350769075238457770239148390327388362232271812527185303594321945458466115515366229594600758025468800617471709440917745567772787680830012715198812867466051343322919728966608457429421208356032484721708366885495878284151785650457563084283179520413648607175802676945369714687839031623124998269029866695646067026548239398276951455640411014694296474765885148295697762775963912484719601757246822318824443302446559205554994258598244942902602452602518779464147397841267320357160122739325899832833226707431483091355053336328304973127980274549799718489343161489699423659323064666639965031060823382812780218408203828627748898888518389910090704846386998100774344000702314156377572329811095472430001362256607251925101481676428244354342547588784701694458236560656597521464727719731085000748909013623591357349745239568921039800685942652752940121929583223388093268632225249725024297363100375016370994714241192276192762189942483351038190011512407199878064738815866671640052377486894360585904046476831052115443795604256883602462977419709699045069999145402879434990740655764999667961019745167123239813612103130751497250434625440540755895777769602274841966175857688197222244439098671065867074612978319186288448461835436524463227772025185102083879335543091854413936196180005399944422283787950469314328980860078550163389103877839391898758910347022621026377797854686902404354371299235181060985622550697002318929692883389487771713236291213130659734448066754890257860476147499241409702757807203321768514069293264186423351833723954782651952349219425996745993952404196667607543975430614437823122518950330221085231092756434487771237006192155754120195234946203468415014421818397240438089330702892688176332148584670430338962733959975465755177729201224093251705613473436038149651867660270756196400541598495693514564414477094898183013679790318430621710015361066546446917261499748493382497202902805623402028613495477642533601920195443643974127825623746567745963642330200860852955617826472558195259823449003221464086689934410136192978361693632881877540449016641307583593378817607878573730780968345390888141087971140479074533352474019645113288912840002533312156584212749406691149804011635033446268013519846949668041229410238055891416028735874542232739512036824196953856715729012907632747114595147851396434290939479560144318370321861367308879427924335137240953254314806017449433638950563123379125760029408947857948233313377651647028462137845194285538558107819525485899585200895433938481774625034728708520900168670908733015802719045147395847292609687416691094754557169685782054986495338343307508558836169840469274324375722344592315374584946702294785621897102527210486039600113438893581808579758393828022117135675278714012120099138980157195791725472359345468754321046741870232826954546689648826498513992032603955237062550636589587504271105083935370248651988846379362026167855947293897124156348855814452652092139755518409373867622935336443109432271401429154895498564703769413565554389007626535962489668883298555804496281428993897175937428076945942194039308350123521865133706546478760826482240970032973231557289277572179628798216126492767864897083698309177772559141264937208055325866533700653679869400817364709646222340230018761297036167522509747829436888784809117340824657674607610627247770413411708706040998592366772171135572505888536873359168625591934970006792411959257388366420812980219211694964133438198210373491624761890801630600661837975343236943903713840248555731219505468748442330235613902146914802516103943826193356492561749301288750393023543090015547045699352344789755853965344517540591091902443295599521731774316887407635630012995759552331494218788099201367835447830439679464564557206713095936426760271391985227586951613850256439741244110754283127789379885691155395393974300912873175835280038469718741369474880553340184448837049755537507234583012710127303402590177202405534171280507929954186016004144190110629455929985340934655514082538134578443462243153434818386625866536149002137497192377063811884933981868773787302273212042020324442435974228859618298039098466579362684988392367003177199124975255521052844155068647582103693627841413230917603377318173074324630845085230293054943891101777396136544196791753789838218108912252398387082908339580296358433740820831222590683097678399077571758975216643638218902617479882878692338056235666150765770232551461850086767720604274915120933926944159973497649556166387893974862642227720356770723574601149100074L,
561505259960652814388346001777118219811997889996259330391249527390585599836868667063480058644931411278969574096830776751260574283315604827164489118765125830553147765555855973623575402430141307568769312477851968298061747986152787452090672568054422315398860216582397364094531414058761516019558486378452285508843700082979250915487588629717244799622449580460376166056127729463112002364649285508572047834354909676021051200625865197104041407477371332007535046420157565359210029087718238365977597364925315487970836404805382435718975226753873553626852358093918633419505397153546211694737411772755584058644271003362069813518375705091304701512261803520594089576938484346672831593692286235514702179594227834757350157609752117368208955110367092870175700544193177876797159602110616074863443880576848576090613653169522178674710414097581246803261350184133843429696308368989559983512582025017887498887364566449325102481752199474904137626185175552519461884728343489360533420591239122425878659380061566699982486849250614954646852563819353733352839713378801701750835625532329340138083090692142217492441238091314077675398765656465978183831584231716520937057658898277577256322135798045159931563307647770179841872965672705459633708251231442138951037670005493827026465234491990560863559010852099416515425150346845692089467636176214643455068549297003319350115529635805681808332952336287522051882110480018550390808432534176786654021461506044885968664087782303210018777429670527259615634024371948212258333711788036097300065066422277798420506171816487529785640546585426659251947532942189492530233877224200680506244245756649622357917268278426215395891527046558071346570853499790358003708412208389809003082359304556898043667749363929301925125400228437161052331530977875656580383597995237039507977666609097170006030329175533608854994845193647640248718164821055367850761586960686034380197749434515075147138828193224812280548707268201086471689653712711382485336059015886961433101916812569997272676273217021407315103370889256323482148409069234380454523677075849267262018260384843005663952338481769620618856133681127698994271036047110567518243841770606317967401005970808993888425001576386948479192127550013794108605299604272819926410820751201646980874428273613724087942744463490871710384844645116300290863289752157852398452730468196315670408483961894035766344956559423806675837636276527373721988906092902320426146323899110928291304722586168641113648779489255093640439241728034902817878186458718247778203740076131950215228870642748317601703460804228904444597285658042670796949817223471161138334360471563829115134721324010684441374481977533318315817789333717664097185409572783480285263339077431560706895025541250042418679150343385011572829702289410061950440659691439996638269244196690096546502273692365019343213661286864512227346292731616224895896594943866629152923573614693756263056868369667673909856200455490164627983497574616912404035763606063667797274516200860403887272379851834696695509523405419391683752299290393185735394287204639521901237708112284809736701244600262823466668017797994412724985497616227228083306137024094459875751050716577708130068368961012741142640229139303377859395249087072572917577069537051776810842412290156100256717539983424108817270551443386401700974391043321892609412264385355884788614919047834645979973049402931819213269870560455853334001510182878415092012501452287869204277325094063066008199051588612050007147796976201800817215487540394919886112073975441732115697237937084878225776574706238173871239924384567069054389540662468991693694801987071591681264941311673187442281015984347873630440202788130700131325226070465021452121442727450317044459815053022979428353310977322016131748404117268611723418523803583307015466300692755270058355096281621779454714567069674809704825303436604539428167548247287470264101734277690872933246464910158582100899357810182021008041466948800405615985937845407303361346634217796908843201586219972214741111195067968512712865691323694173744725334059616469223326347356785086705860705427576308539576390504151400466432004397405260267846079420874627417392358244948405333125141426018019080561591033383490775587734193346210897728485534628158345121530872917286753932442425700431601287766953160542134094102718004625257599882738709742339692327913137719795309157700307982520373061012872010164093887952170334718139196256585784651758529863756485359850252142376854223973568247109153612933428582445097016589384858971333320529941879717139855691784857047681626357581920477239732661890232560091751986545106304830959295703473604490610263771045845618057202204842980424582811009526779343343696244678886291013415063241008729771548623720142978954184201159864007383669807924936269171339508466996261581687551772862972970836994156435819306222669476157282473148128854983890172200661328172060646615629587443670417521497560405052714233750424578649725570122192411085170163530510861189003271239911435891403793605120289181173095486388934406892779847576442375113006939317500668437004179070596043757657015640725077568266376474521959337138997600276483113833161837798354291443717022548155997365151622090367633210791233593683945751935096495071497690347580630621633864385479672832610238690838144192578757628029013181896073964826108536319528605512258938074459364249093639896313637385228201913878983481665677232729554702232299048015227796301838472810253080131058587031045065501124407019911968570044132168202970548427025829068796628840024000031676040367522596110802063954686169279754112226880321016991819373786197933665274023894945506870789847555921817347163364426086430443916672080570561541213986418118861841038464462144484688435673096706834485002391911382474481135960788641858343743537832349008043240318016827037429524995541524553033000247255059084246534882744329260208964814272686615363681253513974859915406185156986949626567766846467663000492479740218701495898537901771919171653901766515663759779393298476809298670584897293266974762305928059200350394065316919774118247098549189194297101568906388759023697566928426760352970187676082954668938363081255668355417831618670442195520637842444397754276497684013838510108131432158262138340394982377079859681540291895726819597022221311825430894047461969637224086811663914563874959330311145221781358571932890295136029832947495669311585038646886614347010029876709344585967007720522123857379939401270718908094869718558698880732L,
936471953407656101932619898727924203901502210988987832575265499103382156920689814074006105136373635865347071692841308459778655223059327478157705226977572808020143665034266287494447619898392004683132412862829848398064755126651595524348043527861016122252255088704044760015171401354184907484284736165792648308849699772848069394911418533785625393103077112558407085927163219145244933446694373362104630228059578178701764813007138051894654389600997419236896632392402960781522095575715883401127085864842554867543951978697858268077544618113471253577224708721770159951402852178523490772801356469449228102558293655475637693763962423321993917910911759210046044731306101043361194846234292438401974455863243774620549653703302379838319655185397927275450105778308288360789363185490641018339111690303678648342123592986837894261046009953999140003217414274251150424187668861017620101996076238414008429281826809072428742865001168063745292320812709836105145418577951852855554334498106589623241486925155361389803433200218339174604218289903602039013725554983838740531520026297646627373473101442869313861311058457482677372823358936167132715187766543968161143576321044425274815458989261707873474378846052689427660244018686513969905914641672087365486572556999233887182650436822619454553894520199266942349430852753264532332035833682421753945934865776292682706121261895443366722630475033680555461165432740235580449147320323914071883037713574977156900399655063671572389967334834448044463095013548809256378145211958140748036179251462523034550827249441064509185020966824044999049255449027643055663798387668726103748173114011065282465794366689706154386623593610159049024559643403374220085870508425458683441881533467279267379188273648963993523671150646737061529863827757200112347611033197463096706034011144327459506555120988120345297886513956831524670837537727537610532685163950695596235967461560675892503482940362458195011685657027737217067925805576182813784451705814768207910712240870047867663141415834431811761863400265253479288930292584581046590538427606762742220699108513729301142651657038065349234797537392616724837881763667873134182483338620461311020742896204011707604235994618265871608232393767746136755901939865076683237922929579721109484616177642725329641367701488703593969034929062802247483960378730958461283988804588680304551777027387230368010753659359304483132687609632182499803018825167122430393432376043937558810106746344630996679717109271913723323235509554741248246878212697589093256643732253923287176256482773853487861973121003569213151280715503668035663150520229933378200482468676097072418842258186291660269805349735781760491152426448713178970246008221171889787902608332687083827840727598229389505189178872802271708788050838573083399469199732989221094941250153707426046811262597399333223877458429602276791531806204099936151762112444714414093147657087585905074124574589953469711389101771198025756338968021028030212603784388279453081269091423206249257746458159763179806141023937330760785979707224380862412008718054549640622080403863609255692528433889785493986618561665137695465118516547358906350071373004081360343985019974690867847674278240373424323480151244014152307838984083489808605044100338881097615059559592888867127221766367068997828474473198017491634417393001378379620832849368285109848207804551566313668195649220631196003714029044821503283300087716272417030503015520313396428191552068994179260893701032639914449747129691674340555857029481507314367506231163934022958314305543150615434695739378961293026058437133819620634387342328897667150857296311279414727834625826398551799407293676737619581792881334920041465955776375529602789559283178819755837868237235602164823690616067639978339387009497013690093562604706650056663374796513588325196705385821352186096683200578909301305312136128874185142125681702642621644232683248302226421326711753274773919110375287442643135563402066618325020755075768318391221024185545939480450822167782992456823130711315464799148324430003638802094857076685025161458986530395414015782870463221042408532672246955346969345075469162820978346605583070513322102444142658251727921452356291395912483812928692387719169580924756030638356782006280868293124919453519626549458528295208122310786176594727136120353101382563674411172987050894568915220945154227984029725906270566960234310176143128985543498046170284225238239788750838641957398246037863116946142967510734372683224108510662155753656568380684072114218460513484956620192926416241987994271864826677389555286687135061134545847741386846819220021547401723747605077883481583926243695424881798518653423728160535383142820364189911177687415234622882165337417476738854238558849781083020127140926255435716846054362991051299741576942933875493331817677853382611358639662121602927837883826903339589448370716959394919418645643293318925058212470275253847083556507396242105257102200009084647931053332107213369229904717993459022652036215392389954078236223109337523546140384611845435723249828123696116645013831876493279610625325220479204887598089417703516985871997378252159675987666359044772485770161043849808762998265463376840860286760194586822155229251565245581337842906597437416663905929257289514174360089428244604685076202046697413642528215118032303462572803128548442061745667193845548778260597884124987838067768930859584361549986932285404233947238372801491841098672817939968788989983307488214995360644696354045068755439373191835177163759116024158031576201644312949298375935099817948561310114463657464791635987332185426418211782567920646508019991441837199643676742339210775383655615509213286103281393902582801541003341362345756482599584892643451548745295500506939476233392162639629118782713451916015511180536569018082278851049548349063913201064336105898958752559597618681416384164479231420374987671693454317044154201428993826116863329526117278151259460980038175362090366992266202299745689482615448651806674247924544536430415946843951406270381656556187938931577260772615558936529505665831562069562216352826609933235658890952922695076340620028976585652626697796546706427700724397907210877691648078251437566483643755961107475850356833110668279221769978651037894499579603513802258696955410073303913294575817955427087985396050318364143572556892281220420682092409340596562269177077567238797445740368862832228355468633648889867705324905188784648724053950396097721875696379243283910292599064103413804414157464806L,
1561615765826741820926631859804256102416620642726106252866760907177576321421754480408535732257998857760130007609543075539753819684671806038740354818948757789100615516886236142924330736914850661285914327658853670344038965245309641182145259020807195366723376287957678205531543481853249222533020778136564800917005525852447579895030717021051688005436885920848236037478578724902986586080331985371354994968069229937191878013845585590617511449505143891708846006832282365316880417315719498969526283428414108888077861016464586267288364129050323760608430850314181759067675294619412127566447171341751324389041110498018955510412779652203904067973983196671365281663687942730412594026182695006124708920076732979188235082073544337737625413912479701231617523855954107725250571146648317700219536780758990695439970873816955494004124159872722635109339211201600284891461510047137931331924218536986377516410323517223700996276684421843846477727069203554937786670224700085911125112949523519656935018567867316237617182208054454380718205446214468177043103464065864236381366461505890549162589955176166716532310508318628097144410284789361549086483404130260564901506373168368927066553079639134352400994523356469919413162330417578062382098442522579356083292024899068422293177083567394678413096236354033523499654671901021300648960348160751432392717773487553648889008259550649968638479686152580351513700183287579734601778002096790930402243637837584260356894202071793405868176371735782043229326947565531933277755181138446341114624869207079194651815296531507400566095402828596118221289663532801465003565156462675076065840327842692146774929659178639761621162686885132032382825703900880024592282393719817119988249974172361266944430160849125119352287640941238360105532496127040493982145619573156852013119866870950604966888753209866014794108095604943342571226220556234060169547098280436647117441295594036385573224622163995276807439734817577961696740367677750041137486735716498362635515087366096553344224483271257537233915214453414044548454757122817957163142087733820162488657690323825029648819181805854310630077963755085063646276881077642023189154560587132449918368096784464514966751747471793580247104802916473609780874235446879133562125738591767073187016171765541264715508403584122796479685158195251583377562228488408009407745385258276643732595736241892730600297674380831406687895997995879709197140961338173538983737537913769440536155599120259520428855437358709503854658049874022701575578368192000850287946525134185894420115534882489225952255753575961708560521224935416859431260442711563536887881112732921770392922528582180771140356758279310616708939414696735008156112692128346593468837203625587170467076346512266283760555354211009172177475896254683165753758601767613619561242068486056345094268249933199736005940334028990311280648308881126894011879371529841910008374841433297867049690004975075315568214655277853204917898898726412817642062365398095702904773281406060240454583319614740191498797604238968799207875944560809801640870112911984670711501125589441398447017668452595783332702827609722783831854180370016655714543883149277441818913962330300727888504581811073499013659829245376472132502944726114211248299427465763936292710516016838652836118678097873213149434939396425506538825506315975888654202209099212097581150649293008720149826851684966847094174622328939218753789870073465684789847816801711676612236091985641377894784871875459143529645792778022530803528452993842262792447217984485513818286927870652916156281709762024917141525539545573211853935323098505507711495430401774231276633137300019956523339483567596237699339453783420421727978895281001786653171475663956147606417809446347062981139248865411192593511010650866938998257178089104942869934438533741516621367939336212200635601102705194668856272197273285644350710440446069619462430216684543827298260064912717903704954462036905311315207907406578556965673585858757678712391025283224292854547677849481938096278977999043782495170417708552851956426131412518111492672785358943637658325977022350143638618059960930222323940507005963977355809119542358302503455655746879697716739769542423459540679537204253415802125896690155188932441111041818763353224259647854467766679895732209465315722853813436669306804472207247246180222686984716468083342345372001741405330101654530120552962301318891713846554354169107867698981838157052470636800729104043610432933019080083424122113646483369170509351702062833192579224599144693907752518808930687072580895282490647736942632811405454802654989862052492756221929711868105564078757591050028733845319442926589642416439319501425046110607045570919234775375362214189583890070178948838141610199601942071089331212593760258358394868215026843096233903244046873514505144817537012990136297624483418568409703426950000741418207036471950260934552795503636420662888875274090424753025054424770091130439433326050378410642755026900572523006096974415524169121617617690964291568089573243315922423491534162190233045234170383399771009280108865273692421140922390256245713952972319740158551287394600114837357295010097380661174431661997683879154546132390628505937481052816447437544624218092631439630430761480154659598784003570516634589391955432639567919722428433302152509014470049436372194138804131584580004764390738038947986276874710029558808977360888235669432560517412922703030643985959547488177048526458524870264090459323495188045814585719727925500561603900210222093061509337614043842855589031579355807423792806221151963459287375966078809891465231886679317941526332371690705773660929890282805860915102650917765259317221361969709052466536618983104869237796794277712717078965188978438432302177134464916632669336261550449925214770526428908134045609850406606971991277767640795705915178005263796727722385445864212324739981016015968680291870602521371410888192709917657349604034133052357773511042498574299434397603370692727941138345106142530950817396145486370281606802082351646389240307303256748920982366061000129187962524100854872935449397236077897322467221035274461571390623384229859184055471064743114762740324506956054399069795063088357001367423341499783768349449262086187121691770789816051786500482226334109126780883282592033486742037987835181637965043363559969991378501693873908324790133580838950883818124703957229688071788203864842220767962191133706006604196211306203425144994588153084079131833212950936749029760208112507612739994L,
2603706901938259437845460233994714837245420244673319148085699462440386000874943640523831339527041835498601447586489106286341409360153035437007172821445082109211029141983712381030356420013550444125642007713988991080972087339953328809398387176096284670816124799335924010583264401296969032229124446510579707220602463198940300655503138004738606862080139657021560294942673109418848701216477489639783383368957030754835884403495595566692208369259158718127387707544997349383677643206265736966707837274825397944655730890440125872873247884781575311849055079809551120473725624830897317345195261917465108797744082457228013924024327018342442024788530657435830155240082429750630716663839287030406687502820756184621117829320927452911001722973498231804031427259913383320005725939171214181516169082700485169706928086629776833294402560453406211697361452350979856456181207899950721014640971154130304748306834561275845316564166470075307970229405200723076157228409420146468566093241130950549712868120983297350474278696795001740362895084100641820421397917780731655065121735306622531489682183544664611771306000834161066479879093701844766236536828171263067942692948664856265394837242853291733110974597614532126857509133274150914840085728654059581247886624451303169544883754604270283328720834998221870658597498973695152541098756348792679374706026381724741606757346898529988004110949481070184043215830713325448050076940741527680560860599064281756019341873690401847219366796935343051308006375288410936046654924183594246462706743723588155167921750655067433314771471409967711980204351825931279978332524481111667507572827919184465353375100197499215231828796253312803295728204066028783990529365515063029325435150255209640805752951614066437684289928340301935140441164797924760964977764226836251747909750221503523066985527213654364847608279147073689951195715788548666994586172217853188003382010233556476941639266787828262802740239007917133636078712418165806125994169313584312355061216307076411598681242993829498778987981080137023801170618511041214906573212829839582340306193741337704188546059282349802253558541766340139606723425040831405494520365941253591886591017755837618996880202775504215275371789798692255580843820101505467374435652580062490151304151774246338576169235032502657445115038885826406651122210029797570990423911840585375885927155820097335224953355870366025929146544020142510632438666155645517331517721597834460172901535706363268016741221363326025017937228448153733367902401970366938280807965979798358055533483030188388699655939108283612324423566626800694978614271934719876185191695903644389738845777569316917215141388521301427009330178025758385467663210075812909118276338628531354494038450147033506481262812514642922066253569538393011622009748353068715581601833938569641329360575812547932178636840858321971370925920093597884962069116564946034156145956530953509012586258973644359007118426603450812308354344077188832485340658522317052859627949226145075131683509098489781586139818145380150283586898327145029781822194642421656916336795206498199152300792026240605300839463236837145931861299070192669652528870987959706046686386943742602055220085256290461365101269465590257045958186571442610642610979387554133352868503297415579579977290150356976804305917514349740418296959027270516422801078002184979612098063611041375747915692990701872957011203330346700865585238627854924083919550435014371719025284086949181486911596103540557186968037189764842397584187432610057662630779183168162126933352114919789569737403877921209281231624975240077613058075863360412867788578264379909845619042246813394335212496657402007726172972694243224511178934491825405836810433936566976307829257314347449731693412430200772195905574390523987867801200542999770464484524588545920101854672844778752070738295071012383032341676769426770389581359501875277051356708976428547100546009273529517912716361447379957393053537363205677766948792663865575689355618794765481094800359953544750312261382317001543443716547696927508636045721391422375630905909733174841891695979675108733564637930456947351286852446444966973319156401476606625676000259025755287263801731766929875691394444123164110449660227740867087213185354131872037116817791304604395298555349086750604177488719804871643101715713190691677021339386465705666895804242182483766596164324908610237935244022208574296592852412479034218675974880906292516363823065396168637367380451569244048328143497276165773566994338387375180877333614319116303584384839865773105337257494574164318084377643007951737988753222110262459731230965192616640236244766447846761140952278375167283293541576398596467501582789403038346751389752483880708708815283862445438191702268083595845172833352727193261418451825053190650772585849082463372729723276175470763691118407230797956290948496839129281074214553845531747058322394603948291461485327045416928720054087322274510015628753840986266978012416695430214206599708545525398255106013129399049752911151570389142873769864580057368978384088751810820129973475179866584392113408222054941791653764572811870878657225681282418764803036158532205220999483096357872622581681519977786536668651202650239593516441298555375780259528284160252086460708243308091250142448692715139727199286733485097352331429306336508706178684328206696790733548156929655131500509756922021829304479448375673578126823820567697708362585344702886006719542970701311119552907271106795072652990097747285549403509273997107148861841925962043609497961040620043795915226269959493934484167731422508746834840704169595649805519203714029067114019458253159428845003760737118999277296879977991796201833887148938980933694470385308029866784909286636383990388637188093223668826116602211574340936689584865449966921000544838251929107320240975540842142008759118849413192809084225431382432659357684843080507325589432727414902201213686759850222994072261749276056936937671548950590888146467781802001953614104241880617717640182523648604729852292249018552315995024663534788355605675544321986605571966511911199653034431969406176016814802862608121876050366731840999936521730372574200558997999493138915404773147197008003778125735621829106962046364899399499003749946382074118933230173350533637589940783335024166505243122532533646104670475994422318839940188212262243134027617626243522962010382145096009435690404168992862584656801325603187591407922319523386434734489152788710664554002706347692414668411970570118055150L,
4340587739705185407008777213789230583235230939288444365509736490792673991313019048164306121217531301084168129260948987128499830982702804697439749811540404956336666977717157837786279044777313256491601475190642907964525725091206827517467006524362423590612779461507896049442167860482462918345973894442838240517785275508236810437418858253610202714462043931566378882595135313199339480053857310447704514253257298892571167392907655831869408638812303341456750582158369787512390533311622558678192614479238122237276948988798273453899893643644600194341582706003127478594858768589005024856965370235573412910706715625135586915165779036170949345994825299315068911875439719665084802373582729299069912236216460120736352916074417396167367261193260977907549847437140438369826959611055744094403876815245052089533812326821629505515192784249529707253451010507547655028948600784381450728992349927413434722514142203440218206065688786538580113090477140701939060499408939454386390077318766150018472053616010121113878570094619961754855965852490606285272239775207385647874407294006130530632369141739772784802354578515735482219635204550256310742060972405363017717950242855502261665285652541608035773885509661367175193953263057053848515023598772119683706437213716602805157145916671599783321177828838951549005310647782337070906039345962856016731654250568285272396592146020348372783168573976014551791234055685752363719465249526942219664830706275481982467541885633315334855953574867864034793608239478125289496025888644411756023904931403508485615316377789706607090494085530754569431255217441744641279544487578677097009476250170818846468563415918517071392887431050430850146878393909551106640202167955225519495562062137134044848521248179427587347692115101245750062460308487708077875229040789789090858625244687960284900134348453935464880575349073781951258680088059642899128510163697023273271515530121234063437839347304306109549540219460095119838914959526465999947598959857598470867769671252692424963127312201819126542660238830133504054003719086748502680441669641668337858832198207293344497527766853518954930215396906445141740198897469970907370438358704842838416954922586231505977838512108276037320041775810156884826433592971289146311535552032872939798747310431943794967403700704919490118145860796995550107559119974509098439710672713203233747743687039173716295909408514177578164267979408337325434841258842818522615667962263923202440033744598149365118304649631392876536088771395075384676698385118593441222145181618098288689745132060118358546662019640031619452955190625568327345988278092950788150301922493961836330424940554343531791498912428013755515932087242385760888744862557468021914193022538255884244377343463935716799378035363081765712905841038334382509476679930777805308899872066057985838361835853787158895529192530281627556913769846797733978553409337024357888105230621894117020763322309431099218901337726100787425871418097550990564729045816805420787465894944224965421427201502467787342930831655761841896280856292433280279579753118890269204593185582788540879938223322332389194477296214671818986021926643777597274058179779342725865831728777967188200477717589144717338784200863563429593417076754231356224209914390184081722328183860644885104883837599991840086561708024893971149904448810515009575406409482701135671715808181770191427266663404118016861476579807595108165808908028649564693028291818735961107297851627871789959992204261681507048776870437859463783873284506357947053399703934243536208327991311524677211328025858659665872098905384068100345507448807076436835895069252343714971128199869238000605337838822266449392903632552868540275806157574324041309623792127436576525755377934766526351409058274731963195962527711113824867635104287448638803056561850246066865050609098981241288500647029546621676617568403079618234471692129675904462307417463111663693165243941983259775786416099446510196703782845321195598593886571574615353238919605012508418169879208494944423578304583374971764435853634175730458947232616905846950571973750508254003076849041990602302689121306280752756293657819036720093089478172852622473041454306219915158623254258375388822896733944257669979243764514140631113185463644361249112399512998944472884932973950917774402783331673767657246404227535368532386785874324567234003298859550311803288660411451462667669576734825450364371759292546468988412102868969432280638797523981005892808620852144589903491825458957308512947391657733018098321387486044204694056902699368215585249492771630436972219910027848604908561766800657436304998008874172324189201859628788397598235558704342922876666648301258926894772984209276491357454747834537660493464652020321533662982198526902088480547957104148157022559526217826953594111557808729780835432216143793238915530116434463865678725079590799177058295533724715417934313689199896590117326928102177056072583383972677730219884045628415544806664930589360663168665191444350968391668463734832874485582276609550789004210000927716740464040489398500941346560099361302578540577353909723800553265010725408437048024670390488171122273416524861221147518884360871235174271327764027828833569741907515553404121389394932900349338065151617755175334253257588392896515194337849505129275759323616185861097622779032921545499027886109653252467864324253424920971518136458105239361196949101445362961845770707441468688078303495383407318240172892084954663487482175761178874935777968818018878161905712257307668213442146906233971204583147127191986854178171059008133583474336990710617298821354634519417338416764665136313427913381248444876645047586866785613622254361512001201450344277632915438410376561031959001357049479490313499521387488995264660059260011715239417492654286928047015507476062443895135727968037938433458348624270501863386082047650176887592007405633251278802471427317044640089442061877619714674133130482539290324311110471092860769626725214765820714078999819891886734570689315167201848105513392894018328212689551759667368919429747884930976419473011608043163246221164362724090442438165421725249516275935470612688667008758656644704366553396027962123846112028414429142126425817098149052407803294842265867200680363127931868375401724612537747009429450140370526671620817570467021212665750558142854803033353407740892617153224216566801310834246841128793775744360605788609803462770769540593048165656230192820054026988035190355428673856121488219126861450407717065682380974276L,
7235083640124560805836387711152340144739134302792864222521617821508545880734828254532141754090055029987309185179892551434770835184709688640950566614684204126835047921829039275851727934014005897492154091820100587892435728877558081320879878363074846771162138763478223400212030311233089971790142495609551975911007188788307077218524894919137516559065445792740170089184673019934954524077564842374727532254330906964005475949623319833151434390033235734263091377890865485315358396116713735809354336373356808550155784910024058483200679066810867394341124684184838232049231850865275271377467305612252830614192011869759520548907071461289121984704720198316017575632113003717033182865940856981799899357955827406303508163275828128376863937087679204078189321772996580863288671867786173702019792018533296268234477888159438093931403307016904885165492347566752516613365861357492734158574727738030714680129389104049492446490972654369694136465750074022907105623034176458983990952197366203587998871844308497439532362203004683799992447534705526446614733655354305513513548066168936553471525174620946504743280951548125046149102846770253434803574055029927276793339171328694857273148066826977147401485307413275693752727668054807737976733237527687167054462834358009068797791375296817252187062967461091741699654617371640272380447526529011688332256129277666887736397552646257329216657256430356891594671279585855725932043503549735863482541443286528311339349040540370771401213670233332741049702347937933368910618728539358940814876439847893453241136989101363888110090298725461587735268301670519591775776314608802461305307982146747678696321058074561938409767126671881456594057788468891606449486951564503391618673878210193795270723638984146422253792150936694227199818895084736951698094672281778151776074331149116136992870367103098842343346902081674968096890498481841189882485591597615413291998553743919005324240934292852216594979734869316996750251128171925359383401353048775839301081123123284353510146808285524978191683937740870657028758889190988115544131244840318083618576417302999552667411545940256749058160832777514993695399629490797655650008059510364699021702971049643125787041377322492185775009082806916794850986212960610984002568834427320302748254696317110580802190009149687008462511140508363119867715409170631100597169317836667399874185878817696553585035464492795866031466235203029755976995797799616184202917409875032175008492097370675657117289572893899268402218312401492799677675062524639603475800052807103450742566930029802221161491565470009282814432090966149082486899486682567951222464021449194456720229993203581256305466820142431308648207817398965168661816703229194324473091809242122087370788301198296751826431469564729591937974213726298088474080340639785417273477218258792083337726156463224500112156240348077873361839566017661455921127878133541718836486626889412038693939193517220364311542388513306369241949119790437866295499329446869479095238701775602026622247960580063968510336252073690841932187391463452128808099951705874514271144706632820002137953359829015743220429803282772693025730360499981580045554754907277250690746089872064484477984555682334015325841867621277192121360771650835037972791095825921343161996126920192688496758554174627322301542718026009787074334057745889217282116636386385417933300295890241316484672769574400121726088914276245888047460553898053464751458144619654744712180280708790223371054059681051965882967070439297717702821323834413969378721927885049862837792626465664050232373658850041087829561909429329190294069493558573978655435091861063415590883704465539578807389749249854958229537782804081437397405505942752748388913179493698436374220900675386362876292756429444591341441595051754141915366764906855713848865627393252479632262045739372070433392329759755441084353187165249876999283703319880024256849027093658632868854727727736720974181833394594593746102950297676535389162685813782578445080944805414086511586792992001672384550304583161371223432492148234114656221783471062411018734669893266247853624622982677538228059168749126987053350400846317727001544166271672547528546101888387781307907527774041937561222541331616155519593360387546671304624961239974893355978027746263791600727889451206764656509416289109391788376911628253819561366366539264842408099603760296357551142572534605265347777602414180270916785608473873702629456265032656643981046663686053335483019326692163529966669743603851971064680563450046500941225429294207972518836217058335854057716389327519261198014570632247358650676283544007797474764235960098775375836997137585274203540350674413335456946233942673892376252378918928332194062220772040090568859719630115699551983038652770731140102282071992974670941089188025539477665407447025489787294577030440396364843809501941714499322000252688296093013784160933254882433655268616425962122128065900349291771570683009568156431911812096762574470773815875902246040178771051617695101789191410089856595670849464466832236185564310504169840777549703895823116693975525118678156431697055598640190868375512484258557950914443948483164115543586201813555009898512255969271164329460984708292698505912678042068028938700149849101401452265418857495600976415524344562175133645815877652464495964897050104791573958304386509572021394011953276882692564740570146292344488310479753243745176070392378240009956956809502077464818909650635124999695914747097396422871901650903106081183936220090293188403615624182574054898600515120481340083652709883891848392550381418721751840659992730384640658418597912347657284451106226052404036708507013030955829796194025789871620097299205982449340064462227113869011029286957643136440995565065616616737383861973484752200171843632927684021465936978774111837834078725338468135563890689246494932052938711270726059711266585886099888494607746335694795589230574112024534463529009342544022957742564921231793006244157359686247518190381485633827954866152398554683016844811995329301891509402924444184029188477988297626670874197937432470757255389217848448488580928129618674241588337340989798444915679000872746516654585493991123759688328898724520294742610803656300923959802367645837250544226542107935750705313442139736447553696548947418351595897557857448625031665958728619209867361908638162548797897961464039824858738929876806464381762281474872435130614304771387816539264832602805689556430304596973742337420878763687204060255290071355440665728899458504L,
12058052776525301546347811505221346781075798181414324125596488723931868267772732102418046118918776418803292084785964446862457991930059791522321182237958882870578193240938549962577820918261521609185953965912642654940568862341841074490688802757325198834477302957014691965121359678187420724717957085491097114983517030741099986644528935002876676212959888005952413177876992838967904859686268551498425062878451328678245481760163888718035311393438891594854033519973647586675488824578073288429766178919828561944092943962842356348103996981188329457366343405579271954418371753520446049011314519127945027315058296426856516226851221724584156973182366721943683273559097401159224270384927834492997802778465711969328749316030240045732710986079643672475754892381964113979645175070553101177139361643486417140763076211329025598446363965611946433300868442466076191670851949892624255065386942292159764577305317612249832669508223821796483945780642488239449744790310705479488917324791537933531897691895208692534034536238899896897569099395346351375798553650751033987057537227222580936241986438228929589631902928620861290432146707226722552144406927172776298359871382974360041373116992139956169805943193521411104240346445831618255095117586801611267025683252765475268731835239344706771580104473477355063213972128582073673376947589242758624364567386051650050182797608336432805267749288052046922144529419925357918194357953826074886639831726187785903146543810575239985308182835192476429242069431608258634288032128410722713479167033448711089966161014868206562283338332468756350290154296800795717239532645485982201917530964992925555713361485003123693190974619164098378966717993000043979308219470070166590490659996198333053485837828205458206058014424478252781265961759839945096825299368762555382652583799413283425138884188982762282582760375980596828449855450251076170880725318689848755507388228990357852904891483427507762120043844791800264358832903773921840096578726006643743417837628365078881896964820506342977512099052114054667043792221204223945934481665661059861755099324044520709753345859975574834025681224784757386060463519316760302137716742132842032724349225724392593398995848347151225124571509393028775420217806136523213938424433704081549745269491378625257595247813483765684668479478052115186785887935264537014526744783088007306473572036965055925463806680937861607146047416154427599429200729740823487491980871427346150437090357568815297738379224320858384294137192142289455043183035934332359350592761116011419209167582105809170462405865895513592539105455533912683732967263028824570847457209051009538859353061861286663788620848592772268181065914448019809983044861124248902165556556758688104957985979337529760531692217337106104572177737528396826448629336014938365974943686715134138668227592639006362216554661991266715247741500346949525024699768499025311615542380917723143074164535138688300070673548052683532562929661586698682252070747184380028807603591030971372780373350353538080734733241730939829456029106230834651423107359443607061706167875782883970053926470699835424538404881347433413083979867659235671789059695966514825808959592458173261709785279223627339877853101351644336369039505536844159423526027119445895913015804677077287973436706467678474113857909842120529367349122267588337069606681549653901023381443074131221507186916357037359601317962004742767375939264792204710937566663029952157620990006295161059061098133688393505551588617837770388934352193265243849552375030685345067825074743664644799202383228590977972555911191015817389060485488413580897464685185762736204395120426857502665397357731692190760279286493527065765080151864982147822272948955557341041649041416892310756540266540865644884286639875153136204773486600093262484822492425108355925113205460656058075442603918475933742877786958064813309555242238099149093756758857792842794955035983997194883726262152781796669924201706397966869580717713631056720681687185443821906767868717140396010484288027921501653413138087632959090331737926726102294225013768406213675772183722871039585559094576079712921349600347673566042263572020086214340831521371500369860381840414565169496033814323398516390117813487592194396797465538955226538380509696836774128227832429596678740440878311949968830133739997960796895208486943731723209103811232588455182617623483037198041836495762335036336668526938128872693609742966244310126891919528806266320524210601252761287125971006061997333143703886735962702987931538701472869808246669056253174735431435225559845995544965202523561743019517275533459275175380827070572503523525806493745634438184651693006734362989924356633876996764473536659342738105994636482964620801804616673540562309530620946232647385489220460904345545471531404663608805364762524377418984360358525998905663761237492031810114532659090950148680296059052351888400708246333654414348023611507910036806922375768936971063709718636000633142617417148828761109883550586188442312128408430412761586787458174075566936992791164487548854688823080524936125927852371998636885661843322346266973087829073002223408484314172117069544649478486753794700952415227012240728921716392740902195863614740118761859505049337638553897603490043607332412156246646069612895033665386517153420794336866579130419391764440387730216029982182149183752983984253667049279848904712056831225509913663917381628596408036129684467412927371862629114289515654101771838478975775012884413460186545061966034293674648981081636043599159859067075892730920952255012573798551773491627129675238013952888316802430360175662200016765222960025526684348296962112498715070890391157710294842436072652738714252913203984907370414230010502555453984873340540840441202486495072615791391308722295035092765134615048979059695474896176766301786507719243670440840281585755144856078817528456364266792970786883893164183484987798463025745592451292381471331935570297174064828474722973615527646515304165379068219429722416171331370923465319447254891715224338168158599898347712079565120974733684194800352818879417134601848354529213993369705738055152763526436165722080651139874204244433408881742890849003720299133849893667880702066725862594962514108305843934780548849391806615964672090910150009624533785188059252461358057503957371219259485471710097348881708740350733485833408246476705577505246135776407129841787322941056500723849041177938618089432306941030096862124446357665167414824763744795153928487604907889827943L,
20093215783655900733534534814565713825614508090988503460019155956789220810565696378960241758094594916336067214804947802595865534963659321716915603691571041570350756472073487898408828527608385489302721513336295629647000470644416828671639693414605765547197760941653476436775479739050737387843546014318866577648344406460891997020998012239374243981765010466916847721218761768503257111807906744367389194129981589186501283271357305843929292437438904220916730249664257346814118776001537280802785502705656049442388778872753864178447930769197902126931528280944111702416731866103978311983020030375103037944058489817182311699664687169291884893178235127792625442525343368218075214728032266570417877162624074323560893283582049166333278972246752954098058495283871543458822455374460054425935081831472845927209674845892733644844239706924257893701837704581087393466904451889437836516581266542047989092466412247291280033551305540668358989720481034405836081661927573650502546666014497449367823796167494885537424017769758030584858393003705740072409156519732615958127755832250722789494902663477369442261867845477196288242022681935731059222298207021850342207989392675308677776048625559586228516051359372922527458505113016896831442510277051618724016316749595530947514307804768777935218643205530700947606482174811586461612247176915565501932574139555437444031123023528825321249102443852850474955682393354049207359245209972756297085151643554436761006667153735346151374011801721709755993437083573728117104145957508649004522953074132439850179732191369664404367990809568538741617827714827821101087758972048040986654710011494369849695862167587125460552974228094871325186947175289751107803870676259475017574658255305602763362735040665337140671789441118922600590842625197931883339935904537851106281940977493686719917044841053938676217268744455453855414858207443180734424666688730921396247769402164688889571500119460568837859988083429887352133671084984332633742831710718446678400832063984554186567901349256505132105820298391690350796209972716039212574055295683928644776254807225737116181009251700226363970435076961731873893817948513061412547123241141782224112464936230468222494389715875966872014277013163311957308551478691885695484334605476254542315874272048627172350774151779330896804330809686040793685341223557876543995360659959747609591948415926143628088618516375003677198324249989745958239357378686962995996117041410808072417483295218188536312544271814458223398791859769277539516054357351052288084479417418547513625070310568816092243400256070483891676192511648087663329325219503914250219572716568692441356000484250430477796000350806298177706834174455444573224419111722118817302835998404481190519114826804465913583647757618096696760451824707153816648690654210467592646930353624038256257698387221997223874609877813509967406740299883207256163606390211086360094880684150843420516377091614773790919859871433282681812615687318544754328256857087676116613293245733800624557855248953951138873901315633822438622993589388435493251276387942950038249223481547167569100278147968521643759080417827188215481116827064144741449989262017913364188569877516280971063669508050918329048799191133003495035327604499380148683959767466785847089143358618151763063598856126208675079645837100893559956889245007240046452805622159347766684588288048628461916948937207763941697253432137616898467407820111203062149087898477607574987127913353607423287755702044035790763461927500420635273994595974657376107170904417761184451751841579851282433775263973343819647069693821821191832591139204348129433696941791014176646446420091023650192091281494711604872794431936286209313521156565116530082206862798259396474386836503229884319089002070897058177510118616640562754610601793244479422106452309865910857290785635574440754010961366336268934119341551982052316607439109609222458609690322532697601226606766732397288879762107718894462549425307920793020767036230069501796188392845879302631113111928602087707949747924494817797230646290366738833825814426922188212010599972135502105901800007843040704651008015873983356605833269689682099293077386197612735119375081040893918699902794528008539152078679605084096445650171384755252548462154909235069169758261244690881675759632800233217881470378378941218569563817446967068157072382090687021334209420076957083019423960105051792640140025117325741162277101986666426704023990778070970548696303130145821512655928191354387451596068426913496871709663573740922048341837039460038079529480487291509303253119353078750943083900311984673711382308827681972313056092074201874489404794400431533956821334131378200052358349505777038940352576886514339408754937051221643434873012421109954615054390236906318956485159090928979023966539189982478706093537246949817238413210961373910177524382066123619302560256957636316011238721149560250915201583679898609917323597503901609884790785367841508381843771230468500272343569843541461572764317507531325237685277961412521181839394265696107005226391944111444667393547536021642242080199061683910774494558242096574685627551897129109474184306589662595692550494282781821813242408521735052296646497595125831259789697868367123211035695766881868788058687163852253795067248805815615881849178523327468472827289841447092416644812591909291382354790894161801729887513336727296424556489743578011726059191726223349339550206017491641008758158069606863611126052300007403401755695659976364371494890381594065410504353639241774822893684032172048032245121897065169266753233451325832472787887108258399738798527984544604566654108241450425480572442003323098474921384929975330728494673209627663116461261442282573117968609645302850569098103690952151511196022022643473249158563156605076345817221861858222242782675618435482159362994092474347352543687338342729186894375846701948241764166633372177115035660928729329746731484554215791805977403405084270067318885201689076765033104852433575971953819607690867901962327094744857959389553309884199375870318524239004156623092518495024471440128222593976651505568830356901894292518953630793604885716247836324939899596741179941734730086570847509533775235701388630548720231145588900148544786141387735157187196442068918049221578072508679639988954153654371598576554525055957739237529539162165256119546590313295236030820878950117846455617449565368925324372308022364462521786920098879464155594911049887528915421942991971483358848864637954580547315607514972568258177823L,
33478068640100323017310131159735064392752779026898314987908381162526337887224325794853275265449313454820855683979046056418889151797701493564487956202206211635462592271812975537517348797119750436300283502990269359030179955598676599383743805364966014207263235184420098931009618287913803422443026812869549004195592501394881900705862340603049763460353838970906880723299858670955823981470913753215247884900551268224556419175506880756711640964055112733374708456604230647571433130764973636174464773529117502283332046639882489572582846499234373084908915803774073068072731806473577992705533966440100569298564169726228054066828317924585763728114413703765755822190324961215551518214948537187005214366086173527015667306454231527857855620027261631768408082523313145768064828921342252031846228970222658000535364440082733100572483332798163541026559759475912167155213473244033112727608946687559180531483594600232844620459324520150189755218230259086294209199341277263523936626635125134269275652505360754975862314013252192954986163085936402423262482990688752055488196654037091482173269738429825589834302305689788310857734547548599712001947542243654685401870301068470305100439308935773300856646711815165919282017210139720422501458046254776123265165485729857416578592898938930324950060250656602482885573921846548964935068960494345602522147806606618279600193219096701483553954856204959134705286552808411795571435165719966756956015541407042008889977269888566948487764719275635679969492003580896690948659441425508517984399581001766295628929565854835636795633528631733504153680167638004423663902892194321629469982730539702750766258332936417324578290238609855654064931176572792274520945962966707494638650724944649598979314894850362691205279878990904809480180201323157823712656878766331928247512814793108185999165450287150702106856005183099424701572249009928975549538854988815429261206891266063570168938702655798475261027717466952215693622077313827598999567267605797228297880931910855721912410258544907616318831264372501243642657382639682792124622300575717347125277607277202729326062185783770828804413449229386995109594296900279531167762769356030364923465124081885587449796855901179970468265931051950657609117043904722970731712647877135049107487723877095956483559914455465371915713235221387074263209706682682359694972170594676706585678823769298174251535178583655923632624629280129581638825288970906755550672777626153125375260956186508865747732216451165766206430875858612475697941264890232256944205064143269020636285240868220294438127815752605695344978842648663911280488460444568394630870036225739081115485496898242623391838416442772755714042123653598203039989453699090273771451587683125561636280289243678794430922239057989428457835517026351259961665288536326812065743500185583774190320286643328093242095444813845342332364993284851491919518529262195324528644476324808815987091595246986005159409618091120950793086816495684926384180752838748824308838251705922459063791035529427092059757741112263758425307585420731715960360383568206591785711139019037629084806656525153818955927472082200558302449344582369393227877179106982654505858804645254962739715286591757589594207302169157012688865391927110995593748670405801659062232999185169057491196768789249269324181137292368082560729349482728175314632502806880447263501100196602684655001544850075409328634360488633429211825278680570985223380347007997903529370669932513825123666218772292969730755170183933226743036939089472799018408236837830222613493307464436247056689905830816142924592521091546917132789533835629585298168097182622522027418788007149329044663976164749434306932139778761788830664864136952468776137643098602582147567921354217172654859426248365474454393115988156735578898661282306138401848508238037300757730444748681987380915185885829086971310403913320204021371081977738176354437516368833614617794823251494818608317067691627043054701725298454874356135718830175088829125992001607343118829790932520471835191793822131072241082285304496369429309844572781843708998305294053642503069133438675989184527324821659358993877503953966472218344904141970012546532260938301896815084581197418167765409006913155422670116848156257468556380021824345963938987307544558445844900842637296498298998746378095243709472290719723110941172220734974677434938349357508422995874755902643839252853227515889799732697771549902302382310773265521857539723932002183043640705051400036458516710872490770347186818095521936094784336129503207272260318561812651895913626822474065692817770987034727137477126685438348927958031166233158398402869687944181905571422886013564994044978257300128549030181516810548906608323994722397758942986401387603037742039337550725981646387975418493900521256224168566584272185623455488711428228960558277819537784607607488160096489146011567715643553105968777578549451258648774854132229589024720920292255231851307684849498347139141427835431854466124411803440706680106890740051217153058730342255630688267854579193294908395922825429731981141367117552564400293713314291559157134512060644348251290072228239964631416066920562736714968924165490353222535308036860167506904828569085000762293866180879705166542188497417380116902560115557676794603452007715362589898548529958420148590948797621512226828297473192942122965181991098734693221072669954724552072442884924626611183546910365094862416780598574901135199847360010741021390448328721399709271641672308349136880756827312087993365794992490565683917927484704397606138604746740468014124571832308973530143325364409584306776839085304809155807844428774675880941363055316518673779062562341403264066555756801420909760715102912115603682250582674552613183107710677876814708215328313173965692769942220686548149377407557527620385740783814641400144355905856132559035184394621431575161373679433813489045364149678582533218059541919227975619286378948409739962195509406205335892453708076817470513723182052683320180984282690901075502258975725132313355446160861426135489184520720090922298748314750326261008506881091644315811269373243309150705094390135991330612661185593894148567894798790250961268504741966584236748102028580536440356244391960519008980454492659738133360073725738017320894291072164911732398529342618922955067177101007233271158141815731589523532662829675511597227530247809162878139325281494836296373647537999790274128049583435709419638557337066920711149859705738040656096377126908390655894108208710233843218L,
55771208850006188568015912132040370243852304842669003456740863399056640985969048429445418911101014883863603684088711059273127773298544097241718095032781232928318190441763197888743791586553891566242275425174966631311840703803347155973705656404580459972389902757140568153216832002559594628178503950159064324941474382922627678237353272326754854132187312747245077195761164768843130740225018495533374111583544227836058015364058068617845186221696032568212023253011596806511164884196965665968577298540037592688846628427754257563138117118601532060079051111185711263809952901823964944668577475172303293232471938706496396262419470403798373085713504114827642806308074588978753507499741015147361039839607293153624796392288156067736452320185551690481781074310388107530834104867553709510066803519576249028111754744386182698454522711952333254743623471072884626758941310675367768127101797934950720180759229469110710554245144562812923422540207648682671498992777659772222778313234649790460785550857872393916304439512816316576381113987111422580852705815189389703188329831031151195207320753385010974691348579245354109449439509139003993933140584897106297219639647170770711248100599721573069179101160890205578362126427567689144790268534945244018302295703910482856220757839983969805505745182054056090567103360474972477788242807651572810994120189416163139235626424897475775032687207897191863953496044051937002004143422749014018680277459291379240026412431753256266386083183087670236566554572619765882263559589014322085495614888862010498837187835675736393627591730077379755038551274909717912549945621807895402893259333389623058803807573329862955216253253843777953042898993745675711647386078708285906364308158737846386209548026764923325136428771447311907549482966061531964414305055081239883719438821842746222810616771048811402339578592304779851384433119397037634388546633063375188608938391297396096924584846145095448055094279684841532378538344361632338165040362014733198253525808632212119771748789711435842435750399868781386076652942278572310316077771144333606837869196658256271211318832625965816472743755324908509431746103116395341017663351522198547480613362552765658559100428449130067836576067530628586916329834640676617793330768101002648598418136812526474274839438275120230920679636586208767726172466442726726207345042826349049398484115179209371656599398473438420635874807650173571993862800111223853539835435281753511688353926709834452719529976178976977228943375177142575998553004921922326507723472402151744550447044041431999873320549847658535258778827061010124929184308444799677177044984433011944834841763808843815455342752360044209015903078351868265657246969768658683146007343749714862754168952782683607242008704583599357299429548859907634898417924372017883563501342816460173758863425395544535640320011812512447780704741428665803236310234333845009075292436020954502357523607402985280824031108174435145671190029006176376284742124103291157213789885259616050764576025874895362572277401944750537076630834351801432696801663980100307758271358446800734493279535507809345008969938519203730156313714885255317376182078521734180490646565344651389204432415478915958900202364676373261889768897173948739482117262670887798834476202000688733569051949295149482369420885972504337106189872964257372534843277009065238401384286629325518020119051041905478738107328059422634709469802954342817282270833016341991811326799569862644081699843398635028702461841639153837151408704324756717935274024049371837370057684280994570965095252816493977201973278418474214405063476452398367616844181720788762641825932324459914449194507578876074067584917587930929225740236301516682234174851885114451606621923302581702212998823897990672995168229912236535910131331112605934659267208948656590697599338988029320298227559787359068047836207440166298851263354024882476916811433541634362301683713076425275300623113267891837011931211372264890628638088703374913759849212391424518189712419727370974769446115934427804142280747195565812633658159782827812766312793935430518590095112872773311340438931234223187853967523109935797192181690593420385356618570702322321025111905501962887472196628014107079308698722537375689956843829435905086353028689740109448498745289496363446626467573964126798993940809943538585074794666085201191279050660887824324349740122286538948511959867420594741839400238085792551642347147383398026981032962886374470628874160911686708375475846328227656983326326209044003888548704829963330215337369967411057081549630510795726335361132066796267891538803319832347835048031148673140342229099621361961155948547276042808525350021098073589998245762786636853233867850852740553275029844050465840568528031225738637707938359333693314675887333587251407639348215438281805690487989456738086552724599167084041576632676059272713003960901494908616307180835264169838612529789942773784773647829019764109538011749424103878395929040132231842590336205199617274886229357577096233082857171080275322154246931673206436834704992335114184415277924784174147518227285484332354573214942479131778808020233369818917151289730456557712714915393729323609229354702781102946628506876593471142270934663522064704418132646156288124769718513251703059249543611323790259892969023311614081452841659853918671300922831440134046057672229191016928495911676951305710562961083109747113585084849233688823198452837878709034956376597638249374190678306351553696745073010859104770439333749151934824283064200251458274762870439638768134448084750915752577187875886144801843187341221839337779748856265783517345502443902005709120623692590694213890980307805555637636121622259153658817735853978844634270552638074000808775302095038468487839037686069214477204208986013284296178710182293682352770228282007469446943143072529107511405714332608801192804431831871395749278992193950473133647343215996314401803954002873686330849485533314437851430086061490965553060585565057374928731913871701003921447109553396747927892073435962194003638271193957119315564192666870143357917585382395037896302156548623250907492693297216423183877299660899025642585068823797569090725269878524769766536332678588654388487706360180887128155710104541753294428584324943606500633160404360079184290477425470445624820902854669739806536976363261036324175231971499756363914490014092177804210739075225696577768557235561177537191762376195162335850131620109930362743441344591474615475837115708287135183260525246018723L,
92896311758888750755482514246707013446156780209709091987252528802499459893589812492703322375899616188592520592333857684378380145392156664043886969186942035704734683309524632145508551994354866235483629197485650919842821189786247290220233024446913653980801156719298872124233746549608817506896108360970595560197239426261153400970201567337338842747571259746041721226698730462319252183503105402371129019630883944042145856736200448644476470881856426460684874522627977687530239740680819664844571241041568562184775357142572983913426025571058185014704057904717690377400983136122322066684179832541513820388591110649410263176482189113887395765030800268859754629861598569912513284474160742673715684850096237983314840324203566789219632277013925265753086788758872108268044169221068172601629755227508761897774166798184062339772316618572886828845330606867131291726711906958224279668711510911135636568755912114313904480499676029350465078925815491530517601435384791375760145711404406248264572814035069507019315090930477227286695654810993474728103726396892253770042003388904883592539599478289373196742977857532708130546560045925900841790567840842363182985511010017840226647121070726660647489076069781377194570549594770468303418403290192998027597375670484887864836502749412755341092648052975456296994604681384639646618315299663318295007913967930783249029202346265318692414234212655608681441103208896459668597895629241364545056511640868526449719370510878748879042909406333845078654901286502854766144456206557603438230764269589860310573244384185272805762900526855100408420847499598444385842329109567456479903107861073304604815154997369081355483465340008787229293247322961417918192313218158931792146060132140873951499192097299484711717205499198707141859861983068986814663893951802512409148015755813243592057963704407035565296242965610608466916993940324116410880643320697845028953751946404647139369015939264909231413872377589663222702308089848867997145055287842258653411775277262604804801525340074465470474892390584789109423667149969203137680473817288144193943519250665309146961398355596971732720887564189948868334074365514271685993225445597734961330982351764323535652487010626757399778136346084707749052515092540112475984927941923743556762928776669678076125791894370171307326009195068454458506411134100527997197579460782382015192643375169945659797050794106037870817598653543113905012789162200829893695273955018461418559572187717072800878326235794951067876589061396955691203539618444994540418621632842673468959051465306665599657559454139304814014766393897138826828881436269910050446198434622556323579461373343816928065884931155056146623938552491402165935415309004182750530061376340658893397305321264919329467365576701014368302062635168421024337002837952441284155074932428827385177027752800877676445914731531092339421014041215486220593917420441652847270512568383251262475345554310835519388980873009549348787081197827638906408755620554320056416433008462808392320089990047081208959701507122451128616821286096802737195884095845274184056428708714401487911054484249485155334359421372147549967203077496492125066163488841671137939539480985855299403887042840039874908263250520360730052691532339805919369439806554948850634889550533570437137600929683910601507147392187119057104449673909551086587174032404872040034050019473881546082302101039324431555418044011652569136158148248826194887317535985915902924870942706118830826477244792759431631392500996307672359932526706981766030078592929350506828771096593745483535282532248440741268293761604388139301001494679134681506403652319330738002389562891366519027851276275998665778992399829844515041933564142118972570415098138485774143289639470670822301859661114255122995386121499203460524046800491366889941081654244022088438607423608545563885178968034491052913767576872851024888610540470637364795179794584757628389087432168700056304527137336390705705565354024292967042389971492159350608569962839370383678053908916171554230523116687319899855395872736501229836100705700167589725087393164168575087480669528608365231798551126002939769520811223209691614173372213809310175899287268981584587106216154276629561983288573634031325467239443315375700309665522356491164732828806066860567175009683979276007375550936377479319238550361860919975016146502556931201622734760861937513427826859704744574356403704231827388906889928086798784123832813761753005603540610454960472163365986827972739401391665743419330462140347790574897585369063968559974524191906218513950018740510560048991358696780454909128825404494931843035945743450080990553677324635800864598219448442691701522946986178523949304009718764600637635952028980576910890720424061865079836374952627038750551528726451822229794554547692355388642051320872984869590536923805546755426692790891896762879477927999113430826475913295852653768514069008412143635951599176758155836081437361691419650806112593920534282833129100005538745447780228387793917985120294955361804248489886122411303185550987647006776409498937952722956646594465455542899447247861524813043262593942402733863427050288442348143209925785197036058123956003300576134653759657386766027740383549982070475744629093513245135386025915349378381960415595466858813912270736982215472941345232439156662866691698070868864333657896951239893712111340428862319516348671046516943847610655553212733955623048935347846041675933767152040783832681743753188760813582399684039093435247864805872937259733398726629027345444814215161505619383548578388238209298699406494193506147377569138483482668395213592595050312966397814590484399021594378159186044945522538043448582552287985025891684750591682455514273336561676080456513147311531197048664582353919485125939927462275839181131735158342905133627105038077575922441848045940315482171614763683395239974906588766691349164863926996223871136615806777219372446808783783045191568026956709105314020137360171267097484778364358453330987000625333496993821485927480214756380575966451719459781928345529604492466041310265525177765028311073290380100770048936458611557381045462970361538662643606130522300079033190157590928891281204675949393707545611008434426642077238606884082248250967949826345610118640509777946144086048942381996965538744127339169026519635318180851033249527422281719747639794211078611758114610398761561682880242388679441827652524876044801506182846695143624515418862196829172610776536124730634677914792527077778744081990930632723214L,
154712595558406373891836720366086163055550631689560226876051402525530404972941962864472383280448073150251234710442854661658403035644680191138550766664195486865657289493225503173577406796949149422612926285385009200003450334444222831552294634853516513541955471459071290894379999633293442757788094876296870023666857801199690622227645282317538226122746995830110337445458133910124912363927918509362413432082130599067348266859346504035056703529044352095671243486950596471918360952717538295179411041869839170622799809398295563950899346235754095982918061207662896602001862531674836692469709444899426440692986580570687649193290564298421756551734316012647509386262642783337832389129488388116506539701018071072861006132984551257273432217584875283006311844087019379403608423537270849795611465571018131545708885884995327714484811608367286693605071979084708585985764609683542950085057327170109893271858781266735218653532926976982697241347176125318028955017497155053786391975042655009138671802009894777132013214006097697868372813743387369127488539696716418643673672556770992018309707706003200926012141043289612248697219460002227693374654799808827236976753910722137554593790498316864481605335398875848779699868642923965519490406208299138198577092997014224591413178369533559464605298875973205637278118274007997114577665449004967086947766115168369140407868812285972588413828315430640097894997474770861645212584857772465702457683891324820550026697709579351347111778430759719359100187314563474137913515965203029165211667355753568637449771973418407990325926572617342548337599357911762866197722354692228481732355054849868611065606801967939714163154094728304435784970792976656068808118743427812496441863656871156106357362457083778747780193910839053415110458226476279816835308313670736246249172532009525829457391855388551859221153855133096768188115098955814847426967735570362172943030726666592166152495946445396617924897824495116052881350596649988560356800713959275668852326070583885080254705743817483986709268153696942039364350945922147746573192999599112835503989669071812077162438504530260786185079285036598247550996605863037119526502036187660467620097605078429519235273125943204858927798673260199764262953439121553398249557912742231940785323687049393836422707491520895795964306398986905042575651038964711067664911101293345643514488988434130712653698219940160662931944161628073688724773114997833974917994121704336144383990473660221293294547470177800964024193317120603330744012232662235689817535415072554664424351670038659663798357650966012003232228795588041796462675056813542598005060173283585530289643895044899589872871789914355081939654375261704910061340803729077285542173320777355963275666046401204836237337154006085516546008659134326925199615989540882319909349440990422665834675459520180821441844637796853279883383725470111384036909387642559786157078226162226329055516968042119151449432400527043559670260389268464709787037457629594263157038605330087769596477025568660468698137051399476266627076775011966159728553117774293785271534352008406282041807924757761586931368850623758713386237707419891438592150722093428253777631805173187962502006164024701730119296189751066819967294272949467923618100193478521002767810770887623828280340417056986894992514401512812102624878621080728736844019440964072545694385336298714985667928902849543570380805186486535014016624670854630824050591555776116945932133475193383128011031090535319122612975065546412548188878742072645596870174360677357970800818995370185821303605298159361494962768088731603905105734862348753124159499090339962175786029074468305987300165726080830453534515673152505504492710886099924330803045043915842601912097971765872658116144213919265096543770784544492483976069523661927059186669346094265886002287562511319593876152869070007818379734664936640860313451832465354977113604198326239173426954193491173100233840121507256340256852557796152416452922430925613298864328185029255026779697321891867924494211787745421455102410731899757481194397319368252218387119718035221683501971153323505171420891771549330554793972087778712423820039402983268865582819293768390949526322310679313340489112911199012223256014217904243611791070526682950169022495875416897794676977453699441572082531705649421869260741291672331671724639334815929940781549711553485254416041701087425324815885867789869119409999332301783772440210232088916763616534766064865975159427038814332260509857305607194648018150706703730039597428584367575551459849374409281114384681602120563272214517010814429058484310934531712093730752268850331445820434551779761241257312474557638950074336235185469208739670628764206771094050878495825919709710281601046677359467621477777867600502127294784587416404586114475077481288027991301942295820841378397693512730845224206736242248816429324571892666828741774469647353192886899381350169944565715061170391240617967966170689500005830379496256193599149740236866660949084954095950095041604813249513602867042166033505597797348930306962838134601508994011443590000466946606648259286686875008944747481150458322160920035529147244030816748773810977587385532769430494995804943854150478036509436403280249941692214405550048266229959716349471708666577651688160364177928277729705119109207120621804813590902216823051255151263470970458739855739526073271368079500616994707766672427218980646922660072885323476272884280256859135897847774705947969763393120577272440607287034064438857686214416659411250352245585691669037763938716007840138354011953514777783874868498150740156587700488123337672537875991960369084979257558341221202914987105813058909931875632053868877171338489043125073483233713796787823968137938655120063335377986700456964997779059399456392043935260591291274817443052264055189340164579804344725313834637006698671019216473601825933805597873252424745501607839787383078788394540843584427972289610460004468831219945467919202834659538285717839395837081579206711200345873635709875300976833315746958256718128362789179932991772564844825533960415437374311104717600018460964170476577413854340380056400468885246658417784593794425851534073973526710970823914567067020493480603471122609268289107899914687862608659485094060207313296601922775833143857697193897479648661750349809895385724834894956921133286106018073700592558048351869777425797944469481271810773667237602489930148725758333811639623841964543007260400664895483417700285785613325492825810112514932649220813L,
257627189302012661986019581933899273813090417580179948310988248331206028638373335267706091611490618444238583315631642871599205969298357375275843142474386889835452956952176767424024182534638469621927514046953804961474225934995743110682554634999028398203528241321683509364925001610590352191701650317886919772387307616636750403583184949312803497117993784045225740124919992619269888360034852387062592704787430410728514137208257731713097058910352586371667266707917700444749719392164187629755623270850072689680304828076139673124757383654579971752168885851689596590119092124119635926202133681636162710815898797050203280863709460746953533009125319413108622299839676024551010689254085650671941106012481804993783145724998565286092057260540347113220145411319184022240625872444486202526995814611790703498891974553050118435208566610268365451638994918318428038692958240638365748936659570307860586851287273287465803229617607242512498164358606415166330121239094626166994150169384502604742480690610607109913023913477601276858625394361803245558176797287163686272397357313988013096064046669289555008417649001107498379424552383885527036150825600449852270720942368973903315218601496549076514573642704110948267237193859198787851050119154056701205163818321784669659673759970783213382570916518577468234571003417419997689514595072215159997653339899381746363327176829174843920470074860861143783648410383614213138798184272235801109677982738547473365748107074003209150351307108601511658541579483250202789943229762185209324827398641610338376478594876664301443541399939775324410529871283328861652306526731131325148597466209446073349181366337526567555429100801705960059037932525983358530904348460428445593059500312056374558229307354649952671514319823433034939891217011103154586465723913503882552845727923612025498712416338687686039636311254736655878437725996596605768200297274584047855200123717210396144440183713032070498088955737053060276564747029736615935026025793109364044640179345062267275984655082568125345410573207741886853832126767097250534460061762708795397555230039688248151780402787878054620991993415148727993840440379921195133931384121030793213349333731445907545805915551031252560621576348880739641756835163207072158277472259504871468361916968266524584365691869956870168961232098488237081833473999521943443825414406357642550949654956636954138585875805140537248060213298679607149632342049242889315173334009966334965415447014128308407909975485359377936421091407712748208342834108521554917330446977641253073948829820135609124469760306907708076573748045311775772253848774639518072363530145305065664926771246030079491921422757780543061964758274412257124158075878320975672543753573859909145221677466497525385614210426100287139520765331174739243213158850973493719806870738909656459835643648545391051531093725850942640227267060670045619560343704633451982361228235397426889280422931256400145242576338233975299777036603804409099447042708021136837313279308232728031895666686157432901541519586181712178313464938762199743765447096094604263528271097610528644925538229825127942833795684217352987591537026713754568046967222416724915616514557514113033537893903596813767471941081600293782242822724518265235996782439382178338163413964294302307711044594493150286479026379182558615088029309681069813823482960840889532362055344971353385580924174458964624399094686080223081878026623742208675487891710903868365976453057704088301353769368977837635153377719382642883237246105283443434530991776564252654495412447096415325718955223577740164606740805144627321634612851951215243113164117122454137413987465309466946415271366653035218506239190252944415895537217407417595979746337522334894669819368595287810565237904510367218971161562788529337480478501116039509017879654688168399738775655127149149008118855409536965047679296523525935449080834911933835900071898762937002213494559440078722305939596954135135758056443365810966703262181709643216586959974267468806505067739357403532406038236832799617232484034538409062197946325705682743691097974564379996122616404152344170348754619080466654920207668472558206969923919338659247361251264839995727580821923775896628660180443199602440393896383062008350868435913957671747678484389106352820457155620123979167055606984120496977378471209299503328192988693206823832947935419976452419224768106939521207346638662718750693250299245294733103015613462873744426936328978924376404258095833770746763741862097795147075062951040311589706241600357049180182093515653736932349869649065819390359941267692012244839897448055487428149567728531390919066105122704831387930280737891789816643109470327602244661537771609941776387254302433122490070289329007115774556197282233303727458877181567160232417086054253541351290263288720876182021789446360854874715756832424059355063105083181948832061639496635810159558679424880629652298752452880327962389982064612489008455821298763612641192986810039333558673061316351498452210238261139519966485927760843607972028779963338711529639524234058238461746136476148833937429723897016036343388346285943184594054608069656371443653896297969980676416563998084266815189347985022124573470439154476894742097502426740838488069279838528711604836055612833810076357142225295126054688494478913409775426165049769251847958414117528277585559744931478484282442517684725114910755361097767284959737505772077214586747099827166903805183157360423619863146974610468438624533511276023209437410580692141026495991355954412277192045909208485597177624117479024308479458283873985972841860176096173709202568229478084135033507323713292154254407461595334613283696359267261273454985363340584987873095573425932657696717771453705679836257510250000668672756129858486492537298186715852497151074823354536694722109755319959726412703499967730209043465521346066996726865015497414857981719723297440940829480619326408878787055132005542947832826983107921886144275906827723835578089871461897988447920600983642033746953440314196843608757890236413795790121189644689547287276673665312312322632694609135864193809421442239302237737684321793193720127002379429980405372428264494523828230691271935426721508457123228736730934054895963167879284672207765004322353155664606736036938770373492553793649035530070667686158281741262694141558593093374722694918910012701159728385882861494934118730402429815624707873034537456214717670907382735315151808398112929554956269309312727122705509419964624774453630395115784114542L,
428940029223585268333472010578286969266986179957454580460418387835825143893499466708550715949722039407244210227167452348294876984511066303227121775012910877766701847174949683529247559839845541895268300531080716052806888884775413735452367451712523411098955124725080703922525403123554307549283582367040466259978052292505567009476389266798343363242469988260526330444951958368543586003820108758935587241751088724536996585982179518846721472981763274867906032868850357820837340428695396700107242917027850223085923102655128354427578858537304498351429731350342361531396666951433748220663462663967113713353427530644507385369404263851631756390969773252213014081732007247594049358415137438265972650498648769856848646986248088916780661192470847129057741330472819102634151984409081758796516033506643419432486339640615090024220330112006241966642179796877446247062159012488338557002558451081140864159898989401910906704624369019923591015852143375684559099643082520977519925711276692354336633815445345786309571830697320327004838049971689828744306148258095747850860405353992630530917476136472278635135394280962893578461222811891710783461570272978005062034180625742814949396319501115571961759761160360335003029779207127402997344644457954283358912472483346745285428222403558779818189777498564053112689517989747932442327673476858616090412782166143379662217414402028106636274542006440774705801874329637849413174884438947005802557689983980133892626122222303645423900955505751524772065053348168521529709951304056351250317403473914546080090199980879669191970783967492611418722750959778280549081649626546753535786988482119782416356869676598924288421792386332179965282133843534988280570415866253970848035573042697938424153943950733725434263565530391097406422973734008095007203786805976335299812523892991762003053248810969992518065757896822074568620494202886899358873042298618036566656332528692563141170455407736189671009783715627467460966644401721892835668021920891739291266129976447892144903224656588474618737336210559269758070731512854018539319579809757275653505487737420675996872451844573072858345459584154127178921715453165775397921204238638167426294714566552087600971180502150896323735965920183903620052834910599400124212126464810174653225342514620193111178454370095625473972091813435333909686747419690514921734307672774412845044998648469017309724966185263372193233972682964797426551145160281688345144038506917646318217064306900988287156735262311245564492789354298050677129267977622338309324253607623796588963410450447121862336133477533122062956714974831049688561060823695614086001175583047854862325413532291588918942754318159709773154648827367621887138944356087355064552234709807599144678294952425264878818142969434863332691213373746701253040686535901853402021425384253177560609798094043804118496930624910548873393917138458509276757708600069294003756750467614744288924427534571445997989440910617578608059696556691871311864004755660636016657776014287763010590716238138505609402210966205221995647083451726430939714234985562591467226586574134774413238320579782668021184061986440716100538135410105844252024433293224580423368075022187336962469606953879658680601783970966017204161177997148216963343698574520823463052335668398927543161531681749320638186860660627943383548359665670806398033287044762334132209687963049366134344930267965200679876463174371418433368817169759247288900129703265276036945267309803914020113151040373122329334323988970385386121922540771302655358968870016103928893109134916257727917354949406209286486149578758027134257921019957899929713687122065534605810122891780065457268312275098378446067694934079582147590351953525491173950643948742795729121815848434883950940183291825202208605291808444129327044593662343510213231791528219237960960523964700042766700517719679525198417985462059115643466803730589087428626845558586826458117968842600341291229724374813533904695614061081049342319505885434503298480225952914682539251200864091881593390358609398768353495407134187675503270103034629167820252353164093615520290815850113094482232913335282470755057449638542074021769470218413020298865973571532503628107731331760279075988074033953427410428180405925804847759803776740409506225029681404379699897191439087983242626486646804732881293533896592033111882512579928192863480965807468797062639135430093653598255063657832241099287731139151633290220538605573982104907016329398438402060314324435550550927864261636301104183100211121282424735908430645205192733205522579662521030573141271820593566760338638623783940816403280706187358850400790889840610161644486645629792077996756530492226992157968373402123452240616945362472179643245737429606523875568986513485488556250515116112317309466438517364724350360941272785216713872257248826352891462190136247892793382925853954216963756548253152873387509616900799529307271966606663486370716672248631334759390163161236045722702680889915822383359238791862845961918211162862609279876045457858413874418241596958944526331032052104601041842841717199947071449640228999060049926662592222564066985082204155917502204362946757837539994789593965316828418795567452191414237377900665087107642413273530373884973396471485117830301351642142710215324005432557371410757387843027966856959778922710751841119496670979102376535146261374247706357169446890797074139290204059315233943379778603790400104967741748378952645152062862725620131153570698479818277119099100960703938460419188133800273229980008479810177898507145714162621306603438903956801658744091996968724599542898493552181459349977302949691333095613789207352088947768659374666170429134920161520458416020368932575154835016079254690947413474286443061014639916667939457512581755902981504078152476425499920566387165490427366916907836579442039535029512913129238620612355641763382572747917176957463298485299131426420245452938084352241068258751074178409282076828447127343969242266940579862701743564413460332040974429901445353557686207454224722252108555013956712100955041359469901790152463762522515178862662564760841075724515794551626419359971865092512226852636798161317708851673514724739187450552656476929680839303718366276726464530932492972361622307734410790420098352728331943499011980801760238531104567055132390403979960186661442804286830838700133817084346707373747527100065469547721446911039225033453452690707331486233208744265931363140173149322747552873220556697598784922139758343295715065629708741606112105331L,
714069285072158473501149567927219702578265872083882500847228720492431129849844226779339082921510584279182551305358303310351479360361100608313289219456464924714579716716261247597267245181829025250074008936338051813222927305473967805304012354763344202495382994906933508872855108055002651341354728103232008281956875715488236092004904679650823541860101398696942182963129001283073364039950385625700804690427768146219272066165202797364527533632280504184579075411390875009163822741385590838830668813379178543543763416547565555075183549843577535387298028654557567250129281650695643829717141266918761615199658985326171723083735620361628378273548852616887091077676159149103672506566634712490917623927237690594225627039599104520947141890021207906620061432754633965650891656489985396300448290575645322684676884624384760032789993332724381563356026704011825640569079315729758753223752403578156090529807166022851944033620295310462615244390459354564196248329287269926718637261665201483595969923734238312046938543241472401166323788811908840324392317880250555846689749648876980617765934595182263284483793117729481922441264828580419308083329001468996765127465971907610053129069795625132015987162236803239598400272563468569440795706782809932454441356248326004801965339144766452723735994199970835094570810531027218664039849506825386536522402118653034958085721276568916865088722196237465178213427453708496202174970409387852248146373280969979079139516003098838379264390208470862326720679499707850013585460974354351539009420102013543041617228167184873045056063020429303258876043410167394680867583256558316327299599552416995367259459960952008408545678392517667026875169549249893777541333210648832861684352176607146651216139157088889949107724937283776028839411781178720541418310003921844583560479868944754254099258718238621914264745615588794293402284995740382805549256664568268138973027497129162755443865208188400628554781903229576491017841253629136306433332658033401892120155957790862515698932881638395821997135378310930934609018366625717891912597303855700260780604487942580537844688029289216563993862676205961617065554558388452470294611543229300240955576694399386370082484085675250293315176914589920587393400038970618711170116921226475157859700241525366638357572603950858526764514684152613759922777626225607584842302475996213815027633536872932946330025763789598457971805200125558176437536559294676877494947882391652330675610045201428164505405838467712692191847268914933601467582677245921131090824233596049243307636121544563726720812521717314807522534825295290037296400537540158110881197426346472444763610599390099311194560798722997738035288275057829315369342950411258342344795163874783397512056728590967931122443902133728991252211537022502096417965442474259578358420429862017251534886061626136806612794268621415681801718313382117303608409141276104745210347023480531089479177210554009294948567202075638127246217646071046609407586119521369267538819734160756630928460979207278883422921772996479011241627508549677730015587095020051049172993939366273979345549812221651264068717337302797571111012776533312170025476136532393403158903582024223678201881219347002511653489406363448061075072092757351479341399290239157770171114553790527060657884973058041735930571369907400820514181093558096910974085555408296474142208775191870374399404800429429312699752309804515261043060220597915613661570214994497491217304671021831046972878321250194533458510597507332487656668383676284669102990393343300762948102085745244104565875998242461056547850116159995468613459898183632122015518850192243494300023444332723118152375326605701963356489370795574190993386468006533072222284383583182586180177299356759043843850165546809683808867355932226868895345602155862823628259251798621224624144309598125656870000128837734646414981319681311240166233640220759076324285697805130007985078452565550296611408248326884479159167529129730011179588552981407328348024595118237373649896438787344569688773955998660006727807016768305800130272585160431012718535865556026867981021339330686468080666387463425222903219543033089312949173217035463179757285764166373389056115629299468333501465424173566031202422162164988917313195783247410913190813574099390480002720584210363604239359442006595670426009776385048759219167665709348821336355903746290424279977895461589084813349631248431127047441957756541681761984872371084584142774270000428952692903018837515379382532619947241492600283550015920531712460797877144435082483440377466081797691512897246660060172186833540109111744927405174457096025778775432113730278396931347559792292367263448584353694442797222515046331724268691762153561006323750400895907021676760445138305758727360212314714852563204000464944166316480913093312044399560092166168380241880701104853609786032464666094537764897277590249303575384478913267664867426552873793750498442123071285749547258741536152116362096301787415484321029853071155844982303840403126784613493562364728151355824214754644849639027937235074249086991920727438370125438491022636977876097432372503901931249715633121005749241739601894693382191502315927029102432985014014483361256040975609223120150655973533955265565480590993111593497781529657998003045502381337960926334023136541908910458368091548658828962311378367904580927300932733418370567641050588513913476204950496462175264656857445581945182924803146247577527657756570556703544434502117547343074774841079144110573315349108931712741413659404760986801233715675657459000350157257891616056872934232584500353949271109361884992013367481006140487036876982132714745050876771331143067983291773940010162998334651039039592044410244251037254898074248941610246575166890705185779157820200150834926518602226186586671592448711488299956626713929506106039399883293766583112644163117656569427144699474099358574767507479133683604924121171278066899343679021544099840674666842799809075525006169894382550492024550977272214837961461945882246634756402453498461519098949751404894344436011021091336222850823894483246405439087800621620539246405991907052944318948782775335385004183866371294611520513698585197467732721394951499224909640595113317899130815946790456355763980223276341472602765450058029835723340810794198703216897759017151505269826370557449977625667340472954815665076596271448255725096208866322534329959812635633479614580258798802788808432479347954103759767923258405120209686713329657478308827795372333384753679143789368L,
1188565330968696109360481996217399833162128004838048513296168547653033091691143301586270735143953511354052674164961573798546141413060059402105389407150333859559714001786261088025728122512529017825665156022163212528413124383155524717714762328630386609371827027190337823886671140869002852202286243111419073257854993758942858737603078214720555831633365073049150904718375524087279634699836307102540639895864231256791865717524328339971648379311030764971278422858168974797519273198515224234166520093992400127960519492179902971404567940384850399282094650785044711057563630601577243043060219196284884141295482297583705644421696721768698439391252339231549400882348434684517572701794365556873205362170565084779441912293332768259847743120296963428173232690517543109110447276703710057809996663955981179421275901942178188807572968225573500500755302561394249186209066045382703790183212001408638580441920766801504325450980076153882930021243226254400515419562397321347285248173683972718815538728035486461079661926009596532932857099342658182130136086340254552358381074581695466957222548478644919107762294994673655657468626682532656237508969637757078306300589251079256332649772342324581750500732257052645401358630813489445593852963762053560061872774660541122822951578986154722558524735297535771968029073295973543632335825461781500629090876735746070061130280243429558261797829095316035443004352176277149822338385893332035703098843274370284305691986604288548440177628893728554761688527032369774624885392202156491754619537200208283846396023177548509581611783485017028870776681004679514692520587567677249549151175348893820891523522027638891722112943240389755670157958731236346337869657581106013651933503704415022416151834698591613511648490284755720365670145387009748381921103838961391990289549894541559881646692960898626773175804009885394731244725493457587314148369430363089127870289041434240902564713919904180581632304294071349640925864955190840758859816944881306736035256680848626650079595949530069864330428923161953451686243459688362463324760868399518288113886051064596354246162282100009079126945957090506703607989488134675362030778632845295475971961162508415310962784374314466376355953730899033438302100326431852646173156057542160739212653233750354961213417220194811404292720081014412677621655641261073123429920427725579263267017986823890571337343459659758407649125832191710537234212572426181785774630088182646214068026872926277138154704452388708956841097515778351325913016631411527775555699950673535945385418898975096990520521300248885701837188261566924052717226971990128378454184070255993932644622396081239003602396550401271402042020083287281570110408853520223156290079981240858076742499409146987167421056773147278366113188400029962806073219918716214265366836110387409415313063103673921003021089906274642487339817891551999570237409703572519217483667889117696039696779353996920716715083388773191357793184235062157071111162731888382881524432415710716802487534232129564544933743893843692651716832631186356199950580189324339763948476008380960987203976767976384769410991353712884131124402222564359205933365421121251886140645268726472103333025424454543911897681052480659434456806386649977548938002871907243913214593595526392567585790763419848706184045120879141578133904645126146848885800108525201736579462734378640650089710638519414050516076562050683036500282304312306153031501115695531869087081968658754919929092713557836975183915763102480305003192435958159734077405781640768632096376902538301242083070260038927357297998992947528697009576960862271672963821282899348324404675305767690805597139457215195144548934881109117726207483441924032195775477699490023811133291272184896963435165145094606421289696187402454508018208096530294325542855222147755990163619518295106942570201105371626009961642555850421355331579746608751942497356414086759678315381241146039734150951537634654744314343696167844635239077546749534892048454806751890573304506178996605578555665932997529204384521429024887547940430962569824972147243718882739527086784726490845428600401166199373278270706349372143016674659506175428441336049318933875563472327876373006467073078197572332041105776613085848864618819710328626304194935581088842990649411433607165186340756822789230985493816386849958579504718448145363123720976689012451099106522578578760429680795014187716157163704962008146716566656669706780377441574848131602507078567140713172536831729089406168200104403556415687344706722630912020641100953875721295209728901669347625273642417827914720005248633219108610247548033181755828261034460327931192634464042260360735366230554075938442300036760566285527701863596303026929019757655548561007307466510965496285271755405557981894651668962173008043676017291879363368460370057956622174751980122711209385027185869148942996967503245214964837272668167594619281619236281182735783171492362365021923734339048184442629629857405435755246153488484495958791182375386527711611912692915713978393137443712453260345399005858590218554832270168789800407749075857298969763947900011499553794458732817876390176977080019829030148747150235454937817416809000339907144181068041291495999866074327833530309689325614520270240412873253131593924788865291333286824853410630398174759305513009339728879629011122535869030362531183077084034567092435501735281381577286292100985853852880366672267425256079047899807168805709500768221764149402998415516412013499888895201956328009574134884066579676772392732826382771402655926377081799198557231403175054229219168575913591657807486629855279924299943023799765366423936975906307982753741058116182060559407831919709637533340473589069707563435737712525320417872432616523568920730651126719811110837504922462816005451013388753973044802995427491433329925206379305793110515156476381117987213897027495475040897984944552043569740887513880840212227698261420902834792517112045950321611425565324049600714265733252489734756962767761899302148050419685026443652788237639536003850806113507245797638886682067039068966148151912390552002418422759387373899637244636738779582735357974857547807991155688531012019802844403270025227452047206124403399357006991829639504087482103093556200863028514348792524414180613268777857794963352701812718963441766611694565199559749736911452723090466608166903690633514745715117792774211430566918569093475754400719328245955757720942732594980666464355157417735555201440559361317047761400728989666325269347L,
1978083995610244204649692786110007093032307552566500636115987456474016044848795650359331342047708704137254826358469362024481150245087221363753289530291191987011822747305284117535367548869327340057589852537677103172272354633735176230000143008585523627704716306955523432155281285523668402188174387202129922244902144645549640552702415497023057989954809832216410276332383593632760147024420246884174855756753250373025504767649577925102869069851151882194036888654907847092417443648157397688469724571390867032175748996297215076856003981824886456249056526625510222221538137697532046039206332432455645942468514321586280370943759632161226428165616963903324289255935250856697694824530379624340965222758997692834245534960203969146803190633823481380474873596101823239997417783877060961081764532698533777180989624953803563974476476348616520953327030962618516279041245996984935462538718613877623226837439207297514871470184273307236841727182590818050886068962498072934232382529828297536473890326742655827435479443029163456049150675954521830253391820785216951461289429501395637985726769611424113582535887561517814606088007830991507992802504768081709254842874776053574539814524833497211226193176354304533543322295461690900277710861811057768374100191349854647163101588384933863926730701988851826935173095526720742985956542125737937295680419599834095871776587507972762371705835171545779634416380036031602376893541533239238638058268499076258383011140741165431884229871542598683242577305301555798221643063238755100217258745221179541291132282264367927859830015228124994968469255566366154229417271030223363702707095970806024189684948003010930403762853465576187865247886926654377558764732619797132474532800112773167940299308695709820150981382075660249009468162656278325411377015193180761017968996118339712446045166708375818596479420620222570914064337802104444545205978785826707672051996492838581877380846973946611840464862454536050365982821972846177260470108047813543921141475053094357181270169297110428068570017836608929768949756594413920956605718647720323215998635940374303400249093464524727878862260018411759397497700929756853968565181094861341622964059317739646554996515064860078651832695488581404911329100279754193206694903498365793123399298417685669565603516548027351494195138352857216482791063320184907569390600572426102360460997366795039344325068541411843946301789307772724821833056382533336602215150125476604978559687420257477473033920945788815019164864509506135641087296182296311075581625629620881966263640356392168262723378392586694985466865803863392268996388500563976993056594582888342101628963788827094087543910757176244769982794564500990478831155354126998427646156729290472462880486576438231217273738368247359702800396406773920709978762086327875101901495117526824948121103028238085311295302055692983038895666778197115369972487603486384360928011644730878741921450788608725395644696820661754802692799848286528557718038669170712945410693962863856799467865318856973279319460678128154055475437595488918898375523497668353260336637644791246016531187883073904114498059742416139182240236029657805702134566011493767637356275511725644902168153368173421032110253335098510855874439384104544862745605852661989097068244169831839453998509055954400378249070417800688966226345122594253090384592550076182147608033137501896627413249728700687463493838658158361563175472669771183298729605659789461721949007198862745018720579043903081981379674753654124727271969426123131695723536268951467104507188943311543927308253356591157704408484393211347250369499519632916353887825404550157940638693701452882610850484709058031788379812356797453442811326928698381039053884435036728266706589553852728486623557765781660289033783940927956891956081275806765266959506458552639751473984329736640535147271612702971442318697900355673296076487417459406719272958843591516924382019509954655296857670849932051110091485501038357424193387399489648817418015998497267517052300142393781278345170293767872619914444137606868664115972822677762503396970675072178346944732109443503450679921311553677918890591322013337051369352563910854014201771413965234119097476664887084853764945705007568769448614691159620976249200780068258849396158730471131917165457077337966379902702845222078546802674789556063981724223380354794696016450859250970875863751153854587171283193018684998792531728305437389418528091569408326472456023400652870072409890396718417374428900600964333530545376284033822853785296494785479384368917027241663490742445919592050040771304359193132016045636368514384153221150547869596131385240499839886829033665039885013747951403433224088050209753448015017053972469303807805042238148603313253817690966824358933445221667988661307776712900915373602733426949839155929168579431720256731496258204648794800415356884438485422040555942521258336730968887695889720727192761069840095998738819763668250093128646237556555022750565032205304838491414251854130788964318960651943520969309254293350016703886382453229127649542341848240939873936176855211454558890251211407985236301190544795386704986446432129312807932395803163238137276623139679237623464298418875983912548857459929688938492607962706722949033503655032220267442328198745848083875267090814907129322109489477873646375224177187317544878759136153711539436638599634461229585017392382447423997684405825839570582126450092879695061685631703169695793726294766058723732951374034942142808116149445599577643148601044533580239779511011794824530545160319824677429499335545651724326338508812171428898362020990435353042639377595202658390005061573583168973334846048543808507635461350959933120914625406702399574929357189633809054740875139771072758879202693675301150725534268380881859471011641273400456507504495105147416121787289052743429644932593507973768564823879290805639513319517062786084608465498043764401230701389668268209693372975487349789040205767684164808847092411591173464243071762138991281959102232751566088402537192232071638295433491053265935938406851272491201498093045529130947895765716048172857758903788241733326667500051522845591521835354127057656880299229656502649006664309674497339570763333729294978362993764630025291477290812396208108354869507854353378914675443855301393688590033510552690096092014722784664420655586766197998445688187990664238573727092126237300357125986273059089753572291687949094754412686181280389147016571852143834880813732492388315331465650945610091205965608L,
3291587474620956679024194027851150613028015272164831173512486395572305468726040793209142093615749560013781919687640151326138813766801713814476609171633496934091947715822878158968411442413811197019930247602596127663731667400808486010328910473695906123791161514136871382333245056090830448574089675441141754431576671072954508254180943631512914562403663069059017891459333375204736504419979038590171059649806995720648524646626248790552940817414965202665305238327020461026897940431222597579207056444144562727647237623622646081882197838953664111065732155417332211992951263149217222922413478136740039608285453512010153368411112129142920916796835242062624771995948248322891337269459246160865754636892772719415051369161067516635915142334745812914599877904458746630893277334870475104107119227646793520258418454372729570086616391755882876133240673685094942793096207234351620973873776282706758210090914853153014583930875002446210984447775823892672970500233494145720089991499259599514168317273784786351395465965444044375921096686152178015381515915429220358946146201653424866385525823991361133742542246284157367046925718548785337922751250413378177080749686433924318269463747431177231017112996239470773752600745616704944814042077710714872372603352152103806861514441740485797717847078300139424123902976176859260637953505510329305755644379806575870224561910760592983628121711865538381236293303176510688473775295148050465598106378261492159223867235732384648323090769949703436031604327143796873775643788478070122745384631101597207220411864989167729934018654898415366888763305664967074742033739295705210911701636799830469093886889494049702901525340926543251171048509194842300575583157417467060933924254648189786547823741076392816725683855783180910578595868436997332683394092658313324531355610696053864007046909681742848407791257317029809949471184654621638593499879688746712741020793631588831425024816267937857205005264448389302268667965433510813906895868675684779250677910661434268941722497667294945817700478930488719601904395250152304540711472040720821219112600588903150708928292649504766384828395595251290869464771744560248630697687105525890230329148648730587964908973520109490336265983307792995422218605812688344276899278643758595813351902728870057451304923745371516838841217569768330746766156353731963726308045243611113465942611524887130635104097613343195240281029872906885214111993091678853992774162127851278701326590377453759357476473726316401195389251381922491292315008566516947790472985271264123721990447622694217116997318957291995611293704140990571491503772214311767207156842840341447423731991682068284832068475418953978327962478934358730408879133778004149006566385165204607808515558369023317603379956607737148264635027139695433629775141737499412930023932256318145945374507357754830548301809784614940123605269542174119517659263053841946410246955534742754612930508418228641316112480805493629549368318171744154029154953356513544711669115521507505489150208656950259534408651580868087203654039890165243857223807159930764786706972390857102968324193709897498703659293811669556361725614283095316838771391588288141161430625312428081321408941693271027579440383821189082767628350363917768520546979322977626361929521285442494202419804706470676976753288003406433550658941766245850088255383263400279161168786072578632518252255557926702026288694815860709769533542533535150017059258140846419927034372527904478667804784026734783309454002124734449693101742951588607732510124897457220841810011602389083540719328661616667022536969966755636843812930580625476369062906652835168720435439701948568835241312688705324627952947218188363023302670397428278535727135905719253801868973153014456257318089935283156146149985648056845676931834097338129017549511534614712913594485443479050966790824378609559000839608453049414725766687765845753535020409706147516733741924677869872356410822145011031475954780890058952004378998003799347331442664773771395742137546821497821110331340329615166872261219281116875517418572920050536193903070803931778010188830653858475522011188664187202265539942305561651863308084226028092912382206866892304188771190700676490434918490795307257385628260255391217915327307307616932967480072665260411651472582657899068105075232202590366169944560257098041110714508309074349968030607554388420079602351527362088397082803444268971462556288454108206435959446285010892418000723197871034227052561846326645732741143045096674050532613953501300535373867912689130493335285863404877125239863342491420210481241831651295117848584007407173430773923619072811027041003769407686666957002901967839869071046275899120261761897135221387524013866474244950585416421133785319952398055402053480780752865093982503505156365259782003810742024392604906324366066027598084762972082891257979123883909728676956872348667024416570677372190745730741536641770255079331538763841608748748230562636189492734426086357822899199383266598484009246775315283493600722598431688261248616201377281818347619886896607441924341903765153280919001634114886673238356705192501258811907826219562105132713133184705979875483793029603493062241762181847509734671766131942444782311977712420647082774297178737210847121803729889323202675760879822989457200643011046000950508086911248255573744594063221950294616678606364841302281283871550014299921092868319515318735436353311491383836427071383720415202150185800414368280147353711975508106775980515232166818689283604454401162458691711926780656340175427674152593080015727732839639345337017836743050847127274939875606517977582116710619734942012792208097157317372776195068613502608230841144207817685300578786067264248227027364922923810959778523155243030120015409867523382479857195796697950950462736756958136788678232497794303074198212940753105454228074090164126405628315762873242699088386291563538037374640516349750034690846214939747248464567727423509741793368749124676896447058778135438021327701706243575759402829926992011074453343048489271499586691520865426468246782226643100824554067183589986686396687003400348418017357532848662845860490135730238055257283809158341444057555669353712164393906845709191334699309692203987143325755982126008251499367626913779127221431827706418530385273988623928097283779646554874723890690153591899749574731161793764946401218235184079516080285270768563056668210379857591411863855800960538969104471055936656227198728756669935667440686197345570458820138663500706211952824L,
5476525441119809864400158199505394631536463555333581800747820146809587188673378420044987921077861852025964262916367528800495633316055959869982571684373268237614957136849700668130988190918330164932862943809493745560206676192876236352457611510431552390215958145913178711069511558191615942456061073676581276278216380519852283818168178177471946932821825361542227180919816396005809999509439200661122171055900397840487197574408922502405200654466221446941230219132460812980213142233499695144315815907930345619773509319548161140935221020526882005690955657887497773752691603207180078705504196922958254742291403533908205495530884854748912945023569085378865940334287731544546610847866019373964983270918714327071763553797113380550231978349146613079941178227721654366286396068289875945620179662352341849880057003464506249937885065881400094226677921938150707334184415635537222013620813554857890019920949091488186125230938503531862960667035984292341410056116351598975163674010295722780449661301875778987247053366370946135135095190126781416098399799843454029247619957548982117249598244965832786823914872543757866777960650536465985909434898630831859176765020011429283732503777757794800542118179327437239323775797744294316650568869420531243185330263822361108601121223132049231937144580512903991607507154072008985212463658432370526638920936407051095483083708307439515738639310265641582748214860138601989444102876798167528142991070729924651723908281701269975785745590811268761736301924617887450427928591265019423244121502399557711308106653063250189269892755002448441309106556414986586841010742737597310873340577111866622935079865924066757200376371649122866382397299267713712661564071995443839070487714664041034450743089832915122539626821231714840030575798250420959812009806967254598194608477690774106578975398020812234315825447802020939019949866181434564939073816975122449702531673744414310347465978269623474516428784281194035165063769921111893217904693146207325719010131122151577171292670597703543649408781476215593319714312534414939954169578086104933328002836540126036699787247134250380845854805514123459419171343760803090400423116641899760621730500207406119271206971675526386033220060179035341114385275177962533227246410414555421509715608805020820929409284468811543297263262870709163272296125478725321600632447575451886040612547034446420123280588126042439544906268828708599474577851963689275086593541786576198511557008028758945779800789316250011226961267997226179711105335605262675789080505392256001557605380214481769575533624937533895118469033548920056635527225810755494132307589289243213954928979085713390297425996551895232013326584249887458511316086733190324229392794349279488271192337843358119401600306594718445621088430135385779005631842480206236524019879159119650498928895700704604694802694049023359473050123993389542178347587631285076204619421714665031628463141441321189291105910327018600611124476189331237030618996932963517573088672793227672298056689189557058691328644699590871527384052282394216313758665920162319657821127950145426516365201604476870446218672687547577646849224836706301584975434026947804553028327496760641515391426204140017727824830747594102463492748612221051375359553994561734216583528189107955668268302947380861224081589669951683395225229791657974948475750159684241065223769937908456618685739919973801196085767057865385258770032724398146962045188525222056824577656977271153230882800124212213374916392261722153832959903013186656267383170312552886524016044092176693027682998206866305159172810600985773701149826930543973021556802673385637923604111038522290440078216991339828496537697024208511536706627233780375211683540867580646734028603053933826272876982334622430364687252223039414349762665151028074546067450894821084098291466095587378863626439257520456539710437066397274908860342646780186977557188946650304601725607539810804158189777017035033061647063028310133181597821544703737322157444979425043866403942367194374409345555131882832950447679733177700916647993358064800961473608946922722877648894183515824115115580829801789131384250166910240720829154819357079296170009110313461113599651596636163738937813574740870251884484756966029295389530474726231472391410066231891923664753888318220340444703110272526961954923307520854909059103779297323040110522045669004261452717902736603101043549400996223960515666517622497272141896437461157088971342700697285654014455244743257923659981159017371062946095112783945592996616757099405576748481033190212300328782621505322653429898003121539548051023731847160088221454346323471397365805824053213750712683694419756444654280338966287119167276608722924206065285813040773051713360080872221064719243817217431893339072573513258316127950531272321070160878952329803638905722683905372380648148761564081875688217744065474826178779131670236464636925494228643611026078628463440954539040926591036105820634057979279681349588910207694880843043950745605312204941991444944759056247000950876778794984054090357443983758005767972916354024419412418170016330811770365286248672563407885391835071478581445148089311577851910645918504429193676202612499434796495598974344768593061860856192723473997657882989035882572822586956539282155642720338166930376245263216411862961576127212068421808424961827858939074970204275755628596750371978912522747648279258606984710003642006915648474058990449640616205596864852828229744456177831566833966068824618104362022359356993114675781456797034712509173000656929772554417284508729005746083671418071622921748691949330482343794238450571669366062713447295189468965702147528792301710967835096547410871197973777580187441283994796080942538745747663119970780224538515412005091424111147640976459025598732268465341297860656117624892700984732735239812799830023299460276253224261051884454789560498187714439699549483888434109317606995177813364241965859102924737736287118692703651217704396408299587849335787648064209581536356622729800335668130064117872248171070439293258725727452717049091145103759536647398395898735293424246680383008127906434086443579832628828049475123667919249921098971874135836986019243494215924400686490145743741128475835423580261087513428101218171980895721635878479082622539937223859333243145324999427916454328558980075480815325327184018910605040233974660209998125800660806104380024069755463017753157025049252321381720311220768468376316875024605866933508632294059031680098107271677240322629186095136L,
9110535193133754042482498598431404386805938851701929352171869216414969056841718274691216707583886937281349579806718839187721881919333426211331089167250752616041064451603536548516446809182452810399725732453970166335951061549881089138612261874849797943337995514344684381791934762476425649410061020030929471040728155183502038338311995349300259449364987490228013976357439009723444215692972313970097521794501282009402175222369873895346965859992194688171934781709871899778314255030883109122346187976540556444112680244149478097687827774929956482798083384511250170583794693340714525362506566097333221864772563572591702420425229336456438693815586644960133141147199786045102554767491711237284512748934423899500789629723837056292788759854725170753422731995386602579453227977402724549102284497167833120896290086419154424586545743369363308837076662390376293251671411691230132803047963939465471924063399150371889030253501843372556769245685960174628777205651923129904810211687641418559019713065899431363697345371500358552031331459074191001862751241456299663964428395542753519726404231222052343613511539217282105768168314127244731221602017421459769654810678441322611796539441239295104987358242331114306832070804621953970851419859588453069398865731671813964739683687743887686519355019359058747206445792911572191028362204316154749944008204059588629324826983418145328204981930155298948060962297433293969290442396603062031768791570270284736752668307650009600367003732072215430747172213896522790476694775270871084892295956942360167215332312406967414155012402757236889083633003926515216298239923576688352418875794761210069181731389480656815974034664577300199949575296276012822037740436635026058201534724872516129766361590255337889804228530717577860258516629873975282848436794143579544483729906760355962835824987101794053568387837222901205485306286442612960197974486211374721958074585536381867000077357572736305106331019161020892161790775769653271834668616515351431424664371184953040861272551625429305918575070823023425803004029522612812708132494007256371501273429879849514950126751165150086625350404305118901265478343612820660842174826410883131046230531576211324696093244210576515376947900716276953723244887064805704353701302551349204372381807588458762366896457418886599415993884463326577069099025534447805016475563254993953693389980934929294175461512227963403839816694104876332145719939486555327986684134006808483187240336082299829701390446672591567933180707853029722246726400787884110027281391408406032545788466436311332404313450118680978963649465294960771416079223915952394365036615943772341703743971703229519253290352466186895057356174021539498543145776294440968329849925814504881262622186663375918702259359458171251126908858757542660509100583681981897444043805345879926384534913458588427685980926578239986627654180440022742699061698453898703748112125409888144342736483144261172491255590436248003809200066172253207771779881318863745744242044918927269191820980865634857597187922860980541058857316619096584733085497445167503488221056989319032851264678853029106210353735716394079525167472460254721047514467757300990085710262220102965677971517801734027645413720633590979668923028428234497393194747784602325527517593753175788614119632511519910899750307147715344299047366727501385279502550741203593993231509196215673084698039924924412933306974350106344225761776923572038662886319806521849037175855262596001414909487727372639143445428977763436304777222818922950771407429733478946892797482263472904070923530605705387786734585054417257119305399388547815889255808337906375882248084556782048838008269122709219433589871275774975996385195118655445749620943138776693122686851280238151117797025547827567223535806411085964693293888131420279701507814673239415456152082143911170971399143991123098629286962205717188103781363047855396732747530328316556581555344680657603904507849641059760324912050330169967746913617914208808181724417299768530546560439136488489126567454346047279516780009370732129114586512295429362976373304064817648826892075628455318680304972790115693571674690456559699879511563240094542127257652681222407183860206565664587847329646306910172409615838192075575563177678145959233915105834717664571512607613299422601946569267722830417375777405889787692364371345728545878443665126524486060207668759839168666619115854672400639043762137866237700106884111676411718688277377185134812069013253070169708048245757960950269799880528540475609372216974250896328445025580902910795314862758992483342800277473282701467824214612561399496565336299217493011026346796367631275451703867198011479029695507567559903570969445020817675881640684240942853617171282796982113666672139457851821819292829297029541814827656888112138062718339708401166836307265969946920315176517529803145201276888605374867632948518192009787210560908983818995562068035554592258335354640219324561649818515016009679877495640610643726029035690134931210469943552300074442054503312686391387314645689558856018808308030958665746632558702405909763432447843491675628399222699742733738642460929515368616778933922466036489292808324340403902870018897400991345732662500119776114414415437921148389669426706645074431563816450713887994535082037098321356858991380224404352879073020811372903155188075900631337565037669402894205201837160945195308411752302017262347447484007442051658453148861691249196392615212672595559776761824167034954518592503116606350661955182103892532561148055923630031183927324726397579374818144488833505716741775835515857305003124324506857349168649688358341406577664598264282251163378386222619699205406356007441769896588750227296008239086298233462307517367345660012764749354043058574238636727090109788168707028431865001314937386836202141999023842414387174885168746548591992281679811738863339858022061957909089724326426778863284938094195627325830758284686293215531761580883543044451647698500547465265212900278248504593995758114004400798626049374118684374906357809457960380895409392481235061654438236640722846168509869490144316790106388151656324786786661830190768339243253659410151549130107712927750240291682830638325310483565684664853972909168597709715767416114073532546845606418718899892110388933921435453395652733181414732127636036886413266840785033175438954468398046667234603286437878661522302219128938231376632965095457509058458467310123216260641552362920004013895280485691680234513047098063328381447111171950761218809L,
15153807926678649138671243936466936725407945173853087940752405283493100334295126800648864860966795966598706012904970831460006084582703477932671707054111861475457966888055199250173434345973669258923077468597507934281956696329527422231133836536214276944032216958978981094792963657054711333149432019816618826919625677860999052062189202571714655424127395380077889655531887840851736574809273512335691016929441486589446754992296906065465653564923787532287111609413452131519717384032037471080888053221328142531676451261391527668864530183949398312047073275250627466585355989447578387866406537070060013747527470817791828044063223360101643504411297573045044651680977219576343121782923432286301611081242909980459772214830048307191417488120466767466703431939572360877250717027364594320233298564091150565324765816331340720704042296929989895564669168933370743719220836681817495545500771886236736248616272462923912896726422863341794938157409454349507382448376474242188391206268185478833908719465175146751156392747407680164749542236778956855353044977742591862328270700447398674565309282767296520788377341602439403625172688434695998063765424508012406204712410975326205024758337262201811781079194899606924027539155469215100127093882880624752012995294128491093281471289720342949769434870698047128506135653805779794198011271022994750282167765240103065891925842049100707711640533098606474072567279010025610270247305323683830957922433217279220952736224822516857886567680853371526537915729796238103558756186420679185271372922015635360512668035267311223217760110535670075831842821187991595077349634098001233398377730370256833582258542867078104568689381580241079589712824601656851614648938249174458376503293185575436678194542981819230354134404553519327896144890379643223792798411843166124561920747313681329008870896107155316235315647420368415983359535867723651093701505686055362289842961743478780572421530526135903793823217439265192979153207531551550806225186796968327214440066906053450585995464718662389166448732155021911211083697284218744390207841510751748472744048375259380900853499773069850255505867217837678812377377031446050259803117295459640313293277285973850079593887462575359904677374340901950526412300254629436299401617492458626720889333889761985766664054874498871635214758177810400564127127712792924583233039873249654547524426427310224696641889728278290024493769953082536272115582110469156902370907571832199332761584665301916523667296104859975470925065653701505482551719823831952726542752880357208552330634341655349167031567835138148123989751576799194671889340197269583820706775094739945318704001127543914410090860701332662881376041202245239452506292062842883382918330833058605976903994245612483945858427760738479309408967249038544182442635895699030876439430939169051520306706534268886308648182980958795076767842284129746238465078235364868415506132380001932384896423570842406355981263472850903472728643620516053648366830215652231406311196557904326716945718668394117126423936386116229837606507177639493708682584598311052401411536173466558811670681484543101419356062017865686467584613993743405767514859656726983754879960457131599099106214232464641736551482585046312340181320269981986207120110112029707940444107705155795569705726884827526098961430896863729066651468451578507194661340416709100093096669542522121522056183586243283843249720928158315301087953828392605768248731194847227312311369660660676706248106229304846847771662618752259749767021470935936287425652842286710233175179954307310239201213724893510546144230483898263773687012773742089314149904004585731142671558973579699115944517462654209528980823484295425805285969015272021246593489596738165188914097022897807044702484869123979657338883095287600573041797951041813178997813149778105556237410710421201855932075302190873952626548666425476142972484712997811051479158397763626391525966999278632383769485760910451292598661018268493261600605129676180077496450224342566485013318539450843352134947010377286651912258437188450770777830188295885695618310583520511797132101111733546237800108639711375774971802019929633740368775242307120241413806429703997301668806347676640147184422150089834087246291962373445440360852376430696555982929479896093983741843192742489793545595606156033031854882033953302334930554381175395965372166981835892615179236470087711566216008292137447967875183839911694524884857194631822843597864199056711651467985902343808773137526990197432735946707727127945529940714992237981971197889582305859074761452485093297548929142177247653620686057023033793205746068325995714471407798671307025282261917705745275194430544235877258724834486554388020963522556892507911990361964085753598401482293469225497389055673143340671462867454754120155168745877412397324402028789744773346586743689212668807832196634835839201842861105688330982647603960261626172697160222132326484541812837087020997613170789500588842715450127965096201632134945279106268357993432250756589654008791176659804824748062855126811227948003501880700140450773835021181827499474963858784199098052608400269472843228658598120061013545520450126171628606885182222163194932967765398430788191210531014155542537082462140881799365976029569128306883553481303992087406653795132908176266469226626808007685741227868955561562401074399705253440683124690237157304526110334379447761126669663567855337110430393726715953259750623987610755387309007654795969459260987627019368820984306415025423940715104830221664840910575801863585960398715995170563319567752878456937010311694755446996965652304081855082662158684205138925278248943378354654650923740806715499044437530936199462740727320439432668310886051289086710015660947614834230208549359158791808615668378730153392707670004941592513895450054959341850899519594287967490577984535014967081251974566057810534416481655946637792726314816085960516717369453842057246442329979124543181951512520767961586473858895332283058095240757051384648714356672137293461326480747744134694618453624420977591187255717231531300173152266223947523637258188983706597183133386492350178880303913998356116503075721488503177893968022608695396361686840140800433568098919555581031022530561838809319935760589980054084200412391658000251707773908479709967994759160396088817747128502496089572806076483286798497214563155028513036583461596327494245211382693972746731916947699768766352088034505853590992845424633064019336657884139980879613180249718813734260585380476L,
25202220650888244545004514244961185282910013013172168165678756401652809157905962696007302536839014769742004823549623433479275363881338115270960885092565677720572698865935223097684960537278155876582842301569963328888041054046116362047459486473002470859080912965936530268312647027209682054336497866857729178670184826948231418643544814613515891136297590802705655745587690475517301103027212527398130587230618014962405416289860597707670983713938918498682961773741241877445105988702412835835040369638087561493731355876298142578769697729919033791870075061693461255172345322303108470261082410547526263021581026420507611913625318465894346785543025111870122332253177164804372574190832540375437448079250938595054566234493427745216237020771445869908934555510780178680175070807883029506296092790833273830260860510443826674496363906254694585919331761341468278838410495930259704971471355040438151189762306198469903274847541175844191470316024856860816926147734735557652884134775033806038680265222654453985013355834520452602405636479000122032330334037995366431447309058244712103011778404862057020916159384747521405673787365352852673964129548242400733900795242111122596841068518517569668841042035895973070458555999880738573120898108572206683952102871883767781193965049723973352892560226740542073384748100569513078954501808332804328571756112465156332523844783077555516201462898431547717067312388959915373889543182159384340022156068066806254371555640820172469503834585652128516140400576303164733992389877064038062427085943666547298422178479245020591676324583784485346940567650824716859118705604236748549460776899817191355221425279999908928970931519268734958468693424623433412246245331580844270620857198370010036312651941642351653299180075515087577881208569904487585360264973107351192445974247242727794015717250259798613577801880596802099759294052891960049817062034321866334152134109727749451208547542457310561352791567603438804258487039687016779990185430567265068360393938876688635481877469640889499365255497766766715380055581802225906567061661801883598181088114885326309269932866155594000742378911612353879031544771660993985001913601685532666063195462224178387033883687929705540371394845758210460337390151110066918220907316245785575169497967542525922714774866208647665683952355205607014987336127230087750865491866187063374968837785544975781990001284585944386599479873585067177796952355989428627305990673585979827797933074837133706545424990425924907540139266397855346278983637054792696621535859502548736877264758848389650705359044355462723174840112870656442518681228586488573063977773583501321540139947329748010933647122492782558043370554973305376299309956626118401719673893067834119031839597339125959531458251528739611643490237864768741547505674076032355581306389743114657517387117095394624284158859460503803316482832671995150457256878810118046843013903675877577915612604516477583307438921682304491497161830942136197636566491855707708939796058251331356859934979640897138238845240662814708294105263260267203993508613376692956100281241540906190560817203499541685007497225185489613993533316758870161843668471743988970392886302996884476099703813085604526243477840496634684986545178841504198221989919448285936340982730353807051553033188903201965587314185897416567152692259569323713587797683745941026188315481699501430472853589443141876879056851567156883812356136344973757285052094571877627840831946172026178431139124373328207263011340062087673694935422909995440171438432691664392078463599110157596579475723447478897454230214051432235818966368047658360393581997625506598153314975006510758607863647186667874254347067723497922502801439621611821729635535329968944675747019185407260500840144149423885239504469636812657909825254437792596601815353842849943058515848934618098143228806297967242904408061617896384068749475465857918778608369587305483877597314307809297331903993594819455270492868457424815582533395764433317434231053613305768386051518258731364412219675947186345090460266514333542490594346117890727611603674575537537485790193069048853438647454541466645821740540075950317739263698046282519974061590668005358997680167735327944167209667184443991944453146794300965347086867990616503869834160167773005589879148526810708939285256413768546286032402218012580142674642429542162552986113699665142025933464691296655785213018908229937835231575350881653127144762264371940552794286309712856760730564295610661460293926076933247273934381963083986033602986749042843530472448686841700465302337290185407066533733851280721532068452428387460441668315693791722973055638569910835224966004467238497324621281753356440397277078785535750120357410872678861818617791093967477577544781868211079010058349310531464560447083891483736352498761491440831896687497631812834145805846222804260398695090708511377992610085382919023379979449230562217623860826674924643457813429486550095415638647628629441162992204779438174908375722673599583195624780820726299855056444226534403519487136584378645674708953249260991384146108888407056223698619453098121872597140372323697440972577796228777431653352137650044187731206949466718026003970629384000671433696579157859336136355331501739840946736600280733688225853079767539926021567811051071735563995811537784608564476764952124738903151391131790089849843083663753644413676927039405995040764974569819837177140027217255553190025850695636966905090255081261648950610647327708950284585894181964079587613855230256154238877590136025143948733412653938255707329617624528513938369834109718533674838822164445430711459849786497395087227523065243008293273362710600226028780818962776606338686513077448066795163748595726656310450602635611959097885067778651876094503037085984948259636150991488197156694732516303368140756535764752987642863373345875320335802594181846330316365759227869100741677163696696716398260782633317229090456213620141974021016474957062848558597320330885444137597529095397966568568701933467626777777240740638179122040477334655011691081670270014282922576157109050006058120086553313211822436589213115184521921014138439242512094479426003506018023510747891311051190145592073276686432228188876428546954735953583755767264420492033475082563516381163495180239163002480502353826984392768908785788410963551831756152799661405893070912961285046368817215121384653781200946098264534857724739086508469051850038924466973771190064293654478579320106097128137983249407921375372307739084220464140L,
41907815129014614729778027820617590801865803300844827522936149777392331906685068546780353238498520077223495988255859559157600240925957720669460871367789399699395953580423143994142800222854624972618653013520121743759572788061757200767191227519234073052737632133812675402382461818848256821880454045774208346127179504945754253849500464669727108723718761570000856591041368993327618727254302564542258223085103220041947463434188081831823914369490065823499238153569074472340528743156464595124286526751152586548180628135876206100486622213597447354079128476417179825219296296330332215863704212171689099980840657499275074545822112897460220376950484186921552531452560874285306731415017721565195383984852618623772402441484157186229573327714607504959471543841272211054992591537354758641001485210401961031643007140627540080186827467190815357739247414815071594169117138940654111483845356744810814606211534458609372048343088766650230834645643363281300163286096886265389324600517432284854675399791218119070949433308497071772993654294190343371270896988835329672067194889530935267064284821782390820976228470272297195855480077306818366289191505289068711424811944933820132191845182821526391871573715709048720828005087855728470874340755569583361570566143246980795067425573812293566212313910576492537655190071166893130400045378349480107576645149357875819892890723202373189194636734687254859781498652737485590640657942843791360940220773852024074951644256293084372980401370381208921390267697550753275265954231599893995391173866214125986684964683230247794971868176092003445993172388983055781569770832857785936870552751743680388760254386399679341944776746884593960845966191636772033473235714365403712407884495645941995522720912067059457290258725589702089430510607391385268485043636297348165123045337206410113763239511046772285393133621521662289182560481308878074331399663763022984079289780055436483097112382706902017884896721792644222125341438205786696879741399482109097006701608080454019799592697767070777115629051321221588637102055209580860654986906973432457323802213634313368691643224068792378060503314057051090856776070090280967852356005971133377489787123025141534331204536407919452109976517727558813771487678147716343489711827735329880631010923106677418709997669796183486396130228335353994793150565439744502632517459170981940290904094777787990202395448769990093455360697540090503504824550953893263082273798788578988162062789232544944403953094962907207776973535716426356781139952281988932993289223489751285496179219003907947939511791744874778808719610715972977506490163651410673619539734390363899841358306870221100883080547432152033932540791251977935428270315303157346902079231348887429588890071584130092623707379496021371731013960584474364256119105452219323801415895329881422078402911237354298248766818483540079447322450193572287619970203640219445578878026640381428946067237793790518644904968200361530771053468432385475706082591373633259673119159611268097014222499040010466383323725795658551808350026664417562619592957861754417845813551491497609791788327115873197725204953648505805979478455883444258820758456550299719518579448537052104992443990772222855884283974030214779412415088727334228265249396623933003242788862272100838091773347949285837846130420371232196679167059000753659486659993487372385696870860022535240456230502873062959861236178374520302749787412278046684731178754948275852909571730625343239275740709650471392451807873837495838907496102582749915981590347473182864160299823218903194499042777129749399571184326291985315332026234253674955499294463286672487355709414177786703799441749650124782151997031010361656610279389723450738109331596648688055872785072005737141670046927259426538783386000103350402587162598104295008273711088419549867348724175774415498572866674091205304332291000486074233991448690440644117507508008233447953120351128123088831507018644979131976375421957753029056631297951934296424777335675124736248489737436322122894840460059187428273749390915653051888501875718736168453102259753277294241835807697334563113891332611242647681389235002277630706901367408269741564952893539943400812592503729438032323624747301012178117188457210478702680924247598494415189433775785684082381130011306495002004277202160035671345853846166962244605870525192204185289478967605185232795981134498962028736549184351408555348018501038124843319623436018021951558941470583771518328006736609014696646437150820530403203598990027745989110318695737923409187628748487080715140576243507211569194639819269705543124911694386268931797728368917802453485241481522893651525894730059942771914563444960201895524771936175086752790246713260579121638744939960201894455944765546431120496595762717669532972421973124435267183246137471781942274187985993040806566155243691963270622709482775510614264798447934352603097203088881678410850776970465884799069791834597571248099633640178381404265844034916061237571483320085604778883901780544816634316577403738421501603000925427297714013500818375358660968678634723074961699802670151785048204219906539685553859017268445820355316924217067281895399346538615524187879636886057936787224979194682049999810142278122501085495848373479225112351744039661576436641431004350154080535483811603427164796457599059335955736676524618663109096314570681072811477495065562087528051681252675261070810125896749054587829621845353651703186426614587903946177625734470195807875898048246787971119059369329062215580472639818995515687843341629165752354738916083307114338651172120652922622353947008035276915413825475675265534644773998342095700277365786145414925997430471378030517294502662845927746853449060087928135568237501516780667826010912803444859776805079685886017468286040309797366627441881215750093701416106433960530773771468568252275002783542510435038755219816113991318186848653387008379916327158072988430485861595808647968275375134195903434221777797116653248082490401585641426100868521845186367881997766839382548017485309415014343486430267997193636413464543576850415539560782803638640289042572311112389920832642339552947464429504803278735035691560352387025778629998627482099469529212892162128867489569503804608422900826034849305151977785336502152787360789585706927788744802433892929469213859162986767653094985100177976679978470386215016478189162536930595078625412510696556142115496883474744282438364980325954302737275488294213967684900491138263239640060216245150299436341106757368L,
69677160384275196002212909648550093140876642845146733380339283446674244718013207117723238121619537228938543976982513410154824004754493146416880516705745002240833635506240521239678723926891305490320819666198611305638740963538394314428762337181410609477682578503826140017456232818903892155309414521617300458814888345946486419295933150432150373205527854383981127482537274333564974501524500440967056330834171474381864116363141060595536111899928578277841152562385101915156266102548831189228776400147462363713536974499746821790548334200435796268806891000173905247220592214801259657632191943382886578254027894751564856089375797311579885035744806684386844970021871677211062892243603652907573309644530993388603872434105729506247795397257549499819146401620316950745468480890876814200648636162330260732787479602303372283484196032306825667098393935638476933403349884762287954403733178795742730365480524977368261672372808986713871912837431168887390862100281428387246834580291521875578293091907206684136599122360171858018824734203781308317729178363572633885522635532323380926214512847649566634778994875816316189024977308268649697459152251767455134251282902675760224379852132265779787540723985358634930493978498601357186338634909999087618726220965451534629446870279103621390469245205651396343707678053129088534732589134132290106444045034563668477302151051393645998391355195948290430130389448966197897458495292581369932020243975820603473105755144117973891822923552833132497174783652314582187390128479223629999737729503149016181909539311486344751996560152225294141781674251634619338241171206616064876720653381431886071149122023751850771814033534807006467284529637337919129440752404633880044948936838111901540561682758674284676049289826601478580650665869329388488057545286260186430945021796282128323482797373528361371203146521653830344478038211762520635533988769781530169272180812335752381962251078218140731231688794940873942755198679065200535260374738695418237889477572155602684812274016033272341855495287396983034448997090357318531995160207463042057002729750982101155213014059736193228635545159796730162773851400460055263347279802844145622223332196189222245285019109981026765767871499703846832921470566608788952308198358613052989901336749298742804695167432436228909408702994719427792954528126174742852892056145502137830582584442506673981085005053704576176737571338166167862156073663233304798414340265469094760467815677005802317519952291020524857671904069665272661580611622900928662749633679841003124805203203342284595742656663328980035172819453649600202708598308608979662616925014021054603538285507386067917087688823033160042582748558013088083170809819624918181005101105053756445492541581145356739627213294008582106102300887959555067935737966430127082174781375451203510860222846260064559527969009500087078444093309621225558537487588958941115883471549167161823720414722311453566040887635733481038997552954360971666633831172801053887385964203138293624749975683438214945356499115108517043385081249414117123808985492712572635802784442248562154705103772988266531078264005993582807740158895914208230025378739532743609040558174662787977263041993523752543123841804421830276687274863121433523830769255652796738411039762259471469421562901149076097464334724645503049276413938675557099168447359433676974656782566120000913849488095203865304419141988308183968745664738716800304580084901277340769636663038002120587803336956973516658402819874431707049774807622843898134996283564454677795538876272870306511089804700202777399075748681079343050075890911400165473056573293442502031528045180732603901355553243315694597939988348380136051182347252248538465226293444849471707066109844786739868911205601548483670914681265140689970569669951624000361419336998441369374076054958714979906140869466095601457842410616388915770420611631729427627277697914505256158499937909740465574372869549265784304023408329804829304401977891047503482093929042543624005532216538615266902765171838141472477559654200090501724251347868696749164941131085450277281994385568183491663672857734699538071336350333027561149485275445048501627443730858133272916480217628708228516493236244457083192877873646763296655693674702486101746393887222026284015034484627421895746080786102203270345230323336088788233408432064757113183446924064025776388113819200818802946700374234957272268361719777820436940200120318284537863250447497014096308209861552575032935975654289373567928692177251034811123619946090150365997117935129378478329446049898208545010614719671730263451878425257175435952465701519741362997618120415085290593768637351492123491846511790660852262896988573479145249142773480208888736278571670564701121114520888686142076136797093456734770214866129356243344562807199419686670084114026785532994841676542609566121502342838177600269820561099994187538014679764649299510603341211089731220443043625631976342291561867155080885503016762466019806976403471764955367835449306122269655416246019709087599132260988347527089053233865445200342785810950710313855229668513914556076175254337723644581400756892441136903138292608446891377461731977830819452168414241893430512955846450740707009567934958097700032425292823837229716951719668709825470988876299909647489060918762610808165256017011090496666185539620976785701310275071591210028206183410556916001333378172276368661616981193198584468563533176718465555185397701222664024030080541199685158613365619125399349875230014423826730701869884691182360060532865018652244199418914964349033792726444157133327898056976785561450649865727965995753192950268561253161615171305614371982002658583923532928932258162248242935241755046657116017635382599564922515283769288844625330159428935386305832825664850872501219417155877907943104594331823609260122730245938200121625729372545530537793174121157080601291633367430411503861894988364186673653348402992497160632669118089533993458302347606053706799838959789923924105099777370698531143149118840104835699544509483081935684869281980985498204983588588057070810435927972054067514291403708933772070653601253958429673155309418798208039197489365612405603734857125029168355263028123449104733398952733285182955454881131170403554759437854370034112232041779882969918334349292531631082207369958310913066266343159571535095565615618423269816702470834190390605150925156276332236271116079159899000651691495430843594363158358925601501387533184346942239495729708810783152849062492042008813L,
115831082815192921513801432705719533226896453401851954867991236875726946129701736243094178456412859268556295812786768203055586877380334394104065170390400123382463181376893171208033051347436217588885466903957174923366669513568330037485360298783176868598000572868648340214421082366757386207514970155300403604442226144704521071355702032252226208933499271827727602368415907797172099027963892494321727723357798154707241032641464740164880497991419247999913933306184802494800340170594746470103228190859920648409456144680417599857931948406107443321244019079242849736025594235414936465105962628597185987649444899288700555883982643015032309569264817630565701251923032547086377072939700003070858761527452093858311647464620537923138728150920795333979204233376363609630817899498646545834793813584953260960694928557991754771134674642651707569011997767587380853302267560476972135050110959273616598360337316949593309099398399419433280885442191502676810175025037390508654457378568561155895747391104550070975520731032626532192763141349727799191533917053320461910824967080662175394512201491212061055438757929650825916038028243807639402860487885257797496513975322776147823039295031628998609742939658713267402483269793035280668386391578476770752881681409239509452536874339749612196683304234192122502583436469833948127906211121269976214801394462830447920950173603172586659918291510697055496474565658483905364742064444235453811660515794911586650416685004056734428671516269839432365195852531170736951188960046878708584123526740670277062129979843981031462344759976929327046219257054759055227148993459506995780361314733779722124048559068761531910917416993805711862449649597273662325129509633930367467482236776146178433819896430881100384483042593932281544012681545674891048981356383788498534548863547712114082827326912385459073589204840279926938348806154147698398085584978943898102618977945436553870343334248180053990430601516126434313541858309209401033852814121714364530471028340675950081604909458596319106190273541592599460605198836947722100550410997005102359410414201520936568334348850941103424559906783822868069893259906955409399938158659940595346557357515175527470801540265311873238859416131722186616335932567246931429562187503169679433976978133792212505471333175819164961546794569022413452001290410191547415408558936233162630555224416915538158124410731285380019946387851378567523354664559220445311815105620738306212631643149540311198235554993427806455837385663706098750289467594287046258837368294991313891190461108549054377018711556318202941110436603525679707281280551704887714815601551289978701648322965020420887090693898073076547568370320058435520557459151488287843155040567877686875527032984380685338697357558277061304578480645629458752772960624842555242246587233017292817832471423667858251591164811189571798729914204853810640103147360496704159973224303823082927180438630972304125769131107741785302248695685991157407489096845554536511693033374986773488188388600035900407562982410788373742223535998319056512532506748297193404431331697992107917592936644295699366283260678012542160079374890802667383475662337752941935529721161458457239880885376494757855405383661629030617056689255517439344932396536423609276788319164123001815496908556081185709367916766968468844950095558162331266786471246648258576275905506834335514185830554305462657399216762274213266062843430303949733625732401939429837651130646909559113955559551611664051820084285490445263051304977977879287604919088226917313244422192053270749241508164141713794835747040810160474269760102695008526801834979386057487259513617319914475050198803017305348038059368192797455876925646430210592005376897049254851769636270882988965692723407375092276046436866309961049556994560691463102055091378757141099096634750174745550282036609698533456519476904211368496601521728640571464224825963145238124525901448594080740980984620657696793611787356422774585620471678507656068369104972666021016189551533808822771135271719648929729300769682380897975019604165182475073076434358616431542390988940919499372139480994552846850090592126258215794035036721770227389916388414058369383148309808866961233000312440758932889275158110733094280720494665903352953342636988798684577777196226719367480859985410357675795708168690527295869789033003171914730478947936486996724302808090719176409537081646687003724005990721031828560912601335596347015530962452394172734489847050215253063503250685718733693625074750963306398061544110140369036305204591618775084831249029669705617321567811764466922211405649876356810301115289996991871292871408713394483360470808085062227484410861499463193115530542139652496190148512171790346163826182754232149372811942873019940515962502689744445651885843600360892066919561085778486441963294300550997555259898733721077203920009879113421705127244667206187165307496275878526614460178286660807059766741548649165306324324481740308816317244387923476353903894384115736159811600649488583633293790647802493800664753403400357542426366284045897977229593343994198046226815525701217367045600336454273037803466048451281143239812183922273686443459565750678764590692343816359707163786397508133526456987158519957489420092223119449624097693586676040436325491961371783936581470337043125182570186228928548877784240181868241870018271224160534665447779634247435113148471285906955221654836578976507791657908181152592658624051540828852637332734792709801205512994632076184259754410679837057797346877831116511355047142024359260684179619615946222337900723808003576335066397899404050126839045553782736857201631203604302822821822516777399806922310872531700054713603755082185399634060007799127355255569292924944738987403686307763227653296731225821461272406659780033770549763201536940084451329671678712231517956649859901240414118160203775263228170864242842847039403190028456703662289053246632001782849365871485391195006984460385956790432062491657936514971826817875178183371620899686656017746554126241249733302801259028897850729395686248494169471887744886945196436321195115094801207185915974026399383113062462143490181158159694125295135343696434988487712821801589926533900737989993321860616128167905651304405157420998127346740967751700922628902985896601570809018316245286221857017611882096613598568667027984527121544700834550432349665908012686006698397182951584447039360313466337850751348930164687812862025354974590526766998422292209147784414537951008154590538393838751L,
192530293989394951143479169808654054190447975665163146035015800098539292324113246267975052900853781220092375798224992039669108890717870114870305015701026072755810284009124484215667233091068942520578704260467522721292481950445965022868525796570611187828421782521727311424899276355377702978053281299957837189835871765472511155427891995504015691712436729323457592095033815949289577824740236209273270525356730936458590575317208167045002034108364622632348453411793762683316745580302052074445327244992787877268908519432778946066049281189976660329527453904724222813618666092147893038654284059023356508444651773091850706258616747592438440433656187934463770189433983070478418221934134991788409041540717356141234364458572306746259325869994414365410752798409346793674655121038567105934963396138554815587870632873239672446764683117183209517020698514739553678985817752509856570773669097648208204425443619849256778867250853518323359174202198013610079834148910141681493598731146949147582945979713951767195161350863033013478167110977872517848395061943349860769899970653732041887597715416682704480637286772684691781308378219818158279766808313492529891822653818457812198771473408471680374380027853470791113541056168122601167463987069297928009141498233752348654731863176918359413800256894261436119205372635476426865517859869696708706043911290238918475932516689348514828548781620825099382498812461769940328916555386124547224960650848779979005000738414766372576586095633337454277915442885993187259282524673707182826577942520994692408557328228917370104821368212357743153631617638216934806664601397928471318402803353638404556423392483360284982439565691683653245773268258356901507939450868377205929725052983796126123991871243236702386226788082230833583202681930608237339185176309640486696429711358130970195378076358793506525337104569717588460757387936071547404681436139341590957810438232308736748955873201621733207311510082152397468946920439758425838456113452765292284452789913746706144844100051386361438075396096445603103864892339841501885311413023130895094409894755667754447512445243362899733672291112499227998905382875639285275044498245286346751375113598409947513293143937123224967110923498811664977236508617586388401686971295843153314295547230692307681497746161717973123889762357444587712744573516583896733660727007344748497167982297320138439881754201501451519706352781159363278657475687656866877895543219419596224966208295231013220007312068071267445572262140015413087325169115431403410340275537597284143299663722789666281213627982494647479500443710426816668011721862816619165523330604592774713514358545020651166371197706161083489087835178825208858933970158521958149269951205881570452070907401830948472201473513159865722493951798338924574559438331810394329070242165362078639699094546067058957663823528277825953385554706485172474653698647623726781693812871960281319902857362080791654124482534781033090724553325168942961161671833761414884390948871850921465488942176758265592313314046438279579443948485052197126421860193923046040790067823230505784827268029978397001057562753824057641141674309632783522868894838720814730818829089659866972931498307157343432390297155928024112596245743088799240092443469170391878267899642436748013457901196469892887783583255824377648028545551640478232762906209292787556789461206697803934602880973846078453107669790922137841128303616838452699725563977518986972188765067081055629118519982770227057231913013828208133188489374070969495046141903188836928122124129234202504260946598685064425043666938158892201603168976880066940684882081710548337931508178069748594633642057689166283461811704222988848416544199868368430682384146470501571353682656864025990896488383314679147631059144415239643450812611033171504301665825075238779777411497625860502052352877653148691597631015133594055856954562276127505462102916665930822704919914283258179878981699479286243394802453543205383885044209600267610769340444350634439390970680455479153854193102802637056663882485402128559008902098313433534927700815508084444851441733263553649337794551068809720669085008825155945362222101676083196284319681929666164971540943227670293639313383116688276704353003814549855945301366533597596003734711617066941153613758731622511802226652700120674180106960091004526605609603433534865929305014953001011310622611741390200444657056194744469309313914363924674191738541288653077748111413687362288512637086030876302141406699896860684071550460545588405163187031729740482831282447312749961205953365048311931382069936915008549566074759864284354906960853692172280530378803509597757881837921277205533205101293663726078062934034929489377799879295415470417432501242535750229241327637262994717529693237563914081072208102902343545536616829773709737010214139998218765403293151630507540321037469137959550281937684080342099536814580657326992919236771082649889668416516023537046812278022421539517034324099643460987247081368798650866131546057035185206192350454743003037828417314959994859532274658366747114006982769806619802330757003571522839210341652147964684873810390021310556700930850226399744419126677686689464047653493082682935025576421672269141879975134924685884543326387913304825840243256040882648990787041464040037606443693052832535097134629815153095345329018777626781714994597406463103068039614978836843853997093077448280811531313371464946899617105665002172626042018517541529286387204965086405895676113506197341218498401278346338905674071273154960392553741551199949445604250020961986037046998267623364017482053593691493837019218748426855576167295693636557911115332865861879901697590951352061373209291418330240331106698943433603944867610965334228412145883219015119701466355206082569392866417391434295810243679821367324695004156858096241505825286537954463791891653799248050196219051855316764671386304941577648078345837554417091874121235728062894404115806651945119590942618879899329561999172782867236846803611012015122109738509513477884598385112544870784784828437215932040732631062649879336551097390648086768613863797396745551633527612654909735076053680398639875946119875089443837079449079234826139934089566685514450516201698033316430269317412625625340876210149123452742519045700950309926581984180201294399139955020548019360839229462792238737185151117929112020101661585464125469916708948955020977887966117249829717956552164462835560894502332517254293988934684271420835313371065671396478247477377182092484L,
319972276885244943814434296365171711627197289359968404342847534075961622863330951864418582885576546570797572552195144846312623811507741990739837285455221492052173037649767743680768797552381787821896942472426460877275940994077370245002432086556978949615786976852613480264590913892065731724211415402316596753490669706701837378139569657419603315154979380482490375888045171927088596806221631006880278345334938948458670064111981558646029292316760297422872022050408319567470736529332751521468824171329348284995770764044519500309459675392199836657296710914511430265187526968700761785389625599433973094778502192629769138428248563780019349150738370248145723722593599301828466757542308925264429604126068840111372738392262969657772820540781169257623791777613174441267398417401958248573280754546815509791884810877776646053585956254340298760900024838048639459332813538800179238782767395135469156406274274063555762717855983839435227069789111352645889634176438665043113623811075457941347328179424381411968887887565958883262271632463488521683679233633199361625008429568458106652912908025805886914007338912595853771326753364287996852488149428214971397521357446271464477990659858486827216864018315184971078440877940467575484797235750596443379360864806870078206775040611917879014483767744084124581847448257027564833606752124734193427942148347593016754065464008131059615672226563593945198344525671516116068634868150420559160963901278581938453384358456972818992783037441019020929940506812872777982212573836798320778409452466887058681633606646681666675374246197262688089416788505182254843015027594601253013185170826525301238019136788850781045901607186726084867850723001270265829498228219898099735980248452734601900221983189322435120716966186829241640526008224185166531828341604317798065468579463074748154396020626520202717766448646301366711578646930440676190407945373760823774458374230203135499747492193190866821192616538182943584660032817985469661574273882425977505243310674181241678521338567956939707772946309121432165092697445497340985571021435986202920927676266575339338079586838202545987678478136328966598442528619569684006887142842570908601435823574742229808421642926898981715825383590264880466811088894232079727358898328495073909895430057202137706365855574142370440376535829536394826769973874029869114663323579767352403843633245312895976840788029462233676559958556503865788994412635189171891880403859954970276154334265087112898408468462620995922805683482578282317790412938977811979005641775883949851052821837245044706408083540170176530286927780078331387254512787200411884963720049119217243798782125046096570864466523017642693383469818538658288506225620231957409756744974422004008900528866542697196144015652111882120203898172594021365901030158137507429448778531305716161171518023911284906611389930854195877550452034280480778287710323226355326746141261987159550321339386000061775094303096805554085005444565170667769264170901433233112742826630910236640883668654451144175468338088583026741541223504110511350133095673739441659147639901849669469192597898695903250051501312930149027608393699760115564424629243288350116183156743929571094513490634131458471516323951816112692791790594645050170270321098775472904613660797865729410518509419280643403869914599803704051404157730527903796501079719956953795858049579330901709537325889165708406420576231789299575137399874957364330494771834912793578986374042174692550033173511820053787568895066697260178147030906964246517251781333221776729692417434198896252676266715595773298583284237983113657570867257372023060595352398807714001024692857570679531938065384642739942408373783941399871146820265147965882172359056201698905771125536496005153618554435658744201900635779211988325694929190413452667650797811656079130305624593430728414959520666763703676332645215347352453513456246942338894431933594603490130189797482859619009760801876017366761682602837310382210550054485421838426722390318330839343248180549658523391709157874128405587349460133823488385559439058976384152041303532969660738174675331708155541653593344812453308516195456838899481133726051908599091752709552348998460472580373548705984570816828327888474618058274460189088934353638158984609367961557418574931733659143191300182035025354590030449271119116001926473895917018582279969702267339879869217594009428650618017639931850545474461511754698139848088914010953913608646136498107891478340691102587904643723728063379743695724970172572439965193266515223131307006145000375032246490910014501891414916379497923094605868662418000514810572576474495904307189173696361962840241668533360315490428701957458723343890865773801239799883021535030167969901640369738673007308523416134756154328635670351365696801706811411057083531927847408520968030831730094276778746024766325724012330871203282554758637741582994040018553720733234098493387032163633013928974143056564815536189229634006238414890341590265179666272490651835209183522290334991424706346333161375563640048258325463696104198151060094631501739624686685984078583948328176216843028670453054030651774120480626688769655980398445541263285555619554776939941443778380813958490710426918043515439435702217250714557327868538178617509657006267297479101631199002061163320911104177540264437149265068834580590874758408308974925992693423244347467508947317238931146839160430046308625653070810811266901734182187532471172281536117458823151702667972565777552928756207390000355476576954127448163731814126944250938681615851291568789389916081277567795739431596714071535222361468587718814401704850298986198590706885942223029428706472356971856267116344405517878465118348385710863943878370867911917349584241721594030248614896426751935805559570046479253206481277611921943254665200552676710364525217282099530391761130018057842689074186597908298416219007514076643524627755848042007454036301524086968081346550463391976589997122548261241499071473511972860787517142939056451657171879160641232772114411810575349563903076882045218859760073949896769192437742992332349427112692840169232274947658189355632296470307397939314945887366841357823933343351695315625663264877667610361168300935979499290912470324590811735955318537005773277802921339496319354734910085369315467972582999892876941003357569294019554104875493828582556259058649256459459443074901101059960267849068612425896293985694441844843806012747966465239443508828229714949920724939135231846022032315145414676416872146460550717L,
531697948548576098788872642819119310044343632280386374681900344981785575552849778676261576558635957579469032565112805174748820327034175384960392194390187195546461356794860506456089019027380375455554513254111477292277462604999336427729329241326871112029319506920497484104545109550791591301468564023601668976353513035220085045035503831530746217496562379400960126127364634406178442104115570929656508071912216414377981416022119740571012957044818123459107360186284501532465093275385892525695613224628777352903776719023317916587232919382053912736920719998640498934714570319481436503788003089819288562964756330247969009098790893637342543641096717054345136735821803261310455175432764651254959031397818222065781056342948443936486082493686827406421212039307560876908248403089851317177525443866812399860731030541117686389994308843171914764276776117641323334144447689706344725461774755718120205335944946232411902176691328292865500953450252339413546786928092518371996058019171731484710068078287439846927316846615005086426267165722612784432046834758785396777525020017839543857839017929927930124592103398492623295459447998239430323626002834326418553611055863330729563936398069522173631581922289541101627205692403267821289204415183692280542532802924814574550119761303755456888538627166557958091943933039990868779647915665971963377162198202257869834079200302154150536903670730346831986930687037693061096814199906916414879857749091035840612241578176402325830026806407118706295232540842856160407059439457560168628120612125133826783034764950406317466574160954838125490054637644650535216189116041914531486511092429432749710027523735747677061280730497381217209247857471924357174519124498471618187797984203810764403199176100661124129661629912480226546917518013723123275493683030360119364728019124782224024507440924912495339465387776779599326768288304821477354339525929373465120841092784937728996863892102560585999031836107680145711753542639825119582266935256026218525339529343605181587019710641853634087969739605898257826704228678737564121740595264995621396930145746295067713228357747883293564045698244598141194645491465195736760182397569693137781640328918143772480557440029225490673381354427250618586326871858645502619693942980829073903725381223658691602184486010737038086845426703025273663210590275888657753665277123557011457851715678861525028728943196156295886766853849931351645731164127006433691857905780162211182145363576647963957746379251152136915655164468464235304546992690515568246691411973631105992168885699010666300860986625225515520725651846369695308756929166654099999915402589923726959179978280146447053416985167588455123066435254010310764758423316868431507949571060992796383900090280960249815523507258206319491235278306912476576860354468798899000091151341585184467571805529423330067945460211539560114102808471187856746769463545297783992414926632353503566495906574295837736795729923352311439863292639014191188796815716448430615446118784380058775996638582498260943931747781880597708511471076758663883743561305602339225534009984907764448540145705544257726630080526736405429051703516647293389932398523543623574213454518665897382907337449177094245112295433099264763132890975316128282270172375084753880131543467263700432211017997731625263029409098996197391453880430230858807340444024707598607371730230375224482179515644918465841564651176091852879697652178873217885619128272007237181798228525124030342484394945186107246238954121259078982997684904940235817728428461758357986626607038916862118739151634688709501168719938305729423107093890515509845944105516813963731207508813457431808226904460879421312220556190864036300944840234617858392279543114185971002108583806358731226704984519037040167874566982408102647640186844581076132647731920680924139915467076892578682569045243536325570479191739460618335999233329618099069822135698146057045569943092784394248073378629895499250112847441708519822686693846045859255520633736610911739474671701250536863101554771552723833706025110345662049337004011669186402018910021949142783342090626886690369692512427135284122592911332343529024295327147185140133126117777647372034536053004731707228806929705800928476893298387526637844458844430723694790700954178478497905588667114805842311135532311304401406177977354711218619819881904439414188399455979394861454092567083033437841061923366638737012163972470580259952127224634013743594217368475112268968805111475317750772486086068134468518326518657246909367286822674516864430365717343132185588789040362326476506387752732979480614790879249319875093323503688465603581389621419340559296377056316925022599157939640368745152571769503485491154793142319608481025788616397356890523898277638211663217556199171885841246062817071834772622023173195012186046945513985028185620821246566907588157768812023393159915934715366537984432472790396044410722955882712566577341299550519946149416459250752003448833365004731845774171557458378123959515304671016291276036192768041228551088209339740021574616112238901086740936524921343150948154466715837493887687463938882074214408067884412466245547676674882092571742793599187409567423261811522402919818853866151728077615161487213120013027941929146776500672565469135938475809912736361869889353816340748431337414762063102728407351152347820878833046555400599919992043822385150691422636112832684551701819088706157638422811082128310862572422016591810364678482084415512883642156026303441649702176032123491188605942161535852938347070120317953426436702578859007467075237254238228522253522597903509939437578808809711067905137150467143313278577131043966967481656445217166062280896794356230165364265494117182245023811858253812104876275911238262227970078398142023134119030870620795670854669113433696131874420611912309512717379297483958362819517679877424378506575897305339605604776184232954176578082178873513281230792655318363403497299288119312058189990624110196006406082958922835005004698231997414576966254176074373215227520200899757421128338794811946261046945879445382946643867441384050495223219449508716088385184134743346554402136721031845373746629811736566370283902509456568919231966957133819159999569760658415858508711317030428574961391548820885075018612342305825760657208695349125662451122284401234418490354067947057325511166150782722742442744975317362783554896360556670865782071159853917162174823209081695082962064082742904303400414585306912590610021528510128468313297566442762045167989L,
883399213286369763823104145621396392145527540807357282120298564541279274766824439447362974120517543946433051476533588090909734846215236596494858054159654164443676350504440070156323578820108577480605844665441160401131685933941188756386193047964604652339340521659076491577110321064965873112691639307196595439466628740924353187774407353383828880455881507779256257014091340215052796032221368923738198542026747231800788059564056604679437962357208527958950744575516391152112134138033313068137049720843929704502828380037761899081021106960844083395967515555337837714202470161042901574425644015954016141817772527780306000359120901459531117047684466036296775133884620187064855771743806095139574519954109819261990746503502669527150125883416032813555773175598949141452750611731216394471564732043485435287221642385856244588597086441685979157247744255826372003526596413535730819881371025170794050079626793817741617226220920467982255257474737446318315634997621882199970281537165855470221667587779446397414358653950825227667457096037692567902593732173893651573780609885540452163275070695513160944479970959241880377631544816086378445399325995129430102610775781218019076950642086775832071788227266522438840930940977284004827221313904374857935590979326893283221060805498192822671013905679825847749813968459263059623696971832924229368479401525210498113449225092688463251146982471662368221932314787980038903128980672159622993663279261479490845498016401411410678266811985986908549760278625658187776782367550175209570348886216539192523314043231480258247116833229681500205436643375195855101779962627291705098736009562843980144964437612840393051988811937572152993710647113938236465236446715962960416068919807982356982345673994104254223006886137758217524482674698828072986783277605725188473236186702523919610378995700770042295640021256958135401446981075274452047947688616362005625837260181595631434691553337170339241084406037368702296525487325034106503010209028761558312220742185132146362766484048434971739266237180161725520788297021683472026742746536654349117791077032287099362506772471537109642531461195348138721949192066596816456051758956051335401234370177927212789888149399982067686217972741858848572623115380457379144417172303127204417319128600495542228878225439062913628823780430169081619365778282027666114367090157034959525625261791916175288689295733876874261414892344549743696144450168364635960954169802050219534571567493507393767259197715095860976670879797680938400467769399606581942741466875678411592791480335844722794834479941143681174914689231895791598565814614760814680469332479649259145669939147616428703267840937197467866717133902372950788230355124377542668800059590738381749094540830466326096751308047337704430558638999518807017043970544840534033943571314637216136637160481542438241124535801422284056342778300436098333080599762335671104914396003500003506690968905820292178744120244432155536526215590287049914722238964799327947495686725070964974342498703109560301364908366919794821040716031657820454636313569645406018259667699683515951576131838969707532549991101656340043024241403728162036740732141999442526450361295007506524642278835722103572197949685515836014130807687340609876684325511942044819948250360000135128599727710278904034498166205702906221090853065355694895959808809927258505674266406053130211338766544745082615651476017896796813307523259522933258080284677546869193113167986091418568763522179033715930006271252140309281244762454282594113117729858420789353662673899132440229303953634421277255915087890726486222405167853857475069655595050732669643270609259003486881451949677056902614585799321947890222304319682638178015243793606713700085937735360614736432844842903806477015677719823284706005247350864652208401713847984523748372008354197600404166066252489135401016806474437878227761401588019742334662068563172061316286816249490948353416901114811503984483031826684569911278770731696514854711698579267368342475205209840167778545756532789948709039885756335134140097406470869492947697753991630988108837899868644891819441441564895675845502940547454183334961517360918321526087070874626947587310764540102620209253966950875882272710624764835340905648387833721616558786035937750888578854702444153492128266722849481792348027810298151538742898871325941077792380528760888408904058290709734202150889140284158700170620214192553042869095434549514267236709659050288272185603011770262422835333424167554985417398509896508323271611062638144892533043671035218897143405874778764865738195125555154100075880215850068555436215221688298614128718472414567556653125895936685420274443549379834419578883995461747164951360745618408079214259242383390111573554962805756042580609123893616414247828422391993844366616897087632912384945982127042986831874750188904291802992557054818402783403057870677926966996556389872378790609384657003018751263931897603662297319511958075326908876422144302300645229555628874632625812222218213778480990181525211697181265003216335923739539141384021332383267600300684559351497814698240784916536750971433271163670896083145924881409383575003257643063087210067899284409267742834417218410344356568163860044085709332110407475215886224102058131849223365322638642110882917145553087903013185097183086776429658566555290789617695649607989580670784096488683337626378070010880115732514466170572034070733354360726941325005669296569045728189345330165010927523615548398610324936304870374879207635050855665822252236007558185086216056587262733983212462868412894273571942682635786174470541829392505950031674558625390693437421660471051071819174963066789976669382895472112200051595758178574396114523788244064858841074125963213591663497425754647632006711908459131657542853009949253327157964499471081255846759485546292085392170393943034285289108044991979391261899736915732260800262481860128038511969093547365692738847615891642189222088247346211126265753652921270336159065612362304730944449300913772770240305318355239530293266476945577016479399107886453603117756011313661617801105643466809323868555402886390880205627573013172143921967678351706412788534576253645444793893631503337710916709156356806779531181161799202529562003257279305925537379745294603194646069403455095516550657367044600526041362697783150337344806782301941126330803748880811371623080212079671226861308050110778033442556354574459932007974718658688531280184343400007726824164227763716783826224605883363858137749238938669L,
1467534964896959873036094258559949349239382764976410010965313981754085129335431213998196453480160084946840608385084700007565333633931696910821586508880168647728356860043529127837476494097947432340120454440474497289806454315970705240181314219049853485089693888571494415801035661657599750003342469298499587190566987402626685703482407225153349433984832688417160066469462428280442159691739995917575704158947560907402860114252058828483594697497130327833001714250652281699374254556461875299669080953610054811354254533443836874582610491780757270128161704838008653226698378599298185174201114915624789862044292176150405119666385663717770032862681219118456615051180341603250654343833442943188740912695134790645604942439713887757084889556057404257183786446365736718501315930754635526884014113120604048432839711966464101299186183966266865288414291569922972942695775556280896299981494337173058896476205718620961446047580679333621909609750969664065269687308749319368808817972502721154073387652298021045730035877082668348998458470201581151087456174823741705638691909929066876084510737157772229846906979020715506781234784689915285825313107967019696112942657696583589577631625552180007373142794498261172854083359112550249387569934898899014596836798743361542087669921997566683119798412238444876646392725658060373233426280367971647433388860970010713512099588887798199101100267231807787498438850086460034140083989433090797917083040375629015857654849311544752174628089833753942099160093879194362576015245477158944205588161170506717323546769541895882677695488947454653913984890189925791606206626013776508848303291255952558003344618350757294526750857321339186346630928109555005961628473423654125175579248602029073008188175573098443673307358063619464038894953810924297249515191258449331319278156665995536053758221284531547606127856914496274886848635001183937091716993898428452197150220748475557598844238370875985644983875147250385257673842388888477567397730949367514031844142349170312927248628022994222658941403227023561299419330151269058409812654227027308283785834308506241846660439704382333576769182577408791629037780463072847400896697408817370133331909994177641572073837525671539725389823289734003761247784323704532274274712585723629128763438701525018705120027943409108895327402734681781173627565750355519167871282442216532880947923341947380477073185876710938136593844093247526289145267667806747706147351088013571631834024259694515264234009118766302919213581611726093205127442468214180573957823984463763902132931606092959805618813310091709456781104046299542241281551483996303970796582020582926699006866453099758818334920468541449578087736291548151621217857441937655209724810893330831977393381626522884524932152260112564241453694061637449674477848078622369998147177342567878471327250244881818810311524206912175203021857921679392546585286434179825626280920912846087267841789832288335183274379052105866073159928575613361947348340757818502646458255584849796822807232048732951199211616342031205068238343401217014657766283015189642597581760056129316236769892489386669415063098214716243441768471290375620629740216569500860486808524147484687860641868390246473891496019119989742440074202865969589632036154947740791123935053968477140357632611934531143771979684572330918519015595046979417887092639355535832169684965381443694964460933894707388141798326991517457722018540872147219567556799932765582977719632329963053290031073956687226753062140449551779918848818091305680193605292978394835507300697373148810620221004038023758834396326473565975661562968968152133756846765746688668037992911114569047402563205073209135149733189542327448159336478152965353546939323724348844919591061717036687876983777351641224315624710374883053473476600571716986379662685006862402111667526338661412060772736828118527856768210240149800109162659727287039280686564677481168604605955460831075312141631331863478404333507241784720032761681800620659162480848722979997273720300637610418498228756598214380916404170375477425973228388429938499915220401199315155389783357362566366591258471000819005408043705276364960456423939650675766869507944834470263744414580049642668553784554179128507550077776572837110110334843773610786398316776753072821025617455653053433247309439976003231033244746601922354402473735628269621855442382690189214099865674160309182062559988007040345080521209240465626830569239804500824019743305982328028285152060642091494743050573919058551961247896598311108710855172179986444162678232400411052170588266529507204812541928831421732082271164629050347498294827560887908696153888097895600949707367990954882272465670648136887082320499000961175346416190247500747646859256922294658866979620429924580336320601713996938905414517896716783048201615211165250406860013503537825215578867120951811714447271045351106326564498267310934894507929802586085703938938961918152724522168104610566967827636139222377169232800999709440600914181712166100359508738738938968225724105428660891459122327063365960823321684308416274846532188031154734189925709067757097739832683675087147086663064515619085037434349798958064105342659233733141383211886419722074660787789420748940068565460535800607023842823826788882164441097690355673851962092409252037136277734316542185078425888206766579118343028257840503748896230155835294576896242791419702791010396986125356003348310879629998390832595887545330441305381688074588642959898973532607631719232772348434758792865960233904216452516599582689410394334001980027727787217614041199115084469689217877207704916909743861310182588793204400353586075792085873758252768593746232237779905438875978357356736338378425968089127977646455076442930034907244871238486653484499284941435625568221942054025956377362550442629824500446462823189931762353619741042840019466410625047968011273324916505735266824957110422967988252189205362350774532468186175841249457288313290872183191100043717643095419658716585783177216275894182438934327681795969052617735425192033496108642396397906734360142935003421201171011131706821166190113744360939015359200015370591969221463360565528753882382008867012529362726467293780102092454438529878921496092668772370745714629242599624551755242241506000746179393934414467282867101726229396164105675200915810711955480867967658027116940740835001774157521362796100467174835762049683418359030565199056424738308110786542229033040596941609146520548699381931761529602256485314967127070392207932529225353012L,
2437582747905324431827625994527442114020087540336235601403365978816543573214889368986443398590545278507949140104360870297886714667298319601028803810128861630718247760798653673450360798661385911795114550926611606769823314242581851007979567655029991799357172001876456524871390790825940445313569677880877456531204477700073740077856345888418546638436450636471579307723985303115592554504155412135500619397892717784113560263559027260361562967267049355312163060189640178560489179696190269779041365079989677899673346363792519951051105774785972633718827224704538892061539827019089429060982346915411366621769746074569523151048562906562198469155457110841694405216495702711291962928180146884802749227272450494514105368173769848883067720686325734164807214544868874420479961919172565692520306468581248801321631372605706084882869110355623157129106633636245119446772221974812707573394938932138099748262840085906371982965794455848088220878072866013675644837498597813088318125381506896583430870960957567126001470269401628563528886997996358704386184753509483611784503818172360717719164187325678618885459774894917211218532726349804471464628715189364665901255266518369659401080655635313132999104953476605142840533953777221642716633446839517184899226756931918424757262688155034681195275023809087180076835455952942281370669388279883518962994405760113020599133733149517448591288569694405586830491156167669187357409103710853842353832365398727291748234337483204522806614444127177807304452942109922084205357661997870845002093734868475857802605562356208913020641321851019517469866480537918548061350022267427607481684856306642718664012926656498197000456535205986769867501711655047781010762186161268254437110655578002082283869573886712737642058154898427289616195525980697152050501272512008161235656690821437665371572053999971103662312659058021830303073213316472975412051866818850667591023788772879984959946578953031148154986558302808424073161939891503685190239208002013808215273588158893531498255389669981585452298313558798415178561322396987395610338644954711547469535933887409684113376304235667279101130074969430332459748709906658535623824859771822664262392760359002422147995188463059788418351348294288092090967523823507838792745480138100877762584028440915091777177339870464848485713982529643918946885274115117713517994256849419062225671399612857859015815841218360345884448035151353976409874524584514374246879464500471532125436920764438600525220171768221401975308667713756554107294276516687152898670514365668239437230584830687081461887746077253372675617462362818268347317012396986571554109997708141170028103506409745679872742399084845062300850242512049825922169177403716093097295969543181560998541653596651919855084194589900717655124718755782609203083682231729813302077727148331594020280774236948470631506559442081294497682694453279392561055130234051636154803666816861979874993190490446433372813033191276983406474808242769754674779400374018247792030132046477352727170450803365826193614740184257889632052931500721490550882135025935352118089407755110981275115667496485541162671525826270570580539023912571190413043154650772118230821019860338713061367222363833351679143310933360591395338927640224443391620984805473998903748290771420178632185210140047959003168299812435763675845239874529448951860337458650905825793743615952107657336221728293739646038859339178353646097735444072544929704109750747875720526418861075107789531008623616696089636147393401657237465298461203865972046469251220834691121007038265343500619806540664300889052633541374766203500298653935578040980938520693187548317325772070120074483853542696875478298466227213834837176857892695702277217889310727910467949973795881115516985965303297106336179708786322375287953461688172403870909330148085556743114774305724719175293641875389388286485941335571179361086265936377463507035135079617172345371605710883364989807720629835910702399545080083408691343656158448097263873082381524506384264205086386160391047184221233404348234392273514818525102215626871151843242765519705483534801136611690431558480364434854243370104997911984588117698095822000333841647273168106801235055435279826156075647481784732937764090129904713154042484647080944300586502368974197850302402722791643836477372376464823500476248048738415490385636908677124348064365482357798428514347752407304841606047129453879962936678504527568693130511887520787073553948204218160948903583776773816495107169424922458481157611349050246716049628379038682121043633958506256814221783908830061717285710461286830140118846599940597926508859645829867097687743252832683690424855866450292429723711968713163832673258133545297791457725895427074480038062258349315151686138585921023149633635366933115376317340523269562404867463696649368018954058174826602022644104624838127733871406007990906409257530297660300793123919969340068577265190099891805983436126373008807275976169736853668632934091123914218040719688336038136974754567899833614791779966312739997996508453636693469438587574265520083979611958348280602504433561791169097054808897480437775044173300812746355633100054230231442744967873696378757225951426834013555113769314018015133805545960697539121943262270294777576940955617302557914044269315730302531047430023054979364741230369918882434857165942603704103026044990206986047738498881138111291522457493539113719369967749953726925213234467879708275804868364971363571072801264787161179005514344205603528801551191187201216143634840770115469423237325173147807736256254347473608886548892467826735832543650054694446477405789791696518633740759609647952490678703934620907109623950865252311366791732745811776677274316317039018434955326368284004276312011314763751274822518180952206350083802360030479911308476889534351693801666366776642610839545479866907373210007702709611777287561432060875055641001976365809508629931400097259992660227341148730534260593534612634510245242998481627702872573317640118251171255976566682823545197740867723873477520920599242047713672192386412472822313809077774873375884872665738531501406439730175165750643521073613515947557226541459432059204169165305254247527626482758872101049896144534784159005198804261825281201953205077200957168430427536703692788761688003283722705027300888595804578980170338203189375498077606045894167529166113500036723250931331267734297037507559383552632973560846524482151015771999325603259195967762718805409920852444104889903573067457560985915714454526670949L,
4048272829424969120938912813195245920653190620434979621516799294413638176410628785392957118933623832058447331895188915788983171282835697761457804684280985309019694907575940138173925051385410628384739350357545007077294957489220073091423007182928221497061006519935740655116274487213354026227634962093687084132824591148245461332784828536980443381003975837212342903263907020135037705783092369261942917468638977759723719535796787704183528468397192070349459748761467310904643368774579842043814953462850547807574930575694416567245566745701530205310802274768964165643242130437691292334711681920655274700019269823893985929020728253243566819457311858380461474845929143233530184627523287191285310785004614943819854951446959793181241854061174520612564412836374304528221307737535016150914972166485125649272353917052647513768756232666729725482408167222703788538769144714131317478383377636452888482661600803817667492738020820288810528389627141587293953416853848007107602326367450226702317828801660700632323592838794664865944306710708535970389200878894816831405492783607624716274038617462514804707412337437204980184368677984661596786209100467921366181813360896447004200095503907524319598749283052883776592639160760100119048641504028304390180332907836262954692897352091504781405682653183580553123156517733785433353225650461177153312282158305798165283014933862501930844158701735959405494958103849415569373942618108120307989727284789989409186522212418504421882844625107618909716194330159485239839568509704286719449872669008850207879059760666367268451656825860448362891637215236481585760425758130196796111592581508945314962765893300270679577544469965970526888489974759914863192000201823328788020694491313033325915165112756196400851554121048599758317235867670271177558976418175930025562319741591602868286842083919540394196348285871293272536796782378374337418069096691602023886666737628055350311052810178917072298466289555837077784963853336539574288429026527021611225242913395144626474215355440882320875037811400771115003521930182674922271905490631336243729537173113694863997808644092999531343085851640579696081085164755936955344544724758127650148669759169879459301091022940209060711608228110151657687486181043245465752694039967050422225531755213875006918445440375475287160366656058991544624684184702467597507485917461066175499277103602386384733003633311889645785421238506607582034501180007789597295556410560185953536638354888655152540859544491169874236035281929125949077724557872435125740334384447922902858987756827665877747245787991005579752310841630310040878375535119849741740762373490252266693734288420427981228233542970526340374346327182082989508676145453657483418790383265265706162137944837470477005584952931657770746479788170067972213011351540177567241281674976340231087802450124418599680964116678570747454082162468320997234381785338258673311022697078328901284524217441491319569783310067826455441864923616110342582960341246320297041075719972651335726712233691182409060505858222108642397891698224091535980097919502792240310158896811716883928386524462093181633812876484539660254328031062704388147082104020584906789982430442262434358478574918296501522080716913105370234199350093045375871939989356484422877321359523804655374575440313962612850718281364767883913440660561603355320280263690521824380461574232795442021626512364129078591562205820626286380751106009516677651890846199845578021311949572797821442004871263764084131678494762342178941096349012142253717060754396824301780563373210610002612927355288481426771629819163812781823119484754871262028400942915193788611999332315423194463746382587092764870380197462722868132184741791074185801737908549729894588639347946880635084640280206882968415502858399783592576612826228237731569301484489616353579879760781674231876340088628105807704078002064370849523825680340402608906736532836191686309355753785457213449108004431136735460208600070306773363963340377771109951837773536013932247442845574854430395502902015137105391863440705631701534907092024647091397128983843766402505586839449056011216450519383260847598781467282909928436433664027445445516586676542131790609638174484016506366767854310726496045486949016054910440251852655836926570889505654105675716118862255486136662337104260966702962706474860517733385646496892069532678709983565754318231266141104485406419560727998885875182871012622938298500280470140179059353748667030760471962772787897527710135537287145017941479658421026666875921226014347079338493523513110480101033174918383891445040196651867301476895247821306004871483389071007151103539533023414380482123461587918220856188663480727518847892481890195499417350695867531121832554498276382454199911664531853511178369785187499989270526929892602062284510216397356950913315360020810220956975655249004949642305497317041625138118776566634929140811959486647382624350084699480954642404655797935415256784174113959016195220748669460572526949097280582564114002620271652254678425534347268075921487132779363668002987886850621620476588678443876701579287511475064533713404216722595658601935336149707112173658415916856355038035011986612958833238960547459786409818661688542867377797537768394078751739450956172685099741999404407978789173993636832421541883605242869145593578091303132467807017601568487149133289125428655241102766463339646393853368343380448328463355075077407069758455225447407211525303580205932154222589007213307013339879492571956779164993470243655152839393748200360739436784988480376181265467355977825131331814577219781846499149877662373179097749738875449961002839556849083618985467045275873950997520471853608050692238917140266788952808902249279343802826142661958894177477733262531533853706680126756360798477158942183012619626268608044051694127740118990210673401628994915434630730087985911352717543905244062823491255887352350015451660934165810215043007711229105210405190074181223953659973849899270155082609979967158200666835927119882308469291442396629533458224711726113307177616234369647901423146732667724504195141374994772408605486484764477192363015393724367578509286595142967711819510959904927135203517038169303923798966204631901604665774045967136268125310822298674582703091194003427626758213293153829231698675695968686649715834246592307813051451828920348222432910428903288082202240016225090687126684821335747767326787888133955337146961156180048904616329756806521226417716733142912670318970355317213570226491036542420687331884L,
6722328186247082431356783739475056627520798748916652727984682492850023310466054196435797464771194047297066260820673469885707908210033779532380924267735333949432410665981851595793188057344504179074466830597084549064251920057062540921790279238698166169333437500562296560149071664446618197698481826134261412316853134486077235933063245578622427061586258392429687099947479943131157913645297858889809941893752866425191943065476491887747237830900562386776569385481458061924437655473979657632822528949553802144621123752360198902504261254456691640735096775363793429397291623193201874561656076679842905410033610571669280522626331869647656613590042454846179132163849436422229458745265408754403543612888361181074927638064995638457402645782606593731695487408378745304799635426016196710484307146689931233998897810318784838374277177297316113523198813375757035222590966815185465932678135529009911194898178935936520785195429768508228424338129238652213723468110547549481115974420539366522014640212689821812903436715173472057622184505616915441728534271522321569960532714175518206271119246775403106489799404713605377289853966816327505080277838603828543547153943326418747172588124768246746841849435411704312793213738161949845931329454812609865162455548199533617008400432256044294154932833155690038934648861652068938281437821278282486886731077652968104946824138081473126775683277772936560207976177064672949326222244714949497055027120593488213620090678191166796467881219355008182119212403724476472091423522860979511586954595041622942713939698491528424924648059697762840795701415946931021673757433747648370190672370479002709963768204621680314857948248553337771020872602843580116991177137947743003492554992597941544161211911453063815066705623064038167750913880228166053720613936207528258248381494579451074401025029451276850902318084161940727996756584720952316457410344091336777820657010047371190781975353068554771534618545449702982051987430095191911550810069470826457723263089178248275799234760325944799255564044389929744067086488850680380857655557132476042918913488274702423834955169655354726122911924139245060497561356573429980189852336706851187131638131256320976868361382497799146501805969755110337525689584689067372380542298154462312126291616609548574655943215628034318161088062723646547422467755720290204870467585501587669217515427217953185241383470725908638518873591496610052769240387646296771569786878193360620081406571793702368091419965392386971277004207694217909018125295818302448076210428822415018045915577944176779766551325117625064948800421548626394959366295637318502998016011976420107131437308480221880723500224724634914739929802831135670090672371451942635584688069386113868308701179855359943860461357457499928314026782718537924635739075976999398229953265229230184789174383456681448373576457023057240967833407048536850856563177959406562266125624503882695820314998997776119688556655098823516313922153858579509556293033157479523519579354825000498020188777351046351813262602753757036421823498102813330181110513498645481074285055276993172461924500683187053744249681812360479913712958020693726805762932401744591691403415834595076904868158853465198966176799520968019528500567419062381244437085343191871765971553754639040055510566760255207691990387275104738528599369157996148559812500886299831334462493917473825982273265399873704880693962572513145548141567084122703051859126947599160064640586755025026717972878138376269406514462115135875796228631167840182949818781550713657131615035406645163656180831394338883417441171093367601970542950960097418895341707118269484808596054265417515977136335694724384358904858591770569145717451274897539994650407667411361753700962853778591196217793200570671179294270209290311749505282090733757314647103968603661843676216987272157281621661686919490542214829233618583515234800725297246056172007928726221500014477623232433875868711864357678043396431566024848935489651489098091791832033065570436681365574326376189428857464541408597114368598193422785031462358758820321807117780153218884833500031126357579445163266014640656809480057476292520346387700524030751776891739659711666948340561663620140497837609806426679594169460090094757433878766102224069797316394521320153738242142211322923805122512331100775076805998437440372103058531915251619771783351025256265338153475969947036183573335647762064340137992901402401165633380379740355583032043720430679464292421284600774270311098504251257451625046343671540367841042874513200304728124778361508045728243383556504554516202780665895471590973795879545031826199164215264331411025585022807511213914165817134449213652747356849853629883985957267828581817889184334582810679163348220983095358558003835176774269541682359589168080126887493729568222433725858209307360359482172826932677231620416376771048446707628367457344610264055195299796983745805580722373693728618076891842420109246780898084998558817410971512293157009765516055742717020679850010376356696718723359431498684107056849560449468156663320246571002782287123281612508257030966146836617855060518902232399505031124709885674701091678207390815295189597403393299298053795455775423570502272536167338697671485150571079572613612510889024426581142846770050448944707402450925014200782320943433204718198751467574715419903843041788245478454105795660856537717760583151623980958555225507758878276930547082545374256062630156036131757144415392871373068095108930315010521361566467962354499027320551144810234909399616793307129916266524267888953900764229518016139661593597698791170799254480626015246280880698562914181828119320681749052282725498640954648431474421930027052882862439617241547694244004177200113838075617911332143288844214701062499685281717017400970531940159009356821928464385429279610651452577960190347965862930142428834941835329685628100336904734194769758497978690642140037675062341554513891425429294909265460055306261652319692878008757559576822149822811642078835546535238951820274823867314473638394674769821009531813681365028443305929265901236464259965613581870791340049164563931720092603889953385378449155716687672905584775743569449016253824565252333473612837932053826636039657043236404989587828294327541606029726338686442198260872741257436515341419549787573399099618071430229075817031517888064339225791805153863269774890408211017654879609144323843464043336200198644013630485712785831031918813788159015690237419079551946850132201534043802671196259756712766740L,
11161156934765378260714709088554278301090764703032206767608601500704341340375052728811374261158627565944996280389478197463331896554187917736540003811932594957549275175833457194892200651031598932889613411911964514261945387697400314602495051089355053619549646430160700430176749409669221456327884618837547028454801233554453121536691400034907478928747145485495136166900621855327579477721999323039353065085793294643728462105440589423276698845623525075347023121929272435343133341202584853045357546703989583714611321902883064389390405533865104581553147803864547041867432045660124151459004535949716564587205044333291333619594166603470669161588339483070464079273226654254580403450894991516225714530397305817889674290700497882332521000467250687135694608984480443890271850582691676761199702824442956012246829785091697213560551558557475353287735698626428709364539274031306489813764077182967562102605606783299638567159358687041554655559992227754589951577663379655416373008264601156202174347413361618609757722256924647122872828205800579955284670062360211070269895621281158503630822639269707483661405671807621645942012218866948203544691562914875151517330547578698969622945417329922167532172809587147589381526025284965688895886140796976810491694778820803218276867520214207593564016179804411741900139439766311361445457215200758126185176598430749699337238586581064524293606463146679812706303169246052708991909688879272367831561132562879103833320491435346665493011601739767694569838095811576639499267647372429009272913874026704746823331333102931299961674707329027253582307003045297352708848753999100462320784577867798248400846086424174066526368214317426260354083353538650711937063972289402196861736810920197196511099541275597472146819744141565855480239610201437699784915827743796812917752856597053326338122140116120231852772751229851880377460772745416702787818755897616775820973075473754677202287490763657085546201033520165103384568448468739104057352275579288232619843471207786460946303750819873019701420959924765763868252004095621265603071008642578595449567752165685758066241516188239408355594938275162693878093311353643519917638919468831937216738748182153022692031125244626894995253437714309037619819868657048626053097122567611577881329392387427027980902202512128905973435367803862422318527563430252514110039132544548610440596154277553189261571246141251804677490094109536547383727596202738279483161715553798874740452182835620152069626399060860161741856366366264771252157832118023120741313072134271858234336999627044259473616736465393714583248251831601117638528390098102016397870939460373035067751524986020131858001692373134647021006224638525122489088018116021890962525938944301296196381949165821995211775252068197375581064842065915645353659069710325539708410938206762182097461598653459849206706780441343762059432317776974277223487154878777414917106637502964309872381231739835050589425938597030023743841099066838353448471896827348127462736916881301469600758574635915083422827847746956081276892412061979004123399836365739304951425525121049856692860488302548526577459020229053041673128185907297154856874009267608727994576082048951516883962890547508909899769664197136385694402479085473196489995632813132692008468794870894654184989470284305102779570396234322887034058187684578910243623840230258225700857158899573827544062860694508303441022117740944315374002136283497612175094046957432071825620299679067544426293117126586863286499736936102440441242863317779153650406007691421418094895898588774596911564371946683189492516460704186085416978909463846970224662465603222894728917157180479100810306814947746509551304330298906991558077750520871876188682306933297906883516773872449029376194602093955384009218740261774831109857588760179040252840904139039700400450586720913231254660699785702092451107120760648056540698848326265387616972993852393725453276285308936026975812732106299919717685134882336351869383866494516032875198840516257238108842315076164489561476686918920775106319985385298356248769208665433784350384812211068516422171259338099194719097027661839734521371569333814463036368549616255550510670312612067365111643618821948913848839937150081247199731905541185056309265140939741897312839162103114921012237793072390531072456937711123948901035404409089172483779531922227995673710716381622898584875238226708475466893138085901921374270303359151724439177431466698275509970185501836867507785171601943257081007310952406386752186949506316510494618190443713997394160028287300083273559840215921792889646221567636324424994357322910458689129564938992107358786447282082544617937182043615863342176587551914236866544365176341297021704939382326610762032761579369320149764403910683574774677961909738321594354833740311981796793972136193951187478996948307130136124057653431614421544627006765013804123024139093243156960610066245703385821397650313837672862770613143672450596904711872765601334081840499814310111189847533002003556952923877666257868667380497764211044252852890725175329575169330062465730424157872402468723728772991205105063096869699557701850316027829252993720360478064727609593282854032371037104868567883521115102421305230037127653367038076802361103903817326137798048949924867368993257561287749637557716256357482267101728626719540599801259183445276480075289516812029526122695933305135305842975864454530707611716043783578873936345436054003051884272839503287686497295731232623667240846295022796508348607973629196499584649170059675532405902415057322988713506185133853457510131209194727621175586981702273424116090514787132664562467514184853125894935250097777129255929404462354655725961375864633130701976856535201761831713381854409449245470034882912761401411858758751405561040503690790858416602277074800958955569097900580308829598919903370653290633423618390904821768931529476681075938014991785956079741854187517612152915463972157646196932318264581334804903284703592279174150324511651640560101672235200775943016637850096316358881428797506544376607633981189380743204006359405492873948745186715388560477974141951898836276795458730347696716190930579068289381057355335466923555870285031036811794665292725067844684658695163806908536997393638598202531706983628871297054251052923688902518385264355918130033086927920683044591886238327957478661672372197125237574357917963535834120562664068035295511025750908979481127374346786851962143159503875401382186262989234308587066575889134356255448391942408049016L,
18528417141762940288968759034895620079372445603039601151369980613539010547972642095237619076212537725764951946384259595182163629866739400709074583249995542425985188613690979310393662348367941241355326419429588168319996321919781589804842373594088343418084756323214074515633011618582828534134306136336685198436599947329785016629437610832932313282887587329396250057211214299321759064248942765114466537719104079165079621754891944370182244892047489070519606565711039392575011020928725047277009198297447443205610005007201005658691098221696761803861887276319227813930074275536639307702443620199447204311826460120262589868916395075423693460950254508270882850409285823421380317338649647470179736521214141296841982190241293552207024179767692413113280716450953927093602845353689501407566385610475570575001569860501898010113118649947069659077903545140906076907277817200233679144261389940971648165313717643206317038738509054157518144249156163994860501809591246386710369174503991232382404700325256336508652881953084001991808310309473826781798687373793053168961424736553964646095441568315118954482656999955732663793629573693198952446269285452284482138830099903163966727362925866414833979495942687013031304327508756241843859286178126384317598515612598159855143169623024471339665401600036283506268224984183307340882040963006803846525335542069492246059491681937319825635528277479068426912624803818043874672253605157263070867417076068274251765254485770093011515532250339658059709976495550829785803234735096230724857588726720676529263165818470053519403631529328883888150991697615660307861284084416237289896255846717658214691076118228413262298172793470635371495171283814410508758946070655395879428776830829390155881146351618821339917067895473089385848999686516610174833289299754097547384710174137098230135402071880314967132959854296937248144969601569516937379731001854258145804938496577188865054717078024556979407346050897787989487874922089819751751307792679624391839846693933911132014329559379237539160704193555635583585255849256520932875528612166365082691124489663609107386295858154074362478314041877425609571948853651651352243640697538657811778709575829159792453152287784137588423719637290130477924656337164413049713921652530401914279838392760590192035641330781843133815366268250129747285927913141685983173994873601199447618029470658189415859866590413192437942413184662221045045910191709599595601832896108565396240823143406394065348728939477403878262817796345880607429214755504224296251105580800170733656521461962531609175152448064184986358573138853883612413270029212387621051201723687333762658939203626167820400048632723048990524688735113351231244928761767661548589925888213446170865675718503188578828117533157426090570953626187506566834851221274980522149583475251439545603065298071487460973079627211072316143066775974799567136839621101906282923067979019575488751560982290772039495028616099160822199866329953221441717339134201916007312079588880982211749370854214663970183276165695860010741380297585521328349573639847384363812100156540058377647774716565584490649458360820152003776005725304687937907557688320946855111686019683974219010951117529981605012622044236764572444044984767562192635443285105101109007357740078821868586416716785120501688178075732017204083739645182965147543487070761296757194476483776277013659075127414672261115391891441967302191337455959649903286218424189894635368071558008022290783782873706701246341276452458890925523915562268420463773108422579377761344233854837957776827408564617084118349484586117070988386568319027304524846098252679541221381375343492910576164719387127656871447072964431533286279635049333820049187163103776378807225517015737430308488273531978464285380850029637031482261852059473765708690305852348473982234924001282358668527558628592631356247315083547630337295390521199739230671663321032939914183598974583262076788312351044497136037782249250909796465723300604078052438525972375540320600043519141715605576268384486171638795122624060840164369338265518383484605308451031742278271743614557672008415986597673838829948658435093790577108698212680818346055783973549797458930363165230301455221273690572412752254176594016150045379134049153041938882770455378926607129173422444682689082575836388896549144851466607950910073750698698594757844402992182383210268926430077663350576820989935659279060938316604588389181758575801135818101199019204319253492500176826435322860962722626156424490389933705567176137698027105420503758785904134867982617678271680594356806105707183445192598782128376745181661928750432492583328895815326322683892109069639580210764165881148740461530546358422145566562933487185408794813351312475398481279049502783762045007821698508994275971352504962528860908915816016556175679427535275007158610648202587055353055855116978817582192600839827783090566392761854184852062092382611073657483134475680007319307908939518874222577698977621457190840486066390174777219616582776451080388521878992909341672869349913938924947983396724943823081506701964561864647600579960097362447032320008776717193507783976296205758016752442692500107429672455109336356555872272243746232830221563457475716215418928840504926557377815308183615139587048426949611778930662027395252641989298395268756198107388502400603011919946733352533509196461402719256458042954331749245797570687733394822080157249100439470919543175846061243000252772033018460846010949310179679950279998173253101236919106357262753795553182674776935207512335380733524848507412052035620818131844102318540873712559454096781647976834543476345529963456593213009678267392078399189121529626614664508440024596582071722984031409281563094184146521188827785789096097204548340956717287329493796565435655419814668638367415635272077178968084343497887203123707094900399415354673275924825150042408478580925543444368751908750281770076095117569856168626428019971427917162917961611165043296369727945062833121903076036731900038783970348989839701471854182031094564889009222629812002099996178388023264422308212106837860760375201493366558172523026090138237531095643931457475877974788927225758120918975977253863299545325907226543149292776761473163551682306191312021763665001228429624238920795915085479471906597975501761132936575861265706712007398595832919257131392704518453554325487279276006819284032019276804365005073337403100493776400403538858288208198841090963622348417339747934491700630666483374187848454427983522013630120L,
30754386010248556598404655298588235919516974218886527276606159169879138085263454289645357201913017090838776103644073567165328764474283893836968592150549964581067384092553283406967838004886097548178453848759034008122017346771840164732759757758823868286409313590698204322951149556792950234091308411832147086217212439207794062835928156541404759579270857752491901891941591704050732741484931475462668485293910469121133043052215316601354893536834868880741753360424387979204935575321277493666166660288320130323332324597484920340966887562249533607559690481372884574689450770951841178985131857849480546883058780667553097850832719263036786928195282592563594158491907104087058701358620760816531749779946419801361326740872425797971137034904449062555215190387563524515969160251952099548941389151251576164006851640007159984433341672016405010702986326454377023247637470020870417073313120573830738886648804625373297903640411235046744313038971036498052956647700306739791297135926253944706776987219606650889098072509836971664436279054559266962464119121618083040087046200451496240496189748509960338067494447623953771890583582703748692941320655568766497695336248205564738431863478493922875534124325648586400086414291986227803400144380784393609042183128160103495483617266400341412551101383955028922109421151543773257823334383219393112916843519064402472864433243808899341112937975241783806121152571948746489832659861260697443518277036999233234772998503192651039709084808568499869071595573176755381381215358635360370327854396200923886030912212038031125150188948616268532497634045858446716945174768325962159633112979908135488476149454283121222269619384924124723305995647281640241862302371539162891152043674140933436282810979998828404947933796436750700904410872618701273330167178336784455411634011398790950240243667518388671388758868512150409381744938560206358237391919509197298170104427581266087668580049327133510515748858398193719198876273031707771857404293987252400297045612891791397723570919559784428005100764467783893232411586091214994093371256746472010000417664900704523989612991516962469637852447194004003483496037974766223662538957609008581500803626300723789558495645292737180218181450361058042593441771844060075880350620291239031329489807037164025164928582200628583782118056544038134339930726112372495123680198073144650008629003148320775684278723159344892881626344625300641293083889352062824839060743867782719142580676566427874893518203664571498499576061849639903615426920339320782618041130468497822123448565063920945789732217419465308380388165858649293681628689911591956702222022557436366701978231810203619828664008808786200485975460600674012053628491164233914200687138289445510966044752131973895516362153505854513097871279532643772058064633596601275488127671611262561346231154383274785187548819880334624657501195030284151392144671239681970263306797150864979520378850563047730313624066253467442751287550331017179298135325208499168795876943399484794882318266857697484265660221511388959707901191208542019205008206816338439182680071391511783985609797462924160403475762599613671460703191481167278242924988325717046836816902933492348065105391649245319275964029839861398434899408969700571208324127523229161874842245028796980768974352772885830693116793944256774715223418601539544119286615725798988582759369880531772932746184427070733837026260770111687400136508852219172527254835881631065553215250141173892851888224547792534339102174317405390052060755353245533739441357471540806557825273788774797237168465830908092839771364687688344574921776660033390830788881968069162194095184058583426987800286585433796298512204436098285375362277339398937823117809639316173208713673419719968342086059230364719237807773197727869021179357863006021201973650867445533457120964485635422505381483774311838202758247391319273260456043380256290075572875350960193109817052256349673867535626699517052817016168552140656807718988224934622270169647513366195496050447240871274046669595115613788146231118569226128585131062949323998063627558187442084221014571108986898022035144028597842593410951060903047501895930771750514209718049124193185009060650484023002165760216100002578659731148910364171527326614403136575959911759641646439024926076188775946589738523623608540770920346430665716291868387655799882185635368561112473717188313299078347379466271282101590171299964452871646579739376575588171892590402834788024929232000587336920182797817839693681579056387232887648715689927545079636453952762280688417830818563806904512569348146605661646823449545915813464284133445137864000914532957923738686244076294970489213051258297594648562298004387339922934617234295171649885836279336210077159185863659511668289044848285873657377498614271773312420888106057425667953825566435736497728045534178508332356771213550498098417516004269949170393714619052570425304899609619686162291955342958467292445115684045001276471854168012165814895541333152227708926174210760871636022185493098908996084545953298823047117340003328118240942219902015481988551634217482340897066663777425578535872926904173332715325849038289070819145727742203715559213490343615752568918780286547535259508474420482878816230211463408501187002166848335418113107842861211957435207334511890241790443988382458253948621164252906119567980614737838581719033414871586392089439354569110438002025533176306096907345755823353806991395580429936526643798987118578872356096584729346263044943559484618280066980072661757131764305887567864973936854500006087127557685493870689452303945231869638614324824078713826385604767380241236885668097405796607853330232457869849392284425774781286429400694939217618568185367234153714699310030443383974116612096216984950273213010400079333144898891907141718307744205083628648144501622654723442765363770463899195424426247830420259342545564262096508152865701670880313429036134820456905244900648836585002607954294444832406488292887322235869319632177940732054347538587556852239135417567382842536039869725008471794068890430565091606723382752291659800551651656039970766984187912231841698466160841830546261507623136417597797765380491694193438893187388427187190584011027716895695221257725204906338964858733790525970634436038282497428243363059704216832300084304731767310306873005584441590781099227374512724394054501432245542756726223717678144477008953092372397681069342233239555150736602277350197011359099882394895379036541338584469547381568094401422764282823337L,
51040565067109831699611132568053223830980088443996502565784183453730245665979684270452188135089935679783068769022136771730267395676344509427319234333600892873182486824709258287561856955931250875734933770794931595704920291038833391338929767193531178154174386056654834514128306339026287545703129078346115984865326470083654944988711657821401996967406913388967243096756264275977758802407564303598767311327687638242046740080695076180620560525081475096783107713094708007548376768530761822177843036531117693714614439280278677469063695464691160225866524808547337761572627099121146113471678747811563421414622401788461620144346953280419336200634568048113895994419286404161821538348893930037505194523351731330902276671681533462101959376277534447768413947102210794275583854078821057396131693063592990309268403791301565877772290696047041407411784746950434082374362227037860598436437156151865904581218392987886002527174280591221051019208987201508345185134109678810300242185686466518817041231211428057446754309519366137549873125914233384229601843431909730940612354035534549440782350403567024809445725311132139265613816969148004681606994039836162833116424536018629318850781750172488873914677224856854702624406524822227590521500332696392561339429459422977066157631853732039559305397081991822386299649975113098285495086881621429985334613809007929406639503400346927089043650782197996123558515802070596269514033032964748675054521314208408175040085952675444447529218173515797893461145381122997746028432390566584270586851167640411325430989434922580846061097253327161410151465607419675870736076056680887696608901351720569056957615632952819245266274070159367122132487721858389476785871975490639435819781308837442972391014194165810849497175544110301549078681376437817019804060553143388554416589022798900938907135041441710119663405685647871664890394635475278461890220814349215518361560232156445945578263940037840866661032576009642388381969138616735973929816797562439023143329904641652485108792479084548235181901432436182933960844162176428516551363846458325367712079837406617478013467922403881650468274368968711301877593425049170605009843268183061824066360222226231099075368146034098197838939690354687465783415914498391959578689348987620980355120792940185976237750282110267933542332192393976194955764465208383836028083371789312680159494356610551280627537017233490633575369453211144217639653853699150603779525279187312150607166381185835150098153016807524560780044927498843512208209557448060961050494111778863591327742872968691766169232314175281158952988303985675578319142603378825811382953079113467284734758224269449469061974807533024767566255403090233451568172835966214699102649986225169307974430712133617742618234091352276482171895588648780974119220063198723487273181856399853934365036678147846958762053820542741249697477377715499288959443696821302069870904316968709353875004230853801053270526400642609338677346132319199092754992435170830489835616063259644302041268418422133951540298925751730987552462479072535771414829481482273523964021746247026817070977213594567225915252035681397312784156206762794876496110665484323463215207527890704598586248497632693639355249787865065524195251581529822919133410846121929911376128515252500415441695825012778131188237875405829041667779474051437703451053128793666338647579511610809151908770583148563622206502870648458614310523573260877221170972725235979099662008811629113169198602821555652886992841068149712513220656206762016147779104338910278320878631220862208054545990298894765624718222059009853286432079534512008139515576230315589135846693201007909152708316611368186145924422793176555702437863043131460111451649717846798255871088572351510346776810974154923839922132715096502795681815703598840462058000423088145894823662522721443856876881886209382043708205676075450908896326618008269847127281816202197778396819732608200751150460245544030438901118621945371813902463725329021769239462410052751621431783543257132894211090554173796155824330870239285491362951041670877721302527850171455897224470469836726043496719104832277905488829251445528461942906311976314542800713857815201975478946329936028777893435563441021038179025550237546788638957680466824508328436641282502032582163140980597732783468106328063945657079012127100934997460324709934951400662566446810367044314884348344515819714181293308734978773262931623189933327817554859256330905215096425965656230669565215943827003227727638809678744395659026345564750217262911399842311983790500840708353924727396593134455272545222913661267508239220080606292046088549476933373905630820307141267391801712193375152885779913437271817262208012327549831431072031838311385081360948011197544012858392336390697444905485180021948393298099118875347406429567823370925592514424224229321901667746705127873110311891754055917642753648847492731223999860758966703356647919091631828856881253472500213716332046880130288282690288330970960623349671370079055432733203393360761051142158418008217265932300521138875439787032879955174368483648242392081657521299113898272312981803819500312612378730118743737681275200787364281717711799918330470668523278589663650497065126524760745373437555457158935381542856462840599934926536784081444512522667502878507856470029742288127899305506228861599010491979771221258510650295828221720148741261247367063748935625593252539401350270566554884892847623593564631951324921764665342102041852328092809140165087437323109032521157346620024917075417143698061088575155560377072182782621090234814857788736000410939253650307485957317910272762663526600606601768749171473849385872176567276678203021187928954084256163246591066969547555875062221595682983677915009233808999727809606384898790550029776568683359333384831076146043449570367902217990983511538561897760865649910163708125659434041510109532342664842831494105961608312159813913950928524132157150568097921469791423174264016052373024057388998744963660045209804003861542872210839464557187750403805516645926060926705219695984373933009900609331542881043220927848320515421338900915462133507710742139646393361337223504426380932567677925524497685452817804812631023593318539583310761278299361650908690926516688162939377727297431144731362143860672201337681100913457532882084651488861506275287943170769755298654885908773969497733202295113785639114842255171253157848452360233987384422602487411477346423921131253628312594816289812602619172936070224620575890762206486999105L,
84696135104579930374213483952471859511112154795049168623355776011231283781875160779462513079607220111557757038803599890778168503246420527953743981009446420961972194255944208467407535831959851814973132866598641121184877888970011729341610242026567971900447738299183460593899535218221237783254488279848340891682978247469055657641545308659480975956218415372649711638592274128983102550391250034451565813945909156105414021103075508539442499606443780471905728481592777523484087037134013671381957508153616012674009319998648255734773545567940339757102731649339040977486876269003551430445943132930265964587769330458477347231597781328132277803798070938281415539376746533190039262022740509246686106736290543492475162298370637237565886804114486789188109708855388399399583638760300271811309153682841989339876952002196844377114194727992982581978562341556222202710828099811160344782284940374765381067756901934243113104207595993585010562997295407636416542040551124762289967346948907836447316786580615523020259038865459847714126466654989716455223103905730226465095273483568400136633958467254213386500135579642659337731318287163807649328857525818890679790732711904432281726106339363382343458789489525180372169047293762489334011086006926888295715143836066707440805190322124232921393629866115677502033292810048830577899677718780574051387783393555455327658833473402195367048010510818368060712367459006843295101128042061739328638573150201650965081171032528388392838156475190214922789686460272721046487959569920274925810200620547812671126929308316110162110847127890702212475163939808375262949143978396851578008701213042010516588770786329192502677334487889903059581790956213523770089086007618573860441335931022812948394048166306980820933295978928075992391222932347684717927248922651079512806607717994282843011762211336626330805122728481288044287022945833559621026521337837833864144791594236923864154537273129464994060798166588908796741688468115810903540163222005011391186131334054248392078130142142801375482900303887399327197466972359630650640953423899763970592913268555963138895209347004967883763763352373050243874875618215550468572550842455458595184914123253618518724578084188877526034869662306094658968701063779150054685120251926747940395183677085134900919147591119869814557817213425488837729801102848680736867549628353455713778325723904012360453952651047458354149898079206605626528187199933630875957565449544040242727526511937613949093934158205960297087039496426417400659514489747718104195455665803633751087407093221089665026584755414676175896803286621695532193799855038485848227439422656815104835329543458213131670127084885381462221306240310172914112050318919019360189625857247098162893485764462019482238719989053258181618650049154812829360045797681564333155107044100750550169227430400143097679632546123804038278586318304315544827259931852700046598157398196286618121308313275781309006739636839246660531914896116331815674151801517929841301841671005148312256638268162747277138645839242004819491521431200619953958116598491771377622623475212640736309438380060349197028360773768985377272298208029226784791030266909856275073992578907733148432522241937226540377207604453515877211122382947217260393659972305292676558454124494023288010397820830006656015782539151934723781215538757776949880540548580368282393417684623684209020915901480298194177518218140967462693402204408204959653209510235023692710688706247299929685032155639645301789711430654208354525388641959286038627691097609546616521770652125521620685688315529425956143579072619710864711521328674436899908548775773942825825570501002735080017770172875131416437813317385759358136306818444116522432265336452169788264676853988743459989463394140765887343226671617326500425324613316676325716430530610713374033168685528408722953784247646599344827537233927201616979537467948187275751861803176387957565604104071530704227620109538385208254994954630860475484742386351100541952524143852693857498074079656347876903880266261617144049685682418823286663492850659373609288906415971409915858956798622972537648610097851894753626831785283144603793368052521318156386667319619393353698634192077300021604582576492926361922408198018956816759112402884833819335471135883897964649429811709738112750860703497701721701098180288909605300036336589352696725597227369767839460113895267302525833969716075882512705013228394932462179747170333019494356160068590007329238504821099811971633748023886028404419148636733914335889881644478845889823233651972175086333727642830826499182178240498555967762840841868051651731125861203375340824872390080166263755386103619857376780694745992833968908232167380958073871813624331548083755922100859000992080765644414713200924634383578200583691707414797162984596815921495654542051947058625902220795869834982441463048998078695408893210202680570761022306549582422524472504933106887309009698553812300181978114040082630962249492638627027893931786181167141377863324216202182455460021728316674323829157492533425240810720390526167070084113232185191173191999387986175749966310577547638471477066036466113670820149758646818289948707973264386757406916902824142419419612806409337840730835435797987918630819897199643433117658035695139504436282768835344589244140979389879815061839632827557935672701230659155393326538957656628620993685518161852525703491111018363241362891982371833309702490222705915691466175429271244663063011607795004077213066441588145072752760070877637024517895162131359776766374760962736773417823514448303231988722346853298722003016807044994744593206751415260107121674009861485252209529371009422199390843369517706868793246198759385524225230009128005025444151863737970099861692253758619438295060891191467799999461594360612633361368448475471547152605442435898876250083587849644290830492471022790170372959406045944237922092816865130190184698144339720403722107769733503780209253263935416192196189557248905234106936773206431710129126324255954370909985660478478694933348324479158383510574206509216102965629038734807462602725171105643783743718212519303186542553681143981804071770394301504978525907108820384317982907826559307404200371404954913455354814550227951158834093425976199251166318563022351788618972877604749691275032114840240954321200971506897998688071615688660873811498998475268399460768458231346288495206115266175293442270468022360954629622516451156106264847954291279237052734570199692453966043566846235720956131699831818965999859L,
140524307301131057597182819932213370066395311130674122971426768661968389327093541905925816884801826985784537228182201107862390993758905740044177263760385455930954651251817509052497626559140403607378887731790486341280215403843049826894874191012390565028236140994798792780661021696180542759919758404715724616294289280080698001105529774091947929729697918965559569289764457492002010799083640995850115458863917602129914751496100468275392017832085719540666544499165748615345216657850456055879087006842782383915577050637034703256449739986461544752928287579331804448677125380843273538322204573652883335797199415335364850120371399155898012186207629335477943941100534402204881406742566400685418468971944736963682463834253204314739927161581825854187365820528382316096657021016556951401454424549241008362367684721374515364811196306248417857476978766626672518364903058586525192137639527334628339069005377849143863918851929243562794026404307134013033109050030493603987715494377631883765348930331042393696736570078966941564190568662597339246826511521491870086960464327285572582184140652456273697928119618015842934220036295799982259652849214447517098415447367924979488338034011277048608550390678401357963412777973296087041530705631252665781657653319617116840160613534100486905785482391769007893807192162443049344579703118841972488531230850998577961833242829613279397572860243369878193850471820181914782782411187008298164619042767021205583543510803270110959915995134172541398953009563031563033678341310630601028607902273396194258809238028480385163958590188193920098326446097234560425359509014916372764646327636907730515736220866562431675885519216713196514905075111673443481669120814576909924988723730498913430072656806230618364778261301956268355539192193109613575255662995355179200401121594637897067126822972244073480139013847409514103707458994541754932875831090188517781978143816232445284997895904731825120595866867858569736118089239928202621046216107606626503226083730117685414762238270698248767077475665383489758987249203383545983679113656805717715241403690958883414167319834046418603459343797639980544577093683942068475971614985106624068994590129661096704605108205659495017664918272765072891759929388266845082151459392839099027104280430486814060297199977029303186936840371055385165416937916666393140304724941400873063991550938495824744032909628617803739552927745109997505340458509372724254683756702039416428897497996553526182332495909917056527285591781567115507853699099882722830461352429007547720134455178518571510927238769160106201702572742750846187218287155508267816687889739049224402867456038849344378748564677846503503733492686488273581371833657255347555044043751874139848076467050234640420592670727181570526493980567218476731717094857121413213157912034858083928974721834869863373587131295626023947996121676543779898407140686355734347089290803267803030890275551927771711933359640388215497778527967637657968578737233199983962220436018620778547024978552638431555528165922803582028961269590584722950711549134698459351626579915126181982508527364421972725424720295319552247491039203518865567819235167309501704750561308437333191865685864770029983353138580557850563616576192036255373018848591748827067702334475006114022841181567147220958641848180602316432431516050291192619428040510159924840625763870664275348039974211748924539933002726774468095777349522313809888254126640976048014928829311608743007811351901992423821468689469073226684489425936932214013639239399532063293617796575837891330858815662576703093804004093860968675674036202563010327267678523344006572191947220224646719255351032703812052639826474887148410484543483502115280794885008697181775687418199222771556295038653202684794244569769782710478172748844309369949217669247008743941319962414029344655191365629795195343733431194589469485974527299450208604915098639364024233998402555427609792983659090421240682743932453070753511188482244158897642403354993731192323653482231512833409946067609732368305090585201586990327728336996306804273865094882504360699395197437679916284066964699886876724159118326675704869424125234696634956140146373467859543076066099879518679197526055068367523477181461981237041490742938911036268881533300960451628726216291120659129873201528052714273759818206840238855536456792276305839792612129399119966431803213836203023846264535859612948527783288231523424985534652638383058799097445755066626776125030135155523564630891624257805847548818695027009097094846329370775643955011709240283496250034346023093430899465938364240765947533318711566088278589574823599860706364661371633913374579996884196541714525197234786117479371620223562390234432263178378527144407151997317470938704304770599504560385400566840236216685454915448771979587716224212151630762684612259951451644603535128840550183513077270708961737444388675463840800175288438449412043219884396794908305666329628759373923017772822414325901742333278632184900645888601397666530157099329421799937971218832888299759079295192410416037863044905803553896185425765220529245895027083580956223022721473631858440394936793636448157901356797643890857783421461856256336222221102246439673137905129016082044434419606678354899320093208945623828511331680111204415424342075450198050454320454886207134834484246199484410315963744942872679368551982898480063238955560815791548010844541606396596509837480690114179661367573702548112227342733744868850300815816055500545179833178567918154366008086880174888095719205838089359356406363477406199317823115164325982943340853326926793464790877162613076219354547953516467108108704791863999164611095420044635607802393240927491109980223960670840413678755926218876906840954510703663590709980879483713983190157203847046471598846811239166021933563102357752012750753996680155395651177374218111887409110028431266405966148855493458004768073836865924296902002540236537215005352499682701808093299993627460415023847717602077990879279535544322221552741664404360856249229351422507120022682733876138532274336608295302739555243234818413749885865395774749809829242223704506694767240999407520922400003515182598203560544631700797695021756887576787428355003259082453797446836830383095541474068188250354155605957210305802208398363001129129319031995838639340587558451800284526489424351365599963531798759408516117566151769148091773737160755854251716683589942404328428985685805549257646502525018087965966112278083971211288074022319477512103141973249256L,
233119761253116679263943241194787062721536511652961968353429753116326617343790766927466447322693140759511383220681672859441515710267733515492967162308956906694407389444239535290176740001329324577429240821892783957836043309987178256076301911306190364344516682851143096715320800683754839743610180885692464252165551354294317908122775591653825176473617238488947750392578708449664376467967346114740572983575128532696913557086066205034968107067774142656228909973955955574350274481603360463874936057035235586507928631432473932261860246663668050508721950037909703775527639837792695889959339969373219173933983159340123806990713956880812013548133182315667953364512658367087750968351018337961344764138002583438653079517941619156834725908141079262787172501485599835843032691614850302940671042975912950039231882633922812614476809116260080617813761394026412307938586227942776592833128925564853592112958574696893941521232523190058432127481996323116782344548758330428194313596783500046422551327320412244348355753977604183481242713562179843294760112821029229442759609606879688632558136100479981655357364095377613195221174976806460072966050906285877996428485243173692729582479649545947625138853901096806166573244119436757537196195132915016593438751389621539524112432259365635429075919075427883029270405675365898234904706253526131005109188449739603563002853197725705644533944530511269574183620368717106752720887272823564192251385522944000606058539877115903481849886806013783741120877089599113926291166606839643954064873399637818714017107214761175552935747089468026123296798173700090600575839286774336088564992515164401580692057193612315304038322925051582841861364829717261439993311830983913448424385955391013283440258751686568867711873183754640657137729887599452016161360192154385204915923812483258567125905012192765593902141964964661505921718631460602665720310431913033876931299073455371316787487554894624681622959187145737879475580167075836680375509769426080895953850454343222565428915348616968854141013019821401957899980494361530728027522757369217578728299709534750703968824299123746486108157192112841778553015733472357844050907087241810579068797101615975304442060420699827425288373432016179688940952550865183131275528537419880262518224333493644626890874015082733008251538900678944248659016961788513480660545079661558400601777837152360888096582090008402244597108478634293747472532514540590442980957840987591066482252607412213554960340931125255361516561321761704290470901172899667373756215122288107904623280093766305156621125260118527813285963577561708150449707405530302772391495367830230836090412357172919356053711124107049236962778899075377798624643604316742492099514490350878246217544429331776121471899813539374457740800928730608339658902042312734760280612591891444292511730166339163166312443446725048881669646493812186770150091261840365794972216677553139981510760353188505258600916994461136505953024917896451835562989725495479483034019080683217039771644720449988964057469773481506429605784751037257978499547703484966777071034712048085270638959489564127131104318289447405746104658834713006490970021657822484024864176752352440784266136623171085168275214632861657591031612952113497787302092933977989466864891896404799360495726097916079903267678430564648624185598899591769072398254230508062087487451862711270572548581604997369855890569161814555807903302027255786598561605136748637217164208441714529590347578694049728533640104236395735857587924084516705371225527421729692875738909995848595395461580870315202161632260593672524595137720249976354795299534305207928889107514326777583702515688626256332443826908139583130847851786739169521973976780525267760420211391254864727072001895569291424042694727537471185717913315979900733242064164127651586790125588055757496991482364912161407029335048249312763496496586993966340757405809892285250407030521092891550425617798301369700103838457933537901897935066354260604289378891391635869680247773174913265162463279694336768735557397762155696103499951353950723639387813330896826016119545161623135918678067729997455807210727225120636437494284474154096907550212590218568877233906927004585612292789967695310339275693113307069678763413164515143064127742245909518304252053301857362845783725114954670656573805301767692814517164812887768391833185559423207560830707074776176592396834672453061896980181482120966093900050868666990887555623843183952676462519360642428310782105521169745348917524701691237670258354255021033142318452535472865769213330359617415886854781568920289031162624672381713539444012871191588236689670991544234163372387694485179236936393720691295053932138701213826894266801819396909977553169132475311222601490089653956448662414594685588461684549632627200914490532335278745310096238089458261549974952935466779093323247225697091811047008508347310152320784513107062642929247312354111437340630088624696593839010838550612067120372086634157836010844265377414789949016631581981807708985481521774542388828097103940114995695616675733435353655288842155927453085276589515980774129311769253694857590510389012979653851857215033361517003507130875213627368953744214762315960493791859856850693486504446771019298096184859424417960913630266608703954584616566445631520267910434619663875802408189102965762567416166963290551017596488494931832451387908755518369841875875510403060972737793663553600070354191540549857666973094258332974911931307984637601538933682024111596647489058178131234785886530621513417501463813290788815547281135357908786824645926155566626193173956908658763526007444380200912212275848450873897657967714218440357998992077167076646084241712636635178755758227631879934279593095211273414654241477807895474925195526977842561730506059667147320088845125925782457042694514313750064516055030265904012826433902733641268065770477258698240463399288423570166901843917013953437515124401383926797963955894131666727792815692473686876286993018592874699842815768347606640062218691822601442123219855514759873344747005806816912964801546695614232145109344807973810014659879566460800456956698804342613133317782818333856836027394213423521125333075070158668540062013704785171602231400620419142233759161320547856083278126903243361975684577238668919457144892711136232562785764245959513900457658281050396225096586218654004688683866591004641490307170995909641708891418775960601575898302620088571562601059538862847379034407008255687489724611279692576658005945689203L,
386675394397297704561361184685974363440878125237293395121704012233692523019734215144524935256026036189383807413598066983891689822052862837171041189706046345865233900373791878639065682138348773318795253655589081380120730782953922014948550334281142815961412084398168552984386819707914310142505052182481648229489820033740212098180538284869260843179371534991376781380734579141773218880372596721801574297989338353861377281341273683674412976461919859316509125206324260532822702379041025628679918859209781517362179678987736940008530068474294383687454035614963427560338462672929504760321923828456234314649372772111896749011670093542055383989386626586789272428713764030391449209430596542944385971196877963658892879277862478836851121009151362172801580128409453387745195996684391937035944703059958874545868490177789646951666507247154429687358157426317680529061186301094470476881967677851309188528250593649760827443238630526319510318662597643913678667678732029099299680388649542257894866733721350339147934480045335614489300999132782544285662645941133390876534856654874857111419355934062681000031817745376875103032190317268712656203019200768313047892841736682029392779178044298752310318258867065799596722643358492307174115462940287415503588162459956037556546268530729050281331381395054286591201733810284854894286505876202492205615695243871666256867241569766537505380420352513252121289722838026095394732350977222064281302135443006222049112728062449197279040864224307140721504216278804749572453307320327495968661069037416637185427383868364472457668915745589980301128850139643779070368138831818063066649799755272950213369012633403334514746079040263319424262022895585095782674068959536646300852145748632830265168335022728213545405571826985622444900069312908899777861712527921483273343972976392218140622974607839341993778275939375698406358717564317189446340541464951177172134902388424071853461091594093345012600427220197209717788673578689725089832778433726739885025721744438057502326764594068364089856050917697601260294545235222913358999668940626515383481969123507326976286131154164938954421125146871442965807234037484507033311690654620334079360592048836407781466177909986751399700092047018941296863989150998882902388190614545819179038942733146856323507371356412116808429954500976192318700247237363491732508775931552526023662905842073306658680261963605159719369809164281177171632533380920735437105134985064724426462924999169772963470575035416476104978553226303419735692582125491459899509002801013513244771962193652477418242815340497152013925759861414911645968112763597955435012177557960647464117287684333860314699610411337163249222000138071305168270766028837050891069451809304686254014045940385680093615276718845818910918398907151100881277995895595688822184786836290059210392940693247704791782720038688929114076270081093324520922265609071155341257762443427875120705220382735693191359804947843504419313524264269803145579651003351639754524568541107480687632591088448349989405959195482475035645848745088254635700251868358682188090400260623698779840339312800426201209525010351664834773474277502862462068547418163808810187914356944394829541367448633916839450494035655541379890363398415370155178463407421624975992998741320314742972138390148885677062512812375442505510847408019922989392201738297652174223823034279287953114573863120659063028373986795913701742785939812908858132146741642041902901985942631826955618218586681886820397979861635837272807120619342675724544017383336023908137725745871653491714340890912973810561795537231720417566929962189911298111187236198897653124205040807247832797792223729925240868880452539508087048153868037608996210791736749743747852197091263451429193064707845134661540961225856451390991174217414151311469353791352674973816360810375786458027012351767686503914596789232384412438859323748488694572044946970310701592245829889028257474008128196273535403356529399105876130362440641626536574428766728798064007886296110051040195614533553296457576886111295742277317216790471649079713382098541387333683031360494867999775910192212448731208002415988254551784189578568840300253405617010279149990927177297297873372284521679363899866878521191826356052959042987809546154932124670980216045294189717102103368294907804522105337432860558486820754721154454726681891750561453102933818594825800835992438603600758896780353440162463453359796238639100900275688074821823893640669694096108965450218946360541880428655630371986119507636743121255781331386728929547895105837221709185034688202627289720924011280297956393261766364844532389487906424275568636674487448458560933495597780131735577465976446677329281825400105290008146651264030215866675997636811968159379737218100172001795171988097232152911758399574260787813563158623668895759415765413168984585052162962917965014303430507849579218670508982433731735001414308003204858581750935099544765344722553804250030663383636998173395053040425308395895376194962276980337235219258166610906183090997424528742433162690373212687871299881998203779630365565772013027807391876064426532845953443421324842071373140963283753265585506644071649030788981732249612787365306425034345076264616161519135957336925893422391773669156289871866487729366109788625740276287193740318111274425579532466930857505172977870144673078776975347379315312251122085503368548302708640819761056594200179675667043471458231195925580866166282982714663254657302012485001785626109644327579734035312389808356019870235968669343715268845775762985483983916986277702287149909399563605322465294914208556657402677232441748357397948058324777946790344126039969298585981183851897625208141972557710552785500830214653276407642489613209591515641875500463607873961159732299400151937814525548945692062945568330416967735614326567299484426749479021612673355882460597935151065939646038146623535146464955876351117325121907943455740790316409891934265043491659064199213870324061001853289148081002479871743365466207716927278156265139517845173061596824323543511141202684491211560715805545132112716387396216896933470533583010895590786589898487888632897205329677637479455905269416848978246856975983894644298986489984245375008835481386995624519587651336693564825647402321896473977552898371546035087017673857249876321002378950347033565389691612269085885248877594965088811975065561718584943212311074047305428455624701529749384239046475140007619055087207891040718398788590796695728716304827951636652633697195L,
641289059088868619150996448026850395571438447906996744696892320762292249390610957527712601259105458370278128837976643523152704213361712535417567710071394669944371100911386253006292209412552042337950428444561263354755929713819343969831095094128375335669533728666895031306789479333539179327452041975436141602729328537891340322454553171080552839099037038273341461820868446336465936902219138808482475584080387586183977516745104564210420755883647718168561633869447807600191237067403115749955453351941664075001678656894273525019995045190087243462124632059668134084785139967530669495269199392284752453746143543210164292711024706570943256845928586819334047562656567023238484076432475824666642668910375895896939724924191380736502902586964810145311907271285531397909573198146104753889030956731803315344483939768381674982669786078726472653444389390890926623094517907766874381458635921246643903415205542546256147328690857123022798439075786236558474261740743231125030904991404947998378308115007780881382537030381056866777833323193051439329146005474007361780126536831506419142414328930367039542802548275576383071515199860591614650631158349929070790889771950789765657688746138592512615314866248464574341408145038597368761404650474459640685450511197270671299700146215394728027866753478904712691482805125910852586914839603198314914327396755951431624530486185388022023986873085300843121748369195115561739865108876718146120870157207423482042745633242387858900321101733858231620774835624659921898050339547592654349074431953215930793969864049841418990692880963248629609573772279190494012765637119420757708946258017731846549884022321015208167424114231763248349213902290328348330415174147284121860772336592319708016277215597117112510153593967513965692486598097696095816373434144231020689017142063119443293921874277829623060094868753709286295808241437985026307974652983246265752387427941975074718587591522810944694238716835977528619174257855896242415370005462324124733808337613666576472054843106608638625669672928466840569786447080745977920677385860432488245416299363677645760450755951170244035383122771442920496404725211016559838462868627431874149263530066042604749873578074614698708443293091024668084324071917763021924327460879997932679641458708716164258947174813545483438662646300368797725789589942640571433868322371075676791064756896440377033800023184881159529809860631083145885586708088350215281644549710269048231607853201296825395301938791145209543299235890952738319948886082698662172313535340415162940343729823180201833050206568606348607880653936647211839797964652858602352842136788246974643091557751807287355768117816110599506196460742595476829635490963366463756323696439541947551324955081442229123112674960306271954069619454440025864254527071789563026540672565432821110573767994860484379379978361965552453111827941570105793009443840263594349000589903593634390638434387503464662013141792913330204584593348670843402303272781499861608113469659347361819559689058213941427108187960709227548798788319420775007444634494867826405749707475151206667728264885719127429635430691680098176545983850835600438717197631620149697265499968879832042899004215507855210498057101167799354710413290259453987032884240719551238253232642729840041348340420119826385577514780747181046785506654917425395282468949958628917822003596816694777908214648880428567171560191918587969463040383695536224776112011586823348194828610760113634788682007890372336216939511523729730841645858351385354846385777585067258553805163847853833739935254588392911566929832552441528800136855313827130812543052551530079034668354417264242547924808781431022773909842131218096380158644774444413727816171735499662654761937013462781587082355252610895153108855126997998463235214532395927638213264642298855377738334461860604274476107588169749599171438734927623144973098677463001773419784395008851346284613047487157859561319144306951017640489953846776590345970252375884338953728834621613292443467067730363837340135637611747421122271671130134715787922332406581787374007168959726993452451777623446402068650661237364672442219972574134139990337420341239681155358862386368387352464784408774758495898823191911203264770328301467776280939737869841011994393841598634183605071213822392052145358091079841746538874359681925523857355429683909796833492782789856246799573814605515900046095428131307003915875990863776326931092979892852357393077320941013036830248545744934607458321590654796090396462550758714790282835075448132081700509783625220134399284880265901887711854636298095265915886457808691398833557243142517870773274824178962005393510649646075936883997014601468619583848393810770490961550818666022998009055155450673440584916416798573303585286036808959881113820294301588014810219349419001261345780984522674206601326405982445530374001408549077147325048403053573255385483833389523172699809791287826284083187167461460122554292745575967843871388741343692130991189168608033288368826057841904654970257948923832427648565905765843887074924209770243461301534289700230243428604543733589522747157842017339873604343298991770255550483960199371455261589259504604896673553441425337420848009991978967613033309717412982530150374340263343392169757774927934612182277263119648071613054529384123318635935481471377647350149486545598678650122228775059793665936269276305545742308467803432318604429046813556019819619730325566365690744103133244928299183762093172976475909923869557320960639903464629640391288581512119146071570782783263495103499881702466282722544364468330596064483496856833048634353003746376644256784451605073309840161434362316497967720622739128255131686311876241416619269769568693807551053654527429052540132508212508981760191076060047730508135192043268796727700334465650029881234163293637734755663908784131266763051350669449918950876959508372259271807131001845837348613971899475738133556224865332304493426610331770056395780527611556291499883843004514570195424641735749641324395425227789104349118036755257878233405330530210700261009103941161176215342513989686907937251201101109963902300651350485349619684257793106440194716913204532350132207199340288502918161821936284523123574174884520073220764729536422881140425585947340738227964959515339083130728137551720723808739129625867499535747123231754580500445668697486666912158065408795747682504277202520867336029907829175230470555569386626945291557773294438561703215151176950098839832556310373630673291764386252314L,
1063410648061526936820821327211987996308734795936221013324169188063435552093801739004632584855221995089018837347309123251029455382407332495724666059553559017423027671901146365629380465713908291352690075735417825472257597036849448161018815083777074549121268072125894531605692257315508392049983787597955869865755983319723049132298646224818157363511489719549122083473423479327222826692356147397565067658487217447305915487200634277923277125938641701543807005092428232743037553822542671078121745290007030839726400416141931734509734587622994009516383779046354771911894121235704951923609856083231637390823234891581802988923194851453648819816973459810092020409435578017726738548201266578043036972426005569698098160109228636476788551466046144318089434629703241649965863830083079677346938680415060504435252482873944907538541234684989558128495964906900894803094461294599100261593436635914931880774420128687614126443941491984839421764716498768169048603473249515058062196384138040386968981285725416073960339089650706499580262159551503225633749567492770798871749208974956222656738774784535755179779550854248311347630555240431233282909265337747301205927525123554214077457982634542441936376071812908027216785701542552756862754172208770593690283518959221539769562864032675805114093970618381395774662437749550897600550259905291632545575066788990445042894614147332109735600845458959827803024108550931432353650146795250176808237271455992093853699168867230993013754584125285238347617054646541486303492731694088392753528812035500087006648705162120089572100085818446654201097568837301257014123108451183751472534638958104976176850995526171481955261707936635543083057309340938703729870686630317541518812158137124172840805918467705319755877375129585640818520553588797971174441278926429771972318226250799916106314402237569016857858362388319203904808824210149233648405184969127398896282737068026094752488196755169282696645428949949000508026397525255865134681887202662715245462967272431552370444166473288026164288846740646483306109376628874682257473267049271428955845830043075668830692512027074405989951884773102431272429655279808457728492400610767326029495496175947697843638287446601322741992779338317410431749891247389455615352726709501031384016340442084288680495285842562402041862573638115508562610087153137882954662099226595454084544256079913292629268704631837064724346870562176751927975820818928889884360176326674871478438495959550380469818942833247112749390103880680447268392418028152409459780961897551129314698089973227117510456790130175563032270945163128160454031220468722970622353584659940910445614985106556618627197555741849973439584762079333834740712024051319866379928868211290884389230150694417219264169996699922081091016597342528824701997576040601374630553125699315993852515038345743036388852624043110762155283664661591304105352382367424876842118842998186927595993249075340518919508606324368299957991585845140644198096752379379849221178175351319118334157611795938873473143023855982727786404259282021176842822728608497476777001532289094213209876688312292641302229078601019447623717764127746426121138802062098318652433772953478279356136934621770375534136613120126892991636246403571404911691284634953253461037075578055651917903559991807219632932923620507368869851401183582960313609119103691935811045390891081358843175636597574852895806765488536457646734843012679344381594567438351319589421659321923963544175300739042010679791206591238849592052824652521549141385738449858908452281757091780178610155803770965236404317938831255115573643767642968662682620347328114735638283418471261263526354915905486699778887155571152097215382126263454199074012814206976083493122765445349713661283637172397433845083655550031467602963510854612100469214327806047034945228458716655197806949870395250980242948023416711506987984873525908658965805114470132586509853015681701944802743357340828122170104644165087004039024385574603496439543255521549601152509130215208449714536484927146818256727319698894939166353394542922346985167681471604542188497268052471344809560380859283780636828145495569647193215083471633936751658639091315098583597161237115753174241019764547970650424816195857378067495989669962911148807980681585997814129514799639382390636329445465721886701329492106469151944173972534072542825349664189639076589088166268479931881518045775008509080274550158380608732574122721588109453193172287982807444864808059410253624611373711964698604186138947082865893595691158738897465980537660176541610932461956968292228859979581073222832667843074296928493375654131049696516418504238574400975108533443059775275977881636946769551669828241917389467614906483604766357091330384321791580685411577760664855996035843115238857634888601536939895399920797351010998539974708677219757189119564510524244230903976436091164775341535485393386574018337611672591787148121852641499802660784018752463310484964910700605121265042319668664282425853384801249951994619762397274026203685368652551158222299548987569240988896040444864867713625901443852579753700473839867115284377892324706308714200237743902069917912766705807623314403035290713092282281125029416888411837734180225186078649429264496656551654434535211861230507069791154039393975866028960206235820663859608316183931436621453372441960473092603974395290623050704015560240993606245764998608940667278089997741907617745148735855173209324762720136883418798301279706821954955371114223161651397019059985682160073735651627878205513789737046051789603293325839957930194174009694930720975495273719270107698948160799188188477359393913281280837413397211570160331484085810665527115950428550771707384414315764159209330445329809881379303840756131309817068186261096624099506026808216468095728029158022561299957910860717984599799960725503213101954728756333303859478937051936626292152027909369778450318084456604323549058563501066103018012086723505834610916075323066225055538312481587120905730194675929121738672533155933816290956586649348011300691735106038041266846959769672569162598117837262810989279078270676532547858394828730868196527342534645579336997318477542291182520421106553935062747561014834017631772589111585656581283309987982161072979373448294909053748969660582089015400306787442057104549645195659174053555424528638863458798156681807485999797699094916890845952344844040846103768384893777793211527084758647177364878620345345477434099492720611897981316433967252365489817703600452573739031L,
1763145261024594349368403739623844759158717661144908619600909101492105744956416683965682849155742529865571790893257349551570015257967371601628487844563347552354689466628037830436845859615132241609471287605184219184349211901939143636171349351424564037525822375326307906919147837119832925365267999881913087110299767746192794011451529677998304184902258658620699234398996398610887239077819064261739192621503961190085699760037213772851484208866534715884282431090346445912556597478506331484144194424334735205590597042507882700561560947300402780165629658916919737242412496531315456443412287262714039947362507327067209159825029501081903409536179219522667864440599662315707044513728268723271292683434845114818428157812974694620219453540043203382328714833708425247913886645158965635258347612939182950252151966114320490482327610663199839069704053302695413985919077822314704690934974965056054303296845953178742296801035309898190068266177943721200992301123941315747823282258796264308475391191117682160564638247302649192426130325856207597497526566073431654792350032427880249130173056403353871290657646019392191187833567098204358721281288548278463427942263244682558532695709141228437036417652471335263433929314299180264742444381736047667997889507962008443498166322575853971292720431570201660620285380792885737458042659162860618863101851092483006193077000941928720289578714472468194160758304720449469302267873103813563894198310786801744167490500791608369681040325111338737620239828073390751533336609580660605686852978051549501547293849538146861706555284308631255526003685397800676413434380997153371776925575884261975944773121074002048523045033945119121425653115440651760937688284761395093197760856237919314765243502687631503631180775589489110515004151598604434380924023349866471788045690782846367176235454832959884003107070903982892680443940423453481784172232266192347738435096309166329929268432270550365126274545578478769330513416421973237761625297440945081243971273686169256369272133380187949889804603836741693490064335536666342393893383954485002737806681707910985887732940188054125517517512327829109264231313984017039976250295236848510591811732658835463476980623962183262209198510407534659636673914236443082734049235282817316630615393309848042762957104137706980632792717059951351713118198527117281561840791461297058681728478890328864791062572779331529224998902881801687543977904040031113544111601824914330159580269360517995726879609799474488533278606211934004497983915411867810963628926391527467423403256988054816114164307671824112358808713287576167645452354073554303627529529162264293836050592449334302074852179617287787581060746366693016650629916049446475960321394773966265038152277754335357222783213988661809962616553489170154418436672414090355503539104974427595167179136087347125103088575799830908534519627726909944378010041681380033509934055706686745267414841644683799131946119497026443484324300691758757243445909595952723446033339432843497475267137741031863920566996499345807171107025201380885032587361356751491248168231828197770524973303690000585573481128101971009864039135860405470345200233314185175990535257718938856429640254773685472117206562258409732027546308334936456817878238031610675240989967577874513116046679824312293304340868287484688599138581563314141927202582213235537819676773390344926644842704355349652075346015247524688249312187086218113934592224539703683355104457039107956217083970592288723365057246639354705758676574284136725357352212142268507715795891518736812440811057853116930363875809230318999900075091166970564745892947964527054642986060646972688988613454342180238555216859511145621513576564646370819618939944791509309409696081360426604593115554973544357602245241165020356902802215282713011123053458182830410068540267875824852964691573867255823016134357341082300876255460868410564952383008900669938134898023674608733846933549627674976132273001674670968632564914631388895306331654698153162116406671889185141249424945395588026015281366132738482243458911604619601073028053215243330647816267132032353711539309064585232751457584070695367786540993936403956188483971112079197138314603356655353744071262240670325753190214234426288829804327989868962950866435720267531129971317234967677902803113031596568600408267440069388386922560648807243428807213152828060065701711414594131293686274765932240047935159867242489465151781716287480700608785332685399919591920695884982701951176671654492698974582169829086884334201850309259805655509690584702212422143062748193023901326653245406700609272121808289248768876257741802492002934121439701704579989785630241369080668572944788771724805205601949514496391343264145000759108513671697137782448118322536671979763835551001498100846840825950823557095997458170645874450721591624967612960442602758274429279405218312649338491202028684547082756142774860277865991767264401624676879563162132859216396483324917002722452151370424059479101503850808846297943658123334965726915834287437022277465466877738494618033892380999327118251479610780310911330152453409714009771878940814550431959259680687958286298013086604559996158327539327211409124500525346799415967588216951893026163109700163475232487894756857558323272161889739981002193297121508471947320940545889941858230942018223321487760701940960130214461233534189054631190178355234989072268975487968626110095105405184408097823778723878405515681594366810706549130132153837204549229639849902292821994927940295835197255480547241314050191055976723973047353683414673501178290165119460113536655674334067374431410805225776701299205173239373842081761722684123193368056713528479813114847222042340159905348927112515269999512748497761472013541236219863927518410554932271627024986618929714820899219520404685642037789724315985142046970843285081875386810950797188111923832300458603774697543789231824482314820521016677575242027628755605285608788458121640539075960189941221668632648795138475605186924589331743010802622022914626409788709883756928308915109326528220319843462559033063802276310727989025297601395592610086405921677819785145184437268516842736551290704983128113935359584477493119808677534238440098935780546504148311746626348132875256092809340755567100187775561228365426903170823901381091440494406232720731460260483770952472317993243881333310253596734125933821484086633461165527924562863603340706323984904777568847002143331811709848999008299448428568789827520370894735211585851129595508553042L,
2922907919203875419939064539022535126026516777243438645585717222568512860665849249667648054774780554333341637926733866050434119011006041455421426619729081127874029769943837014682445152968738625541196947390675642055904083291033247915756176310433449860407425882526679094125268648141884395298293119619674760822123894467588126421324818328606647202994619886518021631237059125023880478006606706006970284714421677658547173596205249367358649040279543083326509644256256271536643508705552560393839863407851455237409884202707198274780617240021544572301447342319436357184465572750688931052673673514374432559992068288503799990308267392162592742640121255571182362100669703987132319607827479423737925364211197365088327509944555681866717320346078357548539167448821789469354572531789007230649085329517816464333364998426668579746251958543436444885628770958694130009919654428758847117255872356516549432813385132496944853824559980630549300952116979679219963794978841549300971386850130671641245977788029187828035920844187258011577172718524339934538850097428830752883250057101993193467206121395580478179305099271797482413744248802147257099967704157280519857739660350823512233948585684818407730245960734063208881633111085310356237179965937013410149138335749523387567849770546337868961029583932379769374503599626360141040827411775506037117219594070269843964335634669111277837278726975744210900981950074599992832129203460181367481255501492080136602136793835880608354656891393934197219142750132072867939728032602149014253805380806312133869875154688358484201272665449178853316772783681892604099871030733766452930328161545160296391152642337322848301842802736623548360161433656395906932961561700360879354893890939397278924680660870605954736102162588160005124801401267366574230058438086869294133187952980626912361689165856740866439252497562679552598498712599322866129730213545268803175814218757036933560081643510760345957281521794842278898671244954629745369172698583214080174063593266176282853191871159232924041328457581238989755943083453795219151242882306020632495032028855243054558358575737025212723029333986825547177332394333687826077330242091888795656245018823808007756976518210597655308971510431988808945858309815218909025312633549122337639784431821432010505962112125013423489446792097600990574003546827753925053928035938777891830412179829249897533775779027550466593020080088254083791449029633091587750462654262181179856816054791865884838804131636600754812597271085904827956155419126115825714025351887112728494164730142593970353920973675041221552838756465793647619083930307202104064852945827208019745529411240006988157963790379785012397972728869267669219286568747511032740795666196189994927469222878560780032085678526071668526029270321059392976268698472411266787468443564683077225826681326435522868828122182759647566913972005586271034694754315259021869136383245647918388670294769563406192455032263283123497498611507984788346745552931186194817471399223188686948197082272079086025502964810314020047774647119160294895972084126040952464143425333725802446353270197535622638424057755340854789328796700094908505994887040284707660047395969982880002224294486723847119894237170397359631013501509537646691278070209473650450938797681937125384619781850330946822835508149216547125890805479077880115709921023133164766823178765351411897834567961711064454107426189014751437540950120520101140129386142152017765589909483743663182956560056402230509035672649929161485218306091911830161625639038466230717081339950065670895390710919647718984983454346646016706823770905195227691742463505727185538580129954949219972346853494339776593974885780723890485875594820952023481546269877245725797185960074442340202312810713424118291601888902053182212233773565853306242052728134474794348342087408665396535196069375434616399726151348041486133825572515064287060153332687752318867647499709619932822606591445941194028559226127797053184272758293562569658522608083744881019270050581924495165380258783994136078155740398761211437056871807459315380506371951185748940842286044291254995074077808287864925065476151174206873723900717715039596725399083451960237767628792349635018110356714826722512834851110151923241265311248396921556774351174112058941983386065522627062803283107117413748302594743410911173562681846215600132166680046755533323606611773638360909356333138112736950546817092436030852694064410459058902092611166263644947289299211077294725900497964557010755312518799725176388948839742460894765202150151369203160083608759782204961183930079155596481802698247877871439232396583077400423038354820717662185634841386406656216606953214125099990692191606773005101488222579919845223083168333671464061815455254865881993945593148884631261959886720002839422458749637323821049346209051863224277192700068020082710920671194846491251998481731752520112522239414222970944049558290354434635715056761813574553442916797589118796581804777841609156939030947808822879141853769454363330419390874383189895966574978903381917135403389401085679624538186879769476084659860324973679506452880985327133481769248566342100825772774182713407738179414052860319901909474530937079559257090565837272865967821755794443824922122269393318002192854982619912702027554652552091103145182209720114618200619913559960991889232106708536484092436043151118496548348623466542395559281412999839458602311593538506615835213778974399420586294676965950650060826402513541053749693800162826781750903285302212414161476741019291185300433985428705332366490043183038427176336590435072828788269497598570980817321185343145342846177627846897291269513839107580944111521716833268678734827461036306214609272072631230766463596858447815613877549971207167011037681721195907198372150239881596679412346244935970944526075379102820595061176793990106648156670959191572799411365985498651960556460591540414599591883400501523509778511476238013982199542684252719346822057816936804123292177830572612917974094898422783352463666908125091708724169151096268458745317114112468901004033004860035451969489982533016993748721611587340578550500032202922778799177958167580661093247627311904853738875932068813953528678727770403336418757722967163618010324321309084979476401750237944123979034391254907549305860585947972353250268075928290473954438370691031126880188343464454852036858051297643644103266767043373140480342221897668459641466832152026389748849012324895470171137073856667254082927036472681313616947118219925235L,
4844870337610552249090092533022863514876846905881647828714771732545387365117589677959850719757360551969504479829109519989286434178877943365481296288624342950548730577544146253273772834759066316100822672192126224695684683303685087644937415588974246058812804682211017680724611049137058149634419608719569237311400197900894979499785636049324315420221750646991049812205108871838399866705483010986217774436121394266807469736606800240788208499936105156694671965146298743197102734998509998441299601280503189936135839711931953967238695532755967686311857832577787161302842840899726627250735293548117170632675889017349378494030800414755002297653305764555517886981580920315214101693746593531592792198980167798408171671356024903841935149625132264152281699670171171705689050877880774084371163654522668362609901401752661737798988010493184316076423652353298737033471102584811061929624653718152037761852062098340557385668147995170419472497593720219421751296627742160822987462118177514950547171259569960229817658977872122774410650798357089900785413459699599654502034932386898680606766577185149255075321601072639583873522512245114027242664439240125093691744421474772118321070279469841868700771612543133725658952194229111753720906653434680657337741963889538778077773041866252308998380400619387190558402738443895637291525156915773627572518437418457486081985328856437712824046574322674613735292061089824996601784343695166444938798373866221668619836200444775798367079000178833766761393048094545961473598806302851225717016216608359140477595304574841331787833531608436791853335889994797057361248064379541801104896100758865993786368804722072449830072637161484512301514738778723060262927605038850929513501327610699822202280482424573643275110883391648775050729726916327330962621476316033186264181504573100452603050196520781811445471226830028577942980458835353854427387507770500880092631257077126297187297240498370857404463229428394327841251311150129639222352633140289995055447277212048247359820474083066372306852155201808617989451963184763867188117454533418930588082900245282098895764251194549119121452961935080975220760882007922426770177110537219449987661626204739012327215756303588891224931997523304795657357254132966683593834162833574147387209640886620943337842452305891940691474287273427210742371401978814287882899843765676200224839187214367356749312565465498898107306800419437189924196873610301580090606783385889076652686108207496167853583555331095595815113424571235859544918361927576165271366806317112421221927312388868800856598662405370462483191217669876903405732752194577106935646134470959424036661973637208669720423791547946809518164193616934799230143452291181718212604697322433064854404355081367519660599030376642624454880848993661027328278320822086940992957795016590486382726963438069574935907525696020396246679369274736467255625529238036307152040193648306998706373003295734763986503603049690571304738582874362502210521148085675078979407722174080789292632327754602751384566651056647869791357310110692114321281402667251778831208077815080661542168800271105790436351269568518421723762399821329090341108046303196331877307499421033884923049378804288177594855100557064158064979231458918303023038194459563770349387175134243499281377199763292597959093749712113304531522699277520637488197387809288524036935682814753949244057175261572415557297866698125489075238744768125507103005852512463695902827556067004258519663570491995657388705711661939482328227008231786192270574079570803833954891626264439881451570500721720825508308881843518526022225949544959312762861463119598097485735469292870986169576052293598803501117102036116780821767033927833354199985941446593778348478071412212610832776904056949667976371118732637784740645728612071418679035309957655345497222606841662367595077587424235607476546222727268558352207504128003995918958994349393857362529489512882675577562510180366127629037602832721235436343694822542193646813933366803349968337042579030557357623660010443380445641428890386841117725450407170847411090199026888621106282328940532644328068182132210919465238068145478017562037696111098038546821058208640973486299519773540812238954204575839692911917354371635177817875468298773069218971034411993469603939619335996542002718146563991604555605260908396911964926395962814832742992608706612744509028040210810551159321114789368656725938781454816946371993705389638433020925104125499661829431649045592617558136219356260855583207775589684784261075589488979022988749861863911603633446318287373957482137991461128569776202061428012436397737509321355630049450668573522480340260356209395435208963202212683255806052493903936556984436329220467631850182332484842296061903092675717226099897292461683448067502962836251812273378975249815852529458724310153071331836580817180395968981157056910016139099631271432594852620948532570930818037116682364337221341818372750392729607263177850269183094847599863072502083334868582577246794063242374357709281087798050175683413514533816506341196605633469045286389193065260902045940233085947763147777380627212858677444892175368209449429549286441968264727991570474218618323407066090436846774752634201769283856655355529063853965247190943992979520577214570659108846835939341583124691381704605239845602007932543788461697967568119433699236364278458187746106407709172499995262450789607615172547053018296821432264165552769590220151498064696398135364931273708306508521618066228082925906178671413928166457268273660825452128319829282053313038274687081132229339380639847196221584375050731391569651087430787931690033122510954966078209280096282784952444946698200212036479705795771156183995385906445426691406279739286373144115340360649418597369985369427478244906577925200107365383446559722551117496269293096284530764312443069937831881411274931390162961170733263415460585518161572226086169507263737208755443295719877957164991982380625293035316890179737789746270497733043381851475785365030193499232018821786824496661562610299457173949403698634703050994538102064270370770406390356411849630757747166419446607677129121425693295433585303901003582002210941746961024593497902645903639035353452817265357512226562708762898999368681658899264112600750813605613428632044155807725316456847350991320770385982843528839651357420909075531641738835181903470738622939004507580677756299074684348771537943168954519702664858049888904209039174097675449376534843120363066568841724676146002762226552421778274L,
8029512949987298253235391117137133998053873749558657269801718374558125947663941587518197821459706846124882241723191966511823718009379672135730508390134970387208277916700860968830500643200031837686690898466047876766006363657819319551987726167158543374660865051171874263955260736494859265780538815359412257472541877430735328414325709286493513612376607935737021838274228081675326841652685413731968990452484564034440289048523641330270406027678054662453608556291892057870026415614516415551998125106387606340263695048738870477449898199323378160460453515660616256722073514007315276638448991698033434075343140222623998762326964627711500209597899919871849800875467484464267633000013337006192077887207578344593071256983800434647624746009952617763207642470691169397414099901379599098231189153900281127557066107419424581898826734100572221772173974549073230514265969693424028575127861547943333370885033330155027994788207311987107904723294014970940405831536875077359355328564837932925225777883752369280712288061991415973271007183471760368581928739375561541624913502907616532777794816034025367287728642266568736736699480573502552180630044331790554191556661840641362544011680604969493468156617557336954308151369989961890269520308638949969379740924650162239429665443290069018987197100309311332859209735596128043701496767171995193864701485411483845508657935087251275624934259737715867593778115538583233607093743600486720027752730786386693240528544088220366553845201619573602332586443037959233747834855682320230480830170696489790932703861392718853162247594908522634199081517470867842209050587644871386385407036772303733459964948673691228001905187031306412710812336357043290243012838629849442766487631428145728718625248675344639383969958964812899039992096290399696615602112844151140070693893982162232224579513731782519132264078582182708293442532488021715906711446656388847876328526861924592126287274948713726263578624306153608072501439673999946094292374421112957207893876898713194405841070280571048323766971241897009109680825385586112359654745340711768631959639396106636789213678722729659153825744879780290978568009602110931096047172783181449175359547471261856922836365343910721747863506210564759857332706637597371775065801517454041383734545873369486617271745734155052605719712408515860999736627375187159605447573074346098419821607348729048691418027709250847479783331458590800836448929842914490964736689796467977492167237724143225500336136215241140394537912297393951505395450000000070729764352454305570759232757670244713412916852788593012438501540092070707187312334495641544036723125650382612868611110375686022053783683278399255423002814029305401572698770520953894498185059334620543455546487001498690182215189067284763445083867093840838870084493660267718515509802511940550021746308540564915887284546998968294849255208363187991225067675971953709865378540677801352722590098607625222971884791521776905573748010197571852272104704616528491812981667662983931093925348145218851299190572721009598049807528129015000185844934620515186389473609631504042101225736942474236915588449675466218985085895586527015402510930299314407190096017094829738934346609227607327041901208864185801663340264782837358065283676124037114338788313316774613526826970606194920524296391035994208463848010822844265146132793419071175878332407626630119390152687157670699015501335793366748802608061939254977684523173478813793616621978204830030888134383048272126296119712954231816005570798473650143544452166171500300928128676890024317006073925980753045473031759033889602036857285731006990470009093132292091621396756807601249750369974798241321844655950440810255410672413643727639917625456392152071939661315807913772433764794401947899450526492164501010436577267726321657285852488659073615365676829477639769069566930305722306008805651374370729347199534522586558615712795092187904502407145512563833312748942461518088421933107533256084436537118326641451066775839769680891410467944976676984466014425074372570129613556531967204091299662410224866741718898559750618474588264031221984754546747689158619095085134040065630160584468111076079841784740971444274682924389975460346739171629004145484043896653929467684581342245353974979636583593875100322834219899223844784278356376061898490994044439901181814732574531447830218406064860226674082643675044726219563139872991266343178643397902328395362960790784955966150697675925616021969798257980419928422519445749603149536649431679096817511440328761361841060238294668005685862728966708906082055273821776682451738579802155244693128804730515506291424910432236384485100461906373452547364294556886935002964583074123432949602090802619957260516351098112993032813826776916906360179713290682224850401512750668035571623695849187586656314250333870519190728428939803068353846731205246451019210790534233135610161155714364230239671774599474531802701563981046861553212778501228343693234631456963347692769721708386045584725689949539010537596025442983496737354677267742239311231818502462140818484925986244297749081388719007294326913491981770171919368182224886885298310737721397432109010959028632109909395692848056782944604099864135688204992013730555704566374362947956106568177052729984976028827927482080289235069300880794777339377684870443965793776728689003174849448956559039986025575330589395784708965116104400587211137338132363361674914165433458706414857697983020403503847438758945761035759526350153401593260157467853372634552336840000606066874536336515209795624019133848563529785234247898083713559147406912127291994679989524441793307539611050917143095061944814434676185025338521810401215155652116912020302339689906737732389544877898965016496343390489203717460537091583144358386334518815580601175569529033363323054465327052364181494846341019757740111773823818495704805629806700913899837813970891493181892548058975855064119152106300895227553104384133836332086014806829931917793775393292786819464304726347554230706823688466338171642483503666656593095034211896020285115112786149459305094988294691691778683463448593741215411154601309737486512906499762777459487161222564693391434512382371054984029639081002322313360245342693907819996133635800690480211731872602548042298084615775248412647417773640431809185755939142904190846655645631079228989035827943528429494503951548511130569856335690256530504887322387855034089562745312324635035339067339638252988476219768582413704988427272645798159495024723741420420043665L,
13305656313952044494184884910962574714514996702281954216988710242659170185132899990913541674576326035024860987836771681583347387697412503397083246365275166105186257130341589794643356125528689883691835679735966393938344360932624810919384192902496170790579539507285297529440667469215433321068547907653273712880996982860760255522213337201746834275188570074114373500116413586134117842606080164525638312950868012326485024332263709776142581299943031798600370519164756806288067812312476360219947919294993740835271630715228559588649408796132452359567927748896757409248009742826732032791705559566380351261220233493321439524826329752707290176966462573655712501155762802640751567785553670906957998414853613368053159843295477253558445403822961655549097736821831147435749505183361362793426503897898781769324070251570366310852939120226241177632855188874656558420469540249755620236177164755144113178754420907619360495022875970865758691415482574889664711467152408370687908767922955343515515631775659485662741614961764517546467755156179774091283905603769864524553204324400148239527236938698111397044376871537039669306982176037894507523552393811387699624967977436418956504278230745785229808402242309903792789352871351710956062682286308580944147063984233354319380295070781378101929230830582515519261041327746504242476903787996174253128546945242815681199333319063133236404476534148135702702036267344503632740105130749511978313906060075562597687890101787526220841493109428807247277854025209902671926339283143900358991888853807699265850466491209024224624642112352777163057870320128801343154600503567949146924692563409335319159795013019365075258029169794337308143172795165366507350108808260790459160212105739832219641819700225399190800144099861236786763797289057005509464073549073781735800569929752989048589755820003181699464879505077467281803959391272273720533683348097642527221908150265103790957787926517060437963649778279881106007593126829224471386104310485753556453851576347658914901028876617832566782522445787884065491205162124846339826854899538436007161506206473915534837642635791882098772193931429274692530417809057800882755555228185585065757143104153905925777047573709982687366937992009463827843888544720383000392674225374815804080901022657131698978330374243615713129914992092687895128815076820904963045289157777336239591586673112339310644008493630707120811548102919177814845819575929909415624288689113041571102657774484344156182167910918654634627985030175586867121696542862734680600378045328877112515671233417041884953136054415812872894311490599296639731010820748421493809290274047143386084607805894273066108151495250645591530360629162001213430327930018018161742502717453146402453582983157987498177273170488718714384852661456507110164958279966331569353661380941850781566586458863863341456110376959643171212007563242966662370055195481347914944352730971207125299690424589017831432514138559630695180942447730069507300735484317372965316846656902877063014404671324755648385779404179917868928085466766751196109869104605800676040710199191354158262273255804591150567560403372744633372980996042374753037274573885569394154309991395195153722264932168349136558733914452843718045861022039775107626956558375719750763640523983961763758575633947184861764915949410031329429116634668190947888304641868068532361356312776945464409251657922203454143898585842337038241859033869560239626889323373659345181869460856099667435868078149695131264387201220428797584024388720136313000027676883280388197289162513343701254883553543813399586310492628333883152930388098397671720217713754652298602285452430454106727729007346135938671364330618653002487380883585401711009617566175229723225264714236642560896794424071981618030621406380901607761767184798606495960269613844329432931419662088761533936479016065158397590336774088196199892486914038897042133062003062349746669294386897248166083836438690518249358470586115306314912361088383376002352871127795841865322585803705074662399285255950946662852959785424439488108465224349316279013434718434311558494372170811544909229396381799789951218893826502893630636383372945339281724714434559036909054474849065318086017889626914536472647880097143923306018037896851284461958885223705497329283378393436460619706778694808822063364115261017136392783452021221235173927292829087012050728855531945385057978004083910633183932745145042937634796478805284991516814082030459574620991095657902705285303702604633552481630211266330211930783360104469732352203156448693197701698437474059285457181381307148010581107969462077792212124037504846733565503903710785382200202957574135085858781993038949660718960650381270562048571537039247293413911772610432615773858655746173984256157487864100166997885521170721182642475752919772935733763872591832158088009270334490850625448883794890323475141257524671224493372426230201929651940753151002145977544768401200925545399938447247489207184536032013005247585533083370511007832112937433408397029894017740721904326185761921902250239842865772905817953289967683136960488204793200634722488122157533984450135251687462050083898817072760574869259339952483214999740338550603770742026439666157234314796292957263916162593790274945287444900236138310900468133946596801790408362549651091005897054895689691122279410263373951731400432697090434234489689186209648994387507161929360158165102866200811750508706732275368114750027572927826670646592202570769341205095665801592937040715430489297905195343163083852807896131708504000573818554188196265972640868283298312424576205634360845241607409337482606353799008537930130155170327983436414737723231771775326017484283806207683516858302796149265403288083219540829100831864603075721470946383303465641236783086495351646937780941530607552153757003724313465891914139911214886279810341516108425329124278566637438521228319415564943821068533944201093875748315913311003933826786114746081029434301577910639771710993837078873089111214837240159884066293859551377350968655174150421665764012744397922935146306537484710705130699554562546723258811341570328565434449277534155517191745054418899904751058333170866194292556094271763019304481595121982850965133061120300412493915275083897454431381103632064171404374021371791356823579832584002505722481733465165618779577361969157708560653366673848795307259030716592681450318229641362729661710835927680609157170724443592674366359303595583047686921065764125329281619763331428135688228263505138656061179169L,
22045679472176963811370803275522924051499399970220510614824962259662165946092524652471222647380478554514072882017434133489544237431828638775144328264069535656403926882819293449014879170682966598150611427970860991683094880967665347130118152667519489662709129536207930956623629625434864894845822397442412381828428631129533441325376028332436898361186860607729265138251007848279219153782794843910818707390024234090330260868295245253479070568316503290031248973999703108975160426725190212785173700737808861166898047867280264592388061804103167381023608945138463135374404927235394401466253891556917522559718683439244179102981629744195119639672320962510414052730731277930786017835644518544040416905653470515421464632287858692239713821557981938430004445070727450206353017447780017006244746941877922896985230554046670072853292026459313226048745049922282935491705245256215536311952686578810952138391727147694004104836672270840626331740007985747639895195596450695418922845444971243820569971982071269577487640125616315533522298271430049268366914047480148788312256264003096016925507706170294664545275712106370099280763970813593105073661312945262831994892034306032384222291938452750111311098877926718311130217473006888366954897895397813674854390063428536033514916576197884429851645648803329156254130274719889413055977240862357223888681261558703680982949181029411737534290455489855114819703926672502190311074901582463953388070132821420828866600154179465788876989639789303140913331095633844965440469418675564874367851856914911984768945459762995014839834404689447820621964194564861299224857594069224652464913494822370103981602333538644076933737579190494015846298652848974699894848311037324730276638125600450015503715522415924935614434420427083710526008196526967407317538549768308099834047908575310347374196390176449410372770277627643374356788659884082593383665485462488888387561199678457969189126852798836335356677650504353870474890164461190089668730779526184486388245299147048255701169424533045166391901980575621595064917856172420121346663841562285665972357451705869564936884258965175360938084386599360995635392117381446563163358057284105886661147899489231473642203800132954767902785583143990817426141140641830468799220698193650239270459951291298101571354915702587846446149523272313507323960285017290432198871868252598472660678002123318337361423216583235210812122778882156609411841022650819437984986670763260830358448283742556064217109849986643111834632209026495777486531401509119031262356125393024411690793939451123436136152708103800632805072655296235588693333305079774696393745745762893226278422087018921114257019808336123995866565898508846534820363945454529084284236546799830628762259225586512157679706014089584796856717380551384969050835704592405735838995887753186041124843130411871085082026425231067623976328005828855803590310563959806931866455095420091033707459243399886165108689665503876953184057166539538872281505856485190423120905913896062570978426342186216584341981730194310937353634632423789474758996146265313281303820547734280214589162958904903104181103810579897681710537539891194790614746249895757031860714596755749282495610523269714155690761054706713127845770439696957417034618747845878274835239065396538625944443283323975300544351024042782162519334560719454965895887663623771453102705375592006860735013288331207975884620447671278094706759546538069746415740226875599692211578628703775580999619214933761154843019864028379587341266246056539584204911412294506689131478207528702483873897827491589143937996818246640049397240965313867238800759358868580480613899678609316982305716988726205064378137403587139051764092992179511018902653839436600613185544725599035527092716489664157342565591970601204165252809706919436533839947591516874231858035955089200713103227887554501461738946166433501973707452906489828617545311124429310534911250418461102936197864749642449963924466470526604037722933958445597359290299823240426393805944163235193710281542647244075326965525649281567407748237227848245621024934499534554375556009921747853678399337771054370725412905282755669897514950577260438744726317262045776680858864909921633874277556545183918427047266447827259782411440159637374528658868126826829756985609321736427670354616241045326456220024591161848761888066972848525747820556406285149039688859767717307328393887012574844537517605260945401550725947288964456314036524185662572617460732785025885065901930155826172796043804723830488708558724628105699196479869762711779920449592701118297653607488609505903531741823950429058350882524351360409391246929300653850188436043955565987356020151556297501681723199371942486339898511727717533481715560470259599351764417231116533272270440702588864697633808601149183194736669426002001329621625421497362472476821996179973477411983548261358759821458654194926818924769249367938527835612279911829241939556323787356312863199950193397282019501306815744824376890906022512075813668610489761840815633058921890132928915706560499126720569047837220222922051355275756977039617351732981240534769016219470637668544421880684875714120100897042630256251319593434236575294533946748445232962155621856843149378708702983604979753283467418661614050044666207828544651273036921002671615852619284855089285620034656477707536038037070656690744662330520948090596200930973524519536422305583479706207775809456149791879151427074981523630557965628160345056455505908054885125551286213332134110831334107675105453066282330497781787377542786506124961604474307828112432205935762130053501649826077078743262133334973537717377847776363450250694483601098599250094225238591959793106013481319913110125806541502618771143823732488149298651923615431301127240432882189835927934504872029681516675762032593764074922553287026749189710073822573465777809032848035334024758702417808822443998886392478470555909312296233261855840256607651425494744649220353900535760561055584739457838862622576535585965431575048415364044807895367540189783964202610768554414157465987066221875308557481833655615952676603476779478621655354960586534251330619740724725947605878110551432553146988115501909602066083597759626672984291165766277710509355274329368838040828752527158937038939092142029371357874662239782475676135192405185684051199594968201936671621844013941453630735103218875960965828378571199721070863582044599082034853352284715828003818922938627260169236575173754075247841689267862965576131861767015190095748923050335L,
36521684438356566653528106613416779761311978629625739533131567776968955095808604630218232084079927582493811754468372116654629436519864841785347609601105754648962206595033176658310503313243221104297847973589277898248122534404307228134240314848787086352492745243368284402320580394613964160756855142198348185329464289306361728978012906286663658855366684587938388405309280575359871983740461978139949010441339381035502445417691463382902037655042408672627742177536447550133061295076768092290187019216293101468215399221091053503617911884939955743878748838081390561929416831773560459803068646018135758189142407326454820057238048443121616174616927887580410483470894535813234978413934015499346858328163147297306770148842985215792847895965571314301067537189375953695583263769912564789779318444273464007227445108567300287394487500114419285604881129660712315832744212507041949316020425702781827991192775934437795951788630185059196803073782888489783672151716678410972873261928752392423564850397607786776507394773176212437341643226821033031199470912538418397699660537652690343014362224530890005630956285209612437375363738001649841444016652699019085574335251042159945729772710518404982898876205583603780219875722073198634197515727494312164005740654984605341362182703214856722838925360253282659956302640306046833215973873111678967353328449078749871175426722877797615365926048586678906347907819006210295941739017649298832951262594741924703581065410247040368865152988793028673997566441042659116304108788179594970655045260774606083199779417475343193408535964135620411886602955579921762864106935342221592745616012172631966038529128972454756572870452653124475465669618721026491988632541883462024767821060399951002556632971455979028143020551423823499218071718078661205174078681540136945484038120316145084131840252030968267990513540898463756433945393903253252686396208942340173800705600216364894956146451414835415728432954778701962316052392835852377915958984619585455307963772768936054925179871899339440792393753282226657710680877349107401387404267019386757195280978484173130199733570566113594622536541092879431658950441406835275760713109498360539257430370496751451158080519559315477786047123186420795193741754032195208294806493721766915358717745734066770876166188775871926650012006222602004917645982268976305410300951663043960726606552485297048950007107115734746231870014533545957986168344279941206364820389277926814320972081665665452088651054114352466296084968428819504234784914719318710729965771568515673328186746933842291175757434850885529182464315502458863446424946249352024520805805643892815332538047532757718178692013449283320323289379710750456059955482184430210181442452140928969430918291437017421636933783861307353225976661993482811388623731746218343493982567306809299785752357336307971861122279746509943993661774144595085652560316776647069181408140492575816696738201857591196238346735911756866328845207034142393700677808628581049962150266166892739317100319415037890155154602950306758501836168699826300454329437963749328955860145104444760599588618087687274989763724874234085240440877621547813391085782027292287926322825048492710642763803888578369835590605826892984770259361438474323831708112885185203071033758289198619410062762304740467983831376158742425242087019283405682433276035385027238849029206550116826539951035344578905559948775538472707402779105084214108502855090079783391758559871725700199534264203715492451274380993654504728841035445659586320272213140196439314521367869782039744253265631155112639810850731573536688531307766035113508341378388255966306399772138558613325182686192980178456084910486275603974599846294043588264763971674616069479461810190380959797401537730172851992415511619693868743358571474276239785419218499286430656589524949789559241869908568449023720384859406240675349997813079726918168391065167285409216848309618345427596995010163961201028253982244800856721200422040611453019516531852011379351267627750424129331336569903825862986295780112671534953356299216978397131259152285813844280712943202138565311126504493367803676629345460744645528817071300659049771527759447635776340749352016352899812734972007589616125954263727304424649493533944302173304885787602123351428791155584419505947364749370579419065486881660627039219558341407556350528098459865591345222459228539817018012625039271676411457292549621890854410552536363079827855872714971078762534592058041932334824894256215649998387840180522498587295598292494959713238876680863047987389848271082049442143170629194532111788530629165280129120600605290104755393725082148028512643302614604910420501369198981576338276272295494174820726437163095862209182758336193726335885986895752469844334450797870873126245449913626481578633812886326033565012846050929791405538708669336423465219965739989252009313468376406799114177645330207655858480034284933553685202997152112168734589467725295651983700951742990423755652966637613994415628345226685212510750600783616382519303343363315194933726598321693842885850604842492631303087083194500895258679203565947713805509106402559702148865115610245931933723263319184371824783691461896590496380567756713612551937382349829560618696325532779312737605423788264541691547350998891480691464879313900925090463256262900259603730521321695925032744312292925896450666969930826261981376679340761824929611290954412403769506522343496739083784337609406788752457803444538846882231614733009145099042290740988702764202538259313662925160581785907428051561992975431423296041836167336612653446443084849914269706975479749794953309920351458145898365046822620987882657594119008100176214012911569647246122444696059359538872528194519693566002707012205636573757760896082672531248255078218457203543840355488175273480215634443060565596317435764384455536454413409856150197994705375602543745537129715836741129993954688896817107269835054788993670440167775019380599435095090118843568076864421714220879491750262847871746134587517138166509751569983365397365781583906918842071093150329953388867013888795970139792275350577252772712051554126729439126110434441638704284282240554605366571648758941499804857068813969054989747162119300054850570519144919322994441291891934507296576209452238778940270531641943686572808165392385384751327355503291354123005157203938309218792861383018345462772245038422623056118533698792604680792825099146950211499339158511510772204382506285624537124434247454193421890821496401310959426039171L,
60494831107628051477038459980717090915485178558694505521867518386689213349758391025309408203016641030568475347661526880217131660799526878103405281075570775544014100901141851741292366563915108512913133767472325420301224580723451167595461660976948803757727449995828140269798105602350677044143570558056874957105677979727939844663119153990041566728765933368027594969419830950178328048660254570248209491714114858820021926674126496630487704238779092529343952787467305488573044141301027313164373714296683091344898158548911649837589486369096721213060456701059116643706691419086565921615525039041138253620551837280161615181637953829023455581088369099578096760030282592308312261895208975792551557862898787563499962285980361552632951008498068819218601798585919666847499588158736648400284655360547835377890685919684168049339207573236952051303488530356385346408257903082924448857436318605273191248286722626590637026420325145940757212114109284778180193973776934357071300846915749121862062472010557481904279550763047108077811193375063128587571716890289403533683684873653367927384480393322659306154535723656509473158246627968710736539925835999766418830306799477810965170328015074606569764853173073895617824791820095032703561729447281588358778504350056790594702504432110553253112818375752028939987403664022974840041868389798713556834604288906313149616311933709342959799338118227207615525644397513119059315875265036191009918923770207933626686236693921351955592337894315264396444281018835701264910552740950627276496149612305091701943440112341683077443947320941106277482844351384853820196474822163348248822237792023227504643056804726144966265826331563080684180031666477135690126756989697281845359803373133457766730813419824833925196439335912235128360696149633461585431700808241969792624155693206620814593036986383157147333058856636931500207620367581884467356732085248539596782798971286371416049808572172765123824902455636702416169231875900082277643424583511933190317749199082608790698412813822445734619836890176177751867216701588483536914081832510358860519984917183346986506848222666963825253928318842059064507583467430647749311427207802336829686054874291280052419776623540404855006757004948739366752923122621678067191340679420628449114150834000108638347938188206164973281572277700571267414175000462354446688272557162692149119756336532116734172441540140229971286985930971522471353369005611656928545724536659579879308582802966781604898114456164613578075090337865329744013300213046788869430638543680038705665714065402834685762805973310499970259945176272139524429768553425733463622221803196892194091229097157927941710490786363182324226735894328140234399145488464108350531752596275165870242176523923682076897185107095407533203109139006928017354826230660699737469888228209146314619595591053622386328687325367500615640222345659397237822612054413981111541892504838270120729716246437867135138827255770016564656923889232942896467963659879978106989940007174039478158987374243377894413483581412438893758635478858737527183492366698505763618461136874231618376220661722393850813235098203067519260178479421440659315447350594868207500288217574994963951863387734238376836303705484577393947699697203403828116680486941358992025758739711906188028344763734770758433939222506387323282586934165018051232890701681407400418549271165481078271938024768535741908104645815809337906517096032001722907465984520325501107194563997849574769638125437670917184306522309798067542417704431649126048642253063160691588854995748982012167528614697616856820539077901156209945469817059088975623373133367581552528516950925188316732396770723712363446749033243454801499658854623727762328406935146011019157144349097523216957025935960554496914006528563566920136056631950412568633626365439322351137991200731104857270630273003784954660488715912099249077728608438508873172951317035566487272092478875933799387537536277136439027188730475192636436664233758596501135114254921523332656707843239400409740512626541153804910329923919710346510448482525692918580306288151946388227619773939237134700761496853356178413193956876309882392503471757159667170840058237643682661510953310113530510357759337348322906561100216134066865850024267520867189085631099294055660065093168824951088853192153970748551786519499416927496502295614078999400501838181043699324973861933605111470018815239229364875258482631073128410686738145344857410402517882397076976200129332072978073020868475582133378254625616060073981531441732299462169499917858004382363052115421342680385826245679146990226852133965822165539278126321677690746035935664047537792959162395019673553437350251053242630613241926022548960725224910780100436794626698153898795520459353389766030931968616616014675023793952195140184787368831840936563617844031366079396249515319222649971116120309212487857803819686349411384568991417565968878145427267753056931083691105213351645432500038449942323840631900372058463312659007523913426796069098266004195424312373001304020410583507082412803847207709405716434676349738581579556391046661712291161563834425291236129209545391426518181737697102665919124366953890042050539947471755062196929149715436120607628659352253169884117786726594728884759702200685167912518182467451439460506651754942422614310840930252944530671589954275410703063774197904210308709499573771930377473368600703202710344799839011435746753074352101360931366663541629857757879209614831584776937969885126634549168903158315663031728395558651256168736146784490292476114617627495459560345091876569543512424894642202884477984484137195310971204305882247041967254237542440218554973877451861308317696589347812151939419830112182732079488382376530325170769629554115594392941577905276628960035573344009861925691366654584159772034450770895656366500284138968756466560672707441128198104830699206292108491051726694897346793556758300193616104057276274051555286581598706628981728808690604803625606521251657015433416540875815675137454000591333726808314851361738047606177281783368283063505203324949869028388905799510280301596927669937510487214658523407356626369987709193712586155762390430280075767104775911850302839376914926034873766698905315161564896002841289897598472395053440216973448234637319108116737800171299570717108750793333598236708339854437869313121620971381931512632519391013553155132007641428389882061059435155282132715695152424998958120142851520783994663516001249855447956414474080733246682716828789348326138869L,
100190358371493938739100698713279944505563538161091546732519865441793732942246880577640749164324154016753873141195432604933555520214696166134112429392733248522901095619172210223075238331959570733786944133162638172714620757554134809495906864966807444633133447717647984057541855770663777510039632498781309785587853408598322084553164354126317761939445913806257745385963452206722965122754977671582314711110626191473985725676110536456960136774943980660827495221204130238628036199527119474759075867324772377915082391668516042728509402506129567850026254773140474050200577013530900391180687362026629536563174279798580820385532312858117082826253559577460897755892680695405445659308475999168233558281716272640590234525098007631538950577529456318257733506234673940665148046854961463422726380584343134791312220624304349567141510107278571924151879478065357713383697158203958728353669322889082945294792396614490738280289501061262597239781371636459967094588017010884304377604562215567361495832300938427720191685063440130229481081588593270327011881654085656297734929595029927562245873991872439066369689727923726473966968713329202397547919020532798519398388730787151536115761166031596676971372175526759414212446398472151869799665505698091434705258277119657547730769570330923177856928912691392974516714927201101067575534534787611454346221269744546561497294051611274495571788043854984543990158129170916795707995942075091281065931449280825247345543384125552321191268339843118797910968916323600104383704822793193683895117503210245250884764195847254362225787389516509477943275653531211032440021436176933898419451709384709879175944984696181189105634054244288838915290828666712632188690578389855554997424415980835964690935777041083924165828896128090481691743951915373238052134898143158730888861255499098662275387637964420127134298490465276512043866099524095534113679099478611565830046391111568885996725097440758534775288319573336217541796389172763530236615707104844755381826563790989096307326232934721424249290761466659846475945363598982885181040087542139590552371305012215084238289403714218397902709335383122032538689067141971193580409441295059076140113977015057753703106226433790443691474142394010956214690765565913772285402918660503872623379340492238983164241949271257917301243534673244658161323429475567085076739312492515992259360176464124017997591079262789173362153838705895542563140306665088887890492953032803173579948074106773254850679958761267493865430338361077174710133928178883864930031342838814553169037262408643017635580915599329000310331284218821124520018796925312611520797115201110499028355530312858278874785534395505661357573879672902763325223945619950330272962305889872251288731667580712780634816503819144223495796961970515856231537150322640817514010415062099716938001750943035319996712277828816728695037017761846660690119240829924599365618571231033689712149453174741618880351905383873236658927754036033795947843239262905875846494804642155781798905137073708519735154533485890012160217867617184439265217093282006215514250231154815579301097848900017514295184927947173722806268420009099700191725794607867010768958305720916373855459593741105930497823274620828521917187608908622019515570378725028575494676554274894384231371146318611246485693138653400679825664998727709676627275450349066581352028842020112480587094821942924575114043622021193422055350636772799112043599066940940609667548808337346236538594364409388491717549407567677425112298941930229229802310480269636899216564101217711639858528727525885645894853200641042058432230677950866762424029255916828169418886381345983744924200657619075713448397228702849924749179625018343141489730506499785276527842963366294207881727640828641446681520008371680295921480773370867615608897064445798307178733699982554871244792321224695129419767531884662234968220817830370485724417558542005462954663107359253973982622511151037531198880684289555059071870901497478718502098057616726468446828751310085608695951214015441938067521186921087668173013271841915965911768085641109578884041300141495452419927403393930090644492342464486214698207484205202305194047952938749460191347757790883811228453909272437877208439016838042704717301352376024942283938262203006503627762994118088172005382524768855832641329411667275823556024061439716464314408230961795244436759296055105488562050042689620160116397587857383972462680462390962418386688376617755791130749020190971347648687272327574979570571693025613772372711282434232318384420674238636959216900254529490868452652320816341915417461868138446123151425756426231714139651981379866938574302833618256633798832280354885720480422079773487034774967781372625682459717168349467019403631889833681764756879762184188278431363282761661304043337658216642188358019719416752710349455808001091767509252690201074701922271844229171455811069159534003814402825261552666528661897699569863939966863094111857449553411149273806310127909443994157520335196635075125663718523109478155718261257526411787857598607316458239465404124259595869423099143338732434028059506987902678781099493608042144675955777120550808352055388124304812267273955106320905238478808662256556878568750515963245243368790627504091451863020919462123447721219577550482802116203883657634431416742598459543453794363414439624064842380199870102751135515977829925454180052594612605405257173862242052117344252225681329156083408935765655696540824977815508974937049903871858035879482855109195889022278272626033139707284995670893396963006207975417387375088337138245605152660334245506525643346395032467187790358708595165743562208135108550570305347449782544928055008421843945454933791711449552174329542015923263419188749854214733446029665012814373791879977970369336202447990941102435755390712395603946346213713268243186581224675141845537874481097209720864746870454953826116724672212281525255760988126763142104795297976852514261505344007241445857257904699339567691943139208777727733151773500244879875300020346628042282643472902121617170174323171050794087463690456240736404432076727438245001373308815611248407430285358265664814429900614160009126990914450654002078936082179724516569819271902477745366676770238469576408775352484359644310577351627947369939244471617262518994030205171778679197677685635163540272554642154407342664421173168992699949350147345195404958319648587654381527466340589834249827406711261715902360271458343841095507336001655230022392961373822808577026937756443L,
165910479524811939386068032342151401693681924592991239802648059466516246805943076022867266725629232748986259887290423119387242581684955493335051878458159535284927307230535812281698024061628043171283607863290630321111859213215658192931719492109613549801499994353041964015484841332002716836978972046295312543297666619745853601561160343091051737053451952551562216259368368930930088829144388606085981224812206037081840963397984357885085712525881221821894683783854865090477042233932520996504308869478978728847864330713643840320428076985139686300269733035961301262321122168563560011356390843184339595931858754288006716917602049476829718175507036207011551771615856207593709961354557571289948953127732190150538602593253249470305118500953143335544911565843403080065403555797683080076024538105752755024299063625524072492653237486491122500384228343944117673120921917946294110377099144770483420176238651992526394246853492990257250210752145021439198880350920294549560778608657574006924634399496698906700811046918035593706047846511222713526913164077067001351003530709526453056424348980803551005413384908535225122153752299624560344407887033569127170052726221260834963148689253528302925438332349611350394028708261825403196161069435986279565411212352737841295337709063508658221893225159045832302899737582143367552851320782174487085813380180490362478676683268997659281583903401445341163849352707168724343925210566322579613198152606690160192096241373065248555557611731180514819698371576247148235726676091061927076822331327398408799237241452180187974122059274479417481252741076050594474394259987655096448661808089896278508980575713387331961291916429157006168933963921024783704550615131933381284359099508694669531540761126430878664103153882718035726667669115810364807302609083644371822339137214125475986674055789271406287978462866992071024585720270436854061987741064668717709253506453736428243328981662052938170835908740904624445013560807701881898180372718610165535847186544825955331651158026470932128226604455773113465917097698513746094937684567415188589705349394866304997627274998730785047826713680301824047820539154576516524298722318717378601656987159093946958783888453468778057746992401553027700248903633626799526335815332313345812907401664248320419507891655630366232955592061466774527587223798166125891807591367270557901486392674735067793896028836443478063702993625076643810114980473771859424794593198464652223057554192883631533709404035685706933773101115022318280888262921941048040431322241154837370960085513965826774984389678270668095395124361551747130165269113043656838705660606018654525595457211480698657677612965425491899545339615295312453789597050832129450047261596673031779980562769248100837166803631203117138410203935600589383028791824366919362211953593695565767744154724575912478835424045083299520613274983303097640205554949459598557396961075875433792880254300610193903649550195356074588361601180559376713171280289067782936866008780808208230795400430062201340163899591091822990069981540736270303005979395604986436797309834248242078618736974521473733774521528040032999342240811479804733474235914975974263372398445869755499131269336596329844275470016779117063040598125759662906255301090815128783818340161385555615083010565363169169597478746600287717261279173522305255995561255148532405419951279578109863618265271562536547440245240903186393161891474020972775222885618075136534781818381136206218462518899047307957730053299729284106658416030766934488228215059484502418505033258149389292793335419554870757613996591503927824279237181238129028819165933617557868967679938184602572128446960483665118464575202022464978614440410424062339307800719502904575084995599479861671819341883284315402201378533812440561474820964597074853733035968883208589829494805108588720249294606514054950014522287418420630481193482127172782209388924677520991726631770894066117495603647707869573354709659156552149665771811100947463893782541135839607353503026912793626950327744955981801635685062543838138504270591547662128249820986949275476910067976845916660499026026245111820715792663374721463499336725027632895679654547064309901143069725656163403527880142117408255589985804740269009210659231251681201870010306259780819734700015940885474626034831123762065286593802902803964815353785850370879578598443699426710729626917979430922517130419440709564153596070513548332493822415381539135571188988184909403805753926431285981454527439279742203299354289867523186089535403137893726994017357318685803449224674504109768544256565867051183260069808410879634960875391250923571463508717196282621306062428360504744374492922643374969075520989032080713323685174512092041149852694931998879179292051071735168513025590759194786651840343021668922940134827177834436779302153384344992224049749532825363290582035226011406437119394003902015262445347009985252605329044218760298900884226473436927237039419623932260811742756861213862801408614224696269122750959304605525722726047925746160098817112885190493587701627777591373873924204546918493334447216663299384666657535756588924873389810763506562684036978727761598450839336316882909276447663397963698878186062340839239195168897601338427552755878016786376564244689122210552822147861780212756856688931502192779219299207617355271924614189093283660328703886492107171311954548147506887173592843570576977143111707156504188173963471940611543143450030086329746440507005901501505512964107056296488521958514531743852879597712310423258725029217360243405609180077492252205258999856040114350927584044743837853588709921677640684428500216016029419821481238816824851342273241086912741568219467947568603268487580570990162723799787806964153939212756097745356890616425709366863390926732595000384902880689745167055875749562676528630833889266741368411673858802651120664095924768706655944169514403189455782763078102672694384016674146563965964502217209996752269442088620386708295289495926305172185280982544054076177750949329379058749483482529484904205879946108385420958829743120992180663144198776631888801297794952870939126325660995691319931028541948528358171538362775702718628816605884115227411883790164162298464324611320752107170336729854718180120299603293831708654283920445499944124861373727747865070577576803532766261276702789839072093049155895707461952291125745162921424060545603236180142386751462883497559653240290181695212395096973696389955974509410284522607478578946674133456887310205929370679259448L,
274702093118953950484058374387560322929267299194565318159968873463419234228606716834508745792379101848429025471205523271207275712132343172379844887587360784284165591030292361144871174733920754700301290596208948867782782488238083857801105141000042333855219146680959413624632902999585726045240773503059053210751968380616134461614871628403306099833208259658367989908807235607412086090883623224243045357825115929976758562904273245049619067487073691665021589386022586613502701515810601014466201437306103952720689793488051823008778502619703122954554407964238699065350828965065912284939993116752793860237475476482058924477982050825815952226654810134216279691262063308152241922545874736534025233411584356287200642089428629144370068376038021228074715414605984194040044837585940543045179393817686276136090998188139809972930756376085894358360017866913981020101126943204435854684801673816698564834195997008812507801905917014411179205121712859372841821886335671452999590353217558311203841223728089711501623474543432789473374648604160681781325710728288855166465264698863183582234773508423567241755762387213452383059094375702720628772542348903183675921846590553256265397833606537429088174354833954348393037803918098889974368648399726059975061216317820819145059473748016005141817014458030612459511842872587538413018247115607590891564023277373441032907572658988095475851544406017878660539219767790651666769428015339211196253283902080416752792615083386829809175591569246606297247538839158261510984190885392467915611878670937194478013083686195606425292373535931253706806445396236406550327549499502249919385763921965190761702604725936618355900345821473390918921425843725774467938472750055149187166183509078574059376522056649701436346813652296993411970719091888532604588065970404928425884397967670590960045128900948709004046213292119725200138030010775250606541584478064493437326203384938343957122694074888883712403189554898597970719381467256868226847792009806214421781410442973266366444776917858960809468041816183724939966056935673940047956843846052139752324382037328080679086812873683790904818862406353227041753793582143040096705520393547248803017542620414370832153058001453408899529205759481234482600198499630152516933005836442028509097132891251299444993409082244044240324365044290288768527893170327581419978163808546475339095056654527974110114347844304958584437210038747297196357446392062905499074301126659335776188930260755069634728535190092873741255753717692919030005242507713448253482523327154631667612720676067975203792166623605908736259167704108421938334917308129607756452392757377294502145322549190549504680491831693629206186379998283773244081133275361504693154410878248457739032967724920254833615703657346045388168991309697201863474659191995858783494603001565235961372690933190267613070748551065001449207150273756949240087129096530631427726134020320038090581436720044990981824649178844465273057775419242515581063932019938816790596128926259420284926622057931152834275024099418150563520857904596990535277553237445206653580968233482253048193559503999354740567958018118325395954365236942991852575601616062732898241545662696839639475076688312206197377282039330404031922106760317830985838592925929814489848561639946239229567238509758771462105811207240088858610159353468205085786838631762801656404280790291602881458259443633219815536296671113359500470269489744105942274238915918762534639844931773328705999560826828740638686435935785693236765374856905547796076625818341017371697880629924196430503987176353374984596586181782680145170672090484905001891514377200907851784005327569313050487584233739165767207964839016033021198836313592639662912144885555005355954021357953715357444283418266971371731828920822859194945062425541866595066573224842455626322558041005164496303502687635576768206611369565173361348166788143233606502941393071334679120649427343262824199921265831758287433904843928112382521167550112086469054719494982366453707383444435115648496097575504078927623696486888215325430931585767619587938257133637774361925866700466478668329273979776748569928342116718742954206087500627322302514847784905704722560599047379421665695297767313904529984970359577900959546775051130054177854854289473432393090996205281542413692501715868887580218388490801587661997254207442929331846402593624930867339529699343494506560454559256418822558109595692152499305891830079957227629284388160876926273866953705297642334875144562853149609059661980304932271918139269712313012876725880092072078255563623565779510453555948043583637566154857075179420427747728881905937324069073225824585507939527533114461192710032332528827026850810225337165228072135562559856798522432854496452525865673144243777109821760212231244213173815369703135536369875239100736497019155764619866592134913301524844813079983133819074336816967451238824016292839635887890513376926781162514125685744272626305438898387927614422165697097754274946549129599389689596544279418864328815083435566951788437743783764753265639613459310778990037226928899422466001975635982640663686206212383043833741009862129402661451954793492824743991128093044721424542757304752422070220278042252509576139300335449490712636158471430643795524099737474675799017052089326961862169442909047934107856132897141944798424921041839231324302421081039079019053312404372999381197701740468125131911819973903556040815785993243099158179292082331938056672130917828318560217869631568583289121509186683056931156918050555429821617254838427920828687499546676876351770972606500018290485077252669747815767752803781315905845184823699444332471123248250659251373462548247269379607042083127912844322965627313421856798626676512800716564960138250043260074467649547386377540344843786302677268899743759997417816250936177085499824636470426061017162751714963835370162580837752889152676525845460778372179539602668972929806662333034594191642252345800985851304686667133334200768311488872344185261796449544595888838461124639881157486284047299426203193343075276278042966862884266189843515574452889814795065417250518620459421277724386014656794097906642698102030261491556471873737750293437720898916912474862865465653776212712267474590419458677359998858221573895580675538794341278472396893604483812987689088799920180011869435106323250477230765744939471479932446919467247225509035886031272582463704941863143210139516833486740812136294183756533400545700803687421545882410030330472133548645770330796425484257088L,
454768541212940211182275815538468939461830948049113627375695513985766578053400571413409120545640249208690271631225356992221922716696376049139133685999773537818605512214701178450961808829264885060078875056527609528917396695125409553714268116783106589946579716102158224798872188973749566552121607422515974107210014434816470620859288254657216926068964532964228475065335458519719180238564006709195942617773693721806744543020921151986806390673133080430823069945953780083139216801897434480669422896312144912271923224602402821198768102881727609480375775332869500730178077877906358175517505261134792805694980732861877216306136771435171289824751734081346352346871376682566079477633173178964580922764846947483557794077510954188057392358441953111410266858635705577139551501180744495278429699199146592893981758758651504432830025567288204567311748380386483521382456316025244852647309212494003002727962155318521625183012398243064383542640804084919680306742220934518841237168180135401762033306701883249407227299148376336224276876058029651484355838568092060010404362341698223941257366672803246845031743452623882485204474560411206647785716390282685209350269072873417156598704991780542897704303487881406253946004666047356726796687873336085767747565206915837538201672858246503449447409221356504823689304520518106521203059826027539323085354130163217926319747131378724337411924014286186301079601075635322755329020016874028534822629611173100567550339990795678036514272058560406806025438585460771819386615111792700776181737726264893851795498096637022497719961885777752921447856250127071192905386223683260860572168669650698120264693550016208729017814067116485572440460281644122046631645188386809331102187821796101477024511866734933532201353671731869049696230721196605967987400813304035333343439290184289840962428244382795958785520695908237282465858734776104771064431562791597140743764526266206042175985207974574176148052071344139079558649923081800080771782764719307403890807451176127978414391981215089971432785674536644908812632266805811111227429279484704442551795122723086397055118523575589799333819873627083473397710887724329355791314432813858630658090581305627452419488033951015363951505448721365672507936819176327677656395495339409463839738194779607121027840466998473768149898090812830205290917049271455314266357476908288400866041331278478201273511768288662765244538434056326574788841388281114312072848149690421888999010214299222580208686089567825994735788287812434297418763903779195129427038997944551123956265781220185555772789394600236895596184132086440855198555530832858495474723017260682236875075001605574654474070963934100471078106588342255304535863938298900333454477450754606926197253590527413566044568236597071853798751250813962689122746553858614148658392717584726134831024802921154504839014203578479146356268569981893575680446125411174303610678425818235722302753352455820468517047465844296763535687537299286041390955673066154004407873350449070317075255863051941252841726225313323809544531755943364682983936934299744299778080300396676450541724233823472040186616169557377266071156672810389735849555611691141043359809659010236732657422399121867343867377128300268071533277085473709777318871811998603992070462711136846804145917784586889682886411259258322869072533289019060921422802135365761995784724525038636990978978548562109864389761214641031500864710884032127707715264062997377412677860293540214670921984761087798702409851718004363564929623492830211363445824630094541119587671796790003850478163828717672319618227505431767791646877343427248452687530583143657490540127859370769771421724525977326812688640585313892779365788540043370986480115968325434551109387798896095197720826789871417332884472142601909199254067984306034610250586481503112724282713082124123301983578745174430913316704890497949917190426541821209252766712274898497799653206704951668327371040220851874986935569908677844354532156020145824361942545392813836031247733719671004298625868150234253438771913605579445388360336496229065252327964783899662187701084548240182863858879204731455413441128549845795114290448309234483323783263427800933279405965412789993174111638412652299823538074348954651303537220612294046762235122585233499241723128169666329066869831273920934770040926079895447554040641383322468544384275864681796632427678366135398889963969745889136151302226673195984842868769439214913816954901418742663988264658617174638611743069944088434534417326299730538955400324882777824108832341473698953134925827506544394666937439609205602224972449239513390395625620507740013297720659168326505824260053261449005912272767807308189874618908863776890804512163478100400631832457151178374223325521283296449736508323675854156759279455773869536553872286900218726456694573670555501849471136844232890362820855367327197385876660827924207013429384631103569925456899798073322275205174578870693496933395300058531594951164306569472731645012235132618742649622101658736309512528499289441353111742839979556315857407506449251076629397051202373185615144120393178873193122911220453672633877378050704516154488034453549178058510418300808373540960642370627192132951743346868296476305982817608661130360834429147698053515646043527082369855213631820990172239402549975168030733970839691230450032050361906956428510266497731787304670250879055368463735522171894433507893717227211179737189559605192932920257730842216302080046425804129860862381252502615730684166592605394471421657605178744244284417681474265883564298222491903258113535107870181467836899667891085504972350593198668044364004504459815960504063959228612505952001812046708406440327621897582229714426777508868751435222967441089710355023314689757624472086750899568073794786491266690820634088174874960551997585076354037295864178770866073750217463489197239885751582507833548532756137122869712650968884044738708900020525408393053020359105211193888441612094073561101513162835504920160573853748485716532775209425749739568228426009444572743889602916797451287225083332618416779935531216812308494234881293960603569644799463287317296695724808485583125669521321317750918668740426644425565314602120020153809495550792051455196913048215076012418640523425903750129601708910621260790672094644042056347858659298373903761021805476125423975795116605951877581492126551041249624813982754811957718441823476133017275621506546484072549212939403357974632218072422237845671656074546115734759354971810408476279145093321L,
752764605949868428050870384728195346531722901106856647715482819169514250237366983432017068772410656890901677640824783770916904000486925376728200757405762427361973309314257098768587706388763754048626869310295516635031070497942248482124887747314558781556116968961401293685662709529946963788904533668557242560213446031532621800126052396251528064789779857810379112534121421903975040832326637389889870380722831419261415742422692104246471595918212348149502318424407571692286446136489244757609154281392546656077711817266436310523493394368449734731504015768262219937718669298431273181213143674754088035442245919863874322358021778152226683436814086848835431906239561509910964042867233246311701553861463029314437453944771510768492555178141714724531970553557565767851224597305341091865318439404696610396572759765210868594507445666645777891145584902597009828672491509836479474333353458861256858229642638370434772597011931722110810816507937988710951660158787159816037544827203754443247995575217853446666015389409043295808600904808081426575163112314290823472642646303210691757117037840881863133251175425433598690440675357108156997615468789982470557384566023006250388376144024243587570805377911672368320631229505707408103371269212908029140280828433140157401399128369599530225041299856620854302778644631508253211177221264843009878046443052350911524582193928032215389989738366783555674922658276739419789807080438107222380413719487075039983145603977713343921285926360112175962374856160042889133745840184632841976710836717960805333256840600532465547505600306241443526361264291204750837927886516536978147628761484493240029547213655671557520218592669025246145275484693539125751822230524916555180357680805442184596296540351092565606813815411082826665077989408330930669733094035789555702863022963730697513307899568036149751723017497028260903856108003512507466045093108792373404450407247831973446537558355348684560432389952282583682997507547989601495081518465895298509103644056066824096875116513462748482321715290382711373650499715640079762078298294269466336978830972211207014549425126021462080597330161261103545464954240917563687952735107871713836826024096902595191517612364344464393354265570652871329880863469057172907439032563379719159875431144502423305348608344167959472819071482605178362806023273447460021864973635708309920810314812570941006644472186054539669436910666253758382060004768934947607032752434621396454710909205279016245386352624985577142377473672801657370405099152586302263004702502346227054676562059280088435068326880490406590418059209479793682868457309273843133412394896051364693431478927549673961089416724849493350506419068155355047248805497193429111284605464990588861680183175970828687085826595985811830884253301757349809912006478650651807364670512817236064601069095122951284903660309725764336881953650891629817025594162126246694841768328850825531526796769986574682913397023522762269869314928216186049042890982243677293455319349250349881477152442935404016387322237521159505636704677799753004701716103758085002989184847467772506852466529581775173571291823136965773799269446352008590624260210097056783994413457145239562585145845533352214910378212025628944512821191415453378207447116564638425324939061193892791235124082422963703002449519027639604410839520925495465113672646563211982737737386893596015710826887892128261682175922432505428075692267519361143382797717169511061233039682465260131210748202176280643150103671408961019489992063205817104131872869852548998121371231317134762858651146560789393314168298496871467477435846435464664649663964212850541060576885271243429107048212775381456644674584317659581157863704009306507619756514688096608457024283738033380256954761802519449451322700870936369022976071871770577150579865670965603096541399145686440015947369893662258156446519526510457134306571013823496291343725579648109071394408396494446824723701785866984202621915683132966545189875377053193516108889191625087913061681131216919789141883644348888489202574645133636970411319082270224526265517192535589943135063754765912654278156725114358174136060962332528050301937446403676838272511857928173365577141794930579485457258853642252798098394429744056265972451893197605021106022902765817071322164072449410939942360045277339611794443870113155209328083715872635977509947275733921877279240269766114988232301766097252213704794637600643256957696103653098911975374625762734850603858983897350008732595485514164346446591967281369112114232369584759359279351093245580117925578840182482508323787968264088569860227223564154673379708574878287513614264673347553853905111796204281812604621872119206914211011445451226289449735203732990955177259377581746656915916362513518646821585703795547493981575021428598171531877374390616166499401501009950297344053188149679173359391848301894293262042037971377816360005228264723781930448462099028269637342930736710032855684124104509999495210347481528951343226634188029610936543229840867639627136341143880687980787371483602491269944819283063665468129733425132516128833492375623605799305248252001290787961365289532145976453274060604575908193352417884528277910863006732731153651982293696968794892301930747055432166116286183129195284628125404696569057547896283591049800582286728834003065842278448603685772844454950705829760660844371374075158148519656888328893373003433999908897706411873763224361689594502234664449866953557676256921799189034137733228669839949580371511491926071225709256548041573831393375648424446648475757618287996136652144312533055040939624662925658790493422859547119490205565127077160442055855574186784390491274296156248512141545474493180644040215853958093817079618032898297955076624274617936046894452664935556457245847381174383737143488511577047478862096248233994941895057410439274233062387531154772264127005090444397277065812918106116872955179868104020496968187696419017320600244590122801188267205962796662984049417133041557200143899185055280229823636796192061005005962101290482915693604013062579755789048601135890199178096312717379155010938328044992290172307296818211917632706790688052912356952505656518271063562586381807011294792479491560106111953634313123874623951461474266213501408883811184849499458275937132509425580435028152719019287382985393690374692589685181588750182527815861818334648504328145420553840246645379309885237043932375879790241493122741303435112020251520637343631851738270736303469064714275120160876433062731415471L,
1245857388194212742346194906496858225936256717258003078610707401075818832261161103794724749991804871450839196984911948576542224034705589779757212152385759986756272295366155570820719788191278854415112314153080223257644684238649267427549209944001968869887108961367926875361662917029749580654131654723532106934039830090745654271332030363775425782111611371441926218459877682858462859846326099064029441866917481902727516931636859752137751836482167385867940192784051768752039626672375816184078675200234718831651920782419493119381314822937362587024139293548461728680170845481476643710086857862271893782418463454866463212766849564199190749837947695004325218535418884653114348414058643203757761191974636439902735326198967799609385905391074228144710070092077178386473295241887261906773839139956718544190436020042496267936196079698279920023335680162134069737266835098115423585815809448972915177330886844033021831029684228598834029490506121486676203105918065276095768547109529904739145769174829587032915446339323010164319612520437066558259930504793931055619892029325184458479518495541025980004385254534727240033317962710811336487336090182812665076942465494796861649069743386178475000344145856852776140580547950396924753332853344218425447874933490228851205332881274209939344794435663819207422331595074249367190867608956413294754493403633196346685382545586080496673443141359568633824717900623216449438900716878216407257939507669275764111425902405490386002535272742207693639697592035075548177279082610767412908090597027355041991800408815314809283066388209248518792687491497763697532435944624518572066521020737257546478403224408754615913887781292389020993901341625741725635336883084769438384566715672083016220878278981024933525116094302519026068270401140990463779551393017733391236788412491453543923409442031893163648037355928089598777324115097224156983158047574889569599757088127417160214188172206966123421548465727164092554584631037535424161709454367566488161677677163620922509396753313354396363839094158886679388758836008117386629461086157986819038888314564709945830777893308552014716553131885360561224833081351356525095430938687707470778072545190357359029469926275150758404249086804506671083301209582559703739838090557319267633503804630786965300846051797084885713687625810706996729970748515629503303668034229421167194356249829038979090552688795186517832122349662541416421679394730486954831668742563557122350142978771617798049084471621296032269522407461969941325779883802678593181266591605927839873217296972034850876126812110489522680011206566697985760982028050648808977433810084352243557315370775912201780532869624827538914452093559995200342607214619540970287605659429406938097313104725272318196559964114439344289068632185765867237813596862862682700150459430183606061486666632196710655589693034037838692601547740382449733914040064890678151764190302750334135564131902090770861362394505788497370294362774111296952365481549450443410834273818706600237260720192393226607331275454548677561480720575984982191972374105404087786293512146371441694618706835228086657774717305784594801685180137657370205272021251021935529335066378305677812022641929399485166590016588872535057704263253338091453755536432130991610623191555285294455476151408053059499299279337410872938684393198366222594218184799764324420760353109752178174141314758345365221130595409932843359366069592019628776010537586012358662034426610938340156605257842047263400286639256319083744231921593440134466385824948927810390504899253320602439961024072511663058411609743774932425252128526068613103417475138518317181157022473392083375249222178046202950145816383667420482354711985718772294461199689745210077479807303914626301907670183814975512084156595689004598017353615484853665265121254291697246285053257635516459501927913694594663526157667228793892563083137941394988153895151509726394655772101972136900281793381739203006656397903254293409874198759664141989469427470493544563695849458165992944261912816704056461729341873812928115519567184585419738177345446886761269590434941163123977453329465462919717896382464418697281536832543400634203310633363501956672231141234405307173112383582691026397265234226900833867267856206362879094457849852960690278999125300671950302949330756694940681932565316094383013500898561113673145227816695258422000026985134921123846323924296299165854024531233392987876770638806034043106058886317140877577199663991871809099161102787339543641640772881833813805698911193262133536419983553544453975942446013874662370136522087593536850646411314541637157529745172963824558769176918007819788099458607948032281803234136151561344186562344255085815390123757208456041515345658225793078427419506245327619388958799606125476835084939449313740047412139301873868805249304006996828427078872113422840051638771234457039437328635884257955839058138681847231534696991398016883248727824220171978759890973394081561063898035595230106944718545086311299198244108790237277991991333633510465694757951554174577900324707467646579075759782949557467539787209918576325459706273471538143457069749968523430776754681594099733488950321239547734138878047500477455378842376614277248308715177628685443010888561124616117575328606206447805282859097840043255133805814471653318357255700658420668978084520800837829745628544437524991778888518695741673543329136027944164440400443760010872453066178439371484319993913180824916974672882908633190393469883565882203787732551948767100561399078124151509230336965068310863322804565614678037768112019716913396770852911838821585641295674287991941346747315239546485086399784670400883165229664100533611986703630172890389000472444774162386003239763625341076030179891304734212630743513527198623860248693638174829700140105990310419929217825194613299130115013473482502290773754673038296979893521475261220246247139544579397815496059140221481880221993683246727656594646496875344055573966753663328644090207452895612855527367265489225238607856174510726113764780630317954987119319363245537942792700002473607835617329778941904906450620603947865908067946456344303219317509958616888126261056419874240385014264022192031477958424191568154434521575993383325086134901900463839313419116239094756433703427625820062140783823206419721631516145698964794783103281340339309625632144515440033917476723341693661288747996188029566179840721261849130771357128604167901675384484307441053913857946856650696654154297406459488842041973566868993058406L,
2061663927141984297732424467971211737974728216306154146630435363503836572784175528473108618407472820321238376583481732585605957728390244195482875741296965848518997475062752699270885835169504680576762390490408054590155327073016688862862495261025393158368539247906544124760137280171298728354280347533802634599182537611398605463374404678549455531408023589505629522964015466924516452228217504229411691099132407416052530989005714686805938068091346903378342333107093796733589290492386360623781940324253762263547665266778337205028821098766395909539985915438033077929856644427139127132276141248108919977632220084256455029269903429638675679549335827162878236085476903517195198134494179231558814316040016965354364358539304138264611487321878060511199643388431804002206220118748794018051051722094103652174106028104526056283452512782257625336553731267156928532924532680805629067061478215259721145561792316020759698526909390220168686989864414673698374738666757603551144760960797195174724375394500842601773540086735800661853885385778639131106384338017310790404774519971449057281207101090202844236481661283423473398150648811023519713930315257180996944039066185737642874397996903280908239274334942356801383861381938599515408673188817118417950511304802268239683829575321760342165821481065407997990653403675580531741779125159216659372876603962230162204649382166121116714485630300164046873268318371623502288644734188470715267081274587269355664768373353590645434665000385719894710979995244672833558872374385118096349323527855252896206194255853240427953650185543208691203239932239790897255780301522589038287130459330201840070540536510535860026101181252615356022913448676151640114758053652356479882085014591348537487866379385268556177265195668484362615507468396667971188876806373832510307829365652844296470788669893766880856368080666497717023550492901315972145009498520238692153746469703305657387092670112524592471368941152070738159325811270039915639281081400337388347135672297043457234955150323667270793765441623811720733144909708600606492096159623800527264809176808498063160745662487380370175264107980983352000772719965635089980359811391195180427334848627332330825825812386276007789064640243648808081836496325369906335840941779133095001746941396994776554221373519819215241087481115092386582355860671896824526102008189829992004033908863172761185647019283505704150517184994068868954442821037888821510727083759708979735914319919540084039021623885250628417293819466235409375614783897080512025513628522765321163263287405141494331311785150290903014889808173901399002839427634790768227107521735847504042148201349992242734989245867181334706884015597972330660132948990152629594168233459348187649604434190029803612340522140409797085873013558683608117487909549544821113480992006583570635820365384388610987487272883878915992134319967288673596480057743240804780987697670447738481297009557153324651054490352900932153362148561285500338995989275090669840986301031660904077214609040918040731201909297636617200576013930326756010077043798099217599912126855904601295393636979708272289373237534351054026966901811867088735977982922703939741830923240766184985077840570644294787008290743932454877335460851760036006323404683127280690597070725677948871447768833472922312998257883682949086405786696334508228146199970067204529542747817285998422939518018738962884442387432004656283058711408900117930932924037157355503365411012059340931306397430456437274475224838054864828144307463010724909943650476270255664726315304434554721899853254254804365688533408951371200837352169369852246749871833214777871524028166983228777574519212705851150275239693927487600499316964320825499515027737281275446145264638016107335053646942372595624879958751645956835310339497579179791771276441150071561433046847867121291562633732394760686324779286176594464649361033230009487782890686761108637371873214430847635678237629885876716786988840480789388653414644378619558646331225097354053726380079549067132517589083138829695597607563109523032898281547990317518257698877267983177148170177695381473094420989945987486516258954316485034483257709978109413746058495482547798859472300284460581452837742653174459061660387366185905927753898513189747902114371009784369491763677894105955356102351299997758081300479294852285332139648673487517666714945792476387678778815138310755413493865401105036367184802459718471518993226330102322970380941075812040602064700827596850187520712706656663153432007934464643711422594192387828017246458817443332954271906208980859787949812440649244903142276469270322185446656663107820131759183448289723774750102821832727340937570540571918204461762266371986327752177821754530908085172217569556912848496615362314141545249160672693311454490914652714547174828744772405437974475055715146346244695700413804132476365727570851873576530332213271591031269214533690837452004209818787680264402600743394751473333874130081495992971425155001794768820355107497712859954539949192015282419540110717699525825355530381785903484907149819880056821030909222018077599069697208939775645200636617544004611823033376758688154917834273824040244289174997303108822948828149689569739273976427344451995527383744287734760563850079990989560888176095379814999104833886877768679179457910151733056945533476993182947281596165807595459689450198381909167347236400216751338311276233694854245726671122190209632813167808374438995523496287158868009101853359038003126290153957055605163247559511350811494719431848342834459829823402538033290593243387733451277342587501048369115592225761530849351821450893718313220337668594969868340948465721507707177983669810698173353353827265003866788309143611935947533230202378415433454172605061003715306349121125425078218018748706558718186708812585847624495000776003308394529274292426166802830324097180704493257691550513281468462571496635951619364314641679018100921031503160478190681604036336094687039953637388726046045525544205141048748024808344141131908380909319211211674319158471112624194431934507473014473207893304780662759446880494026589109664894492932569928947456907274582021380810253489438001216337963403870486975359884871413336648124200348407654307857590940365778883374856829507018538720898683297216145989933376909785318214992521270935905760872776828314956539165010969104629666384243053940816101765100835364967109271395434446731381321505984804592277632635051055174953158679179492687291963077040002930356790662228915852061929351105L,
3411205205225942637866387020606568921908883953155667647134150236740955365816546779693990895190179531221074078616453335341455110640991299121036225078430808160118439742557969630906384981457046232010691112938191900661673647432042930447525883536401035852498680289714768789681470868214442071065796503823813789157961756648765162468635461168725195515418967519376690794668001857011908112970277942102858255267464226399980317641978620073478244033549481550156444373153418551364882208754037231005389382314088256665238623638701743869549241405407218588734154345104957213481416940296795182134348752620038879993335903995563943661164121743261607130806107872447087399936408269291529045899388370560626705321995212682660798840400730611256266592271016060128880860699918367385357028910938109889297941700033233884804829149673180670645456697557210750642082361339351166964995114349212889739204907966264077236438706609545646553391244943868641527387766931712474291985638584458181030873458639834482284621521287154079171674679970175924742704305592393789616530895280934075293577562284068093548535198947892079355382472425816005919240853413836255661427677577344261507374136691790339451248995890464115012854620993848521433938412620734140366454166900184916207241637666912443297222643086166052917259424330720279573423696461209842420779482477034683591936838595266792766876119190581538700550756990820514383625741856987822480949809251307742860779317029048420029693228940134248056886612631026638517068836946998420406010280955133244540227781214619901246327918155689542387756902251294987625006544806703287785047643548279157714147284611800386380762956112784446137869538845374194653754175868224990494593480437543427671996394103349123374240507600567980332956445410531410527708463982991491672641890379401350411564658341659000023757503423026286305731207677431377356922320745969382535074789566481066225379739627917731835355073781775069604422139362085797967642086715810039656059953056187175621027549383651710589341966069154091384548478317385696341644232752745600313548730316004486373329939675677113738464557992730646492891433110001238831864013203459020254019915409406172615986955384311689152841805515272055433266449089492056845593735028846095371498520375015305390869255685929920184655950466451584724114848104897244562908903241156153779887717990022845874956628672275753948499069854627355547817242674303703315676896888211272787151667698893249520485421091351371171543884027199614507790606601965084274152268252086016368853546473339154585005261878122271493194420127209826514998032004923961415642416969512962571124645412369211650427817874419010786884065872856209018748551840406951249759317285632384786375702439099463677131938595967896690252318407390718251864780847405376091449786528217003190582133197526033492962828789740175990673407322894673003667402412463743648893839298374828338316849919934134359167404872657763185941325608977231493800653598306956116436129042694168952562038658792681043012768627340738059974033085022349464222812153658205021672160180642408497449692377977891729965543322099116309983616835213706752442666889173165890845963622966907314576656743806511602665698624002077820516718517424259963852331263139681190784478620443989564841490374667060477392069258273439830990969149343400121205940241040856551068070719874457194508004889237036622229465903999533009641260544628188055669858957315344472874013608241621597228408967857568510563192492389039062729646349973537940882619293284384191416140481776743610260618468012786080774086800546138758975948136939949274143655928638260014439328464007525432936080902606550902532545432840777030689443790529105828681058141850109273619134850766180949849247858025224809239851178514467489979456571856481014238926475574298469745962125574194208330158856381721733570612754751685677001628939564389473028360798611028915505438107680112769991576160043744759002093555671152804008367043585149563456607379076004155130403494599781784344118268471478118735152011041127839780551217356703265058632834651830283186059632057900137148701588225905480033162480279047344912622368469183259077051592370203144085122765614485819576485901666786456951735489057899284819035142586487300574895061138027189158116385774968358163708803318287148476494366375887341798000451630863793784794371221155248795295487936097263653434884479878673940102115126101846150548955502834025437220105881117935051944205638787967410143447952726426706365020529069632812871011394704251187136020825165298984555636093529964990112150630229150978038871946701274799605954645664308524492537881990896089279885474063798557795571621954475776210705248819919474774347139541264160718020989649179364277987781555002623723594503163936812978764639045149030243479706404041544960386924626343518122447067346568382559101006622502599087483884647208454834255395381009027033079874516879545655049642755346219937621811628413180475776237296152427317945663849489166608962819595084249274947600027240639184672655057756135281050211536077655206001533339213958616650415786950811489424315058425669865436638569545042591832716649599107310587440503346611747756529148159391624198241954317136282691868752315804329657153409094444305274679143797159181555431795695097416661901060953343317351647022260762891850359527240536963528635459126492392816424611504922378646737553228533578992104639197108304416922221739088002327729053783239381758350369720272388576799132609168423941847490015508649296875463657581232631352150394925128703665386560893194388332781072353744580533687775832431566119784360890288653898575104105356855130208303767974757978907428324556039493506567964301593076448062521611599101062329956937348178923515990963381475958168028797147213995413558234613178478089587627530321484027054335009908207085675056417137641633629081508776657430580796211573034426747200328060422973863110363526549134903643384661650079359307569753146342882907359795898388499228830229288799087095576985305087126400594070948890989294447663671980064880904129030622311060166257232608419483278348118139019945971342052274990830044203937029723167271150410371362600572634536977996408935145720589294828520575171343766077935640991465902686137536333432885366506535329743672828003614896684225303803553426355814368412652788314672778242808163162987972979329408831222838166466355776927798068834775966500171396024781881064608008169137831932435509525680358394293193924609738267012123825979785838475151728628470159564L,
5643366904669850860389887251741325948593239054953616745143808138530906663714178614379514768078904388241464379845141085331111528805255096184985279536169044607286459821149158122876153185157008459671086902009486891375466816345444305849376063700312413324322068932812821490733476825317660360501549472106717691473811515536886514308912734323715680528726340451181738023374791816229755341657089007794627155007235479666006449697999284684656141247693010327492644721158751669733750622380799466499833213151512715183954362003839710871615730881269609847827436237754153279228882939736559901153499344983388034661321081262116062845580922206537656955838959733116677697584209741398827681227738650702002792655578959250128878259346292910454450031273355865592784252151638146120892964454628078390539517728526819646847271409004312517668314707707766909954545197984199067713007906522528559664828774760335911022420965744810522952198638561538733461071089336424793358731323261997727460898544464117590297350581730667536828967953079290268397329617781247202823855911746083848413884660587685820846978574523226450243055501696920005937597914215925133838995858664428172547047720598677473894285553210141104899096766310235548637205513078533481913055134775243973377624022364534098200098119542284211637755764340563046639818044217408811626832661624764009432423131088842394727139293168798898319865976736211438639914735663883565193730240675342862458282687897019059043781174859448324950195154824742556024619764897401929286580569704645440030282970360785740581886294518216276933069768232193178372713443356424369116678579450671515339305814064300771132504017230503690635343396569661472647106880165291588686417410074845281396794644654072287025925815964976516460466595967748096193494088432625333872425982779153844856329060809450730738757867484884232310540208150391776422987226820681888044302085191189039707762035368879883464948690508355159745279424988659529669010045323150924164051277479012637269452182628844886803553915886420764983025848599491682722379439333559681021784368641528982473129540533491733256545215318963342504464832920469648766274667463352622703869694241530600563604076954058479126289308635522755954483848372801951366791439674930873786877220435799405875866956529525402698755552040382587503612454591827335836297882950088234837181034419380729046440825959616151771100045589962545681682127909280230820080572502520192429506895344068401765489885683282074392698452651582822236451650944856115729295895017374160018536026365357015987935700619953931277187810117960154602020115832708651431748215293534654620440421406587874760172029410681248296735206763572025588852004143284826019374602135145181051428021316510396901654691620334756967000313820236738663259365519553895847817689084357169827282633434384092144297698783469098488728019582443222887666872721872147680824804882138379600888591790256679593794968332414458090617260732899980889678414493318382077424108670902757480238323366233940748901975825456799696326467764759395624198843217870938996292766184859473758064462597550422385498999809360528362601556963188192406249571031547281619700042712712883654409551533836798295015586646710828944903664519384338130490935093449280910919122314007311195858067264488115512566771850509202846284177884289337838378497540491109288058761395179782653267457218963684663155298823386420362384843416830973540728475409507602936812539419549302931216706610731753190575224347107463744491945042965314707465125297420472069980615352974576569912853389802029055447433810411969050359822777357182362019064711617719906192747990870454275809768363257700878375376041484878483585145951009656663636439913287999001470215127711689248657040228785383760333785166490962034188011590150143417598346142377443761805529215498944004094552222044682788405789512927961642441581298656141834205112689187630954596700929129600745324866404423786980785456525368189552819185111202928212455744550640533591763452851465733878060400969633369643703095748030771360219064797272411614558795675848641955023749505045535130792663683057956575488957645629918369637466365223319042552197964846558042977107739407047760950001873631608543715808921821947947329859791925555901684133821469981227947293408425732452212362871390823437528269555215546294322237426810229240500299043130722823364026675155590281114810724934060495063796688402498889398775431819590613195155880789502923970109393859218223388934617171170118052570967489101208350913593340828199969836390911940542641501965701556019408318480236299008173986513284409574324778636587679274711929892848674158117615167716628484468770878185310625635185743614532031020376850750657590066427569557395289288612085362055743529502791933913901021061682444957539258318391097423304016081563969846946488078009356127472474675281387360104764140023342936509562054719967881821138258819956643124011594757118222912573315774691442433033189918515619876521723091429264352272342419809238924355546261865773270946695240155722455751221277509361226376307609952440536275536251004125952070972255171580608414100311790312843161188026572669515076276143944057997155125597255757210220572563034612222833200374691962938880469603481785785221732986234236904526937030698332931679708858352055221716326399252564826105425858600531316527774704783016481529222099687239319146749334413162381531985525569893861957525130266932267445109966400243926416877376879317857969604431361473780493077632855223103114864843074377713083344506124605742056362205813539684542090351348139849711700749135868333920454542887707131244208717556935737022142564751193412688104977531374333265795520685066611167160449425954271884209679652041661758428996194770281744506585726492098552919428559966199958622692140229346977696785082481053559124205848096413963910532829145955525699325674127809463126036159993329195948873564302888977618835050873568047249373910534285211940045279477874914514020849789550598828110914858529679816998909721030756384640035376575505298855881932804811487540497181019041086780422049097082568062550053072344183647596550454051404357993886597589403905250141032937299907625940813428909959097053421630411391102782119101992318869664048366443805057968166711742449359881072918001475912681040110644163925849469155030658657977125997049118003755396572024295634351473101479435687441099702321887689337734113142329614001666974957958530322514583801499241299707167190743361517297113533609056605816597419928522471840444466L,
9334890545622348084174462817647309786967564711707387356228229425157674678856675409743516182903162495029796621507629726060482615555131022791403905599226303335634636641755165596757955561179456489163853370074835507396297019299520551086642007986356538835320903466118486984423941244902782644863334097017597528125187996794730536605059521051823013670347136194889657340559004916458108711917860487906420620582924627716092972306846738791329207846568972027131988732635889559545941663008505018004459301190772967263833794623049907601275424087455460217867021434538578738623721446850913168315818992334435525031211556455764966319286482628218122899194825525400108952256354330371196338294973181818933967175413557448414009338670418731640709291103817765493239764368069118544161286112248477014764002902687399056855190932508950764579848494721058942884533702218852149823477033419816153719750827786365543358270181162485166126393379926591111652586700904067355863693453287600467617348336421177713415769314190937255771490460687845576065404664455886555297647981556740895187187137273480831013339519301336410104617498211702406871652766909216224844634091118470557988881918270612123794074168884914682060014337022221453142917500283750760159889243099485520964853188056793509478930154795443338236552912682018447760986646598164258053672176969590586195072075754268434776624243961869744263677262957586372119580044749094200692706687457498033705140424045331588038577933584365482919916860072114873105947969706626158631800379648946187704059643892670646212837188112289713798717654101704751341998130335922525150891581481382839342368995716443409264317133783300757562228001956446326231055978485792037625638583287630170583789464634810887013791225861865639075731828753536349441573104302482613643126756164064058278867208894226172333585876728370346591179216354427547091186230990343645196503747720364253531914235941949489481410253848281403179128333603837697838310710366055472532774467780086823644918712468455495684539571072099152392976382725452489122944360696767402422521017101149797238596657545534241961192751722266654117632482227979174926713827338904183938360189322854866042158136913132531480731184373385110258043794225051751440437213458539286124502918686216297514411176811777582304278699774106712378738082077158352791056757945676343522542484398101986455587376503394065694878552203807141364777574752531452271353641783957672317302357932150165565689142310742891957445214446479086544565006684657931655082554028768885421553412793651701883287630318857556496907156518270550197650609430749253754555825112687909854662474196910323020155791118631770180897743396030734292326617343107042031617491421601359100823656213429091074590056805570443103046460193047549063471986961440898066097939988724247716055856259743122880401398008856200259811289767260222410220829796929442253880839312490645742263931196629130536285078070679887346780568467247356222736584111834067878716206526918718596440209914620600294088617283664426472419539910574906291846001176014028632224935541860156755437418266229963689194333247969180846180139503950394532675696631953431438042885115509510658788694555509915131956665528544418811182622471076970435001297578389730476593864860626980216883610259504321226501397996359659929629403113549348435363407278572440583107751675856512257806455758002922727146768889795310965850442867596622685618563288406782121239802301679019493489244833595757835244940473489901862947633527285045824770434388783927658767571833609273334587719562018524402594391590059121820540851293788642419734725637182692674281872840076418206648719302985601318645349859639073637703601313870998796671171593106389303241588848649283187900964446157560314576294248516142175347682117902138122909773706248574997997986634524686989083389298667469118315454644628857094159529745023872035071603134828971122351601652135607720034684754791103803406829846847945916863708371175280393358235667171245350154840058467573336561199098478005333812105942475304645981862554215268277146676681365680613988793515073205590648730984818700318463489462286485779782180050151534667556933554586874405129104541935264304788266266183696698161432979963104011088827758076185194012705190001730069574409312057595549510024886176516404383792745780522451163278279782008353393510358281018944913697477501211447654194313904152340981383678848204038352391262706188979510296464882402572021273883947234307936240561789061493353249703540168773543505873371205752838324634097716163435998253442652777934215471272831580016964040236742749773882296012411099793373580666853990139997325620774013651581170796703668491546963334877213737397991521432675800419642870483343046789157581257785747998693369402693854595652338047002204085605502364975385617015635174511451754588843072281533704336911022225347470246278967339400342682551409342793308547205613834015149595012780485235312208866784708464704539569284685419907841895690376688468103964796297268246164358780187951639839579314974130712779961985181911421459242605980196920963144433986187144269816978943973658092323111733329607300448518333127704359823742493858527689358363716084484393589006541870008777664157808894476862500148807890649761491788943351589664040904593274595110073538245596600542414645151510255012652992151780474090740179546218549849003342438609855439095645464526072614494594451973914509748889725815086412436399627104931490413859881058532721423825893068516134378898427798723324505826338050752966658257549664506679886035470518105135295866231780526561195363999999724809860859914974368636136695469110437442118967590934680863296199345868851299524949676108180316363025742321906236486456022991166049449725372765252209800583946255771694657176781730792060847289904058903115612448391950754529413396661815253305316280877386083405844803524566686349070001636314655277254238744775043556128722124743593950498732860549708056761102684899634834473766246881294598751467789033215698176187694512841573341868651731659993178259802435829028290967342542524422677921453529502258145351133547986627679137780087870249893127959310172151151270332652019722215275834909264425256633365150892815095392619942953791005647806108108014040087963124525675351496958758349724639957509362158833586044511245945513686244650586183000066854587427364652532281035972850881733914758866175700667046941475007923259585750605825216286142169944613641656983912129890767364022229175223393067980087264638073422646371616574L,
15439054823602774176564401801560020240299712131094779634353805921072288450945855947731441858609802735659326544478769011114976569870527650692383113410037973689390334872558686820630908598642794687795943800578865406242036599865288340295743633062232177218902770297584547445266988773208779931460900327352999274087711015163535796692946393284914244041864311345320020290523636360267232478785189465872824033545195545416525161698881859527045357206966489922048996377302922609063880200022529871984765933850823445908774634995601650339338603500778546433045875585296791055192981863877921331562513666807158931679590269907349653699686183781469322813842499645701580730512653184675957015620288314276205827504394773166093684705936860183056808959603064725767768643680352162078033852541063465759058827158750711619010895674192373060608462631252235496265625573383053952791958666848489122366487404993691583220689365754300509203583720615474656078057386498029174226208455394769470470534461012680154649971608285509628494549110418575943611026474147193459925037998289267376622138608092334018474487394597585811060550776110641402450031638603533664391582961061286546580342259252000578028775085568400262079779237869612006492722294405780076430708215439695724130630676158067733010869549493203574725407802171736495645909147061158455235060049323493644319252638050492622793392923764636503354839838367492835249595704589492008873347666752781814913632903100055257555600335360816268054843710730544119534979293432724616510230792589708241551250747239106403407493118719187895324934504102632842645424062370776540958368810337615483156873877722671543934183636088682947589256887251267233769260971761747624309885676076437218820384144504122675353723449400687915759370130986491781047767518920999345776547200340421427768715758771250565361712262726643283771986131568260920779504455687342710992746528733838135773128187085743673512345136531511131483869629006701798648385114665646159279772881920947281412732589356112776086826779966020694967760130147845509740646558039491557540360816813640149142560349519155210470351945019805023706924382046527170975747581255892903976165698716779701333665672827742637166278292778475212733567763259373752210596772379341034322332720507147143550091079050473168891795623538359493890165613218385230844300599085448994536166202320760990875693019820459497942949790648000003592329583483654596423363176687496952910996007731028708426194284721678904854427468281487994984610362061008460935268635881177503557802966608955248823961008539817112062967984028351625903513922848793879864769355070716279196587982900557171533663562290972528049312687130696592394055978538901524944861810177792432900928718897539772841091367270242097342832927878143473326623081888061147172582550596036795477160819535356148238921422096969979247877701186985329873051638119499979963308678472394961842824426519703440638282048229943558926645904866440634081311262419943327077681419785819318392502131035548701425895730828760793284821412518082799441882435781429465454100172307974608124431420490572101472351228227236486984299825658466626447882915770118907879583738765428565532495064502226631541697768820202819864423055350394408537338961716076087815925147660556715984201972945239280140701713750180415899973200852209049464535913571055631657906138839782326410256651180279382183477839527282022801153101062876186667184010453135044242071112915536969021329522585910467561486488121405583494479998253374689634537308653528148206560787114154022464379451350545314150400545600767661926552779812044592629052595583272145691680830687429096606561382997334779681171416145593225291794376590020293317725284657035936786245689412103370344192392960495211775153502779213097763799215920031887426693154586896399100249728806947246226815149053963305842012578424861931002731066784069685228613116985806702700505479859387815767356774056160534859782825429576951607643712870478131010812632877397009873350480818494413603899891540196426878723810543079588382514395809563631260961404656885131013681226166786872855825589835785745301802352098188343760984168670288927440595685581692927687358230186884495455210584826640308801502400875009738688746974944777216440484824046787410002737709216902466048554734864754165429621564743876632514490013830776578754380002730405459228186830960625445350587398328312703366272797548225854665301273249370922654481922843425704000649694847917147911041342914083761436198228228337549389299669920233781307381974390245844717861672109895732109513734433661281089478745734091261299012790129274903895574821687762017897046450740312863406780458415666547839758720384413608487169475259278555243522180408995804174961956166069696369120742627054037711947344714249736054992322981886498326777774409884122196772898406724790309416741675509862825652815982690257497511454748895887347718588128536292701037414712526811039987955848234496315827972658333597923861115225840752988503762745855297933624089376612512025608667472425459181140206175191689983806395054610486881902638328483834430600704466375078369022226789778542085816573714482337830536491205721860320942876402989004239524076678937094351285528186528836334840109415106112923231405966724131606515178100454966396659561539385644879265717102326139853724954937427670279667464550042511619305914289785044741532876006985121270875300109112532743038568867882576243031506933105773069508407010287051181178901631475355592382093391472833573959229664959874174832280465069439565881395072450768668348259864273050704407062748496126770549203042790000039805764905568303562494602857260897788286890529599535471238412299547114872228879506490647437407401359294120388208454174502936712137717924630242002824052108666956119727633983455795364752870851615392340763436860119769557437517176675431599279154673668413922265962821409639908044121396378622181154916450110171612466629110723828269848703511261512288093517372652246529952414052604475284198935263856763158197316007204938199283166409299966503835579467858276228198873318068299358575038336008460798013028906997474480117776065742708640488960050962873120203012749327627678314732920878060710934693772204055024707313291939304817136540979890541994715229056265200490157738235598994903872543297674676506512831860276836584585766826379316863392676583361084569231968495558370812788777149643713466171828834843098649776632752990624675847078168235896360844801257002651638551332676968302126696531312993061703179945L,
25531290022485476502117372150147238584980043251730450105347216357110557364735807669407476990398741701496433938203568235301813909954497074114961605240313186591477277716728157732731773768272254871970891119646935683008397957573939298733070526810289632683791633061930358234997452991547032694076837367299244725791156797385058484220351855014722652256332963104519387578549965090426873138742168349998903225581652548888208128746572102569882022649078531481551231684750899814104912618534858029564731550335399654278349340607768450037354128309639294143379978314712651531968139896974261998748303412967320155348811466032736875115363102964435940419955013850769402699270635363320826497538749591376682478179770344851618131694531752259499126753075659070485165564072909846769385481906027174634127749409195378050009835282995477824375573945996200522178358991195522242251962079632234219947619656173018070367678690181516192961070344358267138695920774963395641886969591786956116864266963894950291383587715536486414872093781534658134602478866950048327309702611725545790615305605518850350853920115273633241115003433236304327055408431512017023768681282162741488865084820433276134938939411679404668388777608677729942318825815381918932526202447725803828236942449266211839411002607424643811578329183264331516492876833989298713246033101633583360438624375299542429665462983276299693470147880256829067233455078016241990333586043281853765137732367624681666315138307123074586812380551310641599388278926404854180092628379611719242715594241215611053710895370214761433497983403069285392868677665978807126301994995483517932790034804875554577382199909925987052028102759653930834932366835027481535821911648846976302130349622701492580084818660383701674322572788313426821695727528118902696050198699898761596960112420613986903511862810736025391969555903138843243196223893306079870386299796175762178206105180633684849705383163244964635453030669173255485985481929988053954799903447126670920967056476624467366885279790218951669067489227900832659690404986370134680131023809509433800087510381118803633879149763409936206073657694590257608206909148154642478358373559408271100836760357472176645943402642381659503585263826076064062001636244515089814065360244735425280312812655803641250387446359754864931876249289551307737691090735123299286162257978630988770532898968956113868052548753961050693951282972364020166949532176552802815816438954709160718942478939171563471582913254786367817461330288838556251491018328517770694521633549548928808995773570379793727867672509497082922103526561380220257448611264404185440030533625611765125371628425319746809906087980645602381897824143465197593612787703824641823667229962891094318776684308131917311780681399210321413954403787892166166638082843518800045154231591051157259176588841322665484701845076416522437665074875791085592671897782510058607110493580725458931937262312072055492702222091488429753364412601819313243710258951522880312809443666322572825197926393726399485554228722437570809969425844563002943103515955316149373569545072139017131344338996662620261554472541623210389911171350412144184650162884354264900486638924736970140717699457940716077391393036474429148964530252322614473020875669711499105179262397944176282066326271361043655500839420915981161164217970352762032619938422324990075215430168565652026053191733470532355247121100088929465423755462160564610087478872223061128794203986642225628624060396288523748399769802349075701695722934114307704981867865838896189447214955702300617911840755339793862449543465902905969377233755202492495474355899810400063529398907460560898624659131011284736271136843926844177898724255040289507409378203050089621189392745608188848038676417721456311728372110338416035068094847694552058655329274226902411756441419353996582775735073649444431853882405890887339114611128369777598322383863640989644558945074983585162022956205673062275237786318560168276706860843618230982243559126557259741284527325601421337651576661607264330416440534620894116468477544684966108983729241247538309257043671176971311537747248326312265532087719852736443618463964884516004252841274536275943888420301736910335712179913402735069705359680466843331964622123650978165279318633338352046302165973205280319834155685596757704379635686753400269852877432757808964452224949457020284077146604676222174859545369259528788518689668040278988986773777835266313539248534035575144033486087639203098605537168962463718599326566900144971741079719942973718305178509887353641436146956977903753290508077213933968974338207564892830184398856001833653903144039635885940712196159070222822298949670910463495575818796274782812697235785574985508622393311160724805314086693353303665849184442222905256081857765987214748411904914085214283886603159656666262745937795878478405496333837592632830454428182319804493216883148892494304459425366434622291367829233342989839029594387454747226528277963993180876718955446820645471442670450442017267099269801025784502687763864341506339222538323972364234224047338997642226590233039684184978955422566475080903303129848339333845657182033472686872703880381546263412443804062192266015941220024339728403471555631212910765644129915498299521072855190203407767712308786699740330162304034620399332554891850174522857817402183311452559608036832222435502919479167276459392648939141359405121678833482627975298368052787751948529488517735066110641551948478610456108325705944797287179523333667680237771671234289760235419855390021043653784668672441613539328583746478189222242487887790391524838109653870004758092511897774965736557383013172011591836861027921390487331532204378653838382563993698616791516092394688620948973727176416162832447196533867116164179479624270995790006076075292899239452708604343587408966170430337357463471496615058617732203870840853691465913540563218389229666022779789884958701166203566064444671858887457956078171059142561605427252729732375428791961075249731513333048453079311867527069820989844593812537337016519861342052734520084793961625171115866941411897282888593528240050037269599111779415577350854815422588496562788327233631009160598026081630223559413264165849702928060956512805221548991945455124105168101765640115972079661812600894698671040383710325592519525224779831821360256086328774571560960851594807479370244347274375476620344376013066363748488876816570436288067943690653353112411859344744621729031609741808405037601458649323722223947654605559129293253L,
42214865812887652519228073598238645329583425351218291615420137365230777599201536088743910578327735474580637712001328877521014842805676359681873159892108095819056703187618124111472793207733566847492938811959125088459754313932792716727389196804507523103871055915885606624128067320589488009668542592514028401676667305477187793664987009103039063416793169946909955671096330507070624697473825749015218506641552699840029783992177807008138951915018754603536770855521373603900521120990814152764753201267989372683860779386957082637530696302875383997041829088697957884335849876993281133537987021009239800906412319278110888583170947389899668480824112205408624850285275530762980997096565830450578554471716440357777105882134794685932944799476674950976321981110657639760719787207453223433169496936460112265704002000412944720623969022120366670326133248051834078055115898173852633195305901691589258471960166860153754441610064774209246114394798013802913803686321967615718716030639197997191132118709297205366953734719856417360241112623173042190867242076249017454068560867483688199035508009041990715069655133733999465194596165644783073766854930068837863663001518575898416870317212884211323650027862845257543283024369722958081789092919378951733342123900363310286171738145023737767565984467933601851085206842295942399549192333496054211436876693322574474128981497532771095929770422323259557024118560687002679986362271230944283434460855922638273181479117105939740448401950206696566284418371484469899189305544614282590705204771673439840868582129403955362186957509357875097672366309765834760934304374905296803829654140900299839680418852444385560518678922227678395091416492663383505328138625736191631371025627499077660907831514418412277566406823177270073647183290118460678498860680547366549150255240315964002634790544631972955503863700863095841935139182503767089489284968648573188150861998281030691859740288075926169740550658996419827030343669786867031556950289049657825561587093634128179252476703499592369332968873040297932940350128690895451341377563040718549815961657650767278687058301762690507359031162624204764130670622688298483750742291308421623187518321705215996774538997193370221324627180370597867387625163803848428645014964623255697426913862863151006756258404419553095474648828758004425715571940482988335273946603110680502795593822018693264119551546442209376095597353846802582926841511615492060733285964042690424390396258959294652254571254795371175124958982477886796776210682200222657063344516525482971068485671277796750567376586374038919996897933664942712426135408786897324921888521263861894977279910487718875854379924407033759571391919370089082306235310467864996056815734896006319881654556971754920969916472716745318189869262110084345066523398048644114775809183153130684445508573932956946238717048237117484769485318914669561671389449936673119644506299913574419819397280402646292838113797978256974921032972190474174209410847997767747666719756461034767329523569389480299588343818785255517801421007875311963815419113936928120461218314231625785047477807993934821113277787930725177141036647302311257710545398803729260937707301547015471028758434732244152939695336006746032042231651023589238937443011614396034613115953155911896462556915110754058708405519476874987057311659965310796085747760037649830038525649922624467693510664065593749476979588798518670264374874426358522206100661520058389655860482728312766079242391233429195811679088151293666104794488356878364126676471394419742484034859813436320834824136817919381623987354215399096907136997923217122351416001651393657926598327866979320555832524616481007634779572072612421888718395051651071570300788374077207756713840421687462116193510781714801493583963567816382701758972889164111976303574027586730491881148223427141090337523172372607710549249556114047645363322212172635186203522435312796641251664716767477529513251916488148067261071941259110687518210214325848241189655305174350015445130873839342095019068326528651116331813933958285384212931009879621360974841587289116494348457184192613517787334158135144481771685778170960774451795694176705276363317334355088605086520683448935607351979847652956852616300120755849507757194638647622029261735745627224074094748683007373124310783833844653122094944192331344005373847780896453574531290967378757930591889716137023831099020225800866596014648769212853523424321194627234082350420577927640233052254912220974083580892559035458097724007902002169646429430167727232366965442677154130461757371981502922650116202815592180294437184492055943849602293714188574812075620526520859900480199538212402918009039834609800988585477647888078285155209877788856735878757146575001044048920541031330197486411348179734174522810676415553106987276769279751925417669325232663843871882407952561459676287258335917847573740486625636839290126072146963559114187167733244714942699019357521459536304586738012501244828393425003831426700713382238479149137274892476111331283222474373979574950545267216261925370285415107966547537272231992620291307587779473907026197368763769037514160285180561482862967192033781539032338540177067973072222400827192575910674755551108167398769141542786239540395211662262874711450657879337423402962587116967039093208084596617617449618456602452262836967694360251873784102637704099731417168938576610316776389118424371607667571866461074777177978767288942461892812215514195099675145205733536970201282477421614931792429298506906097716922448180989145414957593279406188928598373065422461389554723945020778740959771409396833408439434159757603863935334741162770741191763779017641409059940448864970517233393865570880665615878563646653950295722727058255406312430982557832643879835776041424134055372531692145182592193210604605398279070234322596017761618819933171065140152485450757180368985854208511968245151119428699761422280380860583056921805451044653594094061094233047936003344457038509009440768141125647593290843881228443480465926127836054445015689089140676110008950670225325874806748385246650593078326304648833225197018348864031884074287440806054389602352769076078656810648792554694662555323616713938791134497481626486589356485283739307741069998613817741254049480411716315467401802680935137749276504988063581238615339391128936484420704554907276627604665309467849601886250009155155354794496439565348425135355508917336649062087149818349757732880383121095243459547968583715124641402864895417788699904929087158363034L,
69790885055927280475576589204948668754441389967531922453245600388451197522357829642225889046812413568513900252159683814611726899809749756493784021204423720450332126017278534854737583315316973435272060057316680539468831528889828521583294026935496871261880170024265812826229154308956798163216279714088852522212158415653603950066884718136032840805222606138162111615638729196292080995815447541728872534579900669477567738462110743410290282316991080521346227168919369499635973255138557171278259570802916346176036884357063937367845736924440390026175481436413570489289504196997733426473748149506338194784039879587383452840240421636731369856066274346240525634241407398452837614221059222771770695483216039044876087513615010151582097759392070839428878521681851426655501375720106911844141753440495434651593949423542022801956814563243432356281069783247476615162400813410196959644579247725722852607423309086350139137220322950085548515935142435962238641551019717148212981809310240648906305995929703677689141320886287441148598294782963292171023404927763447980659510329308657052539006064869220694197569762694387266628626478666353674908724555565685195416292759179322038403819322903354575254181034836819862022640299765404085457197480918102805578672927970694677827879232319389913626473298181622552688770067609880620129269407079749058918490697073624307485593955373120356586914010339783069839774881204204337443238983576739035398937748560666406053356478222071443454725780720117961607032553559009828902731850926311366906141514703531019581359896905004377512384268713576419748144823582871149637925217207313545346932847564062844957174848548908528446798111652360292098799426846479347716857256870570099715354963654345902726903917860920887816321531650780532250174262200542670275493312026282374402129472601946288687023204740668095813587131705073516642162190161354235848758992515485518214270799260108249589583149683914643515739291395226634088695852100882056992123251661592275651092550824523058459375061225475469893446678355855585817491552841660517821546021504344431178247447545989332390040868964283122874473971585175359729412662087842780052260968609841290187066205849929691849817302972602362673243783326115471069102439500383568108213066973666098162775062939223401439111772237721045525511367365439031740940695322762560894408220915942032841139122523271772342569156172548387459778704302326485121266171016817815066731479217531966120564134182928726919296763736448243236665629135654934964718270407598949752123439811769063363434048882029122104631458457039255098850131355727655618453815538685868312749360932309406382549459499998307690808547152994113799408894246455162102970835296404427654293163684853938357845197116957530887918005032950142408876819335109784492269020812071730737303542882243910978520947553734087085701609051471262550342264658468588773669500272628188004778738798602106382994604186847453053531004383743014531213018249540864154922161843042942197595146960315994582969601355907307760895228928063558864829485946217968889188490867434679868102363304072283253213908241175606734203531020620459318420694029499288309926383618849332683566129743005035393416777485561735708167589341307293237210809094430498671871822082416809648615543067518817398327987151199284174135041959677469067614954636327289844650239622744875049332890486834846373675228456578474228920241307046389158195596410341104183132116483869189277667902021591385217073522241440941078182354027196993549255761368584396474566759419227779216406801853144357514129891723926576545615213999718745655285436614933102556277402526715926978200212550839849111552567028457229596067540079961672618334147757497403515835428410874839160751908862125563491855230169785090515030813603049803636913414181063809027782217005881111490188517024870235235992612711158481719054005320083789416533378637710651537813230142242403112278430644479662971195401423292046773131914828915466024980617251082029931361185237300775300717361339391849191005431535606446866026041072228926068461594339333342630170731527235932396394825287839338821068023264924560672487969431277315730266135174319565325602612824579027168237722898814859834283188527828872822255096537905828099339636224946424739937464934924678092990745445708362457985856975993707256029975934937144572197652710277550577900503063011380202127548086296190278010091138336605987310611144532383623125353423918637780086446130865427369469359673359822909106293689031052817803098042392980300519187520577989551547823275399824877061747999403107753781742980092762561705291168530032695324655500207327541333873699948128955225377801981466072104592136312914008886011846807970930818920840219223050215797967455960876865564162465253773071573476630814573124617899155347261195221285005738239481676457504822405492233792874545756670838253089863885889925822180799631186636557255566117500154789713636967972209102983348643317842213909707836442919657875887310067115797114086979357585530643139578414509854366007095632509956565079940975366248648600080189763377752849830108315334688277149632850726485605742986862248989343516202140037605950392898726671498112489279148995356278837401417105938126882700745673506500704722104688396334878346266470870236789935462950035193984182021196763225468370403831538145678242817508960505015448548216993335181368979142568488351949479754294340643430097646537786336422740364486670661144780097395473279915798750613260917519916637008036601339717963168536811112636510344561406424616928968897179274180986986198649505543430666813760829487380374092723898980086168132825885929646434690201284699636214587836072329575950987593486107559593796845378937107360035840848850498534329655466950263979581443932723887675521219918639921737976301528571332414358372306430747772995686634756910114238965724436096484309780496803983813661953432845861882772680287882780969032587788439225620479461090189677207969682152276492069124300193012944069803341023097329297970170997828934772857949945957167636042099174379739367842272707998250961765629379280322809170580561228829481759675415489822255098827639423905764086225296884621815395544311734965325924278472542478168627330047960313069872403078469387751334143967429783489412171251415924943441582141309543340331381826338476081045548136933852615415599989824476106146130144324417739206277478011017696457784420172811493899455284853100174369904423430468130927271482440850615431451874249497038702224577769424689360637350696L,
115364628359740723782186607239138679777239554898540690082048069657408525665240003657227998856148061209027047572517240062666704390071742517255903787394789113079507592286293505072085476492758571339639685407844899470140695890630288287253708092525251901323691947976119709296049107157851740457066094696423765571653539062731752654639370595864127765370853354240110565662856503621705714683694624346075631829417814679378713695453715491741484133115593928151547354236993279470139198338080355468461998662059496841540585979507932252320427520917428545255345603978249458823210399525838557273339779440588374183387639064906636718729962853563031960318106587334075494826060713972871842280540569064277695044696261133817964789482822551168064831034147572783876762321260078917391436565075069775087850571786334084050394483505088424167373726259497046763172665191165463463584624828203402257848459947176149910719824561197002220859161048719791747561900050713125236417800391355968590586167981821965024806209380423160732916470999082724545240797328410126119949452532535610421586303042143818141154807843263324242058367519506382648559255612078852118367063525269621657696493390148589939480777726701976297818512682334550407972453466007032617374598073598936864474406020309993153478905395837377292749438866180203494775359704266357426395671506801628574570526813750954274530928920067236449772914661640873502539516831757852859728123270379532933277368080183810067540748280214666158491534641478502617467967278479124378843642238940889654063665947082404387516720229059773267937704077913651357608439686097705847979535254383918843314793997043418339761055696113194593923394540320913431189427281252381968334848920371013008242387267329427310048296446201112670885534452083111106532935132536981924477186192150309615166534174806757429834841091854481559795221488735855310406084758414981198506171972259810095113203637962244441435131359175708551246730380865860990293839377136856372240250604804026608918532573141558934753810656429528500746463633733321946172047770320926826287576270384351454655894023142044886012096506054218785214876717964016407380559806177537262986259781392624241949532011432795986592238737231251185154743973370733041067124202041608126426594136606005230767786083999098435467787371590856803187657503261788405257191149931346865802555113480607170670572065128366799923473466927461470476622168070785701390951033955438838271022801922707235460269310652794725279895342748945363191425835281116229157550309074247793800521702743621426744219776347333930163908126815002366003488140005100337013740443890533170346429871711468222127887041894372234901720332621637696322388717236389957638200298435482106412103893505188599824986528082136515599160814643469362914239303081071073153466006959360894184507252686328053597520429398495947854516454052088217239518290139403736818945207359447289100399187717066635615954240784695975718697869815621896613402903271432943133542087656289819699152667190479860338848958022444064352366927787704162748693174149101264311379270960728500480748969995104766350544792979041121993907110051647873552188160333844879373807468012053595856755111768680898686895123798611436082826734562385070585939364970035504409339645453923451615370708457091981115723462396847112527657606060136105251108362096406659686782043588266565937274057465549417144506298816057454491737268187505946555024517194100347128828058807306543490603892176793096826653626069926879100171641526132572186791529593605201722961782711603346875908504449765746818063530509682826091767873881706811474267464416054234539654156373107562094433759575920413107170396512880519756290862350609719680606972001468104500353889649692680694079142678431121427327024007487796684836417355056901087125244519197537007538026017317496174051511086901493308121461179965282543860844726086205558960574598727942006101466325418526969801224535540295680714770729489734925497329660592444658422119514150825060397346000301685447925085150797961465498867163487120220849359157341676069854984512396685971687229266483793178274406026300115615146281550921866023642110335455064541816610572279847028734583916241258276036784124305766070056794646030787577260679518091463262904312838047343100584190714570117625712939310308831095354638338810075876932380075279746830640051647868162744516714513124220830479905348634209485607965766781459385960213648610357876215175690671807509090790612222589102934476247538960791634909253536310176312603067637592955310981923524754586120151162934133190673651930305752636255861406958960119200410596419946493434476007548410390852030646806458551148930305022680899799549254157695385699962261927118588190591547414131809187659450133753599771741823573260039652728952284077995180268879166199482116079282818439346741617631864671130384757751246551028696274158463902351739219919295144875576929939426008899211217664927655476760421483571484481098733999534312523739734262922854253404714203178528924293845255216426335236595647304931628458799978632832992495319643731637010493699525390937918807504971835248217851372788872735966388188583334430501246834687908137794967013229597385283376409732703331979290939012069267907670574813971358417446658591916907934850104500916367732549214889939814559779819817534933285763956420190742848098513603447681401807981078837667416300525264603378309983090920803785314654156838371267316867986651678962573850435657136841007409817495393962608413614498428870297973929559898164505217460322743160076653499433560299828536667710648725890898794951763132774235711374093326290347578071342017467685131538284232532771809536119012963118410949505732457957061787846606951527062649317988737741144752792173158351982109211625059876454229111307036330446426471014752010739000716069141962204676742237471450618120524117742564704512156383984100247629227200901794655011213202279797159320295549354799305224136969428673601472806339641941801110442361814911118897667073894493229175597834425695882452014187191221528136961850893456481450048860948903944428890239421841801011720585118665038903169448021298111810987073512386637837263990263420502149386709842433592201856462035313028111150538463333139762607819574623006942465160060011786353370061468438791751736044248539762320149522702821080398830245301262017081535966371433415369899582008516639140350767577351914563224934688954911200608901408520484143562813154275490949432569073818625939145256852168381847342408280631561041678440014029937L,
190672185110362172086197642522002796492630232334030057066456404186771777416367068154122240405863685862550122797627369089452042883876309586131103748947886103356000288944892210604447989206525977304423886737907581626552484383492779669002660654591689941503296808201241259202888881970061444694098308634997950267834163215447395167534266886232071400352193463914818940816408302362494718985228244397879681751437963775097541976255505480287503162906254043453364093097344941453099434545683384127226333544635429059969738365081522664686714998596295819609096523803463154979963882485434795831760576178147646427823209344487741624156310435572997045397042163228044528216238999372204151468834830646212648710194402255958450986382449509790214343443058054766333118151898462673308626231426867061023353687185719521804964253622488040046380989567221401372780754205992323160980373126343216440387491537904695975916504816048205922792927476958307232856043287148800033302484580764288029490400839457990035026206569448188752632972572340535281772357553145847616001301304277247471454952749945167353897491911019288601869121831067067368136931026910453032143791528311475522986693065828861497026314981747484241793149312905638371748063691217916933453866321709056680354688107303154960040851362855773162161342559350937305912173474127164765749478706910486415616908862609165723969004646581923223332804969873614843711883014646030754283327532518667986493406082244985801983053603623546119653324327817562689818731299797481375215258570126188317225598274170348093427080633949948543174968338969907938176306790206823553408574252129025808830859073971465076303853107809677640391228756583419165487993689297634405784663209900033870244254812498528735744863132170750331796920954339120466873907694283544105097456663640086083646669295515680618861705245940203647787540200714729239828407256551961245426629726910263485237106241241772748548977951035891011159084075566418405378283039049593700850724802930368504511174173728876964711884974359649648262158569134642253784049988439282281072323946698013032560810493111432791950107496742225092561012871046237883328095657864871569061976221145548758059812019771927804815265415993918765427723881711749691779969353528418037483674119371844029404910929712880845936107696441506002633966885549834070728617517927813318775633525373707157449805389715118531067531710927363890731664416826769576810927802695417148220383844238429673088565539909516743846804136610864036070739812526828898188716291743695300814385602742828076209953427541542912421375935338980407658422422933601500520676066325077759202311093424411529691079525180045609956824832695233997577448839256053985946693626253078927281485196005890498590382505231471352568423213976105890423499247165823769934194924690665160496638816955730669648974626501601243317619442734863330952091774665560837202247524993123919492518835897327692443735675204120503404654309238919332882227109893639396378460621355953790808771080210279078780498698043358447718263683712974175559437162603360140404786988151345665671320483462669454250188230015351958524160704840560059894499520602456561770123850698085831461494077731719331902005682406733723238672354715849548361515770709997016561216800195724384977694154328450015845599563968134574542432541630699527485350732680924380330521089213646720676452656400396375249632199767933435476497509578997523909887671296526756109265635303679997068205462174951187712526479301998601047120768155680545548687278711118268213841114887614697094644162348958280552190058497364793476869939318087280435855121000399541208848170222760998071104297743453000910776565006141536231061088169391681081586447049628520667832492232082165907898130684835346904008920465722299909685786627514946211738544946738134766201419144230802197210167394327879189516562134798792423347312065335866286909933847167354410329619255347841220078608056515450581493982770572648336172230654484163355951978717734518096764371241844466394201756301358708730782571587692363979537846795100587289350025218256482027670179891828565764281608273772340890554155780159637607522840930420266977070858243930436713846715495067771426454434195317343605114325802645333700248439705261786958042761940737572809954764319945527692264977178907415237553255469542141691564383901908861937486378242965529802919208300156997819772268401023551002731804610385105086909254899192848553841289460060110596753766246021693343662087150837783280833338144898157332196960243313497575838913748329343262474517789826659682253152239861283937814305465723699924778757568494158885542075284953068825166340131718702737971174806798006123822370834192173138416889783561050349963470483378719679249977722017762588372671789183407546604410023821830972835708652253324160804296603909692711105312792100626346065604552832798714301822593368377868781213003537962729580174634406053148457698874505375914325905276805277952482449881923037155487041993913510918700911865943838981535619958573252114450587669468909185529893812021598175097302880336053153485652097792958270780811028851267787060212413425372693724615403317393033887930016452611969447009516930664197151587643781221519231059649089233309029593496075180591887917100327569786459577799213451094422537120298954640076462066284926992372878184426349804320225569617498404776306967706974024258354750129226277283552750917185811270210900997645997649805973581492565053244923556215500259843106899401875471581009437045012185949781884350458951845460936671093278413021648600551037416134373319859960141633248949567897157383055751246280833266303534219195996663004449410198923815886576352467051221594264460011783511687035302546117619309122044733182401508069609102253692947224896867266666754337750661807730106908084432802832748960245593372346204898788720412414554504096629000261500560912979008955879859762491787108078571387304451928784432695918263083246368618259221350851329608717919544275135714287725195250216364899102652153657692172976317322770030707058457650790825095237509062926333292387884130467266272082644263563989135256303198094308109864361353979685959816835010473071930602498608541275819888286521172795316768674544134274799413558837038937368055837524458074448730575589306422307057591418746229440141456151919386441368959433412784181496586891136594159294352555844503677768494812158783203977686540912338601126818984320187768412802092001857233072622741524196547655017151537657569611485791658140372725070652931650490937L,
315095903277491311944994636333535291202849866763196319539622149349148084538428668911568901506271981984608659795741838034642208842728946842969517732765731334534143489078275112551203506088091486177338258764174088228062461687109492118992843163715588650096652381135157587846421252579413898515048130655593210142206475080381001389844055289711940531058002997976882505432983273084631130544544152751071347676278886047222265809585111047178370576207939890234659444472406939298556106160483095357159392837330925768683281196966964010867237832643630029936737101789385733329601367743001163959429660801543619152228676125912742937786085153074953909380718202247004200422711890594138806051590442289890781008547314125504282409497699740691662565234761159146550789231276532424870477163811718250767959141010309595544509452636645240834389046830151220173673673549081207537956932168006319308185570498973211246370919051252155443454734379797035679045121538656689206588633603804104245665560660908665262198972758049505392965742245196753035792022897375962821837203971065899973526300708092030250776585097857967086612739925983562149340812675415019010873985844862757270035689728716352779054151195623717817456378979145716691867694532711876131625861512305447238751684245809152830095472737339647824945832344988878327998189327961119991722148735439643609733231343070113956582773219078758255553421345244423352398179602489507066978604172339888452898259693403082852834159784972921480293053725073247007184351845928207135449146430356568791211436378406384763325538653326415979180608107019791352060900575742417965082609249469646981205417741966821683081291083761856885550485199040644994121334341840706754826917167958626712089192953406434184744622355184313249501948461276377578629176844855207842015859674376120246521405407569092100125338535388681768056657833353043706555156142003163971874528253700575749959695961718695623566249924342701705798854685256737264454033236575326984980356012343685999819978391063839618463112533550294954468708815037505260630589125238803588189324951549095790206816550734306658575691370757311714749632048838754245434804798560782875276449122368839586113345498625103895092441815872238419115829641660106229184049660427524710907511462472527840862397130441621601988567273124987274727049499239332232012840649329757521223802342757373078941986803738961511692525169253621042184537917763236363196184433946604399059564221046465919822136803306292228402583506608368085397563696353563588885558195153560669701752026732399155320768470966599702408957000209735901513500920493476417413477122503194698546243067056197598844448350599729524276400233240352443253126173760431502082866276209583380666942465170131672186093759734551931051789287847822390275080321095453455561583599854247219704519977458802788246739753393015812158935052388181825524313355751498625776466362766719018097753306518709395805482135409875010558567542153916260290724802484131413559699661873798375308200762482144145521515727668595234355602406627699946911571118705756820662592270263526388989336339084434835430851257416473283671118586386206772649370483528034448236304408523306403421711573974262596870989682136536737345905395761184387614266413058404636051670983229931391456684549580363376803891227512003581570855183688820700847239320973688888913061011201716035019565726157600344756578433255483230458965870917347105029270876441858117355695497205612508822991470039902587500220632101618899849599423707928001019382546068100439095030402661428791164274951813194920652710080283647195198113110933175206412456863689752334612262114272424068854907868916586313493286949306203287278256882436685830435558596184246994341219862314442549968054696059974576358621232104965556204237590912229295577156749077853256612420676761040253085423196914158625816894712220247425991569179838807326748369492128890928722044231782628049475670963936015290232553917781463767966761369683270418087279784349069834061262211556054406092863899693697055988944771879125898081228669709460522132751738413383582856902735819407780015958663069871045818192855993284821446899590898359154867938334329520254017457054771359361682637608699249145099698089310713904917995719921810428011366551738839298079522161862744905231371487902180162543834230865936089141681523216279675008095715420993579845223396225015392924657112544446930749772544535830616435134071189187594242759898847740580668257065562999066790071691269384940069501267710282418915418179885016057568609414716877759545693632282670834503564081548973053293637086907489650664363531601470312620717363753549172516508404793938336994743123492251697609545417222048058391422978539656999599701929085819931179482078977370290514026314863512489435750413213118454848933763814301715640241483609762643235035756056398621594699135653907689957343267216756298747810948999054455716597945451674413886200561505569827040143045555397382617843415116347971459322690124406067284856403700333835762197126406049248978554772580947148172928229544816914661173234321524746560526438911340734557098374891992547410766789892420099681084224479913026404127211709257468157658780835573984919689250582438688042321822951748961699280690636939601085044036103769688312575347082504139600574627093178260330723481823447160908336042328663982137370259619206611561534097454729068120735671490752196352614931363652223280600753001936832209061775361080218173048314711063984096493218493371159735977703607930075411522703206007039509549427941897784800198341377693831331539534641986110380912453723108787778270312694721986337896284685736819905229908374537787323778901174859069636160322161119569392672347784007344136297237271808109028238145350915813795761595106525339698130024260128228862203350556721304967421745601780299689907776315996241801003219634293573924199643350482668900369030225598855350031329518767883299900221967832314930900815722521906531803991432838889239368961284425415614235908856541354825979449809390743967131228528166638140643088605631753653113033904978267891560274586126328794931454777734069962569824125757342968000575780354886994559571824473151323003120294170108366676594026420330745426539244914415995357514895823247776621184227775642002357753943812510419363174858639773791904421718453084733002938217988093783472049515983071761191432036434142341038234745960088074551879682318694329300621890797387737775245859510539391161908885448584692449578676701414314019814961006181294692868102204187040982662L,
520641694422004358005303084124522909487713818551704919367233957743439355581537037245882151004557826256459282115428409178740588757360413381334865154160757653616707585111104219453315434917369361647926010916995828786496696706870941754666708848665697319491817591593195778668684154208553056346924007541550353058575276147115175260558259045214161849805039930177992816407272001776020844782277018870799158577183755349485277404425780928021941525604649072122544605684872117809843414096650335556810911399887743084864857816464270300804742790225484397294697725761550762447584277677307792080191631343761826327731449893185688848045654273566005051443571479280397933406369663687192164319681021988884377026170974584592227000535284738081936981006904264794835495781652689063206273342354409174071192134692325410113289613128244224890701998288785388614138133284807723203220402551284074637907768775106921956572354951349066746936382244454537709482506216523482950489059468812454933121297209148451631057215607927518071993913310737698513168872903076752004303937710033491936914697198653723016439639685606497183346884434008012036104147543198442528665083423333184137979527334063178264694438155964902486599944015230126890949809162040472099697465120150288793850696625177444472991591207296930257237506345907439394744764508149543655021027862888327120007160216438926056743647056468840694477356254980914959074766120045025153712002298703467470016225902234491824277871829573601714203669251631567209006296948577894440014485586939579742337440056142929446149178939018679455839497296573827948074856363837738152387238717161119044196308252418073776817797281780400541119635832224862466580615356045182151172759092312757261610788074047917101295449913085608729031703522981885523155810478161257441020152467827875127926772284807295417747064381465964242096919602620988143352975407981112546993793808597465010090494041461299897629370730552448288828365755981850156385703469246535178854114598804007072060335326800794809247882782349630938979491577017343096360200095247568637225869469172631823490593745990683666554810981483213395165821032385537836724750163430635741383719263057293293598959012802827861384660846720204023146920383462288250515846837551657550371492177376670236524618998670349255563640036200358326163252035204841166797191428642277760225152856717788504425560280955513789818751953901130699663569731688551792003611049174589178620912742101924219006477123671741150616723121980029810360859171117598301137308738479545107077015549060077717005773611320209278161937188608653323625855414573483549238709280899598820296803817677526430386222967321398553851448327637413752813953452859178877384423926942254755283015256846022321114839118274510991090265406673455775202054775533139849363871481643500872472509149355998607165388248239641545646047164721264837359576941682459627850565297866918627042386373454864261144397813279564025921864385446721259443813481853942501509989802643027443698999632785302618174773846797089004978269645551745245954350209659456289103368972754604254760680666687458927901378401714736273142481754405920982491787097859852938041676365176659014320514366584798678987656688707604871132076900761457231134488571811493923338865056147977125763136863128386686619178018268113978705919493571264623035448806637190831979314834952865751117947533619502832743381561979855842383238786699248429326984731581246140358966113990941107768900217903801952709717981222953582546718290677859429912734418038196327136209555968076636669413865227011806478901628932022249382341013380262997636436839483143579555043609957812171638033107696612417220673477730714497634034925304315850499342172460267535020626029551356278109820727037033686418411068973194173954834530157405383241540169481487217913523167303953213065889959466532435217077578172708986766528005247465337404631214891291962985550011315599723093155903830042254351072099025342666714644788256907380469821592989852497679873480166965915904205209851950764095201200824818807584808649511424037358070799245381088570352534853093550921055796976177093978693496919751491961515692178296521507305773313327888103885043660396923033996419991318254934211585307769448765908250350610024936869276466576499049761688738285862382501146313803410831989445387536731981832124188206045740428274952533382915072654515668063234506880349132756888174261609585207003161393303006483224824267044359746228278402507384937345914093910154154100505705405070563282031549667099838759026966628499913264798367642695483222112262918438998352175458568278249123328865663623741557922264246570964939346230609251622824001338254810737640664237798689483130417234080749803297672576242085957637244162096769716593604863023304808208471586621306296191540571475408522206501358943250763689037323218220402065986342721118468614959651482026850574474708402189886417298088510091024947246981156992244896956288961940861983217365918962868541144964909044205907220380197524737213513984302307158177468251182951262257820260856378982656871926371598993540253099464508209070854486574086259359042916156169190516532384202739303269240855096306396466025749942280271395048163172208921949946213214495351517260423873355331290874631434471997832269730527685175676112782852865521478632686491600260275053093521583961012977533334033605763652171687989066603026349731547728993666070378033058339361009227041385771212950081299775372484877432190310510828146642697574474812472989721356810158943434905852646991178669064063039139393961876445005076438634362553956910792721011275927540912223531750454642750104232327925250720091978523805848066329247356257695248339373805274931770757413782854407010844007477352965679528766250419531968542405309359490554172404865927257521813153517886347078808508357859159939813095091744070513158668648015042962222275677466275195174942648374191078143857813963540892381220475178111994826097304910350133579146552605172164426674312231935171416056104478421844138813724313287118011367650273249789218053873786231251544033784157203868662156738107208915105601410419650726015808893441443510465241418834123959171978144978743758923334666751258312635823377748268520383495118959083473096323653325079245131608964984897680347132796687638953506614773705195064132498078087217224511483193346142799220022661483556605925671028866620558533061883217517379241483859355341434092393629962697636359148419505731386054599438907815031878840829929192426507852853742407298351799607530611517L,
860153461534756305717254288249919894549561671388091932093250369986368274258454009726210922669598794155384134753108961960976823472197110302389121319607933309837997685213766528989820172162446177213626112386409518836455528495693656621184230214507550524214373176527287884138044113439557233538121278213757577498814047641137301214296746137082206230811549695252084915672633619964118006193867211998175482296196556301191618889178566544975156244751377159772934287482639380744071663438320018882461720997033871813298194740986516975499086889333364296488386812033049828838670233045254704672940282135932171168492620642797011103398435407504321930874841932904851903604538813554891320429428798874677583548196703450600359252283022112788295171770328020979156657775773289365898064871121759188668864649461856826951534208950597310092883901108363081055034299446631020466789110934406477038552806787790507043815941110232256863198850339844176900521071503824640835682887228169818662374057771779085952995212911780871086106775720112333465161701353646639920342051021788116606713696090269889591321116880672634096792487812711056429634311346936085592249895749811801232363590994383760011768799751095473368660060852975025299608255989747269967391868325771218583764156175220272402478896593636994587840132947109773935125824627548600798707118876055250464045425847118322626266274384583708321717442025485920809539869225071715894500997381966230720719203270973980902466906716181036761466396560656076279027981170012960946521836342938226301506113868859657076747492967884042557811236630699991790227352147635129974378843254788398947548071910402876324759589736550165188717307557586285158073551267115199261535493112544148377888649603085343020476709151654971557746552034420221412684948764058643420257525702923450809013349825814290248598619092844657031338184640630042909797047331230817634042129870583877305621286428960351172746034684816745520464249884701109037857531287131102915387568128304714652959666065321116183849221708595999005706219496266956017429605505756148319839419763912235433213746496007453927615715505686634930911071004896887710100463322560202740506673393708001359542563823409049181997639585883560937213556180616532282295531595660537567947721296915502589751255831480771415585582603594728298642008912704628400746180302906599573654976912391982725613858441871765963716207809507552080681831356347763459677169962918341782396368634559183165931022497668945034647393694812546616614082798339508991348691616798246028745318075499567519264325185319179698167884324709179904724887785679631967752223304572508759589846312935797955901699990656910401838669584312770042332123395945550121361378811731701707742927177728797885826986737885665335695144327899246293876888943372666427134359449439746631386242088964830128200094999456123059671866938785282731552379308473990894628767510025582889622593443862306712104441824176579596035189036222395402480212412058099328391258986342696566416944160330408133967883590419678079679004821947043538679247147839855960504124487796603730263193007140539906970032568010460861992633410545950119302924565447482764841578143258770654377086733955340088143504580841529036213770364310073009768026088320997735410363045034677501037948743819696552745299605440394577155123872083577984959268806348426603789356618766307717515010966753184408957549927788140112509273364128605812536389569391533431560530875090112464899660883133150060147640246892918910304253738588668812716043053049911960780294330943293778097619697162119674905840488186950649371698353898616032479527129703254559884449656900598774101066942551122579207057849927139160113942124881795270432823525092433462550030225224061799008452739862566353090866875472387508761637884780789118855308862674420332435067270344572670157623434357474907149577539235331076159771420092811049900773860028661760503573262047712578008976852700554535506229970956427359857518703319705663638278064722712455258874120842570418115739777298472748607087767200977021740956775622141677579471431556229388697239023713185953856247602769249992775919875683166948122244292157537505704418301026327056041330656587077840671777216136098295446248293242745526399610172015001543681408242929343618382318089184589189411881483156471905147866125417751559626205026861722740139769539436286282465289516326211271358923320451534871061626955884758449228155344351314530233875250406770866107031973447543261348951560916655952401340286141527721195695198905830963745620989183432706544137663123344593800342935397481699558328816510612537618360969905766402776114417705462832689367996712047759547345654508550103165519640117312073041466813582894402461515195140350713362368653067789234646925282317103872845314012447471846414243378390453733690644204304925284275896485437270368340678478353656954713138256853495227695519514095837729889675623979358000294126948563334738808716268470417525050254708754437620938543046410591897140897676042294777281727894315632835179506792640377275954189932000666068762969494000546574184701145259217458523994281581149626409176260988934266445704819147722717725947760118426200218116500732758634291245139344537254181440252542825744372872317179021944885089993304406549113688645888897330930338374278798353182586571771611552875860327411186677965765356354753678532437671980059533774086048338362193722604607735802067104534616277617615199330448169918485384609514938811713706141152252742247774264550017102678309087197031584900344100560382741750094791996903250710177881595255128841854265278669354217472225987060603073209999524104725330602788186775177387683605329200547522669063801535393878364462780036028309107966995982851804666208454311746363828609625211060807554561964733242457544474573795665715643858088543699726271570478990628636585904192732902451569685088921555426490375345563041755665750442905582580281020035575950112358663922907080490947646411570444103247966878817753539107280571208642716364646636313441673270373204761456396395475585746042201349726134323536591500885266881011613345211717242955950554341510699630394440284296477611162534000961839321617261589415603535194586472055491718616030019814799568797630354582033045334214633900360153101771885642685011562860666339154436990096804433442716027748749899973873360688022412915239603308275533125462822519378424221972432674940792806701541471302930129568729778549798752798317517741737559170828923669026606645994177125624587794504128260686157471496660987468L,
1420868155444348881748578392923578339101314186205773976210171197618189481968584637827146439793900591325179432076802471803327343108346880872500715924948619530549877073431751224383997342030521532355992446309727134547624419717655988417832654949359529159848773649595384527629609004765078498831528016876550974795133688162143988165191500034871280246172667923523441724599911709182436627589844567057988541706074438004387052695099493899506632307698898943028211491184730240327522498743310334429617770778442327350961706055897339579675946260555188949824844995877584320595634281546950322440914052201676904086148475374418079615981567214677418652852735062348977567324042812450194145440459584303062850999891056546668340300776123005640667598898634004906377373221512677318936879053433200894494390511678417526941389901482721971549638174718188387223258778165309884606976888269932797406903875584998901385253081548071823914831348419376673735566951065501387184386773371705348841809071194707373351187865540938550974558184265942871071173139760374056385244141743379638269038348056363587015976769014863470100133222335336684244989736123592027823552232863485674982746433715286396166024872222702474911327552421829840458845730345702417632067826795867272458801564233394165493174174517443013516501849746012587390908016099803449918697599813019803611561691823731287979356512857265274649393474731127074568415523211450969981764654331596908602463711165495993426897651499934611175468223085263346956339773943807515682791481653959766697680436147080404767660766504511254723485026940340511647680810128302010469871457534340005314468112516298926703743225634785727362924879578382549956100412537509438997455233838946378368690129548056684472482075159484096353836355039595235911300957350005950593370882567770608163289178580560650174354660493421985495206644058923127091422990154884690052231652104661331792268361399976409220294570278869065798916172113901524164322779007185323036012183611786898588848934000584245464336007965151508542750061894868299863429418447488382901992455117218554651278080552383819615201723512491239465802352061231684776685544263126223758533303390042203031313340626215140512097505548217971114271980271510680716467214143590833713896717310815211580452924937140535379155433068561908294843886628601676307607525793723541505465658549861091515798024555761068733736700494553381262067329963006149638547421966007058456735287546179545517134781981573832806586051757456087800833849098824576003285549961623264246390446650598261603695836523088419093168145660380593137745529374194204110437209063344821571347088372840312479068082507599334669489561655473408418334924830762489015068604997477838229927164277001174871497366426576044592626635421143108081332040437163688860070209691058023151200053063082502490253777566444509459439117224244289784318130298311243765698231587001614911636469381206839319955775184079219217909932767668012448986401914312236035820786942401268654031993829923574822460345175875921554118787971080736684910034673235904619122493835024541268296119754738617533165339376598385495739975208342264307131463066804454699876056529209459618970587997497774225530126999175796752649492193429149342528327315415606352564589267729065449941016389854858333420912792838575045092388966894821194013709180472207926238982511792369266609455549808671936066550856144704212258095836724580868990226441882626142690935167644623011628538248392853161083646148806916127195057103226787432634630351431457609693901552413860987841901951759280656683657936986561573886883325539295475305043954056089951305918056694309126058454845804910829262591878252195798559359877678883274307664355349941166337491387236809075950481941302328547243034191237447179197393253900689257431000436853250605313601449956312687305027342238679442115110474911541356261593614114732216859499775485120253405531718386461025125085973643106846861617310189765256399346918059829239291470262060353712508989283145471803590969641559069455246007981210865359412061633848455785908649145473361333220097617245379301489157402904713438965993862631153053839061747383268587205509113497388113481949589905837372504321092095140599948950901627658884119704090986525004180479880734684119644953976538782569162148101556197689172059210646804542486851232117749269351116628362445933265584281927623120078168870952889774712301275571838785272172131190946905491543694051611750813630347093020400237611817253392441282283394311538864878612746907195590691134809052406789147960098574001731679406146679014407523687116227984069694860844838473525445302341374817847501250852207589465156211965114741173040134645751824418032696951896807534332844122369734837550093230741310304636178189173341079222334154117547414605340473230685576575153663105108407637194339283167738427994466849640182961994737111522387890962179070090024287948740863794776265855676953705034268026272936597169110981243193009473398044740650836721411303459121563362170345857540794738486404721979448747902831201514250127959278431636372058853958982947013645598623998524876518401102318407727460738617667289010184629600114533606076165984219234446374804765238504480041713684455693759505352504931098635561364769787924585455782371013963118306069548414714366175019368356390385855227379466953775390739775513558356215231240725327291922308635966306909830616981181768686064118897676898562486611922424067074699629945279062444931189287546195803915714217572224890472969419691233161733208288891254939245549965528624252594256602423521229631064476683464425539360301889045065834884377458181883543000065712891937578412804293566192179868556651629137087337179963575117191916471522799190111292919365136299820284506026968108904521251471604235950008374308088610797363986494232302787772083924638922195199115719868062833305935760433047167167291413928812801434070386347602820817123571554077299105525107863942880023027556597606244795639604191798963416022377428051737898878769425144988907378534643000011097480120845705066773820732967702127073543031430021426704416322451267764778415327651807177474976447066734543925475231055346072467932002506493480478678843270410853790902010371118521215654529300519862394756929179685742854588340221598243223427627780898735665073228146067477102193343234930500599760860830624488916371731241710865600131688255155794499553620026945982503737958022312540013701679942038646052305013401640532388680116766199653176609239507577507471832230690588840335818201L,
2346780641821548599290378399530839344701081868259453969739526199373398137167583575133325179135134775398559381024506275524055261880630361454619530505400606103076431002801770328555545022264066020058512575033263502389846802981747674816114834065249197216009689078406704024458270591729368655448681073387845500393255594113221925422630855988925429991321989861296313028360466427345375732945443007961668076190898274222276870659051660870753085225234417470772668729507020814559363682972998656903843401014207960744189456087281514482284271204212835963439990599144910856691683715195842695726133019971998163216747145463032295599616509961173215882862576265295537625053423999826795782926411380096699745761185154941283948263673452377426160018313732584517666236156228412077522761792801123419865016361581490676715514397800053107351632529927921280815277738257635090506765228295767015421889128329453357427715743992594232377044239082668160230342566103774982957106081618078739242327249969957675586496970295034586630403556219864894160817528853844464100910390978745119168173455775655369218322085727536924964050293699394007060985138060361468500957610662866338221753479910688233119130481612389423455193576902660405646562728339773042492549040797645206063641764392107150027334164659647927622676498085986700125950213731009680259079775494254314305371593787096952039317195409261721628882163546970261966547074419697633266435321281119190941333452214338484201396655835375883302664046352610244749851525275080217350715083298821616877819330295712092864684673516456031099738621947879511390049764045273270283218000965719341158915529777823181938832179416468905892495489881715988714242119397755043914559444105347721142910272960940260944013912861502867403928206678870475803367689278036941866154810665170614767897508383568177378951128226067881699942635085922321574771191073666170231213601832387444417130813405945805569801936260155842576425662262406201188816664924925009448925150959271791988677175945521248828652760403642375252481222540656773972398334926537636346871339852676631926922603274411597040108126528554590635162288743461771320022587642047429217248825780298017699316749590441581684032490590024336154146811285894297208719204506936343825794017163226243416232488357487806668050921496018291282224490219499688504910925679406244780078569630729662330665200916884368186216905736697067937911141086885990352816904721208560947317950245346147387894207149933649300516090432149289568468749641926779821125666622530234439909259197179228283303331311095973388825527446066616949132144004251517491589795540793289508394490094301050991350161135794812830395458818267814451537659901831363703649646406333529045138028125953903045122837836479976862907920234568751839643010430445391956895213445792625404738114284032515882665021313914117977529707690760972546427281439626179063758836233658177606633944270601273938640296222279622840162486425083403166744065605009410953774633650909970415451784159584203916798764058285284411477816152648479505060029341831397647740806268518057978294582280801473205174558210449981803484266539307498721028364299393939372016629173972494744662143842078989968611705495111125078409047637711381452979202328452753366401863560942246233624482145770827173028623379967264415109691134694807476448673125065608826676484756978351049649116306024038926161331883585109009692445878944933460755722341681652874654987292662563067600271764631556470605621214821530079080543267681081558606987083464506210237749126587058242049217117315415369994810006214605881260946711426999460545235926814224375791688758588149926401646269077309334311465426889323059034223796201305586327264839333730107694700190794742903596138472117359875637572556053297636669665463164121435627120445815565698245741137005591278055060098357304052438986700498822375160202183186901112992138437340179063475236452895124545421673482894034218119718148170929216503354828852378954225685311656696135138474958170143992237569078711190108010888313797136106556342694497086785125146313975459246067494655636893041961490772387845894287587006116569052282029159801403501056847119495495889277054672610205007359551273570877960555934175827982578018275358505546748202305920136526528574811857364112727138294367332139266703652978672438029895063824079173567472992914685014426000508050296621441075909279522362687998679652406834248208883638930573271870278435757393443099906450944041165342914365418856831137834708456207473862241596101579772314624171326734426765338776699268274422851918723923791114097532344926816522348735194598637684289311705105649863305350482900439660613814506136259686602355739129014605354256437338884258294402026884949987424713700940863263857833374613850887884124087471165943745311643369645140481493854061292554793948093891480422441672810095094052547450276275840731304232805018652638060848223907085912011149275784575432169297560578599101570032444346913013547509293596079396754105830307481998873139468509200453549816450974320798046718760175350623734553935343401637096317309610122387992041763441932773202038845668829358989396083433181805097579239741985663270231826266096593125867662970619672667243305472114515796362279098171565241029976495673280055220175254366998252075595767855442758851465180540994090041577267902017835642678697482223441072636224390839987652878641098421201862991507882355504095002795055574623439222661615764280456944715350229084701374592112532549784582605718031380571458077351343385764384838526254636858281057971070576787848041037114730859842604259792365580659062311117387916291138591896531119503531845717709382579217236245619505915976995603696016631688196848262832927364559626282630320997830420585595415280202533377881470111275810655745599447093369008705923204079346200294486503832941358287370020617676925967095619801880297546556833005807436979069029760629914409729049066050525137447464244406208637508548443289359613394106055935191427594111125512164430323055604129860856181141065788919489627001200379174067855775716445873364824072441406792201817705780435562042990434629108787788729285196245965167100298456621424615773885046365527322533585429630210389069300260698541944067740432663446360161855234849214028250175534424214475150006060410952876971327822337007129814200161407545332433054340050135928615975701096577523966812598839589125249131663994671799740952805399947757739977483649015017546937697309135181016977925278271240232930330996480898966222026529261148L,
3875539109827346936461105945520768526725283766426509962736920970370850157245968484663940401166601654089087587747117767023514913139119325661300751010494804096235132297954333078289934605858519866076357486392069203239111929304689216851627297721640022134468364308227223512683386494525837331152400023563447107558925053378447964628566926992670184703633338814524322690619481405321632844821155064425573265809271418306189064704673480302557958935934072225885979516291152493088135211983935594745947672116720201689979261246939427511074958305352031847364864835594570085547441799174887892242797444016584488211658380341774531727806118145412598053923972473396783603315386636888381157397801921641300521970614864401407270558328435044712529677279957903974839794943663882332643008487239773306192025298229235978725128406494760690938170919337016037142001930114407203433021067858181032659211393227738663270689712547212480447974829155995132854836449806259118963708825442116281567659024426004145643554579460645955586270788820252500608749907465014282529155924289652075519431564228282843011774251889538476646383497664404035578924645617107659644031102985439161304329949983238790783304927789620270819679178588306422076753751167971350815376476258936184754045440838828154280047556514515674753501763477351764885332925056550943207813571060777370479699576215973114794973071890765118916521198476562328027228329161796562095356237656684977004708875754440939458914523359937510183291778888407571404733374686460497475501368914759731497017275652439496767992711466726507096702571371989135967875356057753491658137160344120358014925710323244157792682573497516666675732385135486456850240521686807269824040954680204007805558293964393622300052583187623436456531935147487236777354647349930763211401971802401672312074275246893822844174979883597059262981841336635264160576115401802890028264058695210395745221222499780433057005202421340779386345873359378411413852761378120996604492041433516562255779678191184458128735121433539636724977101646878155614328176487201066699501945529578917494649051109839352324969552906019475190053300121834558136647481389076998318272504757880716853790324251469727049624746718561039094529101099646848026025392976707329926246468744966031780226526873462138245210304685987874036451426884527157100162265206106422930636199862908737334251298120754565472817821118135911754767232146171485288870926931614418964246885600504420246740192606448726851963559828738643891818191123669069649147738747679419388461210040817655656990082701434312509842179237867845816322729766784359895346840773688822901963492223002587139623039172028363400516659893000548951146817380315663500051813661082958271981371583022544321696206531791968795464167573735256778896065251564466022636951258082046028837763255073014488261866695325534984424303638113774939282249334176968532801600807605477880037526313609080893984006217372610290493138418357812584679589238894679802902555924019486857687617794316838293242230883526431928026767016709299324847306666266742149809296028377245701244908610082522361993598212579286773670638363616972250449213881578301350568520505554253829641671432631583908440558984564877390442496748544810654204704082663891834533286717245430994850973829863897968736895709045891458672825618348076706508266817224136650766642879673769432358786374528898021524623119357618207838525506402276112568298231509844834248989186552708065963798215300473026340136302208975428756116387208099815727119339338775577329051283872496274282192761301003049875368533933367736754174033128185879655657834156411741995464949256754395886386707606105728837464568305733648431226047234405070387447700190508553558795017782252464545776073129229372361469624579571084238755979408364481756805888800770877968747969829274099031247054911133885404248431734598181268117612097042745585764438592060471305330972284126160053648504907058296676174593143881320205632237261977339278443168174678077599671197645297632442065691824157931972094381844080040877670405781001034299761098428115885772499235211914136703158786991695242928093622396516864059909280385268809321651251524815070796822803715732047689460113227229475142963012897432265689032437842514500570755928700381399310160657974762850119210849191165832767733908922037223695276924882104397524419289483846485675614071758606549743045054954658686754197707596108207591434010153985900403694665300168606106274968360678552221253842943013571465217293742304351142917561275590572584052720603875678836360869852534434211391159297796729597231892126451947075518690988372025578573214316017789746822040604292184549932704803062365782981028237998273304748524340692722683668785969470001642362681953216157100021492072872812710528618856288368238470624021599738811653788573028979323278030922240614809601602949925564529903952263267329631338027399983126992800677663058081400621027967454694287397858458792932910755885157324853239087261930232730465490713449027150619813961731026080535657866141073586939834916517718404994887253701760246740852714950769287918791925481371844619873052762294204808333022459105349078493555527460098682904890310251717938973596183656707398881987855557431972557372600067799227061986120990019009083598055937582782669904777712667500488711846628181319164144527227434257044627612917153954271069185274869291284363494108841390822243684127160147528303805869401930600953953379180903640031451922347129310068396326370094750289923057415333333606350413894717472490017739589291749999208894345886997593006844121838134728224880963594599541741932890401075826096280857525085103161840024541510122805443882674892211173930023143651633371195237258415283207351099743509008244680601480467276438971682538071945040050899238782884743043859301978245376573873742823254475638013959701170895238887254473974939060209667088937288272061673367864783603098855440042877483320430227856770613558416766728639597193004924818373641073193899316823757338868455963571879729768977941414558227380664325204455960290377353945411622664301266807979160270418466647826189560899569565598100265019535353874152226030577084885740948091054735105160058033259054706278876700808981211872476795757549487371293923037736858599474184390706438478073777903594377136499593639137137612304340170610352698389025739667000982014266867836644248241636286161042992348308515432218215605129236021464182721379693778407054597959852534411202040705340362805222400231680584221457722126271254122789255595606L,
6399303310616882980161226151847018304577855669810012184982882786102382289693853755905755769550579026594941350868982358081285451832431381906980756136639391919030027680164369681163761969534725776739199847473981306701363657222153053341158959345703245283762871478493270253543691044798795560149777716014450393752631561667578314233678365133978897874651325709866316781880309435426941695490305513535344235942322501788602190797902895137802168918418794279215387433792565645921948406446713124113439630103351569372731717371932505041689413866077167730346559547097937016015514727046278333871121514953886283355728473014627393940848796038324238067141953117879356348487528346483433925216890117546369570382923378072310381702618351759691848640692216078971700517319486747614637256889533506851689119234918714794435306932231458505987699080349157225638615831735002040304731453963059175027477190716136467672461791958399127742611820432532962718518851987506706294730825248026439934898772060133682208766381522361030378280294816689783791861951084453836612556682388296583668839687250773881195796471219312627089319756942541079281624179786345759361363309241096989240983073460598438130963972991354516992765779928517385215333617826739375015660428496941377723502251140514667424154953184748292062275359824742799425367495560925978848626650121503805569829970047554612259967604781529339116715295887135991354058962259259822670729887438095454751333407528140227679857763874538069958831913417363568187487989298472599135940591865584322546983005496411575082799107163299858904061074071517527328377613814555234243522119688441033789472972231410594946556711513612275749251896421332870374080300670898042227291538128775264045028995419636239059734109903482608522493171411411358420281483056562767573198073473439022424979261856366683941054823608436136118221365173795503170301532271565982582904764336780099537439156920090134739077650414562027390846434163341882248042532991823525431766944145555662043872407575654487886514842828250080335269720822765308561169914334646140778947060246946219140674574514721392735073045929031706138553455999709766885560906435427294334319765504664072906274805104304943976876208777123350493843817814070833280671631228295940792512250762753768853769150197080555524088606726507386215158757193584848843598156791410329543893681801800578566598036559988627119809010099945424323241323313588420516818390157921745820382862415172640257959666818995890824802086388319289438845580289214689274208106617179292942831504897065052035976750901201350033676664326110069211337766093828919929821681988927678861043364322470430512573169729109257314866677591674345255270237995014992159256383301199838826271234758740506182014589475449982027857419133082215936249726285106728708832261284336814828528426015552686819001254925865498294147921327655133406185157909776404057156537869198485997649812193149466856439241028039812997300207530111847287603316342396663101434501586905154945806097433065423811220764471308264397964538719334682952905797483650455361163306682061557173233352012060111721483536686480364009687260992662588816525210394346275210701000363063800259136889710241730098626923453451325811230630733130089214497659939629445605583427414062935850261121655697580066340166754810759418015761348587234438261037373213155059525723833041771238451293199940316636574589277309274790184531911889806498959887742767539770315815447087623129445041497263596806974895542229390567382576442007558367159036541441749049345562619725413749558423672987909464854964447953220808117476536841657353215067067084807063615182619477920740231916354483355142912597629808471516518783390596770770433912991323879569841083142385904770271211022997556468680971325089657182585444951771196070028197028368375765631513301180094647467186873742792815761684393104642255736664842264993551736525004436334910890144491829974426410308777460267058009828895204683432859206530547617016772631990103024297168861802015670998446027981220003281339858370644840400196256507178378590407553516550311492623946874197518405926125286644741593837246616631969873113689382545155935188052046478112958287811210001818254673104184376479309836441468583150846729458246784164296671872937146432896167855382965362967452822575058926629848417226364602852872428784438404774457129692159978631871085270047645403614832541608624630965604239999267752869837480136356838657486134667794134992289485667370825342944753221367696700830708980507185847955189714502505380834023968376471180696187045535867172405874186514858475554460217008880632289930918691245311047820981543071654080130542095762434714551920168718277495241307544565247223147235372151497844045095945540762167365034919045301001320394265544573969547223478124531868289886453434464294325628476367918471050727603294819655378894015560847391269106842176183907240102654300066628000267195486300622963966252689619515680044674045506698494057189607847919680062333782617791635049601958288275364007752611856557136573320185067847110434296707075796793280663545831289990677966403032500876368501868465944456204600725494939428420943448114982602898275821457234528023592058380273339302309693901527944102490596994543235027617207789978413461267062538781506830326687597084200935336252169318960130923063353706686500759245830392725854923738037253531825889326396270119920397378721220154229366994914180375921648909759646309571088131018468204941360256499657998144324047610833527866397507952453314248805764829795226712219175611425501383419269513822394106484892888908851215995804201328595687094729020812131819207602141713451474502192738561821849390780779731012555730253647523747476560124280352285093307710832963421739193454304573519384679087897501262535292650604960974405178428031594763575538432511957525679482582703037924406390733945796171804869985982442126252530915187638204565966889876739846888790084379534379729313553787516484943825695430758160999285002547090718548598393288928259366359504527248432046893161509842348895213266971240353101269764972760604975124999462420490481336295230806665906914920504209679353303875727703077935349867985618647123945491669304703517142933581149063386070098517702077410239585893341181267249722656652559820051422370601858203704494755441808753525440532526183667154673128343961228395100430316584892508975144342476519642497014951323542116957494355028913142684455722590191721718308357713238818953160578422747527273004940985987497258481644797160552377899956445L,
10565115386686877200003679136501266278763895040178480749037149913879456480590621227434325366737140623253215523180198927207576860132505398263907721193178058042781423223151141742486715907055188047024407156550957326409673121737805512716613515236461122439742978158226463561655550385197378057963403443970654266888569978055042783200851421588062620704044060891013242011765556542359697828777581900187898751839335112242546625475190244642021917009481056588083268450079601161444364939794784228996452053515668824328859911072691657252126559040852772327314491875172354722537126005720919478277748408162343525778356242844842186731487623179163912691232735059609893902464952732355708924789656355075931586707205726601618330593885322921411790505822054017166415498341471296996058836578374220612573707192369562427226998497644322309445670702642952921604528174305776936488931806840783106671756817153385949278689311565038857117919799853372247153668376073369703202766958275054204820858962962374557092725352375390676462063764685601070972987943457697105724760720543365062518342697493269292393033615452463176894414212563343169027670290308317623742341448931848624402794487903134441685390721797144854891151857813191820890052203611636411746574148767107822709140691150992410647129875626285369707209652875990727090164981813110161547345027426213060950479876102403684430283040744517063856938572625347178539532798336696576041590566356662678332823907265369799939502541612484056400453329212060286469903841896852458618221080233997877498886460458762391106540395356714373823071635257643193536579140774017036669904136081054275765003866409648105990774079034957370400439021303820218678117835760909675982069351550565080787673062761480407385318214528157177079577660012010558238208029106665174167178161948288832253695618659116211068110990799444262607511931588362133910409654014534576788179103441062004146357104998235131046414718954147586097943931108352152487314914024072966434769849679651534094723018500576208328408918157476944514991841281596197032004650890016725754814101095610742828214303349498597694700831851227998402090564382750577509151282226604651224409631176526795019675962981168864553400375453778384935858583716636741918487937663164624565832721976356321726173811087529275406733111071193978154908523884277800104550632927561433410860389580268835030534488159465124244319056934348949816081378959639072470130601595108106801811865994173789110018526784551610053190435632010103425234300501311360587594406423122678369647338664635273717757915852988333593214722098410590062486768771302467327680267533179672393234078431689910130262821515578197187136093464396695564395894114135927656044581736347588397000196977639618430013392541751509242614262675926644511509618914091860780367162589039847700610958404858788389440345187653324448298159139893702267314784526103157053757510794083711492146539174992329782174052133886718306487655507299833051392364146126164375930977679021215832325513302678803119161448351588992931565052885141942684560387633955553583248976430555258701116624123298715606993974372818725664431717701187765011884777457820350549624478788869539734899919552213986807234462331634028205628731941865126167653200334055728837036150361673235614053598639752589948672995940691628477052669961174562937456045472883270815587686801185134235606284054600694376063018192907487666433207593883984811009161392813438449336205824207998710211150050692536358707947205461045233083895836327916134126493591665907204503557729052920888697480485732388113386578626675392480107564078967995544842340870684932728205431343472932320159822148924831826430262945496572058374193547903956366809654299818633151604935651654869854437107046288968431419962273158528107280400135132624289662859000664884190025748096289210112384776967373341066932288866849721151607683698019780592234988331880790100433345601454679964585724080183553765092846438098677997354567862121624163542850224307597139153857246879337044435625507601209599663407144788379073964910600774553192893904014800370050199157548743954618854119719036170086973767662673148928785731361843978354967071300453725525020769751541143730122641615859870647499485293847075752254834699071644812359175223415293294328055757289482429176437231553180705832900789186764069508302185417674474908562510963754231246168732862457216285663053660318117223474746070999025165229423001062368623571495012814722522788847895471747584071207933952889540297415399033526539407805438480810154163369223389500349104465803445209033455381407717283315646346823345959943313466174676123776101310468985217218788364112329830014873363259744343926883565816419666212406904485380271828496930568616912689567541535558136811427051278318534996094500161822732953276515529581773340857088205677370998729000105943008047575985383085251820770358252189827035509604928505738858768398258331617070841400505859234566973024739621931068319748172058744743297329742796420677683852574726941660216683107253185607522570067712880291375295038369877508951778735850400712726904612821371283708964958914315826779535610674699767455310957531120595012442133482843099168284975182395779258001900047709995825433620309988277900210403614804739899616364434557060436279229185239101163486857986366643393682090837946270748984909283316618442743606243560690244923686745419574220048381521659721060535156861276885986552242946191278230007651921229034614476637208448746674174808234700092436907678840567467562896923590151910104047818497052400897431166380719841344162591917996987966512970993712973484149749884702984550127564540658499730096347318890832037878876910746748656373596017219566807398231694796227492012221219809768409591200510222600997345007169886924667694855887538157133357488459827007087354308098649958501693982175394914446405486929946159422245971185030037338168575237256746820382247649856507133236356358820126471129840086471241473452699616913098142778150205108518292554538411771329815998992602460540571181146513856023785491944131387413530031983769028388112082541905193423460091604760669589469320847518851110683555454250530819570171976087466736249488018563268616462503103609779834226362244120257768260046679564713230500312343431456733110829289215506380012247484406290228726576513474793223006172567105338363424717093549210754470208450351105487477188267101429932205611381616756990520661651553195842515926727567724790437782786805396363974974790535248624319422640786347653855124115522658292243506L,
17440414644978892597737250011203608248647745206376855958106091211460778612068012291143819121531731855034897167977138015328185648085350009492839127505678378244096957794319627637119025430598713839233541767259069040197361399142941169469933433544766577506462869667085267819624969587602149341087146347591525127086277674501384869650500106309232151388169915618776187760444744295227860063500654990806830543266859485721764594396646395304159794306286827014391166952439574541492934358955590648515488424510933859697695541748689045882952143092986235668477399403070104359830185954073958642628820211246741722372346495854213261133839119260948373207840234477134647234376657242781930108651774361714800797540397335016774301767071803005787940558720933923695350366755538736899883710399508380978883640895703252926100590281534322384728048240933496927296520491782421727414307672956055749831785329049493582282914226665035216193640138979031385518152907898345689061760130706008259279458986121200093022226486689812734969863928657824853417653042355760439051279297948600007053344987765048315029926702209653906582390210554297487381465186001015862635817510939056258313900280923391970202725999069774943414228677411187938920298714969171192550354505802096665305181417411783534199433333734760120471291073460695942182695779969627688552865625331174614344445312456706473968481289803572163263854329513309966088835971409415795294826188584165079862062859736988827452887948217978468675914301962591181394930386895929425534113510057677888634974824283582772305018539986555104493588121278909941762293187825871854509801016316869901705417304506618676559226101597497145081542355045213574444082520556311042118815340988972938704920753952615228980318380941036127812648182808587678591936770110016283649895033299649725216475870948307078588029728187735852493821448370960203455241291673059043076447116124969406031718950680928422825135437322299091691727609128504043504458309534664031969946450544287256290188368724547725026548385300138532350018188849220197813839818372673822412743818191432668291048170281326355621152334025443530971223492348398909583889283635524620511906116951654441621730656773180896957889005384321019542856899258450052044922374946213800938284405782527929489208738372218976680017035947102851728621892000877066392251163836207130936290270262520678580071152607461730100661622950032848575179856608236740466016369462048726471850452311421692401981208173095379951821496550350881407921325792389386095285903988473711067414695230224810649226317576526408778149216535546780009542539059603877980161731388366827734540137620172707041161177365980814331870451275822353434427546283379816829073199663530261537024570826324020691104249801070669436091977050040082090287549062008214115768423739657497291616447345236594864898487528828018873858575095852970979675709087086266531658169060791275887558445205752101943647809712378419179291261731973934059617519713211866322229280151886156836758937696608450004740491561588932088864628374284022987432275376253096221058953681234935431498311024813016067672087530511132042001464739287686318631827749349672336155361875811517042603481240543476452359583869454670607991428245203034168279809635874782906811511695376425828572104033349946149699596284233919169987099573822621394297678579630251271049019055390003078066085847266491727158995227591478881286160799088623821370488551399387824484672022550781713005593972125225031087701817088580396918936647609789803358193803899238982899270614163348184900350320547423309852037203570988439405462748276448521639676286896931166602166546026865360004368067518455256547860712376587943521302807629650607784905284705452233932722886790679353297296477226151542145917782422751661809811649016325102279016072414663627799337159460311112233459379545213844583663361316330841541640967109968968337674158485634193311282768041760726189824498287610322430497937473433893079694081264773267891840163401418812130771058191487844161099532311436873165492011622280270648832104995894809465356944175121566504465719434679720576466998388829839223212560845025606095835171897150011463605044020736925311371517844286616519801625162112221896902338187882657974064453424647732516052786342866206637512131130322870679880386063929732090685200752866053448069996106581507920732860702832931412166036733439153596152077149194652497184546659414822118448153208665933983567048457902448789689714154505033884925442758286298758541290848074346384038510534109443062057621324518947388358118483451569547575139694362247303236819007045236044875671839659324871192441872999939371113675182941389201421772587283337404945680888427909590505168248044527574157007327845761367405917067473620469741411562149385119334980372603447625381298541247149759411194229208151895476454143547721474652521269319274196791273196924275702828665516875917793931052436884386961744892695575098283696782398755512488868887148094866883267709438363473984649349434677977900742788732919202814029211897631120923307818588782583161105376064625311354364277776843512588911010508173707018743955250125299550827415575920155427722435520105652668354412183146348839770771319732203644532987348148340247793846661061500493529665966090647861449126354403484187412750115472179570997814978360014199167197392290279898917564698855011564697019121893454804194478816305415138050834579718214067514807354794734912725105880651449924201727109617300101895110268731306055972510562230395205532797008921295263301737179037140365181220238505381433358285680803043054816096713790171410408358613118744898640461211515873396431621836357156843264342862290757489072059102473709656643190114538411969363800215290060972673422822116109339712498898658549987759577240939022328486801692224481860912240316790562327799434785000249597957404095289526534171155335374275868432518569266486877938850171570328492889473343143544812331680745131306586956706511612102062032952400958438722125004337117147944546245643645470638170591177468740857896972506994350495362276321039027828975493249829299566888808861997017538913799134592938975208450337980421869300433255559686450549353087111386558464342677610361239975037986074430859223102058335795180559391140892348126655047245805232476787689935062804672887628700165590734861084073190125011097123565601334802534513729944666370194757014742711122091611670862295629142021639676662217264878478009103557825824404795857831271936782141598442452621497516421195643285773360769893421851L,
28785939835978731756087537318825004605285699594756108138602441331276190696016311080053846910989243624677519446512931635073209060474156610946547109811866735956489020452711504049260966763401726663619709162092337617409604031007192094546598869698042325191467586879154564305154940507746444919415649652814939721123942644730349381580101526750804011322183682280541528573528270913381445834284563944538590378094458089837062105908550438181317949395414692011662243728071678185148308332290302127665636248259613063365599647728678316639997983199419127751601887130782804292530594501512045486218511781045666313898211973724506102912557547516991240173481234895630187274190089237014361971410194365425661794050466372958985870655535493905910039189722036650593437607640670169326326260711811746717315096080082761399772953094428521021885191882042881108423663136967118856425006496761263011149805248196398559415682051395685729190008148354797349919608729751362686124226746483669243672937533964967603627992608607291734601863450567943128912158981748361496505898651744483744641320165177991906216005676071496273775163859305237490015725216076867324465392579371016598741713560472908617678705099510383293733075548599339699825158909898021158745361750901348611990169822167674619680774504865670436273758157586065364437094122541145795827034658672896022706480463062560690743593539982647916373791410173835169764532621826093473700803198779871546467569986877831982141172667259571014085244799612723269206558502287270344251086228982628998824399145206179191881000109511709025891531371998064728352222350733848883741744990820485317463066531554438702770763557162211527750351880651339270185897508024229836148963384308701129404844509679553424985848634658216656879302362753014639578440400559085752051766088664193667585056136520591911679185804497839357154761660049829865446865769289247469982615387327294935000316732026127021490809244437103387614152486962208997221476440846561228060412060937441879955166579045464279200850535368067642244389570711397492351932242098764151638083615204117618809252392080168269352163071040998573324796386321195835147575264349280602404094621896661999487886530509752882461612169278701030127600675202225273244776537203026461370557341979498847066845903056694434382120286113495183001467758012767942329057851968332025008499608528034606670384363518261270696320631305898643746595704433953413149448009286750268818601959619711782104961078942409795280510928982048075005807580098252711462651436442226146134438780255072256873382901730997014626265951521264274260357654050554016779777606279584351948166298096861475963694709336467951770196272423277255090245759169854092488671253214300056869879518412809710426067332679012198925475405027648561608141227482599710650633120433169362104943988930226692753192302093778209854685870129518746728683268438950535425208157019894603717211991400620354482255914892035249209947790606496370051561885299539290580892551212141444223351467221052898136509610480416302100613144075649019900049957089931364093738286646310021780158873774488015126528987192671802796070138901503804429386006257201900680417342740168294841230985975454278797449614484612388022749258537294733256602913553417922545126472593641272382435106227644800339149080084284385880896567739017219747154387582904409640525495004551774089020624892119493574068118968036532636578050620638731918497890754549766333621232202884507165347787879811754005327436750626448007594845207588904742710572705338883118669246933698449010112971405017488390669345043950141723651768654141633373390241941967876352066886933118126134852201773119576073055273452780620634534534594765212614996486835940858252131987813311698998329315311789992325708985500857878831175330454867112478573048956322035782749296580600634388087456512902086994365355973449876504032664091369032998082315456079397282994489556087484756150384502728879344889766474465580133816458989889612553160556626017150429357361228898915608687459078219645702247228544141471343772615799060145294670507459898089506030555397113005025440855113401937345962085556150543632196937848751728906633173113229013714889041215607971747963310441130559453022217072150777100921806516600664977471956814397626345500434188690801591330054664044474635509794393049953530330520185618003909108397047098821840094577393247856798960232441992825565037392951658706422952893868190955548370110325479376305250845893935509598322451781167855136955741601799266982783743197475536065682983047388778507708564885910988062571921216453662120508971144081075974854115923864893743826606732046172619019898657302277995875592964009862571649679712273701780112649848045123190240019626489095580178115401548414425619515774366910695784450307665816463046617999655206054207015772015648747595769242070717112667960329443432941047558401805833993803409424386240754426037412648436326541310431040526497443349095778500159602879689279834135302464577908627397335595448877657524770592535558446217900941715184392682085396056690852242522180906320920303087132034041683614788503641925963028058216872150198679065400957082858682360878088938066239078226274137810376499600962191740165520231190718098948794408646169854944886280332951254073396039310986604082785111773723545161594614804213515062689165739152484719882814410763886677860884743965539283161385770307131034425517410651470312423608461413906423301262107713897493916215956065863249599925055648235137745260869190189545127413186209521286175069225948479612228341644430503811812883224386892273841038764284134324865838819731047654614802467491179729016675191831520724995698127605660959344129440215898208333200504866067891324278002099800394127300963411224680226661501748944117226149339512195808182042988650991814644960925716851610708929046972400001023516962705077048633881025184271364952541761172737678291308023480690944561167367941886259197948886573838182679954698907468564644252719270975777720872888213007540112908720151293377350394483771513437442050368997067823465660854001436371325319208274583530408144664974624240933053149939442032508835745145887201337563830466928764329673448288858372769948175708003512998915437393815802650198160028855877436651856115030485035847839032293160986143264249483739404081456247092139375037038493591125929120281293102461142323014749546069682025591748788980231876766374468175277940507379964431601594469386293488387996595101161448538939118912919894227541620090917937036348264771742343926649941L,
47505632004646319761380268605563475711050458799902725926870795546456064694335648973143964668811314093274332964107558249078343314131435109639164378797085122299837453081237409027205499331527616963310473959954445027568805903623126152063489986081758834355306598700878341369881974234599006272336395893834149709161241898599212407491055718986822356186043326643482776454929808417953220819900324226586899041746477227070430132258264802561970986329801495984435234156565691439268452228159909278021824648487584912531693597487322846284835252235998966538537326619540752976165301905642489192313900030674330186456204020685281286384046777887998363551637370206129777933446532705001207126151279315004937075089014696336753561296773063170091445661488704273830402323402676518526690217438704129696462017148980335647675684318256634268789669734579625784429039242888657111329785013815122342015879705322656835785182482931726773644405861174634835791283483156007573601980488464302912886696589132956658263202368719995078011312032442947520624478136749838273479778074917227169052405619188151933555923812789622806825687148100264607736015393771640227647823562536084126518971376434277229696433723803145711852896593102447748232922313602404054036416721214017449395234494875082156847025302113855472419428527012494126560062958275132809315288558834850206515689737972595537874160483494635003287053906532799723087305086599798573037026772311020283745333243719152095196726174331528872863955589850777313334207092366503075290443625208578555982370530840930688981811513965065031559142001927901496242033066937041045093462043729359916090025212769261978429509134958916273046596776530951470038341916568701074182957420881452616514325894534013920170520990307340487569606398760629540470316966487191605498676575625350094497913646543075074322245371844775830301998991666831759163986385718280113361494497026393884060143294182844652080971827048202565728945693176895043353902190833131499920326744682649086611218238083192194943955891572790791601312311529609739964004542427019694936526419274609760800657862781385751506773167593774079647379188117107929989534689605262464091491127620950323901857803959666380439804749667915345078960298763546991113672968617142218938292926862168428348209518679062570509759915886850450017303657355761617836380553782025156554512694229318872392279196368995462010678222466082929164401778508412307304792009316358305587411965994627449900695164141962687133600612630735014044643669341370073932503128734116075952331104519527105715483281194164358415803914911545260579799715298972042896603659380704028884794008824505296819783781051743981493183329923622181056299881550573295329194740424642176143691336232336467783973153336379769216891557349192132593127803971344169075061588229649867486951591092260696926835700455994507472617746048275770102203771850114020729481456808712786746584798682261816919862761919236219545690183341951527950818836243245154415858017743204719807908122964947256813698256484854091163378057937575061998681636546094801536048902660972053756313098005992255455516731359098426827202406299352668797289790108212117858266432934766306667104668006487799514798154566675176045778280292032506011290100239956814801265672769955664919628593119306816123377868180910824932712629400937220815426147520119753271075267825994191452521490575756170384381299173904633996867294507988477139053956791273563339321263179541179641789326684377551420685916830970113286872806897741352409490559962518310698968047244371970903680198615912195199435271977964758374452520446934321442402767180377914630328254687894835924190830768424739471786343504323400976940304922666302230521724814628256465683469306009670626154034023910829269812962679406443653351642347007825926825729707014097668716940977572359702837549633199518891863122113025947804975372004836747772663646533689661843540893108896231913026626060639460294856829347005980417280625764752016379470812960943688971673000303908542417101551556047901825810464339180130438868788132397257845461106781529508617770975195200528867696119097962642708084166605790405189485144094727845550680167709926805572772669112809094853823933649139638065261005421566044916840981286183010149805626149604219521500743513093655078090735509823849304262910635768629903770719659350325549577886284258109940362476733191560136632885243524256615680879534127395772011113612839008468050822593363053422138987811335750778832079755528354120621269392416878088323198789157771177290083471318151296367642474419269207944746197980684720498543546101745729981737835796799046923587196781133696793566041990353047360063372743193493480370734913671841261697201161118967111135535213136183429276506764676545421918300578082696232222800442873159126466824780303493792657615136394526292360818656726855948163492461663274725565905677129272418332603847493922176904214497363869148484970137037871518868523063832246147736931794591592593732583545720773981773597589673917193928958869343487128951622371889222690979108161842720825151466474144138059553636134210320881889435110853918881481006408001470321616343506019798253576189622927806933060500501503492063977731580486633669460090739972319556079424436674572285663094347598920100104955045943502865699070654615412264546296240693072714947595774586168961813955379032860319955885718565593832654677000948648974051454593950840021290288216951542085643588038335886466869484176790436765599037109820658721909498588099692495707579802189124148402599757172065592024452260613053725459586264355962751157785029495455394680915941819312298162887888019960435510015428062741717711356131667139954258702494753260568313807613858242006158578751814859865577534879437458052572267304648408634561067212681469553482351940585886499291875117374137428792772275699468965971461036235819807967282531720306811285802837137191981671856855241074762555698780643728039379496354392876346100464134766771372730870775697729899237277399396166842709791150987169294160758073041885031881389352312546413336513489107041241316589550849817180030515135831882229043550933889429032204837723052825212923170484035062649439222271123927208658865603098549333355057065445195554793236783119587126230141564330148194724334097075809898383129955364045344050382533214321765148623947879022867731973897269636798263052198997340148259193634384919030202868891499556448528017861374270331706527785600702071250566379593574529827724480329149004659926076472903292691450943228769395452438L,
78388237603797724340533020719517844365890481989261416602042292802383693991950970114751222650965093802558591958906309834764838939093231434643231529836587616115746471655281066662267111858936362676954952108067935849665443603883213378250160093829008776788666005125822604596447755681613713598201249586077314449640261019163901466116028698710546647996974813947916336310808662471558912558070427062377070355325543870561497294749297717900727579654888840344551073679857001673650948308845294868444060200205605421841679825061818394863269289581558551935722672520112403918007779715979907910774484447786507541545070693073981949365769029550059514584012708171982078303878525666869127557145413952611405237255921797791652672992825418990043929411954585445030655999456097751890565697229031655600029752105975289442482106249505693214590716873929009496079285035432964772046095102283519853319241378838307605068317805550379260232181903979075187431968353972403922740831428322857007298430473190590566726000709196123272286028584585477225432430016860790536525460045183191670731423973038615518147747827620964176374999758356405432134167122020676017515717297520953658754453561016485908164325053093139727507651448935705702178593185496481266927953398947253143048387494701986872408190464849546539009106302332045852854961941486788175813059563574865689281679835526677936552871834816794681641037716397661901158162864310631016447446693082269230973093635265315680502265639255594729171379053104673068704995935865493769429626713435798483640891137127024121628033737339806848319341419147685019592891251418403711379510308094034804808006515053960718724529287271620834476946013675544919207691792607717273794276749865084385184094683451674609561930190114496440014432585725831956322743967953719292443624811890468642939997675292201293033016943100010403037514418873127311976757180614906779900698462691796522568369934251619033352682299130071146254379562760226654203660490429907376638282283189299445555098074006825818475506131636844665682376237611208678077873910016285268156109039071182277415611474843543697258864143014155996496789692394852158547680563979713078377354062824052193364264388670914305471868949606332776131971083341407713206401595673140703308467752848064459145507345990308538513697629137524411604460714667301495255776116131506678550033497258141056267876140821125498421810570014359757073162166895119027458678738493637178619854904602527617433765102961753336274069270217823797427948275329612872647496583414406326924503641401623940375756584586547000306521457590891026724168742427069095742139872181885055984520836681183785499935724922893545202717435548942070573715580440455692949112062408944184239280618253624673668580151486060227682347264144425678272960612673512679916465495604758013637218585098718566492152374136126134607741980868224897600130242228490587501307622190368032766572481084050349876922332096882059372824536778302512533857918210813552142768741955714579630528359676484159458058486712411516029812318252385299181542123066138655024566782129669667320720689709694342904545387647234524324856761549769833206713356753891176242477973275111369768818348502076617853580994693208698310966404420077916475403153001690959329138236985419892686034207064823032947853539278254177448545142257169819881756597195195485444857409236537922483792253767588551712599731998175940020731380272772199320168297195314099699501271172608110792883600389562219505216831565002674820088217203933877052598101824641775205479054502628975450353514061514466345063058078311127948087967404687863158201044708140940482942134359135585611289549124406293039408673149563129965487034771805385796672034847287720523283040478857191588448622119306476425459634621093389046954514549690726452832927997479344607938879028343976072087161471351998580874039172347677438410235154520287505902098189197490064995696793229790676011269429797415470589559560938515685310545607738298440917814005352003360055129388524618762251098571674017448470018501348827506312336306095228128223873902633360195485506910986818174496373145863255332600023789167380102312846077001611075582063823958713813754460006369492168878787711008753480429922270568151873430685352023377257583947108823868430624537624959472674401862748185489506360552357477268855045398288226701502144145129182986150795060408264092856423998372913484416889509134881518149063553481715231843526696821474520630890193864737882974756167220104632447105927305738421382330072220070225730556627229981658092113809185570734451171523266809805620780311935932568353914316919869609401095689288931969564201650289963787856343001455841070584229967735343342783140984560154569014765687594923743005874460571392455621055896853857437267864828463312259955763289555006531968574769140652200820600419126140202794292113482249144813506719230056198411230836068665784290447191341303811124892996032955080422270260541624924110952100524563144775903319809468506056696888281847731599248225710994321282414614927364761237143128299398204776987502848724252098573941629242153173959836192670585569514986722429001822297404306932942457623909203908588993396824136546808318348671382968528756698963495189616249233647238770209087540800172543671502543351350891533475929766945040683431462317797689082668040475005589464947034763991998288684664784030054760908510382385186692306619735040929561518967444023422063718613548736627787153804854930647200154986026491046845835268166126114967196061852570294316739412932076693657789620883039942473039750282314799008871833931762827722202076517998910093032339963283179671683221408397011253980003920063761630210588268455402381785501735295246878532792834389431203477051185662320386938425136214970915403865762191502088854462747575071840653041988910189735025198218130528624940213651087407247267285427279024911785278902311642815663148988963549252413074036283672960951909015871113386542346210143950112273650983690021285761886393539473169383503710639103277413582619756030211872560858114882660428869921227275022656347523289677296919827735716501941224742653009438785328517025932205008968599539430947466467698180536796583847011282318422781050142104570332256856688012949026853104609108602605788505837647030689250813991678147575752815381176103038209316291113757204386304914849364976873179466295501978127676721282554811378395123964462968450449776263949761450904716324398061445581448799920671165378305591764234158586468577133234503212504755823129632239945540172L,
129329574107803276810744193527931457594268476644889957693103097639655467307720421664060676511738331617419258265269721852821167127100091290061081264413427463867677018012795922867554402844811073734996734929113761206917492673653144682468504763822397352882815336170715804989012335881802084521992437811952346459799647664036421138407047347944243766176267371612614921426882702123909233651942704647193633075660474446523344519718307323920026029424110434656016747824469154666941246831962452191252546713176909872091861018724085054570155573009890989696200552167557655331065563354521880364629720537673814656406067150608829385265140382277479262342494181462167232107501198734350965975737515336368501866962419205202999724002210570222638526040126589892423123789960747168654469532658372359505388543821678604539366057745146152462931434271356322101758494565707839057651061031826221612752755182056561280229965867328493908702515321894470467034947522072818089495979225973833959847935177628658343110786214142180137112084850061863183349760513545650663971170407446337677740591313648498033919437361520201973771984314767239659212611439694689135368668948616030060349148333923817351700931919999111105524288579720454216136796849257321542822314083008952103153571327216415077855347323898825629563355492675799349299342540277148229246352368687430806038269967567599534825191972374675060435349506279436800809511182761340670585122999325771985085491612172774591456712342286373465297563829471357426243258224510966165672542022654883868521145237706056971095857874875226799670062405647491668328716596981908962437576914011667680748895806044239391523657561748463038150629282290612068663569878561417086691416761006366816274140260663782852007237351369901183657244525685193725946576068342769942024441415333974863533221008077926047815672969497229705782562012793530002872686811902692180578585040131804600484833265798503750455998757017051704951366599360344233960450225720853404542881511673225245921725880647114092290409102603773525143780237162564294994748527676587428262940395060142126743749658590661358691765982315830652603612919903499063670486991215253764523235466357562842440517865777567843679912610042573355443140200112107811148905248805408945241568935655852875991485339821685515675624141682685827617930343505685549001153836987860418054427868236839546142512774109366338368962862053558032765089779264603088872410695011333004105384368100895626626438048488393452594830808065079863795259684384892627368694757091877774524043146086894772286573023104451235136067689051169981467661656515789156766391961806549250892872414971607719227469509306746432160470961568357321619845725518361838703214069582242912340855166125175944974763121880462599800832971241159467625166093487191491604543922203603565171633243844855354305681085611419574897984890700077922476445544444757124970359434544566838306665387250176763799126609784052605452943279296197805185252024777901234254555758568009318365680874543429366215233876839067391917047001152499264709010833156028945532946433021772387690854096746956003253928554047750282414304563479444052008234887666906302025399231452546386853213034068872431779801919857845477086263962648511910743924377587652605904691694285704853266485264526633182107574859693435198238768543179441963673896817868804698201853242956986656014016279140847425389079634678398601340067664669367503944260132462024006260069064942415036336280407278585293550383142152886295114358768850973619957493543219667234059425424369624997832541914231315489805557304994157722484870635227525190785667650565975522994742897017772321907745221064320850257185287513306706034847442074682897893468541459459533384397813627582815920810531584597888079750883155693883491135587285592360317984272309325834632860749821367895723550933685058784887460737514522910569092412028483577803501038814499319918512279402511610807468703593730485839686736416848722359548968438064763313129925908861753853172197054740741445306905685269495125503922716830753443863547341941995895627402405701692342482877427113826858346786505272709484174573442308060034643470741212628044736876538068308812888233852378698530171765606986033073625069742955866134669981501030256550295231976876428950869038092804446903821322996220576927416652022336395873945838347667363696393693638807597148228275232659701310119032259944008522676563056176876089518484200087339490596993300753432805055034079591611415363386486561133740857580164937642442121448694395638138129734931733519607280792732542660333263249353888674064937425310968766330979324341948217328089104696978475471020726007949893816073689361168698749839589035831531411103107244810310944253254951405899745581870911951912271887921728934179001341094188508563829490336125471539145518029965429710298449319270875799550392209288380247179608264422946974822331609575720010192836705126724686946435253222117028325605693141108932624284166438623752490841868940844381339469859530683352832060802653730293297016113337562681539884867031856957142998586747260836182954751064415894418848805711730008817723793560910192144223176250934170497693095126696289301893115582719985303886716800553784395308488353488630892752002722792076222581752387010044625208383343514589193796099584803872096123799971498597688355176231250531227118815737934203251201294354755046312572769729526146041343506009092546256058540380846701288436501597553048492416345424314400539182423592590689564273297963352818051827173245195013239557024819728408400748350964354532144591946492344463641565781989692612925082240617274347459553505254560533237846872922108675168794813343187228097880086190781216872511622978624559152069166278779201278874909053115141759298115223780281014992110366871311631110620704302871050034150654230647348551775922477621385691999592857256120080742069151824922194749870169740415093730784375031244849117478612779983088493822579949194761560136918613852336364577628973387321230956418382046250158490939650790548250845509244734720912618920251933145717859222983391583698735235848956401782557130915049331340724502390876919184874492149708793923228847685043136520440373793194720419363536591419708172687959016974643191476167508162513555999903588998582304225359120989027520481333320532550868100748620462108917911399800199358917894013307065561809161586251317182717010755093080182665395224429268123651037706262361140356670121648394046659725814194592076114620689801018313124072171773595557648033328667458385529691L,
213346722292697854797814104651096684382789028612680067137500508549142200369116044028361943430243853007576353196291621826574912366612522965070165409990971220396590443340703186460080279722509937048760263335867804592995715298367677553690093763641479578545728405268406555073649907928607708721682262191190883651914878130049851138251816546913934149112474235913950463628842163237616815391224003589077683291993277175414672738763437649331897893851503592989177171776851182814331754866825064875485813312770230069637231468586606210839892326349177240475588348579666798503682226015206661165383343028243592141710326859361939819750926496021788392269881675178444202403085364668009266621980154746173026273615667839244620805892435203302951408968042104018775065768790924044923046298932957890732243177657220577675632687122035766479459797331698806872072942012561730279202331984789004475625004276818376950613489514199557970127265573058907384341920585289456658790292271103814151448219068320134501728042865909428259755824135148511326598192752386634482799198437904864031934455746007606134160189154652702364513393269135630898273264656172946839210549728738705246195945134623829695177623429843701764862838377662998997038390866641256400290251156536627382074031067575026204858849083315683351180503270790369432860133285534114023028446229553821592961120344661856468143879919740848651967881206985147282175245517462204808271177557224895658351739565959346923847307838621108446405159170383877084248491680309788570905906861283513467933869191738408028313260684156512598856126808398675972330092034757233392411502881905646676587853206325822532626810392258908133894282923677324455681445667082095699367240480257898146893132231907582110548703641274066333505881365510195968561093205312452936966560213270972828651936612948168228135116023001750994656578468022815396378114291760257385376159811622212040366705857469025802040449312919836701304237566284701909127728052224497304060555657046038576552014096779941663976067613195776692190624222658416994427570947330310442567472158832522841710199539329545987263878277876557173259750439204834500349104231964035476493318499856357455477778720743792749153446467343748013219909645404986047991076495940402398828178432040029250938063529752967131989322327033277934493884990648128520049835446493348888749769740573835822941900312319446695514565119926935360032922945128055478962118779334571250351793437394507739354251093778028716851633568513442299316284157293185854095292245615738121436016608393620061325174921330187450218635428664050693048924337654941977215071777552027362503857105335412153699769780868142823552386512539850738006361380020403456777214655352402530532182925586050285842710084117622299506983121908369652133143325891138442325054520872780134521550598679627835813215376834560157315393573770981904585923567721731171147512242967342440089830433201521954430321031414057329175411044488172682734640222310488327615970361602823869531840347357672604139302284372916011756515292078221933414125812822252197560412711722715672522687155268440584824292076312914077052971734653078936599990437956020339923047512615293037434620822419075107343581317195047700295234272476462931044180615284354093196796379121664226876288498623908459504612041027242050957820088700353764357448673854731963073385101660520180694336569542093565011666772799268000139165059587719194796959730230736246679555067015728803626700252584534068777332939148975272188556119129271833013186641128141247641102281370595929682333764300894899084557783330312289581547799143715862077751871918375343481257925551285803450986938021764532074891591384377976050724090227702135159485592114894476302508365199863316780119620098469491823927085775647642981120807422745762295647499176209786384950618063554606154040746284187849990292403994313239892433338137759332219524588356839550810094731361067090374062481553442916004362866126622198938418112213211540534964115714707897113393680885187166888373446333207408321683327079776373339832126874502871785467789865139476900641328304160276380154252772620556188554445059699650516754923555902816175537121742949926402321391420364035815288914624197147531760808123320984894467321711287253800284091954616829198329072986495554239910290647266403994920319680699612347547087926592101759861030296600745324653683428329031080805528075017136609884714363160795457834365923411615263195383225588469324449179229299613345097687957634435536388167140350771870967892337576551757263106250839907998488393937396594112211319317041959394257203326812516769231369517257508506796827244476537038637878317593153186142636231869882676507906407337251746494536397501636537548464152002108199083846873539373946215694683303300036608440042323958092560997021072874786402577371211733176066609733639293512373390891607992141930541411208704868644402915424723732003596585615193621569408721194633497238124881998404998275360117648960668133051568003965442132077058392520453570146285413068754676217366363531725068728694007024924790943892104764913980868666159269498105790455980721420085215701354224327682341729529006584927573442703472641413544246598299727535837857547792666816895988904568248822491677881602177577075641817551211558179493594827654058928455139417184543472244043511910790101309081397744132951188746403935140355567431802800998461448704022323178317109054929992114215418361426624668787363654262886881701987030630161388858035411582059875202820908032057350375489616491324837935769392667417627979187940608261543524876945785930609228829790901982351355167038290554443956858116979007549697436535694008058121930493868439588353859567017821828992620807509130851710087479065556115118603259284892924606596647448952001512369882556562742340157052787877955920918668033795404932068125522983728357131595094711170203192143184507058869841327376537229956043803429167273654304352227803105262966839474787413832881112762751413694399118058795948970764241401192024590214560849693764203995330556703854477192978691063987971262941120574898248615782624303348550253984174770189711403431718547824662647744628732645730729847541358116446124773267134164349845465952130086579485705881282048286733354702442948883008510042745652803238975657643167235800385999395299265457094963124549967194688118705560744297176386807123026271319485997614843508778378746688348831970995481262199390873139766349551361587319236767257783290235263570083401029489099277346895005099959230982358706046532531850758L,
351896799462113334340619039889235276629764835282865135054316842416731463780925461762925058321591562374878160948075909539065139421883366176285576614208966430066042312440033002421163963230997034276116916747483417774930364968728420441579649873392609750079589143207734426903726999511378466069153808198562238026828723291318180333582266299806757942834836071693219659049685876124049894775832030939697044353104690483923292173234095079694292107431930362923591747510021093059310217852958974258579637004627081392466454431205925827404217960423989155679532436929866806956321340509011118176213486699564867425464006112102989520543379782792381283523619768495826035070115239550818105790090311234591568239601160031963525109227210386099391729750128284531158474864988838533561108708032867668146038679094945399605772896760528941878935652159714001699739160272141103594431506843066436114794640223940482092872996971901852276564488051231546026554352914221154354821904787691038369935248900759097329113615973278161066275892648266329563819093329659557437246905598073778062090630917226731352303312989143074756805459657772804254570874923649341530221922896535191580136750811678179594189091504007610132338738554719638041152251941745105241050593217081462653985411631007285420134910788467481138626892025325916332434701554505880254706264614475107094127336693944976869171514255285101978685349988006917956939556949752243720816729967561955353328901713095541521208209841049861934754635880685249402110309416591603204804538190214951584336595577906613082187711751762604619197273786998883235683000772726678841560016655804717124234846987736459301856534198719277279351782873593251568945688177495958586119764658125412131839819534792303001593152300657428136024928586414066643611956864341381826727989992366162609965463932513586171038944395723243993388784496523228286333096450837025873730978854851714792019452350847927649634461619274981463023214471687902667343048351123760193737939679903257924932173838361240525733258148093939919330198129605827403213565202072649821579715436537916489375221154966683633036420442414028575565391659888006236307791016219060288070186501688648799495066320149827322688629353232648686130656781343795827120498417313253103643401189108398655560371235898807998006526682816296007454694818465209669194451958922589049185209281299811659519311655081458458555791901178843764819677661503212774421309695591318457021161973392682698531373106501086569579707437561443900924937647736517802235646348238049813387365821018956780174042272653688624687234004782347554694492464599128432921778670541930032960053199690929986772818712426540210719774061634481581794442265435083276314221954502378198724282966569120923731856499230034610210262322456388593962259677018924461294397031233434618173086856694855485333478173436064068433837519805563684244292104434810877208779982407504313622474931485874547957615271748654173661712245738078883728872118949926257048803542980879098050934297541821989985169370060104255801061920679803270637918607366017277764058233301375963580919474793643446570395744798393457261730058162534075515722202524344801032947347551850359665415004605793853122146324277362143093884378114539103891453286758788686816924438861217298803840297241301241120247837406603763056093869074383466077842447116620397919327476929976143745099908591994359238640843942017646543523249354798792852983922816603759901708671605011197966205480283630186201646835005749504960298360795256485724591955011978601328797099623421319433829492465932278113950442214660112225388966040821144264888876736575489971999804943392117016156367138260874342950734911106631036387546587242630153593721998267817420514541558170461228888162075359089363103114006402478064230412963992476395716764382318240151763454337580396586234218929166723117348927176716918130976226747002829960553447933684263925333505122953488410879863914131634548857812473586608682102793036096617973949602936433211758341991494264544864746615238362845619222956971643617406855884971585583857061246199430780950740023330046915745352970928717913317586000831438274065600766536739386027814444036225352408657435570466368277912186794876673280794984421773502748122083158292031730954953114942329038550503837071036835859321085997591363015820453164397427591724295100939869066649566951502367805892134587678667052671771829917845310568921174131837078077344491345890318115769049551482826716184436433028800043314260747728264235874640360275663892472512129544544962677263097898055845556332274742802880776782619536884444698694933941694771225832636920838649427530783559150754513397098980390954022752525879326208760017064305274666583000920473370779363977604519038766467139966578445917682181020041640592786512892372504924430479590686691809390892636287736672197253895539176956384045417818542063479440205309954088436900871798151712033525238429672023561156991382898930924798742775414792955234409703726831446487232696485738737415627600047600640271386938196425036949593141042353234412421560390720558314216519521953754954976362917739286058455830822446003338622140247692495156471282138816898500296330666575016449288709235030012200711185820457931471596364669114595788882627101062350392438964353365985996359966532864184854707754908809196683137030933369750862266080564402465836848102063997057747074157636792701298189742019634218934052509228583914349299683150560786427308972341580362924240498949222421242466870054405575207967145517654372068366886164647387110233368743027383737120600658509474184796974725383730573417587780140294545004372188694722259863032051091479850808930626347639317965808112793646787061484342085661614735094225992339717783196338471176219802189197862819561295904925732819600764021923263408455884830800103593106090097593653879868533635824488843327251459746968770129284255751196341569855640748141564208166393615830236827046982309535545492461693082411712735155637541634680647391632283836327922783708357102499897063756822337913365893287451227370036506856144378165278209942211585633228147000837641325736161425422493931494056080478313667377102334037001244271393475413139574129932925968815564088606174607725835838712381736456722990525875695014364934594964742390675269393846174653426274271540292402571463997288364375105732253814014910418978128158386262182615693582172222606803992218262019616790601809541685767866246276747221516295925732257879659696012555892084575125858566523397965267566786632673991986751535412960414L,
580344544900998450685573315411706475585038634329463327972859108023015361849705691321054962897674125261854573401272979657739098559832614438738288968728659051052984352827592488283661358259586018108466548148508557802793069841237693529130848506636895141967867393555955228663461021542388943436833414010451110730570748245957911538753060178734851945488395086641022450159716054513951813150363928951959309371796770426049978269266409888924313334891756688792551860125130052773921753709691896451316304429262273113917289380231491873676076349782699036145127578222318833233985318361365030664832915218868906334764784841010200393696739034819680478182370202007452170344400445237647375063973430265340251151626825311948693874749579422144876963280997036259025749214733938829680678748286872219475427197589293357378920145612743138144514777626431587683240084429414500435664240603298961892868480740215155073842431018170175948213062174726720570471901697700373235908071806456083149836452371464830000784052893331519909524951260873668882366345829469014439997726802215325468169545296316028431591776260202301175966426383909594148015415155337684989284553447414112476424137862245381477911004536779802109254393858090511253542697373505293568191174228854499551885050441394310800606022743795036217692010158635399875078089139798813084925064246464762285002380689961602256383188513980340596890627823003251131765048667957032740556934245928177736017804532551424312439783354210212921591148111085848763597715001053299259359925494550052313746968127560358848090520079336502866084191547824737821137659240947941049700795880045960473182491040768960861290425523894031231885438773552706999436826672473349510193875498322138515176223030691896617382825494005320241348709754543472900448002210042380468439247076487954604273942701738132613270453813360369467449068000899733581498421059818349877477350318696288110135320618360226711151390702190793565017706777231333755966580911064954627440752435574320061084431484021295164266016335549707685935559119105731286179230453567658506085712829748559171466275741732465857252524358164474044862974899440761956188690279225618697840118382926379391469224767792599514340843175485176359977723376019348817207304517718873819236068150932737550416257834958010442053926901494175199455850544231909443158302391835635206225162335141908126232621444092284135995639064831904411718599481542646252783216902338865564151775612786672954056785656688886003357833759931874416331754313113248693430238248325481982661473296314933002965699622495597470659143242624567213818649595671248014331631458991452216738180257646592677744537376430468274019583545769436409900887754536836878326063897379925068346906830223263449374854313322698050893922390471418405720662952148647901819574443910865403201363521664320363381615866203347127099927588367454727532198705944330576458760176958996722356020480566528623275230573670790514134350756917141320501258498771387729944383962429116917877457866668056822110006816381054897137789312963856085615775364012767916219937156137067396612104742627992165664704012930373212972279505751580628823890118743718731595014112541232590933206851569425462043415661854152307134524208972494015365037756769178001383727207723957541644705295512098442506702821595412510398000847535326782426321256079185175319817394873617529909836735402760593157494089526684487419011325615611530062999052792521588211718717898572176924995867114727317638564436623490217267265539542365272814961330301973668750940103177525838561442860457722796616246489488666659489350663896865599376683049048041628989481778709084157386466757972486700197816612979712577049198037523856596629506376303981450877698026533903978980798617002399590832779250568870846654761453969659546312590904536963403676017613364469178482658552807121827196306889954517415532927351194683227101582004720445214467341641515076147023098005886496389033739670013910219427613951607794168182610558713340909876882036848333610608306450415253570921053329017000610267633248051500560899878152203325169763799499513735138262591539831386260202672218756004133562311844639375909791296187827079703038174437608150124605779047101572334002866970755877433324585345121855978193865448729888984456882028902543963701648279558276007659112413110001354731286062921316077709735898306878529933375288983205935301555888060726978986355560304582545113033228604155677085973713979569036059699320413744950614055752273872838673442175966407307349718445808075971090328000577218068448157979205111306499159737781566813607697229591039614515923485481789084581615656480557820592871026322732235393499196126535690394997275383821879970602653978067628817643488514006761025800638943819486885325457819891420805046423182087034916864062624975891493216067615637406804981990447149991093727994779266494087593126216753393973464745828665810312317755314775267690222112797301491998992282429696909985756758089562983492695437021294504265285951081132260743571316473940485126895602717398993289268194373234531742871760317669199616971799253642379266154769214788350572968921095115180698996962932749531410051196422083420482737739396693567156728958873381774002011723936027647740298668698409496077650107403015343875267803068763467661461162304542641156738669009344949919366716703998990672699339802921365020754106522635022060571338638168242140760479837235934995709638924603445257729959340821107822263459299574557947023179379465940878326254064875576171857263177205916159695778403442947798940999280230139762164695720414635675434879710370176100088564516848112928942685461111910730928432029354344897195632916756332684860298496399652552053690116280553399157766026198522598362658186769244519496438512412168305769424624246502886181126834481666260605696737842793020701928244209582320445945939504928206756564257089745990135280547672707871291205226717001803473590014497913934339089936331993584993308506856874565238985491957639041218320187295557546016652670212191912008975878257685792756209099483326674366577890307035408449472369068316054385448850930357869378252363379714500200453306212068612916240790956214498675921774025722632655013194291013285096960327584864046429344495865049154779807137107540007593689869620192633674214093824146754061856038937951229094391668443030666466015968257415222827390248733521657256205090580553809115456350819116723108339213045249439134818789740123451289503389849357037106861620514917534177657769774088111035361443453078297064412981L,
956968797315718503088132168332497296141753263769789064789189813294338760145991231229387953019459560655194397470151528680683931325921275532323434487263657622457176318899579776710835095178123608968818752783358543104188468277768248153070829183227907009619805428647804358768814792015747538140919902282173093914042262661190570964954543827585379551453080262776168148387077798768779700281539589413284605300182122057347781127480548147335191557656556632745884763712570901686216239614241002985361009897912327511782997902985740322182562417072910348807145766444747711551520741707895140459540188506276731566543938113801992735450611262805858176297529007424763490267904455197311667419980635858846271460194446033895014389778508871924574988993230803843847062323319010342146118682180730065929223411643156426540089128016645003657759932542031873153851678598376111033952187902187941091434478638051678042000590287397388379536384088779015138060474395577549109448687873050555798661849148732053276650966573485116009053026407683629448385407987829145654007301013803026960090340070047100396131870264540953917006111245849269399877786248053694925711545397831538043663496533475503731162458133064066025046803153428170990128710788695505876862915104076715265739842789774250215275352373007055682609831644832343440846065248523727451428718727493524229325434048078932501347906609717395028017305666145170420765313594186989216106506011134046100475980713072723070684881720912900579243950739791720313689575095472533909316105992120638228027805265368289499272584286289814471072366195647915778263209822060465299493065571394031218362252193794977814333601972453513371735748783347045185511414814238531434161017576025033568079993101345029715274813372478624416685319654759878227094755879711347720508848746417809675331902214215066772395575189120527428011214023832345427686726448633068430773037006699590230422126318352807501655605107236236972671292676102047690911253637262982818705673265891626373964466888868288867550014945717982061304125066047368629425998005353271917883452066735582258519319369987213401202896447270933548847056009720671998633187548439592765521177743394969041828786649609190069603635822054374926836436992502702948050589985555762660484197360461539431489093554405811749245140466405452547486665665818276630911517759806414898607106307777943704108551890609381624214951684800877137494938671434098370371584302949241554954726681110018081316226753404326304521213061135776665556831123738916520504228431737934027009148734140696783229004956731796651804772263838256085026425337602956342083887920579112960259838460503960547705750499819764478667947822957485879537956007078336952521815048658153253666388122203942940990718880348502641017079714678300195075171090078997110649605944074504129979917865240114165631582501406210149102982705230700751926283798017399064065250465050791740781877443185002404899139182995329018036326965792826434077215698287130062313587824996196787407858998443823992814876297904011522749635803248578789046653863698413328411521288215227711415226479040091943237517248837411147789460512035012829552775125668160299525442599399357724084687839694037020584017343398193518736544884590748380063868754167836684747408040906808273336501403595257140120460742464463289238831143489811444391082290215876965117706143306157555862391800027016047578961241791020941774078969428992330941562136423872631841792285886958178761281118520658843766255648780128196856875581833234800391037867123886423681157881475770036788114354668394470250630154174483372407417060214895779774996327182049975170150418247617056367275196725187146251694040583059752959925023367046593337500060963422541800625304375235803872269379674786874904368491966214094412974286978200128541467333686689096283722796717109221010733788663796285530970808805378057130995807779497429499693372835382290937070178852554794004759672588369721989417271454408630049903607621445215536929469176876156310375626687617923971373559338897142656996856267738888999442820267464890046333407345335958206374525123215951404142202019319130598595564391444234149605359189528700986022804271650470596624836229531406697869054720943805026333454204091930824041867318993702140542779633271957419305905220193170909002016005621634172814477022253659304890854363701559297192124280548320826523745255033826042075523414027855933642339895891990984600983812386898668187445312384564126220596185271340051414898789567557615145153078430576203466655942968991232574964505342325249224403571803869605785577152064688938126831811907326509490405593395169129114125636239481354168013049793093968924340395210317568869476568475392225337932079130622703948064369266209366649862944555782529046501034368555364150982587567923860182175944548251378594717940030347915539212282887039249356639926127740140763140623622722277889225856161756431349223827242164535810421403331818843199957931663897472276808860343987879643274492144191011048867911578765314115412432732547296937575912079790450565085116835373903149859161578028584447963686042405007560312722169862030592814493733647797516938223105736205780715306918594438905258451926706165471526722901082977069741727554111461317815788023737436985111267652879003844099071049822959184174421179771521949768750504991143755747387247851160215621429020278287926843484550402419504470511261184871542888833220617459569909416671263449888986568774213932618259872464891975204424736766572502910082921405309874339947974689475780049770014969515319606561789714428793487022891411470500425452812722128263179811103957705717832974485911042630851506353484897285375832085247627685493337227255825684229615649795437366747242696539622941396856927593636220405113289365573545870400788839861713673932545420674645541528474965926895505118440502134325503202654572441436599239667344020414628127227780015948563395559984055291767845602805901964285393566860701161178308734810670965438795094902114060106535920662879770287932730470860669597040603395107264580356394094266573322141485996143782165167479855780896649473956237347035249341761113498333190357891875098652980122576326130829318278777838264666152318246740953617678998494754230713858190996682168303081076066721359752964536645792565930157087857336952594704357160409585618046670977624813524643391899026184906837112519364695244603762540547506701042773811543700326655240846838162612903451821622643130849240497643449345579742801260802730709624459561007751615440339406640260516803045L,
1577796409267709468279064975263299390448894152199520494946730613084835720807040434348516188546942455000452373926927833190907143538901382974282958863184283828318808012388546307814151121221994039874374427656542516056787137202181823629563495297502258660419540919079275106813202844065841095907204398268154098251747449480826202651771472159722914413946464437722542729730653869546244369537862799976780436449521006949438437420401862084158335291589851720668074918828075585472232706496937698135362928423647236144441174951818392498675924008763041576929192750349089748928283794095615078062545752139712856445737533023002262070091536270857470138772000236235209835159462510132098216865323344607160793545583245893981776463816451665597302319030279230104661505270956957543985565519068845886653977540065558439354269633964776588040118609830820133178890792215419443786792925410600472296449208057890655528368426770528661191915741586639580758106424942885384469024842302724321741107440370166581637613767830688927659875943843508602850520325269080431928005832919143137722742333779558847292785642403535084862927995978010752790940432750159457301459051602119761870259334854410132908463740091927812568584449645088977538535247802990008941477397473717506149088072368695790681792304414427468958429825981548265377886822302840343608424592519715735414498791445034165809805220809368030833476680841030677883896924477413771359282953036946705212412151553201899574102445377049018201205437766079534316331582736227174289555669578134549211277902578906358807290712200304257495852800968075809553487418784672223015056095012323271172167380174779590432350253364375992565085221476180644506809464515202270749059941594159611749543117462498891804601719296653793012164438676791419772091197977195940377859976259030628784697737343185932052653404501498867492399693426322656534544149966002904295041256582829298024450439344340959413276252623370554675046955523526317105091812410964451236383414280582900342907498001255529740964065587293111708805191029271746665470060780783519353147295724343882077070631662938069811786385098846721667634818878103815617975346183344950774504344335759762696647062393105361137047886017691597742790271489356839080742796128021790257789170978968312219881117683935671013279774023734032960585823982802410706554060859954051370966621640959681892619537688466767078028448765845879540698246526871589785015918722671523912624232380066948157122351281456460449220395383942963601695924632482160809438474643348084062939159827376729927329143727192761152940275361816185391553263604861655242897132849621304739230371857673206506232589765142860324880087460574989428330292420256346256201173180089665413344689908853004025286165427873309987976644710245881503600420690500623194121411127489321041727979075210276284351437902222920652098812280680421512479686901992228214804146858738413351785465308807977314491802185735192709709582886935381721764205589488103694247739563575858250671714516478013309138023645574960450505354281755053933229520289544078343743204345157547144978007969354215490387685065097900881798340065837343623129753434046306437715339734376901989529356808481426853858504138246230010803522091948921407123787632172949737650099602725727517411627089383965704990634794272358281445938415030414322087387848611335808143519099128242694564302108513073026326676681836423826841231477855892783058113607849428004973875237352419215868211322427555856743063123201056667957497900137185766258389588302361062741203109669480113646876639328201281619399340597802062957654710363289846367969046181409968588626275787436852410494645761940088577538240370112444438457707062749747402218779027832239147180521458786142812929156910382000532706494569870193643997938925935471588888477931539266869198795215092580108978656516574332661923907049762812098435275198668799192988966886092741222134019343451268603618475255686559235034042847514996207629748976510011153885673817958944748651872226098674777971561871502459354312905543369613145597998407453236497287801752496696756351092007867349505234968145739119321248596301041263702670432108050525063214926561999945718275446782905286101648332278409443905686743683131457292813919555505665660070295544274151144401256629634196980595930430516420231534652945365310855200057418000858393385965452321778475129033503321038618736515660795238372520239588029518207589651997079423148329490570602323016396639726505864237940021109452151263042836402533804915561504837798255832351167784626845229624787503814726541256453995092844127249341827530534394971328491766317080564064264574037559860657803651548179846045525455054175963821464702051343534699288201768251707159831239301724166690853517545370599238834865395217232249330085448417572313385279993028101602889214413320390370008681791299742145569625190182095710219712517083847514147324001908027350758384403480280220678296060544725827877051308133593104781675889142004646245886575795185615585310906106805138061126992621073960367499105632313221332208065819521105961176467408664361845147260929087657565402203271898141360325375272368104823077537416440789031804226532078487823317110843022051803387354556144498415885466488933941685009258172837162848587881474944463191060176234980930313727306250549408178579633835083306787408187072844884988170016804967060483116432160790573423189329163767376734360550060881973029584799845767139221771244669724421869136737005076181515301722799759301237320276696615616914949499426202278457336541876794547486397460201811343794685567314883791990868086274696460484274633383248938423547447215153952569031423768612178461143203831485938635892493311458996984652147704706617203831065214913850240188403519327913170737833298283486389804671559843996261409231404800759229776388099560161156150446400856659188113293059054891401279087407797904896715086733216412146443526723950503660676582637550427002070989668694605416277193943157246480852462607150249369590576223319902371037251021189144345428578846129359785925209755129746018027272568500412547548830473570641320015764076219520448834724229911783368518822317551926112309270341198313344638373450687780271507659461823135353960236714687489141197309689415165113345767387955776976057548508806040460526791941524756491696319404648892685564824571559587954319075723921687922282259606022287592626505689003261987180081599971899061220311978092437428314658286660422817917429793763427207425899899290160257028833874331789337022804127207548930L,
2601030816047745216214116735614719737249823201369507982324105086946291687430849629382796930477745553134628534899273578517009624679549063702266643431373177573551779337835225124633277070730644450703703240546726259387949581336335700504636257104892642859104000365149704911913725762135151899694079212806504335701053199714567996233345909897629093314339119997013755249058247406537692147745672871580279434238595048017421961546646796535583914140637101856110575796419277005022460024953286905070493613449599254984511243111685687222673791680147527652037603121599146625516143592272615866054469696769528438428259359276098806976163133760583037097703676175167506882223904553732378440804654218697768832870917548838617039640595085623918367504525364134329531144867199094469505119740834096301150356794713289354916667363593936942028838548808434181195020497933478020197580218089546824407555702060112157215225910596280568830035604698821874757235692528017980292485592435729303368334112689020436293059660870161010209586900504891805057954434201452014846893635422597196910742729958457914470049049531492072117272505094253887075920360362820089793849494582165494037611817817733473468650221779225967282732537368033172276840425393350088372867008067857560029872114611346018044852206664450467933051247286603081275397663446362140779818806449072300421325691732935925489207225329313716454618088768394525949957199468484804646572639804805285234893568076701919683130469829429793511868403323552377680894143371106864052205698115695002892903016036858010052838172754877989597239727068531645403360492074273516426582425813887606319167516189509724149097386534394552343827836185533255134199807929354227353267449812921413821523556354501974250521654376948358133565314247785756233069817541773848388276780418804429058631007408029297036263457796824461461494791526479241303997416577292636851891711993291610483790812348147199295042998842544443560969482684400528554192019160427677216344776327097621826962656580528020231752053529904635659433965961204639359284211144365489454170157215296682168242693257279964854109069603448327602456792604822823889176247690713228488746865496040026282609786128393949887399596876299623549024743914313730990526024152791257936393969607314046323636709500727129002498788118723895843788961406453806482502316185133444956058049784698498106153850785111015057208824519362465427008989937558448869319047003157138079789005249565392516820942309583884454289813455604269750357031960054058555555037042948854929228822743261933705574672656897504716448098302024883471096756724640584370323300149352561413931827368225427656285001649241015724085109504793202727989739056094971926828471741687604448892510524237054141737321486424427751952480518568491411409058726360014071887513875861571047198129026858270893919013896212669082703424392754326231706231797190130663962759024578360236629089597135944546262853315785299647055911607285837521250069114347426329462742804808076034993268287100098184965451928048676051032905545889437060431883052062538912793096586439599700405278405149995539605928131143139116023489801008972469907407374058208782794873641171497270684291964751385632606622418090758021340687227038883039066594468808559879119188103692546859399665372160276976272245452363289055550120208311949981713652702113894127045998014821816069000478477023928262561560254905231529473116714489226231096075907193009839335919332453591217482314406034085893994613597267536893009718936589401253995676150319656701238427652814971577798957425537480685530836087612376687345386461062420366648208957637539701099685573925536039317770182214993012678173437606509695870149447271897684601663311396122427238734821215890037294154516571846671451743789522748699403335362651872539747532507173816404423683553881334110501808870787425597404201067038984598788027327900613644254263939110900545085777098563089581772764888663613743790438515131246623999811647826670188994787002694378980518626306797257376042466102368071727467108973224702757037205092727294158691494727871340686439486105601811312288222502986328047015310625337130468179972288929369076811720620788266601517005987647999405273465596077316822245894647659805130646027923028930563185272749047214309181243960232797173605335285888212895889990832199091750373887355768549439825030953780680879674091727005570509565829804436007154107721457296917674801357407007123987637503744940631096818661371338826774707646183042983504831310645474623103302616813271353037814629877078930519360901461854320402912030982849662994230549690611115879270144038031900621166071383385068494099660582070296484340456456927193264397395463263962954381617120819299006527614270732311472318133289637440533831440225786501764492740035574488588066617161904330462968858829046554141038984709391376713731016462615585835900644017520834843391758729405621204376291552787882227159814375701453600781336453739597774096684730304220487370132883245386697209143584114766469283654536298557607952742765520916060923937674309810062026060923465981204950156053159593083354848892107498090832505650199536959018945840169943515999773740495577199638839130422742125841074242944664219647286249992205231982266700510815563090386969906230803065140998698432911019391926761941368843130772025682868025715624646234442098272376788382670993015367520528058093675522234593062466007625946127039547810117709941128817788590737945405309820828999591007792384470627986844642459093913229035745594646595632240811076136858066932121572606138276265127258761122934088705073232135598875003228089417938191348959988113566211394880416822978498833448975920662343046590148731111987062552960697323355778221723854963336137813191944231964322223792085774552677877566667958070141629519426569470077311887138067023047331135928922620106844535920234514942308628915599379437986169708927340143855255674186185133234708121921809301481378602929331981531054488611235575483594837311694075145119392987226481983593804217023687023664643880005099912397104231187022952708525903776127377298653257550342023196722822690045972629249073310498158732184605641239362634880597409344233601353789051129770928629070855720049769006359619386483736281901578113723862345030368369332403115873007840204646396047805992234800206389460472191542665035119514892554968839729773747292369096877881754838180628167481567633057045634179805219256149779931395232797118281358648890894878432347997345800518015347479741138946603147713882602418977942814972189L,
4287275712361313618965620644840971968308891610058184931795147152443561477294696182283209080081474165990780800935923790278253897908068046955002017192709005845427998103971647008344649976295969113244457745317391048472581437739200694553511125538836939540313067867762181077134620390495872674950511103359168036869338936104172290828931364137784816723140518301215507722438162868277585736878933995297275664670620332080904040738921815573209496736091212303590748764972287932994258663517350908078908103585813291499532984046772611571810585690235884785055613116150657212155395205712842093044142700537801666928683241891009216266772373692894517219762508720464380219807465188965172751877653883498399545444936909686971995196550277497979091489366835981962308307813419829501741448280045614398856853516145122656323602929862725927010653150551774193456194711080285445565129865581361979568157424178418530726902614130613445159633105985061758069105683919805473461360878335268440701069754455309244659688217048909611158163575845525248143139721133964805260604603132729328474940576309066280452792833851785290836558460673987168728826638824212293382282604072409522597820788454315014455063207602268443664640309240320442490600108646051068281172222865717391856735895370593499030550164647091433478792337548588534006484159670506141251745782612219899443864728371639902185047594790870406308352133425177171450195047437176875198875135735703035065421054844702016570525079742972996267948909659990122733084803131771597902095775650600824081012111624973396899992505722431095141033843109539410493012885952790989022828821624126463427470489742625953312177749413782151765060029462594297192912099918103589423060690920573712445725099153464992482844403971825411500333496258180468179358917545382092082884195704986256106809858280756428462963241135044612181080746851058867789741155560639211456959793580482783794078306211469502606445761066887113935951188285601902611911653774601505622092570218160934881592722084409640919322624351476159792161562412027987539312229573978139487108230777667677694666337730669654307943112091975424001040929046956335791304445840905890281281036641340970138563221633446837676733705108071888091010419646725742765772865005737551277619158191930066212243365080874403640670806163657778390938619217200805709790622558063286911249954872991491263332680742319295210156071412513956867194401691221693757129900735971928615883561124586367545056109874056317865709325129125789645355963191809036718636674487468056594026052656339424880781909838782502697435694998589156489225967463562181362488474369107528501521875914173282509590540315645320376565712633561797344454213499449041886072003248443054934751058296894716552604852269368466512808485984504837116817238791999279921518305187408901322804276544249254382614504663321702021440405626129193628533758921737279498181657420552445072236888168442359708213316867551362611012880724294265635348569309774477937949352514828831664099520817333324675998579128429617819961665721210572748884295333928195478514269104402473993291408848149846101669247438460268142907615427840765368260080058047699346250779958570065694936747322619653219153851454029759037048835523541301584057096044110202191973943168183076908457261910468702825170301868179121192922188256087470042989821057281899410447616197455984754289995203823167742343882586422495823514246949465925330337932464535763128790265351317163810109942899199864393346038510271206452647170144506434322297642152728840679738782212507017945014434503271498425480800495640711816542038658675269855753311519588361603557146966496593612296182091477418482505331566827205942943942132626481722544110919223364436689468937400062301637788492487791417650192430584105222969222093106371402235480310650422188989625278190302592773240295170900996764491301495962858529843085863192760206091698304370085903374006440463483135735421083008500389174391457172772092464473301938744979191560136110723834456694247688882201255580832491606221054987778675568102792678029278329041884711080762343411393630125627859561428224713386258885806884897855583558263971963329921959307756007937678505143379133260371463900792387570289759308494787852401547405417765540789449909945072405686046219974038950996818393678841497121296086334220692923489994659114497687052284153195182742904361903823408998757153372839505578210539199985238185966707646302868225837268420872951568513718390483056257798607193938427617855918344791527153600495435823580331130331384402749627224474962995369315728809187669047224256920254798741695726372850626159800797178779819033186273689470658759081714615533447098023628085611083291798628187560001457741767280041931326693959343808259976556808650014817618292563513444199296262937073671305142946162103536158366349996302099743907630450556732006986154204055938455508447745354879087011957418103772530914285321882373829927653907055727121316510536061435846207553757857997075871001096053619807420058468822741095133142191151775411449240651017074063241428035398367617596542996127243769823026053809235903940908910197245548827896167274880160267452050634019331922994763065857008711510815819915525764057270947083743336716444436243513784495762611038515989456953279643003883403383159604456861808276817742705756893755703345461216142088535088735910753486721169070559318461440898683224993272313592342075412334983308853627792279189629671526881341053650456856212686360380245800531846247790176096653495616388827127622206740221160274319413566635335577571003405656860012300584587715675050209971036136993867432262687001650015239125613012065023234147107278894390004736932360786414814978888290594571999279532046912467927203995409192010724235365293689237065938379105611501159253626488436045432603177087425100267727791322116323088062370531582383350947455839752500594007649640588285608099960711552959693664696897537774772099195002846980048977921913065642745689010805805232718949650718648979734754576435547289046833779962528270062800831222076192498167757473520835997591051854898256623257904979622167458047869292543638594246420504814615236014417706563421453261642883055093505779526451561533628880970529893903883606667886411940821923867079499885323111809464875129961340057673076104142031159482282189667735842521046801060781655279132799863861263855652906029252587774194112236284629553799789272050561510466960191561416290069649859271899052033257364534845821418780097250620703402018607839147177996592813089266627879L,
7065757773676536232014809850609767369155824068642464496568413656026383021584482965229445573296165622483700270131928287106469427988835073122956355814882245899282521691822709964564669488626492444992511711636044516652936791898279497515729450444116570635678150453298171436071195758589266637153415387407039847292473708810992091465074526296569568541928032203313502027769363202857649718242924869623314474916215383834593597655032678753160471648311991920440794450069706584192336570608879219961821624446014705353606520688961520601610126027802896161718097045623222895610815170394460788196784701698987399654107355402233990152956063417341962645670028205061843587932989532200474046399775368224286101537796136390498994778598737870963103912763549450415834770350696210887578187761634936932090871435856388842989560767836101509278807254395269826799863389642430660547573858308434360978275176990244492494383580110839291277310941572174829060135832165243988709520274605823548052432849609808327287278280650740998339485462231781098798336525092702147844502602488554762651892976156021260895427621365489096840738319433816764005645856723396478635204421418634197535387841500431268545604223301691289531864174953996960486304631495312391793924035676500477640199251920515183562061656495165120089674750313389389276958398047144636271659592662090921579956101644112003751066516210415072403222572129377835958323542016064086625074801630441808021000141326168682709051283040564699436430749094352400893784092572932563014488451071270943275077460927108141616243391888528667738093811619861834962523069184242993822314343367560224694509066133096565193682420153302262699526118260636372752051351038743571341398351623671233469906450781860003243150583701746914597569722171733925395658250879176611198876243060840904765649006434819209499517772892459338434058750600940547692782046065329457684431555657473728055906244636642343172953888320045320021871754383785112285990755494491844819439039830065897213401241936438385965444624232450595412041643594116275031391939030736547633561359943407633342166519243609355287810350256271695784157673406483733501408007377438565104299436966575752187419570180689721613292504009676347519173406539970476540601965269672417369874534640603654993470594236738727474296719287144008313955721585322192475749082631600358263996431670228669103090587078422074498896885199319239307791929786638008333042524605034677501264629554424202402994388734984340631908037064465075472050575006478762911214329536389991249826365845266696433295503987353509590251070541072724376979632518879653070876464801911317536310619356298217872656875951837440042824307869791066846273339371658567266476523857438775114079650625445839885418118402427639012064647918710367289589113421075482020727043549313283322320284551170983597795043209856512227231559419331227535408808626170565930082066772292653009776940797278456033082319657938565816423009251323355882004129709051319249393529872695942079772460474396451004349495960051272538310610390798434312023433885958939626967661915259719454481257775701418759519713366987403628877484327939159498891143933868083386561549864539572770084034127133741879970991159954005955479094352709184784391990380673755116992690170221053243358041080769042320234197873142370991022672601727931624007991912544511677409305067311295041696113642667369754096890673278209480156693192818465677389228920981046106183261968859927458489866830448770998083907742744696487779513351533152612902155441318367717243617520849755827679665441620144760580988899285283140904765105167545206919279232505673332118737597846341870924428096905472406146827290766733055736688850654849543463284791835309774821223258507268538784015826692194822859221268785325068251094915765515888235208654283416764328967629876312732677492413990156976342902039103092395030972403582460605962549201040969756811476777699880754822371739349508387160669234777963786726982909370905424948423518680653362318432262359606354936123204802786755730772580435579469754742110742064685546379682804613963683015920859533323651805585305550178836092442171746702481681231411361517646213497410436887631183181401972461465924146657777805350483448773103317750278176795607165339598915726038540012441771859042623529237930755892236169324578546010192299141294946544550758874001018226043795935454219909535552348758699590525297635262337129511575090118096944716794367223746800025328360466942805484047911799691519664408754210893386489110945598901069972235004395503465994332933185450489708483821035740233956877281238280705667994742969686901095561244744943902089113834569890441760111638539258208059621507567319902252803064246482227175174493381281270805013825318957777993235400843353865227897079902831204439509146095266919779243905708069883796785461542016513148790708195109417862149411886893223639896644240988413612265235310003123594587330189474094700671648586044383702327041657914491915802490463682224745729638345551968849655512363054858818533068813456585962299532994769529249986594329177054708209624257353675614077652351262697684701539184345398202351612864820206279511348975427655424021258430930038597763149602891342049192114439447069107750224314717572931010807648617499341205112052617387318712507151980612694481539362433862727886028060505280645208190887113467812432345626787855511319645471493034075763318442992632538315154985003698170092054533075503959841972075431453056348963375899591415532675335639623840857111289419970008885680211750497339332002958336170019327053586192170667023719635305037052235048011328500218132279204809652053535795284494190877171709107887531707785830965532090574179858967904950391976006188008985925875505795028748525297973797412673446109309832354231495917763717590563257115804108896294014722200838302441927525980279001423824490446053764610574058307997687922990559872900266574893462438832764297851119057725449595220681410097954027275078064224959482528956358912291633904608915239120260946866683901698993540683803743945224835427686832326930620280841010291976744391975563229929788095559461714730585591688507332310058402573148739388267849208691150150991941306819112242440494134070574229310026700102779867715432893900216608489631264982881677533470095465934520309035953328318025958647735227974736104641842487396247899658574261536384530836301128974159268799893530786584488692270351103485204738306280150995410510516764348369630143907518607589464262681464993422277556951816695440165428755136382L,
11643338537262080064801582345541834581200767119134233604590108451636947971288837530230565935955970672512291885342073809562159945467000209561600655445581022715036442427238062369702351742911637068845046791851113091935026195405889439418298441817877758623306329591217760246757927998407995300685275558235256038439641398817703700202314118284654180595326093386496085387798774004229382776621389227309423897316032019181227363082930096053845261205895557664245685888495069653624788328049307527740377637363076827816236070942768097063212274436427751317086867292924399350886379736685765654432456128779233409226897710128828502968567824944703247466692423287913744527119980264303234791793147632762947534533723331292778396705057470560962545139722036844459486611403882873620845758728389506135346694528856449540789641348454784159595215019401831369373795989303584281203326402510153027748099931504760018336946316194881565053774880096263619594534399938700861639530460126056101427866665090394471106208670828159770034264469171374775767974043989478934862865352654335116281021504376242168747645273918696004744531441476908178734324921368014850280585295468888026301300054232037227410652639660228539064371284555467991370728113808965551519879916561787203727240772913218201609308214309645388184056713041168685127930692109251180404827740134906131226498534005376594330481019287348629204235320429777485012104960005057929221360463818257784715435424785792778777319573715274744492422231266657527379247347767117238572226246918536828217347257860851276596431048711895222098847381450265927314291965244153100292306701062953162081155786467143298314436847669378374135547499824127064236493771692940807563311030740926786352520007525239286302887516304718691154562501511007727095593695850877026368095494642512918488866882847030336833809041848046028575251944951457675218552367728066907334177129239353024491609469148517304905972211368769190343618160224195487363432148907282355725398121173500809975089970532778201100402455516647681039109992652973212389564563430683418585056198574694766272265854625324967490979462296102060616333490503973656500903125158027884919515299191950026561913307436250731747761936509839611265324128576655659098170668226909611126855435393077714730333466493221341689651895563987991955312481100684249739851480279741520888272633968507738452409899056140891492159620429115201543654310458274505093510576019208276687585858682487226928011068247397890404892357584333014887536542349139473388129827672291743306735487286416390550127051713319526114620956113691807385689766917038009064731112195290423709103330695161568895076328338241818050673969015285691542147664944727129009078674196043588510352942184002984540119431159238221927233074981120534664974937062489895682816749019646276655401753345735830454983543637230521841761596160575494487064316984880451445663241627074902716186913802060874824650808999068797611032995443897887088234078051016919904684649516359720483099908112445760523747579386893817866044461628587369613300878829390323772667531510680806256023144323540941134589313895254324475453921836368041875091529814790551605219553846685090863580260356924373787542989626841663469096064830289165427042812160065701940461291815304230720463828754793696188526926447678238162903754098743681459854625423627312247071783384825221866539099137927585128821700446216570846499967127648602546977056382485346768803308304915990097128757315673265032338515472936380964901051216853068510570152124231891127945028365096439409612511197333844213350539895868741226976169240600382809910734495338198486073704574903361223233196268279490625264617227692293214930188734020270177421283786551790382335122080062113551219475440655477894201320050380740218189399445753247469161549104953844427047116320602241895280088756052021247408852246613258347262950143597192924090289824063712082220016704537070539547379911247482743388593753571014618488858205626639437089657703043411467127528429481296644646367552080554226571230261887307023255614034438908585866852383595975735369111108675916978942163312807311141094728905044335903398060612304599775696042662750791621283127953586259159587983463589893091443845349661962911172877236834022988092692825015342198923206183110278870468008922427858009299374730282078981164560531183900396944432108859348180059376259592964993374788606001265279347499043443657689980597734370587994248994913024821220947882290020559986229795294093055750942170538656620438316095424150103665530905273920683855691126538992704026585576394187079519671786246610565237156781566926651229144285842436456611733835434793194434746736521882523132361551518616916174386234300268158052368746054406529886396706469121329164765502720606114373563967186069350343435283780121376431163731170998526341882875256507056844400128921531014087644281221073402234771240885278562934597777833744258770239441315633673645904393741733791994588661846477509813886417825344204039427618687716078945307158173018541030424731236773732584953778687246003670726996910199604202309443232976571077117828183800133854474581963939250844565498883224351383893555420781689074954372816866150318489439167830653512155720587485563566256591640747319678474617432621514178102369707769174753298607134262769823491161345010168587375006824445595431103510169234986921319443300805366651313742375110039070378302739553789036561390571110630214170709808917452277236632313647391112272295133368750494339713308186894394236516280556771351625009567007297421387398816885837711063523678059633056342278162925559284608746594231384281693021049282397979722940282298836433467201207299819288417348265516599180506796186162503487014825476254616346809436742242578973055927645328117753135619715840867322248568814921909453844719656282935755471473064485833046776753843877284385365464476125932268587605096350313160715342110275510840574046183327657786062122013176709101205304059489766979397739563542258485092235929590367388868674822094077146837320349511624289077034353117894618780533833843099698513410126607432450708702332777783177560291335846248718898512660807185761749136425703624862754406796310150808116041363990081316792588997048453860874261972858971129917075942919293265396779105389452799009799834249682181921555410641141054877629752992504663764029387921839231051348200336173117123300680548905835159072281184230750303041485316063797810080511481453739327884532099154548010331226499878825980004337998879011490835251795791212438096446344L,
19183939102074573389592552397982148467156081492931260522636947476987029666748303893286664320891405687244239377787955248854471653567679864666050673857400315249947161178395082848077420665745223242714671449959797520801206671488475382600309421176925325513205798627746251767945268704052531962987779168705266593304220516124850393526673067941093878105520959162481507930271873567255154086559058517827430851793730577126607081116787703591269251352428848668046259480595388977637635805611067919637637948298466524093426794728004040731875223576247328623512679523619628885992759434776107167414822814863898411573335470902677208034652221877834834298403767067975455272410726828502672987328685718148610681566888784615933862169847971021561779460785670146644312026138641915794267030924703750639630014062639499446823385825314535192186684765144933591867313929940535353810944326533707802137648267611957433823251316446066289733185110554177900244716764756766281007413876000152667846291248828518732419406868706535683172323857812369940768540030077276072280314795143429727516161621907200528100105724717933718442971130965488912721257990606518000610421396502157796947546229306793769486711168132802889779858989217489358642335245524466923715059270632790220848991025361467850954580098015753545066313581901889135459067661306758233963533116681220650787710628065304892668820205544015522237176031127729537345065675728291808305855079592378615697415585844311847418116318124358655049185404887579299617937617827066153911236287350776713683600417028482842724926177781511866439831508934738628019179711382473270147422248514834070952171191387419887750897345508262642477234082635349760075822944574356082029635869159951112627707179253939728318435731113836555547729658365325360281565617861705191840149786054203033122224193785891513512554803186137292498509608077227935315547802532066362413921913752928706051093455195521243244311599382903663468874126297392475420439248888135203998681235431561041001716228712056396927203811617599936830865359621557520477836102422160426819931980621233777452031103806174657889385525135331160083346006071579408146375687961788600861168034974635135139444561978341535727628296676530881601344927499105448314290962277534642383800890310389805119977128184314119778879362999526177553438436962822543212348846428293598682441370925647396835995681076635994687630092494565375243415605112915220545094476534771388986385898097120898686469381478389878676862631068260027467459286967522798208307271243162616594284787338013224322262165861091066455211312986183034201131942834630097697441945078218194753166616601683343703480057142314511602211522491850173481167239196139924743896719929663755376240945945901461497811722473796835048805922493199016670072853515617294575500116058437719576750373422944536185886323104849444757174020000842629525628045969461394993466609144269247839893082564040509028395738674941984504917959488531265398357719355605860847105564805136092389880559233460329908813828745164883797970679398206148067579643499439963977914182534335321222196011312747855612810210212515280506007381183416115309834661696445777434790336101827033973901681215486446555835502303258915531543935579187860708803937254397629139678753466805515453416281528117829274528641459823554809986004363805955795296076265616856080010460850181422045330980344648076666924309954871976296872508536496455893373560300073866552929603087001337303265744941459477369988683349659159516658836712244671231770310288171538897916327299498812159652294316198714749055091877415198762841674585439372404343130691150884515271788731485718891765726845173194426317342833752886199939970360753014873243090403724977001654359121037761240927095042805706639956322789549098330240804411292405843084456587682287995308201705119762805504906070707595315941915655643284294180254695075566609824781427067439218106450057938079319899345849132860695189088646719004907296370717348828196117401599421193665988299738168633901792194137427610250678572780783022601831443636493439256133074371902986988994873187092332270348165923828914403323585160091007563804497378742858107204131322095827624379248858586981354146416328045657707299329588795283895077533761538092842801504954535109126198651561038775092771565645619328554037453405906320344178643803057657595758575644293743860818861176188248253601947717186938210815477507716560110789345390523866635123477982218450005099148734544179470204425796653903885056388532270216501605861208499540720822476765411947317413820968562088281272611315688037198663620156052057556237728182021194432008672301099081237840445731653400870691409117167294152504120912729001191880079941157275698152733358722584429950419697319879540497343032567300165623546500407805996344418069950876751219222805961576228059002923399192771250457696995873733961910616467198984863259235064035453019597527902437083009806342141695208703340445753143468830392152579510059170126675117643575874143001777266389583097433788197077393494518506690636261322756727847569220726897976915190604372585914814859257790590731871861471765255190820678911854994413850084497190559445923126455677965038038513819767823870092299194838011272638342048227426797028537494587710810478380348550824600367560386060419696893861564212967671450155139061249887064172939244891873528477195365694361735809715323752623673210053499763720571926680278663668352932612290300771752324059797952997895291512333354703100896043209623987190801899606369848931763979427801866391471273832576897820294885717046974209248143161347917714652609202993787516250431661671097928156143006813377457850677635566793890476305439156519589477510032892854341187260896584204561041907423994847862855161085143345347311040634475634820346837755620493783617539358627553733159213826966010810615151232669392183230873748364786272754696570854347445797374963417796035230978987731132431537356425979079444906318048197850656802634450925117025741509585235389205890575220349878364798479840812759976877643104869989447113016440275849656080033402745148085552028443660165532116031511995039756241115302551095462586574803252394129237294538166812787545574512183758000296562693525517751427758252075624887071902430049981285335968873536311151116442199286364551107170344289379784585151721428838857285166709040183617479745885196615926388524580425991366646386397734616740774052154779757844275167479532243241502482990907283794700530561565762801674838683915911292491688971381305171685528399541179L,
31603818911298096139382676181468302823613138914790581125244950004070307576033013775389926513937340714590663411033434151260210376410334290393285154842376469298577144236942369720323564506225690452117854585395994788158608990399347961344806243811413120420511726577537529480185887720106709695773688592778377551671300029701390025969944673643515495374929402539964505685949696072930310692014896632694486668081600272660831042819097339822184913255815986973799801127622673473442025964852362803080558608804695279891479667845393155253057182340044639612549368634397409106891201430462375890079084246116949613203752047457348062030013239125568409632357873132032525130087088525042812289088532292238360591750834446258753201668462440618037259658401826157590532035515584200015438650243300414700597648490403294545608775062619507811546681038667364700673524278192826966837062620029278924728772415980488969930802067320838737947486475770008824875646769675227083067424214038345567094734626243194600569920928580495336258697122768999628502681466840837147236449363488715094052281621254804276377389557272045360441034230181217920273847966843842801148886544808943704439052957932473367819721712305415641807456057464565750591803184835945914945023870042114440196406395741180076246660599768782363163077831749548464172387852069549587411168276611120146501109054239447415543118752840152544223278330334458515120292746785687924770478208992942430902740401089519800493269349074461800528407032879602764032285967144894440184642503156217038877072853356966990535147082724030703881196336792075430301305594910707970405533969520013133970573639498527712432371907360661081068092976914620480377036726217038725117546344369413889525288186697071647077969368649555778847758770948873025648066603725386469901435041186217311737095656251376912056626004720872724403760667061145525444179091293347541784112998158309895695550081115037527072062417268766988489389890769532721055475863192825750872067435115379924181519584768467235663884456856679700079252306910376365719351332746564524306798596792337457134727809377428987346229336484254684462150402719283351759348268821137312666364453803004063567672648213213269583897373266891973620217783267592834250926470381814680032915042294819689381466913593394761185408946054238491026718566292233486721048430252461893001669120391499673264698771753497981465439979173580124738027177525266777158008401393382318633017774635137156509925222590441419401698314700312605821509664367995505262479872073852995410782719513196955904603993849223505678731771305518777892717173624314395797975850494017654545768283571072208431460076321765024071175729935078179768462013143223048293559661909989833539490195806318089087996952116976867534462588546793278871603264851451547257677009426443574172600212755737781028205535746477290868610220913883549701138534137294461844468456720870182941498455179893555265112827104469026325816550096836337342937608973683334912318488717219297434472702901309684707104609579463970661732996606282935723016749645432793860892742179408596932676230064646968746997194908228865295712551776825992581552194317734499642343724473061171767114935541582612891509173978099135177248119198837131376606837279085328648453245126037936243526044353312131843017241959640167175549153836088225348340069383652650611006293342167554510485366522538123808101277343342658760836507103165696841998942127427625879780745271435579916313132793398743735999333647354215379635237189062901358933603709579596009684527048662765256940652598775567574600307082514189344308852721475216732211340430761413807665870822796725429269844450508378728662594328256374644968136901928793717173265731081870841498602342461355313759720587711335246132295913708780134423998640083812195432041948080368190243120096902115977868666921164465013450514781769617823712494068733806703459021876426719028530282797506762346919764476515163694582165237277759163741870751326565838275493202161318632405380508198213794553700850479946262594665451358837100327440203616798084268310539819884253955118803650419689347681736059325725756413484659977820982419721353056089521088231952514125963710645550160165283130667306267498347787476638146556371572619305946823903876194068036166381236232991510621843564073203489011045538467079408201615852552492730661475793831147165001220065922084300783090973972058066307552336072821877457610828567886356122329568006153242478722250605906159167617001676926601319714570875057401806738932871806683919564745269077325531305012442325166666947566854539198150369752642818535537334325080597124463958275797799604410532802401607503633474809878722570080170631833380486375127143114520763616083259320939510809854686957835003740673461130845231933807441503967184628123641547724810841629073409135679430131658405631309816035632398806616187621867089742798279205967923079816667747287651887848823101321098383604523204939931044198725098324584994882289834821314175585158251406970674857223002687251416270199795417012947871797520777131922600815266470099432162587279010055722529403009633851435722523776383850335214912851583896175033173712470396749923043177295830226057637596193212989077910690529278616517860275967684756454636168479948970020535964066528560169317941790853030561216638428490178620222571267494792026980645902310812610434875262206191208705108707584097996004346568746813178896118571731580335311223200609242050233729969649411078521526037632523309864135198023130194476781932657250242564111463052879972199560334500455074424191239407707159383949041689292042301979229042699569503309472812701336177352993380483112174584870654227706915455205930273336031903672096689436933675310141537881225188243556299676704107296824668965237232775687941791691457702350409846166671644113163267453335380419589234442218448115766395491143792976858279246775428083800188826658285722403937724540690768849605466524524790740443217383417806584577638538994838808676602392477195696412926353446600030946832228717332347643032085759560613126481027711656729362849856505517968221975234909103112362574968943990233016103156575511594712065359977664682326317422817390192478918529737703658361369507281155018496972468400044215380153318773796378113317327781283829334203473146334583836592349410935752378434979792352221694578329543698926458197729092867231468103950191762999419154778048496475238055737887767923609145768382309708975797685237274768711146602867078700507596880541151319015167691059088413682345068086331564L,
52057450027887722464728392326376489227010722029627863031991028623270842218510171096039453873445598825071666217179719589861937162254104683505484219649191582630441884573477819309741375909704826300991960805225736814433171796757501670101540575218751305698873300457782842203627768059880600345590635549904289900651609454121689863082763966536320463454630128702006891174515056004138998046375617765849338640621141068130317275833712534063854257073206389035142466471659773544303201871371678710991262471564040763086076609361759693835016525229599329874173420006798540489396041295670749299890767957039682632237209795347068236869941745275972136136258671507734395154311830382782434711396222934542882679324036508324738555204681200623679698342278306529224114590747741499463957105281414474374346520326200078547540226138692251078672287754799967994680866908763922077149114188707078127226383109208254174147023223624885104878201337852990826624437927548258349022264743281391001891297698194409277186654991259098064710754934877126543605502311221042883867289463263850233925545251769353491115029189787781552014505481419322220287545912914713496645490838262783280318770325551110388713632332542857349417173658850176578858225700946161533644864528660216221762860711815975533752820289461207600213604777243701581777584212662236047026273541641745959063306224347171034574467897220439291602686760782210202517891435264468413962522507642623149501954142463695756132467575977628212764457682896137372312184093807978952393785072481273590754380191944489653083197254658725579236793380951486746514978190439897773820615246947736719379379741826506177897746867481807721021296843654383196194039809654857662672869446862017645621586792457561385380582311499788133371725632862387865576446578226114391031801224350426847272249488074879926039347760322751736432519330711306442949849949933899646945194441644790068329709577149243782654360016820926640292972245653681328230981245612674187964969536973052153920605682172633420745512498095047205651441039146851249670495280498081760674244125885530248794973266668084685964222524815632233573948809390495900041513913552213366532681601186352439686423292937062309003256007559274244366749335829965392494149151943107863330897240061963525919342861728190521370535323663022555181345988213220510454788307861072410681258971614783118577354378038142490587927297763940596609001030868728991349260016672716458641552381192656164571511128359162143677448423786624392767881783006567859957004533954972832158678624203415794127584622593399617599167960735243607846423930057298793245937106353655917429788055724587901503773162025424020666798385609323389846562523960429364905438403244836274033741608263076096217906582172118603633386987136243053886835191764929238226891767039655279572757647616337724505598147264161699045382589491256791691748882957228517424614682858965763851860206291886028327332848219785853445979595398894339829234308209002250603855403117209230734870152404356611635255310902453257883367144205345899250667831933572537285557054452772479286592887720096102432793266872130471299014832887578702095893434429164728587869899316517951717265771515375191230959059115025737894344277256474925967587249118894752393488506500369784593444632792528208229982107149886071592979797116083900220163979937150050296593731434537969187547277091011384740400662317289477411728316631669626321530217312261383716233646060442751082018864674476552881961747501043207381376730600759483330995826205492000812535580487340528633384942186224798296331259659344621425203423026759761883255475803161357452533600367658115185250257973087827336574445520921469188277413758476324564570747985153548371312037170652848873969314501172427125540818329773729670068397194174333106132015836234395706338210271610080032985584422552496306452276746945449374225312633719930140275435014247838008067747719788487467006597925080759854971032902528332510629437695628290543377925261192620581658057185364104212212118536124789595973431709611395085040535109192658034896787925896818320328815169668078467503241782468398293597939221217933873797415594300559785122977764990418036602788548074970596045462333499058664880372263952339910744999116346943822417984327259129077536896486623178687559709406873552928130833187592769212615270215273418819679463274369749252129079302222457431460302925109568470323810509255189556922564222738604712975145164111445169827852462153716275194586569133562268427672553827502911671456062851726684065030543487529545079081839670074792347171056723889840456534693843148370272661030642811996634589460394682773198225681949571273141101519485307444106075579543444489384716562898724823578268416756871355772282964569158230395084341422363055625877702521766948976350562221610689691588265964558953101629673203328997863795714941921939680284602905285650480848731546994624885824120035821667304634825795015534532356101377341349699815233222261767670206088936414663822078187034384615192744981462428117262677819727841493415511141703626157854781621153225089651778600088058220462697411889292504802423278303437439784709785954791631352263915745834612063715558691102636194086727647430410245514740632414157698279586562902422759256233327375447431470340515844648093600499643037858332864057274980783840049355046426961661007210454456084876041301267648645112042412267745690798507317686279267379362987074823752739664502138667390821049314056781934939378426963959190242440842240969613119678387868430622246086546732633130556153469425006147190203492363175539118209020401666792715830117949735556283307059280598108027073031952270843002577016803349192579302361822043255753868861481779429935356889582521572367513564638105339187473172519751605887326417874853650207463796338437333813969452107138536974783375263774691428823769192595719884305534980928048169709954278417357326452032748000962524564315328916035312576715724676225320530952650675988717120095867681302597587712399408545593368243994819445945704270689257624046895521383113438313543288432823295040643378482600683600328428405306455334327490300020389258428894743548970258386785649435771144590628255746262256790778712204737469951602975215971765245357281765489395455441616216780005435564822287250289264112563350525030657917859589561630905722030599252944594159948261785110939468920516995168069422877545952419186839103471381312454565308761428381290240576652152292694717727416800356467510837605487204672888522088905706895367019535939660977766996L,
85736904454932008847663643920967406926974875323090259551800196735079576804776375325153171206949826292422796677463786274059228547089216183942525344884831813743965943948914451249200902322778471482628548831351390734964744516059683756464099921226897655962431092960745054086414831142566763554661987384955273201113068573107509227185428316531354746434152762689200163355350143724356813236316361141801663820163097507075991855125603418483622826536318650001790910912984832472875789911325906820361685556938642119064938929670615927809102466081298356329918350359482615458117113471184435090754002316935931843481803049585525188711876455753955216813799358342839009471450098733168155310759839348530574422412897942836983962194910422459253992518891493759698340373432836647679961447087175675362580344553434052545847583693323011700388255618848511818457980463536025496533428820276471778054859612390873358374928933448444844735643196590961613226474495275225408312236941301267363306509050832392474989989764959483077834924985211038284135746191396323740535505801415575094318598537389032869799235157321214909189644334273692608838495516475419703563024754924966477637051933531123876707699673989133048954524725996975042783290712251827705563300441983165649178875796741077072070533909285052820384816441930848079635177686558646363231467267775448121053358744555363808025295672980691307815627832284620498663574008473999543875088990134451184464264688743673477996657951830790006255859886017894533702541266464723590146370061183448525122119196391760976287424530843292393078915073385268759725975180746473859142749780090876529971019378149724344004084857727730857299966493184647912023558272717541114450854562519611401523425971530267776545579072646627525735995267053763367272467439379614375113075909730955049919855520527173814640451915242355216791799205092637506062646933319043844355887348965069479456164084215861177526491701158324835085644133289439634211212641137364158212842041919076364237586396383043334908880552372348278194332739713336249599647438405058022151632589536519012023999355493197058156114354781108313734427080712787734157326253349138306062362506951749985271225128982243584085872589847026470536604703043740528222206327281534008037277670155949409467038817703098858279525276179806872882045702887300510192449335215717791950902643870428209512879522250706509879745014727967061286455543319962907436404637327908938122205203658308587389323721254203234392059202443642098618660049876979222961243234750136136091500529586828981255787103217180987348461035646543750991541642360369961976153630992634119175657542539021982238264263177174037112678039960284101805836003538621297357486688862436322666928784193180959911514591565200837838493811749118820446159968437071479844133373727812066762739323673194498327364587197749905476719625036727856930553291838466801409453700264217871816292491688587912391736021055500564185615294294493838371379589937738424685577741505017674537131127559595108703528668712805408979304760699158410692259857219632839836156415089965483784398460056620820458379140877273733667088217176773811890295093993984679172576010156724101572365398572705388324455288185067445799353588789714342002743475305112975560920964576692697554906653432562458257990525831209480341454405284980151889574428977330001570242408994889902061717068545851896411513377795032182539925403984549100368828721940886321467388889479071537777261007687176654416786122704022270608127426812394168967025762951010070777649901281827027012608835711893592295859445293299172176344573235904974064118392091225705249271337039260746350215206683068073382562582992200261831931055835602365531358921738033633675112707552182745578581557158358532425293655245812497305262863399542171378881354777704588638334464422964540416854711425923694160743069965849655246575461112780771173550929076866974427183812649337038975748586672437886780215073497504020840713188401276002035892105268117360772530220981192290464655146765730656469320661002422632581818989098469049520415302515607371646886613026781369129488945678002276686041053330414958407422244638652399085339348420267665169919243428240923687842452195773604541912945895717391987156555433327000600716296341385101178609135957640475551428124066042807094468803380115031172766179959490555521773954574225795622371554139885427187483813132355991242825711092653943575971729328742753768017222877926542201697554704185705864201744761574207630772415606352214428928186142211852047853406008738855691826367867555272822136017959653439090923366743290355665644077605548099071709620580511721010028788064573556622664730245197164286519566691326715942584902202645979025412210785313260140381368582072432428505709257423660252970978290029224337782468865356783673605151049699222390174237465455818934265451837048470304762582819671465722110007643046515787841992416276007931098661705067256353771802952864741239922252611969583333358137030704089361804363096072193485575096867358262998629834022760228055094544185345120851111321543066271435324107297633136192903951578210322798471289286780952360108588528978155058063250979209986648694123495793566918957870316514295225849395955995528924419557296679114854462776846777265690660014090734218108851309085410036827001649651561883726495734656227656343243502523449868957049944590742639133508039574628481438507090421245901929056997775201250134603609540256033936344068420483830616107884009042154080028228945815795315821278367933933953369375794356459350078566194008019033735028920238652271152314717719583314125539755700916079582468561973247375035167315679954450679266281322549428341065685105372637444972846533329916156733552472257570886718458861117056030111736068933440295901226914266932825947182078677447095041176756730540160993993746973084273672354946736665188731979103296221818686873484236302998134976956755011750017587281853735787922594563795929760872908108629679157288463083641273909011266212520962130009809818271656012488622756282394342924284752931329997090444491803204538400375575353188768207774573583448459040872711863515364383424163641691132326665346644435848332861575207806189711105628732608389070729629352746440485620602068069967029657839660045233324828082203876496297458015058714536578043277201456448244748660013976221574358950616200126769887258891192551020055044152380676522271722221623355105476611691589774817548622494702685572558368422441440240983757147726554628554917115017723686290577200864249392200597L,
141186874028101183639795227159352586818504449052664215288099852315091384048647740278653705845181784181051633886393032309713755768912931895755611740036483099441737553018808737183828833062531666409334501207669865411728588413998443820193303043762100786991829041758886914772060865813735666881161531838275977388095642097664855847676621541463263986125329509804811835131633035740347716045933912128271895304608523433598513539407723211470289534356444689082136747863703200577491100990764561631713404656563363541562608354025109376850107256461087292901090908791128894395840022073782568489334201609196022024593161732291612175441023911912354675048846739896002302023150449187116596793646188782121984391222702340209852928771110236984220537641346597441310507616501408999682015450779820433796500135340126276864487090738682680839370554379735233926231648573668813653414609239542199935585303035202720118753180088972460255953115594877238095742722505637898276249079642066157332242002701354238160665710041443743710174716040747090255458480846514274306528914793641690788897403896811598200859869895911534922723013972777501972191490874857067796257082619736549035595372486471216522355403370925615192672292884535722490254515951382990838710011130240479668236570914305284797506467456001094821313935737054805336022307984984831289816179003053606776692350823843398573134977944784542572774289152141867936102743622404454345011090427431997006408426803062785349866491498941377331617543131225216501287699440886858702739151151922651942927083980260403681297244753932862261500119727971036995252377002794380764525125179279067334590067746703945044930686021319707748635839515565648944588985193759511207952898313250600661520470477121046191956236271052603238372403345979264186039727365689760725414458110513032920209979753837812011429007360478482936289119450234634796359433191712196785878050486770713936468066514502891642339071861201581121542422422079443386529028312382124308237149749504907099058723425035672475674817473755540337263227489912522429808771532322240324153388626193948673723751517321714719913957717275490526444054340579041719216118050394763503126266570486846921206354758232826769745853632835522155035123670800190451826152682472273256397556211915301051298835712841018979357513382727385343489452884170598536015253814514798284191464884227700340796787240932544702871018010859528762305937844573715671861429299626604644902149639595427072374526826509466332069798783518344337543532236023798562527078249325338104365300143992504270221602077596440105472284786464379135943328483502318013206649330573619790071585323977543731220772385345293309660375147056101263261244365111869749816396204245968316431343499888163459225571421181873538425794966970364536080526703530081762496673499423848726241277661327313650285412458221999967943541128340666181942927128813778240941535675140005467791553055907874852974082779769093939691425407047512754917251112039340855379774182966208159016952477753397103029772992712909813569361895226397935064586740749410204684860641396234434105982137654925055899916119268569748856475198241198134014087272810376671130373593399535214187870638825047679324893350889032573084988960433768407291573748692535838898189532419304751299775202931657761132446903641081028531397740317320126826467681224321077487254499664284583546080227023134274691751902591097066642610803554354587101309581274662225029490487262442913968778268942488848316551523172156708777876537849148723266427921807965688297710460962350935774235455631902013534416840089264685725525886889389842448496564043191098900993910205221558000917906048472274837401702580253906208374781003242551153037945257701332952858398293705205562121703299105739406997241890862473142999328157124444640638508257792473530665056909486421495125181428378928981116126982273633728930243608602147207353792614559706327013512388897862203321833092638435472376457703917274731289489827335840856950194581872949411967281697201533663100730961857601623376583378108671738137036459632720644552423289160778092019432567494783071841561507138395084590816907215325960829426017342067474828496279027768168303281376915138720831847500631465966997775361944548064675182411626059558402353338694530364977623873197543520765904476884969219935737319828846363613895428099771307293946091095574510669902456737800528214780791391264792233003767760891857082289882563474156218813909223463794264607901301598992995661235546646820252643741339107231583415936627290749194661057721917780644883903207738527667836801768739804373030091817127727634954979063395684220893379693478290568757687059826946348099515469333959825777369413390056886730678173601727104080765141024937578971644730078417134254321324601332702066321673435321028507690825385490367006973519069456734890575932382598245523908404708705964730961379088182741358134927910566231526815541813254104392351463009065424583376251746795892024284094101903083336339963954038424459233589533706658137141852980340946294476585014609281377527339261190305361347628551218056509351763658651361581653929820265884635210252945637158327497804971112737925599173043030573050776129037191354369627029716486425729415218194991555111968722492110210960836564595927093011516410482059378333447050010380008380770302448021796099130409785250644041756814454614567310967588427077860417580256534647141181148974456784497759147361591333183487160853857761464320789746127544893721007645624465603752967785415913176185728844266951664573050769539462646650827066358980299011065273940938545078789945348405970827108848955166853487992946309888756505691104437695349845606231898512989920004939123573973272566909751902387540546690408052383621916932266557652090878490292244746414271421045154746218990856132493541132731175710823627793191279943038475310428910476263758890076180127248761223418365046331207214111957401223398121453224720591010160001365491071122402832458926049104389685640843977141832488314871372713471507514722646493578979758263864698898007097111157597402893099601161607016618602115437963840061406837592052450240782074069798113583301870034813031521965675769550085358562816267884862531761480881306490373249649995841378905209587420745289234945658574285585743409547188526071015557299059195050152733447805874659714587718561867206952991682064337114723305745957881924849125467133102576145013529347339264707033283820026487596059700909454111295025905058769100160723477109711281970460582417779589475018299351680516496555L,
232467633666526956767538684484347435198664851712529564594987589593413349390203610696017941890676813066091939395061002698498977774777256370538576341082945537330862979979186538055041688341631280503529173940418263369525419804500463221846728496377648938715656356011005883177559338609992022657203888731839589580396499505099762981699241179977524048996204526954872167984527330465285014599425946687172083956047634131262276427897185795821300310551768540453748590969378766017298698719436794213972761515893081472694361290894067240574347199316646027930381336413364660687340115411048022233036049313800394417710675629403719569087423062703291552070149925341063351593601915608089089814632522531640330565556705630185973612442787865622729846865924508191292371864550247371499395630289748223564180124958831581038885400148603849819177719245103420313764322243274338845907211949137095256390617979433536782655119559268950924336730816379977721013125472359822414404906572907096826929760623677542816845873798341785204981432037097742907139068326991841860741055149379656664880470751602253939265202855442624577307800518811113909566819206205969899893677827711859436436155273579908177675841292100123153008366023457239026504195660194741548400575846160207670770855440210876757281724474674090857735824076028664919885845835740028753447124066762698706167392518463245464894461869490709709136778798279265371294397148934759480897701469057005312822609917467206374899122082283577765133545772886573949572337797945437199731631917450822635132232473058540555146744827342469119822972631475719642833262813512834227747252810953756123963726560442083389452608044032407513837166994106930152747081851658059720560340177933669385738995353510446585744350631511921023533802820433885935284145677374856498563424240182063322049333706124963186138994102797435447187226780568280356392845430753980785829704488518859917630707903276683416513482713134528682250830587259008948500119402045642547529928023980483321759502058288336548344447406500536764124478149272770207854803483838753095294416705238976634593162265077764242311124291537531810631038373408591270243535064115975306730761743884685223539857399496875483188983311488061947331039963739158959441715430477816056742875422310457114805772388899053668169330796338860955654154016378910024264338096335742441820208387837285944596490710605131951630865915342068439618946768485680077848552938016259687660955509929245525866325796234032761010561927627289851923268088884924167480776294705415781574489664423650029440593141495492563028379593643057884911285801519456389950693896459948081839326955296483424413551486551631370404928395814107941773478144577182392432162358808756164718498669755470327344052951741010904872136653932485334557503641966402629168091308503986599210736106813851688146357517717738105413843038290537150383986180597750173592018219530244073975187201154563157789246116766302749111311082043816102974567565863756964884930481549332751377368848692323381973165871403729748578228095973739777118482454641723570219968353687754053049789375113435437311765493531907854716065796116525276182282081995804839557473582775895924290782987621536822052540410615086885062113781604094503167559362514774196090858923458816057272845985937371252369041734848278815929688071900767378770096664309454470479462372317666937749441176665801921132527441986684005212368394169543164960659287931965983154508861644938079582183271272650757655150469560799062268424410558710653059021567979759746601362493601450672381776324867172063154239144581092173779318496120155380906782655834757869141274320367274544622823419964162363275638807062874019083018149420455290502872619219793943326927447610122545701043205921872324638826347712212380765971793280252146290549308106811546649456003281984724457907563792520572889515927375175409590290234978290525728516147713825540238261907290415539372172382482824857902229322305632297601905116318518197287378066668026683845936362525227090592405284542933034995273411725784198800817458946719668130708024171536031703685099302188053905543580576276774225504015706994763834736774393808297256354333063573765538883528334201800442321464657624632837480527150331889322655538946452826130894760815451786751067424418086498268946087905762974049223243395386986435055397845923055904581543134176086408158101386554535865893664011274328298063347249803896342629187416965430696019638353098015573448053840560640468107157889559504082505385759971244860076812088462978578741957353873760921988855060968804699865198281670920289983486524675038507387565554392076663138812536315126176666549275916857681693870832857926536145386455449130703636241004741383635780940437342577188421178275112747892716988990518412702474630123955374159494101132967525725287233821692877951156919744375437825594131367819641205931205103792683429657666236713868083399765508159326625615043673034549983171982749566245370366717899272047407424422476549446838714760739348433400495507105669527450645457310741773532305647752480390229661507263699486991709929958511912987103343332260678793862493177607938750295073167023984199486912824074397146893582659411554088949514651251773959130995768578925709499865752904875406257539191202202783362218185700297408671119979731681780468549131773660027354147057390935818125625918726540207661966626156488459088535716148180360476614160193455573878263942043845609000421974335661119718120646480757726314444826508340438261508223151417954193443438370329177287110316374189311164877667214020274929724694061492121472890917523052649711084741204096112616623456773205423256796239488951892455321051743970114360666637756500742630168403066643713501455626490342027695595423210043343637560981481871618131682605374596550393177319887151695536536569069574718063462008676000582564417788139038164552967985946144090393836990510669525502082766118452694035243799802015304562890458142919138720054399208573016196356928003883144139569655752975792135113325494437706185923637107897710949756373771977491473557401468463031438119837728725016796750946546814335749684175267410752211632835706878487937867899954060681929948843329786017873015910745068315836354494956055803734177981678833451646810245716079192459354860843137243375092602247983146150239050168675409651720011923717323695440860758809845536917863729347559767689390333323529932725429446650769934397885915213638213304996573721127706054085994548656873039721170361058408557917932674436288082121902803891459926827911L,
382712236946916612266893738549890470222660670833160596397626887986591866327597025635159163684720949803713827093625336704477063542551340149805313901698721672885884402611058742640911741878778979693701610391168692107696157300944911130969822018425523510302740920916668248628952916728916413860254250584469726120889656146466471076023038600482540158486875163680802203272610365935114825291655112712751718158932369117741562679686196269844904474734935001560282948574544212846747073239696341261692557522694550869786900359727910641553915285163170092192165195194076331528702619006790274282363373843573773600735900704224755596745476437579924047086754981283852225970394468836386536885081142108714436160327888351571890004095465516911518423443486949154474468715034545654587745467436320114122507282516419956642355792261668549427208480061789593246044675633147694313221150372866152093783666263022368535144721081089010173376721576740103813685486578145169374057696914156120100457037095844900224031979497558863315814054989564804562959283456269760575458642819392345536614184039272127933314210717883402482106935040158544811575622794371343490623248891194473943722380949087816642115239958900613440188973623853573754455840046873800308624812151622921795539019787063121279619239523945825830312032151341294900114436051245042464075880259653878599733552196298399466182520785593581633721360810274559575077910318379962961672249549843270595821770743094940885123802734477268427157026153768829266720859327240025362810003007046090958353098611939579032652595933096625135195293866133010735493563468844158856608948254915247225972207512443355912108485267821262890481752094746706588079342308117287729008016079898983642992878683102091567957364420974731544921910921689315963208716340847245513730408171901327753918273747906916883859201365495276348844348792904555850176300733735030065528418173904369595933298782016204757445512519827975023290639435997339633109234092859759293813147749675969050599417424701350359275277070283536346375171316855851068961729512224897141507830914157254045034714977840612478570101070545908625328514430116999404849567615871194729256456137872944554589168525913955761311952091563279117901266115156443696623064988504643257219187684017302185892927309939554820379936936717540667597028085786531807369019854582153384054677255048850455461658142613985472888249535698467408080849007122304737073441931984917358377288787655360703836084864790239156577771424277633351900747719492126432166103432828740456378198715019010488401156166859812983369052033316949335371617796743186064439118947680227447986464875392609147927641078991709135311260781919845505286755006703149720149863613541939570594692370218868412372890302192681424098643161471424482913574646850479648031755714368460600098501590635289366243666474853319541003618121896883319394674832579849234133188427612243315554575418438557343600719164498132209146819778043944789766410973981677624785725929168089122562795429126163663650706868267605067476199160653857687897387182417827209084128040611422183617292106219957660115000045250474761411943457090528245399261979110955076839854030791603776415796642863928002681796134243069913792217990741243648056626215988468582745277515242972221341375085788371313774811404060357863977234558992611889611735691899654487833244432985322815563101285809832722760289122183722204164996191266949844647903869483916691149223998096207720785989207408974845407079879638376471036637725472129272496567411689958371351395342254439771183349592519568558917299950742946928795769381575380046321942962741288086536881917782208906400527880064282827746090450514785522168055874485325294614124030782561062647936177334885665294816929030980849715650665568071147122090559493042323140116984787675409429744064362198485576929690042448084124439973058682018408218352407312671560025003578958036979414381574537992596293352758298778974680785973712525004457046695687778565490346280953748501043423359758117314379007815576305792120268306427001418246244859707652864096805237876234162060025972944075980088513789498900878215566648104999380607589413749143869983296047729045395582464260287704602989050248461937002080259026905176313671946702126940249056066154860952365065360240068415523872445864156839090540381610974555018692505806610455056808071821295820110943661044854990724147835024825115578644859524199338722942963328149179837657941437524891444847700352543088990082180684771385770372948956860485043256042193639101404254491989208039261244741364959379342599859855839463036161765647917541736545893993089293978349799395611946173541512541607627943169038996765579919821498921625739659041527516834948191342980337631098875175292842367032356663173025344606043907590607437267550882922710117070014399622181393602139436164493023489589719726780660739038183097075084378493749017295702623601450745510495949183708800495624654724366622672334862129631949842420835590945510834559322665598443705086043456379071487366987719985825998783203818054622769423349336401682709274080952360654080601757372604452104759695166298269952188372282128855458616841640433508895084059735055916628304518663613424183009044692790049870313041306868574811945789910970594447745809356058935951959030445967484037564163111161271453634102506119569500951261631057662703976606609104652349485458481523113382591887905966562196163495326381591036081209960085336698312802753934975350224493366986930030993236045134588782421879554423810238951030382699662147102493824132631355135720035232450422572062955049007994547999038829667645475547096519637856668231145105729538090375238112921597492950984933362446001760220513283339073451126999225827743834376819569368088423348569907266676787825356806495744651334655457623822998520583893614109017930771624945093058300545017352978589184826811163716368645981634855388608060425169368375977719475694921094054510090028923975366382632135870433581910685830837091831979640163531420807973611682846287345263913419517948486850056882740086056334319154273005570909235904775101721656669835417167898374761341890595349387242356452688328659265841756112499056659072971276844414035714636651329090333123645952979866028805047065789769178356966411461791577314385966062335215174940211052037817079846895246560177659768839742936244913876294995311975012880624137807798236582147112566128083539158927218101848784456456660729699421112852515683090217674721586062863124079880905338552533725886709809421110278354613496670448544L,
629975873575249476395736157601446011967865146550317281946667968939529106387533039173759067799145845860356124405587831323160279445657328207129507543356360110102979397969411288165074962809113047111048634427210937430401443355716373528521550830896609681864856398088370982019433879841888831159931324518039980334108381464837207183403942931209033874333492706771789580745987386704429645723407638562034245667225606864910958119278633993975529893414719253764311336391029700834437371514568749111832026111548098087088632168678763332712170580317124682536555383672354235187113151887706217505064202374800437991943997866057920011708283063002283071267393159362185146160608513303346051744460816018966283785381528317998712186429732934427151240605577706568572588918467045561814887456932408093506321276648850416850341409544558014477048686580044629994390194869201429739118474254219919201965152028856266743631203043495701777590926915806741765673013294574438673687393415034471677324435254363068030997115875364002873279584071622853576620994728077491759863640430081690140281708046543984711381288715821454972783352278906709080242318982904395553879004616952560018270741476579484546439051638592810218018125430970916982806917769171192304508331171230945151276484565095027899084537273663086536055217992217142702921227902793157065934354211735806803672169001826015864678291681505073818511837942448720710256613717547080073952075044261854626505453527737611398009348781510988374451800008091412376157821934966457534571559470728767683332440108052305528001631961593259814888393364045003984576145339704350066802214872430680134124511513193584842295970796816832920262210078898288793680990389287166183527119763264180630469225731821407548793722266117278216620912013737970348941273586716241145136487822804003811184412225163733596757278013089702385895392837215387412082953438592427929245989433921606576290293736324741913613918819010149534902016897292944812530974791673010532422761100357803806140704562403721625517136374861518114632853150220732701656250222458021570880292763516756754582064696313463181456794165011793763132824141804617689326330782140340063587632887950342125979280198645289816014253193114885571095544527379427760670481589386294923331272708930415072812278319143346356627317080482028925285283707474262940212811737158684581736646345717895910696295449822428867052973562290333543581410105176873182549203261683700555718406521457059523419980477058693314664671393478262397434886828776032202767150471793184670329471493511888730203444770141312973221255314855144491264043913646701852640222450353474286017045446365794791740737922016081258301025830281290959489852054424642304539294596710674282664042650731511894598547005883337826506641185774817781248873158131382357603519740273875486931897883480389175256247255835402708362144394556292095577994222816832485417683918658748477429721562287925741221016352129646561460785275813256479815514786720250207417711901476848288873810953685097253109784791196900724323819403882383963258618743070462266630814222171921386374532598360955739800735802266187120011379000854651179350893543486290630071130800806962816581878862272819658836584159812943039557766349059176366356407531817135550869912178752404462696004915803557176718231548026880721955920063642872752530936365545315159221137015887051136901526907857374436796857360801493480479422621109000098151753031586258973466497120034244221694205921664794124060816375872998073284141651556546414976283329206480785647521947495181026464234535584504707734099898476259471332310555495185879098419380807311622631689271931400094941627696371557480742826066952437798885005124339286227551663452656920132914324122422116663563475032421270705790194538740692539254496180440932375715590328182948792468516925928216603287546383040166263189861582230484595278493138489290739331053682783589649476069754394382116529968195025162344554671101920497488443165677662590373477418143767044448745297230974393667330917831919966765895031542441698005147067620450586152048513269846724246572652568143469068638534109353612769018094269150661758777374507404033931341465495910968595052952548686382083482060902280444011170421365112068897186908996524944763590771355739198351977536642028600862086809639576540203312768158365078712768886161070937605709638299317245168691672537243609809829537218453588915105260485468079945497767334664120026293940029321315737414461643159910739841072445118054924171908554250684900114541987256261431195238072422824245553365109455422089703833348666141171840970299171793587912468765016868533308494940439417874795959823070952676172674363143349088057593299373955231080282830406309757383479705784728891113974911127505137131539572125630831689575655495737918003368643908237061138131594728973251493832795922893540156735737864769013539272896408488642802823173206650250109875698010665333903121208299701395201268530605323795818490000832221134765025004820030142953137262605760984519033613326440908405663784274945712285552054129767078896462369191507271202577655915447156049785066352038856017751962323274446085480700128298146485829475780235316243826341786625193617101617078644415918468216852958565117193729779194804135614382869988388636446960615234985956685920881803807757167902025810136369848615310251587897525577467708684373162494117178176689575181105948983210585025411747536899756335748605736502145117393870722932456474930669643471121430724014855990991921307979353479309898037521609292271317431710241505857514821737598815601003652778865885022526405011321140722974408294721599703955417605541384802688810935637219847391716560598633794776111884483492971484450581733435484833877409591568009921592111560142074013984012093215789861698011105998502620605983750231910500826779286730667342511040721045945769977046644138258001507057849371711528101619690101827933582003608280883132275733180097180393651115616772531410376878018270616311992783621956310785560118316220570749276570197663637758732592529476924256086479347891492421151768686774080020151761051649651078892788452668981109589941855648609409988472503959038554001596122677985505976423965073511219869468064731989904930158849782954089497141995074177747820212333989989340843345821327237403573941967551581038982125903405236536150856867392853597503379574727947576066880849600260265634418964122663389687449392935885447826790474491207058900414268281229110154773146096442316799753238180758888222446271143726283134076471991669708371392L,
1036853108933331880737025678553764759247849490060564629618822075418608536475728110137486815536345860841276154621556104275731694575730603395885848210623173746242370287723686244029079415199809649075648282987842066907760414240196383834820257161325598388863600281515513169585563194498742187023365435754652839171104686110846043368319900738393726944768163575867207622412093285133215598410174546092476381221771886257805111597229626735638165621304348397320852465607526742832353137399846743833920133382739845375390195476783791659748986477545205149583485867942047336443762124697748076558633048144925871860992728131927212748455843747545323706657030278773259404909633700561245467309930480393220147741360817902913659353082898213572755366835616800597646072239574521710916379861572953122814274582978283646260609021561786198354683123646234978338799322676815072184932947507244991070709925979653513037483432247759512899807625281631791638269820425003800944445677615965481126249878897304165478512040296712451493693433858485027625953746598256588449877140175734546744766542607148171247930233623875998242692408338811380896569509719936223752598519005531746988967256870516233544722554562259413113354893266619566100882979550866154982023542315082843275681168966047615856933055094668215158736439037646936334482857067303114107170895114104992195850859914413591603740556613514938204176233342043810884929518564996407103949103149525201958737547027558284560243413477159088256086597448288781261095777752349065272372205492330006814518355070959696363199319634668069819525964265721820087098249067118760791125398538692742597148117594268734862561968614495766100757060437284409007287835109024774768936787831793782171238221383552875713156004841748622172367416287281581323769299789538979349537344874652599819633176606204655001863700799558032983958470451218973328621696951846480390066651570313417004490682433297899753899050381761610587831514276420778787082661387849983541661683418120921845253761234896638268889455498164017556197611694345207040436795867704532972387496304281011242315650133413422181843007035589471636943772676597603578431204668876621759878000599961801928629556310724385202823455244232668613071041532660415881404677846896244292315257558969125054725289550905872444203439902660525208156629371743562280017940395682105592529389692380162577390681036063971053006805654870306447366738196398270676601060530247881792871653385765033081946073519088355677815041007948111195517294439170034467789680133662390770041357749149510611908444148297513952398003968947737563099109970806215696555016899446993220047646056348779458366169810156950189379862611881868890679700212100111431798342851618673997515157293552191187976400831218992513162285886411781222074598264155003081628858015514441312719459173847408704579639257167974448958319270277933362984302424982988860240356679585463149466658327851799575267242352570036468952624969126821482147647879240373130986415531088976268450656928832355919910220688293414869772709471180111693975014326802528570142540878259641462661043734859570604196961718373970142620684848808084310543789836248730742335967138442889925590255381170851807008526968282999048386514105906150904013732737929584597836564138656301260907963139761869006808859769880717677577339809115742926253725842267240344350703175716395739648306026212699388614025096329301470426610887512174316213734385283286114258268144557866129445975207587048757247721007193234793909587961504551390518702149052715476529477815430085361417235438455376625171123346073189594699327314040031510316143386334588107205375820379713409711556424182359489897456120618814888291347987321513744174209515894274098216064490121778915803102775077318274129593578004453926050983653438389627645446272012367490098127279736273533790435810008970882108235165415025125737809568053456131481315295213774001238270755878929997200436761279126479888821019302669190163487423010491554972119846227062763053323308314068254946453714073464278187225933241482676911938521895856667186161511410921518338494491654350408213768554023255180119488791630656003681455863107031721547724063582298782222431021756158574371203809016835885836578124387706970821228159784334167662976004610176748385773740129197582976992919548575105823822747242412161190871087842633661110865823147168627878253939743091799219420076704781006744228832135409134263856701316808723142824702840896069412255597694271752029939561015842678483902418136326035445554324827670856059498699126229378066286091360485437899913499475558236898479214240367638640907348631875751190344476371883296072110337816175516380043762449223505589101740901631433876648048582205253831733161392911397617924880619052713457258810393089568652110038930103313100152558390665992251959618655746076306393557157774904459260175462395562403691853653509153129072947503751300994661942623779415884057368646665823274527750184156015966666625321901025726737479335306621707972384448063840929598897902539710742439184968620250114810212958394633093028788951459180308344073097973686249996222413079841235883276727149587798163843680643557956910838412121141441539017856407462382673760239366593345918677701336477612332604511026362985542103345578095356866365955473282373814521989852531363505947643380501118479124367973173024766556799370021509633955395818287309958752714069771584586271056236191948662757230909894889205796394263635626366945130099675431180605153332937799427342177330910754844675143093285906915186112126627805048018681971266733959721992413560655177788155084977400783847823879420215074220339262833636741675117336073437994667576854997915058225171015521250173052308873867031677938484194012638716374597907668124654387058442203377327821092159705029021533787659382655861289183199948980845502967101635295348561461564973300397299548837318794498623620426161047037917713994949725765864561161416093421023153605460935598408234316091059590948126575909180302199738624502903540159608343990458617151116252141300801512639114379383013193632788261970700444644029391711609307099738124423466828985660131932763668400320671711838351896191236270427062181820569481945920234207813739967495542548097187623844411162944313244038513143436093936557045478669982029436892257136822463770997394919555804919662979725323550669745566937060832359208431667557419848011273340841524973462899175233262389208489174840873323164311999965551854412654091712510926317963758119633837738688001700385400156167040015685069805099L,
1706287983010928430334620820629956136087310541980836193438451750058067962819309253295309416646074981049327751742605754063658166421176437123773407196658624697489730211118904219437604448536319918951299783599223681310751769004319554869037123781605321398593903029917810754770102906834930608424900651547447971744670396830290599909646441191193979560684158471085181569876237851148950299889346278766270189659621313564027230777436630102307881524418849491621463657866129119883073584615905530753090926853922629073647316910332661629762260006432271452181146141368237124674320877701633195102136937121083061682828119149405555874535141712404212579734603239666622191927325698273877349658813473042603784210264691530005046793430095757920890551535125855131596097811697217755979209525180877082848327488187048291973902429976739482606131125381497964937997340638516215414167679920038434735032019702662994683188530971040358998315062648511353276284894136325599183212144490676356496449274199838949452435678820508348974014771439495839826840688125950290516887922407442691535804113098489169326350696081128717282378743330795810611655814383328741601638928028520003233727606252950504846886737037410395997269284826910594556975282395735573669765912705431901228001657760211620213624532991903902365741194288375383210887173271953740012064799163642453437780033551297450534740018261848487179273953859007274237675911689602934397793814830888456287447320807041894045900519003253685384365945907727752571940491735100823671470415103573245929802937414312759628950534995201955210876925930778804738754455908364219746333074070977737842394405649592112961094300998807843280059225499857960970748482995677719426379334984668460478743933433731791080809876739604407011075975834778613212786753366422275542175223816797752486384097530985795831730921315031748362374918526497829581297598204065856289072401227898188225292777809144688558530591231165604614917094730712398990222921633070316577835771798036947841799005659839826011185285333584702989347221429596754293669650644788533040923667765176280450616547930310542864592823058174092063059767662545277068101307569789249105774918084507423800856207553296380119507429835372558693116135921626040682014204804056962947570214114282245781669137853995159630741190806842956236489020167487458921561160660228569533428895153390969731861569509246908284585960044799700119469910267609880989936053930810953657417628125605944092741469248604865793774811184363983816901321906202320933162489339604419373663873259366927982891185354324879825496107376602145867308489562328922092055059811418648339649508725315800790469980183344352377289667639249392348015356423985190534990703866625323520449186901721091947903711831381109889438244553917099934296784403829324566789644326407352788593046451972656949043763822472871877570201997593234773655399775299908887484207889474291260165873061854679457569297723522757184313206253913842625035851143789431953834250754111084826194771853896719100596530502243808157117457158360914033930752505547218114414973577752535654309780183753538999573795987962735715970903347753133517133855970838978045759529935452931704622510580275139307838724603938506863145915916259041821151071458847035170928745845915443009745517404697196423646248358479482063726645330375832258123146325683296200275829652761545060598346007757157635530054942227008161199853948094945610822339214750469406855226988699827445627966851608085463796602458571004855337837110574520879363477684396712185410261218149262459870213710558888428721623182721422257734444902284192897833342552375683091299634901668087068011729810428408276481981531233633497879677587203502344679836339630870652573856551781167658477509598040888154398311612434684826110421661730202484677154685749932725397406561529867808894234511717200387471940673478953341729591570197544670254470202755765717792584788419439773756306740216556824748546001396968905785734951203476952917913524751064164881406291431947948512970871630865568503498327707185647317335203121988244157155643117109484578161553834772072060751579846564269117307076384852128367664063287648816562016055624938817711151944565192932392534335398141946807631148685800882322180185937751031518275224123182452412339178547229563584568901357777691282148941583312437842739843898984443463159239669160893707229589540910977972279433017209671009279745395375520874391099758054146717931142145030396262435430373576917889064535489493356868295140644502875495724224652837853054175510686093857259781732734386886606348445529425335463037413794345331236353158156899777874993541191141624690305443170835163069959581943016293319583116611570038378066952580933030269893438859969229488351185549191087763236582736451545910016910380855856470151680476242756273009497530881044745455019327248593437596042324435132028454123618114875201156113936773064229143927568791091262083141205301252530164532578990259376488250569035175656839587537363546687434498809353613520013973949973964622442891382756903839098654589319258818273427617839054793389809828974045798644839164569853227254900528524535347524130995171571563290911182911245104382508892360795962981169928199816309440593418891903889647404363742073466542795139014553924992780593876838751871835945037153646422929998773449202346021392364588726907007674475093191669409790595414176448523309771893169610919906532029484626772190142448574227212009821083603288662587946461713519949863344698537508049361937207948546962756358349397645205614038758580368618881967239074394780084443962963168024040338040950181998357222881349715150522422228580585799366322156818477969611293095685062554656242235868213571029172748833601217347929188249800569709999925432693321161587246251298485686880810111590226898339543884435876381906998016339801390570236122632277331987956097636635859726669121295251617043045142837381094103508978872613345173135731976883940583489510776797538195544723878772396755260769654212316907997117971151523488469333923727424584191416309139021299068138283904041463671316178198512750201808616323965452250569837077497143077914412013266019940649408968598644161811143097564153391076833781088730466455647156974734399637753043865970516437123005421706427743127028216153355737909701907804526398565110549743311073123532724127964684663782355817214286620060825642510241543896292357244154800604832369889719062783257108298103561574251384880041779590017185503106464529522738909577217111279778456333358211155041289071898578997490L,
2807561280372617208232407638578855483561440803829661550803078668914628405233727248429692767740621130685276372858858437905634300273751755080355206417759443745679882406829572975343283091700517940870447823369976619771179414741334868374758136152412473893898796953978671534578234202656085441146004836510607246917914245463745097284742358804608470310590060045050004468123015551245132249497952509282262963824022973715646822121551760741770507702078804227969611682008040156802873719632117602346373442140503716183600218285464674916205690828959665068791854002075114746798181841082915099485746884032415822852138671188825815549477108971200047791287543728086138136640206168465568917244361044342784266346654413730785881091426957500746302237442453849689688754833417514870918486592686616448778721667136967398714305589446558411978772784585692109749898173205432668747538550024664023326353048687188447632716444899657101121099589237041906485931093621205589493909971222822421078700759935395634219518786507901110945310646650823853509873938180019586361797501183155657054283350413795672776229765513322587617166332835441083153973303055352588756545669684358969742848671018976772856510446228295387131917883827219059824085794911340286950469969846446651184816032718930274254156967873039534965976338736716707130129785938474538379606145109843393753529197678410914711938143227498277368792620561402160508413507328487113441080399859011685299144645778461858981398334644774780026400313080218812008818938709390860121967909413929566806739350573230693238040667176621449313948162617997634197163060607179006626228133974359523947794041646683119598109835887067654242993476628557452556080340822026959708823883828908898930494305617541210322570040479475760424950640806562373350992111311817720796328811032644933334326126203340257350196754959437155017760249213918334883643621110880639510171705953894133164806864813519242790730949208019352207983924362760639745699979413139377180994576386520621700993446426775735240154862363378031317904294244264917064612738479123123895434979099780700642883411032613769126988704427442839590606301393083135596908658108856746990313172446719864274791060212423515394608437029354980316555231365754723031655124634331346621377186002843873079738046769120176171172213303238679922929251519046316397054572716902973009556514248359434101889618612743304529792732470154886691747791088482993938095110853755549225370548250522817614303708172923368452885668299703251377089198016391769601364428177728455142872015170251396014522001846632638990684541973158317998411941560280332787014723607069049173838028180015044494960817794848667400634495140688814619284105462962924051434856799400198852839253472231979191976820619583299778799411377057907273537970616339335316678400129886276438712632714567010885462103652663043421458630661423963879276500706276661420445165930731736638158336771086310511917255224634502460927316309445998519776543453745898788399598045810912200841920347891789945075423281134524825436570500417065119634578595986613395873320727634579146704673651395750206388266283846081001071230614746945879786451636172320033501124374676379793981683436341913523778059047482068801219386177171931922601751955576225188935073541685348314920013823541350813491701674496508969328973306622753463704264264213962627960249694208088910804762530386089733167104608648876241683624748598860285035056216724241744782441045096299631499145037002317230792635033839377815943468460879215193781295016414271445169217444489288926331303193995532768630959027581089314744487819673658478827711090162594809731141341146154570135162476045260630563320610846094635953598522755946047955171941545882315625910848208321234572485436629138018013721155520511984612595371207004696270150901776354499653267690001266018125456419236731312954755339453983614730570342028798783641055716745768329719809379922783248488751020692157346793407928578464795066957876680434267975646544642095159703221018346644645176130806293940630059661907119213852041480108501384660552280439544521523650837110037679624938651367134258282366053495427489881657535748009028909500254577760281069175560733765962159446749917487197125606096084747651987867358690955258987615966453586193476380175216000961425790345316432647517928005754153920157761340224597924020202201765248402195223318717086651148813920314863629617181715371540982646044434516988865007113329807235185475137091561043288338677674160693653372779601616095357353258078721399906220112255119143456668515731042240502556355776198596590903391999878610881754921404636867831805487640494827068420674219865672336384982745547453048129065350025985082203494061180282946543297505785206492976999988911230703996005417855184190000123447039146066564707895262822091324748575426936918765130795541394063354907657256461910209253706294239694743123751343707761199893978373400805224931750290849308326819851473511571719879434156971471770859315048303392796286508201180049202611361048706244366178693834683423141992390711802341984295633578699631548478942358475868404548716451894500447011009734859423337350123132042664052044689803669646364600010050746798959650360188910356265951127626253110270173088963993718583025699786657206931324181635837826905554306473786707218853751905534745049403643938253222419699655454687976021278796536873061361344529080562945837758229127830084691360936052926487626875505200542115818595447494023280918771466797275819319250377910862172465479914955913784094167148640813716241499997678195247201115339316050186203536949806286540746404914775354392341893939712971520357345163542628452067286006263125906001979453306763081913933434209459037613605945616207048824036338808139719749894197707990371899787588931234595954626828732887041602794029692285982657098549746778414138189134339103204108877753140475763668672886042293131863020951744058457657430485854657917085957451981714256134189985515552757066431282680325967302984134901633065092616746643412214302218827632136194538802694582972503491487268085749738041899407152386956695174005766600583586277653282759356383324080861451556088841818612095913607325427165184347870930969613785720694225580328812449175363735624343275513811758970819068909300304242925894611385184498454602240750255863705073899640041925181955609079350524438172697148848673933786566511918356888692205408352329693776581875353332374325261610554883390336572500250124663589854513652324305199590355373546111028586236300551389830962813314970669386L,
4619000442316473036093724492269239795893656148291592221952672751702647939908330452947566612760088854121083593559852495314670328774891274255286018291559939913546461177940088582271286891898385396576189460103469526920955188947075884679029691133311501008260078384320790705011472866297518943014670379237937139085103571018471782137000467749575408716495192253029309318787420680008995898796479721213319685228533508254499101787829566318771679873785921337761497289388534936819029223800809831471340574565322642258437337320226500076409829472197997794360227124737523600365242139163301363849390217468641364802781364374360833648491120407411120379906903856062926457131011543845674814317441337116556305584208827782419051082982441380875034725236423367111811476652734849557924512556665832813978845928751759070946166990281089397207834949629147223076948258913234859613286417118146247954410747918451941670659786907942820931990714364073425201838090692587959430123397903130256923175732880183677157559559480698019432984203378520842156518686646012667964823867081981161442667020476135509076810104805282413859838767482974501011528782384542926648108976621653327321645880162922677610808602029275130948955506274244574937464119366902560680034848285862866713314122335304751427076064267390595432430065479388545388525392991574487252290171472922882863081437541857254039838953457489759085768857211404927924266552939623724270744112398127210947947075037918380417227651327577092523134248222884199131604877690363426079894826492246434128467753189823746968313298484979533366626667750383067751925805046896569797243827752030899494228387416566717933240385313555628505572597399578976624974743931738273144631815828026337469737177870825141903105134149667683736483124097530443874980017548411909201057904214992144266106898849022712607479062684295219698712554268246438772189604590462017792792692225495102434942475747163859396139433646629152794036707643929827003543269923771920739776401234685847695586384428720274598002424341071042797104322671316898408622612052444577792059903582655581002985402591619786753923886284928707301577816790930372552953846006258892269835751615581448613430047980963997201679355990027850765696218088292698903969873800007855755525682187493914726645155986314414930942200752452091002617176546452599066132600076690796632050825054225645478882937777799995072056742022092107034558275720395250271474086558270582465632771154750142032101540921886931601079901312245617132576350483226980403231393711317235883092484390584451896288924114772798299702974577726969969024098192146060028101140887465205205133710125150329644212972891252402363114984409086312776257660609604566410432837296917236609363583083973414381169181153626918900787401051094086898222986241867007560290548368808984882881322409502008794385233246150048046568602929947091839487160707260734677834485367009239080219748566666225528563245842629050235370046161328137316630650877816885276343188007018937776514857343616597261861066071335042748513909187746972674679773940017933488997272313746994266625895784331227183434979885731918263273112523327104523366675180259127646808008430625985500937514699830201147526385897525795988322297891576151475811325566727168637331451578279625078699868587731829272823275262372787931002683657334314381982366780120659186017473058780674673979589895941943224086188283647688541459627021080651772277626124119693441847462244400427873555065166531995863536919785502029803688488579265058940468832346529260430978450730748671158788994761563643058333135487163451969742416898671189239133593692146515313390567835509269235245003002869362476025575210863843616772880020697704820794365205366717768729009116055057898571606358698387673775474962748996700374678678091143997126299144111934938816054939936879021818396805780147324325950176109352587361268065741358861964285117132904693452451844829472389144000272656258796417853148855875717789704425256406282082943629936851024157880377088344814964018428649437453347108954601220734305252726052765846438748522013518413606038004821294717525762321910010475139094887311746287380760908205421411858960072486647686879995428958385987355889579155004087106253923171531611336363257109643483882414177473340518641425455964393729563683571473099108876895432474105019070832093802567017453360389299235168776246378963344455021730622474214747216883111000689548921905497732503553060460327856031145918395429244997889804473444019680869278741431641949438015602135935034262294613446224065312362204477099065480850899477952081650360243553012744629470564687191212159288026989680818225698164317990395971408194737398641106568511166003807793910677921066269595180887394908952235563984633977089628566532563887666451488236144904355681320812562550810183530169463948622355812142616347983650036072384211345593716464715930292833359899988181811317269283160105276755361471344002972123057333563874778076023804981072404083307858392107069312996529736856017356803748339339931576004028158838616083697447765007637705474127686800321470813112837708266124302365395681763785181179171355123033883546953197514729331186100162444951028956727493725706461326416651868000259780608189187205472605321901886720532604403395936536443094374591740896049626675399009847824646776452421438133265875181942707902874300029583539352446806409495527335506622465505057274329367427503527425022451311469705711295801181686537545957230805430840655345381052712921970863672911922096772910033833186945223970994282547920505060790776069643406151360007209902813153949311697387778678909366764461022689489422187461065432480131537908228529074586399360541287242338597170618651847591355442830945139651432785280293875463618573357653404939877508149885360891276125284604192460885409051964006805420013530912601527880039016377291993131361583264200391616198120896223568042280768442090315139232104999880432752785004405793538729992141499098531951317113848213041753295467648727048877181412779665508508836645703066692897190853843677711362384686714597099892197156264090931992482097834035668680147144771322161372172141679330916892030524085697373504354106467786690277011670035256071131284464488046634346736880405533374590598343385265201809870955771728428879687339392159665196508909231273137110745071842494163445727504286351492515874816578794366070427863997200549286495204703654295969125400574934628716897862788624095838503134537763783281872263636461224440306243430389313505125648390178427699224762683867189847L,
7598163658111707336033967243230553283174631918287940140884669892406862790945161542866747958374070100927771898808219486685837407089277925480247107686216848552427118648397706384884444779388611045796959898109701300972132443216724777408071521789282294138319729549008853476561659730668583224262771972354346594572792251158758636201159098270766648782756603894231832714433498660952564260539909831839861683254671395941501923975213385756333873934816100423488250003642359747598396865846520360459030349947718445090864968609745341641043114420051154313034547179392353099542018155010123624694437137651316115262351259197384085423034696696294150307435046390411022760609190752539364668675453929094193819519391055883083131228563816828132547739200669044771867183881566324797518877222040783433365855013748644796686213035036164734984387043791834921717139839135643752690638914230241000382979995199442234381333078784486513692317519833315311423475707234202723825527835996368112445138868063129286534705721730467349979006923416478369116842392937557777211796739533339567818401708313424010435675996169201391021715081128295116856255033811770266658420484388423709928268389846543890385426180171980100400197161139107965607315880292594855894053976752006884670900910215666666882040970733950110452719601778690129549307931854779898289045198236756124739899564071882981321142262127242875526216093338406948528156933682595547854677052098965091318257926667381833508331347279634368818189311634301726318375151156749772981412011711946039810800230184110728551980923830782746259326725771789320981336436163567256466541464388884784357914588194000387576165423411605245335914157052508159102241291524186568876417176044100689925180381448655231840199921782692533235981632113354214424659142880792208764383860420186507898430314149613903020104224433653951033945377635128765371643624763823038253190763087931367084358966363304050530450908920926873258137607268607407045175210713513579662915752401568050336125930842556390583087775631014728073357218623972750675792329067177271391228785978327400522049619809430524501716480549498360259204356460072615697533318252681728497321739583126220056778347486022285861130576570966132714673708923552801079217648970966277304675514547059506528598905569406179199991335063198926396781900889057821203979228886224400954653055541184473654073152532226640325421348094748689928007856022940043873466439252583956271345416748266577282018958594949534882358095916970420384971635652525308361929610780454306573420366121197679487112639537973690825360147264838059649960807987815000898673316853224995100322521111759718446799587946724635923941604676499286867800180079242071233835833909564380216321723714960066993141386545116172192559866882194026295675175371216679938669169651477850182439091888788365842249470206479249631315202849236218473915108687177044655602394159924659294675816188950789897431617772757263551491377230812288802873950774183708718312861577331531009665732418014153501126034605400611663331868539679135568109458180370120544846142480124699883030301896491921837664689444104674384663841243887911732681168972010815785594785641727958925789920535257784845836528602468574514441197995043031877942980818316554010365737477869034618375804861806681708201753071427919193411842170080477672003757166134866251008885873851935913964966563881202080746309395671116877411416522491757561276436225139858799132327954368184706637560674308848123509972835369886857864237684507138835796653226140602345200383900790301521878246421442616600164104912541731410771780518148829731748386197439544650605905912057211314068098361462040441633460623885358832108921632157083463915440571581019129968917635552371054308153155323155959281690691883378605916659699751139982955014047575839626354088632731890228320704321445506181848569210214171090538362617964120232093395236909768345799259847170317672367671546753256981180945328883869628413334208762988938744051991116053625915531361910241296440908176451950603473426839649805184461643987425265388371960256904579863658223067820123418889305295378950290976337089219461956814213800571745609651575541954539580937858334428202026272134314741639700267314175954228894736530081124790393082414900687531832783192201295130352634805378435046065425867449304157798009654671360346202288338989280475347027332343819631900429332014421088696764374725845221116931619548110821052861432114561483618824033856853499346263577136543807263400699021751497996424578284696667228627541164168755044703840286105199761866754074540659261530001015214729962745111066884948604252162013176366998864652982146628554887131282194703157035208964414034975824191177749108440846069230054290317834260939805119127238131348830033930121439175238872920315142556604698290119345050806411930045846115886691771503489969038373154985944267946528487598148403078746224288397328916658841409117927720112492847769266912903104438926054100123122716728907742328813451505554680490688357182138722586548690612515193403521453303001955883133770686101821802827730817095233663161251397282902880269877892798230312415657671556595823393120435336640111307719094022314922426252534598933203781079421339179519776956556487082140066195814695239977157284594090359094778779588359051590106646513592734721521047629853461086990005570832242472072816150556332062896813410705878845191629586395507000827598882757929527495422781955508607946653242568212912656971968161806105707067604223541120559164336152751086847975278636646832713156819408027607548909412184172460976198484817399648362602363408870195138357400101222594729842422945818886460582513157851331941912263194863114312560231400620685273103504529156965964958981683238000045909399751788089826573631631812177798373814623024963931761731639311963553907897149923546505039304859782929402132023910898834893436237442549805611614681365361299623615240510707489642709628100297903738998653712915027919933341384838012683731298735442218472293030887619596995250395739125780867219285098266615960811502330453733150085777737582729715620059371546440171254525791169611754303557102992561427900251719897532812232662842178664666340141454112907345564026388720743179050478979824556581831128709526094143649032446495775066859744574905408918729972214363907066729062450418669466356993938276075425168801657852312965859558969155416352982205251550813541053560048652433411139232960536912594011252354564833461798892629861335077027164635483298143428314820514550288559689238062098L,
12497156164957440440093422815611091401326781476697691082848987329573051719595014059310447105368552853652524847965441284961437791632331082375513498160416979055970427212298032434532939075957628902491831666994190015139848247643162764352412246238665783213931991161460389225278830907129048579735463602873768089216356791394011139736340454006569923459293057777420995242404953966893093343418643317968538135527733452303973855600780626340562358669005430573078458945876198599316223671294130403546970946129714297520184321776510712241218211316521559569427264449049293338278071838012664387797985541368024358107229992971730799288034525697327122363356905603145624369932742568786407119970507116571953670890310993242572737633663469918541976242161439289790849979074708882467687436591696763802935346986267383451125200645906658551348624152366654173600239658747397353458852209589186611478859362192983025668925829936199348244735071786549822562256050550530259009292257470133009060688493781149543502311306107306598738134511712236911216386666237056611588743045299333193133656624890627026294718411656148039454420392925311935515736793650067440900085539535122482829381837365015932449082065281039934046105399817655525476868623866734602950542469299826963345703698275780655975180531803840092887164072876302930973986989547946781229417032734734862197384815545960628925515202532224577842556368894381621090636847435765722728339780497087085059935148569086755383775546971868545368118130112671914044386573145219935199640326269245728001853830785378905494430570260395339015996282444439001771644982700493170019059903665681081332119312597024148529903350775210408853490082350179137704080197080609138769023063644611388416314925782183959505617040117110553946937240497660369034313583285798897290949232473511656716526796482007293847762911110945062814602004383015031985360000145030888607127068923625484803200512237398797184570683118792004175885524221794494514251967779010288425624543775241264528947768087380116315124390766702261807087071733089497915630770939950555997523636484852555276325915194553160162853278595118696095065105808387730854267822543232468427577548204331581833013830263062561037278409556234884589351342356071316436525624038874182369743524814188576492761050648864943809222581381120861564840277241144911236651301040881228992384551419724079376630926935015242385251427943374402411444853117926945699518828309889835113394317418855593143116584940977982882807478499139626668918593297698273844051785237268998106112830010701125069781503883673076999519972599960113318986965076337511821944531873792231004235442543865131623549239260073339401762692288162344444990230569266404947595728340072917247792711562879665254995605383048860398883426855719035390092196094328050787002116329851306930013470486894925637304025573951136047505902565777600062540145104298410441752069546963589971847864201293205444981892537941168633838504745464233221595392772881759076601517631136185484795208923528512390040311708943212248467339042497636425446194030438690524731995634996221743591400639186404789211055620427881383929035544494303793549816071767534312906955049906862767805416132311578336976303602477591824790349502066118255492505364685427339014712561634450821041381747363288434131661521187306517943264272501434834676029937024275875993234322381671226771910385263187730856562900460920087121011028735277040771772866369092330859828704523826682568154679730394025991609090758603220802226773381010475178411353311440144888644322195484087942679961196934903728690589400954528484953809178086713177908139774986151490059008545006683533636504277051220463676031438616561729221129543348778614106001006224923447538695701753831991459475733691574038486113812005143299685722777050738627469941272719045830599130435187224818040634055725587407539528797532080413731935024753534220888666389952649259702628287204694085831876743742202686799032093506555476341652759059595887846777897892765860152983033816886343843592605777182307522367252366465684038811581955128435395782197272080287548174434747718079019292255164446566459106377381162854514716706623154673758234525681000627773399464501890835747257726738359982023724094636615559964989448472967599937220989927300107719681384355658137147734282141347123547728901705535787990654904195315638522882235745551544404346271241438122115825730548612090849010054811078663625097738146610214569738057206256700981497663993720957556826048046811053746191227077821300616726433639929509948662171259541049440110345018830554973671415828565063532821266567104719519069921210520668455717992920661730401918478136797084178164065608773701776264075597512596925732035275762062750040818598844106027732278093356547784520051729562688047684718976400973762024531595617489127193430864771071058194324051456822574236113049759314307627029965556331721171726744583641539874676424624569371661488687461021263566928153921853179165996188196120750665581700273926035933176718311229640552231534940240696185200325319192487479883566518381862158005763457601146518674345841135618744854456919997959742613416301719449230567762865798036475057466367719895603748996769461417911850330501743783845517990087091496246038889172175379227289644830411636121784411224142025025585907528475532917148003212299229017073076260727220436037791996599883398272251003585433863330173106468165065840454805943909662052076704875537706172761051340024617681880752830877894609228210491897298508068919733455947710220456543745116018868746169421600811715982515350957562459808683420448065254450317212959632767254711232558982461894055940696443790380974487048197940039017580623472687999933416970462115906420614032000986505342568370653194066844866976215760411604702229210076052132202685518768773089169052588373536039479509552741639347719765978750877067707836028462198648927113704879317888736852804081717271864591219604154635419508228583832750001993154590499577508552814064967391942957336824231413818147987326253390031241079213867529487291390782222669114496728924813784936686123990085402612279404588894647239055650149433587673544917532009954465677812594687604671207404474088694354218934527095694820430433512795602795201226970406866494364626914937581045781720891376424517041152610251713328545030148870000661813512637711441888919201494521299301987924428119416948450995427766347975608934031089812940504548390232283200390494318258925708813655881774402087854706345416827678513371533114791928661263602508525799874010942L,
20552075953935368438305307611834464135186429063155496188389435796845603249278494093842870675353208028679735703898319746277970940346776735910807328848424029027356066944226269633138856015670944494925192375191109922342436260389283774310443822171209964230375731107005359875445336281587259293435786207116427330516366706487608613091560065725763301951595769284752367155532019086503172897059771096560252051078073201694648956698853074934409330616986072212806686461556764236158625766868309530147305184924715498329024424307076037842295240608456846328065978357746287833051081416726834934798093871272344236219933377168688010472913955017065050396745900304141320631955063602235266754895568640598933772289746046924655851060821073801524376093864900256597185454790473483456474344155467462712090838997594073055286758940131329474243950570808479842075270482936924276612647872511100031702329471364321765971196179727406534456959778283076230920646130563436371241890220787079973864914534148264008670688297756801096219106224331868188609600269548230237650432874649639661335690606108166742422308137016535571545216549614890931304615029055635500504501195696284103903342992593576233341495157636052262327506556234468311205838537495203337800846170592254414869607710191720651499562254550123294987787524346465086623333514993736778442941038386548496459289433918101444869029955797046074227398270771857034207167936789169033308902714212841237283355243221226914500341128661647010003146632481305182432914936960112096666609407315018819240942485102616625974588579931337821943358728797143103190244952254317267905861995374889287706201649631376312796360155858521611369585249093610568881058677667312341161441209405568977928751583945752426706576305913400773906481521623192452550283854767953323868673748283277585603351455626616916762267905952194788522246490524151732909291039474743742332253739428652713830578778445148473455793346757563486509022263428232568667328694798571702017236203289449931161721027322732205163869928739073659725995292561207325268585667974163018532610007461039097038039974653389917148419177780010191132571512306122700748712585956340175530210126768504339887734199551898374611066563450733932051570010795444257754290829809496371341821107219825201842177063856073179436997383895374936944038960295802786625607847223938879025960979740131002882394422368296110071044394286963403439838881671324678583800572865277103076948542372450592226942704690735554367306355606603387408967294550002222001213092292118937995840396699585473626994489183508241342826980254969140837356838485149631674693828413561280103930131170860294115995907517171014533232918011617421513213982824692188880585885436008207916432322464167435779883258273098414496326031867709599808471884953935895964244229416728697385678077868481377694999362266453089503054219780108656220307916730181682507525458896506907228966371840927050645911896782844188335576442064378849550831529503818284559541967748946653543331594467427714356624234616102981481755529845760675282136372352288184451059334551147038373042833942915328321054591203196171915730714296733097763548113412150315868569211168885925635436767189785398143603917073287820203691285073056136465786575331910995937115331341755795960403675778229474474176351322084792565977376992042570174988428975861772735000770049668046722256819640959094320070332089186676361927985069297043124144950276557002173849693799977943767469881677728737538547109542799695341586066552229872175989696506142254595742167082724849710975220588586812533509937803734274827281016154132910639161634441470648290251002714249197973786493763770406196411036837237652227846997960495814178849003679894192880149835005263286342659445666085270033366902537914301759532740222219011186270568339651038397924617805378617780477026460069263197035025592947673251651225712679089271020573694010895402493242219808341392364843332318765384164183277163584726153332169242450395047625805655345603106291207211994031398328290293982716079649259912394894013359356772749503332021187689579809201407619587036287469350787713230674626285386874826533543579767696359499113605349615953268898313712874763329633656051782747814358692543880475811619387992067725952351010419579987572314522938762194178534651027172851212040631704477704976995874658785881927429784350612327906551241553376101768095463989498345831902336566515537132318091482276713485259248530822104348344833252951238209454244331173065192134750739635093813534028651706452492809991660552589774785621828383516106725054408449349369117314911910172791669616872956280672108811014941572982394724508985049163108227743305966561777568100157987178151962708799548403858393373154078343588662291904924710606974693615092351519016342212957750434584261083889247249688693537052890245431153163818068671950620485188393709530658907053801871729997355075171083505071368400140456796974410924024530951802307684311936708402827868860097046258912765254293483361737817839644673045498645517889981355112465919577953217065029997665909977860743817704508963928337261745785416986420100339632379547091324383861332097778756396019187089764032734370571946632326388975753567398115402811093917792621106988286052268660907090873231722025603525623293839123832535797298644511379356305699890820747095791260439845282678137203101462624662803050602772483680027184431122846566464367973316147892336874772759519215287933018941246234279721160719194076263786559901414185722033259979830627569866517584642952971162442074430491864987854881046789669976497407217774582505183974342892334882222831330808292524237502383991733868239986708438030912094195586539118563209917369053345023290637963675566142847026345426653680943756531548549259378198337760859435806663744700946287930603177031257307225979480061894152424342588909912998526274870651056685573556119316298107998300902060074453910545638320514838681839651767881031808177395349279356806286458204827333361589412238716025499068471282625693483336561763882774741952435023458848641969444341916114779151151799955707219025447460554266872842655151852482254810555102575512290213060399527364459880955675967756410761483595831595845000879524586284469128789095031361218803006320449166480962423895610929641211034227944128793377290444962112770380915379193797318597992702870999163263948432158163844233662245098987994373958186409269076591443020117038862275409475612083082337493111008857153295867772435413959076595905016726375217016790605152720172786025651108213L,
33794200388848717601307397919357702605463288666439070780651337003512661769621785191030088614055549573193114172484064023968597148874152401788649599291117440412882146655282716407879361785415093502611471869531539804679246729834551412555874821284004074190983686346392785176634373896232481958081658830487427106869593669860094352946620317983342467203395769992874962570949086628276949260768488935684936528087010007388300821963906773073274973886187062863114304890116736500363433162083584217981540954511390499178608846358310508999627098601256428190504416125566169814856182166003596925437507305075121407239236902082503820547430688474938070463996696940663400885534599515075200741452099748831617455759216836957092496873019510906953494354092432837730199750666569460509095453407707496150668133240448165203266687245636352671250775377430758748819584633605948226483255439480528032503419914149369087918770347560249083311662569595504136715443873160239675507075732204916599298556044060004872716096281300541136677655728488068204645519141361626792882394226283047832243341234062710106194264692470787093080663949775122754379877640354382525363552476302461574715658622149060753803611786988726184820560318139612296595657145008383933067540014191277418211485686296505405619917384793147671009084596767424672210737942887051445581742343696093167457066815706363687915137371162407285947567739707625170288799664029163916202045398220754721204702442385620626214798940577415557267277367614940621114898312985467602481182945858045968310865637353422549731182651589940010028558933043908642782824090007975530283972535731878499100068646921372297486076755163815404844213057750978540655776431586568961829931015058624927826025222729850968682252241043116631697647850334931827451795860103440367279310378676106742757178504889384774248728552591933078507007388489024727020908437101006496794655273885335653627931285880671118804274767632324316968765500056193926161997346485814873339130548678020627855044585236231904377958809733516411124316056728886921996027193799052530013039720373374301660450197435924043835179089725490050354349225796324126879650538250157341204184608032002688123459121868892086682959739534323428919502868833840351471041131969432027163442160171797877974072531106652733491111610590766044888525311368622900650103652330027155681353839989105219321646943581448509235308704206439604501136950547384167045411870217637225967349833908483762406114235883238606232041736889794332859946372784601733137232214267489372588558494163884950814091742113837358577616725137549055896791599883325441596949332891660079742639145729353611463904078192489779274990695725656484478905160682778659357908049570661957834859738511122032150227699052050970508235902936466290688855051061357334179492978761946463572695125717022890901260032966003708229912486127393184483766855301110453007199553315141518786967965128009248396318893952726433969370061101886034265453161146462868003679348903404510777118111279653699870049309957021288265728226099227840281521690371204590601781468482191495146778707838199795536512676230810999187442130364857564038926473574980272163371681399106075148316885754047464857580966531810094376481788240683254888232196985210150430187023427063808091301353853081085750691402815740406568966384891809918494648542408820575431357423742898594513137519324729236796893353838713012306484190900434311036910630782977970357887543855196235855268065159140374813719819754311340049208333827880493621344248157285830405929923546110811985198492901695491720307613896075571715185838601107469689721251209337587813830708185951972317510845352963412296705122493197589969674700152155842854242653908039555280299599919068467913197471601793128862017568478534780762936264796610377045061115320722861063796419805767878401539585658295352702907454180288325599038892466566325704861446452351002102032651862927382409291246819779631303576676449873434624627457099588893072746913611750946903353883135742394724353754352653842176339231749743348055506120872526094291295123423276472941307117633170294878590178042741939414162332819184095004340852432343385918385670384181398615688973737734535880754490615898248546515152570290782814233607251853320704999198969865701600189809533341797366999213555505930138859439839583058777866462091047675644695114912786913733284655381176068430239045175263139055102107706033201345326598940750640306976074474011545858017202953308553532312719963871440159305372866348759529498404934491848478958022337147550374318441064745329127224803466017990680345040070682999727204889947070096837047522818069747806948818207750891873694432535493900737228769389409287460879028262878980950645035153272081929934817319024285005979402448903819306928747176227480422498916018055717280402728190594489761800132419870948812755968956684437225629975922456876259230529797429183203659581645493268685025728861327308250073798830442245702431048168154163810138945531472262154492537586632740254363245719952403385346560269871206807409931475072255408875054596060026639664974742986350847089746495384217399660233513876859560828335039272820393663436741967620931117745258492933056993711410215468474462712663900872567707882032059576917207936930821063718143522374879591125176558414446205693411442311623298203723209387238112622004340661103947789352845979076824967210100863989782010288902459846186912338178187832447890064003509488747054088863201315295714072538222776802789596082079356898934429664935172008723767721495334945623788679945560776082297275247931865407522987316239663950791629431211792318175052789528698704712509600304002639445688241123627433339884687167045301103925238041338137614211143255584557953943719924974304629646057666845496499190766809032450321559857784672972750529846749481780125559735553925080510832797027605970346691479784835257445428771555971692263482663845747508414135667252784217033680712340388369330678898653220864901539503069731629112735986191027365732334660358679827770537314258441725356648441791380226240763213928879287992438988279147767296544570711935140109513284374944454060004870904910615842212785800701139594123633375884233216099719046445984272930606708602399617644959992317575096968893652152886081723314684607610978319604494031550598088818852916383488096413437503697109208719298227630718893661820409487059919176939671285605146070515295157133119712756509628131618193783436467949052014754407655925282190351295259686464806034955905817566777949463573038403474493460L,
55561078315661391727133721868086327224955470956537854715485728910920642811904400774328094802947862481011199030069893334987226955702876311339239251586366627222772137266663053248890302735527907499358287416141740135454212677362406452271687318549116167638116144893321341994449701139876452559721729888065370081631955757886330549540710677492724796757455473970617766961210764613731191913129805291367331174487262208535422447524351506590734625899692094646576063441558210872778609401455044882214188486598293768025906452500484340489759561959466748520824608433569672621901907050524330339246585152565483041871147690583687707273744481411858265667431064411832087188105824338603683910489254520117086983032800272209641828435317655140107843423123361427135972639496010924819652842113707536321867527914447833687245872093155685148944438836767142855845747397130024967004085983556690322653642788180020814452551516951087745686856778729578666658500644019784904906045393205749323711216528445904975264429531002865443511574258579199797327417279954151465694427896040092815562125258095395809504761545705293560122747002797970020033837554128902144826397767388870366353178071691009436213652577259203863402529371401598750490083490475658616708946164810141716015720721051322286990533224963000021539182526321579468676681810165650628412885337433402309423499184710210997186939389264417347202769500501758053432992277055198533329702961542304376515072874869246092626960796222823775067620902214483416673542009212615871221664051100216288845927205358957358428691350899675791036591735094773151897568411221487804004655795691810201696745427087286445621984597452533975071596468278164400401091195137938331017183151823710410353344971641979831587565921814108738435512031905457090925985071332987238137994827577935398929581105461741199855611325576940398552950569173060337546043721587383201972588144454046165024808865776951341204397483155151052303750832181855769173320096798767042325609981568085970716702383739544723767404613649118274250326640570351423400957593541698342253693211528114010465197066970911463552457166530678655914510728018622801243104698296708248614000486024025379124797568558192846830497118052642463187286744652677651345854315839247256593137661388571709792712513504527934383136091086570373748241961869242147538493212181005294117558418199818367173823000730135232449745865602115740245046465505435615074659760067688688452594390534368206654391733488452506228314469664456968197882368297462744277145142349832277619700654998364542054076855259167641877277564230385509082839915458330088560733411133925094201095836773846172787884710939906925135724483799620707699795343210580219238791472511121578551522333754750828430723561975232698653471255259312008407017684454487876279042648618778654036711542227927133998018451673863181433274855189367091564168218081918621928078851550678368780601432817904914213838230203569050729952652313898876663819041520185525478874453110406425292410072943498822261789192581819404841500786922507667664586159383928708391403246268004100407805196323824393788974501398554706180547276975429362386701325053198472109916985026015311280050645261223147254746410099434657488370554187534018111274448341072720933619964884273228405576136335711765961728620445408077867241456927068952328897911458494431328934673847411841807651154782253087965244143310902583320827938339514223658469495299901641376451664880867219871896565375381049421724059581872868474131416542900934714473978678525651878125322251171408147430145339734412296057281839259195860784187055411882229434399865060976817092854407952651024926062029493642403142243921863060136534837436560135676345778754237121680559060960699002146315577261988321195812644752614230508142036501373196184882781063950707984948703739055504168076084255181166465871062335967237505278380324391804308740600970078371752332056854334249180419945329991646665786812560014914112141535950996403041159451340724275890524687710201008914781570542507943772439615263525337347553978318173773896831533917006597628041228213080956230169347874667671303712373952258125610292470766896114671777927377840935677649530499799353264563860572054709168020349716838439762230467811307442633453839705337495034659938576400150396291720375554655350806296827418136749180933901998637585644305078672708284776670453287531210464599118845399832039950081867066913118495863511730020189835140003567046104938412751857191625644967942888835996968390591011560504224597907827122383680174730820786286321086821514227473722632300037083428159066173440542333216887912435812266289776577730288530039913376779688738366776398940616818808052759209607020913912762023948281960754224160249006454135076847368951640043707490212118990364493815617242891741352872294939012821960941480980493123183314905975038046707393441730479055134461002493280512022744139783067200394906401602430563424935864657046538330785124446841142039925783065127261687462364094162697892417807931540095181478991474069746385053810452568458678972328347487083723044042930413062230168081243833477756635387752371583973145441374196591588285163552001203484710564380501150429194343745845482037106395331643669816611307898172739107110653353486375894974653478629224691303738433022778065744726002791246743832869695455003239541352409079360418452738974411243896577533433968643121721991146133905558438113735083629214084585457969560250953535059357324995529376283660955889934150798313020012008726859540599902632173368351300083933406430912343822172812968868989080287184429526508021379574317631616630758456357173413686757528299537817353085437776986170466405921559836139941750583199668929283303716860277251443483561145769137419863936761236356432660639951658528680842942246255864225194759576902068726328003840664158111132328507879392033158513911028443396334590528489752537210925004855717685384893944928418388874171824818290453359012250617246900608519684413038771426393412021926635925837009225631501771567723491508543269534551485598536266670927714388615215194946303339891064851724097185521410028487945420750742748646938440723850511064551736896583015970874537059260826462449542804399292493281408886534462815426887336498989210792329939202274962363846425094473068759523557141155292340959091234378487795300972951548858836296313307357831080086615164566299647728230276261029592419773860144521668261293236424775105368440767819448883553719409818066902711819313605745953194134702256706526427954386594535113886550497L,
91335834627705650201861207931632900239021403206590622884608688102858323627561423388159294764847662939239427762398761486244119384218666147972633944671056951292991371790294398632663300082725560453660268799287150524111239559002591172452521340012961496140818914775632948960288945452944865331171795972321303037109440403919758953216561544369163584126585824130579437311605279049233532540614128029148933664857905015170546439146395975119658312743431450119966084253626947031509519393175272548030166003685442956738192917880292253392238892361045913938290467705754926965043289945460376458321109718251685868333150714339349109188152464662771458807194979111032759131502414776627755145842124280960994048832207155369397644891510490561595565759178545545355098120623581131576073327206300374916469357233413441971055268127812363743929730826641493590608237896878547465620657287443570728362657267721344381416284078148052829265598447908119281798230970767281635910171038808911106498633360632494677870759585959921798579212653180522426268795341907536305511467787915120103000692346956041162886825196488829425826817471566480579827020244979877353030176338816207557992421958542640593662392548537626241035367208573720004980254769360232328990901583943162944785544612553220415760928509852940240847585150072415312214169759301634795535462719410438491729487485300794328030025976487916868683945139183559123533849259109950830378916210516793324115894333379602291656871000133771456047190134980429551588448018281443286191334993080106436998192703399502271903802759667403131468973428115204185817650536620677143189887706075033301026035040527100138143565620233078666566507194845074292532661278741354349240999889492619321402914923031568300967589137393107378028092547574606359238982938574116735100809317094090173206062243424254007961323644072204678854508119024676776020332597876577890411534881109910762192545394515248303923551448390402672910785205330206072996443044633757285601690026092343070068231355242729229048622553863480364083101537832647703006587342806840095480951907391121025551282122381790236826753694185437184048850908630076740914586589368907780774067270924530155823602010072446530066312810576502113871928680067598065188988867002665686893355532025428583922771720565322280514953297273312181427445527052985646312758888274342779005223892573760648367763287300802230228262747133577417655039700046072001821344141953574483374990355590816961287816070009724237190818110478350787267863652137060091130910475308393265475155672744780383464414253432655437866860801554828921227916667860177756289234449600361600647307777155857847971263565014390565590251874089388554374508901295384170948583730305163126881896368423480628686105770926823602658720401166491917248212420109992215885280696622964635743493326094210201969964313886421583499542043070449605061896249461072868656482122816270169421803468173367761260492722796261572420584384194474999583749433312534192992662288963189721386961748014927170886140930510589400432017559402784521822668935207537535230909958536112387245578383723449365292413909744103983204252273654615464504198347237490593770000930797635013317725958895649847195775700437459698629700670591969383347779555024918812579037157544325245997292647081407508436294733421598906211521682080715387928937185146325593453230848820684286733598421414447262270462799441417547177777984092482583223683429928472292001261425444788309609164761412905811473484311792555073660468808960079835168516948665362762381446510354137084910549168336697110457202203153568496558721624045338056834512634095923718032069258097800457071483517923953829168324112932358572153104903678776106017766277439691806307568220106602688857336757118500301027623215967401905789832028422303422854535198353621860677579682887735565509787324068942848027884017125097686346854669776665189216853926257019192997212171590696882867038307130675032376152872633879091396823922233078707808623594853272085660537809889972624253797494665476821662976851884948462255428925660807147149128099126774941638016629405772369445936836270429787949184101566839383875914242662733744561113871142030859592516224640492272435433226334488907485835848613252441683369872798429155279308916047262812782315871469172213554614675459019883929952186909539641515052031163686553074569686196069665959982205024222584400242081600327139614648658051865545964012321959407496228233533884764620397451629809969339756108722586689516425282313830724296979108503867261326225177267167888808913294609879406953005527264416296401127997988121737547624974917709876879796960721826936033412173849163218547621129720983418011109446857366438782769316892197052295261629325367981497298017895632848977351148197799964936309447823703589187881438323863347292174216916594473617095215978165177790065217232524121677189617380314200744375320412335730025643700571729213441734338501906404473752624267156256884335361745018760051254165592500549541654351501265227091807728258716484104557560238868348187573645789624867629698876407877223053141750640970392726455361335514797333374994863865325779449354645323226408063333875188155785084608221555907683743123865066768557150077433979994008244519874258501677294568937159261838820856995993107122753467588972742622099802809042723727996637419906773849587271072175222941663898622023552287273581539997916643821288935522114404814742772393103449117929802017025838682500001712870018566592373446292750596548965937938596905116419278788943902264195621067971244185591008727321239827512266920316323538801547146613326781532239233597948232661239652698029967421957934352035033773334794611256829795738542688652447118067142859738864064076667318472105164359635633385709612237313058884321715310395697474658220809162477787724210062780074029618575355481581222001419987744468329198119525013435349907344358761787200901552090045327588396565432935542842348731397161945429290578610323084396714083323212105735035733954360886819778599936914038047098961216113218043125079338575267708800436899927175621827438473731784945345686099227512970910779607317000350788628556919266136180851447159421948952390285822841360080569534065921452692188665442395484111857425690989923691009480768634939864064290849347230397611154443869887908585832708071367350310396329345267622386668107452748903839160261544136567775640009439641409754790675139169559183601022379419820990505152136526326806616728389267679825653779601938200687413730163563707334980890888948001164843856111L,
150125274840684270129243401619369307626346291202123387207831332664643323205064117812952680607603652711560386342770605483670797329122491761862973854308561409688347027565738069421351654462167451553745134295522184638085546631951686448277370612282338365205125969133029522368758647140345716149962359829815521914605395232238421961980150328392429754125278503737906076973291695359803997929708042845756769218111380941427340024766380273805178336939106719225531390451486081914124423324229556669621524327280814424860805973193444053580802412493641179686042441024315517695109928085165233081433981092022644889943106164550290999871753548687869713993885679538430154092850593102772809465688204363911473757264765159234531642885637682364904481141464754990584672565183500724766677335943565525218405311520883788245810756664507080056538716153134600004308272128728783821877506980908877865059997314276292178743768691122269919965776974943250385802931339482852099919570716665061182332834319124988927058458076062651285306525340738913529110130548195410882763324319899808860801144807147729027353421596782773154535613763719547628603096378648666826245864837494705288459634449190321674785186305070317851125104790381220368899216123419471520608324443669698623826693504698262243450211662644904077101476447998301214496953128657216685863521648184457022170678489680080520501629119830224373690046845885838870990799764115632218266291563079242349257288238417407221947186775638272761141655555002958150587989922673339465819977997911571284863535647460088701537074036506113669461313790572906337442472618787969235322101006983881559171746105809732154617742148600245837574789383094765423448658275498665280701244037420808924943359900894231710742770949313006789367631935458720080533277725179948372385503215674452066613350356551853060254468403065411668014732438852148696784594478507507001717530776453494492239506912179876164787557925141164961404236173503681606300995949774958665241481611469222532534843850112289756610985522138038745561505464684549638220054960959605671546588045902855539807395830403182435520408133570916694712839576572358783835010699319721981823730713707400543253805052334963747889633592157928857870803584763272898662381825556416369368917213441952333564719142366082182178324384162749725421443396637805935372815482464469889613147987876690314179916470040223860307540451275458987677414678985480019716338141810529223238310018223806254089713753624409362545607572367913673449527736849665246353035113152824545108310636335054093473449019104350135085858457649431267504163403949193987146153394390000264036144970012118080208716368576047989418257699562780930198990223596094750589234426721896024707073787448017670544093991867102950370108285230395276652910844920671336389520636651613704874941272205226136414990541631032225848458891824510679575282698481861483532363878312571983329440811669868004959248793259191981280409700525726936741088980710936122815161162897075768528673810936042547183027541657598037128732587301254265259693816135594531614687681717497462461428309614290788614411810787943106869606993263617630448170884037742249450020723387266000586780133167249989263260132363460659560298427237765809984557913353397873267499372102378670374275984468871101429442351589950142380206488659043346366423861356006110608765620528540539456690035913041747156594498220580708631935486202673098210218738867679415435215780250627072746168722531298836538925261499797923792677613735923320672574810851479161085113296012638443307241235937146132233828236757645216658269052221125646322813095115501052576448919025009666875535776689072516436795308515962682148109766028339187636535422535999880432086655709031116091437510550587812729417170189959865228262398664345469032934496248101726319929883144229207896233423736867193364304097865067413767920598906609471870918658409213909960646006915887321589056291699893133613648547902918770144899199107504390085759981711032354041622563696901274830280854033127420168037814988425450185610933739259761558943607728739315984813928323798926614859620001155672728218983765252885811743297592262055381930708224945629084327146349288300157626833186005346217457563080734703751047727657146594761337336697692918104087896251122773844677820366261198620887315450329887428397721680108636526869618747317071814789413708142993042544223279276735308456214449372349889085697280059085647979902049327100106080568942224612490825633272961668556527138678506342732129027945662275616886603828008330431882489387978193104488075264935206746759664547666306766107060661416216634583316308604590736668832056266061589458617391595550339967560705808482195876875781173995296538065934330353948897801122281020709909891153708662586561113482261935068638387451026806636733934864123437211942958215866695320863051664691432963615564550542262475226864522910872072620146445472696192340685996028805571864732633230345776744404726275977607334818107877136581306170089572366845343831603600592177633380241896304031153244900609046846898267213173748004378941097750434658307444654680960410368167743936694993469854844613782003591872708976583279616975249433010533664809937473526817060825770121137559241030647801221486494891625143654655937245890980841635778203044342795848242581001700597717312334846690938142900924544026665699809957075947501924139148952450685121031604007560904407682817778219414595529987921545433344149887998738457267170086658493308080646000129534823421578410449927210193453393258232580758625008243781574877410081000009485417943270375214182774285668596226617806583831422262107731779722415996243010345386019540473639514189085999014925986082794504527374334602007423162557337456218108397080855992362650836528442007909278063313729514063120966704629047410285323143924209806062404328587120265540021971272273368721983047383534381110799460048778227953194925143059886682578836034411010754930111364063293768559997024201273322417577234761094290949564807764970971433803054575543079967099271006685037174005128266397438889511364043862849558466746855676710420191386281704641705718990711444954503872118496019254761962482457185095219096935097687522500536928714830504774769846770075191101685160850891116452733213745280173708745048549004330608910782372919977837675451237908883437579644811488245333436479304667847707057202384372828825326010063523261610634767209991160390075080091073999486424919005687194122856208903677152633199331785884608634149743273243492931508398530831935649L,
246722376696607325534073409255490615107104321768886051252826338293331342876997383432082290025896420217980202534438953995158313943180377528737074780861630104287982562332830815683966925857425599223598030602185995876551604821933963008770540936840752510999661183223860074441232611087113259975898733606460945733388652744148820420510849130451335341822573455153121131681445892014538685730947501057657556434656788415546159252990884808069556732235347733130358005446736287023543818328417701704334901544420962140167649288025514011074595636156395104235337693469975041970616068086734292881180987666443079336970807625221953017459723806791863429503773040298484800022778309782580109809242765537746916352296104859425434397292280714134935577651034757416752359310372127499481758611261274298951924980229691690669232025879255045357995154597030410860160478904213742481045868447553003831833420494106538782961792455164285979187771453188407939405142113008361252603061491215913670738533948178521970682848556436356258610836623660117763024346090272216335871294748626042216096835741120802778511152714962503351501430439818572350749131407963032924509955568886307306053092688080821468142629679169374042992220702954568929383649167090834340479648325947339382171076812084473100326678412374236963399607467457467179969864266266508624326836714149101877438117179678616747239186870275864614334944566013907012685266047923378735927337693806821158494843205632884886117474717482974580233467192978166989695485519859181720769009191985429029271753374398531468013366107865444657589698657214732358772073381685961237048148154021013041067990501106415425935567527127871559266009089151261521749353734129098942278789202999767591873018712904776340436299072283363516087336323175197138999377175578675761378210038799525385705815950935338676762265615148519426004375067827745145398381714159281342333503102542079103921790080954742523396762862808296308838954110622488978935385927306011634580533104090328857193511345807620092689456583040485717476334037873544904996027694285320115628603246677104897859158835440947690906382885753674517401196677446677272744289994963618045073152997798708177619025918507935700455216976238895021830801520827111493201250870995790733627432070891190915848795490426496845995477874053294233651255708755548343385625125816247745293915544270226401035636694325976083270449334524592851461505885633106808173807018459805305014813415003608575042110181323582294651574129084992177892844369719176934677162604927471828838124592447984334014051935353631287979842347833408416195717086227367838835854533584444596445691498923655572952721894902511647845312457533441124846273841597883271745910526618764634819108234937913918418539051222734502187624877870119052121650850076851841246300978361266752523582675258028375828652813692794193367563804982154768562042644486049392140291616278301037517932474930168362663126250076888942074779199741436961098618969791146356580074701947228001761216100398287268523153268564207881078294430569784434777346192386538869748229924469483359866357671968681484877406477695944619908750262733533909664678745049654279040776656610710368632406819372565136293943234716002774898683526764117062210620939937989399880126392742205676438327366511914026755207763070814391614762005404289155321806436314698961540534559116932626722758152645848526155270966703458663651118631628513538767415027857052103822810605791478626857280237703806590283881841443504286344627910628660531275540084904580707381866655204931160478587134908402024334181431465666654673472429931805346132739674632747122269282870984406586665115564031113629707906588869378172686813589176227999752094900147520032242070092454110230397122424974083572974923813350156149504674506253113216867672633267894301501078035748964732817826766109292751121484063673060707873494165261897465332393659711351551072500904768747587690575999221592784993848028881261446893277513675940778636905007616668506488658136134883392029257018349830039568525325423801987571199708019555010138029175992029360195830658472790601343217858141376451452951754371638668691422555942317996872751391762660937052155992687394032322317073177090015445059503275851472683918008360948283997557759079753662500908712437684661137224762631294657454782084896941792469819368188612149860540275955312235770502564557237899247609197749481815754017458626040291208311802211450322258260811251785482605780049042730903186261310380482303381359316222273446306301123184474025767952262846155282264429550180722700640033306528463454040766075843655584223805337260057099094440093696996724370141978423994457119188284870154188467746670875149311105412495501084923119279139113454108380013813248606930671928633211485032882237576559137832301592525600120874313220670252009330374287161455439664401314461726362601574209893355379881819871807173906220522611273638957045683261704370269815989606632429335051951370937804185533908327125399814673269174752801385357120313464030402233233928562180630471279453328441552760466636153011299204079349621356186779432766195116937618645633703851770607645560903255435021427168485792682605756461754045435044350665999781349342061283565241962785179391592085061062587414520033590759322203553359311620900131089632468297262415103231960600970117537243805216524105693109548397670018674961227540884090114937931435109076906691946756131934949623998603300501821187433649461319988345171869765799803741358579824798450026938783872216056199870470987816873428239157868954578131725864226601443842297931530706767560330881724482598888893201406487809967452225166830864135981572966544563206070744246571458185399756993737323383262710927021546822329938446991689592919131003617665243459342338396935556787968209179926191803756198331004139495803924073294561628671718236261814499926584630446570239803136824124950960441496404954302854323775336968902149891808808938069708607348409847661977103550119232779971733474628694439075984266841119752539848106933251500141025402313473122196566114317794330278075462603778836267009416216441578350625481125904294974781551292315845230908919924114364894058636964865462888993324433690097635114155520456274171667772563683736030008129411967294074641401212082973325806091489258379161076312508506317422902548548534893679221821578790869388336952649084698053838386431358892861867797195199801253189044230058443799554020377154461931459463568328047645704197629534054268116617806026751187709325593728888748878337449083588142912L,
405420222809805888069815388159161281394471305380987933510815354321477441107617046241106317286172227801467746244312653418675784368549158503587647157751124295433627307662719064931772276938215395433313976671776991372945006083591394644868128540423629390953512308249021439720644058679965652360320005987283474860228880491491487342330571941593350995019622564718538404512461836975445141318444181796474457278262805013418133979143150749072712686906877529998657628309035589450673064205206491252708777349231665691793911157179307956162285240492767901851885793758570267718204347237858628778894581927622519039361374036052210222695902072465087696237500321767670516484482117015220748356611618662290800564283565712547366344829050237011839569061130962953402417109329726887978221828454029449461709870871479273419644657542703922038981921422957201489696782008189823819690036766880416179729408991750809090547883316987264483728990845390219298688887713603039144637705624659245407978209962627536620762318430160224831397782358199981109752910524106074173007689831476233977342705097374078918106447592866601320625688609741428842149075061931494046169874012495820671193125783354220096662603081189401494278928893980460334227128444309760625585928166860183388018548938628590953502045697659198114944529130748350426392977881015389571589956061164432410721648371352034480983008331865781583774181878507118819072533899688890277687838158418571589817917884188674188685315378320365857525669440530576826590682264214307772968096412853806303587090956477311455858893201029379151341305863127267423662217967875806316858697528432344867095585522414021414523229145990394529780894741624152624042351432952015056845689570661002635378951593846536705626838125654533494704689039267758373833757982068750643039833571447642150816857484949463199461055637054049207868609217171879132419521670485366243090617329089148425423008323871245236283036219670038219452187022437143291294680257385953051912125891703640282276084995862609667663598054453799884662781883854003221969331523840128598462072464561622176209536732815353355893714628232681523628699357579618660839148030057905977911350651029465957314128542353232225509100334872026417213537005013911018154244031818058933276327637690464636578125907544899985994719102527608938408180602363473910706164787145659688556572359588396203393933477362832522523484657690140787023221223213936844950757221857998269871866615049171066810183364947157529015444043475661348338742935087865694524682264597042786478147362886684673950306913719008364193421531496901326408874056203085740152949232723071590318978227053960663915770859076766426304638825303111460214568416753134435925354689210502670273182827074167190864886197336851917538476121334126746236665363399344322524103113497972779244672867764792026129749051842358486420466749276125942143105381584525362359752111684049492066661447805117806901777741172693389900101460728395454391282081803349114940119364787541417403837640810675201494905238625031919886531925630189983671735724042965966696923644425969488810304199189721015570000155792047492285024205289066178109740719311007182102498983583138457911168225276621391122424358616775745753181785496329800704675274660410382778823709122149635341468074102604291865358788672212969910113677963214977135753612947495417622286784255160033989437609512760777054487739650679760497448145817901178580761079144843432308600360277828167890369590358662981164232556717702135105353982475505330081789527571724861089943946717351119029516807423406643740059506277874966977540446545692400880195904652868100702027949232781966505815548614118009525208539167090187758817474090317470217591912495024540345827421349008071140498371704333516537677687714674167747200479857646856126657177486114034186754681960662498054686685358254373660508111483714471454748321497181835485066214573681929045216153400358928858483836069716122096034326854176286141383178914582116986602124175223554177911881137827909981772840417005530285970440627228940477032944199216585481264023590626517531919717579949821241173309035653988899017779454779472869165640610130801971108970387235670560575113081444868019250825168750345838295612210756165014109588564053183770467163955520613187969151367715770561169030660839551855980013197471426703042909998671270625856209720037701347954632323364286401298390382862172789983977486878453303154220508455339645029230884224908423292008610505536246723894631342028201048924113955281543641221055830024866204843367945442729155783040598509759784803011883704005212107980761176283059548771268838954452434566239909121247458483926832189263643558309024499384120335507928753932000985805180205766306877030155827908997268944369264306278492537247284282912137540425322874912971950137457420739625013295225248890665583554243510200638074063749846361110788311923582770559663120773739693928967503925010365874143148635303108714805211956526021143065726320940371914732891367516896303568778417246685289103326987747939068674385463451463229733288696063166977408484499508842574832061090890228670068676104116561894881481029695838457422553739274670752838136099747452107003847361564400637006581239565240422005058737694902361171908949178576930887268290002099747747625812639443835894544101064030926020082143015852303993398576090800664282302917609249198041207567721415859011037063340044110512490118770959336363767713239319329049247640953963884317429755310536272342789993551698230500214825727927227407987283793028790104204117386760923342332988087238380224687537224047376808584849771291317383034156039145822647179820996249552356060151758387952258040999557170850824094712095900446340764571989315997725560472275289691406378014169406705983596854521514617257735960660984667591198930841349842741897962223964274079008451278983266131439832308496929146473176338344553777354544762998783503511894436746354792256317196078869829559026626408937259645361016241842760344075138766510257227385464736740557477890372817768896563753660247767000281835334878239102214746419350346967597744074744375245661655178781632847506140517555906035613875495512832267522167481072839933434322718776644020446631979014719371285448115348281866105651262526987131718875841064991843101051305343603263507550991533094972196405752827787241345796466781600786731482478002129364994842444179445044119050106220670012540013660406693492185364421868412935277707019068618831062890878254547108155581055558892637542184571674070686970300428583160146024L,
666107697347278014845652552630607039259193095069403655311986820334444795923161882837615586751011923310427495916653541497534908195848170282231098968902764397885461761752404180025613686277292330552933064527481133854787224192569123416679579736236961447827018751967206261290783566279191741228467564694863080407053331786960298323764572713095866598706851208538664801941630281979256112903355310947889907795645471191460572495752640474327291315844401645316419437609599216787097673614960543828936800573169864911253317386084090041165601489063073843261087345536300988902755588032880731748397039965227135566831858009939703420030489754782500058663795981605960279640272895883933802787672667984883466858718137836294186514392813727590013474308212967591574211222297484838983778604138218683050707914374373728979465286865745914076545045847761376682506884826281925850795046167906400195399204089320082160844002392368265316278482803417845388717650491427114327479802840616023996793763146783269719485156495376417686420792314923355332319738496073367670902476447357657438404534003110331136355849569933101672684299759992967805153651206769336948383543739040318329912702005294374187355162024646414498173691968131986572854518528772060983312951031666487789094259693010516701243019377459463282519437506164549671482662841046423383610105355822415346430431892566955638868678952199909979263132183361010575812440931203969035806662229401811301834066374629419938041228662921949061329557890924968147975228032700538146254526480393151244729013429134746185305010461431428559718446005362204719189400354739127746418391241647251744347064942447932680702187084965288851466790766260858884175993429209278284561989874616848049468123713631597604567767226111676900872252956722659743937997800120123041250182601839087897883190364175899482537315450894627414395163949576532077260876712777363900050704525427053450819240400301155973516105537179128540143916234046045760953092077169366227170700954463570610752576940192317345285020883495373389544490458990259236378229216978928634453865071437946585947923861781360421087767355433794606806194387851920650985443214056516353347610763626992308229644878016614146604016743023022616001685728678867867032434637691455350398520612574827324041612266952087599673196516696105255822058898225387826980253987240313818385601859444241085916612637184090714583989974091452949130318517772538033708015157205237891142145502079102062796960192965232127477476631575507270468599513937038026618376123769787429051119718605674699055554654494826320711964436147658333963801428926605373738513423863675875215167589648374581542088053599297142882317908937112278787970728242713024049027227841946141092808622989127728888812005635995579890397705647244304542659190936852782560838959550985851060138492014762489302258303210389421936716745759822438633001111522591925544576688361673164311010820976235070242956002161444365251489545579304554051165825039215352811809993935749754603284015542895324742136659568869372359212083397010071641133679196865868040913614228872156613980489125083358354775491066652677335971147390192819774205539527334141529825742653091106234828337501333406092543290888885562085269349161560223048213291003838507744422713524582667354476304271175472913076257204585718296166385066309595874118115214216087656749766367375519741098816572509880304588436949920922038459082739668709564536993134472433772267918725153209952023038099691493589632979186161736875742765262627115402851218907075948674872714075756996884999010390983205373703237655921631630439270531796602723702393327211570892714910984615092251443020405589524537263215637145070038137706346631396599947402854207060996030452521959885519918504226217952576987870871647252324830445547146527920672151236441695272305070386090605983119114570904047306538813544303722230130783489435290028311714123500093249070986561980297203886212367903099140430465295455457019017003169419179312305212366102556432982385230746790972736559055232210679003634356347662773398388445545017385601304915190039395731101655637223623205583940048279942452528017841649613680999938870934904742755811322246670319706875682997409890666548549775174005967402949087141465847330017232583619167956476158173533789559861405187225649360492025300410164383045535999069549687399686998300537325859030426151491496599515507440350046386906552266507227572815965607391950975863061867732452895023286876543014579662313880532261588088945931760179381143753581175756227775584139280321593627156622508029125057064675642039592568114588903467260286828486555968434347009804677006402283021120691280372580644880973812912787347779104110148165486232130015082407527940345389717271755727071275894583146725571768860360724376218021336615450333701977102928421851022862007014031091780060391040343371668471165611112507086200463224222975675158470491840930187029258826526712705437734761420852172841197925641944752071619655012250853558655943329160644373700264093672527727078595200141353416796159307897853693936631268614969698589561499250370812995791143868812473630147186420071768993069461275075834228712087841980223834376769491311660017288957461878096094655954219050937646473459469246463397453670956906981663119828559529797809436715240699910227979522336016061259241532588451881878966698724240477403225168482362323609131318623540410374613071861352560043920233950104588190177697319443250675777166113900463382362609560106119315933094176039411498575981053190570521715075829000187651414988782830351059829811381685345962575440729040819145226020616638027031807435377984901998281989994587866649990946174498810852426898933929056771874015696156120690601003208103734588900302117150564826564673728806557112927022024975966711276335951255892125346200051792262898059327700851311528252755638769446882625321498427039410983095608492700856429301391507616885389731636378197385119564127993372253512064913652700828338921140216754115277292859054647442438555606067828814860575526530973699497166361224639811217387093779859607272574019229888803890259525825224338841106539828352219447153769801887981132378944513748578783392944081069160207019421927883802181817672307397216261295443306956949594043012120661661751960255019590284696574712151591113635093112961290447331955751522105267113876284822007707961743810182482844692421868951591939986013542186215502279282045097256677012306980826911787532414926149779891919937979995921435054238477966650304412253377604746835777343741850629824362L,
1094273055315891494021811661656533367254484328492394806081826541408631386330812326226865382257396815373332135787563907863680104597325486326216861568255243787472168981936334137679699635759008985049086694091665703217337609133634597303058763989998370510833877299566214933611751611542552134796238055343932535077458328171636254362212409868462673957124644415101848708647827173258007680127283669435280131448569097840186305530440683095221898787541106486527902697177492391671306651278060218742222172257593522489429260467531236583248501680874232878968294327100040252261530757586977320277601595977669155125120703909026513618787317763291929653707880601807674237646183273806882653442477476250439780682879379052693106376603747974555325089181478605028044957905389302561509107943219462527852122034702245570103949976788079851329548089208599697515448601660962109780933959608705232318578852060885009385751756684718476476067681491499958687658469494289406381859390774347531760009856799363240002156486362987601934818529519404487339124914372265113671105278682146685390113184997476208044563659854878499819577665658945347884449298598098037013641481537833924710135291751934227224742429526956673692299113894374491129012397955324505412104090489901102201589483950566037104805480538156641552387134535806191741650220198277432140659255554520079276333085202194436952069419518212082622716328036519136227424327760376238940445023662908570841200524729486389303407372359059959203315700652306933294795038697558245664428518813994444610469288780892112204946526286526772107939675257462180955643485425539951904728614739944551593520779307150704862429392559675046791322097367568871225147110068830686815893686899281532094727121095825689470485583878821045027031474353787306143015480556252349149757042919046902568883860457930478169306270342317441485578611243540509787509906648896915659560764088711279588299497095272970540032282361428813959904636124041619385388592287609345898458686307701934126195300244574329118115075514602378454991749276988607483876002650731136020767272875729861286479689711315331853426256877925712466474224182091127430126697612798770851246610064097181697487910597652612821411878699100453606791305031026075107632404839635462583567796380206330774745265976234558339915660265124797634698121935121430876675092719345532744582589047771407520078126862849269095521324436908947251913684890253637187300565105613816410717289426230320844594605773622102872096821028382496215318536980870147226718385512543042453214834434545678960385074113720611009560695510400590181303704508129310303020430839256208817994483628470795627531441832185460727307858674149795733868690334402260241933579144713811821991477305014575632123760013615931452071182317397288471538606930442561153498797343069066842082964409519039504874288302348986428916366407578441519498029740738558730193214881917286506273403182771550342369861703247186802720767516936979092704907519848186223179994450251417716619765139483412122974448776521449453103741751713416723718921257161020474408221710758670809045407420268022181751997505318867384837159367322440391156870813959821560017406188040175678221255819078367300713509957763932304434133590748909562830746803328984143060317198806541766436601052803892070022856967792489892808981954361154034754004678086711299949510795930862021668540058575130714777444876101758966343649077446590608434180822759714022207482998603141981169070840563599878482357647050900578214753687794351338266031900529198940019848931640521700911434648328268434130657641789631620196652751019648281722073061684932017085201241704888737477636004792275094465618833961684038874438872927762205657927579051961981953708956417615499983652406145630658368945329646083245934480592483851412026828677097991716616889509553910976378826909935256575101445251626365938474942963217521816279788604099524828516052736196570696170956032339164554655915845911762887760047179540546531988860969144501196854649398613727247871234290466430158167565583705481164885066307725635584133548915417339021480625078306829039335943694437645523149352363053337674199303576065927558359912559552694690532319624710920965951093373914761124495086284569217516686066233044611687797995182473754923613774715362883841253450019116716722003227383131485083817169297886684267969239990432169958787112360230282004454320087864408750258715798167269085847419723687850076104971631672714172734535099513260823330142876340641826128235325681385981761153829859248042883807466694385448261249610369455911546989596184840257753683322821511129780650056148380435001301073123810767670117038567065651693797926858625864324059992465121517569542555986851119974129833654658915723633454714176240606192637063179839570734610454918187295549540150021432642244705841406113386288819446766157387602810268144494123148860145786037910717030903207293049666960429875222690272409709388985866303220158975852212677418574107183749785370322779386615957102709210910867991241527284092918890363872806689782293520817822350133899313576946541739603408492169557243676781743850607091165461130389904318683206909915749515895030669266017724700936602281255885059818070029743452793152674998232357868595661333519795070741124985746363933014753874111846343382975386811694176517228851903151380994469557090906327921923924185855745459277594902704349592296606916930692980930572274164222863798746497159258873195325925954719438195299676071969569065255464796221342274265395771071278249080793693853292342017748873563764913131399106970734393087616071349152323954413113639506795610567858919203559397063178710203770114915106565793890394099320361255583497797685544634922651565914065793316749395818312472608116826480713523462309025325883917877806998234229905526429170225885535437054637233648320388021494241291921512904494950852950257790901454972504442683251410771784320453130706565154880274875366328559788199917345998441409328388944527361026142643214455588870733080718817752690358435816250159771834074339442487471004180819794805203873967216381306679246857299493170515699100298741748340474010871049868596707404288317019962317535930159811244741295487453433044834247846983992105649427078377859777632085798829132119023370256692680765910464941898229526704873379878699596820637296443078015290638986997616807803910988804359643310829788196194587409033317782761005610943233836930575265251829331052150633573865986367432971774320380845561010652949042016936753384504087691302867251571110203177098252L,
1797418471911064826723065370407266114421545898365375144032349889259467244119011732758246242826535587282383219990944145171586840751521328014049469111205975910902279399019648112045330031413669939375618241068403213821456191081981544659935541714817884038672453886949442282857502865815904155230838212874579572000856099919532610914167129878640829467408251564552267086802063226294271349852844712043547454634394719345518961768164120280268936044761380327389974534676020888580566063458848249104554194834701650793761186283766766946199174918332643606409134188625422564398042412173357943643256204454784394217753538979111135004319584807646670808969626157423593196530041095014264930553593295839550408878745561158729924505717235203709205420285148012141069310709230382656861657308233747353208666368793238601860766536471175374814370749123895001339858854589833650273756867442656831459093976252577182135032515045572480995164329717854873148785526707550477420141952651068437995454392758164668810785981773691028223772754024771991862539664784302696946030032255850832425703731371122249370271201306331400284505741710958002984999584395412668421007994393290084696094525232112244419241737264704753772194395351007576578525780601665755230703552334202597287494920946572743204832629311101525932137990337133223528953632600644370551817845889776136518739019482992037451234525314739765478487890116812523371571673121106532543162541570996372511041197020785050203184045220312169276673058714595556098533198958002578864414279008743126351792901693274903418129767798082612364116323792082696665194979841049830127902669390072307491715278013854234492736335556016953197206495081646864324266885773687473568948872063686597604915926244555574182923941724856490161696872360924922553731174252721057491555501357802097823628707132285588465953066553447378895704945693718166946359679689501580611771946262711294753194959468002229155295097619046222738127882994217252726348310421055219170922332099596800649114901964815033989901420954162828359441164195681311210897387220199054363750558822174168282206082406367099653717945347953591538792875946968985039603957030860515720952649098248702043380825284876894097528971310479321699712697670494059004516619901657671682033414459312478408322456089111518091696771334574566760473062009889314134094814852678524284612234985670623126745268697843074096011628443481307532962087127004775489198019691623253483390599661936099884242197272853851876605679744058747947750218743411231681144174368646284610217693844546292194127753241713664679117229421165699600128179424055017571840048647466196272028589684410737713499839901543888128250876265677576831915830909850114615226858580848030944926343663638820885136661664236945645835798610974610907741121912110723519336403957049038979526323000906668531176250099232705943294502773660529732547202953618042416967711365926731830836216900699610558805221843325349309352611913692302149504465674986124798823397203909744066153462628190832005481684033778606817495325125878051837735099778662553633781024605697722120222597705841135636601851903557338373376946523133309709392986615738187789741397100103733879585811081782436440010167244117922191298712438256763819027270870848009623886921082225904291671867837267586140183560546180144584883969500688469734035049001779910877012633252940000032601315739171686389533009742708088257398815430339521081476076933552268008138994003745989643686999438948910061984670512639585782338336624375511882188115104892498479030751097863214351899470103964479723307506685326718551361496491170558980255706243760539663798151703635266608038954875936536797084887926366662166314346109412170662105727029142320217022914053399265475211048943150128202862450705297090547921060929953973485661564216924825630898648299096010248092381946480611691838443601615585469551549849832006171912719071190423774227493626065437554833654184988040652038853729566631361228230010524653434903854247612267515734603678104840749298994045055825067590938878210402361530241672427833097106373593410940223711796729646309773304245944381968533988667842003397582637656684249019618244357394692015159843569626277733701463975099095430790811143284314044389042606306848354560705431026899153417066176903591600637682954142856454205528363165097396658289368379057244426070098086494709263426708007502598242176313545940082952714037822028361985069947032750048116707025824422678662257569147402039977223986793131210030217522933285024286695305908767302027822784493662877031084845842745836892185888476395173008783707946810488481291943033910253918841714882560675288831695923382291751782741418120530987099148009474476528140068895039766800925876658148615333747916676434934307262203301000661992991541432865205760558668001289103115079824069597607486109726445355722056187319199520988669288138831570249619860365313040618624864521999396922508440511268398361348229022567173123016861401948024528369159930127618190393339423691740238113558880198851259781755236462684550855671041033563888699759678221395379382334890882073609368741766226905127131959577250726024597684526780690371055359365216779926848166930663448618810843341380400442085942965510811419492364699219404071435312081380696206379897690007098583437114309310553232927865786600189242211472819922195888328692647206410874016610863444252616923888681567231159272275510052573861030210318038765088070559121640019907895513630265519541091276175579488367244784616862063071140268753614510566119657306815994025265615845856192365762780141197623839658696411475068992012917845369004232967738553883560981410279825607081268198436264853787773430296258759714523546629698796296459794625973937905098214623338874611383321274442324731648341921271377074058891782203667288812845572659352406945736780634006621371475617801517472045385192928293959994160563035206149987230120536027510560128610193792281145404342195983496296590964451115397333786294000454165943768493594348150808471479704381658064114857754206704799085354697500048984716037947434358922925473811962791383886641499615654822475958266516920884936081672530777251827164415705301998443566365655458673163028689803894291048202034230757039108133456488489207970173170666232250517871232810805255702520150729878215969715220030365927478459305992759788467331373294649079764413028302559163709823071469872401855706542622433109127549638497313909992952988855395499838850715704346215201428462004540179141171602270521817773295859231498594614381648883802692872L,
2951990598493830927350680664932695243394510792975863558057791176675967465380660938738066842247448929403544324440696223219907226522093244698938230973482429242622138421407006219253863551263596882172689382110945905778185213573139171853393723316338556270909802981372677564818905832593159165707811705923720583963237479989870827790035192634798895582062426913365274067384495483463020021801565621682659759329066745125873600377357188764280492349155795487548567808666198945144897377982548853547376670868025107081554806486540009822769011935129971220824795216229282928004258008147885760092300000358664885663689511585908357883248342681857390919242094393726485367739145519557399769331530165986638745278420954302558611040712444368967313324061354707658500376847503654511663764176810219356760931749639669440393035203826907687309136114992398781188749089601844291305312474274149912539590681783885074828012539393298268707807831310140339894347385815954927200585913946938811339678378974291151244186588190983953882925054398927893361795797474592459060316720280366602785326172842188819117608688856231792107074234333752779869483995766835833642780334120122521962590389332096263940903864057804083898198994498278201401865717567153346069077402078563938480713634303037991280478630280180343105830997293083282765391956940797073282795192325746607874527945313610376842418906099915968844206861433245200231728322566665408626849230238119944986455570082767286120229846581417141753874740574318164860029808691814471441516835260954668535053426284902162676333296138229273190694639604329415156935200762122181904052835152015756569840803386811414820514253331585195557242041351837193642066235769240520712436298248028840865924333323178445206677171254950852020705024028571966764158484924727527490318281497818419947922254123312529731391459475115748728191009311738153576574680577542074448841019376939126073705130290941470236232049698331639656961936110964196488876398151475731812290822252310677774569659990709620511138179888472276159580643385153537305118693096835054338664610683583852260530708649368100864797100282214686819367476154540596250685668360854142738445195541256022186195460767963590564309040233675513450233712242006765141652683384715796388005088467893965613115179576417220846377855852556908159487653386397780274429082504992225962685634350603929267249627862041135298813796306307610775438351067520550030412973115677637632640079145865394660418187712240512808224092721013981092131523916107464362662371393045033749066347900176754848443447345345719831442669613239976101386382847286248688537836198529110419708546719262934753366957282629756294913398276295987591818597493477563682189035922687636203819785269239348810777745166197487007590663834879052424820697905420211040665589166415491068535423914380341738338445516657207027494385356493596353072558568560266613926633933093336475070954044725279713436312363653868145999372323540217621440327148447557176596345762259284353112562337041657517883392518698323615045353082221183113837946871723092852360536540653549247504767846374174333754566791047472748495331244659292888795687557792542439219517284606585196767815821620332829805791368110267132908159300046694396509874499192723676048314145108864019412238895789151088115717705143213307965582726319985759804534558366985419899366742610013246226549657981077462799044745818651392108538231647358434834930585085241154049304536754665605677412369455659680110644643920898515748385736439129198886228001815904965111168164626397201165462744535129118706604435375951283359379191901226027518177176668676207699746533453255817327425583894168876751795588120516125716474891485212743150555148156207214617089275313368045269156035169022535413362106836318096048967285946776080499703411893095738395512154859186214271133458474250797089978783617875605416130899684493894727152467214483208690871193414147930992689615862111327933424396492621779126154875519775192339020516820564584911750147445573220396865704041118296223075349631026969227182739904737763790112275903704657245400546673632291910713109868463979252881204106963236294313287453995557518585337140228176755788085557754999716386478404756142699488515613223707798057387101170275644337964455738623658098165063940503629899149525430601245397703878291603513489639273236142638414048569131201310119404087597379647802163773247015671342708767743993590142522897047792608182748711756047033185827020274256164170511646494898424607199846745530351362508015402685285353224163436020108227239177140515436403594952047238914603523724580900558226954454491139485929994855715295098162788688461881067783425253909700062954361742395500194581120636880068289011572156668263971992816216003732789335025035353783483771649077415235579015678605511476835741301999182996240355502193467541643757576074518797228048469677116611246857346161154033001771403255846208257003502111508161673046652951108348617782090966038600300754412378713927557364657566809300088511228588457025750864573349544881342532319633497605442179721475872743133851808438148122281194738826793156225165408247550841014409257375842636561773958099425968620852156527784377412771935722887225983779782668514278979370857620250744600786436677261030293955062529738803408909554130993519998973277530022636033538941343222388055653374644803810091525678717377979886156496740911059511060418990809944304978387307483184569003260888880603009716301834962573827920101397664992462735202308584870793126218903823687264357319773918194771474326540608957567038188433088093032085181191636508150008103580450017359055891296402890865172081579257045628590871103171962615904362409342301281594241537071913185728026009764050308867157317590946487401191386439375678795886056961548987752302758829527042220204909180268117965970549035764088332219616969476128747431343986138926908416553074264081897745576272626857736807809459356902279130446743287390238012368137853883772106717080740494371719509172983071300380927399521418911312659856109363291670381523542241557408085503458544581799178451646782419740897212268366200295858801195499642911342870261056750766989106527996474103553218921335163376785215875043564487572776094589893860100861738306177595243196771002290295362204345795431144566064667804642124171915653757204277934388038538960657032262301499776748778375170107182347611431943264715024921949132941653547841352274160669244713233905902546535712329905610536055900692939220581776876133179469723872598039075536661613230024770L,
4847558362477419030624252954257569826804040020171910308749024990235600891736251914150522031410619005676018008534532709409972500729851842133442404584626142186481679573494916211955571187681783674720471991972445170981906225955528780934447583942507639251999800200235346433460253432756720000550845083689350771263316643807627824271704225926244979981588714847623754932131476539362052865094169668766340670569284012207537133956980971394654498222503254331818217530207391692830182791057843378914719847207211406831797042775805824471238917636993504165639409437648176716679331301027510876314510053054672553639266552693602341225220429892491143033474483688731658128397730845291813438929135080344920014767998163451808196620464870388982674087466548008915086618238447459276737069011493793980485530392930748324854515766914689511434253449495713504747102535488325913215670785004737543581902857716734105215240597625385585046786447659652033258207754650748972764762716799494107650243033179369445335007878600482880270078042346054310016079313622146175539578563080757814960801253820839558972066230731161994258449265866028765319560611091792482698603873511471076784370485220238842639731092372723191841495440296456117300715123875248190291618054714760613311069894286699516556688990384106999232503676937493946959983975127120324310715597563615300832379650350306564733817469264222767638822332112290053029437568895264936795996294342686033405619476027474720761422186875895819506527231798423748123904589998551146823208607492368507565109672642971718332830506289611656534265804005417455457172084072552042403522760318383079201841993747044918973557153965960015734184629063050704513127404485972904525278062982424778164154607955768461974117194154366786375294802026027155492280170600504791022525490769224973599942236596534074820869458905243254117030754596898343596558550469885778212900716889772743242538852270462861151936846181588157105323983192633139257392702744921542659021251198776575583505435510804863733677059038134540562338125177832184610607712616387524790744153732296081869375219532101343788617748741172659428009857915853687062182109267900379607471861574526166362256125456775945908007761271917835242706451448996086932482017935332230697085811141023898818482095448379753341004357776171839533625118128104124318219065525757255815764112733138110029720292786653399123822381019661394475222120183367887547650240674555488480647259196105765903012032823812130591394602733588886992513331880541030311806106032432589105419947160681049140900716593005250218587021362462255758998811762972208865062115921556307039663151218439861437844403791889254764082724503815991612623988982265238957195437047006927495436165017898585843810370294016314000971858952759830071380966647535351949402580854529058060933225897306293766009211379421588112030446862500372078164205581989184550858128986661677142379770405131472670573448623612190169099093120201770682963183398585432743586847601771096397483264087932151212076559640801871319095961611210555800563408480396755761510294503169755608247392477406654951406955234272405596898731712924210035144645555762244114002715109765009335495098017908908376297194301882013865148184504416956681083891411832958223541950226569032957489238951791415812591982172005875503396934848378282492561243129385913618696386633779360628615939829746212482384246484141809370475187533939644291511944352994765539190328593605189495902583465475274180474346928396603884680043263266412882424240514535011203306296695450872903531065981627808459789835302931136517443193962947918036621645976749931287080460383209470097171765476642730635332405018037880578871037167798500867466592994882430321774370153804090605449561973475228484814461214251200582558636888288027748132621819938033906899320947824038049644546790767490080344200984032430986536143316215097924764215401832326214088227858898300737017062284740388012333679086814633011667517064679179636213158776525568094704630760190272816536088409127761864274093306837894282322433525047838258439987490093555867434497929841965779617179104491539919993578571563480260374417355183743802417483059607802290430064097481725476870320626106483301088934608522092675894382031274230841769655860566316963526682563347831302192357871005669533319394866095377029572390241835145237070717023333886211460337058134300881147637327588998283074946349494251127786428917694905989585090275830679794273790149770739876169417255457910389773165213114907522186600036751017215029521888753711000608649339877112586535158721891030608323690565904357941015348091649870271193020642877462199863370585122502446404988687282545448497998319738224114480890074752292740756726269082544484294510278322870276168558030196550193491400135020307622377984541353839480835231413222929936094895273789468234081012469109608188297013190883680773199297443283674497965814791728333429740965812108322226942358945313074645491029339728152235698965504172685997862801441489879478800031992813887253810068712398638211306881777885242659601148764967526894578277964177442683788594909465970985739713851293165902254271276329206507845122345057191870283669672198769220366325775478995857736505787039208694249846475465427083953521064026098255615815407393546122541750118637631703700720567826810857216373124293790476283780568522239687600146843847365531330585345026100394995914913183283094099831256848827623424862204085587752527310944193101714926639604900811923408383628361773700357659595544357606786924102121331806132200896032331768765325165799108543582636191663296104690904942633591246057857060130184506688128273837838972934814347187308097155787395649268774292689987307301601688521698280151298862244068593516577703696858989638374994759813955862791684758692661931587690981960514914151273291039634317423745769321879518316719386600901976244524417749781606632538505687524531884755425987648363400379536636436525526477881730799915301357849735458037287399888722108286887919026681647280557194328641773928208011447794206315585037470611543086852066958498133352665688461679709769613724845418983769918879355696972712592560849169619122564408149998270073552389388387473731029038133533557593274102047679689404991833640320185634197338125241213312755543088317591366825751171099791581681838177457550736018068344994448398159630579245296189678895917960775612349176210723085652140096488728854520407457347751747237540358881132261559867800395672088201838953693793067151951463243700823086399303236057489609769L,
7959274128475138842054859824627250199692808751947351910811295559293314247318223381656437185628642704221381190518319230814659864948539061332030454532995935009417744997897979447935113602738814845350608753083847447278515079375814906249518423105559828998035665757883143828697525646413417584356417000791894020408440332078736849224948276047689342490224073277725847627615963612753094667641611614806829169167161533480358986613938500158641868184993499424089763389777263191753180474850791547645686413598281015441170290992890203034934729934376491598193327542930335386047704359691088310273688137527595675406545104914168418672604164076418708949960787993261002386396437483878422132312365766398617352917990925796097277016155687238977221965248339802988779017956168631483381331520052624944587272208063648657257535608346349133216551264557902289047310104511854691432848798010319003662369277175601801498475241914789991775849434222676100419096555086160766319060982199754332537709949216139694703923270239411764721860351761943959131829682627431305964252608890246713674029179664719927074229305298741108260539148977074155732621702310820268874104255897298733667575247788192221452179335669588611244927276748845051199235705300931216267210467919844456314228681457222078779294588647617925192494510282280600218690535816203875804153049760871636239950934583539502187377791194867729756065281398014268667690765710502432314878319452462079324146087317653930401856105387544927261586506878024483165037819151377077263935710434089461652899199140281343033228026914498211267403950615520633080401038405490445898893420053471514312647348890402504819510110906351445394991116070942766513906528988383698061735890301936874104569509241484783719387461768155287228242147557787150222832501456147926848013884718560240712371350620042428389250187760643024640845059266564062370773291123587841839344439510951303799223666505797284972410132832740949688769332981286944801208348978697872224898074963890232526933816401051519478117549946436011378559189147258680619728287985785464340124287766734685749885867694945766065084837803886090674946951481103136026519033507760971144367442967633119991611095094883279171535116405859213726264928535950119941969226958284392044866480208444440026950155670240177832431667676181087117061882754573452792263066728250645606220392320156424293646516802982858871717165058735504052416558590963751619692617756139201559449310232739563798816948232846545888771573173557230439354973710264472657366031673721107641984701619500765398295691914535746489240986510023777498849448904566756763978116563179363462792749258904288276614146161869024475551660015476629414381663703223795204684651596625164365487881415243448062613484929648669882352885392819816078102080758431474548285075003337326996632099349236812251408676460493314214781244990609434011076216475010872920408390441258070738717487823705101242911001192305810026828049241322285339847073224626355528312773946397830742314359507170975702241313710321000659295335348513728993841406153153653086007010356498462640033413560343412569247862228363811525773094691662351311594668061023862113663051684893734013737590821801445258476072559943762155292457065116752181048992759573435980112217415172149910805802121289754650743299986937406044337467196276702244491721572189792593201926471509187841978738369338877297702648214827018147731757924801241144067423928541150560783265829453333281128029067995013956954613455054404056453799159696846480542020726341629535643599347219621463758243576332472047350853990426911058485739978739131988801428568629959287278865057615617711843341998211734630910152277891336988016869829543932196407638930654658042773114445755788097502121145414747474134000195462910518258314404406760734488229315318098468109735656611387449979056298661485325529320461934651866152681757492092126594902554728940739376437555151529442820996850424384578864703444975406708630506303394012777624512058211334403346110805834410713610387947040366921593424093372077595304104509651297620455994928567711231385258381006614080271519367831734749600301327635330243018140781507790494611603585749640252808222294796730391458321532360127104660766759746511090133963052707949281500528665238009330968240565571273294038525159215710290028334069714499713710600730363711949302956094289413219819056983141986996452436548535807637177629993684853719501899170522814709445491082313698759700436396676801679585305608252515494809919994838698651164055288411826622367081707211904286401901996895999567294322914723021414462231518511583928891693347483810749988960155745573291728675158930242533093965156647772342480403252534033650736308483599258405117226963647854566974951169357248984970234940912193156309531177112292662607173305271196708090667542423820638111086444443729217063194342897046473828853244028411423397139533916296023684195397223061010796499921187271850293654300476848223111674178837584000512484654128411568219699119633144233196701167838866431620531972760586233891162606796215930844119236375729609204110379000497128619658860106550401681795794833161285002371297748442287025860048382563104215772767542483176250128909487293065193439617906890455317255217256809311794779824613574473282509750092821620685977809456132667778196886451742763931932686231236496829638388889784786768554742658925429036581698061972468433641095259292616535728421381040891556666138125814944582437752783173230270042845924127974557697062632507967160877222918686599039236452541522498324109859749783369335827935600706253915402197503658894849661475093196375241520366232826523179154849503773988894214383302699945856896605217273762891371135874922469217992958581936499154892015497844734088640341688426937921282419122141721085852036966458600568189690257946886584065697978811546141698233193550563622064130994047383146650355796737764427223572357679472746282984560040929488517527497145801402964326366014865725780910786729331206041278705250820210093898983711742241361674911325599694900831154075204448729175359877780761003655684707030674274138151722088975860381925252862591540722125126131358933337289750907959425114424822910247530670980201612700359565953312589617417728607942359366852591300375548575095955450880185832733290928894364250306228707842778574028512640199031103548375284418830863154966601795112749873407299555468299713919321497487860191581447436587953545031367761743191164611209843828545932995256594903447307580450137217630289761312032468403780958369744592L,
13066709956393625952104717525371159866095940845750357010819522904997885820550147829782102510713246556383928113143360587242082518669510513286212696670563931181875958695690649413797615084768192038343368496762009341065266122141352909073256227682478058961400347590342838201656941870959160755659265711825564149337440835954599350744391680726765359233889727934962448373265957151894045088924702131872210100694820432478118758884586738805512418254823636275240266853394846733163453392143671838491934694474043697429599217955251004827281484386294765507166811939730853107948828712988969170135857716500343144890847974559358025348491929816335262642761247886167613450678520285872578505405225254234385785193393855345295714074963050627218237687608914615786211610769898617297370676768450765052695852609960526208119301479938984865923858794940303238771509387822087729332616521061754132230820680515655224753374653800552161004776912933129877154492168487463064360696160213233359038576979501996042665430700063806470569915192990138571340162244702660504537114842204402971425455157304500642384532266816946975400017236738371761254591349331496511719560468884977335131282800175336677182801523059098413948657659909515782989531179056101953019604910919335463259413404855800125771246209439136697508397283310078816787371548473937854677726318113957838088689387634803167930069901139565326575416879488609352806734836808996085770710602801736940277372471231482966119440636548215133635003264914976049551843674995097653601008610384136179231807110532925336927567362395441675187233348359001426751046071739115520881676348782839173278281187222025817477119442097061580990532207637369981726752495727245790334561989493464069093326284695730426575857720900931413410125282606452202728783444676727308350578768777435617973010627887926809431662476483086738313517396525355355164850384861729809431313596136168227249535563223350648312722292515449851747106171199096334486863563850762484501191286292320254854844819382573181051648282708233070721249923373845901292460900996094779266246363238687411857170714260497334901702708006404963546739999247672049961010686672622476090940721830441805545177512731989411518804232444854857291176897066914994103871802630826087240655282054052851349668965997974736695341952179654535480696561438632063643370095906923377655988051190091048574190420689046567821775034841750036921630011732310408007186189566036527754101131719721040597008152374131602613390478279151288352745801795953877050814879506480575593999275690418207707619983136502363831411500062751651244009191773928386004265952805226923131207550575852535392893868636090626374048362041472867318956834670758498292702816700311035507127917189249112569959271754077685493716616338296215460458258074090762074299673454484167621408505657187873903589640862009205952661877968799989201366366887123648739312847660219892163368693027197175420028058151644991671422471746317567240726609090564791338131929486391475117871267447366247043483030050982718212167910211681933235991456872259646906122693503653356185758759891186669105949626074055827448929954632712485166182457148394477961514225018438193739400167943707543518483712499116752178613682835217191031416898907681932662851605893479095711402817756471176886720389239880534669766220759156316052928720643178527633322861125861199638341798396945372630112723048902319417076584166633650149810619717665404000909244079530324059359059185233312115790186566392831366126974582753944062338967434975400809467096217886199548064617857437088210309833284823016058301253890448215508287127553773902343232307925546911422562755320098332229176196939454632959413118416710000791515291719907731936639608534745449873426977059139530673526970517945500226587163511692426549455658924660015773724977665378516909173259358385733531693648330051192632960716656700784847863490668585955963644673179057839252754117566210597865781687742669567061117871473581469097892498071707458535939295700151148593996038502779740884875181258922703468966529763059996838178983203594929889791345358369642730403102227323081898752284245610005100316666183243564830467744913319436353170507142983769707147455136480083499840441534352700541721099599187133725455756154154123950041117222756236174502516212333151139676546845188045395851982705282090591228306520358126061995570115220313491663086723624544627889153611232943838726974979222640349428283158853665415954482018576006466267317255484645848472452385000716132339284411372828062479178157483068658992870936705128521078149293322635658935505915043918273612040011561404009912513027242004872676565495781658648178293578647989268544515928699265836562219018535415816601487803243120159430653016734223198387198894899851340371129257353417833940003419513416324682846477995284571872756294597783384721795118150879871400865424314218276931003730242305184061701755352011706452805192749919509461376928824168021278093328926181884789223899137552529205157974616529768039897494160946448226021913663017718265416497593281424586867147059402025984405105040370184580116035605626675154248800113700313886542171406265928142201840334111694513368218151697499353122991647041075101169314637632421109571736679035612495897748768728576192764312909498725144100754865966506148255166271568616181406645420136989897658438272727196298122752986984382536021431883073496782920445860658686912668277486989988821186119876324791734848313578964762567525020136919255016584961412112756299658164236087388323404199498809200536185408538117621265252121065975344652435991094964084072604958351125104844043741685103807784665943437172404073521060282084610156767860776431284642044686724729125018134130070987318995498992994844704483720364814261469751379399565623280144332096235243638152515493554690439280952803982310089689316354351066702929110781986994472294310687037254839392669894520623502361845332785618019424039913432745668762026515539170786069804630986202239480254750475575391546499233238124625880824799219711347530832397265509447195184365418833964840388102099302450418013814671675124155112590537768050792782860799747267623739894297617948123277994374852778372082656741290874574832239272359713048332763808171423053029684728352247268785894310904367967654666703424717924705334415228974944505237590637701842906612138707421730362753408842582139042338148243909133827001542813377812844793064247584729819782323114857339919844725038237937914380121220827604036013327736763603808744540422419319237380465885711L,
21448723190145624844872542270837090784131244998486891415977864103944784939557267685869620729905230006129012622755871358770050589778920989422915776500049936486227940441162143341727961004798160217163928083579216959754168460412042647772351420579231038635552365599753465789701613262833578717296846434560322224355980943658449493556243256797258739752935153486946766671123700516484282823384510127808277834629638914950275163995080539095690605288466745387828313260676339202220344932843926027952048840315537148416496415774984288286091283232373921160499266975245655333302699439771353930321634087216860402075183482966609818106668509551919569936330241231140887028979376829296410491851138388358057599483864888946562246635424863421034939628674206172661474248307733399531186993138738329311433928682578776926706978036626335364538412834963587428775795494039186495522373471751094034571784620245314790467406091589564106978654095570182981835680171599824825974957903729294717170797186236852530969152466093363477666054392399351724972270744103576599372565776028569369349639550883720057961663913542959709897018739129620991871351795037083457762883512213764472102333730496918042176007253562617574232034429428481792754080212942979565477357911707841070789585588471408774468534660904566558910045796475688697952322517636168458275218289832499979284740529410117478601730991966543229057343980582827610749215275660684142993547819036378467887698440312604249302308266865707153098234201711721663406050229702716068118832460971046459129343590921802186011873133905415845743401318646742744352265078791413571071418930057437139055235036981696936504465090579665785616948165175755903069877381473953322090496452305641221504033952520574533993334023710384784711216596534799577657234802253440604629848747646819892812858336401393242828450433761208449504355339880724683401599352892304822840108546950496100534738151277076458658158357506341403181769246727391771050018288525394722986298902094179472576891218351655389336042382298363663417727470166299519473876011916152513919314984758388127871802006610617891443411701669000964360099572627025201560405192251103360551347795348715279860070846442232929003320290111613459755057465177051546080742726020040676118800010723124333491735332484987526626713808702831426303049314542759833700061983257734271058868387556262014894410630415186770132541274353601212042890342623204669094993077640230766441775606524738658016795152501447918024592712430621901007575926179063602272522711515596465104539964736506236527547532794246425919171125169900804315176370805483298541207172126445990688092099764805040177343964975433852289879327598831860898798002676185576710619746423038402842144188734639515844038937875687913748268048174130896387000537302308691093015390001658883438068046597503411129067127327661549553006620187084082936237348795051453271291566389026783084995758451210168681577563828819852578466606979379511899613030482606512348927035548840929641542962145201623212974794901416642772137186227160698103025615690403435662567371682335868483733988465041528597456195252073143364734499823851134843781351615287081936695257045500774949534444783015931730914190799514940188545864556043805196287510862892228511579067241875270976222143076237444127950478596305046914056469782924589302720779797861148930087311100761904784383732659158928855376729725551019406928352308081211093471741279652080018723278782974020001697088384158744812359015600338203003169527474348448137488390302066074675077121846323745084438447445255930826580364778240180514359294398598686575860841870966030439896201108923056301102659513312769440911450758098744249797234256870350932389425542280474715489382839925996627662671935485106911202082912411189039902832645968338067504971362936029813975817587644435192210251215431258921959502518553614895463436378975567719707786018072640510491859023953818847591836444933420363142567516842859513956701641232250972583799688450365804181408419370016499348085937542396879801018965820555754923660958058012109459264712159514921766558904341305054921612381674952481241599393043800120948953957162545499358279746233794161443550978266487405403402636003150264994257537118250363296261931495184475467463503493148842888508389741217543499266003406491902131838260600032989984196763814859251530012489527632938274564865688999820079539714968031798317149208315696275857463737384523782772835429209640612842994414121777783764526038950450481176549490166887072919748932574420610122929360796061543531699077625359522058477636043569700294526888923248801825789626874344783605061607932231640759421726245201572206277405352521497727850607182645274640217362474400915587396958814663476201675893973270873101289555603794518352623626306168247178564809400629972776755126640266294692399012124527138050848539248482519573202360285422000517173490945364274343015952903880475770458582122428258629859627806653120038416010621220654211312240614228429937330183045811054501435808114221943593329119400355173428796301029502710310736119437074307611244514908135060873910288713717713625275489685229525027872350516751158985561195919763373682069626195487615595805635129682460582807310255670839809046452122617122363414720580847168949862680743258077217052655409817753593727363289765834909414665124355074828720446957222858871344955359779864184875036310268635660355738073819804783659458771422053309732450126026449677638544892821138479020703643332327705572320781240749592473407946240252610724349614987723082800820190529230786685629492730504679007460493838329089633858319914781083620494180306682083330222155294836850775002205855704844661796472723706125683785502351190146948707350984009117365074706537640838245149346571562665974690003823232768525638159126955654085045726432863712508273706752826644952510296111154828699581820600126578617938212368072275642693963379896445607278581645812782241456999563753361879131796556413890844208486951121094700386119800466977272531093154023941723134323838722199090713405684571275599792510377175256365816003493824227471655168806161616206937149787623326683682493050421167625679899431918394379104391769639441550371715504182696180946963422214748009924930831547919732102205288121589874630748346313986548710072595389481085700642812209759255232399478149001076967816052929685879426864700944443316845969345999021110041041196430248464273113930260681586296989195601582189776672845128255151869081449549216365678848186072772265178099306655626874656794509406L,
35202951319565393396855745677468283837486343147082427341039149909222550682732789070678048511316484446082408861907104146025489362192066332897004340506316114607042184932392847792392518810695372516921255184013365591357514046736725420535912391079437229764650890035402081359675298444640569489905444276669230741731319689838350854431985290145238873051121315833065900589216630580080345743606020761879936691782724321057361550069140830031540877498851160833243114099160100073698750201979247535597326713018012690373749902661591722002536401256113960464460819126491991459129942302091880662262087728665835543522015458784369793513921930928528408406679152115310282508772043923548448687172181423678859561548097996051535550918345766365538562753580799343090950694376814717417827383863573119499255574402720822307565282273014913107160418156758310425224369389667134357978360582585141745372548565436824192452270577037380965647583787007737484528218033816605194735343232899142308916970064218269376857718759756877346148991327912088322055249567760414467169112483671986003038360738708669257243074603030425576253723284680782281431281103911952142483616905990525016372295723258328094352938519284207081497018091201104037730406606572572157480447756238567566877803430430831917314506863363944263688508258341563365004058458175523892786504925764737553415695922138623462701811786958585832552531398747426372826952230811012086068919111124060723757249931023148523356650073810688463413603167595872047196889626108110207353856810754614798864574574957029742338806251580605666823494600033199055242755513432664663431682990369052897815126132933785140979700659045023845688346037661725462513227564811731732075462892823617269522500836472935711675977210968604223073642506018781518692886560860286379453599837144349681215441297312435369929399670882536529776414478552156715565812066356101070221282216396032412964370027076055217073725357684194220027822421445793505088256389737194546055948281090804321956835142310421680346791970210992347583175538872015902641812051232161534706203665876742127160238646306595237494555796492691836704647337312013324791658204710797225188549131421642610217691427389869765606930299201303746258668813060515120406365020487293565345513947438084813963846450211952625132801631648825125972754434336501401487597378080794304364735325847857623058382583364707587618291272424994559799891703285367044185104909488679107296342470915088757960698850786236943666220117498454110106509628787032955651092984602411353848911609574607826221548289283559851155533576788446627329840863899355095039679789172578723775857057822708228527820502253004693480228025538072371232762942486327062330911341340788925847542455221701872939593823856383080302368881653958978519229263859932283401125979408260763850576674932982918180392648816067097126060811133879259623088308437994176167892178506273033844343618316418912419735285559767208074535396357642623080190116936369456171385308505855984852210008751980434799734081578153012647103352615607416642921952699075575988229189393895903517664413066147126918934246052828609464956914979939189729656586566013772818204790037810828706552198678866740394573496420317553753656339734334001228689546359946635704880893146328813198587149791622572706107600201220129829749157402610655465327778302091211917262926767934289427974934701224579393530974658023177693930293955600189467230442757940814987950989902974841997496428170933387968695625509723090710000933006258162606344142533381867719546055389120924959938941386275242555050181102400645442611885964949798610914586955313563995106099958599511632242720862853473693722224359475049371086302177389122266566195653680800511772779190892559601809033719802285476920736870387751080757275511182292565530714341798909435583791656584394848058709476652757031970516491016676694825482923620669813186578941773984052253056308404287824041069817942819349868579151627197035212323750295139649706209694000803975989127452984360895158436344268480731422780336719808891195579649672622099866313061277318380996068653177097499633688551841752854636740553683892651674648611035204398946275255241780052784207043730428664421107698795462154717361473459889644775724275311647325881273347305654391264316064845936030037568178802306805786709982849498614849219219712945232701730262975071253427650860333814662808778402426687574701921671971695805255817886577523271710024977811624822755827772558967481242320425221848218627716932359943798975195866481807498548434789382447199023333468636652119650864610220810291474372746308058860752350500638572499542824647098943021635276421735041981650733603290788847336296105156228669819356441865071618314547676016237416980625708510149162462287797312717483445794799058137362551927480276235257885644465855157256268050112141898238221088034315478901635228331695723560402639854391645248674938868828747852321444117736122695982216781476094118537525955031189130182473327172307000546474337822153747270230914691326823604126501872691935318313338662050126865644103233906474320967725138583661072152893648726391353685939041349966316193670312140838671193476434177870724900189463061789861977544810851392194170719785303601411244028717856641349705496202451273632140580459439760945977525638754344892563231559829609505396861252512406880658938359704767615494906791788941911732430478566995829522479679202871759839655596575396590119727452465119948938761290438732832823061888381753206768186723028006661337310436025612247054106789867347246185701473495562096505336362685609110804522017978412932799161603724519130420828341715574787244678594680920596489002843149906526644614016500034507199162079423550751660074685927867349412787895385176394527535731228608763120997886712825758018943037471372050302801772671560337136004264732483194366915118372680530688530736490913538777302140238806204641851050260508177218985983132752055544726766533435069207040714762509311407881218266237599728308584948366940963025446301998351943335192750452009758137873093821015306695374846410446225647016745350603863368587391011616938677376281977281126856662416733473639567552860582741839385489012370445672554593490737457724808008310482633558173196672919794268047824598363665209198490521330764663185908318233483658827740182366614592118272386437328545787903048765237469459643312386070066685735294859859638224698443082443894293074668813525982695888631787580176674773288218518466137637757821526119542260849683791651497434291683955219717438189671L,
57769575412720354942781039801254913415324240266168210889275665611234098276183332545736281296328624610387669744541637645308301606477334037247087340470350095597007973393958260351746415362064352060071031116030904799365390754995244404476390275603520133666521478165362766922067113528823659245447722905565012416545302823304719412656306107191014391138188624404475993525659340181135593594217594561004694431648069580426594418110577218464658833052729754844489765478751509193303007074768856400384378911426736943025726224267778111922371149649522493977921680694640455961326181378211421440005676282176130262021523704186999703741559298915916369962733228628153711037857005030134411381604574228311889553525242614328439545902985668820028967117708744152404340271736530439116936426144391368747764816293629340341572791706856663802518858383681130282879460002616714183810352005589019262362672754718764689681573065758737178556082911397705691454045730282335954898740444598205165105300295500299267609828289079950865717461578870836073519212525420107125322033193824686813062976094338945615229406206506821626508776338699568371384682767158895610910513210081861645162245277447954623283922226896228769734325026501606142841573945859856384242629129554647550651643494791338906324276117939593129490480199522493135985580587406761807902943067916133919796745724426817174554244323883754588679525253047776171935629442354266835728313445574908850413685121170104966071223772805247497839439539706221502307465757125276147614081310266169110774602854771542629520079896746242850153654086715827977038967853799992874360385892444783684936679328379090052230982865447465165196820158102783727304340441321493327248300033034616512078420757664161311561100523968588946088892288050675606489068404719929260287352570523066169848026034501007088994324739206730159244706752693363556891962483329612853764234448753906429410617673346649778990756410968520739336563921290481001422483136832709276858048139338737705358389347374517942358562926994077172004568036574817619309549136569731968454468192359565436683835731587994070548788166889442329264396225730842982699032692150943230977045246750027207799832057833392464578682392001818931346655165199645442260343849643822923105402347110397917796759632588841868676726031998867570597153564480036632260887347517451671934576089319832810520739265839663092370268664049576229782539026044737238103124520647692527694253099096685616061836380871403244984743302521215666131831117735141453323847388497036824728511803850886376538538432279102378212204486751458740411131624159115532440765719235200269210996439630371350180912694723741186676285641077779708805078354266864581157607609403954413226882425940478768842111084669118164199563830642215731744035312760640150097586784247158177880465611179290318041955111528427744454252867118852966406350201203902636470240444820818593613130972400003889887366482930767080561765727857845412634101719427797372649005943956947806439038693961103692164011164849597489096342526604609627667876650265634653969285516390642349450021232707548914558508611652810601565003226740603191142385656437613063961837876318052195980491398012962011131897472618892560068504409482253629694291379808599847954251225920125343502213535686891800976225879361328381020657327901845900353187140346738253516468604744184303038768619692899239248281246226161328082877858878509379892928551662055230147019438277224807683748876284066603039266988889835237153683746744065477538988530466665896988164345171665225743003723854813771698717079354644396424861090319488078637143689733003701893082124625478402475115307714517916294575893677748458660225526350522224433349802516973427635623064813278851999495083643624424582376698573074071385224523685506772343797612530758777516779089166201693360501948749635370910599750478807656410725157306328580734839409689472952990232984022278657175797234465824137770236406777176955086975865497035041811072064676004634753477479222438428794330668918867334964008975776358660199161787967596925043686928909081168419787484346907288841302206818037879191128510357428637396237352204013287557910738170087211577757749640600627923058167387780058145889096167866985713414475439860636921603050330073631445317266153902181368878240094235054823970694645932281907168502887585615198594268196234812680857139404385020873657339454739546812760575631798783453504803589785713731201463600650219268093990180247996245612875502970424234077018092233502808221769196875547694845230745330319715893254307908305849830492589443352354889202764404644279879260554559619395708514600813696112652682544498986278090470356388076578506789437073609140882095040436034780796404026704973819763017928253141217446289105697875004819099168468526272654531436302229838782009754182054811856040910175396350335923020007365028916749476778297317867667668589750020600189418580145543455756958337606378734959306500830372375074634910794670552877594142821041901583885536837171240054255766592613150640693855621029709267604221894787738819850020359358526544212637687021131471946657127228409014448314342100868033462694421095024139574435726955037441863415434025395529564364497278023854187865898483167679071797897367253493089925650756581063452340029319997255201567484508106733174178811065958453904120401064269480837364560360390825143750793483137005822307613137002138565488274062682175685957756798963515832031338146320074663435775044287180265642375073441235107040040138127400955643500240170177966456464941201826937529861925276963296969646600777536386034502619560338439794233740740596902392076671742031457155758405362245983476373098871892356388530773193697636131900335747554417395972274534284490050169633608532816718344257142953527341355106661537083559655895681429766070736639587106901969456890204814187427738829451581717679999663911609746553769974789961274421814317118115446086754496467817924446977769127884265411495515105088205975782641128115147790393928861110728267013085771798828734167095246536570001431742691923687626358692498770431147776530149032598192325500114140718868365704209161435511067536755931078033548202727263245044264873139449596555244580612227971223504476835367295110005226143135838084073867127370524013615000983363690104639217289765859175928153423444418679135693843275961290998629113811367239364974236020590560414867323364423295945216924853057835110072850799978486136167570712519094523844310703697161257951257541514577801652127900184791731258326352599060400096L,
94789837459867806978121308708217596642801735042120308799549211069981103510302554144702901541447188751099914420639932704373523522806055077686975505212088380112581686548626595202443023362963779747230113523449900323635090339680401125155115427904368861285730570416682301719362354611023692174473221173866090474672301405717995471470718655777007667379855008805113016547313702716230602638718509779524605123682404865416878764440499266198414522044639311431162544565607503361738494140660590716094866404975022918272864146613965341581250038033970061926839646634858184170500658957347638586895947882684762643571917899260881975032930914365994547829220407777574617028170351014254145211261215981684875727519816046311397178333393804781457688566001498539547394304230113290018519051103226528817250614470939206682273491731557833704220814736146726073299311407856098848002043608613491987346415835024623168843266219370785280254546068667718756887233832026363768033190181844519565182824436938005235402301636609744620757469630520661737964410641026695798625758309549064837258996804714038693172351228749086755295221181328587836773293262173182269248060377086109576020598773203433064010146729644796322681328742514874233019482676611847495457804507283360201960000917436130506762552703830293260079843766954032494868964287643815021131248678508698447677097262771471594807094393647713938456488288190533502585871213017756732166612769323410927845489622815467834307318486180922862662509680851997622470410397039073191607040310203842717136124842899393372601367071625036400194646624433908367819420105162138353248849228542997323419328385074664925195025278915832659883902700524815319920841702665730832771142431263279546112118886350241576825196735646841533456162716372688687526619645373746363647020071095601256757474442888863052419238498942466957336041787411185319533029230463348178812188681460886514084168204343806718129243523863298274039476025060397190146662198533694432998093656390176808768447878875416950390065718009707203635992667665675150707899709673910955767953733352021260955664296019259167156860194491146876816897725910309075054233677578635695130775838855522620850649026516604778510673172637163932938482430790706589113132229502744249115830978275268175053060704055285175543692015436168672359180681281382245918934329871411006300152051448982904035319802843189452713525321447320280897784642673878668476097759229397552154650547296482229192025700541015773998200648629898807935857086951371674516089806046981982688790943455802886893641025262426153208066719162635060148610160096364049979350642282751397465146773976537582278416391563672525942461447604975169583498556241677494040853415815025063483125033365912639127434435241642572682088669595598230441367032720744541860241145248211478474304662429852043624732248476972382564375825378060138197211673931797321050715365254213630983817502438904647778448638572718158279048139847777184038019051703817002280051620211705509501327184061035416398486064064835380068204140383345403472549618445966816274900116322857875798494900727900758407142631711274118019636394342772859812579658719962095512712908897380324406882530378514950333609877832901513966687597424377551315932576933152060359284730577927458555255603974968748435363312831928671256169804101238513205948661485359306530084940052412988007764236872315298522243723972991200169737315135585552282743448490017566022905572770286102396768022839432938742547999712778727185882020404869307188414087159152821632166038768761511993473887274843221942584687548716603138458475479592093715075521062189347947727567277705042711425328007190586495313302685652937440766675019914478935978011975657373712511714452605503449780540801919659157930475796344768154729645665449395729810891809682008751175839220470417489339837875455987098826489591016893133481999829192882043128670724547945841780914649756618410638805775570119943129531355985185961790230326212705268549939738870875403470525371053531988267766909822039718885672009867294320712913073563812152061330034415177854703820743145959903087921642048808020153922564485862797930663864163979451436766583680960117099090715623207634809327841247448155681419050268858821982260202925237310063764550904062917472820987250331670507288849659574958204846839473221753406265887416829113665791776814856896748553013173452344362463189893218701318502761471695272337770822235065569016468672999090400167061492373585051152087391815403398648681332040332503999288028676298094036604520401570333552909101508440385691723113434268045343508954668451185844129371298673468516386258037783039408829318492962401275477264094759484988646578132794426844478399487772916854637691746544775205814087166286515268653900819058771084498045364315411445985881090369513047353988535802209298566678928730596895681795812727464199946725993269723507007707419057544143575588739935213607906780450952007457080584090264031786850762157304772547702040083477285337098718011788787019108397280916843981987308598536918582083048304588055704199642749599505098427150337283550431341194177455043828271898819124084570189076381348646345187793848878390635484804635248897485350755375745696367621894018569940238743069123276583016090561191956011923188871437850067912046828040212840311565512664713274704121629892398273810325135229885337608335945792827709460376583664989704238988697803851136183221709487626643430165993900903783577606738737450761442469146445286590092364718007704914265717712753630105554808625098819431077529784644036260559021216257217672631051695812858488242413407038280202053613098781963649384895972136222361152707349332307179650079460931106269025867114613170264741315708030380559696078476313566752866350277202224452182513755790808280063604957774873782510151420253167731903854557882751633314777742617262307588695640496732554994409712106058983681609031481915633431264950590205848574560119279768933162447098727201558011600498021868475099658840176909224601649764265409951336500565377159589391333261641915627904608192420727816269188572796677633931806404356963769785609494734626185034693276939418027244989116746557012784591729367640406122509316013128862000378002484275444080258100717123124617659308930605074835983222587937722697420710365445164653159744722717802400290938256506162299424898132573503572589740667868353438231183901783933509989138727005585901979998128237732221423532369488763152856745954900244984034804727142384902849848314327679310530531071871342424408017375301510L,
155513077667688439501505309949501507067795522725092607092452789815545369520897368762524597676403914850417403438928742236828431934921462624891078282445665383155321886047997572186046384572138462573916127545511479757014131112730154639512903657419690582718861920130919781013143796216636582207106117462484664783477490535925318327593204878766576902378199694867613758973616637772442181603591034716780423801395193811144720908594087245136339246004236360040118325163481518352098061484025338527590589875043347172875911398589607743203538912824952713974970179774355999034762482271709997206845443941124915054459367733137147335084769444132805505522016058863701767216352499882453998548377045285610055078618282584448065418710156938607693615502713054783937607747574626348489963485549885886145288167830072232079350364214316589692258627703730236784505568308699466107970695518825131118751026994218665336489051081911510122995809427452027520260995891967281618151802127048258324822935348802060347305275314525562441882602744550409004872267781062368610500131668448667461498654306741520234491044897363672488510861775584253546978214369942881056492561433243526057610875721034895569893157011827932577330594223845095248018556480702605536819577625231250722665460904719517687204985398846124448512197151674501536337827724514185678393290524795931586396796290411316980481266849540323912317502433304541068670726647772545930173346929131546354996515177293687218942545601299821067406808747243641929773063230167429002370570758138686991102948991736895596628268469503965262033036236238765421826415147622472619516928094393228348998477780118984624254130384382739065864903455888871813170938435943967289704426566784802353268905271827097962788513009269272264659434424025942093622234621113096917803568290524137956806242229781194804827214314424598447338154820358441627714108537576823908543717117721579819077496881460580415980313968765116184372496643838905360293014349286720242836509271057360384979398500605236352161958255510570389259047740389942793120835960232359781327750679031086416162134031329172756651528699305831297222841173838969439660944076020680355293542599283216420741768249411216870502110816308016028481009098746223572750901633792859026040025967865236636690268191395676810653835730317208774314601573204892978369674486623962629381439464717668518172052493593169569322751501630108958160568367670043256334116903792747332304492896637612243513641992805433465022742386046772111035621836768562256930197255434323913492383019228322028887062013878303657766937318382778907110990519588179949364619079671763147896117036481353093558157176376030515949894157599044221615859096349806414751860359397155167803842100184960320925532609534732982354232631136584597057460943254848145233223695718755512653811013182041535673675784601189546908892300368490167502176195403966579340382304519361884237212290151623509727270051230880289191404858615616981415160829164703639495305147048785553706303458137588177796139143614257994083847171493393452689257786634020502000917981691964105000164587760517902308843140716019081622557188330081873255588574115871874577083752430105285623650819514115882674880453709576587775749788444851342540961860489650984434858797580353884920070174729494673716317778847475109420373855868220462195288010288842165215162238606923737380984154092860567827703186515696605105470392732368214219941263442156599157344176694812165388870954104709661796784489547661239664523676147026334447346722824349625160440550496202372386134198229874884276776811653347825048011286428561631216915349304746094178962509225780187900480952119583079836643335476679233773804869490760919340139129831717536275444214663549873282170796858058151512008250557328162810749911174121783559850613778078964167219941134430611122409335241596067211257060650462728608823379133083615053222509162873025431543028257362782219375835528033113081323132457151863092448466209733144724766996102819607920072575012656740707524829672576401415009299138581440732329863124007042115295623725140729781218987604396004169242739296608614080485136016024336915111841425237930496922794779843936068934540533199363199584537770187555836855959875573646656232059930008705123198291134898057840841264679220918701835972375591956929389635375790288227052187914231456289298583263622699179403137124812577134191773787646584881632327470014621434548284598281514626395181123999112915690269390466444331196721192516081197657948587296207484774852426000500002186036329072965613220289626759965766222858727301224002935100483095421176479401115611401685794017323317021909925546484509561933232175893368414274334130547692597559966784288084693939061090476156698724581989505708206137844805375241428187395084817709207279028244711690154697477843248716973840838806256016882873207468503504200162848018098239961233199645535047445648522285964811547074279515666878876906721799608968334784631469411170571540292075738549864245937793044794254957479113765436860726176158181099027029637347767787933690724402296160020713040861514832785204373905985411484717897352746264008827379106677254922216665554105925244876359566894538705006223797550986576628418975386428628096316324866931716888739929915350135156230383065183379068134718495324836447847056049765656089526637869115204266506684128777689933851553024849548585979114456652961655213350052107567369940589120150843855450980899752482415250841857301224511776218239830215453161117266611773994079712076685580884725563853588125780333005285758340503683834801564209504201449420043202021507661389142724522241818081755893569410010145705124402227596858146463927208831597989565491676352451459734440286940262514389871485905573413705463037965127032097699914958984156656016340851301620403452106476450765267694755084085927344855743363854367720662799901491749888511954507203691409113179328611964900283662465760699829021123259032930950854623612865262853776530654704345408865511917105387776744753461354110101855388515615345483010968162464487981390585789873970003485072193981782120736904338137719683095498323823655040173076791892769406195505503924390866007768767436696108577944990649277442777241336718841937122146315210291290345400037819848780441114674873523002802557151512170339428582258423934803609148059675450767058888746303316403035597640416753604948763699749681807894043433820454907458121581335215951678259658491823099591671957849258713509881569370413963243505143302981613111120455444031447230548211838860625392L,
255102445147470664071404674477443881665831385824317481169327575874632248317633499385493207169521409995551740531399209952664391348874909822462019899911058361841627654488674739511231095252619995024706621636081909521220876346316946587009385896873572787554707810763924934835478789485533478854915509141586919650947713851404008120208205690634163399971638010614622854403661650982145474899815523820632675508299112396846672622432002290811246384350958680716706156588666507249494405022001700453838771903843725512489664230420439428943795020111041855389675870115291760204331065968889539128835696809442465152416718408121462551545861375516486074619300463186527530298060426464275363486506600270992998003217681958308733622062611368154009543622726374164066738638525809797716758350963910640568268502266507199848820488155599275694123155362105068206518659254732775154600442074570273457187418305994282806141722994389857630865154860910701204793755333394168684458917293400905397206413133365244672820773876907560925440181295528112325815417763158061948294592828110339152085601403032771080518448977940148180080703393999141148554648701017472599263171848477151047085953901902820186634814812878300844646616742156540319745308815308645506721079457972792795824991817935782608340373887418293537357997545098258117905967471396895091817469504175949972856361106297540339084531862878566790954966447186571653280990513549891006002527233071455695019722877425968727635514634358410359410376843222753979094214629824809175917467643556980840895193617159404434734808775297014368811860781452986210471567064516469824032976225460426770861207180561695444149412916437344393082710557632498595656828097971676045141212494945070890610087742262224938635043035731166801847579100449788772868968161745915554639986117954712980259394640118886698668020939472688623014852145478322658304092421075311190837665902539845942485667680391635087475894534668310231638809100087946503605657001710149088224029370981450806898396742416287506229320337839253867272849206589864061792854284358313764805176715222697947065052196244557745640109542242849502021065890261254509688137937174716141689581323317258612810070409017441196699879526814059318959228456880430993698175292655714079925195477911411454545914701117093406809731675123204006175409631338803929870151861359740970033656034321380979252706820199718678179357929664952266917065839883174152116870975728293572851806502670796971927005130400928227388429471937113671974681705072648918470395597095726495685094461073667569550698770095124928494564436473237815529015867922088100234284783539277388749770482957362431358867086805267658425214047695213930452715626016040452169741784375315616600581712932764874478307981457465340001712648387552971716228340553109187881748989177015672770151937959262725603624117549984721227313502899413209654725488604577258972227521091150892401367153801521636319819207718554098605208280614503399209241630426811936061994794948712341049703402810436192477776918933568023126210481982663692724409896734341097322333761014481496612716954782826594058446737121952311788528271421438553851787541699499377476454969312637361447581715434060555636319936337156905036181553620286616977409653385731238594138030936192316619726274977962886858271928387869486082999650559159857252543948602163180086338753499081106539571094055623112630391899938162390285732719960357814243900715480264118828354593345540883419765629337848475945217411217229747796418665815863060934306477774179786464932254640380056312958601117343518800849854749570482363202817313150698926616829799019921465845210809264505896381419830133944542318130446276614044976851746125876228376054797157619445000212184878938969747762347332649458255714792222565026965163488064186446443842290872525616941354569595608902700197310132855570941801933077402239400040826650311507692688473471201644710063097094991346605244385118475316633035433723195699862709484313603430794545681982430619243125114541907435083059820011687042410485189466028441026062388584791998080063017457424159077650966066432586740374960723752069087047851418569439310140720750837566478284195610142280044031395754315155706424948401800419905711809114138273576287733744786413123692240043541563882474157177577365432489818406401967583749943293602360888263561857343486408810159839145283565308929754509361124203307624153551193638884767402146340600882079172914647547411992310335039972876035822008205407047117982093907657252934800026298411938139893586395364474505403470453781461469522243576323283565987333687546038345798199765979761988208372508220100232629533206391231325106427968326803680636440614202006599436970704067715723100330496643199247387500748175679933204375293071394285994264862850833239336244645835810209034360996456416954012534762206951115215291007908868745246184445524668060570028660863347289280871772386021503957395383551391567413541912890495641192066880747993804178598623150796759027098179560371142901416143513444504259998506848956109499316765859092355441690058704869243304476466207308358026137246794167320581673363301787405907859347121626359120819286429949507066653940208866519559903791283325776611279978701982974150857062679879894921108839093321396928768520423506150579080496125214572164195667252236738574740244894555788651053361763211668715199511861785737871330864409030522652696177473126235017750599150520899522774254626985677635519625457124061906308281279927823172697935644836634264127581361351530957308774469826739300581367849966051115835339540294826624665126803692129084699236882838783226907377760489104502145879721804715025551070398961253505441134750958969292821256361224221726047118918452409262308466315703478842478581754964516365204359131110597774093460406971342216110310033905730702543845956604624486039237951587680653144732978407317949011444149889629228227936959885166599664589047639209825890646813744240487352780123375226776304365980047335259143290935474217686295414995992158702196618947924121654773379961386526354706622700111958193738406416855369548731135507165612298472002230212401297924341748307699328184013020898298767105460611211936634402466804807687363450040244975558982381996586096936622639933749139036487164499457883231290509893336489154926840461415099417351344153189535734005688508751062962549892295530316653440358267859490993828590907612471330377643993049765296997523924463149956721192691149272401840087115788739369192818672655857704716414664010225647948489910579087963722868L,
418412765376791846816157109531262803253767726769581828356404674596202034151954311673455341002701200755601288393973501054696990452217619870929601209953986627096225820154516020715555632497484159571637900385827587006552889777260882400255345946388101118226739723063953886819685194303980585204236698635859710993681162619127598802523784011345080080515884552302888197660596272607206618786069587092740769397273452407231828204036652219047889731558874655220519065027225591929689401387616013375031711804095135465276705478408382564878212178709172586162550615443919906116564407947334174725233621179402222988259623566976700679844164675452404897336442604080124768238633236316679472808504833917341784994472581194140805828881037921911081672507025552388350279802214780889053743900567725694136981858859126449925371346921052916627449926717857326047977358083727839010028996210841947440870630350043302118686608233725175231673106339519330241132740796407451008426126432642476813491069948282642009173903648895928446651419038765793892008950991448307611939514324125716809796329725462842903799945632413698571947950504551768484346544238811742284940753423626263824042643013530952128645361124002900670064353368683647293415484598036410784399463812721103865604379490006361046265393173084792309545920486216705256949523605769736964464997997236965917539172936177466136718367387526488461443828323949602609730547346723124651901005285299034135809609863150955257154031739793757314721975258040594457138738655441543481932219857334942549152791639709752012854239608007177571516112277085243460918763723001636976482368916605286258486745276131216002574812264264875459293682980835808192911833769996084770809309396670159717191823018943683345715909442227434191392272755444822897123799255949176957640880012839539820259270091768713115924649578039645141345009436116608527804259107595846254794146078002693148118526923656235724220333695761938366929738821316203681922549023061052163615999401010194345200720435212754394406205214958370655217994529714799209799672484925161376356828571434873009221088326229096451657079306570637616777714050826944181815773561198790759902262376518952370064120931865894620689832181434187182999804504156366504113993560569041117653641267713202230174886991861215402046728923419125297227225297402570058363149152366426899144319385897261083925705128839744231945077904574507647520245595481598610823611582670247884608601314656405450397974530518684197544915551362256235218135996559878311454456409543207595616021221886827294361164173960749324428185023836723568511869195570595589490502488888333522599004614559841914386342044233851867044669975238701986938653905668600096054492294415263966161455900076072847559018328799932859744999940789303386891758671192071380599577370019118597663680361861689082070241309635127984240512564725523514842512819732513952787677392669656136953129860205897909391243181141686518963674577086072762668270215714612168117290321194828369349744238961412691432954224948998201394690125827942939052722615763430955206153374626370042329993960632164265441259682803280932818298490583561672583879199587908858964732428097200123917927302534214180829053246670875367950239536962480181068472913407130211370591986251873676712376840405381613997423127807361406704709659664894348892899181699168035978473527168069457303347545280798802145300637271232871944942610436001281735650035248515151576955718743055049034014369223453286134139415932808869270861068044096402394992694612783428167011561546557795786242155342429752268596816395601078006603439960887654960784939837056640308274737743525946013981374192024461675243950402148430808510662824607224872667448969740353279471948368918625611542276649280907690227524690738599652975434409657002175813352251943628411015726951676243625216016426948268351230581942832922150311871402553467271157452233643681789310436421150691474583156170009341262433669988562666943096478454720892920078522281944204827907985556558250261672184779572340461904170285685595794994498253127934378337470239230072688637094207860012310362815996942319871608671463770540721399917937720964858260282041364925873858264476980333993993909386773715654552599196399714034496440370113121270032089102551688458743377811206041246191913743039135711664953950450472953368873009686733105952873729823891372521869706918479849947265905762365372414548651279418414866149833425788033837865970963669659940880913861297679586409011698667376860685223170968211651692195566889398086161771825622375809293953126267460249506379366856685527614459010830038059617650243891458736404255165448308550209961660359050768061003979321157152698043235831614753504235061610161330894347103899425272805274529975819240573242943888324627626005643902675082112068163095191519174613518548090438472437108044351656131498853958804766029714383883842776791531009804837912996734749188638647281269298024676281828884106414398805293422600978966238095877121880692937921087563178715248192821102175317806397309882072479671959566026334826245326594660170493825729740344258214521213947190555550501122150078933735968358832801408772773117135821801736937742822972851771897780259087537825386444828731884983194172620561505392692123352892180548640899384533268127609831206533249878792540425825286441000530378544559814592032613706719518799923108975577915082234861742708695283885924014650373474885457259188026072220515712371846666194555579906387365361698727832533830417436458689865330486498934486995890483752594902471974849581928793822715127683266485094326350035402819372944994001766196979400890803759077677094900106779424325421415388597096202812222308003295241773196458574059395879817039905065903331537776137295972810782344789099901519330512274883610091202658569775155712545455062746784675667190792834451290651130699779827723067378850247979335099236447269406519117965749996210505257579021221479701875888834644558617021367117107740891211276936579670109400029988507755377566954571494254772619569522007700420226549163291679806663094963137502200527506580944247481616257418276505790348326451830958791196686670516074412734870638902816192731414062789175283403215768570339981291254125721508710331952208708191343215774412136121515982915268708123947863892930588591009005314724741630671504093848161586820121997017944978119085149380954752822244484666261793397369825018517287517240534494463836591611599935153271529660632370913452041840831228886516382259780297001507612252816621560612227355094449938808L,
686179695147160935969643439025238691972895426483362024188331562562766584459207129755570164277016915129397270305959750254850951808301840675497538949334875130991426475497699904565983237846521968647095519366521226809651724137131034198324593049506942056684673502481979257474351149021294155384701261298555940394936627898953817678254097739258913629055956890177998374775507835879892666884789870831560561721042486241891240190261848615749606630377336619170710924567888589211524981428288852316435190362683279845526778680857222251734275601178636914635740623026900103765091814343771513539811211779203175155882791167264246003369032720914646742238100958810933601208048809369641404728644377488416896412736537513678758818069320133449626150376232424799405424718189866608549451012826130855598309002555746658670614030468977721264992540206470132487992095702813544504304614209972991057590949700783433099651762655438614426099445950880211028340063552690229914650921674912116259219958365085721732382020018982020403736830495771435234419826542981130887393835792788249822655168712256557630926769470801683585452598460123910953830553619681311309695879859221180690186933394005106198571971894527302150453752081194066290626121618022917875005094391367697965922757032312596028463093800699479894582943840507375671050547013467416000183860049748752600507526979504636144595032434311138067713263810191496116063366964850172340544665913475144832986261437577810978831715711012631220681591266626005740214483543117892376978799072977399522000362181101139772948708258643252438032813044195440610470787254504976417213531252266970249179269193480178324217452163939223239643736554140323425924385376839866855320065144243135285533445830227659519131763515281120578418721150632443592938414394558673264858743002252732068988556413369731183147476319422824916839398072166430478816216116725520594442272233415789581951069600362879569373969498167600468745960158541845857053605909783691568759575993595320673152127569828652970931269179024129492484841096750855562871958695247926064042247392735514754927416678122791194664697848155127756129885393292573341995803889307275054289134996035427578179608476151151602343273746000336876047382380285815886591805530107996647938905382048750100484982892332511677790673624475241619793360997503832896658334598557371919492404660705374323957634089499529822944855261537170197759331878457351624064303229383108653335936192415741766776832551814941415879663808509625723154153070322448892665947262750267296293300034433068553191696459816775027702738672528542567723398386058882547195196872273790981517131535548104722748963934236749553148135604639130703110722434329200568501152947505754520269225551688054472243480401566782471877306598642980990241826058876617547547342026527708221643774305488624157190424999264715219754202787280139856505079965681299929884735748454616954039543466100119923476110276590684040155244894728719802688417732051475954101930178916754670727437461168812662357401500118259755384735118289957647970815646916498622373649685143897411590969302425188741831915120062603529719130856941252397142611543581450100122507997026671649193169368504955206745445981354910993350757067998127942506803252199243940452862129255457579887104270161499352407501457948603837136747590947336951227803610974400847881431364149246160241162245642582655809204681351196367310978514793436488639731125283683878427108866045931613416917982203899104012612694471586385087634285383785039689005572957729332097589825262350427936879697466933046179118144957857163345489878950239884369099598088750480391755941158796261095536535807872601384585017675450395830948536513868240911873205340099402033108365600814584499996055273774828896170530559035170440602888519030273453593750595572452666648240248273244787726454044762986368283268892527820218864259768676728475952169094216221945336741569498099807154328043771369234931438170038689629912448584702498630116500625456237199286410773894845821654508799002382674709278526328841686486717476810035962995452107467391347748684067469900434228618233397864004993659449119878169299825620997496119380990730815739183162210834389984948668945109783417362271724361953264660224051759194818235772986890301084870581581998664695467249313145046660440395919137394907035409814974720150795026825450499213604809912532388603563854127579990594253880236722199557972612903519356375910632717708255649888151033208318549065765391019767124583950658606175755042370121388457609192984959232304672150881434811057209750407515904201249556693626085918842651627772646427652210610621600733951598070695129012628228464307171655524377927668776508254930446219065150971036772228317598450844626307820198338267222793671130496895452337526269028685336738591870765156023475060061928436969416255458705782204696793336212163010622943197332199821170705883348311437936070373708311723861117093735212077530946194042981883122777800799627134131629441768248488537135481489231871646096679931577626545120179773592931971959725905976023583359542972487770765461000975536692279514933503925704601818142076622954042365766789254749838910698034765563861279116696904958011297055924014033781746523476299208020679190486604200009877953253667914083178105848380179588934944604333131069153309650848173951549325766018597683409930296439907508486685733989535311471381071170775175703198996018456882034721486770065554155347800293563862760168593106733498385029167490272671969287217870691244787781539163303714562715428709424525597796848088967988747667453165517600057531725286114018022246081550316153240656504482608113332208676329685240761716677291672940731808749588204400340201363233982105838369256165238670592358142751540050232165252468017251422444594495624974014906630181265191105739834231291307458519358306224842545468302927754671437476539653518332761739362927091011382481169914145420472212303478184373491153457966035197245160469862579004610473729562752270238356977617947215111701348927230283565713239228085390041159509548913456513224928325328568235337584168813491088893362191644180991793848850316285972818308622888602036973136159172202148404848251163062324295745736123478340079525966512471377663821063540446077872450232420869078481292744905566405604764434079844554919842468031063419606703220925410314872094598167361864155817667101014222727756550677165717843527177007160086196893063341396070627593603984400925163361130881120713783882015935256514144349316264324732805424328374370633529962042L,
1125157873646799521788265876852063700967724979348549193225241727211250103567960838896514110240478892452791460951500190660658898898007654248324913661448551518729198850585441662712093199691666109225163537597527430814195198428490417490358221742074155406612757609844091051782362834289734897189144936933295082120955850111952205854430023789537368044599950857182627660912767616893439909387650911944200910522462589571644505247592911652414389428060313328501383448452581984280828144898604840576918456100118744519940540257510413607589463471560169783841271510587478755801997890230666528468787542332360745731653815587284085886136819246733397648640268009179992775324390772168249415588637785116185861161206042142731260839205519121652114988455794641806455460575401466887753371434774091261147853760715959888826202656574641837343857384787942313666220833972919103812639146571136062067811376218671575141786612322077699576794316739522663938283406554907778481102736544531706482173746798330480744988165646406303705451542654057872396598702934512160542200476930773728175432444492720943305976646947028358338592365926606404523879914770725545137485813912002350481341632739249454148859657172800105598427295647667298807098472972423208552262406018395791056425031903965818703302854423913465921879870980982797229996852390106629581546163836840056522152766597096671516979295932443377275358138044865086600404060457890280778489051721322579918805666521028854517218636409710138147687041970142315298037855497661459728651458462456402642526573888904296966251096928460187932141602634057248101452449918544427461678093655459220679794717168898682750541239273519753883271287924141056888378094097757683384078872351239181877422672165635888624410608205091831375176301437244242902664323954286187768557546429689331121195075883721146798249544466264486488625164456690748874553599582396390438886450279472085073545191783945955340845553056046096623927296700400758187922113029939719838706794181252398553636041982946248012908737235969205548345510598360875640994366531793265721375239985551027116078675370615773650869168866350926195697195803063235298634641807692082801315650074787241637905886485643737637741127154511667871450193104633904228286774558625355178011607753241570232073636359143213676442265844172289615530216739024864865574531704003061611459221769359976116866151960332575609780548887022473606016715243471343919479227747129372588708808641774074782488889154131030609208633696928996477727101667239198126959527339918896455299138033349768696918309939303663400676796387232530848985342706957974084844458160214484837942842086366486147472239455874700182080908587796526583238036436673073003188970035614651177520701172319341473474354054614177608376034877630878333041684825062864486310710118758955836235332649924595161218190662745626689770541109623957188846893566415458712424859418841737738125493927069092795784734796313256991528945981447595556791488010956019437739456997353665893458464213207136719013231949339666039818321552237326504681411940247833306136451965495064456376657089588824614182098482058233775637121481215547593369423114481363588910061740648739834112653410591784965570887776913900699708169593733561687849066348249512875242952262933393729264821167192547397061121225972573619254679787670507785071699978810927998807810860410943795712006564283347248051984807026942511715807736539761527901412215004384557185832688221441164396503496278921842635703225013673186846034277628293874323452056770441482574527482837128982713544307384229788695737667891660637213821319482636711543157919561071112702937917267263489054598277332969035862422982601931124237239602338925800207679279047871956407802538613396320328906619024874491861225320144808094471636580054692696430235932650433088681736496813762672455147879132044245033161403415683950383072304860150987307076802886887838058008487698084217500097088242909981980590140187993444658448916553781403977617609350806799001267245764617262471030448901906447303396305156383049032514743765309950175886244063819268829092489630404280718057275497684673662512276001312645066227842436581498923421982259321566364487449216820732208286628715217095699034358174030739901302297757394369170775978493533444731735247368709974204088321143331000874103185730220167620559668871507858252463898629675851557073529337410950793474023875599556631012898044541349038806495794619969389665896986405488459297689839889142559566329468884043386636773394243136140270286190901321409781557802876235714206873118463384762944963149540613876191972312989633511077385986896422105929823620725309128331315223622236386117923569087481051977260723609897074405121938817085174830097806648085237176192986224175381110646423493836413462935546211379830107569109624390824351218882029993483074841466833431921967992365238965812329636230426690318904983144807281005967737258346250118051077918287137865369422939062347941880693105616176201758113265796671338322821673012128231932246682749234827152800968109195354338446870384270747112263776427305151462111719342137906449004020601325486927756664544423953740421747501956502107606117569615779246780151595711425776005091909414308137326674823472265973950087089748514208511261070149978503524134254200551050903712505451100756081019056444876398359550786972442168040573567210068491330669856405159198160503106670377069419565619681950019126995264021486638567884455821060357245077610131495607638645317242798889183733401794954343809435067651273184180600934710674641891320125996269634193083867218101852497954542118876551767064654168095618988487914209220093637696862070761215953705291494312301884137382084907488055753868627628813842784322020187365053658084686108464288200933694656195893444258729577940877032236786530304808254332166818843776885065805793270630150956651717931403853975729055514346825252885287521018772919060133079035721417639410182224973387839198260698163220492038378088971524627548308485091969894727608950850763262214279741281264402956030360253557662571409316267258833686904829863688597524718966531975938984182479943427998706175271437521202611180632938983463247364175852091648701068461172888605656509084738069514457547083031433397140338577627766743301602052293432580449000631191991456921642173281877504929822051350445556463000084283134571684831432500452264900415549474105905055135196017321997843773171859197607773514497704011705152747839529750165689081047271919218773264532287014973293313438277303992298500739160315683080L,
1844725543185941261067024793770124376945728420160868540616276306584300244299312241091756516830718065219469570287035849852391516817748805997592593472706227777748590113517015954775601998492937142258236679483730347522409733344752254772176927431355024310178996915894012029043639035991063527281905062007444522178117225674129722894848615627722928637260012482989333270202806857393993105986125577405299631485806212221022220008861648703305378926241635287915643056462107844037149901585607673352527357600433807810735840888052883946244041277310297081110623008014251918908301266377084637085785947322431463265266642395974033111301584756514776351172614733176147600618784949785567354497716498807755060501282802557712395117621784908159178672222507473507399695242953482581934564983332204566240362234043222141038253607483286699138796113898388086441790063796927289351908246220435476183688953709001398575355925264771991193490489236585245929719555413989123997201356352011897457065896394628465063258495239750483834387526065267111213633535737131215416667606326267260146058211491260958567081315305869595508405854223528180537439124168785560110680423244258598915429570116893183037806607081280960311114535609198459997849894867302322078347056805520896442072818523390741746551431969778269883384310397285362937910340602249304650740844990062021528486824375123256162232460344336441761514101680609095877377809187213692008724700326381570941197442462483528533002922279795029151005878699729811263582344707682389405699399530533301419262373560662999912947363259650256230894397964467305859875076882050918232794393832934450748569359786089036419020007436534221915712878118990788315578907352304667714109714596563520319328895733525699853231983065505017070156089977058708487909140029742266518388014900910314683580182968829404973638462891736823373801435536541958577488198597674158576537145804875461577438945690484018482418332245627577394022624366260327512649753785712345344600423373848053377299407313045848220528111572826090166395751937228418724370332132507517006230255427759093186577852435370367428655317339525201138596707090966471749397952447086003304964020963059186070655825613102130953104564671481333232466446254617678002061274339806764838051514698764103853333297696017289242684273418406691949242133584053310719994566816018086423064114785478711819061642800343151775617055885180471891915297189576003052259167325220583975770470988866721546461163221496156743689461114273409955115417211638526302494866853463095872332660400106004560103081979464417240210275443689934423046259503957750784098861963623264283841105435811864700814201731070377009758539913570325533508133227723614784614258430916317813190148930597562417997708649792022523205232838183776953564809485937039992969241261670436151716170140631721878734804469661023851342124957945591282867067939090516331199384603020621771608501519851810514322575269415321549893405394488574916406683566908318942923372942571081836263295525947918810975038245457521534913650434398275167486827000107908775327375992432747815799339034360808282302185072508513423432064123908140741542346614619574112353663102927449559324228072156307718374466957635854392095372787552438432075770863608522333080518854917915240324036519327965221096533595345385390552784213633039978848593448304964836513765420113760351790226953582266052269711447415393726698294522784731154268581230974669938734029791939045079961372021938831427066748551512575580082879952207921012944436652356836993139771271874596413591375757698491522282151650942698730260350406878952206117561676746466863604104341524657458459893589609864366165577482025033493462238392577323272635448047062348947130327610873789560558733118813549039286989117617400990121037823218451187287746958013864704497202409791327284855491819454355100753232077862193288557216480797471966194319381364338811783015834161726634118516376614463208434057460755818742992872998538274171822142799379883491905519631187276532717294857035099195632446922469512148833141029044276727570618906253193765303130993985857968606797779409115593963061684749718755983456914504494137028521247695473748760758074388514021199501128130577638494522583292983876186985084220086580839441974371739774441158956191047853321510249173966581898129333174125483334376523858433445215625871234438817752137542239376168069516295538136259387686141502595378739833444505760275952508028355020835139136841785667768740121589045295784858372331395371167486842581918170068204130119955127691421141620604619736396480802124458116553831235383922720997610109909201659020183185379666995503593344429035755500771354257098075343070191603308291729066588771216097017750348505809455591181600931171721869972566763487396671181919224902700863965754865522842585275680043423581429639076201781003740731241124744725596270310441195102331255137464280949340589968378636578295455834398501238359374713304022985059824792293752744130153948709766694816454433090121620105642715618329971210572881371544799904070263012383067276790512306307198873831781210026314200509898996770050613736388911670131030052701626208413612395239992720441082547765379178537206547645919741919503869017387966169909987341018927293462455215588948100734312047537557960526033478451979155357127975360581809315950019863875574146221368483030915714846983397541996080407656413638128555845882349335399369014388003712258538200182603387497671243717426264107492136568546335745041136799788612621254416221723640348099215617730012817692779159016884922646014291397990991089019117857854947681320625239848466132413978374480599670301030436806022671619955055597127953241646837971282655092583351525706731782232157697612422863935677310250070096753960600087215208330552899246630881679766581144760168027513829564810408010736299871569181173717441287333584240990004703539515512431906514267775843613050391022504962013087378706301689305693348053165724455853759057165014256721774799947903774182697412894247012850685404859521792664073032031194042582311720353748043386652056123943606421220696888988988712110830376273706930536693933600486498955493771550804964597579281798576791707284014557118124065948753005244542824326783401628081855868989280325643742557950425064835463813585793926278057452714721180590667077016825991133814191996993413710928527666081375484886419105904489254312428562290495003478486297381259468508622617838893219609603639288111671902441287250224607059545240361160081627977192995260394262581427417075068207818L,
3024076601766839678129336086741831034862971827873095470936921560989844742315673757701076627160230931424934876407448543212226112898689978691130592145556673988954430576618987226535810722778267540152825074576125199654702635312868326872851395439874155465324518940741552701326226149126691768026033370788894217120391924163325105958939930183138177743459856520254608935566435306292695838503575354902800230790372950217172868107876171456967359516035954596556619663120478361587064957367635713166930729448868662066905721072604876923883585404987785289779775028686206527824758435890943644585460269347295545045467085523144421018257998361307066791208633174450626424908044463044161229711807456039539014788311434296045800703914365573711373526892132657484120483485333514611242724730241981244054969928180970974712465284130856772645660443539114471785193604639973463390274447157266188152159888207605264664777866414441148711139635263096406651733366071579531400168737132798461498330202982805128177533589067459839100242284047395163111653209988514206537095735990304525049971700521423888880172803243152527637071203588086841360945044982169165900591887748459802663180028475065645293915953488614998971268502694923042846574623728348164945818687791434340903829903377748510436196652950574011654493407964364411682830534544680596561167395916334032026821317986362542160504689361830030010269932798082270923735866379962200209432052381610675108859608301671642223431793416275939479198494261882236851206182224248528235696545160535456620320642039695255388938995967274889026017822542470399843748670917165973429447824085573068728865817626761203665617943831999900215634347939493922735762854832435014957813538369736638882066587599264102272476812094684991730157788846905323047710572861536393834478425378836812335132868495424088010817171525371020006446920603209397572834234652537039123490719880103535245630043691818566834752478025589987624578768579626051812753882178838996981962101799075029087022813852258258350151818254476223027710345817564184246464455091098658374059755546890285875393831818527990719395472830008682663432715050703463417099301267144574143003551329708632092238048133085468623959626430194485986375269839530385070726951023893536167647111729107714161522002976778201008374416728726689934153577248619347231022370845684839267932882519619428085293006138445557905138148668490662349668429771550420213504926200706176609408120324130342082618368679149778864017308783078808970981386231837411032967410715903627730887691790090907600303449329415170052800997939847868848586381396831886104102500750038245841107405217350143794468084402452250389105186078804289979277757459657727222536552315797804594382394511021932873370360635011895510230775360537180345347588528827039710036700801166057758711230513105000629332557642833136390916085789285881375775011994787817070971871281237689883158768079499810847543783795518288101026816842087467351646599369237334926797470466362199763979912923309716430003853012620560986663227231716221404264929386656951256221220049188187096999794732662898875838349502230828365435313047918584513018773877664118808663981104112062793773674580736958263036735133875194126557302039942694357861712613235061979683531514464145334521928812144927041142901034536000954593641837899950851942270292141743112817194079428011526812867536089867160924870895925032404446170780055181543606430473197287895709030794078891509875352271248423594952733500403634375469862905338889620384633940804273208719875721925322563550703459856201837036697564438277332754658307634220636321029542491621649963295361860442471844248181320634970918544098312416117608893310127420203682361032519881507020412973966610285143556909417482256589616749048455430474250161292590562668056448251653464095681873833669503243418572289968421839756036868834379203644554527089723887138222311669277412564885226326263178726045814925273728388717181801603384662649505417488591442464449888282378452990896572137405795850030569457688203430333459426287581180749488154194294772374134569104502071145397734453205933632850004265878219279983059400971791367070689519075269582937405513430517237925983094449077256165249920984564637058231011423620850268860314952644492828758533763801412236511285544402237283524292155703860754642035515680652301093951910661079962827475970167535400620484603721332753741599412021814266253825594923911315374066369059573886498979931030925987753024296229637874272036371783890502795049641804190804464374751881423616394785911084745629686497132624109040688745815628340989701043220119714312690221337762494799621713904225825795878549046070748840421499111630027627715520224589381017142527600167754663231902580875814175599401179388828339778436303578102403778152932943501439052938848845956432498674723295312472804386629211314963512916461182423967679330694672115926878006023202953771394109758665231826754234853348184851981723728374886167122506619031572899729491144803985188836042376874661793574028995365515795197215425405086760751081742784105734996681613958886884458075688728758866294540343283370911802415938881383639134780141095280186618943621593601558831042270135571663705530652865325582083160415581095775427181949462622831901092827094371363096332321782764393692668402279930727304503795194426349537232589733554557482193779006213682711992333588966373902101197240319964146054990384750251308482025550345289009280732201485220048646433653770204979978724629722037568141969247807122122502497504015046714574157883939735274355063210154728391445684151854720555641321732025075360824738450194873082123105912712417899009755965889651688421826802030857336164860042484016411018768100599628274267756893397614333025254025329007826779212174720197510318911869051852034194766282498662916569988014671396726110461781889774031985117631563318774858240041244369246368072907223137506292553995500499440713451580009517279810272066214543143292559718860092261362895252558099169258869736167272767898115547921871897360870587576366009200263875651114352126205416140793164415488840189880815632297889058215444768125986642754615133182501958460446824606827921029522439052217178561256342347910970633519074906420403721936587986892982681287821376482374836556735581920192849845897075907307106917267110702674020815203631902387637685539295994782937374382714150844287435927344136413859515529410268279410709030347408813361006540980686402116016673386281456347741853710929854255777469066118169832077018740650172707054739L,
4956744983472244042691585929072689117824081102995671431918563499780004931478300745357359303123052080959436152432824470124317846927591497973429880875583079540948548300803161292224587603120912005838387478935842121480061382367443116528020453181369551894718248441153389887816249391820928458466235315014554481839887211254651818576271420329163951278771158139748100044211405994314077703542345026427667924082376921145616625375937516260766970109426453208103012380692265408471005076403580664680538631947517813068905169311298514868685462230418118381265546025472673134945487297354380446016963991367671575031133511705324346239524741851369331502501078352643259950471004607752040254652208542941853364182707323649940066344829655778496981877658332645168049400227463227778185470115332929982566720556737987099182476903145218096462507959269485081307610959379635316390911087164750688798038829156723984908758136009919429937866199886739007141223492616068263906973137949231766311271346859680190868103935492461821619569920613797478811715733258158847773354661630300326254528130206297993851986700427724059126759481752659095126330225173383073118710522944419654984242565520352814179387122893382518066450656642410519923226817104292521695842040402907140141578280719208765703586778327228342679661645226246258958113385115854788384756150156952927173832807990537581697073159219541583664274678410766372174540050389882511037000438759442187309062027921196380531543759357668108996171861769598163811254148126617629950911394892623399755092243224096794269771759389119896554039259214623129119162386434173493618334555081264351978864971639519704004449698805425657964791153441277572093243876539697010902300842885552249822922672447542411974846469474752425592776047185170283447373534825387823479995974821826752250363069330671171216087719734620916310774796072406509263140538128198037815965462248384142442982913644925059343159554150577570667763854067425553282740973697710791623423347207488514082261351946879890278301491805387367700565626477035167206626072851008646827152754419120039503071682365120543163091063228342456218209106983673039322362243713909762895827536752789558809956848407871715496629439789378454517400817757191598465332995953385147961460913360242811204437480091767783919091314260666842900543830667059844532101177760909277406877222484020613910506957840780275599092409903703355141414513456386417426568603425980854597406255661580011467017385213498896765788204028970932849084815073799479359216054818078786549438383624840022025244401176902368831079107306979660881978562411784045862826655755585267244505077476740062557690300699497055203482917534817107978358359596442368057770395337717363689061769196316166622269371111938011042210883457540518569341818022949501029008728838213401074446197939995619519597236647832370985919029314503402192389645391788253764589809404046399220032150584584613595245295584724673758802833749844093178272740873832010026195536919520327123409178356146045334076396922043778198595332997450920719216809858894372527000203284611358649558319889391069147630730166846300738569591826075310662838310151409683529626240408858415612786401583065347290536464509724587365544589328583832938411997264090487149851380165972315881266112740208943537144612189271077311463923476696802710466467324324070586554734531833074593564193184526012482244017598006435392326605949838134882585622480480593361306297085380074680365939160737593116362782717555020860949591647829692075828446594416322305730410707529845481151902575344876493498025409219799386657222488474980151411827099192140118950809080308174523085091382039797336443136562365324945681428324635633893648993294571675118593813750412352457367158754336053099797598160845485026333004799815988018784641813093491494415902333983296717436444277171606474162778085435600422768392600494899812195876647845105647745532944375070309959555690202540604558337129080821929474089499020246371029933837417139942762438927423676980193869715756726526429850741886930557473752284162194429450850772335010070011884840982322533936532793100925951137118686056585728626338737203856918052997122349983750457361250813665371060935646133254333497478370678124836719943671202771690523275782922068149307175127499488017914693665803041758881283913647779045919897001845578562372605414720587263170228061334375816742870713240516986710401943839245938806553372528797112925250467814312203439963431934422705711582528536595146798628158122774972586557142188059762479258563706440403502774524596881066743433713684590948133706491948904123697435447540719108337493629390068151685208618630731914313923680896447220534950732740095846462315619846557486100572349140842589534882806833767112517425712376480015019855973674098103895185251856567884141903055789942164630805706467877626034844764339763853180614281826738270257700964616892536239528197051055986742319185722928370401496194990444798993448725016168088459186379559806452356539284074439261300156600827314277079264230962985582062291671888562699255011624754658137807570638040101887244632520181720268763591882430586049307481919671001488624891097224348693298586899450244168569462489250235252713705404505166338515654396170951199426511197639626430386106266870668976720113383168465444980554215527825701406776459836539891199249445073240852114193129945878556069976112909754944645071106215775029779527284637089386244278065545466496338256066029520526483411979783561762484964373901707415510354386912204850931813977552326872940480211088839923259348505195279029229176557008984017415576105631916572064053582999538028963971190671269809735791451363198381777744333302355154150943575095496106966465927783564206115898306236125654648328680093912240955259724078459040714016611214818077562003069251201392524222226261346291405613346700510303581921743346228213606280603628637591387503035523807308849938408720511478571207733376827179497853136860842957883991582384498072853084403727275015295889816769578141420534056268826972201619952536105439081653162852491348542775763996838644134079657778398859356955536167397272191111030554417297688464200175257126438836453770633472163192490250917261611617311407205210737314495226459958918842545702468662229993376599878665318777432087336348535183757735011674509743776912366566013808252885112290800845622137277848348518220755653311912697000336261022518895001980347664349617198803903790362919527538616716003727468741555385523966776161453269419891522265597730078993948220939844038L,
8123499479158133746836805546517438310227278178988274129780514267640278963938758394151938894619773381529116382710106292623160173716446947701677235599169618122704213596478277142855364830452118174892767901722628944676340215748937427800539761939844043383528587228624131237950348950279739508962652591748348971744500435880943221701935464620322113024130347559993538194618872275389791835636114330518576632627002159162261964208111754872362459962298571288701877036508037217977083900041581671331333152874704795670272158495295283986681310748231587198954090694304968452822264772566935680162821316864343349716099341632752550254734144736670101808845130984139168432194193683162287837461437247634667573854343264226410533316157379383890293805668866527878566919234074023844560371677974031481585523296678455312292606458335038253723794277144025212014063817357448120438130435590520755043313881131441342333850301903089365098860728583866436149722706911511899785901407794505477251432741772530815255464028498888355245745484801064728070453757311444485656541351607206868577344287288874436053495081417764511822382820447647281918398207178146263498376158989146700630268859095928087131965544217895626379634727489131016426207414484923198294759994404932109435411393507474610968095486641699167269645223125173262711034428842848886883863979492790958727313999569053327091526420905691629751251310622910903376703814375468014106527133539440303412183088069433882392991110060500607326075019214666141554368893024016427836710811833719723223954990561462246492128794669427004508636348765537698673489531109610353997466600393480441866033023701149126165015123495117074824158872508795847007235565114223640584925386786736632442142856838053710889819632782127643399561809375028964965852121441018741950575865017185526111340282626185831553981005465678484485598310254589796887664893061156853819061648726574671734601178616502495816766417870935742143384824178986141805053464883077588273626060296699549946486336830302526546377167860349560723513651248414637894366278557886051867475944539178958862622898645714119179938882424669819261530351634776710883913817188597046234370179684298908093229496632063229045031603963957902515512987015710998062685159117007919666276841242331895342013584653971085799950270710769666079916293992484298233159527296709352970503376359377637402025249568581611689047993220785658085467846836255054007688493179491174447537914981871584207499010259620830527905888413008455967117524652473862076579597517452368269378134712354560423124606215971882760747285572113135980861129899260051703779471929483612886582368635769080857405464307382589437382324428724842880216426665679939611043867769015907310368022182166342048287720747077469612996770073094922306673676447899039346891367961446761213659354800128841029667317459697683992935830941688180684487560086223111267692105020190471045845432089983124118004512527450752354231790085957558272456767717058281262452172336063413399292704322362912409422337489526975453145511590087563350668941191916421693158300189607315623930498480592337819332528839248498732778973279666414200455636745028984325205298092384495714282225256813981040242089255331228614743172688918001980432922584333182703714674111807602544874907501300396561467351104313229094946756336571936246866401374879164996512616742363184008408085814848305191127178974211085616946489474947428113399450745720374095871600932947442023992453499944577432472231828670045949804235941740483417553648226382833551420568831695881259568139598452170056093499348488853465287647602161304773928771225046762483272781782576757905444378964105224462482057567299558311015511540131624197655848027785752927207092946001871997835085348528813629045838921334879599068392145389014545922833738171729570055481759114946752112738292923312281076830621323639865486089341296516727717224012434269175136419036009159230326326370378685107603021858152415137684143664837988883344611562486017306649364905053786228140570890273972265063473260243628185131069287696915443718031599857719300060214954321018564576008364693153328281382878797993636980505821362860419503045467940035918720455648567319787972693319747072079074023078179148707874364736574914730057088342907548047613582053634032485551964310887002738228125010582468068785649154790404103337014860156113722880265204924600898553002784202847154424624521613784081778040303362157465827139552023090545779936841082960739600451424461595510644855942455955509381716105481551250237912814478013359855329546712793423681488515346706220253457018416065206239357000764931385126374886199815049385636388926784104415909595034250900283291330625782159073489527977264057372744652826003543541110713193726940090927056325670851976981693476634917578563317819985916006448739565438417498501331881720774558947930065189013792766850624490079052615320653148086438491274735005301381304792973193101050335149357355621314323400418406184422487571266682992067971467283383503612921394238952479980646634096978381065129103426038288007847494483648216639718219258641860599962868161986344840579872732269712825973056392418826235743123277113496941105356773000087491257628270623944012157073657763715696999333693586476376117200579670711662441317614089781456150164946263569505321421394919063579279975842802490851276551425486391469869754970539821137200824073820826855879464554762154692977194454782292406011940197745585249324453526208875119062131734237583232987979485104383486768713127903183291911268811034330212757387157739488235041304233402586042377633327286458759635650686935604176465481852524680227499021550561086961112310888069749930958458462825594782634728908471282525587084191573203749450178834877276280609708358326301245114500544672148672642692517881085400535864949927911807753193217636623212330230065474905914102619514966490296700582529677393781078820789715074619598131239264072864620724983334034236989404326972653499063608343069695245557592172807359625509738507823687719163737761075458632372281970673451074683617858107586684243282917913440049588124280967666205539747202458594037957683028266179134435970520672454112837837063997198936886711881498651784021093543690865559805634865178921783338233250960837581638347545187888396816153567346933244560399737744742532592655935525766165728775129677387015666606059328575175395488830796756631327641772127231308446971238679869554168384589484030008053497316542762027564541941643158532229489755638155726718669066476573447292304437425436331L,
13311670644111477214684540868531210178945996925014497868241314207766330809083886195437823602057480795696953446972076640950340851026083700977586354083332791970920914397812890202880153598299141022910007421863089492689475229952994320291305433006399366653678728971229437945144687408380854886899765524334650001648419940841260771627563377460199391959145429483060678944122359914470983389932720987358612705483882487192011426790686976991351857442670715737693088505873786684946531212498412331050122832542449045677968744687723697031730383486912847190246635575726297282617912103907364016977504447811097429669025257373220182255322799030596224798028100078460476031810073034523238713173218920793633610315865488971242526636880443165122364674254030923553465507560050818183417805780336781520075630850849465170771984180151088469699180373588146285653633495186081430962014659637348503100412041639710590547013771722968396448397605070257489208267686319018661742426246351394393420714265734068045176470264288522869653525720805490672668080132458456060916752573505532283813574584272808864647787251715734621525840810692127959735882993740828396786961897657523034398190560916736608680734659988509646397168929312430473547546135159189221406761978132775077490781674131371942126797590494270102002153993959573490651092272429546899839258403251396108079683172168736627703930338184544665945461139614402165317472212448523518639675898134062119247041998398671538877322054280695493775038331469604422147674947689617310100779883780541383494769299204100864621544716913656338903069727233117410110347305177437333450722854097490394732913947495039528427002015382497250720713833160922021104174841347352583971262637569413460520449863657315929938044840881551116370791755821940632360019779029138473638458912270250789097936052223034500898950656869900251508546628424461318450382285456984033165883319074689462810356049745033229971156582062940490174683032821375497687235854243963058693828719424325198091075105543871843952594071963074500132819803390983232678378798449959313038208504723040020809122712504195342027857284018055192183726812725431083041625470321580729423901365551102221587588176529624480859280013595432801286731371459574944146698418153701397096307209215667521645579483535707530843646113097600681244574049286748672831553795698248548695962618445744794602319538732618497764230432886908205796026459664192590061305372979953126048679216515493214507927742724470623014247933404677963205893052811173401045539441721391558635744406574300758300534187514645212273631517214566210435330755441376940668303529163056844352282611100304982128721263802737309300121435751523541191369956204624595278760853699446188306153546787706121266986948630622897495936198299488194523250564807603710153411773558481765718080404744673241184965170610548215435652365100435871580049425880439986086051462626973234144608919685535420030280620875268630826073695487806801669439742179673539914013151336772337572115014945638764373823642649805986660423797319172126496892723735149316147900781957700780294190299317530566907754103711042229964712200134137668353912980358195732643775679661791642467750485020242607395987705259682241054019271338853508275645647905402060887067424758623885330485526351811573710643637301397478322061881308056968112923457419710355568819511192842577315051081180953176648452380137428796997142162065260223665345780622641888591773263038182964928829827256285570011174005631381545755630383374528479882856000973376967352671445066734250457548309057157254725889207654234819900468804404786398996100128537855885219121744208535941317084833185795537629629820030065079832707893047412322951358503036110933071906126240330521729637897478442606319621691918732343115744169995849486934239496870274460584768257880756923538882581818845293964414277306949251166451618242454647694752452362517687184626733371246710419403261461492276494976514222362362884893113390697713472711562640500043940680384878515922802785119379661781173297060803807523684806293275109007595535088474247786424956575234312771629247183634883816737770209960737143042757264950296430667238754903737954568557544079368951973437194871235976903335042029986962587879592505679568628641458161190564358847615632676547315756622907554874063873920898975973030929074983010900208485597869218379049856813370666562020141221500911695523618099459585077176799487072184269324141993064367353602826991933257057891325482513616880451328342239335948317641423307478271610086637406556275002292153513564514320866338363214118276719477668745879385883603670275149568328771539307692854458939144545292219610665350057853534480548440478369898212350429451894634465591879389011912376100969953375455152634533419353206086337635664857655237804513824104363475093891458861593333723647655704391890164051169148826982759697329971304245139653230578779621806477908917573736993309018756313588685352814196945655489526667481720987547507980868416648654469774175701636411187526021274284360061680204205197349505757658464743632440509902933276275550849273768649929781838184656476870489532430817394729673546136252126427659319582193892425115670515084496680895902005039098180970042610029565186133263468775220809559093431188868503499578657826298872752715020796474014846826924271958517316563143443774182693239560952697392754249994548622288588055423698120525250774552586947884685417731218344709947480376906570111288834898969719546007311009223712842644557135432995530753778215333962309450132879612553724204694278766900491918194281814858195386916551780480153563486682187242904529154847025264482782979960356468062607828362578020280299815350799068712037784579450550711719053759529531314997948526001155241372949461425065517721593206658461321291343660644342781415269027979799180499252121975668444671793097743789068639430637897296281788461272505935527146723578476542652340744959243746817973324466999528705313247789215702913049414801472339933136955815168081485384103581014564465270303355876424665885657628604532041174781801485256697363760852802833059503703872735913869142978213776942230519740331614453457183342082488680368287269417370361017532074374543840912061975318063318871783485655298383007199296174784039681906764949502355563186204761391996717790547198772051724252460107510857839051025210672850900179751005672360494749467679071366259115727434683533999756202187192081429570312496212900055835812337944048134973462219071922827988522559478058917590778784823564212092745904084615L,
21810460158884061724660437489261465143680681083572630937511506272382445789450226118461318983137543003288016330687309016706486000120097826865963098091318918598202612655025077712743768840544648413662554050729085022967288491362113533555744645342025287797481036522372096715007964977817502330106805045653618926679012780951530493322553809532285167454058809061399734979597899510661903772385200171716000922111128299983149015185643842172080376876909848300714154797937829413403910144666333672917467964744712906421468034716331806710985818710437136673833401716314747625909692009353053083449049897959124824995362315407074060363977823880872139718411989973576198220281996235961670061731918599978021956509181883045286156113197547115297400402869329518842667409456381860308591080130047460732960638370696516884539736627664629427800711219143285370387483442809576269002845275520002010685290087814397618112966345478314649838676183458109056606691701773785023434764841856394284632111564944722996920134142156080615878193415764818341939567585354730232241667646811008910224508597586126506170950873726295062438028651409251714235162658203803032288807672107847144398385318494247601343675409119295969643971901457336629095279012873515153256155770552080918426490379024964438222624892317054079935171182327388320920745890261720436176221060880148025899139622859370913899191542028876288635590885982348058957435395446875568574086540818734006790472193482440359560931848868964141246674229056186767578686349823121089030581499834662720131306165498002278082827210364193458636598406039732524480431383142658703576598867054377775246911218429746946093377717026826961988600919082904399408205538748767256119135840762383041214043850348181584369422546464432304334728534413161072455576825686905889676692724193511201079991567334880069621171121629965345147624398358572818609382926154783938856390297215882783603903549807778402999152991675972483493461920547616725517984082499487538857043779291752418386444270040606227674928186170498602548918764687243176462772666109109777793626513367885167979904321066055806634280740264869338144877174697285480032243553278388552086482575996095788635293475711011747419139016957294806263778011654847294450894319180459738435465833487720518412956848601901299488191758731464036483416344924232809366015762068921463759126515983344754791711589894692585239187197723120881491900670084772277082249902429627766831632021080798848370018374426379286405183248392833246187205174945987261393940038339648523521904346190502391544079943986197225817058573077948940777589407026108434470695035037127136066808356537412248260283168819981532894193337630482991421437266049100266001469054993535199560777189871943769444977083810944238499117406231380836880715153643481344119502662730094000019082489877623112499938773994332695399128137063284330468196924344525565771771196431518268944824608676310375016825930957622357199962418030125935798479902817680329258135404103967954164684145203620092087028144336447304433621924930771706894897763746433967987354121940281350458430072359341772911673377624077850022065172723294643303953123445167584755451474728049300277763254933451682039694753831205906899608034561723879567814904914566317754994027185924092960654047549384521406830894026851570100328653401719068634024581999529486545585098386171288702812868808908859149472008550109351656505564287784407473859580337933397700915382336852392948102736177957923193870449561487910770583229389863820438015832749784575976594821881879790736650404907084227461571815871544608833984837575577257819129456639497593337999160548191359501521236322724180950196641685411851539004417548381886368169135664775189298924453542639709017763688670824374738428440779890260311646588168627663099414918200295488297842841804038644925302734546567444983868478451547139140976090270587761034628099862922377144476475880496975097564012024295121799700309974661498245453992550843989665957448654550220285325444212372796737218960444055386587005204959826153606815488177907233353699593564954052344517302626025498525216972277899128342675721954125922649219650277243062163225231260939957369020775804284034206645063673813471345056073369201691664840225805534457438684920316039267567602485674847849778673227164702794816897176817633696749852302214978597423348564832369558427104024300220766768541807816580931360061950990188960905083466566862006793973864020536988948012034217188130595921579065721067469411929046015964728384397695035251140771414797671729406634562326480528247558784235315575345644058422779197204596039854124046837216043571119420321804441895271161395684037715534901778662802320211150564685846576041013183735942635648544717816824123271473481330813620889223846090805385891899098494544855519335088935705521422450484965050256649309617755698586579091573808482372418331979439158945907494157154926447169364423782019727527353741047653904573783036838737403457398291644324000405421021441532793964207262326014024848011473189749399730104841979024608266330095563434187775260593469661316363777697649483003540153012115250247475971441220694066608633352231399991303605344075550399329460741329629199296236233032964654466749712277229460542781155027348223147416990651973040764720464868990303654825774667190110493075965570965698332508355097977772910469043019250704220499805487181232930034285135164040058920720158944787920094974186091499344199465777140265437015338818243136517384720981033816875817520373650899155836465494992949971264449214355755362686274387866294014761282699292472130987652925492048428291547931838644547369793878195515356556523403989698185209067449564002672997410142436130498149683545776463021531751375379233071627957757523095282152485505260721498337106330320735720697729581757289129550883554413234761542994982686953145221544199849781260266170312618484309168556317687691619131640479681490464610108619304634120114229018813633180316619569360823236424169101898718377967791954422130099776701246050690891547295846131794747896252826942689701863943810726830741157857715495402085115782841637669522024523202377303516089621520413869430282785401381878804924899679384147458201111257898633413795527590711537060670689329192351085105895066476212779057513136395133729124655290213292872113477776707468021366550452509985128975471257455356949076190122985444347120333859483285897766697254280231842726988377126535210480115166367773079635248593918376114601465139314075823717306379404016828622141670621432430758188420L,
35730573175105751375171666554028696995390680291573468954402450438110794582771286944817167118912823366309495575470730120427215194817639699329848191844748256663873764189988545868783852308750749823297403926525425517666748746466094314506467268338854132314816707639525128348229868454355746032047568253029076298423208615719319732512005024629647021074352786258710332982424762257320479355763894695881903845185043871079674152579592508211265212804128593137424759950722919109381884151568892796094402041610546767932121765665756800885512886809725786955880227795177352684292099605354288299880404529683284173169742305060994622030978257264269813209483717148027576645513484756310649250972869397865313287066212689178543552620784718179179948274752184899748240857476385050648205433929886090256925554104913249649423734066926880055499240796205535003356489322196199031065213089724586971850435524815445728673903182569487053053519240240413834179529267428598172789960215216953178645660340211476143453430174370094297968329775752352192450928101984109446961177318324095798958895551878068077047367618835408745151816154279986179404571283412042603453395917482863361680899526123506751588990215161072929805165215721319292120032244871720448536812648428269219302937891492033935709143832333127002564050656140908045372467029234745713582105473103219807644767521287758640430071989504166552413935757161060901721771217816495244880361142541748271781008008805563305820851247967574481877226504195351243114624940221895437954105725355858428163541864584995479867964039306877226266699926209789888313233856297314333948453486074518635282066445229019121036993456656040046774842078741718564940315698616247707041749767346091546694791982397941022915846856137536754162184648498418104085355772332938051524880540355602854818904814064075909013827635602907034582716331940291175370326622495099001035472649618296642293633759402070320421836389837787811573213265042882078325976043075912147803543426408091724919477770321804291653306582406795965907156690606417765127677293410322129435451843104704235471388964288339153792201099075967756992334324487069245382882825713207080234491251588610939974715402118641729072012897954728136016254908447061540247103333260330480031661637583117100896270365449187920355107060525069830052426066976047710909654326978534228980476473220873761346237890172696559682930315986232750564468398326044823438978521450895466113578134978685105458110931313874554065347480670931067767135511357617334444441540114403389571215644375744034778740787209335171621750175380326682460247740926966632428375680291259890705148067893278010662141699523342967681653522780302804147680275388283324747301363969372945220336379929727559663910208176897414850279194334371184899533815361909777332786032952020296334913930499595124947338673204682897414031853959200377857795288514241330308032482265104841226776791798124705228113950097871880708553234209116782099305090748866801192189767876715090230698680806670212446383124598560072452041588607883705338401653559194492780304173483870356543663139486135027091239028092688985007297713395822816550642286056978226751408358050082283251889879277518303480734621789255637423999194488168388123185912501756102103086502927607767296252395651424268526035906777660098111365121848727058659902572093836572498222913761133595796598733997265405420969891535382995990422580866149103958017040814116191401976407848566865525322953496913920997003273210683747902376271089318011056498637734677760998187893181073209664701849680879330363561730557683417790885314404607060328131666714086525551385124975770236708537257950199061571138650623127620448291388692202199260121954836406345261289528973805031384555560916164146691551901232911032422983228572739829557055863992300093388547456245945167339230116352281261335798031757007007189086421378182820273622054238641589589332561898810762756030146712925066522057637637834785622069091361346292558846615426561636493382752363640368221676075211971033571931200880675890303363860250014753678414845835084759819892626520870197754117067248426857229773313665676723530867626993581675474387504723233817475440799861265823837473505314867434033404128471775447095102627541329251477699718336950791433364133480519558527773071982434908139803068965573760025794408447869243287120752278081387936051248693600342590308007013039292593998031440925808221539982899361112772571262532431329922345434608764263581431580374077622412195182072450815192698000389023326865445433230157689848800035997773997313108809495677203954934583283050367388083405211045676714185153664952418608739662881921261957769678745965299272786114236608585346079901884557052942409028090026320667497819600146967358940521607227999489664197015009646877263660338355177680312571482770479154849335990979847306911990131822983104556765801965376780362752791437981668521652160183776712374651972234502582026577753442714671610348349985328912228225070104591094427711965364193708829925914408517420974905647070683580858289380989487137061255917254982315962466236265234340242876083263371063212402697710176546844218377784167837104811969960852975324755758943558298908853233123469289853206324671577220311551585565332754276310648222719959630264898431111783801664305622320908806703637400697520485700763629613067765568006163828784040155010325206982148317832667385939534393109647139170120093510573937778987268947763496716198696804057419883905167462641949612020001907212578552247154540665462380669922182223773712306898689301143668465715754269439591729330530523613786459477817277952763193281609115300828925954323068848464869446722460356853057866154979419478087439473597915822104393183185918569933330965076599847089489325915414089110674339767295142420780668305165318648023050870817029159262227978051692063599682629767916995662424528042286462128813547913656794722117710797627664443694129069784754867290047237371180265050169915599471199072692724242849736622011191260730581860685334515941026583736633198370665043115135124713376190813981841614941906806630970542382160771397965839511462139214788672421401922451645391394489753738508944698942183997818791006319934000572753253277859421304085477011037686044668302311052886964916583525527247937188421750611162537126015104127708749122172688584666543685283431761964649388180639486234686958972410933380987940485771766805267202219348415279289318004241387865503600128361023895413170059866408615545820709996341704753354641084566901241423695834285686996060L,
58527242063172149903813782782830446494880837243494299191514412470278459432852064841275222211733529628347222376330297181601819581014788009785701927153246975518255879951461679818331327634050120853348380500898479225821593032118823326228759525296514018309446715209532505586551158586812512319782212090014784379015684220639883646853871581559738102913480887852353915606350763846991835876879068092837280886125956747425368048078636062091151793665232513600236340676956285050198403586155203718527712337343151829487302845230242912752226127567057055283419802005649796397181295441735588949980980245463449608456016601514091456861194353980674269265458564524079158107158922318545976650852452571102367653805190403311235389812459759293758577856924580073672526987996795721307851150776224943884242653324471282992552342782714400907522477496154323963086572378635015324427818000196665851735986057435174825418982134816977700859016800092785243655429304158442323662103864506675716958479111062237699768056484928470140362553002056567999174307749107981229272145218301503119016188964231990195143446515877825404631132658252064879729115183586024796322160696656601422148575519035333786041131258564936831794947434910518341225722030041112375558074135336504160199317886729365263558657948586507245590627769024694477715308415300270528598551983932914250890654132738030576380257918455970661853066363588775615750910289977993388075335462434215254583242280794797960974086343734531646478405604313832098579995270957226698044186678997914003099880949611478693772548453580128896874563916477462630084679435815587736475911532186050998371651203478810901482181552547666931103452829177834718751584822131103568556844873967387003340530463316329910524876319347856203840305939859512250993498126237820762203160736740204608483343622195909583807064527312956850398490230055971478006061352194395587971105134033195025209003675718273153041285294504213197739172138602834922884890999741999458710386017567793166901188240067592160276700345244544182890352516643384243283585427969862180697519358313189154185524929973176665416792629541522250925145175403616109866031890025019197776621298059425576895831253055623028738981340541403079053957170757362194216618411033139618228078071363947315704591131799160198481865323839205499738107283745480317470379142552932209857999186077588125648638986927634921429904148783479936204097255524872190115540773630878102179558731099172010124618788410301927498580185332600408540145408720267349551836783198486186891532793196910197231438087452482330040390357583604795103027080976300699767982356214723038244769451993051820799864698934679524040727248639656332931403660918847377403055871512334311516175367006517787361844434163708824263122602346671056273342493247023523847378408494837054789427045928554847052195812178303448140302336107319387167036419876396508523343031751740755347126800842430628827736810159528626444267508733798625374435183816076205771064974142902928889994412967032105737793091592036015512517653938451829567737807984213119295070155116802787120232784525975262977915883132726410584995713156557841453403794892546102681283699624759674720007740769832197609793214368968813999627914794717525704203027663447013870272619792777668989460222090016658787565623087400977344930032349578434199364270653314947438609284354189336900357406612174822676319345116150411977954786549578978212939624499899691621090532699397801491922594228577192753089659876269838809826757716808189998125451778792233911374305909595252185220819749581425465059086049155437338006913841434051259325057941316945630054052736379277547265596163077132332085046334504541526756813933260023247360478806259919754948579152150337137415872104527296052872505102182731331964453682461009102064874076398249923416658135017749403171760677669521346947160799732407408534415623941034383259980948058273174624842426262752831816154879560033896939187363275354264987037321671855043142461551791588986165536904920034835304858074823140733023953759986976155452358735101957287723433066042075081164504111714327826577004083747315671029065760791882890906085479351732595292713461713868371929665200319585157114247525177259808795020789160501430716048129386406048223169840386894333522412764314329494037752260455295935041400182684505923944099440350372077731317609735164172987586125473702109079126525469272773321554626447379876391299164395912992327796311918984327366118063636518356853338016152121393283913211389965041025274782718810032455962049998251006981243791017034360076385006453266995919059784383594820992038111077781515604579248338011818923819546949288110597048535320891159137575251184841439114893298576474479365540318044516899465814481140694979361715228285839860718407752602605375693592599474561024439700160376111917436449028547251007373046019666011053466487326683487433465013284382560812068011533273645995305941794907983327915243637377045054507781662035116363518878194870396473877086375186446575151819868478337235355315539853420549988948979116786990822965859228317089814498090699539390499381626177800939107302357651471178435819423088082289873567448688453888230168206494846331744698985978991721516952271400999243095416050698280287872201551832829577833267993935038278598563334698118846165509212802586707476573740601004392312461547519645472207565787287280090315865411596331181832355405273587720889852257443341899886512207470091863789350893207213197035861808296273104492290248082796023055467386490426637457274839275639563172731622754051148433969583317690671641347451706445085625785292376463236880400272175240876345748868323733528801768418619092675790982436200523314401401754832994920104458672015395372297802576446851267353201400177068936238314250134064446333302557257435581626590721632697829495021488779984039124998975104182466313790806353466811587637584261099339494915906768158979067857444775460950378974825014590270197168551089382405200788339348289919320685548491397575601243116377968439260555381406539288447160665141777249637231944136177716201652626379597046223447277258492066526509584137360150602841142577105654774962716182401431590846085164497077935498553747607653771750905851833341079254249282157845353390165591114241500384966305022593942939455171496920093111143810959003790743427927300213299929318539199126454761732754787747470625877041426264331092374064053035684173978654153205549868831949644656277810351519274910781724608078133589800621386791741497219816249131980844636600498819179618217L,
95855953243042233239919045350010343120131043354287454860183412159757698488755536206086134794385223927173443097957497292950598167812590182418637231544494120859413069393960928834950369890116612957585129767887927389351018646664087764978147023213082473002003756134715062353238571205075916996177664094148958219283729356182696942016987888259824019555837046301482469588965713917407665064116026142065237775882565961509597627099307269251521123334484909805892414593642107529426231348806655325703301825074877485756775718273055457082258840377609046943162734814115493766891445938890919286020224863043177904397053390773990322109991531652706072846694167465242342456903170185443915681571639538629449773566470372231593078022220183139604300046985837737381977162027941143552023824700352406018238291177715445200960681343443523240481757913767371544981927884720667366724620254559776743525825156097023573687541336892039662981805222153055785675851627587014793610425306295290673405643617400252576543814390329075893571636243733918925214605168103606342112237694673563766050856099749688982105872599051417808536645115539980333583493846834971975117909418853752129476463347198124545058605619143114423175801953650529085097529414959956193401269059570940958635485204733287879777237020813827636615882590956267486684115886968808065260752257733826629374310920231475279392799290382867966083418021803438997609737108000808397808383084990996215907658224434467485676119703545749791183867771594370893974958090304595411313399011318296266708006795562899363368253967485355386782672099437077371841760517523888527941994405909593975307220783195838903944580826539302544785316369947427097328157770132628708696037943511945224465473318708780373337157782630871432427572272912968706733746569959729350228649861116427516180091064981296167200140955190478227113606556410806229230932961947119799531938277796217565462149439417993187334063714931354645777682375968528746737437049650028342330592465081072496211758375005125931425567632779433306308793451144303476770676639660875476483606068059849438171875985401042595072199882308326588007288606643258308825185608389182962979275057891259186067072486797452774045372033023538382211510782183915984561241744787391396226416389385551573062201828472992408097177359322317059158827963946745991186459714375426854743042731069449853846423720609413199664795076030464750141468472793201497101018693331167559717534951823998480761389784161237566671445080739470254212340921575041326057600620066861649014425437755754039330987228865183083583377383775694954750145697695945744704116322144885239006370662418239663640708174933063740916490126591705993017338612526925282309038255537607822441538190464322144416456978264364786366984583495530172989812710995270450620422737136022603544015107436136796155446322671671649774265778169053339364038258892914344630084444690559766243722515678132745787457176842053502357664111487469290482269905857645268386821743966551305131987763202212140494876027145169193309586525030590269669920273059496227380431660524156673160752706956391471202622893564682757880704937937412986710301729079444142876929017858804401175112192139641053880725897759536502686905656001302455850474625477144968695671783216486797153296687721816637283921785984324311202321291338774342365691408366746441442150052949400257218326194106270820609916288731924175383898077269033784014043098647281005126411648889969085109636765858433060116405161995486571320629440173209105033013741131725429400474455589566228787388168491276063739484122568846908774839809876742378325071369611381408436535895531804328441496074719530638392244560634089882988175921324576246850360413756696416430959472103990774830669460230378276420105015279192863222018887824182482235391676321865687704802778027966755650661508230032890076329697238425779171154277560304541086947523309218822640471304985295857997429759681285081688937532989609649644084574478542517591707484693012270308057138446077215732270130300029748246495851805599028788472598032818919415345424655128762668489792312564796098912029592204292860336147979744498221245667219501001584242407980404561239236911088433574290222909587125265906604376210928827406671167499984437030885846350599985866983369282824925436673356314113936562232017937707610719630221304166018665527795385985207966719149392651172792782973683505395852817876716763970097689953593072420060893033280439256209474617300908984788352359074496286315611544245918208704565160249991639045788422858930359739186320629092338404221348048520971826924250759540960775919631556649073738727002277871309718296458857249366624138028576736002872497173866505735224736432952431593786670735081367812935156928407767903194802038055045259213723882356322178225430235368591538723269383484994674872442062390414090718798801374917953296990502968273432521557503487575411267866964245840893373262532955100801085267845517030783427725387980684475971799463318326518367084801603207525081483740580427808879039532428396782600263645329956041192421225429723539281795651342352492749014866965342733612108971906627338584516038982915496974509458193640899916813311703155080221204744541072422322751425892883374595890598561224028401132856132412521440219849027634374383428096324625458969867816706864155693775138971147926984031507799198554760382860282091994217659949550137747840848037208184187584324808328886688264677558222035680107047349029254720776556577279791393496295112921852795757597729193225827525611397095081396108218203629642973371541842520292035783796442892596149353619567559599750157887358662706508920014321380499362426595436918157019859423013021193245653360559315430693223301773179347034845667746905661457963340828737679754800216155527231514624301077562490487320714385976483787894969102944772076768751629863861841631380002432415816914732414696880127092555170509209830532437572959532372165896560205830127964800669220014310539891954320369277077917135575525373428769074104323542510210254631715219869293810306621312478190990132190270012687736935229740139471077521069711643957066262898988402241610725751223914717599875535054548149373111102784906202814390477901311912872465016420667778242290854583967316145455532687049149374825076362028456750116784450194161860478823079531687112424972517755466648409762118571244843787002877078269990136641394407348224488997783419217194446596073450482923334314603727717171862686999733797021136563625373207355140550020842447222551710418910642003065940786751678L,
156972330949690584269629140450767680659473948558207102322652233771694874157180077181111254840939176431528007162884234875460333504859777952142010055851307518562565180464106051080683198472467595232614458595500894163643560607338389510227639534231947052010912994379996537166937434458947394233524619766585289507374516262670870850721486956504780112130809977224323379649457846512622688162269534904583864325694332828652212826764356315472143994951995104750132133592777657832331151108747310396177592941663873760791979570084566029091013958975936352346496450505717942328892520976391247735182804303590736759681543765829594039793992158219325292729082734926201812547875739200183724142330357446037931785510990155505248419215726568806658616365823437283579093334689628306434648537286806676768300723318647247490592970735940304776793368791274069217002218435646675668173184810280572637513853160347065871380948007324067420054657109630751389492558735885650439520529395475316112571811448406264875463650157079416944248561155371207083755437908056089474228048899053592647529939223999376915632593655045385000434048311010652935538959081816087081046349608923759261228052055131800428408614829879412101892970760754688878150223841351574819785530548047985120396964070916126745436041570242276258153577389671311073967972635641482435078834913553140866811143952175517004371181267333339375094277125643769718695579695512898673056044063459136956834862526805860763764972826817805439542448256024702548001917587915151300833718670142259698385206986956806673462657476227557403570556177061028217442069313559466945146023298494815368009850437988928679392858599529208891979060217663545469658369569481800061749632990711236804543041734197375998446561124269134525153325762246040421621013359244017209540147519523179361630336662904451721853364553556844658783473261745482610186571401131559617624863716634446964994862684899974413697216885228168526676053458189128379320718142434884578096516517915234444820582852883556043005148141147211397566249147303629369321132143651420095079641523715575342014049718361301121583954174722618563972726081188143823445579384889316028857361992436692635390603537433603600271500517022344872030205955878246836949160012738616502444322723981223164230294755075333876704042200000839657436598084174756011966207499943278185785906285633891851300484466637144183721115087726497660293510062005700171390854916815704474692901002300962890563326053321748716043341608243067663682779648211463166089273411545309802682440591642780207341091242949513720612674525547674949507944716691810137813080047676721581707718866457176520857054146906424031448285110094608828548346211418041359526289257424878510746772962701503463214230394012886052313830748877404529442014858956703266182122681045552943373316292186929987279051022640834807806752436664365821051253562124383762582353562441451295816982264680299275769408416529784469408825713081681658106915998813936691429769199970587029218080521727970284480544917765396590900681806242097742320422481087949998288034611757112887728265718866285332047291740437488351496037940292706431639411655868090738521992869571986524632741466166111294668805015876466940736569238068659372699188352163400447775430197700878639701324561800003657213206935057192167962242917745100415204190590044153358468575713898065218556073844910707424718737967887571564658014078339998019387650065875602454700853775921384694120644051754447473861354097686201650864860334345346954277571641179454143601201419562225182144933046739121575800818430713160559636960378570494142608868028756884506319998692609196678334297343741885865437322439725823019854006307658649430981406418440296668618074837674997038520995632690191334345293794686893113400749844292073297075608630817861586497724499991059261275785327536383349591952840726836696952497516781655475573687458561693895094486270044643526234287342623923868041988778358704832179660542773899001406202108240481478809235829060155796956473456231450466858369740680299105004013895639590936122064136081564751882840559932438133907338385639952706654917507347758974309702594188715740996775362459041892605923242877468502684245829168130166724888107637717701220315773000216471825736522402200051662731834809208605240733745870829882865984504459691394277010800703709705099813732474413952825985702191703296576091916418795991890212294946204618936242315199350910428263177677274096124978849219383884767374791915072925067716967295370445263647902278827536328082217881043178140583608498780750074131147975055741464024018367096448232695747304084926116942230412425541979724682203817036190097997168872374732809018737912264781884618034406445587491869606864656239124862367207515830638178817728354143496680532223135621903715835338695769198166671364971760824025515052831491081103768635786596711215068413115000214236759074603964730363066891182791163934572344431432139241834013641339031957480420527169543319123882915997643517270676976457673465868532096112770669920326432982200469166521167405253360369902637895428886435735156698321300532944523723958187385664665350361293168664585308840165741798283025125237368433245523986139665396297999340391346395169449534825668389454079452067560249451409891814871387214231486644892791445356272096658015864466617300236972139287534572609113615062329880571483591739012850640155974206871155601920732239506422587748858690213071109316280611336772937327512795235184176765187053988465571043734054842801042960643475793745031004999600586863111812307140957817704589603440056613554485448321479663026491205038359338714107009556006590966585481312592885740558096807528066055941997610206078292428549387068805671929569128655750141317353321772587670982660922282875218194062063747773848256624431382212211556114722789754402469244031387743471609809134034843062909756943388359298386802686750407048261204923048091017204217736811793408852443500617094107854991903303001194676727941145301983803723156951381081437442269758898457802558332606316056404555615312500999526393668195366020824915020797837316479888132229251926736393203870947765842940754750778011860919177412321643148993638986552118684631386781211269990723327540197338293715157954217709914385372637142821672859359557771224731905387779095912304918756651656916648974836163818035069978361938383669635703985413630699066963003385936045516513000768539463645730705532833728849364758248719120464696494402226316522204604038502870287308717711808381504137430891991746408223066777L,
257021907562898569236597093638057897494433416919537044375238473927074557094943280083518274377585306889469839735640230178677121564171550034164463600165137347685806319996424589193206039424703192396261578608699125603520388028587795370475122388161270712442857174939077866146988510644764751123702633549553652360677461834842923692910101861841647611970596205078118747395073984292844206072759682888344786738877219285340951390804387807774026558550556101171741191886182304996463566594288162249614272037474734908947281993532737919885678224722849790255744763121438230249701502010204409008482244701312402399895403697947158486454741119405158368180182018400615746724069808607684658252644037450320068150577503533856305715180231747297112995017408518980459779801648917751885631809392447722966118725218525824585816746148111094982971232500304749873279633774466035732833824274885337963453475951806000068729506968157986859148732553882315851561162460636103911556546082671284953306724156447000513841386387812577156151006915135845171341597391091488298547582744809843110044883524360166657699806319592323816234505638633706664651286697691837405369281345177668598223112190803907936475980993264030586792385618186687030056154792397767020050000386343177477915019508357547684276812319716195613040488001454867697867705755861493348353769174012056683357148329253287984186833868746497627966389176566855967977746565488050824257341440490772185880770187546310454151964529755215168763186269350001738571069899464334193633601616893770501353717855914640921595985161017940725732811988831659122966836127874846568078904048949166292775965850795901739019914368694841012558470638576404177911073326344467853379353696300393620609400361964930968992777486223087197296721252723570880788697780032586104700843501885169650070559708650133535665799853817195008651116502024414833583541753552585957640343630219088964528320855691455778182552438087919961845664203103919717266747914966955813184681653316730805802741589649150705664520066066283838075875162362047673273959070733225826168161742297011699501899257870076213630841856500558029916719747346762695519957026716382994696627209569602662922631924845877478608805063735560541034972989571710905973013930734979475990563595487653076083647805445840940935435826856026064408094603229751156030084736466178971812069502055590984635218881728001217331378015745000664214909212644130429427027109191262039906189463646826372211722929639991977163403550202375725796281887886052960119038889037217738362742015031790260893527971933860529458968916074747114117429092971239702491098229147173233248365576076126626418470295672324760089323328812492333610929230729361002848574251529941767202442593109883877382708726821852872662767403326095832814808766807482940502191772814965520684980389883622509598269257706041219319194112297556674513908713758626320171551093539406387728639932801249121954869156545553312935282505143533440538195986705719007224403726205161961984881749235433049013975605855957570644828209818253312761070470809023943682538461332918891585933620981054548239377420464204435495362168166661900940447022824732678253538085359799151626687487824303625157950526325502888464384208435704452047884287895933207029991078680621261131401944471991736539595777458870191520122904500141959353797866209850506036985623489320693035408094742629956612875832921676070548255655320817009046095369307440490294076005343833518623765661347990145052357792302147160573325704272452860010822168347848358617141576705565221025270451082953745505667190465420556573907311180779178191988742372805111442109914350134637774970580780748596222361319893824987559338245534679317082261378961155793843233386012393591676515458450556358678519665180936578860147535523294200007846015714132496745217307252795014341123270776102464075078563031415863987281085476931529476467094679972560298695423388500831699925364583095704703577777123779466664858380407801098754833260879380338191861817790803744994253438772369522093773984363667427404639480876152019748050305328863236124796023880851503457496416276411700495589191204624778721044796086187268723240107763892048527626272297467257824698809694615782844972087050690810572721397090488260842978330640232265707717617047960132322980202329992891938874470850068415328503046565401546604044682596206150344202360908948711726610987482878564925612192679592897282930003052739043723440707083781434461984213924729642553881826896748036485153904408278405397550685559397975535859665579037872398091557672030712890856017564570693081796451649926287279778136604456231807422621192177953328035715823806974689175872989952299962157336913796739085745563802343045370108548075205277605454070632068189258188594735494244759216110205874460626546834406941424669185913967201736407597619847974498059421183768813605217999822190167116296590748285739205111916425641807644625588798732212990696116435692550890600243633472501931998784118831112594936588068152390576285397869083111239533368026783453008582739048874121297647550400173700802024980017028372092277228354920225968904580355574329791513983957127527372055574430899125889792975607473695086895165353886397004101283910352481310481846104064323015863788929430121912316364728950077221741663647625841942779127837613486740646051947141116060674908918196203306139717502331916393028858141174118033269553329973530851489374183142954751806431019635642395521037463906824312205649597473713572612105160332614457389480187305722657373425564186165839150075977938332534005876576467059711654466365845791975912293395556558503856722791604469106855355969417404105939037745428975341238313681448570978175923930134131409868279048486225669205785228865392844528869870372896869021335509316265667642871042351945302476846724453481222178962623666204101577910717641693890721107559876966202686727303385324337978085542725358119268782417816505382747738520494091279070389756253580245233598994338341511704202127875685571324399248479774719410194512108805871689055703439863940777753275230370057751413178834701567292484607451621769733411542435710912775565919181372351246414511346737898226311096026368233528903500662828960305465770315857128525462465769480618593060398265718330295277380004026991174435444037935923938313300951379225616850751353000355327100381997127760916889254401564492582462436468375263060664935571359655170067760480424487261084459957321207389410217891121286832396185560507862306118874567365953362887126744756815800970366067997024213481L,
420784978731185471223514233934945079581787817071847981010790674920028167336255098045258304987006972513479977338420653954815214028130361435307547289823643758093385834147096329831811750588176987772739937214669950426544314638933865553007660005684831184757402406510484825192790527526385141130885886690670474651704568930804378157015260528566738311706345631762752497322347983587471659228965829084985251401212540990270023044775795668307464903171973401003711325622198197289981088102757283861974731573880497619570102069354571234179420959096813769947515626824518998947516740953955882457928381826322437788213839363208668468240206057115249964907051652384135149815332810046232808474863089182093762091242205295664806657201136454575975533586540819283598986151038866459488309055923406488219402602525519641980159793321422105673324406631489221639244790091836088916896326185819035688492383079361941921295110350092176000509995857006328588162352249922993958378756977727659514276981097410849867032483990419552540515032646174428607815978091945594458526970152536674119111354153962574908389066108017911032353794074263501939042571337989308416187774945532932294107264624530257241580368541477219828979498487945364273999389061096607711791965399711309099192211521361942161342894265566051659891317560690281041210906882177067794578127480836181914419362340064894462804430363343799984960071580036741689582724142760681352295942832436401705169666915345417101450575133506500804563105964147004104213374537286746265251379325618927666475240644108446074657626769965202464202378638301604388490488409917659625342912117778656452425725014738425027658901807297016235526105702807139624558964642161882013060240822530512209132120668319496451549279810842334656711553095098794198876776218350994746092958282490955035433452053476775491949878659142637277323113977593416240973083501403011583292425752276572691707079509115063887442715138077761459854743865892210185617669217393990120343216531824136089576661252593379447879371490412879692930157172012385796656873475269089373539165698236748512201104384039487402743932394705002045023425144683300015816064621539818483177855814582131141124617480613766295421704827144920330550900930470259794098422997928807397097225567779751038151059775324024493545798361398992585517710559021537841588251475307918374575628486666519239757392055089596998384104421832920712273329335222820542561508580845049107958718884110801518826276839223039724857296057725640225119356957262899373635366104397765220562662074578677973484635672951045963645680268423659044737836208681132897286143799295682641512569554738517419191074702409366287679758140197204182254256540624065553561981335761669087448299299511894484057129896415257472729690723623333051791716402911993444880538852665297641254807656517694433273444423524534984487301504332447087912478134656479842513834539539275857849387148340539155927438379195439060445848039983952045484216837100262662710348180847363169712383707196456004607646665886311268315228377755985563640739562885363108768043188332709494529158052322964641252299562784168819459928931994689225865980389217210109421633630233818372723676487642497167044971756413306010460422110094671603286351470914824320574940192799322294938549725559398254621947581326621398032618541242891934927264983835647738813879843227648478853453344583986201923536084684027404628528951044470076521510650213575176115982105929724777685024572323707209812563023357613269269317276679636626627668942154586428729031392722620617051153619243801659302213808494148789722492842421397617527158877681347563931000716227640366779137800308418887596041843002265606697410785914132208066659304075170990561523422716330778489123005939270019049392688684844886172768085688025258643670706546782594827843219961729751257229646625929350372526656321763069825597628714478139288480380007555740777460822281681920686974875065568172731487016213424133170256282174678709170109620853229829078503354760757645164425668649321381696224327064165591889626230197216304242979139118764534840416643662725954723234222758569394092525737323629889363227407578337425536451191202552020596378905061654709960326926938561113391189716073323202962927773167902650980195796875066881344672336929984590010159745148102890312894905912123385572019668456038823992320972820479525668360698047434588497356342460835555205805998291972966669116975622421435291559481566009972295800610028406809489842731866081013826764109926740181452606915605513750854718744005106616086221061479196187353703847975439139651863327541234999704904462832529723270081662276027515980834878336134139616066614970931034204883148214488621490154415902653841475797244889278850000727593167383767799242125926198510520127693787102139919486467906463264055479196343772812071021785913887084701592314839539748808494545294954048353369339787754322612667294002007284075063769150864510970698775416842657844088993300043705113491435602972325214360525054814505987358864392332743252936674265901545522431819191938278998252499362632217433630131537353547606886227519577063354969722294357231567833279630832311608158948909928584980593520462849244441220355736916274724973557822033067486205326440967192725957869535489609126250463922414418731299658166915747984211757468569368603036559808297551087212346697181215462105903880295258410634237402029203801386014070675922432165327925020672479990484276068944612952344542647844723595842231213468698726990860890947621652230199525392444099382866155413679206035484471910855538330010497723504133829237523092106285045876074379687792153735138837807459185094950942928159718321673819211298646424813484470316484281605336436956112461301500853230415175656979056452669281525369079260210402356170529592572565884914728251256887842499783343370760171514905202582938351933631471196318641917448418786902067298918493436224356012681297734771514608280558811251753930976821078571624749869474785814152667427274067640790396585900665084627307238609144316089303372672480118928604250271224220687463111893762234666739137407910897103866727175143955931675478191528284736893357153234833441453141502928688242477780130428280738782577527702680153078316327732531104909898484419055029459255299006840388491502261806593726487357783173017386492895435369351780541205514134739613652558120220612470438222668661168978950840061000320419100287600509006287588288759146416697974874894154245624169394177896234141679488050470111278079835341804696864251569100677482512476561389L,
688800407637670678300432403208841165617727510677717788203734078867176895433466435696929518866085834162843004276305433998619637344464866457275384360921035228499207369543854483304569154555733512265286051850201766206513671701117487374535915601669185632062855831290188057735330381787459320482212243422081906619916364984282481041195720272255619647680204223701280177355475173748556446727417130497440945715539867441355193783468545733358771589903005166142364876125096838428010726476237677166749633323335477206028442304285535048379610463829951068704623726125945283198649071763720991504787379546511391910472999228523514530670588663294681667709909688861909697640197698707535397171638243070354068307612839511750131168083851765685659211641449843367063041336992098049951039455793724064828279478358399364893793599556124148050212494964164870944548331410601573098676186437458033445562086504235290271365050503127426784926396330357227836124147159473617674322052713137787327607537677747312865495251388130759153513185700351341080906266229648597646218345762565988668675709903991247960772734761526084773503934204309922541672029535191414861842779186908395919947539091125047632797177841886852754200725131769605996425383271486945515749242782159185737501038533907227923635871138186634672123770045709482366016334142385067051626618719754474167787636808069201078211792923396294912147821488013473706828153810066189845950740869263683665800699363738812962048748291680358833088074409848442313842268304244351056589895525955846266868761727659265480473863276416442015197781927502698395623512272658047652632132967809204993833478162768624982628891278601753487010383313053519484349307528287991824335015224291486599194914779371555110984821388561127006005968361472012456510628043557629426817964391313507247251532289141835086951198593228134830226065516102106833170975747749832754257971062143050505155491567389020148939333678105044965176648795152165125872191987500272828018862973702982803971914173841252554923194656134697265729363698269210812778930963875993366980865007364969897790110023906148532476541884596326653603081859071931892201209042278699456341316821021571416648314199098713391855611414191493668079352131352009957392352628316486695763369988634712092342926601051276512259457582432887754138181233914959174523543164894491260147779195549688116521153108938917015438005537995711791795492872010169862575670310480355874035066666588945452892437561619771669306640731522988764272513973653843559403026484683540535689415516101686167910731886652555350408241200579156222435168490779046063043970434244009889677522377802913437435182948651943395335616363172644636651802665586404744755746514878071862056387047424393268911242181733046246686859468377542544106435158686593565176425573082350088395951602288492452586104977520849038679055323157018702928705239769284865469868634310652970847342867209431784800182719002283208329314682098705386452330074566616628283212502153848959683461599941027277758297535896778393940922338811591433690921443136919514815801825232370421478251582015784091576543717144671094767347017462002517977106794032396064430767404852550481920859370588341994369360709211322480039037707801912071783773110597621751571039970446897501264989765224293977530434625511246486000536453822599803448908711365756173607425800270438226052491539535620450362663333900945970219532968886220464431755478316115205870929803866283991955775135580273761736374624528713903118634281053500941192439302784838615785420567707898580026269825322970657841258200103039961109869855945589504453014503910073466220624124027217000608969686288264936184420369978216454308411761096451001963124534450343405575998025927660276004796907186584672123578103408411388604679270560456466097656368856333957130095916714511583682363241407969339712367943993899955820596443825104643818413387771147224453988823232260756028591951553357570732348828512887319994979777324352556763267010215120986019562697351527183136337556637877844686666693888546479371337124497294832240130583682606941751665144762469265981335588554575312889936361582223717957895526596211275600585992401379641980818380070283264172048857396487057604113954733463712396552882215473704217843307749638853352620890703018808619111823885944886669120237708346197328400152017900348525754000624146537871389612787678850117446845385086893016389656653265536745190811374316900496439037826113937848813548037144169904823677004210840291035439368347136482975889625774919996096584216846801326571925911881712334261314709732257977557588704455302951695210636364206224438352708474693877696700115115467100498984189761451266783356411510006073817420646523021194694090159297903514390561146295719030044564324224510669277003698842701129308718267117390015290704963686292570446389997564425090291746434826919986561556582802945759726578590762633009226560177155267403349829751766965212315867011126905347070968367336188137719058137964348926560318602517324689104273716529200056528292470905123845269059394931530266871680137340136183395083292842794425501188934018009811030868372850949572913179693322496645517832803818241856787492837020977979993395934797870659060766971800973749946839363117876299786255509045938734842073388899802460139005539764707281402817552499251960007362046564859068960383508138496016949214885443248698002320794179278474475969229712260725744679440039328069231155523829411863368935955966048514333513115693200862441444751837045886408378764788388455955091067011688443562589015184972683539003663239242491375556872333870492682638314924447243561622486667960894282523539593399235221365574231267886331153690421540939353415038965962327861791082603567460338729505085797402410655410756196862395009765566831289546652061988043623879071803949051988411278007213642904464396064830424585573395677709579878566761293731090835212016773249616483536495107082443962294185249522647921237954231416705037274493587541221227370283720137856627155275255574004853654016163981478316769801011796946366787716450585661240373206876225525520496151828087994351979146777500458943505447148106814534290623232215890091864059899729386296923210294628344676336930078455365088638515104947359232880794745980156341711267290237969124025037600883616965936051807185955119117380699311783386644458439865046500023812553475503276099322631126823473452855719269398755587445069702446757801424442573987506872787834361289924590721897390314186092954533200593227608457979787852131773109064446075383057L,
1127378315582574329031600674273253917399531898429333340854350265901574624986652343257984943020343063870989241011850566177670514342791359393354766789923180817059857271322176435586418108429946775470167216664841174952928089039406430454654474183561069449693199189752728502636145910976798726481841905292707507454329477825998791637631196014568541443276370866142234031013985280195248077632881252748377171436212429429557291461749717639716141837603790545330660101383338143093634740630981996990089505496963582902336335775798054643615585211861873845127200756421213064836211926077430418783566658909636584392970557697155110692993081082870535638065670651399570952492929668514920764958556849376305002705399736830359242326729077305100854953231232748851902000116996590818164627772500618930187519214548336038143636949657103180711757039758255444415641373011511612495224661323002312779646428642373707305174019239442485478095181658260632072655535866525968376613882739611929975058728456382470557021348272404853591121711480178858336086292236630917250973205633759754176429825969590731708012548285250018812813015818925496140842688708238779696050468621038479805355120366739152680314001877016195820842277792632669720038829928399820980034833980967102735379938967875925653810179521224598575339938633319599841626293316155152769691492346062705920191122206529958555171661108555651577966097115690138974521793399201392282657718184239621763627052108326774635282508934886987658340907182465952081015660123059668410415986268681837548282660915202102635695493668584934418467477549561536871060452951139892912235425371750423578146495821616069646044616438490178918997160729341803941007679786249263410087759642856228441015593566878144070030119533019968109957531851850608687338265049121169410383739989141500906672553910472733981419098448165213075605401706332359718636643541439875784326253884601752154317302878671433539889482932123013166495130561948054751672926538769387682996804608041624759548663941540963055044989172598918338562825430466420088088666042366027958365122106114853810443178605200220228820948035463056754770318049814732807949534318012517568866662835984613348845786140857751092883014736361414456075334686198820942233675748230005984692432194621214049813942716930997088738519773152544613881163865169969616128526720147114212036942593336988044349626125849839545501020955046293361746774540201898717111848474574989700243916691075963127002211381769979121502378753313846764863803466363752658543016306246482526606658731650178279462520976839823751735584532521783521256314761031728918224373360374786668609865533446954074750753058779430132418697986464945207268286411718579176314965334183917814414755776905471188286509714261741866800714943628726175390787262176697969870616722035384173595988056601587330774561860036965818673232109412635039708266230773836289663139698333981424646152835588046163249553292333794402332377598164483984544071372014896933230758681861087314337990997460727192272313817063643526904117641840060035756836336854460720517585879152795292848817066226895499833074303995954464160099694788546453326171056896305678528809407812343335350114420918984721822808251284715422882464894389249138519830513730094916524756019228591839503183570284083030911140625843934003777568495956453414124560236510735243193841379746832595515199925054327563878138279467413935481639536130789733733333238997288599731857134928627169510788558563202819889404561206988321269315129478768991911316619043546745579869425701108965373485677566988422527698778163009768476303738259791982526510109100466485380114983902482447916742075712772143895720287069468521181658555516019721838406419568221483153723917081958846864842221414000766312910887523730113260917071324856166023368337736763912131261259097243994778060200252455485631844725016034705729823297857039657968164894444021288022426487686793374343741603169202857724660687920834935696037771166151920885996129034400039674888931800046457986893309497395870521606888630665729817246949162176965568015073389809554550636320101322642160448111698913959925825327246157807372776621768234715533596083616829541856001775414077334711315449964600306599759675937917910026943657307993205003897249932640868077082577531680844441677040624679286121838491261372799016679696540004338436665162478425839831021077320873104351161010906170670801652796474606929274978523304640217875750948235544658556962800376583785151739328177306729245253820751385048277760157025322023997411215785257437081986635992286690422281208173832106496405928405277646958992357287225409375617699853149853406056963150896978717516635305305391533677993174681189577053503870608522673076296339868915987778636809028035101406452070761004191171674436437684732312365184523540749686182167345603485453348491508937368706242317050376554355493207050540974360012577799749969319158899349600857084714975031182651841745823723740675619589601001017938406523789413673780174106504207598844847833860205625482738347566383928866527779577243919955060102255566492521850988950644517965804390941612832536355993188688073849373432542713517960591325115972138213312493571173166611881186224252263017985336550740554597635402900416106284434912698156019367943172347203156326952749546627995801668676904445335753548120281501193878095278873419123516233961503254659657065474171450394574942228620730437066388627180012306201363363050066666377917365159534545538634548388233191270529758986055918434242692111079069514233484970424015480683671895291023210150552701079725502051706319719811299557694832290934575256456159987721763887644527873575669416890898859780468962178105640152498126328246208553365093053432527510835877853686565217407254891941823242876680096818306472002383206267237616476017438637661278974017530559133537428450784205755972417374134973298864815480475265966940272755064917272264766313666168662993972554377664885388824841190528709212296674886253361051010876097489268657679880760645019065616995130602756220803936673492753232412846490001449565420000870737086333347305713875299442659964580733456947369147727270096709946847474796511979515312936155223754646789749343435396112207150911358907282335968541897196964345989288939696348785657432214787343708827148154287715770748930242839095177429119107608762731964005807285830322249196640198192128797705738438701688230575428473990258484248961068540171697211118064475608069860887350801490873201580546289407518047897569926343931007346183650756118448015162179474L,
1844969134296013308587794053853495148075605250503890390475992210886915009551021171104969551272870744562057508930762559862202682227521837145188271514211141777986843146498541232026016022476675381567277503165206841411206534631913986333560349335283560856922750506286734592387114876771405554235759353013956683668169854570705577275739502860056212761636433908038782269184661366553785812258837132292255052411841514857973431125298791351397630240919412242902228167040981764980181750293817859414614731246309740616368046990776637520251005799344617122331768060276612665328962644344781300796650079387156833112050161325953468157305985844952392384171825706147744766477211663381463847764805267822774783141246332306412811909001554971374203385052392108503590965330631232483740214228021528469114002584210154888470348701634042555454447000533567065234206236872782021210559741462270690301660501918279477582770812859933653741180172656496805056051662792996697220223116728960950402864606357833990784305871113750352631329983524210296570823319657978072913570352773357864125896116808651372549151113604471209385565689126878369081881599531667198801036380271383336471578698882328449375236228737900005431167825975333291129731498601164062436660458373076104921403739764196421271324837401989390815579087037559251593694122166139378647118556974846012814081676458993546640639407688212984109258376193711239413253312996049782389040805393894699847464511802704284917964158705731590110979091420529103954983126157755196998338322536471129684244729330899669333037916911809375163226899495499935307188237682338682214798407800235633514310545894743340712712860396366240049085128480638098817436260392060116422276967411355794993118859163516660740866942710765667498264157001721122674113787786377457016569690060072566589880091144637397669210333551130106706395942344334970912373416587042980589056883456357051153684633964374440791289950377985104522730664287678011246031137431025250781321195799609516344024642302158555934742750980783151273832427832054439606144592905914391589269570028896427481976836132889258041539905186052356706707580823297301821655987164397581809829181720130875004406435725043303006091400378974611407985937816977961061170044358911225990557646071027106259680352419095591872986584307849146951935078128170792843448419569960422421538357667760715975148407858785235717434362952851461209769493067908062407640616034339966102889896328976822413870554208113020990870491682485121962191744108439879003199836364371662170286559068097668187874450299121393993377124745547653264332273812469612378406266737379051668766382223272107605604744181062990544851157420388704298880396225978778477079502524830700476434326749018356535633469392376618322733747982331635378095132963239231308378210096269192449919949770497709171817250876770448954398067091129799997554838745866560809246337653155671344503820694711009220276716528661831892650590835763422162926317120325077038190513143076145882179696334480792789911606957313733140647815025865669771219302009483720216142526076325314549328469354302168116786669996015300058419923829817735157480864504995496588495261227935358996263539716626526114529233073562029249150592958147469327837263308790785409752738511032647837775818960912549184930169863619151228282857149554144443387416866993062471963030473280163552845919407367761696784858830508004074032827951506141734760122538721942944519258444251179245962614029602867377781941507127077103246977103796059758836052050464091207391308469520209907396591293460291791345385892813768303063985908282349747363325485524370808679416093138004915941535064684688803677601804337539311996124303866530481535276639389445744032907806070933858499446027764726954231424833896569425090311567990173808329278955641363641090086267969300260674695497678359040159824524055764291541923341337696891562209793435585573868795992130207993357285508976893979319219696027079061707424805708594288393202076662660949238446389953446866004940845629393491425075977793187731453563142143585397372112694523572540351240306826472728142084706279150913347015856075731080842483227238987495395807377062551017061824336104191818975935712946683066930916354149024246297100652264524743260732558918253751220195693650918708703891504478377491911837341962438244759513889491937986398423151584242756498262825867975512449836047780620995391322545318712582650040189036898168359400964543225615142430718679306398388273928796924358956516701503111554800387750070807142443679657873297849948353077036643820049198495011989309292783523162831811630554004419383852677212846873952435054327768136711336521141223398651849166312567766303948306183472536829341529924012402956550651794336106323094017446261281872100099856671235394024200405309874507973856174081793199978840213534665251048881869830462844832732060028681857252525414580046070964855876329976840488663019118623308344277886479128501037138189909573725693713198676171984775068528712783142382312798872706342325922499293663594243080167479505376672854885180614084631861924732981634839519719268698040170989105225704786100600351662333635179442505390348777424979282912310620748184237333705261771739008760437249263610578590907471588310198463793870735877088818023210066805681420325313867978947223940560218384568392151671255413580324918191844549412520944488557687228399096960435271785520036200618508352922059557525695100972683680514122134726262737591562936510319737598326079234676900767019067841545234858011502148224525233818413444589310515053210960398680764365686208567587843509769721151292801928392976712375099435136942486825038304813114413396354523162290857207845057722604461718012224823842068855492196969817661578715599950276045963356812150976764964849374937785255638718233158911874486025076527892997726036577430143690823533763400383530753238164232704709778560513117524269979921840072282948022559804161385100162305463492328048448823698734447051377346524069429119295786158240355869573694578551888455754690474038683057670390676443718297729860221048522809938135199504780000392054079150198819230169726544090031337309352629082800832944725402660143277788827075130965574357529661335241957940446396586659564853110921704165037547233874156613344253327824096786450630958690513065537345033029794365853387017847667727817109940619202598909638287032692950451778161140887027170037224725864945295464069612717685948177410337519112509337372590256502192070218582520655832493927785097879174116521441621763344195903864L,
3018920737621303497655253362095307993111289084247304641132448617380203475529316621622474223455032355261650246360547451306003176480099820495584948718651264632487746183372281301260488027746984397225371350392252814992056464211742512261850398880900631867616117849866690977000119230162142046686993696829736969998545719636031682818981932090001808173431415771845023325748885739128019209592737583686940541267280493395455028292653175558082023837522697604126446835978247406815695300932300505137563392419167855465167150270684676316576852595962460236741720625561287392927739614893410679773943048267654968160862421521509186546674562702815655389807843161357921510163709518738130555915154685696198670461071870331146288901068530404592233271310696600995747672496691798667763111573503280418650490170519418963082967879678160738616027652388981215464189522801429541200296320187065349390764301470132465406991433220779785222694146641190289972717168614594973226590203828888677827937170860912421514560940738318494236837727414761011181875336915199950799622870405162080903929009967023403090902357359159100169198985130757383914909594209310028052292374154538467640844036099601769685979634519219176196469679131260031686483594703802241816141247074588926542607469147635072189358566743184517292729719241393314910909972858892711284432812008269807215930678308991412026422310492751921185668942990941643958610885385930260937768144033970140837665750234648318230542269239614709643319771022772323713608682010909730324187922359349781634754609297655073033858408988211336408260335059088611793400781853792176272001959723156767806514393332715083563625017392603552037920821450604268804620524124049910271182430010445694637813893637110403960181743629083663430166567846586509527819639669604709010098092841956162347552517220433109410051972397546365831358624217963612143258473511138149386650948936149802895997853210148105219508361252155194899610779359108011678394188054046282525592205639678535540603857775917476119473888214185605850944216992509832233591082027504214881549379689244692442042463586242549554239874197599063613966229327917861736530315988565398847313710863652359405328523212268726624431392791013639356700020954566210343577457898894552638472153738791463492492309171477112055795358372150984884683801260505887406773189556288629485722023434371566685879785898853203716354434589601343089135848976129411916530978874293482735440395968187083452849248179524688045889848502402929627708657704688471700394546967495232900726665763434962919595200804217160069858883057614669832941571247049689325188384430076473288651139560670808266288223181693813724595731962496419482493933464198191948664203526163899455322158902082003333649477888702730703516817512773642992726387879384153424014692761754223744348907561796094296076970839241193369362935083617827375370616751997016815247777763024033905718449954467336590006329008682261496734043684426650011601140372218961274757065475841115007658834524638577879718373036825765914628864694679343705141677338953580648522014206804196410715193924947782207850461239579749514313577366777997447468860984180551036672944807627988647148071728342352891251791687719652948120203550961988806915476210892469527228052074292434716205602092811280710455929799387965041717137562144308530022142965787286929211584618117949614444006245018944622958586193797182604016664059493787059916507802238738535589610557782203815594315360518645185344604268461514258406576757057420112992319834410930540634610358370408384827575988168502765312158404840062273271275332956681832625354291317872573562032912653607938249414601239245812212448167806641742740603194492212872367689181254548611581970365702913727511476740534053664243372628641340998014928797108997234786001945512762177010396681179725249310592219832161506763579881165482893396799395368130011175243813510412463904510694766704785281731854571478914335847244031708884814025380525747960384230037039332720188975186135365080936171914738502141368650588409930609988873948278345648121189174535679580846069817039376060419951624838547497928592610715986720780300877628900160978761979876179239469174622092785422244460311278070888256537682040341348582922128586649105513308684822875057580251618978030420525727116983872501568957675969445437028798933610940179566444751532854554888061709277927751221766942037277359836261515592611768720947972069110447817052790746040191412487466490091508532106046770485638520303709484571487480669870040655477883395564266387419376747192698612831556397774836357121915405401084961537064831682614815879218529900332901729904866847217799562038775876232939705892594756313149127272726043721638795817873874573709486786049781912582554617284160726318139026796455083595533868999260194187986674180996845465805097299486584456078635115548691369894588602076742207902615142144887124413748423821331101499131134237674519174915698992527519820534408990779756390132557514111890682378237936312442499714925450200589341850698952234344503207422771406979883821218829315491021401939648093450234838415441062037211965280101625178166944347921865415847759011251921296379460970392794665215182309686648189152510523947779385591611027983219069409066855097029152594471267476437351629049713854470291992869432129203082559093566906166413247505605759881401121026598481961954107915331290442610976862496194445905774098913966346207517787124266183956916630421562234256467099094796995695727084535375394839787095275535592617366908412695620971897398248700214651616752647638069149913528635540256223143403538896608212868247024127648673283775665624172852557350371306257789385164793772776355982276355721419544101332665511595005559381865663326641467327560750490711257765880493815061607786808162729425591213806848491527431159914245353965989752180859659255706911520286041772987099179541960709422189107450615570560569900807742271214891334921348356040362231887681316761847851883332113817469977184764899396451486625972786477058058404395692438600071497818301099468110634685039464203065257877951247695521448101536818076731648069562844880274315888449377887305397617262824136557644194200573244974679483755551049086272303271726426279776304826138734440733237427750258461057203465299574179871830722783226687220153657456173169908603245487633239668688751269059290704931689326868765208657663873121465970630378898401914269028735136865588486551465302275358842117035798082124637222876151011797790104341443217199955666094879451825304956601261659781L,
4939210395803089697899048810803819418552472030557251821992091520270781677677595390859265771411703389769318151511252764149876713442128158551183006093226324844286377152222900870519508827800617755249983627755072411850924040176369871703837943657796019287465762886860560369700514828171740058740745319193209048060126916515123876766428092931527149846118521890346063195668931675547692706194938078035001126991233103097030518946112401752926493685816043539110024193601784444046339167006564005705157494974788347310194848248294081528051357285759897144042766321799848372266593991944265020227957030712855048755692032110648712504052100093880970185767502352264203623534235758877708247862388273293259558773152461457758450250715545559825848052822458096473151236856292958342122242963719299983583750203003729862776652165432418373656978646651310273749924515046943598502274523441050265803237021838362754321429233372072815485505388312477255252444323741118801902350683506221698580753625750378193382584758310898043647557992930956355328113716183819116350986111021104494664342478892017053762237542176382034563050791208479435669538369228346449797678722746525810445208977416756050975528349186241092007249636820557273408240017846489035792599527768332099569203059950476440142438144346150547738245845419957948158844732900715389234943391999352253286545328390012501020843298770976395445051619505090748013645643128981164349398924091470098364987455738557111442385401563515936493379436763053724604095417748579096256001204164471360920921722562357973353983343954858314212954070670224128807575172510433421002526019069905545023017388329511423274805912905896021207021306769746907657637631345921881483687658708056264605633016546399860993883656413678914607719060059915196849320360403999051618261881451007383008566775408297733856491333978633336447239926393886779272490151337421277344258256945804278678650346255796549338504585707782888017721496168056937866013535588285524328704762032842013596308598604991552263368742391837486994188319943791374211706217285692797599165601944389412911903336107057612813190297732359765925536617801164597122176112004686072107304655379167019579818227269640616623705548282098838505449309822333443570870059944259650764411515253708908082086728777395666229251266510266721511876725461438278545512521259239835604015350276676521307400439224605546766953869004737427844889926842263542692839174605239692401454131362762835911116854174770122999899308527058692956283929103329460724814366557946743304525821413997157939246440611973565973847996610658824626703246517567551251383966143947529291324433805715977095191665360547667255079291463487419191333169902008190079500901648487499816841157579943553701758062575880711484155386002257772456150527441966384447681468073947491084532740204819507658588491215453174948710587574005822282048351340382064584567631235040587044228025961364173817592232772672597916403641502297672021874880503447652146209905269451640669773691443051680290790893319465504086422750660754245079044890055199701037422038268577585028087642577146259872129392854023189360994742708025268790972898780755973204657652164263337701434657828654140579345298297483765410776623727854780824334550629785641447133960189110698556297276184557415396788012766220835783570328196969698394965794478644313923872961879783647914642310513225378762580062899471661396373645847685842299663408750449589021463197548642748266375180492090321275265805182851472321575696147534645674798544136228677701083359814249714408503974722319117792944393259834723674529146768436425249174093279121579218103567493708929014356140044059594054485754486348707165633690509804764051799760226643022484261811709980672911767655365429073646658888488550750182404317938851652796590419808546212299422362564193210318988330694521067252574509326611275115615182477623654415360570448972860628469306754386138867939094951568040389723303038590870393448107469189755041400481798205873143064941902517020091302335387119415883891778010394202264608644458892987266348257131911547163844288901695830603621218862103555416151455916990306576426488360085893383306597649195275247832362011188688812721414024141499549178910071094494547310430039816296336035361020074986237074678204072199289629820956787468832583996903793669446520773463932246091950642909489319521104439465607699046841629998129995782776680015376721340778266529713369186756307382042194279235065530124508162145647763442674429373622687690505623087184145070645643858699762204618141438088342056045823366234554656322999660352965162965376617008694270782598869965599646036160945655166476009197405669358030072383889532461329086717763785389144064777240982451680183463436601509906766593536578388527843912382712305413875732277714969871107116899669885994796096641546499503796187813918087867741686536019509259753613210954094406300238603190433098403958021444034646951680416810508274974359932772286045522989444918532808193881849230804909600253315507572261756661007325791779109493215131757011919209396161486546481745269459079423394826699691991254311550981197832470225619718685523610932729790858196493973009147054298606015701044684632916786242708067294624727629446457215519996848137786209867646900815456121327734421901171669779292570301460680534928404427558941674793761734399402347733065564717144058561447668610125693666285538234952472103359016353517466963227363458228590747289585546498536469905008523799996095910996139822600294086855645040333889863601683858749934769115874969565304914891180867298675314872870052545373080937148741656289772365107112733890122389140305906488613491007831674991555207420757685587288586486546099043029696999806642669259446388870224080724525034711693308813772567025571796736099713683514506485449907075497008863028968949584517873384502636582710250918521926476116373299707956015779292316079776466647783105183583449491204434995311613515077003215986000590207553104840594762592705542648108236847351162310384663233873135635320231311086465453953456499268338433683647250468410948615468873835236696606414616060849273430075676102258699519946433776888008999031152772774126157357355619487864772564241658895690773198893792361305794757694325665336993731096571627322133406163922796055170130006532318231992763226995015119324142620126790526983664625140782132999222936083107151249028023398509578362662093142622195672565056915271270373155442838072412219807292317828169492430759084848652633110467296179258706055823742772723103355239023353L,
8079911118066903725252299478534260634135405104620071618006735189530379671266867659509611240944900351909871002480167262760119238916207706440337805217164600392030752701650238793370115016448439299257768403445959959136507276819765317538925827352180651450407820997112191828179228681197559861895202648276272277603719163127124171422078105343306224717440479554604154645731657928810044677051232090377424328757472253648706296450189559752278155690786857295448455717715484418957407246370788300843816297544507986939938842059334699088988287839761281537810465884611484155514426854148364939155062935961167978194624254476406476983028274645177301673699378183595343816790549959479456549261210075704375447733389245139223504839377798962206685802768856315202128472436082042985277934071738033563549113878006104263622006172076543394323209545346031161406908958041826376033127886983283704407299889205780509878078640066583237681966736900192501470785612046840749190709242218058459456667033748315914704831764133921617951687350140975625969180186565089298497215527653644539896518969054067745866472448733870272671226343265804824156562788072527491477748330253592871646289011513767486665451064804055993377114079241096140533642950372021626824485477048349649765667666107817035887341321841106416053441864646735786532957073567427196318770487880390777770958857101396297742262859743466629543605972860949682368162971806080756730370339815732249281319488164047823624505768810565484176950685117425008111909107133852161642217124286131928746754048390900014617823681119860606149487638307642195750489671842743436985194728884429610529355091547009764170124392456667153387257685256315914048745912828576831237161164813722487453962572330171031006570624560140144545287568730052617842440860853579939609934198710954276690868961755324286682005928536756389606341342391325715772805102849872772504278604907272440851709862923275009389447807682647158836519049589971117592054960171228874494378817419671104597795080821382038590081067579024116895976375491244436364833893864406135682863361406561420470945898620760821491423671642490860234279748819674290846363201232636943360976856203580781927834696858265918277363179544677131830176512185954229616826549963793260135330106361959793266407025306214169594260864492186501771288062647220562346564779715789045177933290779552966586731138702387826508081491895272988735769461250652288599852307958244662956261379668918574705066159819409631541042964317018966556396634332968288377542692341391732558283679050372438876039770198478731968508102811235586996699031766897561643188863140974954437379710358278978008395946151861576648767383427293135547138229633502848129061124781822716662238582845238266976641750079071478222425364399489504226547448195494035750280928058942660364033413533400852072962410646064071164558367144413782710910007446182273379861481440366717924748998468333834966324391996665895447586540746682993735014031174628246390545111587270519579343982496434627393009448880628229316067166870911910812338762312471502894117512092213683200936980697293950364425418428921492423254838753309342007729875205091429244472198393125216863034060657946593824267647331552463362530544680232623506327708271437242300169176532835366197245573877403209522541275060873541039266718913392774902802978636874226638106924740204679876337443702278236860973360894209981828036182143667348651826079902753344165619542016823333546277200905427924936935945773897282269021453665183208707886611795583317145476571535853431083524264584634772194880100662162146508795327953133228250826927063467323949203994993709713248950155499615667638508095896923640777386645483469406317260923910375045545552326020163059076476940401494106445718101338044013584920181522971995649303058562780928520931818620778901944924178714374937320963665659022493375913680546728716052318958596895409952707966622646686353817681292319446256192312699119715673228945236479418688270412746497688715774804295006092570019098490954901473875919829503815839729885050805645004334795324280173137283915367083388114029193947879220890015911623920212738359543862321374593210217879046516801807814020515857896080273630092822704363033158295644732635017092487733969188370949780440393082428906311730758547880651687926972282760925923516107306032213782073001628516744079209284220752806377846044316056638883379098840986824763165882227331926873256450862409845848875038036201470285748794255188107807023714855067413655623986419561749889722760198884812064616940015766900362589338193187641235232639249223583382798719448143849673590258626132263253773216797062362557063243001730134647893331462374310259150226719872713691731981401522451493951418178374754805275402733158882126712262220682658155623410718089963956135512358200425745409702944934992121203278297117594175317575544331613090219255423822580566746187592356769128965107065276424171746585470211449595936926799990790793838546674789639006503094117457245856283523157618442680083285082658852244881412089595347177787070007747400387880906993810063891883587595742876595800126241885426915699653850768424830360911757376901629444624172321404028411755556046238548163881680819305101075163232169904436676979534797732694544960348071434048184508476029973315118588446858276509577944498692509363213426164757410224305502682759326435263483131582804768664687970895898482903511205321137982060846795223827358742518283752014232288973141068960836481238326241402477276735362510889539764199925022696197941396100770159547442049448942198658103210617440017262328895499772784657513336234657422145674291387206270885007455966358037056887317165673755681388255104785527911055940836593163660865516460753118619758445710742318643415219269671759350213498215272595345806485212169123843462413190713452785473966120704794916743831698450961884853186695667142368694566929585207727977827059757156143263681688610231992460603001423329287352175011690151060915761532484774654933130723313735566422751698513966530329725282666111749329597066423157635015935543491410142582669609951546651117186957227812252264310882847514796363671895237162200751593047346193876643130063685189524697645563816133017319742109917225778796322009167436582932351934076674821927255056065538898973386276144165254482116075417427556206786391920601844719261020521149900066227129610520570180482582065638407098830388294494909152407371085339245080308466337217060817347141205914877148497494705014246871497733165292117755433134580436283505273877977L,
13215966041162488839292308225420676788657511215139426457860487032371298542422918415612609596765116491528070114515070961956247111968121708803874129333328847323065039383626134933231918293364750238143147554516221010760833209910590642270798696387985790073251905328543864867443041111302173500284391455137826863070898976053125263046178265143733398499311238378590374331128254958845838475150289339176804655174364207752944578683850668678222832049923072050497351279587070889293423515487247501492416997962590126717488406005938130966964098021383944227619994300855995635949306217059174982076991662362883389621832254007709008277329731931661074819044739167992399147101679864910672393377710620583800571386078124278527116414007836400075504574779346381775299199256645418920520193556455297372551513756547475834114060091988439629900849991582133056603563328605947401348468454584278226085959862013768492897987650629117131604113091020411203684903311572763577976006260323183509674690283243734720391404430919744524900507372242637839167455164406066550664444896875615072697548577358595851270029033095274956148355514642532735927622573650406064218007508113202171935987406791069288726697468227093732063936121385229857463475906955859218432226753279939964282911913840427566215444640659526033429331628532523677713750064690975847779472846720607761024547830723855742424571769202925682682634712844114168963356641636737171799264899188152283142186327271043635526838782950872600572702913435971568629104681341378498827256858534860297011459327491608002082369919263880602472914870284690300652689149602759580422636945964051551243269269490504608224162019096790089854303904084508975393202604683557349944807686909277980624335609400292262970123854215060349701990879696375898485492288181647098482198568756201970800739404975895622120764385632727062852205422256413018999963727999155821414090498388313661018289273670644672560316707488137846214459403998084839200943008738597638223069689774809750965122495406340798253276354804564181045592286444157722082959856267344050318131631934280664182845665387659988030226558403435970097294612616271624927945649075472523696213781250542956354302154369614580143105709500801905409583716929967395232082582000976459033029296817838378113835315438785859048373501065787764820431059888126121939089477059095292152760693505750573928582284521146243310036181417736448143899758015389758952675921622552576451545789240706171149035878255268839445664683840811230805476016791283395728598173200238991259522127958009231389470477547519886244911622695458588487156370877584194055896584174159684086721624223857794973832056122145506899608411761493802565177390622365824651629664249366427182830402124021799399940285289661457285623996588930389763554701464077542510275556486445379936240773765871815496537989328754669067712537691595048390652259952220454989753702498784444698309125457532798972955098430035396590967340976515375550724464352546011036105973327740206784735340309094966906671333078185394518407772436534080131767178229770252230878835137949504402355372424042858170480294815219663868474705220495965755643338942464204383788710673928682890594611506130047080231837496546410026332671556936335261482519246546470042861963718152106590033567204531843509432756083125793529660573288830021870824814551053319292955210230699671798073579410491345803523280892536513084971983713837585564021123252023128492301299682427475637174694844862970253991699049664303037837804240213766629563044603029329660661224482258897843778627077303803144145876857311016742770237105825741439155347567445252803492757981102931605869123402324856932993126209641887846655350674874742531211806911579353671697803866506128126162547622192573903297386625756145529750470272150263940746959601250238588850484475862917194967641509727491053826770886229845475363166231591622534577824478761502726508155020293266331050846647449535146762404037323343878333653073160288408625631881361168367075235695266091628938959342203844084224627139081734975132882722840730818647148947887498024898847500318522256366741700875081162562822387953271852103199719170547192780363535529884732133768091566063485174158256993653901953697257709506785143072873783193569374012570055929045192946508750505741125272092528641221858812852738261614815038421603896029313224822153317609530199686656405804766667179190695379207765424265714413430184551208254650794832554523326589400354664296612517935684638936825925234394352780977492695294791903119455167085449206631375383709257172957096050413392282019107489415513362069398035592243205207894285077289035283900032115933567815448250039098363680758258554641289914481009050458994491982354069845348080842168418746706288852522376947426461620148826164588914826303985517840647644234265603713288025216759806505001729840421690358433961880313790487339825120042179803319930438086380974050279728105131123235848380858963982735181499875730314585661019581184232751218771792116805446027245863584900165588760924875144834019477099393849983679703773656491020679282479191016349317150946811159612482679770815766765702880893561047195711213467180926819099982375828913321214217509142612979004332441099759252755104755307753145606215380819200582670421004639616531674038419982860135196547595269023757470235872666394129647462418460098038042051496584192193012671262974779094052477803984537269794903473438241376012380430220201357749840379776119565223223469607939310969511642639281052156000758777981958250475477826210545689882290074193072715152176395827654538283996892262100821579936877992469675938756531540709461987908761770672803276406334891694335169688081203869217797445420274517573367094391310093609208994380806706759771677374261403631804083121393109472725296462567496017315551873967142268535204913893371503636316452486778126061864612503555445330593743973832341230610100331469661304091170477009661193348199343862491784857190036099687072116345903526708780159513630976458983129987088718333921188362232968422255366575672960584829079684573219059438746664283612633847523088285623725041894750836049347129468803003908382943993024723632776547388184969657132084232392306057241799328736216748583671575784090050900051376852355780675979598507945491481358090560725274613813141227857017222291072395284353552276916111585572198571666728148380164724912405491099990436094556748852113419075399537751533643585389973187313015389653466785442121004869008030841908792906958890797996088280540400512740534487859551616397632L,
21613970277847111220233857814124459085623305984309129068080082919784643270672432286826869776624966775524399850935247796866787832521727484014376189624794360480777125379712835794892484775917185818781644773538742742037535464556586696142887009971408375581135772496184885972765745881416818887990588876879690158190456370789510836565966741598762757150833098437665234671094265944879093548001936164405386978354078296786549258591717481638296892957142496742535009797770112035216561950077990552831635254816076430216640505175322093500813799365671140675522348523256777672298045901160351998644113973110483331866051515287265089821208914120018675444363431462087145417007070637684771700452861969298647849698371225567551718484380390334519604033516340056806865644551962258693952965832782138463981445953368669536010378481303433286173607871544269241471010096314007852944103367299375188913023828166216337150652250271537677782612861901723259155529442165390665524995000384174848716221089136444672977876625647491166172950111878177686564324111209040547732754219557875947073925445380310026797484243578806653536182349751561493447216711632098068080325465514341265625329799983257529292116677929086701137177649407715143108716913296864468818139534109703834174752158924324956456425285819136326312281159094067092971808739241160660204305567257443678094412635059751943661204065904482685226514284691350383761572240743529809083432077392261599542727405940132429048019605440299698620122710685541054789277306453059741625154767265427956778885325414151207701776679388733051193294884165835274954179552678213662712541724525802285281211854032664858194330393742826332747311381270375388948330092034936320272014983994556672133461038779425308596555212450060764990660624825203430319547786661835189251375431046050502901339370399341476731936282416538608440205301025747173748895967820522282100912849819108262008558596859297406999926656465579089380682037723107582248994145841337731981329993891380598229539835097664559322986588095728433017365496539354810354616064196366362702824472840512484889559349812462174919853918992890422128751229107897091222856454567686390541214533392301558829356972573762538808318542744079943056311972622185889359459658211746056685698489948025364650028355987477132039550568549364307827360166721059080182896696362520368069362092950654921583708285500750712744110526502683266089959230507540281611290254584764698145855319623526899822506918782214836628618626137856912324420541443686683045225826505905013601439241547911915436331088951610311580827680278974337078474978304484269750160081569583036552206122994365127559466611670986407769444639323677005494049017321220240299837236549025776820480656336579582267261114053257074040639566653448679013771504292761885932741535029157472748326170636983037212153408729935636696601551297610654722678763267023152167246277026468695320900954554971529422307498893603686496063997885503055764820276898796445526978541916925157552991160255611937931942527641166749151021927877935738914078498164449594828275381514550975452895684406139072490489811686961272990568492080066971720800161003443136279952114571206489247823274910490902094530346933920753355391745179859098303949322342476094706406361430353259370618309856180856073676881550768684083882256066441077474538557796435084846760614650006385991658893590219476702953308669070289031183150050493721168882222757585634943766426120354767634830329389140403470661843585648264994417556428497059331919851148085520509322680526409894247459091330483118996612927005389581433475568157799709145803684492430197914971325299911638219909383356848906727573832785379894405547127461470590202565783801593697411764795761217129284120686094201844671485563977891222581156761613270624578240862959553430917777805924373469451416492129682818162876992317761698324504923430621697218634100580923917473169320639310842867314032573556153069903620789179325165728925161464513228712879254968214080499416932697929274187713546590337890957782013924649849984360640262212486496162035120762074787440064843870743211313247240997163845450764369107443251397191884690824252764918871314863129851732509661303213119037433210231128946852915578879756179831206156650761157038509751755412108209474928836185172770307890541741355254556741267372921825370809707570940452701816457504629710384554337485481008819961438109049834375073520859391851078314615738160136065240515974401057089414014929476124551022534957921864883612805391775604130359307272013981332005714633431716670133528898136504278772298277894453093751722434741830287406021972410398007908335170153591992664065365790498540908681152003232411367301083706283745878044074917079172338051716809145471067329575887831261130477817522419749645822077501209096154697521808846505199364739024498719467678082220875458203649377367228209523164136191997012442734678040742106145594744838300793257157696863204820048622341299032776788256211787383329441565903250318350646688118478635473366545316287434288981152649476259531388346976532096549378799781163665389358187123393898737939037294174185747851260221141263331544475973511272006635951779937350979916614480823819936027684316891809274574015297093960775100975552899126963066694974379317984050533291807041540798215404978304445479143616159411235192003263614816842150077453267761566181880168953249160245302451848044446031873581273833380623389847334660088216405965133289646832624586964967019033846432782928138841560393272485053870747393815854850156320314591849227800808146436118843590881421550415929406566673361988974675203224172590788788239137735864431145464013928992186889291053181216978064284762471124354012811453280023422787385363105491726889133282162069085000818197153148739517983688205546249653699116231613269716585344596348555055815784591154132759455465658190104999470905589833507216879279943229442595196694109294090908490344604150622693315992616348607046011540889249115065297129972546539882921410700219873372172270225145881160799977662829130842046407811215708406704528012035200594470132488309511221075181313488948605765435122882852071523164834425727177548625492501126605227854251647954218355509059160842955928193259621803765316292226367027871791406075960138181723242634341877268630047852888012120683223437555085804230224914450527622271415463393276705145833361634693573567999600204037628155367151172732445086246066697744899799580028736486759324669594452804119318470574005757132038083824472534114576390609389435959628664391L,
35343822932391543973565909607446581804037156866303781866635766190662657284218620890894092524680210078334652894386249790339651470582234945946056704378542277034612646192680159256121931902493601224512184195025994795664268459293354996807832691147915257801839263899000994132280464740892441284309836769417847031629218292828663216500678625051499685150648789990046254118650396101795407268813036542595602883109177167624198033237658524043536576164651934915602429356207744359166917500897807183739810919405323317645645758759194879880947025589324936775743751405786142031409943996836096535764542721856405618045415884798501336544519469261494097839654890353287909408724588755428808752248262633967960057455826587532234070862376362620290940914294062470288279429476603163206023698582633951645848384531463683905449140374813693401033542656080959977175232322468324414870523575771671226738530857707701789396500997335697546147609457858034906527782688869964001442977852347620494757296395978234742764636907060515440319512419103232160372880666408621200770253179219851331428970269219652472829035402063822204796058263168041645048019342653469154224467782370536599927293065659195374897609480102506348685948200977084271476919346220086816400424222892347818653084808066606985191374764552729634412281670085748051174783267800050460171517226290406309073716351205340685713567510480091941378977560761629698922317812770244476597115428535954145308349304163173506331888142116443606644386837417905952774963456385874287843468338836919007787600731298648683766228618372084880713762585618930270046565241047968442139436805380940591219939207947339239365187918850031542985398882294309873747383292739110523943900815832772989088813182241562830185612662743702683177005814287872228408724394538766000227778838558525763318804871346836861834614061635183848767780785960072879364590438340783475480317231389942412231320666507734125268639624974510324848692286355337458194048367244022338494039977361232983068579829421492405165306289322397046337120441554891316148269736496530483851593546735037712072822042354906426084237733574058193803433162232534720332327319294251598236542177739921355939609267889168643307043373326841635310962202292012609923036455671216989743422352334191887178260310868969579726602580544547100306046007378988878193339582288630081665441549573999315521844288016419207408991685198661379046458575078774581964393084843149399375543507998338818329441331156485733551533566640522362461081978085197471678010819342808666359282849446250249143367846451201803919402044019777021352617808666666128350233210919151170026662400497249542274305464779679485536581449204000610627159234721609386538219161863543911769402003603632363322194253650400185753421462546033124156053204293213189352861494687385273773848172847393070701455616826863762955789574949954156429260490482253090918060025539454322142134471278648771471412656269964901770337564969553516274485160925821555240134093466979815177411484195252637528167595821426768419625167692468507275127823195148692688242348128354429272052654639620590965174230700292908601169345741206953881493205282037100861376108888803484406425252773141944552127988775622030485794108191586629593718782873845813089394559099933059783206028990632012588614384093743926430303557016058991380932750520045490999895214349207671376077758337535823117053069342627370889590712790910759016404685056318228037710047549853709812405926417550138297842108698334938841467006084373023067856414341734668789354754806666811741590640730248050124309713998636235421109285946890175190578596494149020202529548899128975417390817633124116030911061528707898300284151866670246127581327392963442049007069616755733190395331124879517226671270021549199798733382921471579217667427200693004241861987851988967389597690545395247988506371349121623633663617374158921287043205052727136623724804875140473701049806443920307573497430682234917750272568850099908737479620671073707269690747319679343651184266084544902916848208546279796008131699344857066110573024644811867709971333490825304796930615950669880343066908930798088036143852149147237349097818856504614810984316898437929781695325368153396771115640469199494375224887150988859900286729068686863682701701213915515586165995971721195208304895502190388897467730949330469728873062664941312703839940682269972613298273736343448954279345815853513546312620036280691312423340300782716775941696791083399263799785927829314709186159895809633236643913728201262037060266837409367444398595817532341051676309013938784996720598452788056315125184364716864342920724519022797382074594397481659368370206482986770795315710374603904145765147919189083013649565223399180756974360183570995426579833812731980098590553549046077413125263486768289840761797394995794039816469741681016690210642366034959491784570598638804776973683173979263943376757868558719696911145494617249591973199064240872221361687558630876935461628464753738020392055724389134924913111345283680057963921222820050942995964972963745093716360930313597740156242035801754666981002424420632617530417827168638673838265072165016469914465803758773015274771410054505338823677178497248539389312798001270414490470096718112915826642301304573843010510678490530294568136067012749322783332816526051007723676545706822638080300640366095594344081735789624024256989411903432884950942755677666196426613198262205908546422310734164110466141632232682334209135540747207753490162435002815527261769644430445714767706455309214745888392469036391948990781480655872963956377921200487633196912069696462140353490430418262057109000434247512615609699853450807193838515380019642690182160443278013627917465683226002587514129477738450588031322688367867783172103223771372678269304510239324039377760175278321087965202915956681969972229935276235799357824659449506535025592656381509400355685888239141835011839970813930604835852548571797089053701483919050798421315794611070718864290456403656454007309708124213778088816578579396600900954545378801909426686658635720430094136164191658399232904656805992346639962938707200501614420860927788212390126648370183920597704103951072979390521270823805726110424695072437070739180095232219152667222039596462558931083384307797296240405403622326469461521338923266825374985504773619614184525820616315828607562851121537008795022460202831769678179861189410211435981617941133087499563277639194787241866397349995211072086604148554490021112523725738544981416327899651491520686589055906358138240L,
57787760520398701392261856730468250184267749318344373847889305541125482646800217858716169260739209878600438639030274421344790844494190513671366728769317703340430497526504067728478242762685270130739291223201682183244172423120833074592639014749003323501115776784274417065189930402110519868387137484867413455476068827234976715109596385249496562855055553408113269937010540725573291997822612525534345466249489035776069773564950384831360599200992672357085988770609665876923165489437965301223816063867739232065394520540341049711209601462134455093930665821893078889900832404749901909947043167483046774539124649012300368567970507145212786045580968039169680984880848375523459118145894846208265104621254590486494845376065552229601133306374711297399068423994594053307206697267676562612351028252388424677662872487139531557934808454917489696255298787980746696691627557531102332140470194450891207255002107273630231550813439801835030395633197599757960343026845211164962744074529476995811290099620492988322887276500652427950815348522611125683698065701440789293531625296652674006131293323585911512586047155085251613946927501319365637388709820429136678856460072762071383245856391751355272289170655468385904236908789834273501524329081541975971818329248058107098982098859694332677744845931506228436139962206586827273216814344384321951057250154075289881390645676496351777195808512359726808001331008568619629379027567944738536584377171885342537149170490555481412211139161484107105718509377043634829960848935759946229557315489020090848573273157644473470712483341893319092207198833306247468788623801314276017431019909258667746800803063785434014740048028546658441904250116970040990197015503935086218627002719981432517509401396915707748074776397269709857706439619498309489487620614539250404533207433794887982925404069486338793084005496489593022290148543772039031147451796094516102120306161130177203724697471302968687341538367692237930881475946601684746977771644902427335546440759958002501941157580693134641111799121440738030949560191812166645515829972596891781586459945473105153875949194082754156813057367426590884340553562900158053772132147952354831101306052903636128402281182971580210028683315727490456042463568874816612787511650540710845863128853725733107948969015168316516806127801851626194236645930754206804651147686365109688281508267125881564568048057726651213505940768911839439903276578184831174589660032129055735927137942418786342237557020650174009586179942748091946378931436328758471704132822560950243472111246651829308759502024222240859269069695119333028593909041897395360290298976456268194199362899909765003057132246121683594022677776568536403172505212474731498958474027012670353263057973808103266861160569109071186438747179965633193859066955601945129045577089354657487007842417548106822511562468307683211099620260322200283257986485000036001475276653488855691613201744696418931406533843258004211556756262819048553415795741829053110898953254914064631635160338332931268915601075467199477169747987489289752653706837905450523915409769803244531327599038913223138631014813279036071005018775091550071925527926312806953735042395797164037564044563027591579647288807262028363034177916870157940036162283309834983411091009374100612109775465537810189075530955782430552297448766825142253637442049384954587227539797692519239757317621775304114681918642692522158628725740258964072947698363558008819803633781032466304413881958139113093104835760617457707342361481058232996579494742799934323412065949791552979900925626747200607706302452622209729523075516972560633124652980614584611730168342947850922369695275629235578788319859519878372408342537185792106830440041002601438161313891394097991942341874809449806499081112290223463759138186412073079969763194098704749017443167640536216824148444849715405243983284742566765803194935346492013829449960439146604312910136988659416458388483747775712945052003054489787325570318603217240506830814003870163699771124226415940421200633424513661993600428533865203447889581356684460670148988064601372071225323317335493413775520969214418201012876001899819252992307222302306719565295963968129821319874589602361339260574224528152169913626449501098381810249901851383421795394654800216442013062742387949709453134905151567780400306780451708848509086191932826036384303369492120375131803798203498266360483164910949329989065335121062666594803464395031561250073311357153828503741514539332747201022841967310692256767557428903979660198428391876163357068971700814440502140366677530375346975653665833831896522346603841706117734237683450164476372415763226498439524617186723042372235373672825022685595388010447268083371437105876172499067573519892744864866555132432440992887976773740455071059480851204848006930996890375818974200110548512950677311453373431648822857887954821591378254444047428326289170524394098635584305467427807120901716910718149695374521449275041642271288523037576480998470746291732857734354857075980782087970110350582004486706148689293140596561428263712135718335612892267368725882234392969650203073187556774208494261568696797852116641868376211101927103459515314824728154792023516944258924181246910445963459677412424771242621693322823573494632175909452651191218104397681804132835453017910004764298157441725289219692987070727075525113659583201353942896644212922507385703536225107580484128561349385693985741030810948226599702595083743024093375419936346890898641356306319447383777178332951129903367835068554206997649310867877041295427718715340939291306144564443968919409638316930585523732866366591335647915256240719876350667005171658902508596618504353468404671933772604760036333459382929662247000643288550659109351782110309659125549168710102164141737460639065233569839979782034854215930379490352852320175025914054120514839443277844320302871797095564185226568479715281969619905181903913948573312792248241696635157567626529009127300473011456627188926514492925875976557070162961689007598270005207144530807625518380816925413953355415183087799732057710356303165660932953268012752803083461598312067090848031174546051623235994019263264422703485413460185621529126556086702662300209737676848497923753179465683988781093181990729409577007687021797277240821789035273836588835334362558897008676364181122874400259207780237050659858808126619272802377804420272339677734292596143502183457472991967105215564184141160697499973563096521074279789433438279884032010979741934349288031174797459178473857034830345L,
94471672995041060207984228780923647964177512195861474474025278796431708523604849026147994176208908756852167346997126143553742185760001298021426101896505036573000259847717804725502842727650596651215038401416368714189098948299791393749226483917374359317849992445090406881432095323393646366393811895782699586786649660403402203162799095778541804476985792438870159677151798572705779009618922859546313209268424414113533480430418834259597137915513517457063520837066028588333004911002131194372640867702536037621047263605912600155850537493265389063892310227944011656196902519453150683561781772495565265130887476948351136528527768534677784328114887788336215417903974618547421347128174852453790709322543205372155590998673379313905001712087477818080880413139031906390758749688266351355616595711431250123409649725946222174008088704866090642897030012578617564228398576652142152485107833091129475723135380827853613421526066404543928691951315491394810560763752096998520897334012608492452590705622621336473301542597130894704371177549076385004839967010149680484547955486277457423745435844185134661214119982732553143219918972326607631366144003397203144225379558774796348170942333528221917164740833220866522811539382131720364491520824020083517227262254028817175163806967200116343676051697125699617832279304233551930325340687579928886822369257035216479244534169693276500364128495904251120814780397549357935559714207055505443453722289772100631477648287395525718975339441915098799019257617873502829012405100320131347316425188580423511978494715368070928891070226761188415019344591813409315225308690217758026742236361901094105384895340908128151126936222770846081675270497076324525115359479911202750777919544332896172355273796978318831421490796575100023548631865742255135949251083312958658281708873116316506141197030043941694306469386431656566054417441518172934462015738902028469887692715898402087036306776646764284003902030433479913806051318406868521316868046643919989543375863112018468617770089895927832676350252513729082379926117452899646951115651182871075379555034566030916915430540725808967497583235635548862394830275551083007877629770971550257054186265144471065646418188917115052288604798147596126104926041921632043693128295822489368948208494455073967236949682626591684344247518305545307978890398655486291749473629509906044444299639311499664283057408201869267592401844990862081351607318486079742769057558046050644254020969854251114737497806709691277943201644320907740790584522566542702601606867428334906576444561148154859414758546011320576143275362956300290655143667689471063299409181712557137092045270509739956412576109780008855269721350741583835522079413066669760157118680995558446615323611836755406912975736361372960098359844947868070061680029936669935840812685697517891928720250509978646255788866700791230085425927146379454948257559570704562427819192557914006059129433792180347637101716443791161968812800015736958269999647339888827023642729949266474191170645734457001675283208790263322206621189311935197919617490736125917478249112344916016550953216402530881879863033538504221046942200960820127389158228532939179648648444315195411571319684204924174283791538623195594471513319751683688521331147592613211332250766818326957681761682921536117050412378106732227251083138425474381434420341719467211245051287105889096004015308823178225044946755659582458324294010277403789893156084955174873689229845201866412023225020142410363192826336331537297624748527575051759063993020080843434055949699045981787654347288093460182380378086473887484589286337370209548279988164671141168068615325441904829099969762798037635299371586524620490846091484542911138082618137867278255994073160784344269539856602366141288310559181794463801766943931788345177332166904465884916198672091349003406884805581501876585170981007842213656835198026397561412385475804263779464660679848021063953920646211043882642070295986383135779049435395391336931786293121913047737036928210069118145108077663669534863289390124115675829016689243984687945042270174390837621012103212970362807145711860071861338756818469579006153082099483738032756497503052002470957070684919715427899795624875079271203181281462569684470031968596506343348842447741245871659760622797016582170101246281002481566889236662212552895216855361047456103074306713119589890444869911042726160058794487393901915221749785022571018008404891939664022721096886765858406192187590607948843343808825425446498485819055258188808022117484528460255103209043678890832505470499332735621193554780655102961710529063225064358699468533792166927709307044971405926748732178453824755317440570973488791052864006676929214696926146966947241948107342235714810513225952292853004003231185133336029146383622402439234314188517501882871629886241936465374466844335396508199003485568453741190339005140539410702916481243817810552183881334493015247639047015123094744868577690233817116343133890402853047941774773563871262559287387537577513139185289574914715177461386186886342069858361503203761553675272081580030777476822213135370282834493176209103414131740444404677877858521096550214520985875580951334410475981507063215534678890841905346898863742172928136177453594749655808830929837997886718381120420216779563952185730053447380295664592015904898342628713198109284431811427051672572543229849662602216768969797275234260173140711742252263917691314558599570694433746332192696228794723861937472366401469044314973462654384864899123273456909329598784151540834648401739886789629812918963161338640680220666918639065832220879382199191767525314548448729158199960793170235135699472549587765427117067019933495174011541591844576408632241174434577462502930684173295130192431311611803628307693940565796230813229263003616080758977263799235834644012513968570761264323367708675172700931017589419365273839940801720745337295801999976577847096060434371933144393976329760115831751504362497897752229825227891763172573794345387838196138368167422243074343312705635662293691906288955789075696793497880542586338600935207575790164578266941154357433017504043403615835929901980007240513104030584415035258842272871216975129375659144755805858759945665230214067254911981512261811880666335365887258722737723554565783452583853184318625748045340745771363077179929756661462945387470932728924514305096024340239621206778159355838153262257083329211760631253251823957889591380111320866122872915016453645940248448963048514507830822823671693320624600201428586567618725L,
154422571563155187257436115313561303022836390769998146841581446820198668782538200879955942632185416469272592482976866641342071465203539369632624734892167408576246435038980002474025917915732426624011428085548132633985897044868774094195274218555342863529774329161986852329512273041385412320237355466860057117493903824766095616743138452524408673800618140796720611215774847006740733850428879005176636648348655293482421502403383923359047916590504484612150903833247205758707535976820280719023299965833417082372956207595069918661924332008456129160337328586909573710372400250560969129049939881816200810938983905237587232971358201345235337102165947143756171004604562468321935492638147215856450525518216849202216147814730752947523661280913899136962081286563061446008642305783983993696322384271217344464897482375328987904316390973519759176522331816020020897684452232068145315388239288043374876277786992447986006908924652503880265231630614258558913554952370510923714469028322516070976015864977586177290929126879242958926826572037051278058403100017591544862768180033869649304246101365627592218780748895530831580123122477131130435278160181620212756603920366911555098883908423213380096041709290135557801180814706843387806327426246119658150275491596367994525223006790618149824203813336830084343495352679321123306079788323605878663201150760416438964516145215966952286743640455530743018600032296070602801082584743996387098921746267770847715431341894773427835715939790778065518195925573027541959262307121629481440236168094205009760717478223458444420192560484395842642455392270903973027228637631505590528683274933716163807273523756234170942198416933377797232765620490565640807789548941749529277394565020662270855364056940393623453907705604878489828799557002162229665221441373718720042609986155934455464742624000609966238193925628133669262528484408018641861672774059872659693391445927050783613410123238868507602184939429403455578043159880619010475308119469179965542335254424344059221881872131923473185917944586351633662395440239138281224549001958991646168285243817858959874830357154630015539677011004529656870355047500915652032062899617170276774142628923211804234056438680759118982905902940435497289418678188238401648042300396379109508608761947045379596060822671726791549067526724097236962746276905507481921702245941842890575780460578275199404202310075936792861955035648715987106550361259738609690339415239536629388414864813614430353934761334645013338228486440841727128416797481247427807360479419712711645382394896328778057424435364478961688326689202282520031138596063160506015341324776070038360124823621297369642750309927355935574791942515459651458539781395672902028557050715219084792558493669269257983903466660631859464026727645607816058135280937708907512977059350190301751240221957590895365057735923230552584843085377856631696356125773430516693697855776255278420147168836588426913844908530784271242120862176287816701591722159671762424831851876335267245386835744069161550129376776716536452704767749666526887006697142701191607087108325847208098487263061551038134896075268015318615653824168056903911652471655691448910443104141158667337901927422092135191197815631998182949012478678378586502949014170390278396961114572732520843764125787297286680435539135465220408075478146810644452770250466860093594409855290853957881152515480747464140804207393422233596575105024818201906689506507512617787012071130786161732876312372951078104911032870066672920822629354978451271007458527207591042886698821915352841883414140749068099767259273464107732874168769895578361905863883910494529891239981861778876147934071488406604493767520391700223704117341109169843447532964485966855207277309559418546282589522997666313621382468254204564367228938827212022425307241417281369565243592667560767010053656347161554726540704600182798741855162847477655934794331244416123417683079893443846558493601431172173110060682056179710217447861653128055920385680461659858084996993549499489296294640587858682181128475880923620541814748734222304180651913636596120934587022901214435391555192771977919005101801946749368698431987828462836465837468981633477756509161764644684665336332459574196206194472440407172875222693079874476945340811108248740537150088411305621198573335052188637022019854399483053957056155823953303787221849071951862125396657478028518545336527489481360252636405371785652827780538037838302724472074672043778430516116950441363900478570001064247097451541387897493822012448964480154824939901724736126903335401915563583053356992397895517583164901033273247743810991788006313333595707766623531328606474201034853238816704147603146891402724755130278968063995284950524905539385197308088814252547497055816847035887714253619172380180907266223516165437901988306461970384854791250929498206050254315183078531749101516409676096686170851683321114031572352712474983030397075481077393973521902798638445790881289555348518736674258775340628360318324058200570911254003762462077891876300274075254646140357039122694318384531148527185590705834211504493980223515385946445776313942790747955431824451592465990910285368419481356241723566201284361722868839592656795898382610538396006783016053078581125669559357706306145473696410636012318476975508124348678980309464234766298991607980067861506302966405331888290551859570800467417974475967044000984468351900031558600830601954292501248870520700078893001639878644305938593668560797440908169640880483442213746047582067343408526289033341439975322996821341119050362931864079759972482256380887196259963547942327330949800887033937094396321019730541022239266253352832386046902751247475414060698708771654320735871318278862077133069077107013574690296568085841978379574129377764722539911261578147407696607276802081569265868608478665910212873553241715683391643413744403641702385432902853142173937111763828710209948342672135535734661411017369107852946147577360404456235406302430605172410546196789219965350481162127922165412039062386195742144078474619923138200226338312572239509439932376387402013655479169126478189830822875088308482644367914566805934659386227538667674424226089342478967830289577284379756728019027899212514532488436459865182168771829065675304739382813800494818607184171566222445614956599448534577079595196140610718730010503450678376771236571184456713519322506167788894721028075800646605085155799257640538774170033224047391642538543836479730266763449989031998202520335764234741330063072683626056735201758721127268L,
252384929244963926216240393090951125153031009626631515064960443762535191544481742832274480701871793303885861031647442031189109368280677902044870718119223934923315700186933148868759557772767601699263963776401109021321533108366154561499230064612011634387133053597810978921028947358714353245332562214755492358157394065079020021076467711562881027828253066867676434274376889936693892256492407710424099115229060138387229627022556332936334470873744245339775139276175203183587454776053771965264949414724315148966087878217275433630186843578636819719152516445527834578517481433422425202425044973786835198334833799767575664389498937442328773053320308111581289712720623919485492893856001134440696394595101028346664243519985587402451877876147885332055309499167277469861608201075335593512549597332477233408958539254506384294441718968696211725688998657173099488582598082331363195728187534862444672587170739572275547462122006485445116637332959439417434870851274123498944189015332241064510355989958098123463542201803517133428343048588965710401871129636181583025201936010810063915826316376586223328035777899465241434308202937804328309958800889002680881543718036751069419563236115101953431275447551234732709626643310973168644746857374819542320226385212758706763339139224312770749672598213301634626069180273633651626019171387586183906849895314927290591027037424662037818301479880372668567230931061622159718724666537044701258016206376716162228494757584793521795032648645811254026120773971860294325854529234392961233954082916897108593393787943369436906486279783966992127118614736083438394394380685176599042372527077681261507690132051781887969376765368628821071757440632369821292618502867429887963895079679208679639490419879588403935466329112953995212556734733803849778296444596506958298802699074974852648767549976179381751445981547809590622736873845597592888281039100224458901749420659353130024534603509127833111684487088296575233939101054846757203709029668084141130469158299945243504520014629404471595552298730538824218722192973581704555374211743344756994402942568465333961015845369734022968097328577843028706463781494174922748576919425261969772537293179589618580603875384272565159508931816298175661306656297808518707458169074223121113504544735066813388001860198469716565068649280934374049128539102136277072899922623460932662530424462493082110227608643450038173720714986730254723929882998818006488788079658413863922356693095899320693202498415583848710263887006352413676835350772194315729347826010147599211117133256825322961413898453534250296443680114354020071009133369048843305657160611404902164590081760507484915939735160297930803834758894540678063839109914561096641804602193171652450605221734234624868990393787994743068004462166860306686598991538424248276858213219982036359006499408932264854084692862327540226703425992808319267345099488837064153030060918147276353561754364532131804010168417309292121883168824954409982276159491309888691633228835297852597526135915293785183018199192572522703526991732294566607522364904940918474335796942195638265232732151130415861970427660230949043153532290056622762523798981828310933935711879706506604140707044166391701920390228215188764906303703797475288569238564411377324716121857069792976097285494824025033176551969634824901156408372370400551916089065684019014201952642602660424063938853442776132942902682959840401375387195845329694794466306256800578941857342553591082433488863824282641676632120689330057229006883052486691802507027564160158652981977151475089253715644168742138373400513495619594358580483466294978628507938577359331547561309155841674311172912173459314444345996186110545077818140328698687479888368575280028569603431561542468966234827591834878963031063657565539223488977840071220519758863449704657591558038392450311985844198874855217770478483870295001289563628315312683298409409591411169458846530241968564308036475835013997604814503566381376076845983394075183150321015867987217469257730945882884013343049478499769027394389787900758392325313616803799463234986792995584128663757486280673002858006871719385849408482076789604889301854314335777400869337706746037776744834813508831474721549790060305317902489846959048284481476683638574300181449873869682493457786687627097127396806033522422388801077132579713091091973237379884116239904776066821947022000313370206992564932304352744992252711339374647922513858764645218039731063159793294384351361727246153764262630065563937528659434846648552339708246738151842831796995118293856370735252602605334927255312384048574739572406062619708841980383211661733641183775027663554629146977976903948674044994528550889514098148824513358056406868559384484889466021983732478465490919814476948728768831684569957674967891196797471187984631795178873580361933373876082280033004274931722868533542152627685348923822978151765354972967094221504717510142134314057196041467332672930818005026364306062929084712791251951821616839455412454714875357505138039256254145818269264810559634124502976918519771997917744384964910758759855975120564141596571668020046320079574508377448636635453022999904612659846790212173532281698713536240293820025032365307082062746739829887411307490769263900458893508787994726596082248863038903956699126756563070645167645821491399755814470519620603989596412745226035772965121825686336593297669431807912134856524514179130973672417252178933435767820068884770242992841292861447612790860590967442518999770437096647809577363200062225698727137202699087648606035686356736074654394036359641842099193310731851864548734741955582462902554247792796617987148267874942787807807110885746284826075297465622824767744113853165824641122607230118701834574289096394982169876004007503019756086773191468177095634617199253513150671114368031828777363446486574668977655440567059157799829719589519403275597206521136854754386871536571120124675805413945322758558159687045939121722274743974721377260516826768342349659629708917711013184416907019483383016336383998480842078863535336118679354476975385217855668710293554529626655511260766102169492422473903327427143065519038666698619701635743464278775013378768739723859308220759045880147813661491094371524852643912829788592423123173782070580434828270708925435902213985981497908397497600733903910119534800678719593595845787004081261112226913025443215072857633191099225247986397564901159533784926063656291341221103351003068505289277611662868897385320224317935796353657296560582195832923912422090594693014L,
412438834824748191778233702508518660374613248493737432764865846858438016421174465481891584371710690316867875820441499360026899993329902311669856488546011109081331987552437993181093190794955329590415547292850869509476584813712468520669896140778544812669660500497404578765392105850637094023689919580374728283016137657677780581387923733682205464125025898687775190272106324684937856144617105064173180554019261175289252348583340282278085032726011227516994505320578357674074647830701275891959770846657816998284520832410042175816950300679787180197256593458879514687366055989513760759250621475126150977807336301057107226344463421893278751156068146779241441673499554272027640170075112804163463144833634849520008808727605479437398714997118637961933181511883916759040728650530067919753244482104460520893871958099290289691133941037612184022558732877609644618958015948270242155393298279591126572460793559613344178234582386986558238993165945932335870474377376766817507901742580957122875502513638697954304716165921259789697810327248268417491577755329391349503990828404969186781300277488124909104217676597687388315069724572323256743341681988739859082808887223548359855259513197471270691145613794714648089868031961736804173577450434874180595276795882551362613170575610882932023628430120222953934154211179727527310532377606523672669030892663167992039871093553983367462984585038167605589743501364522274576943441107760867012959441201508655564124010152235906850759834891416360504312172377675827578246858830362846792506468435059801582106879382271931113287610953007933581947269390339316864535839468256413165464623596549011188001708318329555965686580290847758505273938743061710763038791271430407930983361184710007817918500361782420692672829732980123308584427979445065202301473094995850432829975068126748105868818638291506888602113444723797776502841832657608935217049408176255807205269129542172080513866411043099425646816418837730375426628254729034546469533839407294277944541503954174438171106585973669785308158828032815005117637059511429313276100829143649098566713278779926943883194132365283593537898003643352238138531351852734166217698034301810578275349428169226428259345725636065847550066672912962265109732244490027385721979224839185277362126714642125077698149845262523588983943138861612621422692131492693613558898126572261650763419690930102762418599974137204729313354962700307157769866287219813738094191924702592867348675922315923226470352286580079708413562712855764847180953069432917968771481746069397387634758015599642543797910701875753112256441357886795348108639982144047291037004971434659966467902274904897531507323099032063466335999836383531080422112085449517111521943361400892927599513142210065003005060034591885914662719202959144690456059385697853359348190439821988216454600376956514251861580569344627411895051232180755623814598902405466105033614801646209781979338357940248430259298015760358120037484597700837827656805097411401421911724382811205103315799831211654308238381927697259301857679101620052265098234312337744334818972199424000846875537572312096047760739197181445857349097902501622949991863324147960049500404698269282451427094414719132308504683013432640447790342715510155373685531294869008208027718807788692176418451594609462331508771730716007327881230968670979229185671931334607238109501513968448986683887236777459922620238535814087361279447880930368367123267069670773481631810814718654640614926241574552428884258020408393946184666323713991607289287902227792242469803229870551495845085340948142747186133637950730567362204570487215767583005310899854261279502714177787675777383868122547932278459809530773973923412091054146001104315362797685393389156172359110725229943687232029366561167607162481177344182005365695850751696216728830847886689607327318765871250602131897788401339353141874782368323016281173159841053173171848111276659703482581439408477078763619594121081726571283658977888098712369950148843951880389074177872011960961828235409000766759648827507428893649503946042863483522146232106406406907568611285235429199697639048439654411505472375116574381536845464358802417402598921854051334071952735677990180583787237316212628721409582316852541604561967508761959940487644188283087308403663968634726505817419068172263769259517838215741297047717537706490218648022817624924498599809643164985628847376233289571629067093399279352172848355357760547286184003691210734607595840567886999375344457497974177495153760809748948959536939743100806338974180864491436860508842256889959930166721164025848800936023084169713049337036446293307226855309111355748501441621095486412637661920533494164803016395588900635018305534188522551189496753384945530718996872332550968045878779017836253153246075058698628058298358431368269069499127838105242826016453165588888006512502810165909956429261795158143097053142412850629780945638035232057326091342941715169842736562671410146514747689500155242028080232705898956736698113036039963725110717493952167629167188074261798864142390998467834446483009193309347886045135083280377790604233931533238211188048676161998130168171926622332037240774975941956404132148635378857279007448143053720606031634983606466797139523245554340197841005241091537849625789415069444245264847069885277432068828557989335012814381849867456608307450090331185160766720359131786830184409413314572926267669713438040504071005499706476263173793550790566208725366879358099503696024711394352498231262644444601821903597270508765132027929488008061978680489353036039727196707007032883306880254778327896471233227784097287087862825266704763887305331516448794135803052905788753961457955123764635186346852871116180490130407911182085680562343986850950349184086445683840546675744714199769926873940597504326962049184985042590221533413100571458014815339129015759055970654249785403717771872916885780013997591802002867069023330040840474908580666260647142874067178334089318955112172731364162848424256597756789540678471566271761465146410133268255923177169741618734786809003452469933862793460858984642367323669163569588597362762141588429081980640950025887734060117856591513155606516257673236208523953225361281889636539171927142824463024258416488664733051407418533913528700598826032892415075258194319199643662636365533562555210749399744660250970268310092354951652195669124207326836593674914524785634668066090666975962264478665852675106635820179857988811618173243285029746602023354639373119724439271530649223605834524767632593724L,
673905826587499320213502949632881095007439314396045865332659124175502734507814095175055769908900604808896052545621520910986311178895527432348197928419281692109945225163884583145156985792254602992523548594119612657753057094463569073863205412011181413942970994389389461958176187518580603009240394083900840881207616790168576318367243645828861477862040147003829310014828582209157704945452600265713895492565074090619457898441839730054611156781546355004262957839943535690493823541747687341273639705293966758018534925756459748614851057936532371748643727073531933881451579885139424788118935244102060332001812335945629310693517498454125274201594128976085190068814603498936434393993756261287206557101452548586802759729129654340651259556237022281112630132821272826021920833650316870945316056044504735442438183376459294776646015513625412124860048881022871140459081747589487853695905641311720317378880913657192011673003793747450813065104574933059215595836174417735116971892156842283712947657289201082940458328388860371778194056396233484838743338507264410518623175421286413845794410651956344590800126519729776368843530437021930766216107166537756278285149953225575923720738879287451522069620785927876365845233352589354327641574086342042671215758212669347120633942690058812055024618549411751013701330517261577306995665642301802541799316193230626909040449605801690310446787447907372216026285423109925921570127147534938058934805798419327932411176355374012195253987614680997560884005334579316232341999462116985660957535139539368331641745124409020277094475164651801319897869658024998523722055461989443425929566686393493880806183298454449633018876104056662453055789566207000997329873762456457538256828440224095810869614982665648423833392971469932568048035922744653061379477003365477256526111913150849159436489895354226911227176951033541719807627014706366127932563896979248171259825444190266534992870248741817019852226915573886424075249797608375268311943121183705645392208512116868074660398404745959711195238531037943941974073835302814572164591246333504820339703673665807920128958823250773274257190671476106533685738995800394281818880053075255596001059754723349674524866836875711535706648543212053374773835580981907066265674654260509342218795432381512666316703781955365179606812987047189036101169889268560554673723752790467384248425991480960397998787566672226092344368433900911908073143714528186431831438733829544794358191602212830120600489115838824978130547985327822480380218110051960816289749665031423027510769149024963299719951534098715819029655532156784087852042647415687647900168619360185117527273495923198380400340320759209904895587343515714953733968706810326513742291717767804547629030492959534853543036653280269114790628407235368438873227883611270781352344481588391075677687751867459305897574972188488064045228542152024832448134722163741474855112050737982329309471807887773510299369326359911216025025416201374850828802618955080125445493634937122919213300335182932954298738728856215834312891013601760783874018406746384444053539329719837282503314199469493162319444944445693550910811794031199187940053898030141403847672081513636490863474095170348991028243132617195657217084405874413403516391143231715338297441304174044458096739075812572637914612313690662625103873313766240385764112316484588778821072912323338820646292276269824268042748056816658656517214171297808784451867767919467888723190482984382487729618598675686287670431341102633301778068942760080324832525383189845359456244648076205068129340336122304360927419924318253378281232117602588307077918702840499899680658280559190206073511993159838525744120380798601014755349652738092486118957041279486680815201503228540796852279005780640821212684397845186936420499475692175663102885844565742565135782548705602159314532801758879221816887520930976305667074151568964520721384406266668618392976623221827838169572462729354348937174757596121125326828852958217367119782487774181128272802486501506032306189431427990278915781501869896669241064260425646388815828553040729666913645117021356957968008393615348154516962986541951963873037477666359354988986299108742018971794657760510535310219719863805286655628435995647784003967450688795569104320848540654339115108006190503159210457251916932129529683339594253726240657452161634319301659989140289996073785416543427985191233009912336897542888055542580603735416034097447072748764041550801347004689358376676179606074631033402389037052512718047361853417357014994756637365671910847990231012058937960072364128883258715758262349431076088975220687245081947150258067744862202503651096191520804686169197992252717902359014453402113552615609442415080738170739458559199268010363482481531408341742687799794383572830072979030715906103884635208024973904499419967757780371118507913037150225454125627256638825824843996571742751765903093833266157890569513690839715507189670698183081302193176193142739720081580345382141767279407266153664792003631942697562792652982435989764128249463949480951236384897303494276188103010861862447060626470026267941801546089730770120833635034045244010145265946027015550041682953738238465032657720365250402221904861295600566469121621695623874033077869068900272632283088952876990929365187452169646962426403614503366330395664720193564144279873215607536464473986661321142185933536226913386764377585774100043268465881864685469291283628519917029532111381961848234401628100990901412305759817906382324236766059888487459579378889238946865246849655274196924548456136066644468232178756849282281646729574974781165380919072406972114497584928615437497655903199307504580776969711578271058713095176019502594450093369006969951841061755867649057744893777677390936860548611580229981619171755326507098259504429476329366013040720313722852969000160240548874034875778939935116491853669763135587014779268085757773784078710078363291205791501061541683251170274172075164024896235329022212785511267670392131170284632817674222645209964009842870795974667976088645000497023545557237515228468720051866999843052513687883170933043276908625365557376026194104841758748703373335645377121506857423815007797071902871618863828226842106638591488460250807294908492653928032281817749950121718535220610713318084296454673340283658342819069179849429828108693459754278503157770804146250682290731894246048805741774106702742235697221994795926393336422412967257109795750449783290052675219681719771156766935508256273173648830536968455095599851995817927398L,
1100987605320421975224528681474987378076977570691446616048287830045982329596469324401514561763988549892393675481271446002311646988174545171060704872544764500694453213234366735556965858072189891041254146123613721336203235916269805878256714247829891213153377439681854512342635038460664321276639720516772514882555955085412290446140638143461416807733438174565802208700180647223576138127994931361983580405154153031047801315450480274186044606166824225716928399957322963222274230255863667040219185184174593400858627949224406550374552878770091926206618569078708190689006383755661670550186758344657124360994248612865479714743677047504662862320229563244190751712173121876205191477345398079694161900643448136087685996519378315778840748920300012695802409593228358609003823725034053297503516982928771301580416927980171462840443139770678147344584186946606124167148034062827439001069643486983262335025148791556521524221011039161756653797490197374765641539018857901510827767653341797371142380387662869170146025017039204311466739741501705292752183827642967946100671629669128983328082084147532070760195900733295483262663946652048315930439953188012052721267119945992043655909075084540248862962951298944129388354498002961487896260629522018685995275135021659760448973613358479023074191175503994870796977307411030675819955307264898886848984146274420864735692356233358874647707411332420971696645270672248191612104570739543138210194823077051641239973388252839793544984065316834808169183592118607962019858006461057258490921189793925032946109737665350782814041897605205706783591137209423766372827320406920675459806467018396352300227442933373403606536652770310432962774017649070352598290296902228163778582112670569854226498045187518494324366438535152924419289613087583129771385355950141841205474450514706912947791339396626998925920850800120248025500211168300655349025723487773004859510504947924594942812702990753450495876366888672046605084511846525218028891036258162553251060102754238672812991188299805269454503711058366412447245187066118398221015800741687891881601249100049747667337452360113809072277003394415332252835745466580254388628403981168961685630324950059425883786940202077404799818035356798489318089568837874792200182411585928413557636691179673460631068794877154924574582268710804756386070694062816614253852053716447304654625393995223810302866120656013130788803153982990298731191471507446864984880919773658879164704323796119826190442017508410692626055434211987492202062635159499687324806152055583262944972388497155644721189648947951069054966923524178762849812593588167712960270732009447644757822352691023307036451818918499001775783847839539376819768182278996464200728246307168852376304159272539851647478491524353192047695448913543343726246360983973087923371103568699340348937917041525023797393799203467856080320005992713229895059219145749550400866645828494433314749108311895517465129555128063027140430039315468693565918520426408787975319041397854623827072941810463890872045015135450625890800156429541349554601469817555278856704506426329055655190994963562178031938819182072413992058134932225995639752131705458914568226199365039990365143539261794958173779809541996847083644142375713934907069689671933705283023404485082911630864329540428780546030717893365808286128181074051591084801239921771531202522231056074444020985931397152890675787540948870167674504805750379917142577549423233482829696038900361441503666796115251092848611916149349805636115391155142620904894766020481916692353845762101890040399505499071782679886314434653747491979579316625365396930222986293671035402447687811417895806376920175408815393209360202127874561635443030253073300762777334161111546902107369372145758822933083216738032503024678819417868250699640097142375691761992315526126634285435849104169168449422767151322342138932815225272355976267087101810994287022227923386066601944365611295070817678826894038839400645928569183120782686148964187937058537845047795268564565440603548927052796579850000597455639030800164844230464969586464555808213150587539615787832291885867539961588181430984689076906733532158283502395026853204343262714403022414093786476739339959928475350476863367736567787176076029153118457372292749664489714117971748179566240240249314733763085029229144516571940168370836114698306268941445978011729278477531961784608652951267920242308180637684310936098389010946926350567794815902633893763807048178049751167378809390365158117933379780444802316994045075184437723078524968787237267734391615936641948210392982111233910670243344317535151514177618795419423883360344126801934966400067444668699216107338972288800316362647984114267029675665714276480120850412202494726494547777013498410196397238755011282892404704783153179514072339491025141381992418248890343353194592986599402057380678117976305449989495435838023407437798234928071635290448433586628846509887622095280459641602527518753176888410876384303042478204093237567874512926424661392875418502041001167899043302876333440575548842391535213621742219943606656320752646426017019096071931756644041540666509186857644068101874748728001311517802149661019600224329716390734247369875380703258575805337181696405504101817874108858324562764435710538607544978357448007846284900243690197353439774093289286284445333671565255763522769438518524902796665008335266445171980395697634745297071769752045469134805976034084599428471066710132288870043726356579310320842339963636787023462610251633621720717230064637359120914050569586924103659638440252659873482515020194840929701951475412465587095908471523240305741271821738210670047009494030853748497235825069535150881589252467153077795637758342823164528760559204952051735917893563645474111778364065788947187802414000450620577920758369816617121186197818918128495654279201362927190557301987035439117684417491143062701769700265984203781260724968796510476838004506200455283639623626185310821452675596069818335260033993746417491167793180095717768091243055038755777136797608932920934118577138544164862631629339502632792666623193924677108190016166408838282708942233522134154246170021341772082226388909342547834408346876833295540608543835009941859589991135438284244583156701657327287773068959071671006777119135028759097416878240498912058211400703351753623326791701394875684963945439669457375913526931192111700430351537783997989881451156856196060414682449035108507977385878539463012891896699744843880477849718845969425287744930891298774779415743769311333507604L,
1798495014723651807125230166216190455106863513334529783322335053815253322014738890572304602722883709086775473190855108404516410572100341571163648957317542168700288735614106164304988936634386869848321842296401419818089668021686045105739449577993764569699386171097287638366179181101462759053332345072748266597399498815501341794214797738024405494192697247795254779090999946440017852297413826600068154536522718872223118383852234826401833546606324454184851255469134530745242753734903223499056761434019414150718077260475875862040970093537614775504291519162731750032601509900313621842885978308320242404182801863195908594861221413600239120136603817800875679692524840408328708417276637343533918816240548675000935918336741921350028795246190114972203205195182754781786422510795362829967686612254033347248537611978253280200689561297662751092383752775570137588803519874766144396189694937459865749549088266807198257304871004078659043053210906192177276603761950528916286861022060289051567511543955173748686095512686162615972149219472586976372165105508060185634809081407469930905606570541980077497737719124218177863096566064386869646885666076160577219118936335727756621246182942087017847863616473549239767058498460223535891577833526564080802253960277620210525867273605343447872927494774298085876621048343957595591397340148410821830676204775523671047810819682621301605172387077259640087348177677320106382836289791238595515142337229768871560431519847915943288589926998977995669876318160580171068624435241893749490074173439385827826907768830593303268903539889019362229478917212188414195042041023476611703570340249422709003176019362416731679568116181229064642366117255416328506704133491232540738054778647581098222474822044360169824288912165169377487034516050435745129639201750221381920819491950630610866416214836982212990654982117187294407685906887753847324127265935635779794615563460123041223806670720889840084136310542652516131722981937890434950809491293597458788983607145788525920924751215382339026100219527579092275529056239445254386614121002312237500909263103068960892251229353166655152392256419441144562776712837890314734845569617273508111566619964321542654063745900284996202607042610415446440104587423049424681121088879964511740021067718919969021914005831454040442878070359504652750066754091060326617532464677713397559703545307920995620740073766162065726071422094166975980086608001245160766720021244163122503627959981061835061715527549394666755584942944487913331174325342941859603160176876486250843551009685061564227361969972151668330440754092684520428720943355971922314364209288951516986958503032164452399395753015686519067449615506101062008901860047776820849492827343426541152852072122577002498573875583757581544889463560850897720329533937656693662335396341594396880799083216943892435434011257632370086228385168681718696755818661221805963528022479567823425495258379051884192786035721356991968740418536800696332092229394076230918559895933105820728317396334565798454891710702408030319372562278983708823944578833344548961764942528218051382688926591861076401797557646974167223386715568218113147128356801787550738981055693441003491924716563276663027295035564995032579970077291903222384315418359040426020576298711306638736169201576148304513121749298250904382207102763184489785196438545765170828749936596023453948846679584864608662376946684226813753319412436522099344801214313672172261057954962330818083403909699356733166445620606204835756158088926139612325962098318986580492903536632313341862630078596301922270085307091607084482452479755876058444285540376987709889697595151673986838197639161284719120884433193472395905196016673262426277885301573613555500759420473314408117354307309049634036645497908809497887909591705014066815963687223772144766082230704826919274995656415233165532960957859232350702575420638491412612358813982987166713393255932635740747769624522843596643617021318187110893400932526361541158373810261198943388246479304960165853343223215067903064873533809713797850165260229842023985422001182779409017883383920691131070354236093524294076455571282603398776440722104692130757984410259573944976874471909334046503098936200865534745072964702870755136693886731011915782933060507941336209274458988520487393813879935768474509842638128948293736620283397075241151572816695878878807591205108882730494021953197972497436206470262285116466292856394823464640834748195252388149603373395856468839446792531723909957764471856717782007824422158822607254158507280657660605790924018084362692005738244562026669028542875799061815075953996005991628494210009979023123973051732929253338059067505932642374488520404763427592562420747051954045474509076114351572745456125248654825449932199314423463618651533233408591098063644231468463524814144817904485357938036257508280816324931688421407528819866012895049627823374260461119387633616136950706449301825566929191015375821493918520279454443690547474976017647221262549466668208209002357580939188196820066770458242871712083445165941368017721821543142785704221562175473132994923122480776473029575291225612985801464071897838432579708715641186121109576495990092293056699578959013466272650969252032842959978670638864390914795689937190160839742913077000211307202743069478776160735231803486215518533544849449785566914386564388866330745272717984956199589253842582311988117284833407970963197427042097573651303337553327438723566879551781003457330871780488286063657988080491945672853979060490361751386143925287056157003144431562265563985647014891062284777784306360815468236564175840091548175953222037204356992310890511068496779645047452503652520349213430360241119652733573564822591773397116661526251589974171782010880428578788056526332335486994354983842209865756120373576394382980662539730251570616466241472711131550421632794679291075390665149932273791537193027850857552100122304095788727101859969071155937712233176910935183326459837578808083214394399339502023879457868149204854727200816365058294378818660883378565512886975241315818386291198954398824497553727185521410603716316575396691372316146080684801917482545636593783911437142716322177507400411199964627458493734406022609312171185192804462677861991059450523445052495752887634428940023051285535913825900428712308818142347134362400194291408170572270461309229095483964919841977380509476070897671003317140490025184181983556154205287686629376057521124276803785073873439043494512043441779172573084125943082984074172232890031162764675L,
2937512128197143820866588523534976231761595920311777883985169551556755246412898159531527755810586685167113369888668305583759908890122152199957925882607351458482714225076678406650879845603646284841030587172148178736346737397363242861338475595026068694768962492067989804607270117140389793067617739381693555383020060090177843338756444372827874065451311115272716831559190973428127100206885970219397619387254820844656914340083777618889367372719945031884160840755300586473815362161923457210817561265652250401568571302796274104551237384046136140387337872661789327599090975295114849288776224255456663615483000281518899087929242147934656600852673946248899255637898679483770627301843501080811942727943671902872875417748631469308257530216718588897618984358901599212462851012851254622136948054973994408072094761491142403085148698851641455625720151308905709624635351635778623654604859580259952595134257912036213248521348642525848377944971808056226969077103184302708055838169072674110263972736849528979549098742779164916360078633126155810861740471769052051139423228845007811423810671534636797553444020171994790564421188126106486607080070544917537635057260701978660474866367527935906917659247059837056395544971254765802067716397651407996453981270516826574182890106565904882387560394006545086450073526888871778094266636541393394475712643556313957501918156423075562073653616418326537163059000664463515594614325543027229643398755119229476584867174761225028041788930458198194748819445613049240360125945089796209447519930829996211867191760008874427540772719104633018179846878159878277079154014859585955228243147016333249825540540566855705523470384716133624393336785707387957379765045821060922434954108993922597015531540453978032451636057289728234477496606694001149658037337395060258706152372567050836867889828582559177311697384894674940438020372276427472936445763789682299305941879890804322108248678223527085828675150238658483193067042576539868686281438035802027034287753875081378367898427898585691390994021524728859423957735574795678331768835989578547039912323023876993899266504901430195673431351868939122062314247539663002190425657293346515597307158251780167860193348124404401553849750165682134331150228515795762134088026096740068607943711660675504821712375559170204935787146457314995744469997800098924422789608527409675636551890079719123996972204607798244617458340343060476521949868546916760626813674284918745317994798556893337636299123246615093801046203752707419145866591046000490192797803637953290391210350134614155117573457027515407708840067369109811611470670285872257419668052253417972610133919941079744005432188752425890190503711330612975568249928036285097914919545025710238886887858236865596039179408234847935409517779744859638109170315316776821142421305825877212629484385692632028997695124956038239532351926590440885940494956137837806126276388986253511277846745938954679677766830205399410220079556450593553672110425743442676284156803939677518267854359639096194517538412125180214560988432785871628747412986581666455804301035846134578733880870374167952185624932384465656311284658640865717031711445489110425259762113920368572156574265074678723846324685616550114821446675515040293522687361874017239741251852120901620638601752066030274527125754651885667087286204400828103798830757996428710181429345459137763888290075864793026885356075126108906024535490246456698493575060445048801214063809620073875314829295863711459097674814921774926729864508401866828296107527344735147013082629366931248800643135363657697160310692760829875635038657120724326975810669969200008560601900409201211038726502192667537733444122052570419362703762055210186163272499725444592944419665580406129953263113634434602893520989351421344654356219557023848064338609664977658165079818245125010741495830775212776717016954393438724041869167878104746077404799126850677290545967865108886814299074029564330027332531885076318154976283594001271567941650247074583648662368367518205693739503085038840116798013715035056746607270058899681813655289869528297092476253671722373316207907092763349798864620735081598823669353668820144305654254529129878308438684256115859723837493765726414647200839844387574783820056654846155148784180003949818925359594761069656212120428407570247914935330611813348953143443920792758421457075253666983331689301636142485661087755817446545456299377568731149396489670669111139831496530276115938291285583365245517429950145595944318041826147178554687595895757559922206016289763683601796964603153948875552355297580822523455631109931110623141938018685977853060525656556181952476698136451144108251769245170451401513393816647508825548977122507628336880843908274355639429566493408347785496689703446065926174987385992027795295562884931153871494590052277714290017078960685133159836149051895184412370158304011392505139664146872750995815324000159997750397381051242954798868308308248795422636895094026339616438919161469666808842094110634151695739507088467248552234105059009448909120120235560364574415237795118692550467257905971192640948343948767428299864900472231104122883673795836159918857286361459540383521010422502490154377870516960114315679327637356157606164631613095368630012679739865704979446953185366780803970536263389290422475995168834245716485897571840584975148476693555726203380227596226616543790968199854246085073922711006563222544584142585016551501137500952007439149714521942265783391531395641667023235930560293941621132538615782702969050315007508855890415043542337750100155933841560481786321032899373212823141498172523478228490259189814477842824018976114321869471246287468272521712528571860622370636884550826285392523987773322331511555836108505708692558307030036990221534424905943068160608579244130435718813117935086105904681901067164067354149311491983516999142832600909293093458998399207556655713549317906587206907559865827134532814678097831280475660038911212978571350936438730039203495678904323683253688571510584198245844499283553515916644273086907672551726132225461874870190634022079551480102327062015812926429183415075385105579720202526198002273756224680459230125488017962033003107166133228251623310831820416751881826788240734484085468147454133543255857341368129681602931854157747874563345287293311832563704330721844184904424599850960579382887234013867678821718320553495150614137702729673493883002912375127445079098789186983733945184173656238912909691369423972611904765799919047797270936189643248666671813522896578168L,
4797265463178246991970152862949532871564539835438544608838182183571855535922958602092579167871620296163145977000142468484612873544769960493857488209279405683039713627085477976907766368029753105527261514911359144480492454482647320001894306562539946111682588427393530865293868995068014734829934540389907030804762265348559588306705124075576393763074889278040368740779917434941753243895070387343196914170409342421201597402424542806372122207053325922914708857317954358893191162396608755257730438649369960488530684399905581033099009589180887223985737568043888821733791788014530180497173462876113980400479275378312359294283934013990216108430581957176366969011599646047514278212332626910637906724510850254092889299965783559981723270563534503336388306306565995040661357745570857755527181650461243717073674468465888236321070043981911286523162846215381411674092661962806278217252960574811729611278282649660677092387266858643564339568882954887067773179661240742931961635092076406091310171493855023756572832627017857974741881469090668160327309666445594175970994991194241006711047993754434976050678244981091519722753828811643424149803906634187253136959810396555339884070113706882850091493387999939734139421264448434411384645569117624600681223709646201025465227638016903860461098829949809025645523771045534329212030372084483145517996609333901443207786848537406388195667870606258578101493025074697742944270049624889849955684358195038305546305543894311768668552505529030359173962027109849354245277148772158729195400714140943824134906809528150798228707008938074447729454348613378699958711252850710716252391160423559167515592940521934658992468647118421736005535541917287554773168974654489047679304264909495281527344996271079064853104147760728156232403365536214027884552209639024690562199559519755515120683104253806452330842936079242628510182469699296466268070636862399745148362170850001387933367394802805946733467654293971904831803844634656858548039426460415280342701161620251603567948409456607472395656115811567522396522737711312191572843554066208416820013998913555120647968055064209109109165051696028612139969127132808457697573459490155663014492672542651656796003303923310160219895334284316357121737287122853253478653214007841364285314368640414981782343903857650145934973766668464835037562488149189744132075404082904007286233180129508287272513284523757033377445709500773123879456601276420401028734513808162771259554797541380881030838947441731974082135225927515713815991037683720423045746597367397524064436665620729510112854843590960944692111679725819301444437613755684759505899512748399413484237584018502282628039694318943767544262404372992497895079906330852420366610316709463538986139107175104485211844756661160601163059017973713134519757179231546396098841667086028483939175661812707216102893276845087988515936487314920213764224603871091545766328905604276282326730288579904490680380552059179611169960655087017056868879967372858575117270295374699015536453556105042766147147219232911541640791373961094481869939606474823458981438882842189325299070035304261236341352140398775413069238921230122156631713113671471567853024658801686978772247536188518232680804273410833040895902400064844405646150439126459429265430141307791987745662932589480546446525422191692450605717085984254042556059150010048640655474377585615454492347775883975954868441112048507429510459992765178034443925849927219046170411056024318715186370272711969563039505494148375398563232024517665965897355478411690233634917475464075881537804751841992616689367539972304580222920279186505977476408499542385099913717721362818294980353466137719892203706558300191543665007300412524114297775150084701010283978893307490596895061534911330917058813746293576977702370369197564783798599318234770210303786264937533072892363693841314664420989431085250323689182763564859461544560223388837772140830110379216228249675333848986549652954676604946117915428603754343935193471040524368535649348878374285174381143764058651959888606695734418108093857800792362848741370781556076747054371030469693321235443118755829762135683052600512238741382543492283208162737977489862739330872859968224888876646543199642079817072152524917293873310394175224157808560748948913118492777811290847787365553097303015214807552283028657404320811295954165268643022074046801193893178713497788539133665652479400739561337151864972899602452280776983137398042482268916772466894476886298044449459553248851606786140512986907884414856554436811442749464731136633429914320805006429204417385507523781600613316304724264220086151488933607543227161618768344272789875402081965128514875042643602360492018890013215482161811793586477135803801216441979173509479073508282133012091082799059771280404613704202623125963099414291337200177602370317856973540505870557035307574924074097497148927594556548705797956394633307321613613817110717090736647793633007182397361502838468160442603095026586915642335590181527785515684189844172789160078712213500921913819161939888926523363410887822637893759722110015963812409315253917321208083103808368170439698322454049953455033059891381271925580361154834531450115504450756877671704397603778157302872883186124332535993101409959332930769304417250069421336552891796601252244113945477220922518139434572989991910886889223127710278158099260366920922158916798139610529231657665319895659919128561128749306403113124404435757690146852403506878872728246434642774105574960526770213533468295252892281279060023563929519706020209470021767891557362769454071114108310620436592547106844580494713053607275363626430802098594207827601658546246811653075476290055135735500050073375132691017265067525715387630229765651885258221975007517270139049976451210515946243670226042359307709438588513122798301758649491501394495598854419170837328057620431254382703628575045074700409788266792941163808819157444946770492805306246935524610762620704215065849267091435730987973913917490719428527132260273011438880345282438897855136336986412100677409334161317211759593675937985862863978570032911846932624251876959362614723825486815964713696999413995946102300320534641542617111466502306350304386242682193096986115334801127147665393284959482482786826793543271000302408133406481475780622046730381855790846931228195312941939808940972427288246412228829898955310488608248403599281184121896259747907900382703235168229297409017192784896339859571215621352849904762033913180458496749377217576203846376931991445328310708697143373073725L,
7833421919136838541164105205590375358212638107191640416562604130536210426142508794493682323781890919144998615760105692441454280125493917746403488092563268652537819885545538785846013056079794371952057775614655577184121482755080755252343329213512499690210407655273688413833542088693494419878457302337842130078420259808744296687105791622826129653574695579748009722907919552712577802089633640668112963469321366136630919885303931252301083865566245783645019754509126487232215897667389920817314999127126459090515016273651373415748675328242742812959257980734197632442009370185393314134902955780895128957410170259203841376504811257097153939575005087804736573885378508748336558637950444547573001533326924782767330434495448663550100051059871755737961180217715484806057548000180228211417754398899864228003975688210216037518110042305388248456040836291170962940271167291296063284060289017879067704650348400087906821847137696022616913191722678182286526217062425722968148339320456505290936138649030667886709836668723843723022343369680697828823747013646320600053768276248492931697049523278205720411006061364143554845272622438845081318189185418306582766414692620756835250649548968170235995276810405081033524861034843740102218218254381647690892248050725277497863541414062467442193633133609178096775796086336141763455702126205204335889445477887937648258889496037452233781777687399246240328527669847779546489891546505646385610792241045591818922464312581576941569637511900199579673636823810417185092914454294541971834294958290589598846416470367963027016267146528211614047504950829176857265594560093041752226402771884909797574406961271136885345718704471699325606837717447048281997609054790081142915933154488126875493842492651111654227038292413823015373629861967036121752904545256561249049216266306548724007347267200002367493317175807799831725793828494222506241780614218609483584467453321798845244409332801104264179351680120449760768771089518933059064888852888858383491113933069543165238934241983325069318261992512194839578717536233182596164756443556153711163609833557230496180597537085833917926217751032636966755801380157467878892804169789934188118610136924564832625986806829621888956625804339053251770605492017064036979546912279587490620200490139187714040847946169394039435561451405744198073834393478452367113215195214960915296504082666888549410503759136584145010781550079603757068499943939038713653975366514970638104893190783680293461567597639659545079632800625178610237808077970775032708869429324251732623153844345065422188830396338786434040001488886385105982241208420304591313921564558667689105964330115121528768071548801251645830059875344331433664433944800073267401869813147155307164872462285814507957244583959949373523406954682556667190726266861624651571907047608643671600287461570903400492673947900606499152147208188279112369369353663220921303327126954296181372058245107760354333211620166443470415273875296989356555069763387996538671469135095768579272736534526635254688349388461045249040674909206654654782731848478180904123497733096040969829885375548791471152516844444550967021106195326019652355817955297447165561499484229279923444718630046232848951517558345220202032450818966543887340503937979574247675731907644766374159758657548859451742298217659656642906168061560807306993229762385145699766553871947259792086535423667309629161058383022478151241276081347845041032727527587850340104316291627923910571135317193748659532901820852857973905413185619244848448513554172447863723236924661612548340952210709027312689633521533759672614570251384300152802149058805130517836576660071748646891593569561132471632263055995370196606123985717288770476450862109591466946791764224111839568482940682060948143615394861594390066089802066478418588818755744107372046952275882096430431361698487041613648094720943940510430124759071738280217145906679188646548015371679112009877975518155167945300819606351185830733678618623643456604530764886743596823542504912967906031187126028763957816765503075529736904117633722374339237379256499608322683578612439513543488472188030984842211765743785033272594394503226897277059774917877417131761756168345237251016562579875779022423991463532589496786116343057299029983614309025887271609222634115589654866005874935422572347551279351494984988464243178246155998057589467999569725719874244239819368676057301063778137674683758127482954444033779400336057044954225339348582800238276453064861750191490634333467470905897105907861936995166442221656483119570873850714281726416657430362622714624386584063870643951503250680381839292311534775110333601125092850554874967107565877355694089513486766804179452366354374107969423657858054655358456249580292876922936957122010851588887829908826757938181598460341570099924902839041836360877694663904836153189661714676415950887431675127796744002817579981575455122356783554780854518797856083580191395427983886095305161890726852475645349621250338465409170751148885498076198557465112670374109453685063422757210491304995470202271584240994136251791076353628539509238985541223327550702822296096807044754311806245490557002107118832290460005785747896859461702908285190414687918491160598577304542887706713604198280961526810508138193817125657177445321136494855145317173727648909037140181356110260337092050059522280820872325432175644438212120611514030300375937656204896320588026756133268776673746824287546105278647569395622052456497897187109323356702329650506209694387507086804522163690340250751305894663064853851861945193900157682586638645650793768635462606334855523929942912737783894557083197148748661256862097016178485717270080387647259162578005586778967581098404085180469655326151802351573561175698959866476099473953315738696690222764269508134431945408924379385693892230042229732383428828961264612242676789729872864695724107514681404233470323024659336770224694373875841782649827270460031641382354596023535685473260917420800646812784410172579649376040552498321441988356976274959067513218473928875917461761381922175511385304433422447017382525670942996408244488740594261101020228113276982714763656959167051441083367773432499704679490820164645038048461219170242825139651434159639567274680322190781208436964252772072529829240618997975052235635169409720496330871961442273445491318444960504447101394502679806278544785381890508158462754181579211068010657065578088804596896461966146088129445279151325653431716705740360569142111237382509112295097649754760537936314442191903026826076L,
12789483390251319490252637126307725849260586115723417642408803140955803366269280825899283061892959012866515326557917882778237952069765867954570010196205401748876195453136439540213968082065087984758717652527591505189510387334909555969303372156432436479617431621506180321453395539528139878223613919996804336835436446941821169924935560034643808502787115640286335927116275535534356072072309748161572552591430956195330196539788913158345946525617218551313175406533057452350883791029599032994158386575495279681565858689878001530448878031210036117232094749903647710126041347475520242056044832500474785935772137111960207266245849604623881688175031537025924112326006331254197328922702410576840731784367132745440540108359521533400170368877533633512993925341240582851378493275361703968541346426793959216757237669257950804462939923350564538848657968848474453694243931809277703492001455283602740051719032853137358063513007663037767711952030482438427722831664689591637426808189545668320825079127776853078964177885315396217612467494156830742398573447943613586586404397187698987667189039782267207858629487633303842417241053521974574173517299967509378316332077864601456904195215076335148784481634906471406125396742743384577782591093430355014608534152594313375706389413589173323836883069051116160736583875459813483688534806908950914003368749086998129479283629038922032015238321320633045872740342425838890767872201926428134231626167515692100802071989777167905295958120543883464902349741280682884252198501222414487105382832261681583393281645981819922005369577348688206574743954704753018687598076847372106111419554410903764137559311724714813671298418528131818338567224288766676026553545009966149388711965711512029041533289777267984753300255921642472167755637055542196582815013854904068273988558408541064841496426531925240792487967017709581639632586735699123211947262178800766116019880038361441898581919121802136240054727030012635721605634694520277056591319737692254734230245755879130207958450282134427009058026861407718460049876666178136242342422912623669961958848300622680816593240984235549973855680588791015003094801840549627546403142185766696562435843517967869890645997847641965433287885394844761743707370036766389189518441718012860987144880354095596581924326068735351864954945955134220030885338656808470265069138342684695329963746436441011903477958884301323103438255312936968698337184013668953734073121355628678987112552824727797483287537404126909548894173393855794960743758551465209055375960320434194608479032005709714144456626039878971092055115121815634113628598536109832754701981378234566392245751297185832841059952648229102611947409984013726390203057251226672310803947671334477066205102572042664460902528722781150184901158947718157459830651059657554453413301575181098173463784442298944638917675292476734157422341088596437780674918189109281306260050542759087763810815764956775834090119082108645324946554538643185811962387167091881508336663060820132708755424187141322436690989327489102028742181174363887271993453295356151436302277053225055935158537413958250232112446626853674332045711430850978857533742281882511409719505491571693160567860886211848786977310610743473379406548387724406715731293280381894199147622661967972774506477196283192457851782738131719729797752082958468742970019444327502543039731974856148314007376910885519347051221216366752176615408873482915770295804491148153566898961327753269159124434798260594360412816321584194272574537003044169000954660898399299051618823494436140539399145974813560948627672824875272101772744513128205995451700435123379234054556410282045146722594239587375662893874889269710526311928959073186705477285464914798553807019282072780224010706899379436158559268616778969425554578000610282611391195319274565441684018052480232765382931688900422430364550695116267364432446084458179001894436764671053394121735609362947885958995963108209736238301200878160018893275960174587880425152497891727725875494215119051501114348433023408911598055084933879840466198314639040756423502144064314532188870602945486841930970566387466935578177624466190797876028032499098245688330740474018622903397745379278052358317690299293882558430479171030892440407135141646001550966421460978448364383727672166806671951577591148224833048533017127913500755535506738831033976714777142919411049519035253609940559109317779950076133761353316911895262201658031807896435307957118418761753408495035308750047149952028455218628408044684288041637401166790775234451221738971421031870746337891951409433643520159796343720289955775211480741752017787699331335285519765903367974655634414599736668532843080936869564950391775507470070921341621745176675575650726269829948935237550507000699255354916097930732552425183809745371007694300307209654099699497156526368722011409765660636932560487386267893846346498099064726043814456660616224786680039565715957160934528268066215881262841481193583966371032402799042682211070345102527256943926176943803090975415286130171617225135632097575035358313344569763757396475053259606893574378259572130250217183215738006414953022751201954619251171016804809991667454148432839489217549521683261060928690431687869384042899679987229658870644866179437532508238512657138378894268856614229657231287951932317261975180632473640147886025172039650494427706459900924523954356553918554577016217031509780281139699858257318770149529379334077859004029585202810905183577633771773632121129533994853194975137846960949931118381281377240429166829111250782435838503432723791958039897565559935115736577382962889972476913325521740252612011120995849307419280934954408229491626981766402897248344676143924248588323858063321816770382518044530201319627249281850216952157688610891716791048928440863327003725394847507609180099100614947926752035707464921813721424649434447766169892837038594450201317079416742862873078574691579455375275602503930304236025684380711222249044085723331313866218971925780067892702306186819844838179299414473598639471212147621852483599666659342257627123572232419352444976144329864558624881401108982455008983262633315263607768154464196450487377008973692028182605025636415955632889914044074026417086146194962892739277977038626533384624353609882421830946765042386354377022140302678564852377100811166458549408003462217811645131822716075078375826414402823501205171969097359815691529727605096065306300641135994301198527390492730457405157645977413242683884322551952433360422182327365000342042878939337957L,
20878448990926545974163843050531026946704535360666285715446375606156831834693166289957391998997536488735383697682552873433484626805407106912448439443631695366664006058522898021297637030912055932833535738654875706677312525970414252013128412009546487659987961377807554939614453175019487448732562012939941750438667565193323670891235077810176129554096450774247865717967922395943157470096223850303351615882794211726898004936235786108809993218334241159719705383269673657795277034093385627740327473205376531045379340460893565317290096286141626223919584786273340147028311368818321497060658765006036402120650896902243347210298012274529851123962441464454495758458553966675562536499364739681460410307401114707253288562571534303406646543260788257756045135108787221287983195259636639623910893533058554005153417633932693614407814951487792482159161068086276033143915849529237565813635486221497065884826614901617016463767023540863014412737056386275174288151658474495858136511314151529567868759395572038555966684792958400471128692359276340528425363151762946665546824668198322134000054409229072471754040730205534603834299974744412789244468559187580468677657717515108769252410954484879387968876770341892410475289530255552045884448746867052259841057532155972537905996914258792040526241639397174746704607480807997831766400118334538918657016510041530343914770938852324370694119008013592762312218495111407117088619506737316105695716150352108599718477532343028913687228175291572747263369292460047891665913843526963083004837957193882973867600215139748142725476986226447007528990307660748858304015568498137048830907997090999926803167474820372243157260309625044622409658638781014637410560932078336958975314736438538516461269090918440452728731160413498214266332045088854313239815447384971539580232322911169605948714677462124587525574046518633780922999770013838296393687251748166920597311233179188726038243064120520254086263825960842095676615520471705237856893196253495397612142964431483415719360801796234940688549227186753100292307282293210390748337488551907453209309208968758735011914956172632971769207605620120216140753218118111037591630311053151671973298082248069988277194822363611605687396712958989699531336578688829569430976277471773607681066634250628759176161129273918992575313924261916033497577256427647190221684415675505964670531104968410329076295700125306326723151017068026238409437121193122606749114662394950598138885802512566919003866043223888709707971858322209907453036621985704162408118111024714262384924016113070241997574248039477554574779202860622690886780418505284481737417202911531130535424958831812816307820711674027993116566072999913321528591096228947607513848149442683642250554638300881396735484167998163340241474340397928787340629001388566989837016357436436081831806415255636526539384865259386156919521460068897789392486885312523149292881272900514724369978449103922255222086547918671378222223387785610534634192815223259389607772997002242491444740329650096619073928149099191888528770377764328628752599550108720948507401980844688073160831959552277655741364577661425348457497187015606569005398345499224053551639243466646278135529500424921914628267010329315579433246353023988397552966948366618921349491924663440589409907679183423261922753164864979178911374069441690301945528811001269288740520198002270419231515062097266387529559698835208906877879342053773846827525822927706406165608642102849400590677196738218985196877811142680553839462974638533724270468472867638388715029689236734595837346169438480845358114438432011509695836742856457357794129240386530132157381452686693238138243011427471858718812571880445364535807020520960441809686026757258068536929284432265656660072829184451646895075150059917630151024352072680352224116986998180234735134110834442422581871694892990242790656973903089415972300179294086665929453379992682478743974649121366516604744831500709794779332837471831580903514665474138948101745061873251735243990730780325395877482797608921331435933462467050403519776699480074284250684567023579373912078889315474274157511474736739019431974619481365602813051886938519954760482997856492475104871281938766411731412693823390347327525054294977921517258696687358196650269180400788820343074274036394746728623189246585447287362072916472300468219563765652555551532986401428034914902776058469589752137135623314489959905619093037633616724121311558592564921551909332682608359498974101608096743432431371205096321007096304866445036079244283370205089025996020974145593106906789481743773372326590364756998434121364013252512441667117048174187910645635222858534599117611570918681121083431424560009046480521792048466673062155453989018973102890184434996725553442027503353042938116094160311898472647424809598173057222167340328432468050915976817985509356373828947824052310289629190612960995488814661628165329357389590902330597041693541573659477656035825411676272608602531087938415815482717299846753723291816415261484821958197962835590521376314711423001344507993059577452560424373680992314791152056626454489955262546461861392578183129929502876449095945338641045954369035334081766270076671033627996519896716737506660383469744965249421241174609107388839331707325965905365427191006763823054561879332142454229293952789417622207442887894293468258783490377812755027628402928993522701821180042297722575849748557152767287132868432382938370979993630089494621784456585892237332813269630251356027080420060947153911579577950343628449242785579033668140489139107941447108179205677852240589609208452881666221614879905322453425426306928390429849266928847799772304264911277371825921343873481033701950075367195302107697972942293805400835596868361590961263591445921082456762973907143725167486524026984950760643469696743855164971199721948278326801266526714862830386305706152982077360593302102793480915916903588546420370887939281488348137498390030152685366892051726423216916446951355196450257064004409150618074145002871181124754862736170319226077500936365425452052511263044546517663008689611088179393642000680168066984954953202798361868838450951803285298891974533860775589874462728202912546587106220439734908935574673572195324230367295720993208413890605079397274308024285642187754520688508902022229761892613845958687110925589307040368794887046038229586432115937835546323871279340873800051586492080333925357835821190851118982285783017279768959007990680071261644959025195617423650504371235213640694024953318797447253799551866960475L,
34079031354525190332020304224871034620004292685483519356030645637995855582611388121252875035040623113175940720665216880604356271440441933657249821050236360734247118864905898306962956243218897361907899320744135867976662198164442729431571042849438598631958674160415135365487122149366521134489653029366086457235179910410259228474501621434669244744232489171902650605873455025383091133040036839959339014159883782129148440952155656165778298821270621732410964232443251156666008965098778692204132448165197554608527349120203822823540276776192805030998238198898867736247514563248267909606388969881467653408893343078671881355700855613109497000052649306354602131943411164309185039887746303616797957025606310678145009783706172174656979931680356327192941634769038879943243840695580703937380305534973226946339603554575481489949424894179183152258614231965833044104591429035015517596278680559668971106811469433213035546005171691048485982531191676517388462413190256182140110922148876696195858385824199640173258567209468229122941082093956321264520858509811898505645472245636855704685795831594479172904272789959471047238398734510970018233874634749118281783464107844422987392192080858743848415815941370659429533086654395041490337439331576519084103028362384718490102277679014307413344229707663607697220151539302723496901334456172179258315737180056283124415935639263081242152737408001689451822661235923143552796026350742834135901664389374760565895262270576413140859158667715653406987905602908518204342206956395289452769400800585232986000154886706417855145984198657868247719294100743065755583770771456918902375537556309924079713554592418389312107472244609018641484293384721504029771924070701099615936458972767536894591107351875292328900246906429557946688130661043126954024945057028313754019601888144975610804967613613178979499155188572601807795450774204325888961681984367265078023145184625346357865109261727838745453288612500911523582468980294714330765179168536557796339282606402857031434739046705055642532211603136668149836898207575233071459601656375756816225570245102123687189670475691532389926647799463675455702952825266731994672340049032972906069154205408250213905512779104735965940009941049930501441740817640296333311677028868442120038003990425574592457131305966068494804765209794888280986932070644798494202941434238459378957010777888876690616016497298853902260921205295732606355655653868223821533670482468832017200554049850937972617310403235481972982306667482909478810993450301220930538760714608537556489124453843312444260723616029153916282257341987165397660218870036373551115864672880950539391849488596466334028235004493272893097564250963967185255479645625691378787788760188176975522497370671956278027455043778552730689855608253065281855883474762319293420775913475425565913652854381331796967111062696228210816995162982375799031961317568685997734284580986256822965411232754659709532711332887693049773598262534538275128297636240702153238339213892408848947400766347895040913101700915990862169060289059987476218049433414283998264158396113300534232100583411603306903511116222328432603849483879269524749351511033869773786830980554835540645395526093398043209847481448262557299119327224197488353931437873338378563955059750781039535647616363301729259104461193822482111362210359369216733943121242360777927722197609889703084089788233737661540268677072266927580263293447822361450545939035639090837016487815489853234463194975727842349165371857472506927562087761376719784946771973531610858893397333490737655379773729395393086372852054251619704212423810040184075747943712435757670713758669173932261432254358867714203774159120912981384933158959669204847024000291528269458219338022544715547744274579410841514744566440690629471537688675332524218600484773385602807546632899604643041482626464504522466471905694290879954274879228792811901856970503347017804828820981333712890517245082253439693639046513743521507248411387153012480776670141982042852031772091104490935292786170952992922141264235563182411247328875110264604034440959188967465704579037057212755297953759359430217711096561857893006970052948548072427612350964460721031581150304691782971011862869854832003940573879864858187106825333205827380088302688994463079169506708882822608395674100234880838358690011449731974906972320399285410528409927558465003214134278754881280276498328504972372390261705474988100420079906150302014200194286504289386498647653552824406354401451972213759536288419364893031540727371682148156185935101400534842278301294048796607319873912844051516060430553352142850818954820907158170005055654970415285250037042153463139742241746964350955631456266812951010118134605729735350521832091034040946005863625474548290176315796264203441813375844679663249432206950025986808637862575373545002909515420608089013194419954128102487042485740018771470217749027767792675176639117783722635764503045664795493869171145541450902489730330412804395558054835095359440646647574857748605601417754277790766789732798075383225262138322503453080252729780044290425920345574218281289651698450180159850592518637460688117089068121320135998555867388984054233722395453290178394382364444228304302084283686060009236146658416555909102329131093711252715749620522844680185709072010292716687033061239531918401505357342470815169336054476886735348072697379873846540874655095483015521749582517299777328303254505212326987868569490994672730770961841266613657539782000869854704681109784208428554334317589399180172058840401242168293979679849652024519112439671843682690545214607924221932757044844682934821555072880390519334866671797767790819590084573203846146798715889709906203897029938858931781311420561354186732592729070332618897879274897565363443623414240825404288179590144364490274705578191889548350609362930969392370735000228797480298661760998059964442610189396639923206841054182026491291646618589628006410988085971982493896769021621458067223349645218796591730688317921905103649889110172006076324944654856823705141397407349633664785461776487715247290863614164399035650531965920874581288267722974634475601036305046509365582825971454603962548828930249369688605231950899986205483558504760282757864316163141367540234415110374265814304018103755038326222768841349237697999475837171338536974449603868424369239084055790488315176120208554591734329859228042756525044314423541506211314432219198938371888371811769087521717414253931027734030734320630369077171448620341961945463928019839472796965488361855L,
55618601085186265274633187240098079815303681631889712747734891221330241440185863122011613227728222994753015835864490828451476264445342774802841004390530483098012920275551770613152870903411608434269011955078583972067605934663141072071411381248754538015440064632730941804282779341591095740584776988339899053603500682267864166195339782369527459625575303051173281547443918796319728229464181911577148681899504614542302273921633087597748173727302273697632723323644391775233964534233155293332791316220575947611212497446888620889927227513456442150309203297164111053273510631252158735493829115648091198226663908480289399732349904928529008606100380252922920118891349859019945217020959740664308512650221970226996754326021137898294135375726440427302003799807361260467621440425342676405883580291961000648495068731792923299037065636938157933049781470769997387778448701893590681188570742763387798076443376364080722150635450784897449130044789239549971314716750723819951956736206341108855081633725824406250136324093863234916330034379250587229893874350837050353184686418339316001388994828330893181936149259177055024619334417290156699852098003718342924873290422834759310522359693105159048241981993024812708640019930509187690217658608475996584682836396740567687082742907704552913245494039499847430335891431865410590771244052430755554089087040417701463468918214311817144678299687872075996716586073230627554512756133444279951048534410624339495926745211046972555834578758449943073514879104698271826676815279860790603981039041306972552954296192548053138960929116645326559978982730521016291088908404134210230661798842830639970026595077328359132619866397596900227029967824043547256412883120295558123443105440304991509720508835736607599058988207023235810291897007132770690681879936830390567337203407574954009614531753038705727444802828181291223205058334640285046057903740766146548637152043192725153203709040179653073423652200930480362724580670708850521608813146829049939743083913721202335812259545922934845056268703919922230804280601863919831694321199255481482654436696824579838726126135956621339910426973452921013898727337067619193158797833283561363108886959442537548760623345014888109535808285975860908697423752698988184803781134947933602939863907062880506756832984186496641259467091106783879364902651140446891959911191864543328583233593128633762722753160058562692846006485253899650828282233156281819502809577652419793452953482961996949759461232702578245093008770989847558634930714164707072667271729823488122728444269126675275547946376856655797377694402528020772124739842564876551054382766551011471314308898826596979999153158325392206730568817555741458110704619266558570085812818208384872176146423456117136483956529831014368223927425709403714136413508389920880346518763850109913785348284026998473309128616306101871008784318836592585316905869637784705964950515682627005274763019944651694995381463470521059353531554439871942907808094951745820662535017083957736219734523180918535057735417190445052993544815023699862044797166485163746815706815090414368907170488813365964179217118062205414407088898822191768917366667096430480512524996586359412044539286031809273975839667525546684080890791524164177990891142943481287648440012548201418965484212691357263650437599082768942595495704118986073963042670370655586017361647292726248292107474031783655040872476811835934141898675265607055450041332008593714770640419221777524343806305223520565753160628965516626575154584012753055869270578386485293552493848455962351729405568438787241321911022152702866247023548908695047330536222017738280055745932827689830264154786199948830026408958990618281836140320267167552074304448527925323877975682829688238574638512913424993631584129215894480845993793186604494432172530969293451427412840336167172123205848398499635529950354307426264428328779152812686422895314001987520015597294854592957809714350634777146589855896604409768954999501629398010577675063386018060519191262573259066984448054536628047357109781543274168902761532067563083871058500717240854708959267946394237448274860164217637043978127705591998674191576199667751232733843781806994818491843211840875182117608979796292810969165317367438098119873693489462262910009965422492664336721079734943574873732031549168831483019929699655573605690264295572936840978564742582399352411037910137305627532940394669515572264820526862703260841290821029041354637427652856812246146682687232847018532530909276313121907641754225912558816445594937453727795183171173992434472855335694753584100995177650569030816297571532305250406136474133437713949916318658440328080087751826644656242893374378986276263640058274185272895979050391055898077979284796225397336748390730009774921683724610720196781314671521501703102635976868558095921864386562988751793503085290752876664170322787722638068104086549961508692905011566380484250770055779313199463938654422810602346322687809520016105917069925895369926801677643038531083598861162996803747155200713165745934438046209067238017098067223453274866345421383533750312536675109728252236282824259788867545718483652461081653450653027723405376095390790825004357801429541902629825025976576146342578703595280383569372337621818404260931894938698638393285180857966749658033090606896524058180189663319140976360056243112028480829463842087753647288042605739225073975174445743591966720263735366279781388065526091554036175591897166998342818825464707335490451217458608360383178674106927008342594508285012634449913481658316813885175339125472008362999372280000671593343958637933306950557425947616885689706514153146918074086858882964122006532102078894389299791827522472644551642033538221668739518017697852315032114177325595781293108610277986342805553764243659982611547173295269667922619879043385153577174568855205117284153013674356270526955891148262152212009927002844594057657051733319433214606225187020504654052789626227208150128600580514201762886485191529913657472537222171745885497493170927862192568760551946171998413863485394489148627773276903130696241666497772661824970521781240634763517412031199430939232113084246649939637587759537355113882895676791560930398267920315499508110124548137272123983617801905405387954848732136616048742940036148859312868694681153593777551520971562065538583523678742086135277941840118080142505301707405463848369396907320837063565946464499337949276862538081488445171963454719367676849186336079992958254620562703780928184915649675729720459769001419813244039489L,
90760466999130062700698818338607480934095364474368450961741221305777991158129091581000032704159953267402078712316301502521968967168463186767988926237469275978310985201948857823650438145163627947682921260828885988720376438508358494951523979728870841443661507502306110592973171695357435385517862457823010421854818077517448628415694228742444766647235365031573976404075390748103588099136766015416931812611917084890196250446199772068319554542788431822213468819390983146925384787282173682176976990304187440113781631163926805388659680473792763639137125919351289030036043848330417341019154313733938692112920718682013336457698230717044695974512026491219533921420638799660822502875754840935117513144144718537972956164464212050236193822797285638743105880615595227167662353970162655499357162252021303068826080141460114048288914228294541673974616939283033740639428435060294027307286746704852308546492607723401016900479339230404696696836428559813124699044254860343356427764350293309787045560898328435399462821090386551549646185992623737506688345968064040305207526580055384232508939961447786382201255645648535144389758450714401885544479522808757982653113596082094275747784050195409658814294002658915802068839845965173147326833279232755486519542685694409658306972808104863148760878724783803311635221409124652780052156377640703566303781778894417067425793385095917377040943870945956385401748643599987762380990645453026473528305800010525783722834206144308222962144332725661959444711219344679669358152580014111113655554475914521407023202243261356847382817017321330513532407924165258787558746102348131027505796785772758239429583443523680918260794916816729127943885578984022437515853009144419077761104931681755389591669242193580684653609819395995173588584049721671826007208913142789783058583184077143994284884999895262657543301866235391388873145988453070216523924088729826943962180248118206041213683491371485318613745398751077061258897034800267307927684541122926725425867313973319249150752682555584661434338222351972461390998648189490768283905669462992368977570031284186018893577982184719674719627562800552815357232833027984364627253767705832095152550985599975036411124836944780806218943010489863453812403243989083638497620088886955089059821583165115397514899552464514877321608107777221575325867445775512031027709634166193404822225073567233458769950856632351205793258986018439648058379442492378544860258625556917756504706203271795089482268065495386582384805812272983518503658849703709757617955956191463895495843076730656681100208868318328299114592928291117392787770172796587129338750644067793912179719271221629314944501009035409041578770829215536771247463046623827274023116662898094154202245687909904388269499032031776688179173879182409907916238082472922035829758798848836974682567858926925663131952937188240822523198093182878955378244660699828666389290998106675891758398990495843662633193137044079893479611020847209114378108824415750217192240288739719382336135786159539158659285017979341694482420928778825281082935376629257810194775574634189791144171369582059242249234758402599931605798868283867730793858061198596876751210988227241407280692967335250274509247107583929413525522545814824668245463113435153963619652915941298625608907716855691993705739502692347594772756415744575649048239387981872074533057027230621619412384587308064506775537285722632143441160448145995994330920227768045534789928836140451009478526382073211654186387969559250440232678208113744750156114161355512092700711360064060695401360373138521618457354117721999901225725879957954875649296126174016071802045497428034714220425816559522539543003996204240424382825360023340532726423102335873567018239825321306528875173667994803488778406353616684823168712167019530529791129075257856126088464277450453451850733398661948624767822958335892113715356157163084526382159938961188571698169250615775195854951290357068687536031841591383783863535315655416872025255028304188605492063371865602709935492078529158276366775322023408375848012314779628266028879572159665376505597990359745895129995786599608345129316285611789646523669462362695838272666849845434553518037604931891760759867127797835730574603929554713287293275496866603798917248910677451194761581411443329190023399531969306504341733382148936604952266359406494926442960147033327254725240467020982037150382109396537223537056717455427111520288831230512720387266021307587330859779531188507117686067920382208177470132699551058454453365136407189364350648220535284275848989215896536097486161345016544255567685089616419052395164294777252245946751033128976276570592686331232021848467256601970653879423041421425268687584258082885971899636294729373467159118348287496282882225198428985191256280855336098469768954349464112849673395106122612029445262446373012453520541021825831616954021258521789402078625257791153981738761271991585697597163791684820751979807635528192929290810528897649372015978310239036245490152242860808795465385378499609271742653136754702461361071299567619338307656906072369338506080054304463489343671355884248548818109591898021840000073279747829016982642687743344850229082270564068233477192167084813782900628439579223436314409235124997646659542305038572489935260938345760153871127569743819326058467011517001609269065296634264862637901132741178224906260023707404183295767730526977316673496702609666223812016498859408347973501256676386790732190765938390386110323497616499999042489489785882608198186934011996113266377619371901819139969165882011951641950327837634313346771604026233333564814348225219954683379826408719750188845522493495724243900945399649931472404888292079344826683839231373464778561329195115175621344249082026671208332529437527924918827936718910708657373704359682591626117607557136405509461549707030776024820829325257483516885327615810930751398990902549998168269205878033173935308936328815832351739533464485363446813969826302894848520062231740151435755201131104218801052102861659006346971172571887373297349470282864615595831009302284245514563133292302306904379599884560233171241327654006603362134755029599963996821222746090946854430209328613511555622307146914574570982820427176196868018659835058403139264840560093341135245468803166078701511923397406697137047719037072694496313763571752324597901870546389450052591860881713654260825994816868612554060819877884553336571195434641186250503488244263967431390544369374648388887567807718050974473646340306385764135197777923396854550765101L,
148087109050934916051378172893872046758870335979101352278854127615863190761938820478588715243632299429988682145373190775385781660140835634946663606023645111564033170342185056324292061255996456498769486132241255982012616621968967126960790312150382760420546641387895003404145870437609021995304349785702301344545457395941844892504906787006082854862128157768675271904748738468652089470327227072318978405874758494047335033901936755415966046744979548546187639027116847546767868877614903741470387389708557287075050906572443075852099496685632129221534037604847951837344162444134523499677794560736476488762355590126030843618204450423245843498054805086874800226543567386589933701347566043299928912275299850172184361100610324818371514316590118740402914156249769681408498603543523420756007890336742856193912615510248835827522929927278532894357227623181619836014256755614271320976678705677151176199529618409266706905245355615680007742473489258489976481336927026057627056292620742458440577983988658449058556732234948781778532621771248654460405478348516393631578705343486529919907646072716778698051895842709944204680081429758297536182159188747162587165163588352767852587058751777696353068157668307126465278506662398071915472750940553633104741450983543518770293208589267149793359463112696585590687701594530203807757503459890846625773555935118825313148096293609419637485186348830372484997302888028805927500122351000577830794677641409672698317717115315125937674783670305848766151476355078667098532573838765786415837789231300633127591376037064154970448350627390033611901080312996237775378263715829544391136382219200058634315467769736718646496848566032072952966651385530848773584894464721065039251087718079999828975525005168199825915276642351933204301077389560587671878504112152605181728869820485585746768514370562721503661295919201568792806120747155051138753202499482842592115050152183591303829447454417075053519172622738831235318900185088594597481512722014826839467421296471707202220778789736490119685055476349034106419008778443781168374332445583476992566646338717149181356191395765986791211284560545373855716077971381280910747037797209652860805718812325728013733683658674349874128413330162285063540825065324592612831411116214330817509817488910642228042886749324713886768593651394062690092425269511178956604375004892224419749950100652207861702701914376419515884678367976502433330069208305228093494188872313302682710511909870459554334798118997529085693129665938368931066032379009113334642081077670164299961328884894609760773580450228929610097349435638989213282980018536492004450357180308813678647913683214589205665166351208696734080898116293520927758762421188783910367633004757337717653949993727893207069057112691415258381166067316985911082541596704652899962172677674328706479392720930026168219965984880449972323313559000504211319455414198476930967162118655028587468405183382411486035607298364023618114176647360202842470731167751065987273492376893730847106012889130778869563505591359533238570374011439240290753423908391278618527906789871883907107009628577109443954016198979511124090601802769065144143899906965876856948201478089706423834120191299625061645932949662606099233969611011908020223444992435298556160377132048657575558949828032239876376612720303899546160684476534302879722442708506430597423817109914380128055198707825365821160163984674590223195403816093440552266568873197852193639865457139911839222540498941823946734102329111795922397405412222637250847436325587248353888724037438715099223140252135587060442774511267554991442974421794762333503111243859823151791637319619851545947210449741906945413610635682559688528039460555554981403235869925897775026776376469274013425421138776452691302694934452238744572096962241093887602433919859663861007536877076598695547585503951302594619188105714141981970572704130579337831010648191385586388673116023693489658295632662909796145355872032377876076088003231738483594775077644531863069105820959067505087384358809323510034688527358794580456752702249599886490933909403122816356514045139354792451831428672447426524746112701823047652271930633425090231661097967209780081157323695496724897031372621306076730464586361336591350107756584611217898364163528608410359407190828648520500803764150732768247570160548101374707494034404481504361441203947627971172114626023707462847030844835801526004981530228116571096202744457235824400567694792708960012621276279491392585946728053497273006988306181304506555933423675510491416457252365094793211357696836062524187283934118072860748860969747839059498901886462857419772036923076626126387717329181458838121252681334300339653590239944559492387336493035200624976255633591293855184170790756906627050036556262744155722892255126806604996231028468094586001849147664833862065928872752238992571807502412899246377232756937273073209801142980639670261588780209073464903067495275663580591961885762941127338633673706627138055701800057724891056348230706988216348093822168349010099532705427199857760516554744319664091921808573451201449778972119989961722750057582875977656405986044718292358591875777564178903254130869425012068437768554591862394107351344151818112861241105563682325574297897946904827041676021778138907587224295600419842503235400264317042177914099494102522335727343467388932506629894109629865748599427516322009836978191885028561896788355277767188027571415840654838872950767654580792916416118767550923597701805671126772526474888239582166133810321934722611572029529650051348858872483646602849554020808607420933497126244151893531918390200705502506051755273904399176215271494850536319824901816388687745830543208033347398309273319562005842489535257307915963694055501031435805289588914386667000320218312578327655735953409280715262780896794509934433830752559463565094929815086177625343875528283310848817497628196911609595878742009762257154475536059921717362117800372317627742467563729925979061152744390389940885435842755614086543543077205944200838405840747134070028560816877476720504127631766992303292453384103055034793914114027562874922579496575244538466927121118841873925508172307499064947441004472324920867757676212275004156768011198319929648161879457720237415682300109593099527316688416157831610032325544173673438917064467481128775071732671573306343757203657545793623559763086816454647841413376490316274980743597209087000073257554002982617787430863556791116650233786500501652390456778211712019519965456613235165960569026659418679908873081L,
241591523131218239859966321265092237114411512179947956274548723677615446726452304470572171542679378498553639352944741300279553414675889177121659221106959329436243587488349420329301289087771347307401569523414631064167465135292829771071022859448342161206788309239661051709487579383273034070380422903032582088601009920304484952222057158557216579809759567613542895446726211328385627735626991826997403277572024189113153792202863194888168866297013126964265446217680612224737858608062546706245115574906023402393374340560535476566610467709642486177690729522285736464439310143260274805152313477143394795818587288568174147545344684881709745101294062045007007341148320635487745784395118525392331084910040175795297661015648637760507560328780404876090208209794737996040936117357708230350533296784606609000965141043818037534011222608448111883498659132633532890418276887650330051933591203242141564720508834630912764826056516865734780896437705546864428634924246190248966353992634664441564886519589706417450283949255503249951587649311504888781226758494914234642161600914630484624598016643596573863457687038881641520069630434515971667911096412151298602203834452609382001955032626520538952524793893270600500661047979111399314293689699662507372267648317057047762196067605196727487771619578308400307819362866800677111902767030847342423273743811116223066856436473731476887711784353817619386289566649920317446773952304229386990281227554482641099483332869123187496516812993987663871363691040685916148542900426101835525280674074318642930510309819434625594041883393785232936846531265433978513003136094207299491516126306167328354767306837707529881696444880289897259566402746917503510682224385047018661454985476668582425216352562501048928410680561029657996276324734541962037412569188847497086279236746447763114763136256858769993070531943233950066032945566184429156870701095053296707424121147786995008975208404142356404724087729680707577500825655916308255507669688847320343471419035675084981729054969270009430034379525682277929251565353922701282767191347410105295947310590296592303453975811782531499121778483994195688905111559316220471943542409912806343661075297912978663695037733859003007856717468759812920427381350983640896361701440664086801909339154189357944083707693887485802502020640920799181877650717496729212886714340078417583966360388777319112894295415491403666043488734033737666376508283610798225834293457635733537368620933750247030103272104352722608159479231735014620352912517519650418810209039029851768870044058969401359777351282354005187139965688412370607993919398865018623323043802451172332760551599354082177616050187772861618176693786372050297441181866543128383821575262264342232140744066413830215856879463906892231745820418791652969628012776383581705636857827359276492754520719502317822905236077132219286511720788405982767310065038136521494892585899063771738896522096336229244019400100476079888699329233635357043656645979898155461115243059737762032020430069305631371079704740808977341186316818321656016997295629506355598537253760784121991509536198539473019278729938857031937925785247577542161094276424802349705392776842700112796963336319235727092056583762753080114658971717030422090143359396584394393465096368683321345214901136231400382900789503737281851417278698360701874350030074141280483423473791924178913677269743111347146951430692009831636438357962006418533881558143969778135047925909606741809199324143583739164575325616174751866854210668552390131256889371608274979387970126287463567407844842282266811502959476727559538224342860713636770275350377999964574375219392312344291196297924454667898905237152792060735738077703846342029459764832985021219558735693888552619242790291644224985298022365601523408329029752326760105466231717602257927929037702543895330150893566817759144622375190450999720803686004924645171409915648402472690717803582596291508310370467186067839052245586550487952922419483544362389828291146254026938918830273931454566104056150238756484294531002311638719366214820439562510798574143802966376698052782909766561234106461128726968821253766811829866072585389037265345947316332094123350930054584718529994404624340115078327059992312423831968677962854920071242985906926579466848785137832996065942702508946627690220137566766681320408624869289944928091724037996919605365061366945250339200777627336886437093585017224335532597586807198902707602372831776745169320940631142077016496998179626669164432037815976665384671264076838506414799294866086678553511623754158750110319844646881282375352838416343256321442327544645343891371867527165117230313527130442823903749608065853122480729076022979572056805973886496871544534412421938206284587817907071956188265067165223767644074036282252001337722389091489310050687561719311178564479500954988297046761810341729056622626715770855597845454634230072918505967570689744189076638885987872024781739731233052533166854749436181996236175602151291373719626636662481238133729185830353370253496906563523633755748705173153393151422208324380231288971272895186970198096842421504653979132586827595233509667890327799385026870691045299395771564506761661988382134595524190852550361294127791532963451843439978399525577747951384746740033464029845044716068634003581348268818656302960700613984365576734717934850702128705931371319048634390871537778309140790572194024532284319757899280880357522776477687575967355955871147912933337931179330157041191220355691455821053634030715378770553536983371991040494497153809123361765062849419694375550157694640436837333168460137284858846570301409552337939136285147686616256876677943779736035907256043860065429522554180931258163998741848658677882626951706067538987517219733342149267727142498579408304617374083099567065039708062844051377832866354768422626990725434753302425675092836901594957943283011490068903378806980453177917810036438717033183623347954255322691739233773996491519129912673867671530118595691005354054554109710627124013102383842767359851259290101063276253313786231881045935657660203407652455549173548081536064446818230620216040899190473306249217039819607180991395294460469195186868235679307753407707673560891040512215325683258934394096634631036735621765366873525147983909373634110180960708022608228862121046179245408523289537273286966227443761591898957264373446916511830197490566345684691109594513962936928350716492483338474400164018337319539027716884902159346229183928653336592535179403103394731163561008743468474928143381604L,
394085144434550281195635921344387498197223156199637769903691362219667747326886797226349684308280340339032338136026240094793128249246678197561973819838710633246288982629592890180204304564234182869803759755731565849474130937476156188145935063480854201239058052653600054261873179164643326862403594613635440576231676732083009246954712379512073988281307654286525357087372091904855505397597627240037690805765759663576686177028181968819848912156926938288902501383475568658572137052611969995814150782353452760223097337742633728979623402294097263076287990543946375952520465244699968903173303971586394493706405317399536716212894400463457742302099781904497373690015350351913103389795866982693129719096800048506717991398782477959259165645007433374457682151860802067863673352987007208259181121469313504315967161880380238485814643968113184951348044830689738265981369083800264902620838865653198483942008774026522448908218044266989750297565570017620510302640189359960314984508791226798931829624383777641756882481902783264693371916032188980595253068473032424735249112080116342870456059481263496540059727756731143581055599517464598436448706856655782166741271193048971623424213043851362739666796862991767316443277062600446905675048783591931335431582304597583618982036763217880892717533199096502938718705950478536882011664438657526337564706572876255984459895590661407136666711576229138250591163353958929295289488053236029997543074680763333681620047320318548606700322770320621532524358294859877323997159072283737600911263117576487490665117379627817229351294494838324378017014202399122106932255841027262473425801252046759810681769788291176133585981151453468165512447719070779598084366514916597202275639043279062301900206178711513269110740519031886303357185661163903440742230447477728031639577414024817258618757203219339159901907183181115985138977537895348658234594694634188664009348813750547307181494462041495938986016892840140926823912958073716602994001286952609367097391551061206239066051365765993551358666052227367142696494125174438085794666595660687395164091372510424903387711863605589474967948479743316442297862609100376858246930258220423685226357374368668588908523720490576688385370499616817577099730935335858445578129109915846854085586304878060247745075061758060657576483386104461658652530952754115238521247807652954412452878711012612008207997974652250156174243013236623768646122136423342086815003172976869905755810374176154711597317509565593886137750605477933849786522862917221913029702354116152768019052206456145379553836860086648857717421219985514006884325860629501006649402686712019263821039709949752012830619720916155741932512895936909935532143124698917877777906515352296744783264558095515257028137428312503045466565845184759470018990211352536309764937855923917257930367952030176314146487292370921422880531887216295658729143669900519157218386889268540999526233464361442150060868566226682939691150230690285105520156503797204749868723057751093693702399638584673964403922408896966999618066673689698986142237207926099340423853497622542320157038744824335806125552109384960526032980728161306794615106466043865046598642183621820899417377098059173554540425201462437458681704805531536749491860535866894044861626967017877811415959717342488270429063014716713724713369886752491812019354884204861628460314994687779743279888043106176237149550073316186138999313378465431812531159431029703593720321512462532773198231255773691316708199611761968475856132063478777577983667021163869285447667950290505260080394419759866423215725093169097650117782538352389721443227043832284293396445671332677143316508217431040646542921607584607127420195832673274670879429606231516173083771335750359241868745830013909551925779343608700318270620970292006883687929065299731927271557436152378040482662751851408493343066269887500929385387505657354681168841079326182602606654735345018597420552994487355564198297088698309820889359014724718042516551953728491937825143296902840785733264249382312118266758526743513480505282668897414239259225592380220852935967588605012221674234600225054333404721000684054206003770562948397891664893822960488773550674940158953318800309941811859494166052678857474571558110959447762844124569166450925515361683366893210691668797325255611969143125788570820984611023311718492431217270494475266439169766339303969232985633317100917983896960034981445662696644923159724533691162242113242079121105481500737945196826866015319132344508360679689524277933036962485939588979783679167086666217600614435456689747951199509314741002486601217707190641452827707929691540405038861606732364231334862807219207312107682139253453439584363125532081542872384188556819713887462948790105009777471488176904886347446139238110419828309948409081657732712025043752903051469598864343748881881835980599723059601500630379695485813460667839182166913943508185214116686419462352221315757128668413057996913365736707768337921380564473235303836078300065047916831308680894276221502911196601244700610873967528719576212761690079190177813537399802537354467076796783366755855540602992082222405970253940359668405268205297120590030408097380880333121336709363864897861703968793326269417241395546787249405059197726462640583270053642033149225859849173747275773185065358669063762944696533645987022045444381261277543644404806107313718904443725580901321752956558899032808749924865569396583149490834444269937448726914127918395334381690606139968957010693866395032531353378058335053988958883317552958994595007261223490720630271012222743882823275722857701017625697399943080127259257344093364943806231866878289463102217141559433712867154193397227755580688824644909409531078848125261746098599089140051059124426122656919803312765706143664222423323023523821317114764347149096818666693484751166723793888084454051288577077933997995426663006510847804101490288801231781993558906926013686966640233782239235662918071040738068870941318931541445808468665493781003033945001799045609089625529575315801022196733863757784257758045553807527757008400920436270743511178546830245249343574261575447561167755023188740714894239593689242761200126177983860553526261721384195448007420709474830847596918982282756656132236602561468633448241302254720773455781137775323316839646182883192380075668810612734259187369146964579610750528188234593491673985091029526727329088024923072185496137877938742849217659141585003997003441747796775945120400341027918688952939148712126401805583851695556242168736474599L,
642750468904083310361522330014450450974763107702227835344525076959556446973978136633333251075311883597485684958628906269271289823244287577060531603321339883852757836079841769460193856442552917126652268274872005745689736345327264286003360473663215386516296328979627749584095533555127418396629695515024178897953116512884722864577091485382318422266501273989386682642108737946664280481368628601473026306314986410588108919118197448466622509982316716725794138289990570966489939117386443177788714681640195628977775355519478709917697884382155154462456306102118319639091957847854335095705946292728902099073450864844247793823091182384557072165783276863231174169887154540454694722177471853640930969830738823468619588454663979412881680558484224604089938058599483221534760577727746284709247960160159259672896103633317317481305436499552106601484076637727758840596977628775626294281995951949746788093698788354866844048326918096588870548907929526016394146496408254595267602334171898908555712761469503015936216290488297220494949838885574672955583668683000594017665853213073001476442674397090048541995248972886074705051393165915627230606605505326603754884241330066335150158344597485604661950677852214360872966348133136196045097574283961315841741415461877037814145983479303073542264124474406857251276924374471683460686918085880114020212607722296837019540318234511545231411466612523034175610196759218860857260299270965615822327043733579049087133026753013191911571398981335782498308032534476071130072268558937721270360195494987696645655763667341251890779285183646922944781134018603988293778479284092679169489883507552709914857725799015032340816302979728898061205178581707432822043136475110698387982867948971825804168584520224670488683632056932283497707644593569258482680676327157079656978781999170947231483801686565213105259405999141046097544777906263214257735365576926503272889183944944557685075800304176208268707409902791802469125895446101798358430826117625958993716663721111036666667417780921485056029038173037827262980980025771342280772197209177925541254926503479726145733702266140790534806781178589392051883355509052316983996003663319594858179721723914733471538628764070535313537502480568295239568279637694327538729213509815021914006849880446617271598328263950447856191108304481718223562010512599920801739995889597843576331186836116478652990341691846257678522952880526839395758748457185938953002190476971004146373466927879524471718414780040407916064531292185131017815241169960464056263551256021105478769332630989937738991526420048444499090177966189829607007272923304394920488354152919690949285175576547206834882412297133124912580107641378620952959402684974520974081380785844640816498459995007655632493445095937809935628323757692839736581689143906100331195759657620372599613944459825996097191527244464327795044718498171615939071598446325221809675621818260538768714284033312370911305901836729928971774689817266002048339466306320575717825814670900318622381670055212156657834579253731680957440756868931499712191969309322978245790601020518516569865720166065429050308095726997913792497844027478951824083158038208297080564122114963408127113790402042413022384014319324235133912000328425100973712597645659772803934893323319639847505593396522495345007405722510195311298414760340429697903759371000916298543677592559106679334094986077488732264368082364903387518110023790835061668652783806358020362281505558018042776018402364737370310095268093071465282230862828777315778019916983283970215826882962770008306902925735563508617218567899335117646404348794500625822146805632117990078180502530364812572988613267572528205282576681263944957486665810489558801339063986938828759933017600685745842189613914294534944210118376545613820700701873971761472044951173217357335072167644692478480954213166679503816710482459243737005309200031668548882579905595260107647747406288088150785340201366488875043177739147580262937779719288518166439264085643056296046651368488947403151067973319313165825045616173825138291357916824896189633814677801052218428926347601887381397413708361640907715458462638861575087348626600648902750102788978018648256735290854876720549484036465642586884765984980433657259609395138702811762264128369187624933816735368514796735276220382058064807095140883940045129993389770578428327008891934656877381203403045834054539146850967250226286756389023095584987268031703206643474503850670994288411417798382983715023314126587073350035749913833773673318660605139058905581695690359123053125121652320459022788438651114164313105302577596438004030786018587506598869128464511477005089603453177427330479995831865406644084248173768954415723953736498441775170052868073912527664364876480213638163834112751855778808151422153734204953946197596202049748054697135145069206125735546009860756273925040488464395554176399754199829908134369050639465588883288467909966445704562386167417290272151981866181072534865510568057005395285713586899079271785820191058677778319034362109267697528530454519979785926960236077834359057738588893935728988853664383934514227973838645452420033624117542779741166715873915022585283243976291987590693035430529698473746453648255696258269436631456343414930039531314533079802671406659368554737474430913752756059244466864853574726498210875638848561469169288199277219390575694393109630552195593411539096209576355018364337262633441821957474326216694013973866311774268457285572597918330347051884072799387433857236911873513552742664671224435394994648984583449429830637742856117483378919873109861340750577497552563705121527976621827063569385807036515016242160765453562924415168744278848612933370459954180620931436152870551564793833340183115376862704198434102483852240078573933327056870892306820902894626509918482321214851883639527907204547903501481477554686445293673504935397963200921590687805589874862315564159812758006906203008820801895588352890586246533949824536992080834991174259068384161653225619905334577700971432793976318683701282854767012907447670339717404902006994970475369365156524570908389981150185904948550899773760058378454239893147465722914053109196484369950064531739665710813455457999554993167997887818316561452066642969210025636208220558090209767353019215509687450780526427474775702798535928353719406279175758603239147757779906443153987103386052217690525207773530318561148355873612925652916892222520080941898611484910095588864835273791251717115198303794804967619794937215595526012343490002354513317311915404L,
1048186924607974118691004347151543592661896406026211050624339558404819335598598746219837256983912882060072580713388785583799487950002585716455539831971464192429253875836983109694764473074417649816073815159086222265814839252824296694946730732839729968105603028237763173651075721550914139197431902034817022328907775511272539130920130747854891409264068191089791642191211483281225352084448031069187473298681858569667876403984632783076968013657646665822640954685869404208968156507375880328807573519911784883647514523277264630028471595431005644477855481609670089861254009734432918097180831806149457300309122469208674241638659484120277592631007351123266254106464447935722393774292846960558222688803977586254459023366952816630660536144746287175338621301552110198405352995110238589079433881055810128490432813436009470456251203147549998474437563205857840757475398310680914296557762813971878295234021418815707821800601064962409942261066809697299356081297779945065880568130163679817206564615912046476574541162190517513907858768710920509946026036093682127635134201647337564322964247417075693885336869918182491035422903739055664075549492537088141356899921427803822781717852556509497909007330211469313001154542943392843907715655300193662167281448973124896112360976196436359374647106064896743927730612867065444678250457597478018805450494824519136696018094516761624218662411588290003328874220788280060011929344461042810933561042012583640564943355826981473534883270889989268709713535530528256939637877183728610372830685542350890881065035674406873027966647734006600139869899437036547293467262736357761062100632066134551625049831688552318529140409083143142572711382640007111568837063676683802568096647833094245669681382780913530958521407759507807522206079700211899953637914497313826487221497714515590339687443125023784189603343606477799581170664341460296187907432840553416196043182641606019892336111376189303766123809694170580567570911875174048223134912035605767527649436782792389222382062632300587945211486918867170244714450790280574320883679807217625425263539058381194494961277085297184251561984929014544804467572103594905457984740956077910178721822827528211738335159231284915059609415765133114915760147977677171170366564074753046288506100708350703168867345282492117960510918937761239134429551189396429529065632794409787692079351931592333438587406567672964614346432754736972833386725965616030060606608444917829014257836864736325067946544367222498347609546921728648288648452158367005971463253616934047707582169534841869678337431875313243200174659014527272339449786209321552400393359934417406490546623750826645349685483104590595843274850044758792184451401786955521101835067639280219885474740058998895538375823730326792296553984134389641078648442169318505539924478923403813990497944390501965685903174742022976366698209597498609160458115994552493430900076686331682486523129732353605329457376550295777329141131646006492512678640786738415836130054406042237404236257735417925633001378282534134708871606549611164047966614241407489620832111009977391963614766049856392037227925150828582409456927257426511187459740148608937400162736318544213565869722193296309474910466546147692098851232124841446619166114552431202291257735214738099885151436387014589992185574231754113493676036505117317790994197467619006392972292491416538763377717047764189333262460056907002943389141252270546275828390502579900993454965060042622369729408390517836612056271106467649404033394825192759011887282774775741692551761932760439146245949730387765135701988194296494743884047582299577082418769400722804618507924037745982896418789453076965390270368599915011580587400204543150341453720782696035464916594548791218457407621593890268383043096554748695276627735294083797865206900005174305088065535703944952611901234567030790930030125903283825742413908113282151173451848957541503361405212531795330619439386521778128250844210007721687228385858823721040477994120571455888474289900281161065861013739087081491986787698932065786168006049183635583880016829735329794533053788386324338299953175840294071628315379647545208589164621985452253733799632599976199829167594663117228274777242491928776312597212090149970037125350781374197561096255057705925231316759762204494087727799725778923165299478448765831214728577735984064104338239807504830636951154415227100082369648508934993471752817861536577073249508033439105317203583599323710459798918862038627392341401934110805390186260341160713464315398354321160081051333267121037389271056957780136041792202412368120568309154713924639941500118136910749324884824402313000253180032841517249372818122849532477535081205927634814894992115895703856166717816430329392975189852240071136916916269764736895113723448271599353281111652541244116669018681881354440910737637052471866205121158741290669872022257810516498780877961765469713936559347377292502664050772979675962547004145615523415577741105705578446081972073524504527824222264416816899978202377299091186367714728861021205581346220921011642526420222448344070471732450763394749606230363781151958020691036230193555706751550611861069527396170207591121317466930858689742667680968321328483041327733494324252993448544206415856432676203903039088615581261839971396113796337879189490312656449710457039196826498556884180074727993010005895303151010132135560728512469941269970946786643198846920950813796706991142303672435603425546678981061479361271898603994575988903399145915908256211514501823253894244461182998570902205282809406105470430025326648355887588224878780808615735913802190625267171644971416913437798816201628384389789911441424788221417699896169938647513888014372910034396510573414607722651563961112606279662969585605425597485639925123825717233587884912714425584547246841655386128617520046998293824130619710876050572234966158978950374950912003244273064895097617942678885612775520509730380698581727093410695271554822861618638837659182729953423687562247404288543969313716779731048069286516597825541062725592120638829313822189462969606572154897651365777244763826509572775835555978903899505401722160019366741217739305386785677768855856724443172949893917434278418274538919044817959343667488054130544488725008966034543156425919156196173063406651056357606317844724792560849932896447882374843808362922068588634921678879819618186256779337212968968502988827547880748364083310358686538626887847589293975737954368791210305393798005055217476773111324582866338255629260427238012033603217122993L,
1709145761061374593241984946548579309893183883458862185713109562601040014582870010202556422011080648576968003689294050583971427823532532378868537514589833526856311103283874712459655329669305944695101171617198452659433757716161974580587130578394406089555534778901208298297538809694449996476631374049022886169548498038468308743686489070552628441680772554758237741672232356639835168072106693953418730300685601322642130026338443648182454251551348590690079040523219562308522608413903760599023148061062876468857890826281721391658330659846310357810436953700092296326580987955761943254560653817841575116502812294254477398513025588633429817097659502109393952288970201435723102672817087842341164240803762120176708607681578072831792522287800210987691631524657405746656157506558963896944067344225012904582024453636771107287469264086591141160197768024416889340046335613542984472115124161416356810083085418156568504170572162775273719742313093717881913438048029692737809616793083653744353372617407966701476075099948382632150742944427108467986840393002459419116454290340616324697753076052937234821368723516141981952437426400727854566826256708283060425093454452913344856490794830561181112587451482996648339075649819612642531893574016855080296951125925823614119986335389716307672408047203311189137754676150826548467105549693462807789270412046319185306217055091032102259025506864093870278365645359047831790719862568603148800099227056859677320037781346231726085657726155749770522269097044044533470331329961002609518481431484565137865172526536590229600967393343137817841897815115402165684170691331542054963517049079978664859019646443213254939812086154010259148239152070929419011133892959043332057822457026742579678245987608311139144223946221027669826686713238617419592913862414136799923711111222527995660749971278565675675745209560556565923153438533680473426932284698671336583350621609452516108315247796294660186535774656180585270531498398535297286882586836379968238235888098436755825463756498455268902796088994181186581909012303421623872973964685256076417326059567770283867488599003144735098405254152437675076304784470246419633287815449532888464183401952429618028434221271982464233716403127874077997032758547667456755185607613546124812769204746111066852101613268506340786126150237752554066636397846467470043478741749992550860207669121685634837240500016204591276304296125402389112563346606351485940749220918036223332975592517054352478227675690100720999932502091366364486725761075888800567194042783276894095529170185917596809982535063318484671826753211661476709260673518751574550372875151713785351113078800258055711418951404644390657500848571209096794774671222800225393266844783279551530178571605606169507261006217715539669494954814366401950666892935537358852120617997029102075768110932730751863886965322492006297142850169046049459690066150575211084229369008768136876533021785910578596842633619819363944876372891590754175623879717179279032222640802888185783097756722673133265468388626248751895035729198697467761439971490892126925394513092905067383467488949180183757714088285777692276325914921248524920473172026309985027560265031910366933280911537603549672534180789493567696227932190439600786972351343500310111771736720545307031370163718747286879648125420696934127740319282251744192688570475244587706319821752819637739998233688177635221477425927147492796177892469006537065778063696087634494548623771720212803981954033351268564178371376781502263702297694689476020679137359987915987492123159213340365367494019747892792680562698412809817874474791760370781302346037790305413746821555652452223629515985566278952684843463963029984845588632130831267103367010903218035967664717576599186670773553263059042614251632095220764371624912711220113357940054502653983602167871343808605978865543998428264899474942137152262907842974405245256581444139150652961334889555485188497864868088818459679753502994169248290277062805360412312226452700939508456666330100318995550695244600278629099637507091636340315902340482309673087429949089193346413836140457879848436855424491802575001323876181876366391761186171506648868440258480124874665440763088906248251669154099021482360147157186315580072325784669337963506656308459512989944979157707983924636822867502799702700814019308113491454043650926883216475986423468357754149438152117598668405816597973011060087797227960064626902197827668009689377555522654269924630650478264393891702819729732490148857493049936071071371140390873573366958809492564597729849238501256993142560489093793323864842143664766639095634890097717840802499379430487613427146171719528913013454128972660466260490343173056393850743242313375637427005342460172409724500913177218797662534079205474058713210787712104797747722410926948417414291742608496380386822496774822302556155285009142023483360621977005150140056530891550268008314524553677648668463057115751054522131815089009017221726886843921672999883079523340081767943094699907996516132289809395464369179001872978462096633994316627501120171327153627564048207015606620415573654367323293056889915009304749201871304152783647083534658314641765399005349009882665081420713757371046411710898761533547870840313677646208123983110381656825103854436666673946426609063293023871995643367138159879877717676709575204714835428048078227827660319388765955785456779777411713588774397404888601092899826322816842361903315737343514217913868473396641381585478209081349732950871495085957411133797115926701879917186631007326117310885095373420124986495441775251120251211123087944076338249586663350864249497884899036271828128558522937664592118012929431112097210187396532303297425554781636212432912518655569352920140063219659682881933961578212993963186996270365012304123911950013140812886679844979905766186927244194473606020343150700795256390533595795167538969799781320577296304640079896705036048028637663001365338587881667397096029761462812107744751341848424964061303763738874363470507518323356700460011256292021513589541082535486353682944281027419847006359474769025434731720324208719004092847271055647322697480232141807726491002755367317965709994088918687717922495287690791511263609275297139591789460844707728372959221117510491503631815197943619604663310767055389405237810718932321861210648252596133463040922505990039114694426006372729664496522273584838194570932005164678358723782738865442288353843922784463797170176520512788780230087275180143892504697197179614563493343664484212537101189947417053980L,
2786528737620358697489080878955659365265309582505320476597536441203907256356740182795281776122648715033592152379890073151733818419831205020376493689820007401117852043741999313879102922866150171185652635730669103709028648802046255772695095376977826410090169914255088289846090515538344146274005173446838746565043768656310177481328744470488002237669627461946792692977099920221933320148290695383157934860934942104502688022263125803506759403735981527236255264294599972809157707406977372027277590057881788597664344122090055983883417016654569120246736826916758036890083531226025677326783099107240999895881824625406538074227907532952735517767027216600395251183688669816791616811352493314972150233709361536185668663702783648161797611378206178036201312960958234159324583232703239277590446630452797933841207046231906423990325439444900182035870687309654962920952505650885181275985074082627873551204982512131932342116293933085370665449892325365499802810246843211690985797861285189343679942800573685802284783133002766042806291444393843716797884111910681445156430207295337939278962659059433383306243082698814703715195591655208231169821525663991386962847743293821794955363296428390669482833380555023426995901809654551034453964604807071969910335382072269132942076341316824261913720308763398039851874931453130886956750890761044738233885382644752023912083690010019158976029319626972397856125793576174583080067900081997686407597581459307508394367937688133620415716902526770848393880047944807391051933223808132804755381496982988549480702368383903918332662937769312170015750535316827740959555245308544755491989627822796431924835518012750600987702376305151001260018163881034333654432375004429084319816699309610135597351155296815923541796552602597888116431093907000083564215198540121199595593301382209386624837793244381772951566615120190669870501141285530031367234994453069841431371705197038685224427607588150931076408164411996293929335948434086438579329652901526738076552693743087454171233824742687526927834315553047016176125398423682004206381263405614640821273761158276548754748158931205397634144621608786958966837371789926149491361771024717954295703024223041729872913076951633220302410844017582317236822248627301156235482352407473565452010595814130985512792333352021570013111889398876282910787202724606359480605089064302985291465991142022788430793567829486146052743982031337641017909428264560143736571831816937523412903672523720791211428104713817598502587117085500775505278793768168725495322009970786026073223347787258738683470839488964219488085432573844433669755110569612133066007984810117783453234328929447179907100283670195417916609639063983582855620457779619550072261996779321347403417185330606324043529797496618983881754196346096017226709581976529040551445797125355061505717370118083129471918781370376755918508709143942448752903497424690335781463040836899320251038618315891726196095060721869097057830805516538555645062560346759836217864823911972365163787345265440857427511966526316276276050159414426877070253371483581820931189736373150670509149869220710212482818737073429187350048978965421196886150053640439336367566578542148513219127491132396709804955475053151502506566880748174997473840030692870510864028591451876578954669601566079906778660631283127367875917089461396425267619521830265815369216806572309574240092244302407322051870421543277798183259766136564419917180840083654307492048716976345884824456974742890004032287929658432228738350267440177247360461442888318142668520927160464278686717726076418092495022015690292170726909944067207969527457607265353301969436136009369925405459059800770196671666099834489403164544478505784697341070246568397965826988589500791267667424023332246745992964704485511516400381001395502910615003350483049745901963906236969490453445098069894786058548186758957703920989663193679952864233544033382924726724674842106228631030135747456929214037886517728664165531128515705335650121572205695714537632482439528835721053172625505466459111294832837629577071536784299933872838879230712380902746791020608216482907174650971566843638399538207781523363063218311448036251862245706789068674718812842261369071949169655024308543155698512818385217024911462056884589230505577181059475741109421037047591022491257397624159936711575053023820027425071978543646081140046102569293893006568234611914061755791295449425877966488520427240533944008614758410385488400443846115803832296135443199495640313712798042542322408831587632671132427008582737972298857045602195476900432632369947618595001524813618169281312279730914766296620326158595551425495675224712246551501040353849546048055103309162594929477786158691067198682396501929317195466507061589142221474724930727655009619624309278036366561263851630140525307311993244295636984239847827261514370901084837666624760956973000951727977858440014208066458594268459092485903902225654011544758807480012653787897687035765398789255771927139923232983885004672701114303357911810135811914210207976392691299383732430985360614876748036154555320616159203147608457164828051125818763855607103666513353915385777122216119382429670013168709026541944890152516566448576396181318342910953192765998996247484459713379918992632401343725195999153328856930223973961125276319152491638126922592784244509643471644286457601773037662535897097322830717009074148533362067991197336766729615079140200228469225084248123743753060347210616898648456845693012505726645486902508844912516684216988293696265177753584521205904320534649964061048711840490839269023991683271982330097449451019181575508967560060642616792951695521489934954900853348764198499338958812823099072022120418210668611555403227032027140434455746444238225265343153028163591548790172420989918280014264274352619729375666562594565075151092007695337380457515265671089533662508360023440300418881662462610500376016309098065262422608088301291861248848806687293355647520731920887016074725379790334447040602214603027547175713153599791052952034017905054038232615001354766426300423789024714794766458499768142445258808735662827830466406097909744774732797173560376975566082846701798460879403934375424794507848583031357785788684836834421341025848492094434774078211418506588509606364967068364480023334122413615689757727898896985303650756278558208902294725137303931437279160183218549972308263477726919772474741592195320863669205535950260990510249870733091451024616178955729791996593981006804298821895188989086772790983281127953601973840018898514L,
4542469722569181990040329267326150422796101848885496255529504448880127571442577420084499481170832835082547366564077487057138130694723175680367809086040973913418548310127955711946874691902467497847796442496070657020307375696935517883506456379428148465283672417702610098909103606188983171616512917863078026239582543030559473533032270684364024160469071295032723998816096789482576257919007518736690303722875315081789464171899612387534791731410680789403403501350887602809295158157733345614647250916009909856559487715170356523391011500203011895518374376632777994477157423968988279121272985520092355553101559122002838589394001449115313495465127298218648028903787583126167687019833212570643203897173653688820433811704124954320630977284899100465892732067303126804659954886763044525821352212417940950669790240604753943143186754067872410910442805977906364924839256505965303522069952764271786398491324612891579185064737117187289397274307168768602721018627974038295558483461588064371313850037327831580460185351369527593187197418091070990017437510070464231683814161356233495065325140398546471163735733447110887551949302511163311178196949903923599816338885579994478280143670978138178512077826071984422403169785109321839696450964440440371704281229718052808690780172113613946650381234461102806514310850368348509227944968179572278294812186195557030125622975914729526348482497305107551097385560739699683460364521780673448945676311372753300642699052424590210312461083132038625056613725897148349135397099287774692875165402594462043535987934760027261173337673375636708345443215768300030523684571298322902309231662980589464106237638511496747206738131955990425200083092295725112284431469962347801873993894628095979824112065536931245734675901137823275095269085677840646105751099670354798340290220289977383828101501467020054329015183891219932877019332827227910181695931008059868932377509876433211783873847844101302307001619370496142889986448548361697430401981406450584802697169114393601062649152230359155539437105858879238240124560707118843875458823490083437491426657222102084721717534622627573056009973585701183361766615460523281648742815363836119756288188756353440314864652595826286105758979547506597166395162386172874321397125563646947230422168509832386000990366991037829138357266505774214360142624655486106155499635324043340783783380119091469001623287156383008933573979214367445042577150604084599216842306067688574832384712863365679323903198413124083894181239301099920100857362630900327451618732697777616422046102371684834239335956908376781796459824382282353032882843670477247881352277879447700160226773735895782866412720463364438221946435485948976209144365858522159949521827186084875478710506312476921582747221985931840835196888657609081408243433931744574700474173637263688079979249717749301003089624737613971976737615703289573453805349113637781106988165218781234699782175351155585421178220661578571042070321594898909856167628803300660405075919962919186224340153788873444036568190910964092466075601849026900763617241593389162368647003496963701643596053875271873993660862039491502843285518204689196459422822541715839357094467902463031563071810203199501578721218280074206804680539727095164184500362287662338242876553857543815827040912521308115679259863261395997623251182125168771752209772027633608857871832102830828708153304325303975522324424363584394563988253928879465132240068091319828409821959143163030757709235601741463654786564028480069278987433628346277008565657997970782579009682912569460576607256089364447809209737763464526353757163053623567608492638092634459516265007827558058016992554314570145470802541922657159145827432041492117421620481751734217835676300741777021200269447084775407664054260060784288934700621354636332169943265522516381938286591642214894557709964287058905123399396002288932355995706122480505065862775958846629298521747014111674835834498502759850358623090935630866242089964544645742183822339932230817511758360029793301318017768259668412988858034824005722323785530137631027736711152636744709228999308748011413972362649557557527382113574170228084394878027111014428262945057786970846983374223192605265059613498474256657407433533965392751262504691204454003286038396070908587614125206487456137906807564767292216934155342764331017200853570529149246306913894773819764069184200487602410517518492493724091099185371380166194338682842037817753226886495199708961101570866694526207886618696646055997396809498485014877616796115946176968116438757028623437169262672153458346560732545849691866495952497319871991022052200908677929413313860677918046196944424200922391199782410533140457177041591600366035428794982795283016251613665817018828274691488127823175433141122923735317541571671027328725490354069040405570541746598389711429976265413198001420772220792693180231018882908545236869750195027832566198647255494142289937693546373698366693510590963755088235922700465874053005962776680933059482430484029728532435656354501412369090994041820732837763525521155370172108049716738924118003725008575284811275944798855370749596574313909369978318386713346707522553715208432627988645066646095466638876836431327249310455620943617209277271437184747544388039538952362352422319642989741357356557439675581174138951986654117880025952914287502977184171868503698256561706555674803546892123522026678887133702188269160546918343893291922973554667117719846015759027725370181904140705304833463428517594347246083226496479034957772267153625594512469748250053028421581648151057246253639746514247668394910880940199810523752023621798302524217794185078010013388802057608985212923810098508557404165092680369426275291708075959556964948480066717747560361614224639286524252613318457820654522384735458569514747884784698848237617451585166089175950812870864620147487995736374070960394971152090117331279380840759572127384075864774893602579532342049368429423829398260834466803832468140627512115541372551790951219568206147234364630235254240375757208541315401722189343534878360055024964797567328753058726332213597010253286351093335940120318249613924481516793083835414950723643562545440125976791733149710017203596436917374504193208176223942437437961758311532106207127434575971136794485668545046748076120752383377617457816167651497734952302268660627735788948043053038477167481151547705059254796565266793227980414221877149735973192591132560105446518455155567404101880261398487516663817730018472520099925634461195413465234588885108343103966430388L,
7403970472083690140732743702682945853877081815451991025103827101468812693308067428397004014887710677235309538824231424172435118126769416773602480564903892776136773515386697663284390983253925474023842097876655469796585814983725744253235535511799443108296514272153062769398330472423987661061917355945264987327691313622481651708271031615249378363055729376772357633924732686025355590358706225806369664649373157587340824980506878563684730065234322032012734029198511565736148341021778488100910204275010557838125151266266068670655533721072734124156326786016150551576112870465509073755401249587070915422110682333974845828040731241437362370555358839985061697407720301792338994753221104098241197364356229645186197371205252560035178014961117973453171808513024900911142566367770460554821418675031290990761571297235736411150172663082847188161486973792168350530770077766202973509046477187246799742840094114860132547107909822760246199679171363882732101969113129527185268172287391720102964554747303628304953435736259038263470849584939379016159838596545187221793711718549563926115150561526587875630886819856479463336538698337138539868797164562259207508461998789375683623433428727984782114065313310405807682939427266070164037906920415697798550470643007488211507090751524509103896610967222663219737693371378162728414484361781704840243664513348225753967815558403358689507092472455173441591878525189746607268860932058661406849415132762469570430637284620571282275183627739077201367877235071202488898183412681143193346854645786245767162566198387739359316533045480397407009120334519586938739930138409738605640327008922621627130399823447340837406721582880576972470558729023004872722614945692862536747293698932818013396775172920689671584567433061252074114635792792212580297022420176248321697540474137249487089411618179764896109115599409769906481079921701064693449975312340635456756238659246542265028309046564808819616447831057924733299012480776256996408056748163867087611281487257578456702652218454570319799237720734443261297529068829180787976872074758722257444309987812641415057081996251895010053222379361384812597056379176811408269414437912854090944275888081773173806787905910772452761372034730647939021512592989220953775734080664698204289003556060578462422043711328874494670873951784693704359472883641915994263589097071213493847300227370398526416847061926399533465528644699930585316404583691832752900170666425884735846507553875134378181592837014046099128905041550289710678943781152861395875589677883410222172183054567052979500193076842782002588702063253042032331128886886644550077629650162907239581181244352532612263144644517202631843753371947682772261848604981247799523082524860631014719850830062472971097658341072517419584952785099489579296573451354268242260288939466113417960282362537861406311137151746750522975150551491333174030512587205229112363970355893131218013518105299354543280119958594446942708342141238411082803233589829801875367837586295830047382677040733639482421363806328095778661075501049476233681909181609259643400943727552134313810491291256969811848341766049582461065882811261135423053114744218575809440351154372628674215939148344709313072219313152645791662758375357075959748626018269998191701610901251070528572017003536475443901343854696725645309680328318360775258998741097703562408959932488847935812983516600560237395308016622675251749745847558067406069276128303752650603995047214600592692877345857939461709587427342426771752244683939397342731759572883297678794526634274074448075312873683937176603220443808134969232879660466994059094085866175292329167357914191514812182267427976991455887180049496406691185778348257652703092667281102237574318716514938299607783660376121205444188416538027736804149148475469383686467299454668711816695189607598837879016403596001362218240300540105595506719869217908002416208301236005426588977391187062207826013610302489675317221324085970772030576960578878449730858681987377594326836468600877788832751840635358472423647252983537964223677734719183801565063590359697938316746958468516476880731366168788531157964695765041139468145558108389005424474900223822433035500954315654984532096383393317027483759584215744880167903401796997810258378379790538013859354366528775715155813821935205454918909710325739505629556442425063778223395441736066392573081409940890886522766650812568852205903090237751219831146779499675254656866159130413276837658461300708047233111508763519162092044810305735198407622975943610222416382022448875000580797084629957377836265382417290597610684315179379862334502154612157537172658257410231379978954546008783890873286686523803960533923551601930125752890067045857112685430553164938579498565077723422944941905086318613186276052682018176528431562844096739463423973842387516332138627151899398405672301155553729449100143695658346615166153673454136221651626937098209508860918413114453712786385476222127769344515962479257516118668093550039592684706813267906045035837187164270033772404365319568817811570379943994006496446831589518600956182102673688821289424597385348714362382814955297908401291508589041228968914508780600979670572307037514237559613379114632444373253590795500131421054030055247481662540607084938720607843633993198737121782601713866376813741529089950713587995927876844030881613647626952069518034008408535814665312704337434468370075684857649492144939471294362991079863805389089285397624916139791196684310737046321635640425114301612708287259934219114173455309382134834107538557853293327425857071221714533542130746991769613718445721988897726161233491513341488190037655555787816681925085047681680294033760501227969682203514239193153412041458034659380678718992041009092954643069886486475778508894026663378136488678989008467881361271113235179628938431700323267440669233608772399792094388013273885675110905105318212362969207215590388165556708600242009724382791920527304200774917198659004409372327565225508707306012744289602156698458497620611857397560808201829306623897269026233956340945542190621412904157146692666730602937521199196526909194584257411774017750598328324413248474366632160957759301683044119883072212610714206602814209935230869597701426514223166192297910217134446692243462241628641513114723023829504021818773284142586089506329019162534374285920175809685263064218033598874744047497561511989026629488958504030495041076219390873766233918157383888803538455013957899969963761330127690011457775388979639106747857003432275470515624296125190988L,
12066504184776235381325459093777892607450519777392477514984880220677664474131302902437942161931908783912145954737034181900033845996404132519527125824981117543424859863304257372557816014498361878651023874763874520392478720135623589758377175200214432103871150012840417601807842082144874479587253226686565480363922419395824071839355241800433994544733015052604597808514254553409733564376294386391709004273729141229527957758382610458541407613350602630400880351032034937227326547762875627740461142792826202931805192475222023419499048922162935553997947221738490187750643903386947386217348068184893034619765850073848340334381688860463433324848751756471299841480980916312101730699879905881757672741062094772993873852906292926076700935786783537043761661089017315591200223986373534385681379423710749196858986068175734255634170792399664708131118666536948622657899362277394713476629457077181908127856259804703604550519154992867261639364887655754942844979778422397880482590158388436851944772634896574334064089117465883265445445237589814839949485965596179135919781909288828803546039157025493455815564651042014957896999308128798670112684765536776793468607068506041020445390136556135787219078863718001740588156961011181613499395738224565860842194317915914827184648429310232518951960469134680971550413435761550838716231421768363330433078941360985800302487865733770022951647437152582690411355465512763091108243909805902812607257024823523631813542646989429591551265687088830687135800550543238749977400602346917284261867913673837712570708291801205188535422469860712748294821135903488102742983592355682401693379520483395353758910025530588507798900566557759400347214081468667373088894338230916670470891360632825562504608554881669654887050314103532257860388208204325267630734885049612113595791354585603372914690591650415541372789678776933468243064237539597754554219943491291906702529952942667738121445672368450646069429654943115215867042392602226846863221701713077854999906723417257076792991677861806620627741049934209258653665205923649303743733449111929951629518224405435307307140180776155914381336981849579942034922425048132611986009404009721607099620374066593300366046478745012109552540748847472902715834960884255017522268031443945799205845433882897742140591880949718837223482015643605217181002547546855579309892656611918983344316911018260649810356659232844464810622449225331837129279113951706201101142515856286892614917673848398073678804208274136893949059205435338004255198391061486956143879210503953382954153140628320038581417936097087846550828818603198404982276212708299153310019074408994315889333918218639472371607519058282052975215828971956803427057891576519434695549952511620724785249216645129204448168770646215587774616995118223407665872310456903514659957363594274477495085527926195787358988035906777114234492296551676788250753606034269789686788023960783970238287537877947425983879593829367449708746970747681242086936869093304356782430197471829038892759760663524103134083640482743315291468375534875276035382707738582018193649079432958286528753455024972771777213923684381536708495499707907097192609715158328738573410028271992517571214259561867095564480279602754033076997713856504443338802610759779804694168288270645578260653027928249215246049550431485456877619193305168047031393086748890600843586253071822586365158777386271241525705332382341321048948332210102222857631803433824418211012373756396464180439028559221120844897812850396342398126521710009702445738219536622371869045047800825701269071978986885429625612394281972332045881579470432661807724456598083420274872933105157628431400351993047643147729770170742237930093643249792378312387374230618138241863396938561232723892219665725529257279159264231384025890072962333874863707233904643180773533635699527116099037216246881650686235210965722656926815615912545534281427979729785550203598649224385908606500861425041067559513788887501693673991260072875631386164015444005999513191550570036713838913493971711035671843282375068218710007785297899027535981957644017993747069908494419130019594011863424051608662997136259783873933958105154591891841883089240912945517440721954637546210237156032335504408106428047984657452197551585881759490262290359202972643943794536759616438363166557481934993115724222164230163764077277554339646837191778278672902378000056675331744229822939420588636377170781142913737135665722643309646043972737072637663380128623726557387478357596010150845100865438456840815216419304108521871095180408806490218462882776431706943696710435822129102125488538363629629236444484991682700528411614598517678958556901889392081640880718536021314998423727691225980709036118834515493846614497140568635120159622259513814565772855660233922203705893551690485857531570603173639729429267789979915764973984214063016284678366881530649071762711903348354301738458860722712080568086592288182052909776165938097510348137595019764722819982173155518137278013902811267750562872577040274730704073030426614433078848451756983042994652228786634844947284594801234215276346208993134606129162381941847295947158295272194701245941567665075164956116325548057167703025822207326674738734628097461905699052008581549671082423443450920632611343086118963135602053706129293582274356353374938287742154729357403903170574047915194042656150275076603517181518523185015435976942468705079080390392655181027826795050219254310844080974844149073994774068110242447650481087055978008878383335432342444853272688601302409457564366353758520477844096847506662613064094683903344502506466420836608767889607523573858715451140145085218257888430294460348267730661677203537305726200379536140343649930076308275380780282714980644089893676297055422217659538614633600837760065670651654271213377453750751131908614491611425355890192974238491284964524638995405023659926850661317165987397681257298394234624327198049203401227626059499142652375823146387102801486457012259366139970233555203619168018386485552631895455242299862146897818094347811362933798413591406252526769786206076222853396113480220491275723978566080501521520269747126762426278340907750619344201198774486182714587053809418321407997926466063151218157530124638979922088700021701938132460150262235448422179342360974496257112708635401481861499042279940763711450201224182000436068084339418642311098152133099543983318666410964302755430611533530664720513661695347721798579054901300418715028421850139045305207481038799577596058975540982371695459206830541441033522L,
19662667786841544823787866835645994476796015246509807494777685677817797061927991424352153865566950076801063822834442086327731558788871101561560056350762358384507638368125063219536356343824284260142941847651210735044524532201769375255164521489531024438908713758082880016413712822606597304637125429591856643366763574271374345550263231079255350396620728743291594225343090938539598957772323432485018261880071363037181404528769639180535186618857022099882082801472880552304363426088843698134309089117868185433421687811093448009101760741439252272576456561423120095454255130263178696893917148832341082735027956042466840533977320591649913152192509136799256178901905470948196040560766309061141035940554075298835650530134481054751076865271959134598495781813068167408209899543990833947148826710712305671049636082031453575911845428991015762617913021817191857148668210961988673023383542337963182084136742674708650943005902818580653392450049734297067272695948410688944076321707750507567462785590277526544117635186429702208350059926560514225683466065217688817069346684650850304252970324823311325689257676020222930645448801667978563988285828713184249708564721056420547379307270168281443472429651409892261580469847196505998173453209711980384523704108456258156968062527005562756689240071864057257125935200637020010301216492119630605412190951300249599782210628595971014020123793996633562602563086485540294226105612879522883200871763334591497672202372747746530447482724230902862135339856665188649110837305025154708619614390320333524048835823533416871273141898952588030479564176305390404701911310660194962038972886834047407906965607402073854892562051561099735232530983414269509127394496778385433455217169577449105950911642654983621789959074659125768087872017295737031918195095674099771159404999094392187117159677451411300552423598622111326752473068043596006694862999068146463224168418501135248891195804053758770422394266159186277122246764425287452207414588656299783607086185361654629741404350345841889449589362800372576658178160996688957945411479724244171470640166130665277554736961002202832790740329453801288098680006649574127902056610575577514089396787391167014431121413883601786429589603349194752614242389351851314399755193855489411794366288306672428504210825865773674170126261123110120122303114122682721465548892352231104721943397844030817611155244615243344601855664482599113576454386408781931772473398244606274766826977304808982115989627537041994766294527309314148659457709684609340281223491667724711845556949886038711859607831430084981322725712644576247277407246039019196339980088179770414434035449924795934967477560403053626889788819388442309568121919790031514284306533702748591455582345708573100407721042972777549666654409661622764114356853250340488163594587720835928370041286215524875286921543059960608347985165375175637950721188272046432948995038055620141318924608735741250125800286830762318961718678037915272954749072059858348935917489822214799029293283914702430801755849437885094247211155054978408739868101835697924281100690676881857258274332446745660523847906380357653775022851647334902175892550361744989994895093224982762909337686504292937280411952033032874663529496155046661771028433636701782220249904719954654129353133298296317864921314503174576286327490351021363051313992671205245845968779746531092465939074222877335806608579732750790929209418815790560191610725628134447705502843370627958164265407307020661853291171096661209042265725757464805187158143010677664817834120938316080076382119994970209678035925707496371591367634697651704014278426526420623773639409737262642507091774612754829459438156441067767837547749601582450672134241411822303676820196990550191900281008866196269692277894319879410097401584881578285018621423222140823078764813004663231595329082339955840576551078758133182838868928609701308816990999139648675194200007616125709930590673465446234816139974973053366419937539311192220185025902023037645499138225100732032499183829280441417824649757828335561609801964257100511736147200216555397511663238866126072073431690963301847541423552484530471813597540680794617773028506418468453012922325756566552428099625991499773753909242954373402781452507699695234995343995272650649668871066817519913034988986988929284652669438304330629150991174731650996443496334940807007437443259415327554843644927380528528208712759693967906103975045262187752951667331416771358427319658451231052618466087705707058316323163164659527676381223331455313458807396840427504515719923286537394583872236958468616608939114253875807674690400060372337960564973855744675901187839535387241632233435185841664556567994163009397887040480898816525390364497360250594104576728210501316266470649309505441649194522690275844407045875103813368341286320862700734185175323669382604140027716823096219630299050075750957934490227323437436786007968270688993019265610407325980939955473739401993358201117262205175480587319035127544269662893795459838831169581781720982645313289079461530803478025364749068091156123579608722005765974307567372581829504585497323449996445735263987119550563470097574217506704407897936775504734518591209834373389582050556588429354393736216888920593462800411551401999144705874140667586719796270669199902121191803525128505040170126513349732080548587016160922796033421974479378284118097307303347842265893553004727359474484179442616483132723046766461977252389850046555168694183083919653738423601144181549260737975341013599322577342289821054686167820031508011325824393798726397352914839087859816808675398713168569096041532329722151623925147820248345581449098292749995571436518165245782631152023259333536533881303377092458755288391584166053155342911602675011624372609572731189457201867328177199704426343976693570344353299436118159658919453407705943960556404036185541700494553136307502577387734585081721077324141309006501264249644749525502903301389132417357201948943447043359982906598389421574636768014167954487102372870411760478796350021632901365408596646631095383254872765409425294606751474196091340118368931259040989147924688424915025712309599825282133409695787137093548992071288360059818665337137268494821221391001336914443267188552092536054213843701096895506449455091577533290425384803118412523653288645458712734680039870033790478123585720621815218240586859941827539089068952584214929909559956386792997686586858045527213021830915599569581549236303983779300762064272870276142063174231741841701166053450705069202129079L,
32036689370941470679155053044052310760994526875295464201298115935912583020102921816796521298671207239362344286538704921006215413057470629100354180517714628922222905276061252457337102257075328776004980846645161483455896541665681887447311477961554334169581475269985838671029450542796129053863008367522858089971751919877632264616136907596083992091087938370705386104470581505320136720481283167906905480885848251751236175125345130020735365147102942422168493340747829890402903461027530309640596719123643464055807741762049719700933112046382007000955335190235299976972260694173539982321063965581378996584919405727604224237821840686950719780152693746422824001266289672418428414076001610840736575973783664589013550355865119017921180124090059445083208705302495047523637087901464498237739514432179846507132926088746091958209047440805052492980219354319524658987619366878886707871861498881001387251881996965523181405938669358845440061799822196469075594452383094888164404990690910007673352580672440341979145040211194486925465660277923390297540964674762687994669639278242525049163256199060167202763691855766881755142011073605610562215343163852685222908594934652135715691427091082410734721567317439413508452435307411020867912300000147591354723065312792181998663216059080656789178488077223740846625535245238888756623503251583677997736218036156771253102987397498239784088487613735211156043026116931189169639367616288025443122918232438980486629146284973894865391213784454237675284663383125456926839914033145580208821664502853582701802624073168082128418455498149039544855493197499785740870920892890605675458069189597282274413736263837373997887308609592898137597341663428524782534058078580199106251604820831611068084881160184150401495253260278042648632582701422406854054853401693219497726320460819046725543250509511286833076357330530954744521101242961857468512966642289737043052971302518363869269973544540245123510000395797892359280178459509823481770315899763492500248578678234667673012216303847906279057403436437020200449166579036633627908259330909183746176185934972200694000197490030839507176859375218206112290819279865817374215700085429531706016086899395208584509096107020917088547005265825703225100008479212272814194887675348900240017604236681189425572826658092321262730991222477318575557734689446296779028575433120806164740560925173561846314488026947814513352906646090951043518191868624673563992178314386896428090826060629089710322697352732037170708861874914899689125685545877658854185064979743072836333941462520610734335742787460081007350462640403370666939504096466668130963515603353694846291389473208614863157396063661422491169538965017204474702882954805616882999828781541268425198843506859129022735132162449006405030306279664122055445020580559210598015111489102635529901341399958559282862077278706838743519886187014365735728414621427604133614234050161699890806204030372372281167819874329896362224775243544780820998820399219242335335370305871326801540323151714051781890135531365615327129103073311800167864888792632883292052654839829858449629214916040580369704871279415572797043685662896141658694498685297226760173925315170021522509617716092163007797100841857017596355934770121365847495324189478045538287191343104657357122020389567389685008766070053509331534742157843841565717211747391154717641143249681367544681571823599431148523453776441375783045320392298068163352845449288296285592087911841741662202765069684509236195637916079060955710537322925422600697316903618158514416892642349312721700340233901650739782424476909999104739534546176027451399202918533603554792704483196317736611626957907812923770977491761403024756821738463788717018604953835862783667886268030936660549244541363722514100588948940133166403570013537016244912214773655120107682831085045080232818623186069522856238698630913243034969117866633154808182785141833500112587570525925964960266789465259662311818280970190470885051475020600356336096898473841723985581340174317074100858480672941583342237950371766114644964921671364723663672154077127136953879009699373265181807067899462445517912896334500933213291162555264899983330929325867134794271678418742988481978608237330208338354630455096768391245355254130065488948084156548274903922348581904711513080392978987280856542123876273070220312544603302641927067913712389154666801865705989103909479196722814984959394691068247643609452044085948374176229718719430040408440912004549869163685207091673014736548559808989447064885564033791488094442776124696103584831982658299859465006911648149113310791105180549636846397402405558750513632387856282403996389239072056398192400026934374574807206013248700900135561136923300284146283891500324571632404499236271997262086086310240059609595141622394520222412992328264195630909560661965583290778190281521887617314727765094895076529570970867327000695715489517956909828422623733852052277706264764567996970593944525742883895858644378241999609531040622109715525924457077108491075594640266349071870302057821879046993056660598627887690738896219954393251513774912746376381547838902970813148805512999383308300639146937011348683416653467019694991050052075134051454903089472592956679120191619434604576084023580647505065067189017293891444762332588249959482028126369615778040910960003751319015656394869563522891758509720872276037781914566653492355233351169897549774093518006225647135831467459933945619198340104825838810348086542835338797358976535392643961950267956659956983739132138940857624376521849213164658081770581944346424067533801864746095946366949253970674270664826199459097733536219669290994822728965632197156571275647495310363031154169447568343123836822148774293402221138131952409538331737821264492758626058358783367679206291617061041340679607576462248274594825094526378816694960548189540645964785992633030174809034161808680285741244275074161339237847223531019952795927319671721435539886576230036090141839642151874113922252557744162181409125724454577204908968017840391186586215641814543481885867488748883193044834688362526705514161147183675994740647297848943778661307158447304920420836809208492539154385517249858274887848448449832749703367809661205412388230312610950229764320290088686996292015496283129922608312281874401471756192540489767113186126008194850800671746519635091479421453155420193817730108691961126305422258529769022693320566256125116787400365110341281971608217522883668298675171741942781062738281572294412575022971301719138530639280208113678627803990366L,
52191173864785485994289079011025212446794425218318671498577390907244112286218017180662866114553957596951576441466838424518108413078543690205444157523538267144585377083537467767657896706321786709070324709757872826164250415946471524661498899227232512054958595181047304996792643794688187894096821465885654829144481527806790500532213091523933345309890027031000761507577609847166817386366942064685287159591323804666496148747124716365614530557269964917595338741738780562352756037069359607422948986788821276132280770548565634324888221234455262159984394047854257358126633891348339026903486491408724277189294473292396257690523384958706871418794448929572580109718772397840122372329229925432455403851343760714494235825530229670995612669008165689191648036443906222235923153828919115025060936222295643130369845769153778360685906597341080824092989641648571611822876115943683033775852234614521216743063499390629257265732401053341248778200034991497804192040646767029111410187534901823142831164927044850232833079885954052774212760690524571684368722778413840278037237787892827578244657828646469895369766272340078842585031811139953357976535636989698804880620962219104996393462226271729917962657189113280527563142817293994404346398242425377548437612558210176781362267643987883992857996019943110550591551335539419789581078855855738351013080374494579549040874359185423852535772931597617685923918691830151944902663152544397623884173334788335749563640640575279689487472825804058197538095594913852103250622626404552631842224217711224811006519959433771794261753632895610471753572048558813826855199510321405671301499853378559608074932763623785077298594795953209323436278172835852848190806959038459019906739675761542319632274438127337518357827786399924505951896122574087663920638906019527379403162205074105268723959205759093999391863567941954966168980880773848049622286908315846194859199818380804542659096742085004843016042211251675389621402792836047392338357408961247030535156237107079880009947800488047023248090378185020400809721744675518910391470487169990988940620663052029779957380606628317751275229799450885019402619320964406391097497575344560355261623117248752544916914826217499727095841364827744294347724225990427181707021944492785972457765794723666565453395254599424579567221747338124686040398403119406258484014382715706758718515940284553861792395865851290246722561427052377691280544953429835473584624121956813630308989277090989391344606906296180340523800735968930824529864826234439439461907456772561844077961230592496325653815845208854128586065129126993125119485852026002528812964041844433204968233226159476096224375553009864725176447007253438334819472820988493264685123656916496659195312364306834188088618936596965102290624013887106460797053368885880163335212036269056383832604112277077782830750261642959277448923153755572011295682203549251055936065894449950072063794732238870191975978813301813522467163990692646552491457124994885364882014407771056343125611961107590887421081916565831033965099007732512772866436933638704271733040086404820803405710462521285122259500655584508608353800204716773059835194247445555859266577876757066388067453983412919340783595085544102835462244463622972156371588792818895523191550193719694119079405546093823506670440088336498552847111412743429279757802721458249308658796370501147554848085275667809009611104092247638630158110756955940888864836567388408298105907456486478459179007087610722708426163058388151451141244403406291082018946285604381602145003867538540892133785943454926477799413769519900603987375657228342892353476184829909986095132710386643179760841105149699121672575423126532139097541863545155712232916677071482445751553658070014854142128391332250112684942140778944274788377510191076722261192256367322904655300262432797396650156065897239393135259620713574021064584980967614897638140338555431380487119496281996982878220074412847449806640712572062345990184189886532993476758022519326456167955654282611147688789545824889145553518280323634140255241662453675369209737947847240828145572237824082627063992891921420053347887971891026091918556136121038215530764578608213613205171677925626804502839423020361687141754494248165267757768526899432978189130666045704841037795174083454587686312718919432385859419574620403004251197806479890914022593328878653454026972527754995316630303451050835143546981756917827678063972934150125757121890582566133668653507116488558309519414538145892607182744559273080320597136219831658954086072642544415804485860967710589919979836027179415792805745134638989731045566896728409715051100779724106024766573215678324803942326601425386199236475237896768486274822600590520324160962207414074978238636948683124396519319743828260827783135834894577486502081704308217119583324735334994539551831638596609131007859816450790157459041710410791596325432588359001177738661796176622235819751069481495368932224621156543912119248295884197012152500336588112257379868593872497404237180342591191316408263019701590112566551393818955377527363248500798750551153988305869568040921403260988431158135296123407198875128223956308081113649010920898429312164389283177569393342573196177786862259733122521915014419186165310117745439646069211122350080567442389231643422893861457326358320675988109276216296859421035816853670980393753136595584472932563402533992294579935129394227432078910953572066229558270880216495345969391783486151089868131073411418569661130033315871228430595024350362203806556752131433705030041752964240555158191370806069107717947177506393572620897417217825776410537727229152904994248299041272399897380740118322234207861037710116102063512798611815323010753515990851549305840586068486090862040427930133217742710000136470726274567305663323029757402591861528892882830397265595025340549951368830623504487297425258084784202459566213732897488163609328631598489858063195363741543149988507124567068959203682241041868272016667723385319602615760660484350048162637241563425865786374074844659188178153924719569609183491189700693880339042620766163514369409938381956428345899263505921222885582514900270325919470173848274413763308105516306196763514077530430742651726990813132910943791122049592239733151199175730012741109528621487755237275449488474799713176277601089027569235839809659370748429755645492788685885645988954427651945895000652438716107008359929120518370989551177023605213564410552400253387156801254496947575819568099138302494542465127268158644525560597119553285424819440L,
85014063773752232708419623734057982801117967512014400825850344239172594227431301280164694928084799989327285358997351936478986283231208668924186373311384096738354629487765210839212223444094563635291437309346162859140051820862162018427361226482768422446380409981845227890532497606023704681840632026501210353810019196776224682795244597354377281075766655545766263317539653527111304637516826061878616517097312984986509260214076724590284969696137319631035723195667225461587657327010964899041416054109035978680161316830006372123332521491084113316563772426135764098142951511650348490421700164889399044890650364646424323892728875242573025398525050365808431366852608277149901987548352227950335770087399907849294116761447010895780229307027796956800018445559977315651853628885951072215336968880794204993438167290935631431200385381503871085190765778125959515666079569670509863115499515298255977375242070492211043289919143692988113200224962823248498121079652725530058540958312328098882253619013087791611060398015449794790366288672171462946103213418951256072220249143674620430267512246376251675360752755294347240113278938796826668017847920049390884516222148945470388571702443132738019012580373159210186200755654472044317329968082969417668568019243969258328502389449908071077625956581610006377191051176808202012007840336047276871291154245447942486328308157966210321327461921414091388890394777229464341953739026478664790893475243394063102006317409049747663696889647627828847717753294198082762542819082570737426349083235100929096184400595874878976919847656792661441721255771980857573465318383436767015069836786172151493749900105105377691399799752287313734451474649585648870638612552250745282960604683543132677393304303913089354785289858951228197196732968124921237846030744067710516231205922238179813441167355383167810860307391291220900683487480316442172812471820195521288580112853984837981484311423521784380260839560091158392427719673701785826598163915852326901647940205616749322731840032194711755735226028639612293130485995372253761052761733372946506559739473442270491223524303484343337703527026640695699055802767720918463754167188076845487726268800193689165791861128637591092944039277648414777162858532476029828935420325705770391495721461248554104953896129988843465168790380451898381384831627281752996457012402145044543485385731972706663937563240995014997459539487190576663390139837394762927088622623472368823350242860869301925379683221429637959554325426062367748205455306118560552103363960207110188715023197305105879406011303489197769172699535392802275066864073933127606186872998145089637390680832362659273025273278624763855920714197805532964036944867209870416871486832799331847024109069558633607422780086480102204797276404663548399743280368982530094359595056284103368244851420444208103935032096516212708403662204611072440151395111626629462944652056391969923624393331534324592664819068574664684312887214073018752574716928933435808651381544513956206383694801050734471541150316337349173302564036054647327170514430593261456436666223642097669609119724123596548140654095426732934275449956984355590205076706633347524599745751266708361112819591421189607534962762809821457075495082503644373604931379605123241285781185325996877674889437647924162106405586384158430503442557992887104782388512581609472491935779075623118387122598518517397021168411785812048923689734948680456315217727594967545879674876887956096534134786901661453561252986949220860932206477307541055093392438745397280327891760248035849653167286465866247695105372053348074646542090294524330848223171687007549640968541466949300124325910672178196493249218478874387036723863300149330344724405875227136804529748576504525339703863344038967797479263323272517630347250824733822678874032170400188912336794853703757333625857744318858641774688708196049107210579942652974903451414837029870128654127767443925918478209831547913978017063572508103268069293740639412357152735951070653320025678716528485358468622330300508039725159967665854983845506363963502922235201374690055949261031045722946709340792995695814210595701914950924212449020434148923670996198128997166584214278789366256004554746642924785955089480749236373594206233458889932601414586721427358494549416683806778441237873874551879999763909335126586300178347931061118512275704489159126815422500120007311880280112673334633848671448447542547192740155244865853139341353316303392970285417393744883464173169544320523027173779415112815651472281580238000865372794351975054715993681251058306996350676426878726464292975063373895225704599514737257622687661775266970161688025924273327675759620373765972671685509204528088299410688314891772652703932897161598503944185467110622622013415059123815315031844051402215105200939482923374037950432257763416014981740298403657541192326309310713902992951994657231042524619959262417923831509585172845130888666249286773923466708828888028092720113940564478867391679330411348708790099782416688512897580479751011585956381798272954915303181341649522930724649687532265361111309226987477585659053700938219622287291001400209578409246570765234766026908248181369705799299876926835161870921055131636443872478031570744476368576946141818576881754255893380321118744047900878811546711245081394002070934410096849440419327674981524014347443142808918567653748162815989625650157317647457747947285333146970198278368004092908558489693697623244203981025800424361726590036876735050166063786293042704048586139064210079614455836496433965865824118850810727575315411189532146117507972561593043507807122680927663622788375324598210420342998298182958824812416145737639309103632975150282022663932228113082154947154279725331845722757852862757500296927292792031225962898761083311680412022967400234312322619343892836502651468772080230418818239609065730659381224912424021611754101400660715027244782470189635553203395339602027970553245424046195241734812025359900097286407332944544793927412016359381688283926141327286080874837255408188962749405628499701098993128266754371296639059260892283736968419001384497385477957812401768368762767083003493613912814148695636584304076644369336675177351649645069356295686060058058728501187716257408319269166393668845308350813559601627166983089344209019526271433697106738944294728352522138920821493193553256876586929704872664574236085876509095813001653975652906553707284197543970918679399099555910979873866913914758558960553931631053163337062196542243967291279827917797633524472769755L,
138461424630704980553316798062808314481944644377579043994234609320692563746287614538509673106194252426225695786973280220371210043007906335308393921422639421441772620928271280550304742393330395038182530598814289583425430996741989343407333139851147102178923357112175812100409838980333569350296995549959748771937441405040077897529059008970141575371824412314930158369749113945812430542207938251545592332311690548924623792080855453641171076527183580487893563704974837050210364955979375807494352139641451805818851174596931185031326648563607769529703823288675925223021148074733715897181511525342193682079792750448539703310872232532151511156087650850244682789444564275541318588051778282722511571462021805014230356960895594942279127164747891479952197263388954196012087215067464274419896976485379920942203754747008995980155423832694970482862628966246959512895985837971576668550418128531695836317033049960373299779569631792033800390677625460483162358813540969025399151013178782413617535533571650291861836516644316181159519348071416644146108974978493910312761016567830976757792956103737070979703349761328092750228777864576730020504520561804531209817506892826305999401225503628335499911011838080163980414899280710042707116493954449575098587429534843363281737353940474419507220207134107201915026227381552905227065795892984472759345758709007703494609487570572377883458583097965748016724475120601945535213798621640817777285970377685443108334018506775568781305781787711127296677444116058154461898224637003714275051413453989424814006256019924481942402352918293417937350197965643728402357285522370007016076227355564582333905371889509500692178143308066901220633985521999874798356820073059408736194318887986933136832398568008506288520469196825229789833221237326250596149523152445994637285272130067034276099580467629389537858440912909229061883448188978210639067263334929884120511435139625342101627727317681231971735471153565305431366283370266641333840779154411428028625302307511874689599443172502783268845347377984728511710380986077643315899383577777432114631671918099338225302070139370630344112674547561010054691210033831657458465001167707306467981047114587056164768185301505005053646699849210010211314197647544809704645073789547298875945774534308662293197831015988155423695301094041629606514282093066071203543778533402260975733156822230134142705130944695612105141364063260507623842925142728996528778937507492918251686252029009576265805313130143853787909000033781943444888224803976721185894048900367898502969765420863133664558421364032695204737434508787061840978285779210863336583331115320292278196870599101872554061256048006158824029094953629448277839667890918112365783492760083584122346693146038084483277925237409961943355905664363949445875111056226811999661094502329675113864540717161204316226889965181201733352018977996648506292667994078846062042597145547849317223738678450320979339888954165948062465678301910931009865795984191607247111415421623261558686605403051597862300147510262390103419622777757120783686016350835057895263855884697060926071610351611331693914148846905062640995206584504378019276743910046986381126791601215385903332440234987587764693719955516520030958587026189920781131702701123420014607110744620294126430546018346875771972460119378502429146443259424541990084935205887947715640895890737143635954991159907496543305923621994364406080851362131328133293844177084294261812386274683910747881219176435899454760491764658512171638578387747057213777229429977748209678879908702804944688191328379156061610176202380937731078180724325449486051295235870010175441388614599758865547790210530712620122898746780932382789372461388614284279985178305825640876416546638675583773815685360507934632364477692477528033336860484614166043293433119260004947480258580921708767479349109373226448588070963071905303150512172600512449724564089459707761430155731545995691869269332461253258346803679696845961213437055598010088450341381362747384287163997610020315609893844969242486015967995951332414158221925884907279239357173672500036602032075825283545925308793204750682890047119817592629028008131631267492063641658355881621350012814311245086712871396502963063431281261118521171963163028580323912032553256813398375731772051074589261974165880028025172509589992348098046025211523071894630897134988950621200808063626523842493842644990018512428165949790128540584694777651034491777638091914782894696401550585344302096356279595086869509920440830144338792721575117371843669950898815133833427801934802440102090266918902056144790560763773717529281224879529685760990139429890941412542728589782545583412415311605704349191987092675522649485861370234892627495587463501240214811428464097969732075536371796402012886903804635971015682164166411344407002731381897769654238282775345466392326915982071465282780827385207968969068565723416624848391655451159794587322942852392620154770808733229889929335798341137142361024642006767363992767720982713684673495009391952548651383266872992327678632903449193114801821105355087137983926735857857165366892764126625575347575054187208138688340122896037964898057496441936265360090256967789640645544879249498435766890782526804231593067388270734443730461605564330850981630974124934575157381470079137558304010700735257595380659629012362812912395822263859396266672092877957330632131558032026141791531317106803254355156151940236085986042783240049739345307069197521570722704362863983842410457460198478952243486394698907387051541487936170245598844901409789810502120413075069078144193897945610632737999348960170664658442618106339991059423044202230886823170698380881171913876224864285132619033085233507976197433021670010406703367124495513185004483406386051603215607068048373205093924420371709734623268123096097508264048561060243821836255867758387130601043669422817125378089916627001881914875984427149684719108342943514729719344762576854780051689216668187706269110724731024297335169928891090612432437837419284405151691509824841500671709019511789953426074527832784037877034574213053085122315184579049406026787057771536108715831201227823457889165004438999605791665669242145304430940023130528504363501310321914564259657268615451657526816394987311732877784745988557220765196521559971960928711829859022261572599281021501770581289372694411142801856226954252758111813224940359620250505508643665869360956566894247193117931701040140828623417026816641601967165333931496926317486122845689893248502760539747928137194302982179619L,
225481623795598534649870780758842453614170177142537048354407235329135600110325205992793331335278144258996300882573430595131569089757944835333616958041420912068754343132776805349432588877845416387041708089389847645596048264441901109764327115808333646783110469160343150210218542338640820557002716625593948767566913983178784436496883931671917204848816066474931063264786292794449235190844657754977949129853895315777084817608564547635783571672602127312175366928167914383496273573337320360942343094318570723011397162063434103183143117339249128153153500650800858071146031300755753932443776605148303615903119548563450190555236917067745026950431485339515955118120139549664133551528811042249837215067912251680390040816390704855885817110308182665287268996778488851476214676536514067502325659775563597284755756998299621266646291116312812800680236149544075724188928772437410433808217670140538509325217202434083972502495447069189139770261201667775455075577717618232153160978098240575871121175962447924956426454932417117995970734784915138404011522562428443160019688209448282170507609255097493474181190912330044833089342769688247169348134457385315783802842427186842357116630851519201013934655732541031617724971277837908619723097281613199192180297756605626508187562741498094056623654293789708340223481843577293018454973481483484346074168311296146310627522237916344897852281613917889151962247684822319951866007442072110447386209579343142170172012886280929696439418474287574166938261596116697894691227416698275777775141837283512880270106025073764779977458964537239383933473057164355979656187901557158886948804527058585494464092822196162575497251924215898216585588499465677796537282007685153896666627072146525921082963717053088271082747073453686382794862444157421551073736790759393018290713666927805400283253637066151595834636127366748206027222426279451490395213814006917568220751209741946372109396724565427186850646113159788161424974953855144606079263027716370602841143050894164406267787621344904636490152634785926566380135858212905796506853253339468466603718834576580038287201996700095892568141063897814876367883410449036037879081002769105548460835550121118676283635331459381501343482542473426885780755805843507548366522802054107005272419870649090172907857919566362847008876246984130321481790633497524465826069835942462167782379877788711380219627900500783108370610263892691123668096477047991425678265600312736176243170664271027896635540839803504936057122715147649323286743784305335649016978735825132828936082975346220654830286644807867723394941878614807923447419079417527710685887814264029949128698981236644010478802242127666479719896715156810526604543570549148529887733030040944377019282272821557517663557177798525174367352315754028454530680763460912513517747647352837956140256556799952072125555101357365918534031447986864074831448300819801031260270047593470318354750264246778168109467292829731484958732974105478418058271414674537126442641937614900347987562436248787002937407553620455085727550349578164265918577533613904827138009787746785948203777460362587186286975861124791295259780435603685698795368865026524834194887420773421051452137445127475436142645202198230264484007398199914901434158302795738013653752832799341163168959236878381612142975677798090007845113612516888069536594500853741892491876264698956687249326580310952163493057624984591203067571215965581488626121215701758358053643465242795361776507595400564468361430406865813191837538754450997260138760244375061202572139720176588847738050931981059190470661165561558640673134773228269738140808679709072737840601794020383872714040558956331188834889980492144201800110424943190843715331535391633792772343083144043866723751618945006309603445281181055408687006263460159308846864212783103201908795681188465488384685470444510751954417992943465622192282559816491248716014118083173030355253976174007109702544328537160763304487864884933876602759012926161208931569009105886877666706389812512407458334873340656974664974038658823799177147773435339619839217841532640247968559671593701417174175829565282237354634427766708587337589259138994387245570447334568256527027759569296631055591512545544422323316081735990932754133506836074142039436028814744443172589180339449812491639398157482322612201294295508444841904755374105816422010879125320738488551257501414755784679318283808609704278604636887876246074141539001021188564161694481208352679815291802509360350056407348098282298320268239114038138404603291452093195009698562477100065606797721458474206148791267500140005680544392919509932853884792905763308005044552868987529022619132984624979348324389838815645624715910620605854184382602094863386279341786569954305602904754378153385434020666124834102527046710045180329575852485332058242093076464653268033919892375761047669091806763366181684692048454958802447920296502132934622675315261553510552658556776345812792086843642772140697794242651820213450579477119684101488136552770178851656879378922967356362948994651032306450748923480819407000584794533875732242611700368576362412122934766180870208788141393083256635156373165016935852410202828266452258559083918856177832504673360676571254509763361565739935571192812060621125910126687471594301324988505038051560915257016784035123514685192741016071431944619659249692791574112468532925075229237969673461096859618906550230062041987641965107180939688798166971991274867507974784985940137040821658980659709982928388609617811419137522773410108949343756617735445275403631919871115224122199336495762805737881350836359111020813647836683476385141637899564244882375545226014628053056553641356437531808790406194035210261635632632503089605092050318507004170805039921769365193754036733098028930846032658723404221813371257814233048529381103104805392073282844229273766922648142462663635028721389088448089956911719995894505256243639964365174463434630568493872698725792334773443764397270902321240916528711384212567637412814918889131713979714620097563039156815894481589420724525021851553497967122080069549555237615450046026637539444681262920009366977168167454098006619538889742444372304309667339679470504289451598020090761337034451075881773977820254015595635874823140347843529214692769434943727627198103598947933514821509733500713063638276916613926436824706385376486023858160055774426802170947106458484018572938981946027668192077543270479840334076002341186933814784382932094786366432166755729037668965019432100591611742314945401124937395266426086L,
367145222407717089144694716494828605357086104255309697376418597202646611743905090728684844204386903581249980341840407835573868357982210659032734091625689372497601551777171144857992720864072474005207210077655657442876106197748574144311674179224869330828369306457950832845660222101334890228134648429994126319174363458196936707465604847423004549805919389705973325393946355646213999393630599179301310594232113067908515247962003174577915850145402091345816610534316729134468781695329654900182236794702581264492630789614570009148992859649879438203049560271000794347911630043074185228875521050634184833518127348205421596514475587325335078298077032000076495133598524705710452972863637483745718784060191753977124376425221726108178659738417564139580859347703664383479050360776745866474706156848899627714531509655714193496282067021027155491685589988689559447699741225252747499915002437475637941342541742960755140617660982688061638070010937415226517880533438250894443211468991963536145841557087022475398257512694055295515148567783048974483487689528967131598495283821286933916526412250960620487833530341876491793354638560942001863040913939595088019853963290375292037840029803241588384278795877838501167869395251325635552985565900115738797611530700509323753042750536798457231546704799229494468079963867854563741592907870107094615326150281063768578110130995775433743322424358760381976151155666222211038908525414581539589576856229421991797714376949837760832448187296540969634720519588646712558307674767268885294499506032948050802325822716634324056452716335755895611032618040024298112644385620735277754589585984686153321919111876408962192944996896950840352788708865524729853477920940675355652514198720689089321185028494997851512540500682709529126690797670247472305278460131812180631665584211247871510662157287514313256736511959745212705867400819504508771412635562992832640938815194797174697592855527982714670572348006169519931523227979585300072547066920365843794916958618988435621522558371256726903949191109362810791815310796782245858026629735660892699071423435161911549369906828143729307985105643013365620031702108972344424275345579052064808964313426371516689393915267096981206754131163842018895271481058518897216345976121289710739415283243188584975908966606758561868088257296263874234766387152897255292884713953848492736940713713092837221260934705140834852750038647573921255038626215163897203084450271516375133962889337968984432186476094530921996898030816444843145706458787515075563678693272621414590557629830463102307689169973030408141888838387410474333230375579224241820112396453555099778534685916548949681504108948372510579157493645077019924026440442264608468713508668784652457945754466303431279658870048379137066011346404931425247623056693732741410719975475185356774335003779342361060690748957645675135622851384591686403311932801955221673670901118217177428538530447140222809998394763238581574620257057088724217075811480278746766842500903570791952521237497452765079780594094639497953608697962315999695106378844577070926501946542823493359382933720641539313113066688397243194979847246351072551205751598408591191841954581521899433646586807786143957190914802864356633460316617716691297996168381722233130330134238052437115454059354380422825255179555938415304013668554190575393887367668826728691152548140872039888516144714023081559090535721564449243645438298539426267816205525774397241942585980551649811220735894726650074410032872424073500684027430991216347068658048337665705591201210469325635974845711163178278211883220346038601445435045509153500880574219942911545080539254864197574467653922167496468250366538655507539958696413956971642958609073391644880702477293234442984132090422272929422162730407128610759806022769463161358881138234070701597550885585595809938531989711576689349190368482511053983571913733781438748068186187768329193244899429625690748922752249570150690264650914691631154552161965633243536287065072110930511968779871382163692940708727581118665127145368933527668219428077775130197346412776425449648514584117896582482971414849774089782939517463451136998116511569932725011732860655550327111560719483792501751935228847496653202494948022993377034029957131630904550569953300163326422685579529210076296412496430328877350059431603649045462981299851676510295385393294909881899173776096633487415794627439655221331696769475127167336967210645700744051153852729748758992651785908564879394511521276746757282812425534578614178636150400279764255706144823967653448561623106792879342289346370293202330412892311723074468370117461814887950404008123120378711711280356488484326047310532143417184007331239297022533722025977338750091932255128374374721805162674463148632058829571588207855601773662296796738704633311780767435103958797947660888945882328876027361427399808834273182723607428705801506621095739421838866651599114326222525222505132007530695422265565171485941439878791952452498007048130681577360838530381661926848094819640919557386750087487900804727350484158614576442515781965098494617277568471561283591631120188594538701409208685772599126785711128434370632376907408722130218591148223662828114957122501437203297036362244688099188792047229185430953742732867747655113796694879298393994011929204064093665175364060275606368111492994432730202983072401359002651396850457997302580767312464966616485185550142016471187885948277572946430950554517196068241409779463897036998525413615288480062928389226583661110749919502996614721937126139360893746334708204156812847802281228729059042725360251156684697887444920789861044061072271985301663020975355494202320726206067726308749476161535679144840006118394944717118424411468901298567875741728514792850992696808485927735976071857560960526304016942162998124798656682729325929705500351589912589629063862897650712000644560741251369059878220876880801971826629990387953506561452269963822906445757634722207874527417852062284271918228148076821383392530225056315074262300735771919076565912633535872607687646281476031610853809761362571173330069592632052258786911815775160604268160674166457316491883749482733623443195034044667490864525269861927310728691696024275349437835632554004622760427553455841501301289951526852036314263138882381200049940046471706626453821824278096364721354561828212768082918491320768661435001254343375038578662625635519281785363713969561746136977106799012323003484304294544478257209386929778302459090183540083284404103902126649829155330402845383052100473391558L,
597735444003550229311223382541758812764040551917436891086447107080054541868244164711476092469433826780281596951193215094872558247172939843590440292749204763229933666715151893028264233729041632751945203625040517803008531926397060382812061968869368683106428470980107085948970979636598486301283794162296014954803740781402664507309749353755380213551143013984978630602588601900673541305874905740151366028351020713687366224437177702439553696620584796899466968291965501493131606740429434039237573492659898688238511383370426062366294913960731913438929249003282380947144471489195420431937790119233547769671496392005436571444294122035184465139133593356241922059795966042711705361923339275587161901479375432573882557440620778577310356507112265829299340136018797204078621963364741600105310799874708564295969599330136600555305085244061508810326854579291851225061942910363849685742172730063851639735843602616093813601131162799222252687609097421494567176335142451452831961835427363514862615052544058968353667775947942808230286452487844979330515363934351425205130832925718051208743390185556794479529365155918314606653860500065031404273912797400035611620163003798117403410151808119632259128395681133878598074312420429218685913500422393174487573966046308112390708386816652422190580568286800302132675598898814105359979008543362752117686548818735820801957711221611947480563928120624402482373186874912796675528928651464797033601601152531657808362896175654102400621332297240016942100111859085749478542064615389543221838659257389835496709071316059128101345374731899213746830749800122695826218952168780919359652010416619987525388715656919739794772766244400405364246924225250922727191283087949733320705779118798475467127269219480900608323383212381479415757954688556268607242933183431808043830356148606932109893547266067325620628808431395705328578810239529889223654857960943034079283654908452904589374821888770824407461613510771373618803666921589496944559257937933266783059874704871870036906847977287112224118533307456796247640002913582479699762604321071464203088417440729991280412630622118229631570680160357624088455439565480992321899722390086277168477223380969223547391729252730463934576313542021431859018152932946498661439543973029487257042631492143051860561748126924304119394333213399808261134166206539905736884372350766095169710523157116238826532209660773789155071694266020505310234039856992919981818838569588812613813667609233133246300889646570048861157117063836311690158017010964759609110970480432810387105552715108310954988277792759925393823807308958873413448130863049545051418212062094010615730092571376741135026484306424837832808243060106520578760191314216566786496474104257975257989849510388757548752789584966187665369262216368172200711234871221778113632003801766215382642092958919229140022468607797143857306308966546180854924882963009495479686799787349120875473877232148667866553446276379952676799919055581474331209099696003605948774272240929034871296065663849563005047320344925996839405057159831125278657092028652088048528514527160563980289014757347764410151553678019637432024530358532334821786297469724511845544510090220227407076756141472015384202408079823700545036677709902965044320441150283677154158127854573160766563043394157399716641860782473983979354888123298332091113834107090396616515965320957281384175872242851492405401197788905969438320715015842459105827883042015573106481180512502486142536401693584150057147183462382552485303052529184912708243609995271477271915027794655875584258765005799867741239553212857759375280434794132794001151095420639924560669546701873741958866646381023821915501287144098229909062730015944403978251540019381245211382048914434674588878514694832627960253610217641109223985988131198506407029364477173878027781222905018868457242431483009361730282556145324058758781698187135005511813898131337704789624659784671274210823908595145656397609180468691957938093647072241592708468245616294605798943612907758848019714238788369270120688257987180332152697564234241217181461313414151509084328370518805380766695721231535653357964716921886202989642306123189480984221845552835689585520055013536458076989382830177367269290817592133697749753796774663835504599082177039133703226812677439261493879817551788641830071893060405553956696850380749400221605802714712192657602120536863030026405105536065181040984801724840744522589779295670847224910953494544952824722653973307181073405841016024946983679760297269614693665885039910264633183242911910010434001695985143068544757851058822216141843710131756289348443099100980793528847710359038156017729746763894009934687059158774849335912367861124671997791666162856707362197189158635010159708240451590920790664163101507775112108432944659790335088782296514604492007375148967006214758588125128584774967938611822443717117437638009156777434942383729609052237418207927024023360035061865226436768231758984051772161748325195086466588255017975866372636189804816196154943101163120497341248601172572786985022790343576313002157330309916317334825131966421790230854912054065096835473562549368752418376923839255110905026854828579281184899752315647553345565347144446609492963387195732632125788163575903444495868863838567725426337366064045317813579927393747779619983264419624234446964384017331508398247153058038835549033628987596075281690411804799876118399277834725233345455807171080002720049942214444855735056618506070846156697390804487481565555147429826750070350179503270862699307130430036371268999699284066738871984444864946522361599671052352634266260951322735065577654352127448124227125260054316909324615610343239942389255606625302048672562340063554956105791973575809818261316746103690210710723980493037734956927391120063674116145338134517515572809729019147121125914087298107137025437825459330918534474290200802498663364131366782297986384088267119629603385651913089705984980887167987781254755759859264846044013561884553425415956447766998862211884311400303466185396061831430203864048466625690112797772594975172147947241010028552312816393352436077413813863000122332333939974476830096586690418009754324244944766039561809510308552905888241511535685589427224394441402906249996047066549839765846802525137564747033135329439563760945154693893715688417145826844333141472349430594230934205767306943034006357383125337494511845441751225705943809537728701680545262607129614307406564379241874515432077128250956312940494462364057660502739317380390666594688073373805856809528018L,
973026275368424400027200993038310547487734080731540150934549200834238164651212966641079975453068519911387800458681302469218842063960442863479838135442060716170506735014846490868756240542720323121766271287222406120584973620162258179321441765033300867916123846838595652276728162166257025664187730552044717540181082523342799703702319706522310754643711310858376522011501826575624406098160962275336752737952522499661698598214427623365344978311424751419795534422033771071187354153020827836548912058500117972907249544972174609524015544727640851685062389438754425056435715349359742917084903982862083242198129842535920887363914818580895177030763525533544783171744845226669819154007638728913278987690766221226765612043583763892371642060674397767956763257296224499391968775425948770378653928954401081441103322610880762446177251482564440134251912813422922912463770730401595076458184340800232502434462669029157791820898533154250723730112536752133176299210937708386402435389480983602835559673735517474359815622183142571213726142531587537945998056668959215173516499542777445391045133454822827771925731414253652436937060482037519952417044622727588267230474766313818669093330007997295946083358312152672319830759905293109245451264919515544718855286182908515843900910460064517977305096704631039197717772816035615032218869266525292835221275491477475946098031442151654699319713957273414800797375421421294234311544141506920930761903285662579320403976824162933504339771089418930141966456731184470426247505663755348308629958881050206437739003347957939958480463511918083011456402316708512298160357823017921610740216320329337526745292574609882229786601575579716276698738069830952206048481822787981726341823943360546117161133805829433989048970469794974134533733227086201627111386883954910035003380365286679797717831959464250061277905132817729754916949924471702997253730550504101276245676701934463756135645343808659219485852752001303998992961710384273667949882871635003961995530245841955104646462046994829995566885723501280342004154591719832464051131527984726280063848513558219826860705309614073989341174364380565951297705425714421801528063488358441694487720971969409232348587325872850223384062877793284580335119387782114081681252048547451277189682247542272221831674165395049938882579399338761396639637879611392625280866412375384465067173522695525505390032097479158856327967506365092192607370699398768184815151578449805158898116502712199423915696243899312172089632779586828144776734311328670140907520559425856494525297250169651313039669808674001589311837887507869325022565096688975241856544604199180461696623727025544617447293584173104020653101088591208802781248698483165031604483109355685676245405103356932221598582061673784879349427369177589615089167039902887113067963697484452461378131516906938724724375096123873624987980933523281604748878190931879916443899541909916917614668000327791418441533641720483466777333919890746958787648247444855415563669398112044184831918924096888771041474048581338828973668322103378487601805822485347515648243073016315966467499225456300207577738429456779721163888130124065593287879153022267343091081577838375996718847203244780321048981483325076822485938869781063602547444115428808065113981715585434769487913756855169313765626030129796758107840221897854384725619371451890590119556092947461697352742953816333416296679581177507581824454960934785063710237152154926263338235850266298491572270575178449046999793365526395775765441937075348552046478812484054945191712416577335613894790973443684705880561738551081998227841630537640747633575011352176244311393561253537338950916691032340108394961662013224991587990487827177383229448203801099638359244696382261625058637623960280754897630308715849743363411592860595006107802558146648163140996391308217342587533372355694837230708030979814771826552133576332856210915167602366966900200881569184806148522473668475280232054339955447331427023525870889267361346306910890548116168921192669471747283110690462093649662796516775612442692349742015019803013780418823194691974899896968086210486585847387518017036979546598578852792669082423099064724527270145176480096296522895101888732472220955175729150742459073123034818556218868306605301792043949555855715210778306574130433714722318408516350484430479569415232154765241528720693271941276056421161762382536331448019952167515916428215676016155904259684652171403802545444842579734312957508068753868944493389248567162338992455821126672858303108165231751319557560926561780604126136840623753683528707139083992106942129025968642687163082792531617242023099556890014953804341120912635132218381452838083141830834367436132820897196945288221956979407880478156923852579517137884199677364059676248269385124644154567292997538335558645947205404816741796475019545030761994254079868181890775729805371628260794005928417222290630505513099989394421802333317216765776355548975423186170852439561829269561056568765850437753228664367735837740571952510938330111851831438875346227765952454684195995998195955376831143725075593727605503763440989182759957912466154771223601700848396709585108960931344330060493170934387959086283916704517907828647362252172758075207379976664790785670709184779848386189840815376620988341898455591202237335705901864626371689452822411855626563448673328158236436252506393007854667770598781279710744177615030976206566699351404818411500325506917161594451650184233059753959410903911953430258120441143920716373868745565669918353566759846180373536583117945685058151915654827239868832938544281435899867261332122940758975733808624264695916240852084654641429743051475883587050750260334930758163771286239579990364427032422159639705818952337102581452535400590848566935154042255041720559601937328354551299037304433912908064265268582452797422759404952968273195311895153664249650746178677251978406356668060697355908036662541358843107569231867610974493431098040707066595617289905323872557732955301433560377368588693313121810042526872983745109951412756781880068659333002012444918918579685259979057044563158261695715615270564873565830200848078656910063239515705134005882780645817187162678478928378366602403310213115410011059574431272320137470739115998087659446364990624229510797095881076766677385575519681908459477421583462505232717257013071775398822865129559047051967730919912627550258380581977777720359780642786885152462284832498484337370344347408164661847733478948775173685858150884842264374129356310605856667825366761639670390L,
1583742564544122086734123990636999378493283673866243782575044419814699969612290938618929269919598734529028629899899089010856506187911811844922038345046036386628148008141862414814247317121549019329418645352596117585578569447664047992293336052670522789633087411241385187887897972148479627629652520126590771592685177131938726270929506579389829872612581024813118253275817626433510875007797099341866341183774224478037776767868523731106200104667229780838854194962069799490903595224581632183457034601341707719935998501561287163466824804767077414643500289283114965126884065965478100022972286558852922057236078799441393387548415964402299817395950992777097228315905326085831699338973787889185249078564257954835153549405181788060036846173404312485181613651838864132675197783373612869002529952499407204716994489324761390816791816699180085455387057531042244172084727230076094448950701924332824806742505906674835000801936640625793452458253429171501154868489271509282475377566038231388023898698413129209659485393460996420106438788049600967836254820793940914512193363604093736143240616816135327371885135148092645101205230014428679960502362035971494013667906615103919161359836722905543055984465418534007481796040459347502438438557662869712742037352196878621454296213396694615589206616760284194354711836891597085639424408879076328963686824289563667056323812645038134178231005191887730075979894595764883077970649712341526191745640051866412663004323784811660804289962083947489210623408937021220808705141879599282277856663389850257956301219684800889676547966637802386386060791951709128844881525217483198830717739582925686535125454168193448802021797374405499944430540653153985028656553591535364518178025474835883931027831443137322806562075355693246740794139427451910887380222472015751988895969279635746759883346977069629564256486142926274987124170047483427672919788247996258909959492167934202270093037244140405296845427159811330515414198597635460475927434425551096051783896026581519148135732825111129807001356928128455967331428038237167770105300025167101162005573111679686403030064791487302845724938493193783728850724292227088442714613485129611274379066720545074169017303975482415971996683939124017115416569947383103483020912222528064273200136501834678513056105949575842264866541004299058412956390665949104700812469593735998568734462097126650006603692326494916141775224572237038455350097569378560666342738318847620578803407661261652108377230501993194079029457967641773972799126081405178979217774379798609055849450104345858816384954059041458045806587090332349994516570802635238179281360490849863093578344072284912018749818123170912075168371038952218626332375805141731029322095704271233249372965408377366429358063633784092456752650844268737468596021230261153864967503333422584124407252488505091856733490500349303187414432624017705184134703024076781326501312000093316706243669511446070920197879332292094550876243961080075393709262759913994068338696988480073099834937035228648232106148984666206558112933342148167610858612523455749245831343215848115621019917427721602821961841918755274797179234102028161058978563139260272211338958888688898079731102564603052358422944268320968800415201169044077512189897107194312961101098887930905235673175395495632700852486840840977351985230310073723357685948764258876387226606020348232669833839792161040080162994693280444504996140707239679141398338024814511329367520161708203322140341235308792617999779657187906218636954497701531120121602314704953286751687465941827685671018743225287888599318407171147513597968402266551212858958941178181351578902446333448462235002228188794436559358547027872105406544907981911947777083116014437222497577336044778971424711402839158397647010273117759821677707036383292047418257805729601041340964366398366027746539050531874030272727458013923929431929701717337679005017940531350508798065626563852885784508687243732375389922770860251556400217633132351027257805559281079921766172729809384262319107633564478975260343110578947454165059932719370490457845044893720376344679538359813261890277211953329934234481850301468086452565483413906510772002900349500499131614181201568065727951681396838443819792561942260488988764776081208887777771590277534006051281415372934366466217706311311553679395161161555790715859562975628021555640627193921645981561980045107461837060452091122635511268384393551739856062302705418701525238320788363511743194957002967914041870003708340127884099145928770062488947317789381105875054665894752107933795938878283189790148028364404111239805414448441304118917719749407225499205986699294324068681504889758084823443843936974215289531454776648958398245753710344147846208995440478399694307484231581142539550084697259198429744705984147001427602674773998365313606852505010180092796857187033910504365288365131352335721065180870824583661401130086059255338191181129400277238963672463778666639090231108128819426343150734159825787379137977730733788638726793879414456875136977487933914100701890251395771599994176824367663390458472363375703584565082218655249154862161003322895178210481592561922492184554404557984709475536765893327254084245152146665799039316777619292315384510831395164792833089448617346472939265283581808307643348866897136705006862526155364691321636576478102613039201006616537606482019262481450888503493655319772057556874754880645303005806439139999606120280602586375287383617067754069113491258014239550709878538661770014998098890762910865075378129250584682799020854857591293907624296401765258089910446490747434493933941745754204175775285524554729475034596325439954727407679198762511986957031925938633614457611244647341733687242838481627767279489972206323386302231824762578919018002424649631395892076108462994572082932602608794942807761837136752624598948081032647718187495057742352329862367697788998638664486754733051525594484367747226625067187428465137403124157431308177719179562261372637866031754511130571763125008737790006930574419876843478722193270398684468324388238211049625292471896824084553905052499907503745263044765773123339340394641265433674686997691907751224726208850802792108323791352494258402017265966524997147515339974056245596832679859503011627887481163824325509016183833358761972817640516405112318937875981297698481900100345533162100055528194124225354516374117876332675437978894563722644917230087085947542102460254528035101579513119494005740996577847240368728687520259994488238687593326691595408999838631399167400518089331L,
2577443195269303395321150221991069397213537387181743998544973309935096743549741379706265541845076336250238519807032197482063306810419625241955144044535657053900375453740099952765564189408149450429724378691063606613611494757386150572178749959740056720458572593275760181980998012852266159950539032357875171236651942700538165530141830671971891741067959218896739071843777293272551903302022250263830160006838099940924140507721786993092813989411720062432898784572075919083639798381702957360098388551061663690999741635177118630138349727009212362788565460020125361070522276249462813595848574414973897777859412968809771076531709266975683294428892810443827008398064964458795807373561199016477048697954947036012606404248185806294153359842351087920545637792066952340268433715401241492974487043070102068718428317054001604436959234882510120964178935744489356551941282687331314543876481899830897083323163812454905039379771658119017667617735421839759222701707657321674982999754828797042635013047856701935455814987304799177272394309065237780422823438404207448675233280468161695736604947450596721577113122594078946441835991156993908195867024186794970174284325113079843507257121291350652674409325433044878868870969980828762367427449207251013418732395359815547284977736251277152813037802044963797267327660541116953970216416534068401068934605460138946976487262151591356208631452376291721489671831804966587871493602283290859378239446719330721286063810766522554685521525787403374343644634289864183627971455306945084215487747935610189995810724431619231606879083845548092261116809209902397221498137567232190648580482480827308287931433379639034968683898016764961454627642749758868639457451171198663124521894768841142917582237162551925230493325252788876807630425118415403068201025109883030351385410895898333761818469918474720031323027303505162457324582116976044881802950225488949850503495618089272767811841360274767485958298845039703241753452658055959487772724781450443955186427670264095039671562910922306397583439551278422426188788607051266679447788740511511362578460945440275773837738897437966374298452624366982809774303183850225033278081155383271543853703519146719199427895509554043881146023958596253351683542535635502945872911431157045399148294982192032627248420910972232833613034508341245723949002017118403725570808628057505549868358972235140976806678543975200857395215077551662589028444771541695545717921701434362047911238957005912343362677698172979344764766554068190780823492592655911569083765470305802205868488981930562283869231821375991450462695356319566229898346819349842604942952374403200274315441953629393045905033680468891216325204477111128824527934312684485181581029313726169355615125950291886730077266309202866458983777664108760873789995022709569505920990660419292582683889337701486870550770209036602845869537094895114698435049864138681533055425573046677543747203103078986263120851159654013721453477658643907372144226784241038267440977914486435121936444219363910589629721580609970348244582287038930379708487961258407294004763909117352261680595760217473247213822713942180628996321575785828054151186336739958842775566749638610447676011769505497540359232546208909004520184728510208642486675081714949604775191027571531423521802951338717417598320066995158994363600198688569809235217878415625915287261346278035506495815075794099539194294810362445327547322986952249722182902523016777467395172713653076023695892890297959546709969819573935101135367330976045261406030256204334678601957709449277164572298380154654547397321107054327441268538218594782109235672492005539122891421313609578783664673350995870355399647394268068614854541542718831139589106518784969675292903788351471776586911923334269248227117936351898809262021102288052608070509718341992215888924666406699701877532348944962861948989237997418581717503980367814589059510398663428900420520023099781871206065692202242562958702474127198975728736737993111721350221180952969080201361402660202484117627492212267722435781102994692013125097363194339770310678784882124322826942989346380588425137828199805883398568289406162302715243600855777144832385233267521530608945699850988715356269338317174380100273338722426672140906997122484366495006769626361477710591128195384870505147338327835500906560291187118974996146848111080973618383826777623217562781638913478832263199821210359553876633087184919387553000279935668099216254247609571485698118004669737037039529438929186055334434884227712171842230160253697493604837197302767146168473957887719310392573932194956263168897540727669002138891343567137017084967286975504446191762085329764263575963344274330095084991949479379944259095196282844984153359169225064315602124175339971210168227270164804497247508826999465234628264735447239943162383578642722170299568289233033397247847519910183087077464497105224601998785037186215541504063516613706918661328300623099066829804300276216374834126035562861564840847530136068205193539259935753209245747421099344802720040734536466454813591061812977544797043338784155933359074367086071537985132844225551118218394879606541869422927646204133709550109654221861090865114379706009058696792844111298589745711022391475723966668372670536278597167944880056127245090537635922867595094573707995664012320807841246014594291452862382482771616270297607394680950911416568963975746037620750848808799263185919018458808095102814944705831129502460945201352000011770028773390623284353082275565001394564535586196257409414677610943665307112625589596233747544011581200364632272771495981654972722446559040427917236308339313315823780011219192926033236310513189139467695421095903432330136795254600241008623187131060771632004204155375107829546159965671227580972944511665129799521702892740356848542892527625048439956948753863052708723742452293665207335248211083184336812427820586152885992002721771244078326427982970784453026668215028968556134402228841661701898091898999791700657483065189184205724847238757157753638469591982461747874505340317595374647364889796275249680660192589858836090285152543816431856541601296730085395340302741339150077042397496988556535344878961444963133988144442160010933661534908059601153651670582691501236471556161691333337488248498801695626555567617251059104443147427600693123484923701949373858229957607640542450350968098954013300405787860752595693422842749269732172636112003348185692571924506477045837635120201863069672998279364338831075945689672451656084816016098338281868647022546314713345L,
4194093804549417434806275991733952952121906889041256288829547886582364050363859881836664800497067846036999398209163235684045925579797682783430696062402830774908405494101236140496288305042153881700947012660061609854739994229186512695473210616510116577150397983207813793656384818593775416137059023687597997681047862530934503564732482954098712808150123426821217944812222801292262856666551726522795674048534550194895300277887543931489313944793370884553614549610162857035170073350842876430829041387510680364268840020538236046155711821964258007746022608225953454682064183115388351182099698462522746302488052399874511451081930145287464906429372566813617953381159522439212296369477579273874768216945566012991473286305711932956394197971528397656832087452862332586221075338678971692953595443160409950322983687272318774380016021097617386409571072477673395201488664581879530684330774013086863959047630199724405525414058849625156224858186633696963078389678365849371513277833173166964800160521682272237667704625532681234781980951102426353495836957177991185462667798219881789593828715331513078856638200045987080320682546552350168150755821191729658096576641854909303491905594751065827998576078889990065054499615049217520233459789743249217513892669466072837992022307567897223949810912860213707299912694430329226442310416981997858055264462058969227563191920776341500245614340811388363617093906911362899705450572404642433277600637376721915377897189095155887398815434784709761074489723151459766901303637380404350752333559994436969839495819254245414432716068970225002309400462784732681649699770030363330093618470860619335692136954422184324572076212088286179001400898576976026703186522049593721542726968955771427566782264507821480226265409182462336776145693412923417045185212472946402454108579508308801719586480587935460590278806484482896045828454509903375479606851523747179167176270935436643056462821514267108162402477758725677039030328920528500549395016032214153954591933531970167408816062351163487037635514077282852552930588607833453588173915743271709579486021647354722661238778888385619456656356080217540501155504794500062179656280257849401188059641472897130058525948592435985143319406678413190547963182113961737519888706728244464837777261653418378532268492327589182471776663683711098916103482814700986968868593130731672441385590211913711492822182178826642793596473200016650784216659650140597513469417095174304348202571920245583525873882720537388889440441474922684570933954878886819746014715735228327041274577541536526257255634666806550395384444873155487889172679334063822876930445044336692913796095473683472074869352489247719442900604561449822340082990389925754908697316293412618102212445314855508126377316505409140728640685388812445110954071083841598398069851107752500869616570404034796954219989247465376739210555946011614734045330663205807468408019172455417291403518159043960676961227455697517232029299276729133561414850181811545078545887585264100986249961549565552053744079660857545919220234261667063964578599623427872163271370323584095978635636278956926898434083105107763913584804514295558879101179105645666814853746200813564551681215471831073939075883331323543163476617225362390449508220484145654704313401039009606185573359955252992539171790615650178151605709299048404994172695797541279298959307539944950398159197652695025323602826467274238969018213171070500078141858566042308016409485487243681053753133337200550588941106964388506863305753159699241919095922112872268118721538826428717196674168497792695315987747274834158508429075489561270955114838843814392670723248416271051481859708081544918328208198526301516265504453125185523305755479323748384472388745720544952007980906727501136941285281151668082665681427899975421211989177594519195022638874246236430606650908107467748754698989182354929091210289588539921997394381195518827671503872166192533402853355404211491210236344654175551079081028129497563267675193208402509983261034416897095300906944390886483263836684556492284837234734707526690281285564996237523797021682631836677977581624596917432072516594371834183117704275980407979995678144995258685209638131751573293130406901606594222260548556926907237821982156893564979358324564058319515434817271028149801969281937531097184379348441843449285681922365488757696205702366628941331720645201387149079940465665072724414683590955747781611168813254760931356671948579801019339892364298146910972642793562487867035411395776251190236485446244904366974039387608967901042448815265788856066379589054802577211316803128951554526918826074570576810796915923856673300481704240891596579556916878443857246709768140499956855333318411639382054953751943413698808705470958898282517389468977435285386717295520871142562583242897667087079400304333482795326211478444619994498965188642671023022411695468744791956539329708601215153546628196260250710258722224174850143025441559639634003132112312216483478881415624930123751534868850173478397237121127111437704641105904835636148194088314026187215967118523334149290786222399359831525192030811709818834298435454168360136431397751551740342042849914913553066143458394502469504653472515951600309442249345956755002262499537433998707087174964368562252974580822729408667919521749027647372503321265148103504760004004419490059215620909486291400110464530520727585349109023707604027097147024995954482786415828054360953661985433283959288594823121176753268415293085709112693392358469346965951755846527717744533141503373844576495152884217154528170766739015005970481901745712063281169679843712931733672780895207646663470027921382955256317130997748163327820359191914318491667067258811784317491527351729602660011047266226995041676638200897941479536052805878245615908075346442810179198954182712783937554095390145459711826597748247429294177270515553530885124633089932874278719947766902086457913937735439987310721985658371959592682341145311130776302931629837271065700620301695295718687859103637056085044600145943053882801511904642786276347942323780365002734693827477393402485583198735765482553276133686926260532519684652479886360079829234447537845325123864646526250778446937915409595903226018363706862283824315371263000620025274326217434361216647537091831828739982506064258628201511267931660911815225509583556862985946273835797569259354402594401730378185071382730846688644139894599838004204710987276025534120870198790169260759852183625588724910411901597484410219773057650744034567002471705910840368396601453L,
6823885495431633276687500812207933783895993712909142772503303786394929746009694190852453568286497726128555371798569095707577125931954347078817977742032433480320735695151712600537816684143322346698386540258024875034244902968422509737821994941353406262714676808992081563232430553854290200400208892286892485380949436468865455067763860517811927719169264211615843711164513537364327528480627426481042969218439327313974025640860414208259144281291371724842700021197584994568115163718671043221705460770276689314415095165393191572865344360374868553887133345075239464659782246460982804995421431429678894210171755527548573485383986377121633096396687184612614589428122679055643717850988025270540665178591863417661341480864997612798285433978214777419481594276507526720946043328326928379074962077972685078741645387478136609366506692811111529593739221266888944684024384232647043311290474087844479210603541660794772768246479955568309365922193046680442076841389057420741967628358615240142396714202922316956625864743417083739410841324466918801358939399357271380181752865218403883463360906393488752835058980249500145758508712717733020107205454498816704895918154223056625862337752686613115116482250165092734490318192169991012641283247483175079585507039022814502260531587757001930304672238121478206405731220204847621933612489635909105319560235780659273147563877849385005393142029641127090639410325579879306105791681711887072013103813752681627547228313730593114012610124249198033270468089785684496774188536307354140344882859498139176460180933398519780917558317682586026614457402915078149588278286348088685482290721869638174690248320422496290181808929781189250379225335770972120223329657135741573301639246352521966421253284701134954022022167365922043669777028157301768575369853779369335695278674158360772038446245825884725056759593910377493643473254249365072601971943713032299267666084552044653993626491189950214431145198715153327779192660463841847246445301762860436327850436691409750637363399651216086746657864226595303705185618048164754532863925386298462681806634821284091226622732022382463026075931174683809958017640777806307575478405945521485502402402342278441619100715742853906687804014177914310706934333314274101698581808057730669407944960072741860939621207491854357934207454219057128217358350601282505824210444419860053372451769714945745918886295295760731060246314536372908371199946221479724247870176177669084293529993843980776267813991366802155890985266187208161287687935048714560609827948384130295205225373230661644192130133928462669634863709355369214681939146641944259306060544835826147349410142540919640248692544050769024052124254516244882959130018228646600846060946053171971418991806586779708804904803810730802108669370718706342412804245016140729482640122052618210880295377100329514741428986129408089806194494600148350613029375137499813068538912630090016071774787713937609840922958277879227844863407325476302639471797299152791822501245422735963291984951697543201528343215893897785538629005704231459268631254007099245649664569969736006843987717427271958933497199078352373540510404442432890814023529169457669980644686761441776296611941155873538221745262307783678082427669872616960238879183156028811077699254977407783865042346011841646879750839716242598279883165838650590146442607561176336700418555102782421178293262755928255272815082594319138527479329127139740194238631281798755591820795597214332141707979209524381387369969143408938922248081138484904535911571694973551062040989071675035130992709825189515107548736260370677904169038045273570846212695979364621104283707875085204054519495838666881163044428382043596850890851867017890690541736267429915668072796037794458225422969108795858513807352865838944462927535316580020666666579291065542373005080552922791073638592955024679996656286164731318846156107248313197238038970705877255924373629349419843645740343576174380509649951880867460253350698203845222325778997708419042869054987376571288132635775940796179337427345122202431927435167660759615526954158979731891425921363468166357385836118990846277415346550957369940351136420477510608674989371940941480137916779241628066035756901496878930727027943091014964737340905993231398373137987558235598071531242405175725556771826804812229732544225052286176383354836750167555567929029366672943577097937033602385694621244523594005053718659635889670923199301991799589328544919385395400318854575621215344540200261517005909937957299234006777523341178062066999360880178011984013104020506700635932955852089571802881638174333674058058734869064436835848575848248767757033734607439906799090982695433832610047977087926712853661117800487208308878908787207590353329348973644928914335225012315088556057854272774392366498032684268650822307078768252883266942243130273195407578173298167421953375751669344619776699844340820196729697493178100836319674647464674281261181852324984964444824001981652096736791775650285523234478865552132001801348565897364125061137673631328056469505576156032710725511096131321284067874367347016210503969585914621598845089184549152322335185195790037813408119462790409247463207653784611027111159878842540838004921599584906173801843358975587619131865157124172845220865519837254214465489193890121006759575429398449535485148675865274217065800688047240002256152979459675481995626282746302642677968746396288617896061934037311157939521477058936104529876556555403819184561614636581466614172153776288490455398848129278730156778648929979949486078408162172875449065602860399576859566186566885178353636565855252889067601679668315045263148186802313479813434488161524379119377592830624216529254258783362519160987742170979974211565318518398888083959641134691422447628243308103828280031886424381851372607250969962569972344216762562336515652771701305909552443465951755182173305968061165753875500646210508629924914036305304592986004168791027850013199915768291415874014083674977455793429974755483323897427244734827066797481821395804470010371987146231425102891219736553873230945157281491925462713906671360594407218632802053682952028598668546752181900705376581401564625822721059525485577434343841331355285858663830142563109629327249030718054748863009789535011434590502900092418935664082389359388433113211531096003797996868852013550778276364890558410697876244185970868729340350083968137368857930630554458878816550697169612754438834490890530401314710561571272313105376884167980279540014265830970600929708448876810220079482698189338L,
11101199481754626736099812224608119619606508335793241226670044673560666488302189408496051973203142474940237141724491969478738602208440497049862926654255330602845254914296272336624082456766043063757360060292071631365289870507715058350549882294187326980668521929683106340532722295026533231103398102176536358524272236542748810831719111066738262809012009229722792666112007059028010693476473524524337829930613292754926162925525472175030572460683037264234777741363597883984688256644032136546755243902611973265281893915480608308911988092878346901542478777095744659825591239292512413661255277927038051549668158056955209619154456516914790419360323098006499065794840585781925145620292692563309431071533681448462428506110499496885668941299758293807275092890547184120099609196729985758323023014631161987044634943253375369955961045477591999897567476102788628887121165924111414864814585451385686481485868307840814588703748893292127276653704415393428558333065282274995857881148481471797099708203861033159610738139233483111329533085238390502482149605104518489474559274672713418713073199863616415071409246403886413107350801166272654662967555364263531410755619591518365061997220078793736916719314945352723941354508055248349339492890163943600565183574116864094655796531373637097679975549495838703201070142551730087151618385056975393565327556744690268031291963579587979965562495909523439498926504334229775743389061047169826566596035434327518665903862445755504756398371394936716608705776713775840171213149193511475603092850540770665767996274601787111975235639447185481552531379564976305564175222711370176577927916831390902222265151444797737147417888886101553644870470556617803989039904723358858685297339429400257456710602915444019240068456184109126630627887037097969241823238885403166187088098393534828393948553771057180156426835652542255320099440321725510170017331094298308240669080144949640870057960864339305080801348530484779598267165158744977528125966975318607832492406936207872489623664428665055139669600204437848177838548108304856957080130905547194126532558270869796782963763833129393374679172621422797215223941086048096557033165922420170031879253632892404918417367862285426066339663885297163165936857058722307500301693547992689003336991491670296904884936778357170769728393836005316801549949429778215612552150693562143188686676712068682811814374030574478971703315128496165624608169246413577805739771385897521256234912488801509361138232791963365323235051670885687869373817614519730135926061933067050450620960335863765978144953104125355183232992686492739112842759896115076970193014110938892276548373613188203353074475930682344357887041065936472432688909880791979099331113342071356004677608633414705749837961437304236934351211612291053668994201291716790249814671749035585828362520187934207653807135815908679691735536579129767443713869967262416741670922142688451473021424222774058957531358296678358613557905388299521161247633751986019060207996196298942207337445054501533297774534374087708065350100622431935552325055862244238539507797501650385590321302884631966712212930408473958454560620435478055516955892504181572496508763713750649234337919245749144228883728410881991823133301479895462885270946077825370257502773093651398591216569723095102428934001772595662421735007398696855698850106196612042562929186023062868372995910730575702129371244509908805660056754476835758999007152180148908313717709603976600818405206956570084302924459466297247278334512426625742151282658579977428333969418714647164598475810174009017903233585759152158381669246420305253405570280736056145655094262490303131040772376823672612460521689220997028261314693624587782052520800290557159481550340130324482247765329065377290125913797636286264015965983153563043239573655320727497708874465535928985440805807169977893777446208277255646915071291023059516474149148479403342605763540624594994053140205117957434019088585233992600675665824858579697496849616737888269375063436770844152060912413923632521903286285075264032179627949175342372899468516296390558911711956420444840683195971358359398572090839370699559937482643029375458569777186858583727905194727136393510009380640148185609413373948206249815916232853997479118259137816833540432075710032541686259986662009545859498322349576120432509873483804051953895792310097269213864131936223731026003104844803457690752368499776432380152709927850542894848173576351852351415823116820750213476452351013938296310865491522137875751842306687718461946015438047251414557593717875753812553375176039179219187005083693713793359995034904792291020150453958092810057749996917876741670194721862308594523997286906919040336010179121848600792273689097311023205131597532074642397869041492500899223562630483342252725277530011692015283873693357357084391666575833099793013254279187173853467954484869310319514856333303174746365969849104500338880785188157387251806823650395432554129508382748482646879768626788186413055400440985069837993471334095996793294806543356978642006912836425941383935143031000135342287536467266705822457563833688655629353091027603345727263468800468713025164412008380174233733770974264603185067513860773570131045599288625000150307963059219976356149069580679412366099930053543731937971208443974669971653495931905020617864761109882524648969337039212352114294537637475856444493953734805837683890802088756388328484364098306080589510092677602556721554027507512437077086317089638012280798748913940534174954869707619688051908894633508064561487610686355126935422600635931558626454227623477567096229598558495207212131049113520784932531449462606277641510879974099845734049742443892274532488306121715948238320214131835628304954691076243324405036782141056911746484985551888526685873952299813468428501356587604560600033230481558042993672240160392681376739441702402599757083431857837398584371451271278327240373527960397833055579072187152538786462742880838137523735887608282881010772925985874667453853646180785013157543302974500164588453695573925280634813258904923617614008089887804222764752476291578092314793686534386566069617384101731462312091214718975988683983009468323245753023899185999837220397513566177663168255708951106512488126440150229912721052100042619281615630247702840541422756315748448237892255583942410367245060215081133082180562808102862208716814203073514094454928031636998017087150301153977466673626882515027623845538802280182086931616876751301929307979378084807316047170977749148236411816669191784705376986L,
18057295207980284218179841776151888144721556146844136008867785559058082752375003624375280041821070572764784154548699714908914552727358044594870959493049226881691144384944073664287884831461107513302382829301308843109175319065929208318365206085671002643324792477074049552242729797493523638583026898235187007487632916380685709711609572627162530270719138929602005855258233476345127711271817567660057114592472139906248193620238516078177083961373473235040545543771593938588992316642403091282098512741113064775234667713282736958332114742996303574217352355940367153427434787514761794789686112643863008395341169943230689578780254280948539426271255060981922789065736573371658608347857903743833902222784110191629339928073317150410997249529267010944689476821725654606399609268387427408045897971630425515697268050496022315552915767699245351910627753799085222217503294555162995034933705616549963031918210971120578475021050126174624463136001818042750329158438990546141732931271609815907447289065557358379368101839077474590593839225030147740701123393130383197442305810121134471741768592497560173843037836977363273087873978917881511566546233446078472003826922393823636132433948892524566477460287568433662114220074432703383850974605421201668527329620986898800915838867274434487461597097142338752027543786802843134397336975869522688468516265122952571768490208366850680773787907875174489717391100126031080997140595583851951960645069012580804380373037252637111755316736219245463838148912794230518540735258605492935550354131628858712156507372765597924264413795302993159577111887652875009419471202523071051425604923905453510443026931742841413126918112989955081500817333630070739464248209880681431966903412189008872157617014763257892103229000666859448853665734230803447014631022495154822241676442371253019672398679680374961790481619048381240431281359175335823576492384964810517557390068161857993834960881369202123522245529366087779132261263643271251091688257770292152272982519518316168338622983530828800861599219885739729583596525113231794931762574554918786970651154362401076639137095424879006046314849988523417388661547590774395387493372318933673445801849519975479067903840099823578751597754980867983996885855034798832072795971454872048514028352420276497944549546506441561052636844626356948577719636736039909726818265045108668567202099593298219360745173434473181356676589592392737716909519967229975892555488817021724785377584669916968386315568099424284853393785968968358329627553088512718807377717190318003841216437211785532657923670737883757754163910716037531832040722145299079123616015938082472414962828844425253033211997468568476752237755189925418205923626078493695626897967405661130986694068679956207663416858728091963361113163738553007083510245327189893087053966081218958756638561332679594826596044547255909780596964323075998508955098631968041045400751499748322700872973322454200850902009129323692237241881489540762763981527461097376985958975551014152463354039586700368492140225855113890744246245135029026596930700069794282576764765648507890172169443865601895791052324041743070358643164863950504217852966320330955349418058254875775247063172793901473240872287508719653430219163593529893994276834998798012622650337186059239580554934032562517527557884535866410788442645772312672008439852930335713234520760767150953350774690843154085630680458301737026829304015448515466563766227597606585900301005542371726116597550969049805249640580567989967313977248164777982258821242302296329010861840025602754002175689254211313819567263759603113549583418108342381990088366210069677654960108620209333969252404498500252725498959013717181469043269472843930672958225617113723156688023418648864911887352956879379807849379586863678350732794060941899821220107585611567653907269897274089453924461000732340952191025533622881664954804241631986683335156144015526630773504665061131207712579267259526910594310336585543333647427687142917064725938583621821416247307034547430447825862751776533858012823361374151211826464035639051614945875859970270418684636298589360964627679255999288593549635687660079091331307211664776245531522391014015466459796271416136131529345763919509080482513072323276141760759371887930068472427805645005479892469720647290990645252620653655345250431300744816761708640498185016980521964093604820294366370602181472425322854110438504930192795785877365761176062846911683217271472411013088771407199285600186442077933838866697699823667098042215770722538013630005242015474296643595331389914232398776417196836197520473260593458099804923342292599491851717472456818464523551451788315669284897829299849483519410288760165256289673456591887854916181257230951836703428663951233647749236538358524921975130664317738418992441584647238480192797507179117056602092591954415563865350420784168471255426578017046700951781116189057258000078259867944723484083179025921365062906482098121620714815044769982193010180579301050892962821278782266979480939895759789289043075452528573117178636235046943077718916958288741034248682217950259042881657760454199418668333902938855068921378776434263923087224077972256767069211708741028356230507484736423644010374881342435271074013780799876185094607617310680684549416556330124977148860964556573695181705977416458948460357854533452761536244913624972348991473349396954130658641377303106817520848281037756679986776596664553317737008683428738817179182298524208468973748605047742207349300118785817682573616951031491828093768829233600281128916323725679493356592505822415915177135588606270751339728941431572029359234024911390498069901751919027233945255478478380861578698135717297672115110740209471982211167737642159228809236462750521842731571442405782936297949746853902341183929407744591388307038704660203692374478815409067602878531850226580179276078812831593421474906398328503160805081976138902459534040433237329698197479700859492567569557293550323286021329119728791319887451935303925081964794810424826438245513129324159939930379839245865612495841300891223189310002457558672890100354063795950626917996378980536971373719914552362803304627033795642408247852004955724569889980428014089400331318727223002903298822368446172930087028098824932166461148981067665750973266147628656959104565619033706878397656188417811511911032377380256707243461182836809313506671267025207985415315087685666106986967549895901339629468829492410782611493263513894748831384738222540454955453574524668257314632620054117199486963032762406072514946L,
29368389783394006792449824286787521508879681906173916647673372031011782713589321076339923960330132033437273151755071119392292785152610473709001318033994556047900682729661064741362189352594962912834899594123539227956810364529575006444455164001811468700263646127978662197140556861937361501928925376091224526141073009635007476963991113907198253852602070510922315407149466870562789514242490221780480198906230072220102461409205590497812359468177608944110447964724424260144265779716446600602476328203086789541323763727012947815823204948863053271579642060078687558177164267551604240352730714940593319951593820029919693690818331090080851384408238205109232685239981601084284267113634191957015427864646930230175238004720411767762301720047468500205662301121702273042448891538984499049642015987907216766031193090515743607936601492869612606048213113792358690273369894408810403219871039467472868191638439935324714777097669461939546235348333933134603232297627277978128988232529938432175263679299740147830053217640490861377047784042922416758513604349753212916562479084882988729296787529785088050589459469410826411681662547404994348227322896791552995122829570750535755047172926860106543017492606082030991117055045656739623223313496461345348729466472523665783060223226993201409730646780905566385218872078175463923158902233089619595712312440140080428051162723115042647426980181230991843585867654123150785160242615252447483189850854442966680063166751379855258060801236105617170298077810121334204980007507613709617810677166303169503701513469387509056683242275542314309273780142483503124936472592715430342650973649942637055046820595879543710566249650124105654757014922328208636135774121826316617598389412764823727052680798406673074195398973076448701609714278550406703701426090611279615193887435415185647500535993421114824043424944301646334121961809105281139198280498183236058050761301174120279813014020585388545526250951389913839468187530542321412354695501021040283482353058627684585468158599949108939884409839558903860055549263034938895321654318039969940268488083925066723620118784646871455471771856001463189990699849714595558701703657781936978480344391216652632410734729477934511087605820287895029236701643415014910280534378440508214692688931092771541586609235904870999530472925187214346808775343484960489183031832653217890392140767648284907456323287448030234878149908320582774304552701729985398952962915392378870268776094935616983538866899576339411306125653478876918094844007010164326100455412782016489992514458496569092694851953641970621557694629004590891246985492957429659918970978973055869912646131872781044525238491517812014557285982927258837843515627965578856161561389189589494476873814727942827521002272754265459003811351384610095785587647205311325018694903844554745802108401639776575527015350144392900918272923766634903786686748313455566976730540661623478476396393040227944928963608592704029979313546814446011086047945244695163547673904600849588297166059075989776003854485300481008703084262614473620202101042669072891689077316488827105607391433117537532334575755637814280994385396450033397183805990511373157114943789606520766353795667482384596475518084950179260577409160173795759519526144451496691810710019630485196672436112922772488905854355760587139671383605991647907175126235557899545599987629722741223067381987274022387660430570115339670814846788453800769055246432385084756624909766616623377940525981557210359738694710444306421308429291734418995595561227432280304344680399968137844268306572410819423426795287509667820689345269424894569269636664301185557292630188796218480181297854237060730080816383925003513379325037721299770660780856764236206271799410759281733186834664226676802389649618738382415630233565942772808365014873406204273731706675268567133080113508918372307525454535913154114598504542236296482259206879111805683544224856465701190374723052592128545633420644355510118035352914014863179243573102695163975347455790758589679356645518514985476554001608027170876403822273776330225213631875581252154876493183025404336717453022625802725556857198570964623342863273126358437146262191700895962370858889636221949826535966429372087993873062806275614011407741984680122055746033155626852468159832046159811933740506160434878966138968776592177139591809889555378005168577350829432006034982925244177631037285276940562522391935433797622051006100761787088529499556336757935961677953316299153989839565643769097266695935351141088634026420527040026542141869380428170542496992425855212683530422676740969482895713228655153867931526649221041884722104565236917360953834183421044116876806770806740751191294314946658321197432125987542573976271674509063642307423038504040857135000755752269931514074906271159101682989102785048139219528898753412550288672341592240705321188064096793463304631245211945461801690513643600442829465271953439774457970400749548540411450568336431688697206953743226056403751250411154285546568481009431426214690115738790437228409849802906669749510672451198224217714021385101444992798267853316814454548581433613966965953382073961726002069574127623274486126550584133834564558496814459448580152266951839473318903571298700525104540248838941805108926419638330588783008001192205315110484174025602602194517558452435688138231420174625126668803236691834102168305158235690253062724463567963314686512716071402824850534778445591070477647182322489454850267668017976958781227302435858438287268950776282112974761530743562346026399324270678117391442210900064779271461788559234932079098159979346828261037540318640595028796105774836269739126806785941800292922951337878601985123354048402960825997250623448553419866276514412116307741534588276528926875405670212531632130351442373155785097396751589465358771559515555219472113816480977941612193717543349441469254949283670051312146970743720824369608627057366334089109011276607574382212596545700029520134571447892820668160819505791445921345057606343071749589061277518315827330348636343380018370310816544965382594056333272376685318104494235665223293687229194147458265752389157997217573592269240354946719198501747573791224020597741519554490874806091708623579387128198944203972393104948485314475236602343623751679286131019251138460886924389204783334836684635327890344223676831094813342395189463044168218754689862353644073398888025727530298540083470440362716983990960593021979305434505707250382929672818898488284744857262328598712602598445808300656064669983092935554309796857L,
47758672835745760306956434583850357113277559863247272708512169565321566522645358090877541084064417169022409576866662639141747013001960873957308488602769921469798436433855184344495091950686620019452663080128226680598404378810503473313598113499387884253662657118292049249715328188989455459141428996032108922447885984087703363078258664917159864735555600396106412692627724812752325779339940090801976440179383498772919758918412162144107609036255840331099433966590982221525995294777192811954254618353994841630666992307336503811360479743356960500878907324095951443297840547142604060947434128098994450486635401274282742096665982860236951942227111101317948134007489958231611722733472973673524505663610966272325297945957806838507864033645335399289228077186433175376196366305894979169793064102881448141941036452352574681814125085489856136792780118716415112974559385128421656258583468022322199285781301130282006777579457578461429165140755356781791649569091698744650915643369095151840532948821907156036032158487460824305050185156875631589611853232467073857530392573414207199450820191639122166866379824981126194148976747363413945566442884120552552907105768308296237061749913694587442316167712149038049449178587645739439601420718922402746309567430268631009785024837618863707326234553700262005010953832523610802013428499767872412817677510794286919205461076618561926674943092095962615861625777375933021511516370534006739475658344866802981736904187062546701305405998871580813171037200089911583682231816117345996941590189028213856423144659493703729437454530471651081002106187315085495158235952837580204783550802176526409554030447591614233333313118914052288785722233808461531584755176551521569460023865360728572127698817146992791331830157779542338769434900951085604533174117213397713287402851309374853130655233062202397256539538007201259318335348130624827850094339540359311455050672018231560383776768011099851985014387587168247013266373296765465814019491877059705706867075448491326110763168235922536512457832080099178965324152209288241902637437313423038144125908343069854866820172693893146025213883984111808715043410947131679139159621884944705212793888276338766110533264827325922666431839329910511610190444438726876522165533602097878158699650507118429652226194662641388489618087110029185263692509935595995713795357731951961522188725939530929497906564362988975232619145108981614129493198597289105504274993821349649302445815678749392138350842071192915368756109062603560084263837442728142028941716227857556234084006740707018541390761161230306251660713627906160490645389192929579771818181440153612702256698327004922033684565530416104438207382523522913426787632324602485619547708298708566496548439107365239274666506243529238961698561756795703110569051811664912456842935400962747090543361725109707860710407123481891592608370690474967616931383197677592970373521917120985596435557909206353953080215031002849260508154226353821472435856938016206791588533307936109707532176736692539825018378654444676308574168083908213054665664710649235864474247451499216494346291065182650217405719469392074475262528340808290606984837269504508912007509141741600578465311079123389359069757105244802245185232637240777233458291262386391024748492057867715873072024418258376383842831651204952883389125186864124015233903165575221112745967694430323091673768459608683500047454273907067273375502305081198957152965357919402821266717649850690319238303169176011684756720678104071437050924589125222066403407334931524631118688845148281894336043282696015430169456420736478725689615954637163763919289562537067862335538872058162789203351000839562958368177913133720312603260411885530135662905977604021457046152333477080582504730203614288073732431226452494634221144083083207159316240424712699444859889147652633730279337028614726283446369495265401101846496390946860880080332559734583000804242833845856403630474455141010272779320250061153620627115997305774235437233028175182180968965247687072559946049692168962112954435212981364907230714493396126852426011266506034176424102555233081042197634737722510896101240894369139257573735398284832169654554601666328879672212046888655453476537241395189288002384310206746191083959505832483392606100363861260780425871742674745415197357757207259327636748250872678340921145471624949745012995714951446480740452013706931566578057929398144040662852057170360727796989020164994553587621236896351888606240197145394175943750468134384571028844972594243335309628761286369365285750815694290764297707405735318227404110080791194186911134153698035666770756405383548037466632772917033254969946250043595662577700523135339232329331635174848158482840410954947397283956619962631373858485970942744094914516208819275510959172037863489214897711214407634233115358349281555073089545980031685356822050848035122188167505806929367640408258773907380543989579433854421114869048773178476823534320998332880142596415416528225740359552719573286751949770470949256685081438071260077244051708853374830889702587465597333228645643161346998555111731447740600286086021653749704588577042636578393968709051552324710832026729722407551860474803137293990992643691899894230907169255807995137876843902624500668564450368958943885867314031978135220434065797145846257171092677523554406991635262086627079170875921084900356765946449106375513943168142732147787808699144643722584896648818826050187595406022961286850939557215550058773560183163801596097180321257695778299855013637848826078653657860210804540273355448688797549423414956779440219271353018260167886806304199789361868519437843248014157561006019767466838989865833996486229332734539332396333028423875479698250534684350417370343781453664487997395011961279578573071759356095298519249441721837245937850050394662714060629462527756889543076117220861979845711091851545335788897341979001784430620346208817281217687034690422899089993464451053798805943337547779667984681315478707686247594991514751007707560345411560251509834531626977593370076509333109401215169325724463812456011524384844204436963422973567067030111217931743805801965438185758779645789084782864164034418483185132264795168698372829810815527618807394073288720664132823782282406288195665311585167675531116840960560885450227098649928251924132103082878291516940791218282661360187218523370413350743188915135873193972376739197673245926661622451087948935271744047178849584541965503597439766995675699979675062368721799986048060812474281045297666485184501398837524688072612L,
77654936879694325154655360259324854849632115585557879659739708952916347629866380130501964808834328138711715666100233762761942983679758084787557150956609067695959793347693400180662292085277966578820477066467425497697680105182718672715184883332896114604685713614232325922147807467411774883459040778265014409993256587805077586590873904514784994562372560902229926342988427256805239134391118149428749502249997317651286203563034164066295928561035930668046567802763204001407082496974737924868268284724942204907607856185929007389927493550912179586666449283279379675099703063347048232442955512302751856556797545613713135776277946068467588484263675888698531616380062835478259553697523362644932475768478020130849551832701442443579824409158263223762519876149199820788871230671865242466128365200951359016569107468638876527265009589386532791882203577430823785787878896849147391042664284392846296385478603656894511841351290714481632375601282717860199051957291833128978304819918495159571534190574975458409273265287504201017883187056636764468117591956446466684989158692436741387654741427406393195004671290709345714585749061688683712708760026354794788779482972101544705501650162718483633099678034668021430669758171735652517859023705151651861734329508313621595480998691615569505609083214052603260257469103047151418581124497498460470887186079051990747291535441855223950735441342565323393868029266870863635822801040112889982587387245677036609951382819484323443308398499205487976692460394709845867311728879330701360691079112872523689747216061615383215577597463326530777976663475591530153196963973361785408415987473364626622046570479647034425154234285436878495178807623191278509776226420974183929033548836826700347457271142620601051278033801068032153405744073322205540168560537673054764309247484122789015558176431257944304415182443405845882331934516207897394301048994464238614073672011450072415042509453296823437762666734040048313109510612813284638213441763849277686284859004303398702594190662950116788922432254254334810157481211868525707996715844889432698280163435818307354646248448743293980213701076876842611329594606091832016887687828214471717005540213923372469897229988030861517918067650173319973162742813129149315546430777541466404362235808465570706343920318966891525392869292243660156616782335625354976642756816174431366392976805482782581045729987276972413108283762672580210524214583601801148354229203180943625819760659909705362306390974507419678092302222331701312087941422616147324796392478992240510848250468834133943716731986291524137478690892811239826939046076705090366997461670389452845546147691823428583494418858997506933098400436657601681262064744914475899603921157137914524128357826589586440065502425433403683896390835860964893152703437883563351192388295302048516961380071104282871079617966995373156513662402881272524388796812587012597291048198113394827636017155894268964269992676082502637269810198015878332412266733807870085075633387909279469716291048317484309856903933028088471899055153426823509128175593417469932800896792801350979935648228302211337576161655585483967523829102461072535163256310290061686073657503834381912000547982146239853361090912564268147189554004681499331185198066989467615663842833929818291021772453000736962785229199814161816096946501437932799146364597860835098044571667190796844015096452470142550057893839544845430015855414484539258221447659769246791973242372120961730664566064434587286364438528491288087859748498777434977815534844569448855289836610724149234937313136732029358701205141670053228573731248469735719828408379694398553534867800972414742087708894351881825720885293193995976842860638991846683039348401498417419856846476615812042161565468390950153222607411286904490961050670189091262046123213089452967617992753723731498840118058221888391281249709035960810276506375124530466402957118190343695549556424705575322141706333411653216021026297381705897300859925963101340840470569296896079071183026069339050624878185341346478412388803031972667095465547674881894469329695759479941855550398799835917970815521541939352525278011640484131928611665780349769433574371523563347855480591041511245279901987376444866662934777548969798153846973558366737391476777648533768635575320974759377826969116699689259107167748676277060592631114415429146584901845289900758182872547821181321790423676585453579484345308441409279758766774120877332768885894401580788546103036956685671603170079384531162840810693370049004420795997723629654093959550980196926946683802579604961242993315729958730197406745417248224289487801127405018738597865408549878397339657656808794071214028713325360955527110254855131828237101984521437152647417233772321935665796342464591590228397774165734929614006773914950881615807247298518016820538335922688757772006487812277806207193060482309334886123608689627536314706557162160258499399386505226080599559876614657379218999280426898311143792535710263924371319505847535827174403212824824988303370508401538688848970478426577744026621908460592256121627415641064367885127484302270850177095443459192620767329256860105968683988569219639666204504603799047988563053282096152184829647149695767141811891456733101405059540160281746734829402057590186487696093740908559370921679320399112345350939712937890077222431615364911586210516561823956488675801466725500121906320460097682981355555949613702649041855380661277288469560117277403910524959576374264633547967249928319208802034485421901214630287564277289861244436815386566482980917246056997331058590507417875172809250396756770607828712401013288142994794980174575015870700173229837248673931095379959792819119823473002166314624040118475684666330960570820843004140225481188404819145288378717428151850260319403402584512996351260241208671558840290092963970134804923443119248365391622989202348960533537462763802006759978211743020467040968246612728227104938111945269235077576722145362082774931707248697052557912399314221877393451077848580971959288615948120842621011186057640622648359309505512971752565687731070334996817166549327988055604273299585267618485340401557737423972879446659136068603709992499688690570346333994935387440467756951512569309278017571105187384105392017538764585775892597531174429037275518339147917390749876115236172566614310848048278398833776028127255631492040563559062625361495303065669478549297653745128685236156475357824870394682226164710048843910896683004867991849175457093017841717630506637231212225329853194682803792256187760L,
126249780038776323153214911518830445636212904762810521703068064838327090341483945408743977546295414813547979244818707716582885087418080992069887926352243320235999087200261739153056108465171249889983027751009935453393630415543196638535901798950138914703830773605344843376549481520433478395156681115016442074696670305602952765230161718168926305236023654030056965729978950525611002399410217019862395856575014787947199364572877727688719441948027356713164400665361234261412063541314040438760988924175512978219289361157136674349806825353697624837923618857856918127874349226320552534997050404035494537536055503639580422947510095706586661316630851987335093379425304494612607577962292871659219946237810033229262823185309496836324782432937773667519529527230282541402501178599381350817708039300778371899003490488217362737563137565047638979847916020692209416254453306782181950105608330718345617397235567444049254450752336230549159284580486281341754068540598839587849205994821075687124692411522330010835570575105093089652683053393274690959124850429816146526516889316863181981179425750565871504840269421986209127962048562514414333440045030044877756548622313516906441949737566952017891455619208178148673338503250842006683323163945677852031588509000930483096433728333264270424542550030787833881909777597798430252124876476122664185265611302439168394993113905852813403059606657854675177080328984884613412050575498042880575446237469846330604871132242041412213295427530760643517409029288013820445911288866612899218363791455086934334538624214159451615695809243337490209162547376774955747265915048618513294123081044319480712070874021848058507715048613973220569463935086467669569352731498060657796734621229150080970185990687283494686035840993032690227015042262432583458382681060831749924760699117053356579417918810042329933089417218596269353584753721053783374533879881572810837355369772771678789882656645098872769857733743068104519482575897470974891231207838875820885703777691734754917371167074448208871467903969799657316581300428761770940460555463879245181926741225456578739406711893349091093417299278931892018167575664827149329743745965872093396525334363688235853093243839528918986948290476491122463953731842067769424579075489467665962953276194033257981619915299167346203483243610877577018178491963784428144887099780578869031225019074786738389681766975015774305278931765943806376985246033115238815676820290741753460069600053075721655011266275063705618247885111211856584458017801275813689792274711784561641470321030515663081656704100766373417271529749817338521248528023595389751446569938066009401042755613546533805717319551526170997232034130073621693499673362691316490228643123273063033400608166268561460484718173045293353339887859770129649182246810021240624136338908278364856621950656222503055443587809190433828809158752690504276129846079649875192920193761282577485105970598358916053328412790224342125231747629309841722180550657001092303610018353852489150801943800180099939857656174451736896401001486009108486966387971008486861339889071276185687931657648760522346344674609250782142592361406917019181141998865403969015861404660454585109891275105627259384444097644583828974532695277565324246645656915908485150568898302522423138210959232404532307901777338384567103203730218977251898403837036469616808870759377019868192809700332726477679780715330271105556387769459172939902965970124502534907392144799895762621038740317252497406082305438102352743007898384671241300803125656592978371173452066615846918288102280873155818636055282736687234354695181066943826327352692625275883533102407112029166793630004794566125632035812639426448750331728797958427506266050653253548895764970137008879463357385202654542643377333103304429967403118783544041303378920353976852915182165642634196970485610421996381155964538670160960666735769779360881051354519085926512055478731587361313402741904648618012319034303742238226145582645026243505329155214715531498346930812495763989081144359905310744733307848935510978194654002671161394275175162883452500845205713843186236740396829644583521746111390875941680984062016501743966307723103281871984688725469191823128411469027830434872308624785339647165633361996946173275546976933131583909734100125370998583476095373453873446766276064223921559908579429862037293501838078171582028738034898916141922289671988486464238926705711908652438601647778452685090139007021191426948580014498737101834709052387752664219403314981901374331270764773311239712868931614502742414528653479212251699091770025721358502614238084199015100959417803315734613556812573004215924000461151244390606967689860910256126129928030685187261368007908392829988497753083887624501308882042107645984951918101803834112653791302129084213015293567555967173757679519250602178678583325484155234196387827760436092997639534651794519466348064264729066133951980624384643893598764911199910681973732676733486715023361952775949108977766237570513069220526056033744788987301985213133796905804067138375294386036208613780825734153615605584489531273135876714787152951871557816831940459749570600866641077141999116963902839019255651457982874292991067752547023910357382511797310951819113255422242996811160323318310521919725194226809455229031967032289079226120734486743621314728134081827180488842043253184101062113814665768848710644026349327498440245500459770920722918971324737041708098150237677800283071282954490246351669263307096550004942234836245472336614417494614723528563210885974548093966338474774759073330511130399372920912093450334363585854995063992232810073518525047537504566915713576699184676320491631527165198496976726930698321450174985866159034418524248446643385402390124579300116621238590325256674782892595940272803550239625458769499129949717743743013316148290605508449816207734296147729567624039058814411146286036599433607880982615747137034096589960485587886979213080436740359723647144840866192863951899881994846414915808754131259524453561131016673963063562443020137360924549749174678626255311187696249940179719190557649268098558587436732198161098454998262596549041177766057416371506180402349439959249866626994141317067384547945732087808657978235052644570894831907971922991042441170452401740465676241019637932104515730696121613847870818202315218569465644969537264892299527043664843289692555694773593490223231496350742671554048342880338047055871576532813170147727454658238386717841654080098919883882465474666220485444735174926520112283940238196227856255L,
205228162873879640295176723193723803522216858095620038375898907571296819822441926508093057848888658940546019626355332697880735869121975653127497705971962485136518886662857480648882813193636774681228946396292545374075157349992745447452644734030960623758314335142766171258056545826012078041801036846016102369272525942056296531958339405382601093658789427161906133153305750692383035192258823408710335236846690411221920220057696583776142766050423885232784933899437463575683674348765090443276315244627764909655230726044018668887971434835289832610118909246646583847676183717316682952207508571306144082705422815775881273659272289226747348672224271340515915591167430398092489040710886412168685458010717311344782862851169878225904518706607539145744590026309608364104024565011229418035557624961219169031416428667422180613477794459545306289291066118248422492281947550132929735232294263179082130399747619683603290881521856511594274515144847438146851676562834258611183618740133699338875760911666522973806100961349844850618948360140176446104271139280246371847780565809628850610580228785749024930395489072537148943407627782372578585033162073870737645030897656922376792615120259448608503475280742299944177042290988708880391458749369755005403953845014461403263911611512962920498388971599574462664212532203848178168503941546775924125831283999995506383042040436852542966660852630129934536214358903760780829200773366523437622434994016435284448080760923081961568138359311666194897022607104606426558065972114980747117587202494904403258737620623315198555580513060942871659103089278792142435123133876548968085709227960699492321749517136325823541403435416383321583847711317889143884037544850225621422127182836538547391438069634361619071447925843765324495767893329195343983637591143728261640408674403798142060396066115494755625344589656936028513081780602865999512562572755514719507889417598626945990259090916880299785838612358959923874403787289088323247312174405680891685764894965334206730643769742720314676472696121351788197024154598001851398182082271507567953067040131404079876940478110147153840833393051286426193455825706655135115159563131317582704289233008719450765893342471369157107591410142296902717242071519999083645640030829342708083697924479736452627619594685706762592166737550307941892457303167807124558167447559106933264718871335954693333959585002574324493655595838972764917447247338118847650126751208913458615248825607064348575115277497425557291866805169544200571270713954967428904841520602342107359499071667409174685758102627625585241506499865068378007703336546195274425621104027160612438466031435983969733876034432876053295036651399851364823749994958401191892496867552781728490210709216620018915239500885616939654287563643075032555872113137209646176102513001097591864249461805952030865612785533125280715298346991093247642242637745756592881401630808562076572537966259682981955718739426858578101401632422180824790542674483734008987319489899393274234523687922795651083881933342043753603174629729670092412096972096529314974614464225970961970414773572195730878405789046786029071035782002885474457482705864017892960177903100853639891375120878387283898927857939751173877842351087023635222577599899896879472046591680097243838782192176219565459394780976763748132497733044672923604538094215808329687719628032566736063177561980268373122736990768704130616109737877728308745121009141763943292325606691347291324971489975759249382818537475215451370895282868094383935469365618473038006655741013624555226112538070902800404626900744360671283701966535626099731863876534654053392554844851692556772497324772612937196428481373055643684464478755946666056031843422297405113937007371731542373841095760178069549456302355933828996955911945076209079451454015650869551384123972933001844773446821139028499108309705126268103599299776373250480577740784998434688027488966963975345720345263988195050558435602801739775089428676852239087977333962158472418677939606558389621358377000741974919501770494184404315147889323078466106671208285285542114858699254893928249777073518063733981548261475479840297986096619457009496293196640325420095396389431153969212367696478256305453501705384799415955350998867841335693763221484991745516982439689649336274949289074456421830408183557311921444424190311615835731111169736901467746430677254943394838629843676595435337550082230809246063700591074058306189863558403391715705813318205775677529081154091918532449093034404745970076851739540992663307358403437681191730909681410065675089851308723495046120316964401885181654430307606816675081136021400682508187456438556019814054858541977165209055576323835593888400578957643357545468312216111994034096490849202142173999476707312600361671197760985363356557926943938055130376938107752906326109725315908289676378975377748491014393045279768183342658012636635142541434237474794570221298414270884202939268254612617798730612125462125379543268081943798809346185542543353356367625382953818137826875286720923613676940861132408901824250791895864224556331219074584049552456128574321183322524292265501760203871350707105383386418401039835616626607163402574816671775651123606340835344230172096467579415674053241523718768838034435960240363274047737065103797347987142165408174814091357294533308643783904853083772911420988363967689676998440135942416764481585979652610368831600334923747480982507684621741399646399100297541107535545486216380528367962507389798819061634534270898397282510019369316831277810031130443307473219319789207133982313149791821708958960301875280798453933192847986216969808898387743491266538438215501844407193192953117206264297335072547404799301825614369333908111518958215855765569669473223861383977288497580623688616595035471917016768744140981288869822341818734838893289665875897271672508039766174286766625126301724732896356942277833890314548760428374762003014826326754562179003089214070937635222617537245184269723872477099543040049580980288884345168945486836812475388574774851796787186160677967682373846006049724428005040703660392654828325256209024411318815499039461733249890608168440852630314894504465259089430839093389853508337103899844475772911577904968319831403695714892368642968348729913840746641752777774819700810965935917900946478543932094159669770739461971941133079137242947067107266321725677865165012117142595237979828492456181073260294196444853813952073082039947737986633928888331922834420183948730828117239343938364970081554861479986657869441846292535L,
333570843904430169399890020405985784959384512303232826626054873880909076752295810730544708461305016554666532613154401850442965554826477420721717408997318127279686750040595264652129635095883872473190375484870510167555585829893449748163294836066417976462645588386672829984147304948970739858881083083981328714599810205479519394135697429122533573802633012165498009757144572317072838047093398979069758861936470766777757826698597235893724618190773161611078548823247788317093966386436882606414894712402517370890715453631042087910792936916754385790400091003169958646739800367178130043153277791215689315619811087126472378993969208538982087275926867736332509612187073488064246420152964519283988778944626951688326147815868019815794162113533960252854026763089729251520909086025850477263618863001145723909987724010708425877236967739124784128666064295757301519198626122666605266480863743884145690595398538803503597893934709766487037684678781459044860239470773591628445773306363082171469782265203753007272569283162684549199464441598671520679716373484468489570217887177844075916650966767837546137171419770394046743370838211411324726089956198093691008201721815123217961035589674989716960367173152135120097891011513658657033858103051274040791336644677448451800939192234727231401870763315008975594736821355066998696197126641051288914873271937648382495962590061351902636532858490145385870763583948551562144811101375447167541400409864087812503196778110323201150730444456754176316805535479839131525994221500029191750363961877220987415664698924455380808790956722806168143558576465175256574528944437220889864243968708202231417244519498397320645274359533226854568477942041210799275220755424420134457379347452833168560057573038714235964703235435839143792372956135118432260747365586055659477182606020742893908603816330931981957679797565482540412645232282632357603465880473970689926862447431828466027851362761958238206947975484128986980129929290350642686456533371270425207412327761582505359154073418594077068613238144504382157637297233623532833065162441579500732419683349283915631091660654017647407799340126614803510352997111242241506651521513642490389264957481182942218200521372129061780449571373858847197228929359874701579313220821666030702635737898786015947469223785858470377792108422994543240650670495946586078810828868116049819245698326644264346565231896031627592759553016893288033552649624479556791926685207574053410449954792502958568716718566953817899204056464305133220734624164711607269509642079400081038516170384782480333318687894892296400707932367784785372755872627801554305363808734510096424757895458846318583554938711328223974470220925365521482383954098925271279308142654057812596381320306780038501111293744184303414698727241581393691851034329874123187806408570596149901630865476798961087365632714232459872568908267465854006831766745882016627815729936711963972075548640262758521300792562223246511743191885164564844759542468042450580647610840032387913918783113605448539247122731616646534930358601434083223239538450066828761048932607572129674761617083376961197488274736710630308487780309975874287848466475980964671643144173184859181886263832290685201417218829034311504739084196860949338500590772607996918518851738294782876548854985322122823914522856983053429218107781652531191437787084375974562144070685904055981514708108813475392716871451840132341060224919847305496099003748086206127346282631951819272508492392963041145885432284363440890720080252704907486195260804033924468676022010674961157614689395089333322242163386900325293108197530137715093566537921506151076586302658207041344656186345818297503923189124717310058308945000566933874966767582945842975272863565310774807662942297683047063128901159918155954225344849369930764435679316305327663740334752386728066205407436439865672482961206518932799712174184337416159591057340756550536056705038087698206368615962396805959101465225289582583031472337129448583253701143981508693640770698894223270360373386703453676682092784066615259530499713440839277325975539239987840754657575634955271932395008428721131007861270954977856405832573882144466654554404428466396326032148672775517302240953589929917415575866655702849588313634809289503665775244270734143926538608166375387201994448041186663417899756116526525156196322727079586531709581943922296563514472206678138722957771263342470809307984116401707880731188234670388936342475902559498298834086925614843389251135135761439174700032183925516557157989856423972449462172245252480628337033814442644661641904939728807779666522211036332377077160768399255079680249541355315612039343342269895705185109183786791177091879842423878378926571640727969177071011964493680857491326525527763279245602327878029253274121149969597578925681171684156437336357341750836071764092912347843851653263681919392521407453754167709694605154750842046680390710136597652002717067476588897772773786471899230354718939252603728035084868025645255127907344131012710228301429653325353708220666143821581283003216390790153447996531923398292205274370585415700417294861506643902665260232838659875617285547926036626771892619400176744115661078937003436809719221305177062680216947229764724252486155129368294391180648573260087598803049292457947979649136893776749176485272504073333137098922532992388071904392616229530734061806706235296229829324953419320959789473805531156869192532596110895123679470702744590864556695687965289338618185808790865028975393252620269486373138901531708875316907083998475180896398671331752454780335575326314504974592830429039367389546436393175986668237773262827954435921241516506030064186311970810282230874859028170672738048106623451919942095735440638357040420027692200405523449628796427589068312443331981306400920024818508260233689564696723696676177550500808238003293350278292437713794157820354988255455619228272662791077957312365954517970396564954309377670700882846465113685913636616083841776524524169209898056022809414456172780078849786343725418634022693134847764388348182784236953350630218186141277328722877951122959909301308323853242320837214937135261791694269267096055334677038015628215571253727778310026384347505699234245621386843738046914135140267103537787744487820514555605230864570629502465976450989705016407486050487486011527553638178761204398500305428821553039982787848229155340959245792621236094468450224481701673474762016082992969609515264935235134416038862400454508693859291711863213148265400418134476945121419022754767050408548L,
542105781580310870414454121233439759643550939797129651453682966076781249801557997276315527126051897915471419490320816696670815378020612914307284590316672919446734430593428941657698094778924400416996248946434026466121410883847301231298541005260067030640839335741137253197370699307154852043593256437541070823016861299825073724544059848807986084924770656673325027553719180706238099171422849607686515073856840400473858987202676565637986504691396008033561992821121913318008587939764531571407202759914738861245875246013807086129530559365386614806532002510644431722724718651551345316152424960126217168266865373245934204089209154156006901520299982701355995817518513650607122884357211059457237279795444140667742881443571690691019876169121559958397452733052956216641965238679513253953462925466615438110837947364812670591295840492237741263249020879823651787753008037071484352105547764322549099764340365575937489089671162357390334925598473084856384049377296886459219857462032085401207479962152692740835455382558932370125326702263290915447878380585488781521572760207237943490785541305387998080758841723735833779989037527285408047831651671925058060989314315867290235816955855786476296210862864922976757296939544192909450801958841344207795720949290992156863485767513289685246460590484271913098237795199842167143877353421594666326956445351438963941557644703516366174376974823258329817875447777309644743268613853328965958614058449073454068950545152628646429855436597125123927757026068641008642212559513054298092299254079768597912786357004946573110001432093692746540039652616691172388252504341225812558880480471278911669352205550355018530435706115106507946869280289156523421265405797198810415411349572045678326572514870199020153907274382013985741228069742353357564456885365400619289995565371788739970171676102552186785149235535930288934882670173855395455683567186338955047481440983383124120949127374344901136942745169333169963296601204774465224728998612626700919838942869056559025855265405856659018861552671509413718350789736752213681344072351797750680239725120857349358791755010698836209209174653280681275347467261158821162544364273114994681096345234028358317961381221604184972428363418348532552780881472038453539393456458372308032088871148917755563770955220216201163028090658684068914655210254589582575423057466228202395890863731791566300310077098907493821966269136967464723829211505471774927047821679015120215599102987539689833675448595557183916906970049829829907731901496786900264671452631588466908747222888512141948434812881002040212949968217407210745183544348588913011895839922155028423702898872030846718593351204098185149610143939324315665875567325985417949842678330569947598385188274200612832417126075084666076409587731723383391416632568054740242798820924476930866254846660692983383658681435181145089604847975785078957709914235673609826771648914886309273680256454121480444302455462626216698622685664326976282172823990981646488279663199337283652419534933783930358758653027706562636532840707792963909221248824338736136749357111389314850205794862120253909939652434272588038848168358876445685324052023980575455280141876035680852405342793004491446301202855919653331350064891259928820028147599355642710177192547218129088412833282708674128972839906803308981781007316604919088658288673973113770019919085693907265597345393028895876074305543727539046485543317773176293382454883400359486127878144303088286558923950851338845633498701138589817538007243658562360558953950894271046504478444995271736821661331083973296842190896786710118597013557474684073956713356597312682987375362846393229671154049732261630581753840084726597396886953840959410851229415797502038163931684853371671587448227840792908237045539872344979902481655790911312440792952057702727347391908099805860880608075747908220398152734771578309934709777138763393559782592254085063759172918428437269405123968276955805264717670194622117920176496597324555743625943776604985462717546396619801049075095267480276057655496757206608257746742217705129439247984187772405847888585481843257392492511065477630671110508087308893388133506934344725327642118450872131243250029447520220972704582556397333724778261771888618744451920068692123864306212260667865236508667897566178962839078272323488250752132389011513706154777340233237213726929789952278987001560388613566202978117395522356836557569832273759713651906377894787604537253721926930059170286885378844483148475082138853645365846375164406045211896212996981475470495686244781005296132708051289377468034497286486029596146300657761720834452761849151373429458296909709779084904414762022186188149113857786219495599744226256391586067615783686717638906148380728899724945982941051755342164780882615853553366574282950135959507797352342855951587304661902604056902939006388007494434828080524825574588690675268084975896363632693188370502596426989727436163393045429687117241107312768229958505322554038087193650040557385043727607085008409140901241603512190316421550858256785591683369944088954956906516649766474084642222043984393140242038324587018243781597691807458154492399280160371204210732183145359518450253480997410915081371841337511908985028009368511228807974220682324405262409518541127285691853932552357264042753894914481615539924905418599851122992068289848851731723825124778388872902275989398047579299208112078419313739276955457295288598417011418389396262354250699598600081390914973355162354134874818983275620930590560999836456220829939405180770416598334239946096818186075430168618135167882903705721200160755584339013145148781100049666902864485754298572955246892890774967967038436710355738295637842634615198617853571998792842308443707904395063732338198610212255663558982342131948911378716669193471760954291560712727487727301610702499910932939417387175480641179645020217674091936316955708370128206655954371116307141983531594889726884783902716311189582376800028198148559796546016804867007720267779785737469821227646193568458071734612536640813470031796904425994613268441592354336223662312620981907997531724548950166824839683357008534761078829674985938273465943804237383340735596369864176796858703015660820186146781287061943356734341682812256368881488474189097852420840578919252510832338106839788566122068343928828677911606097184836729339976725002148871197366676950262956529697442683250935282025635339637383552122899654224722678527972221947942855751851857956419307927294852236376072755745203985587848594708035208780074988079041908L,
880896438549686849039593381224033205027956327890354475878003036997090482372037639447461465426727152411679669587401894750934669577341835285625061356887140867842504913501310736486946122435902630034431849983626664785830482742702356472891795235303625578491927711095245124810130517943926361525679142144534871847874895487131287059577238525853484239747644191690936747767102807808480423656883274898128137647969666764223767116923392097515530615664306454612103593620031746255480518849110710364663513510446681711570462649984041326022861701568182145520297937246905303801257185743784712296064909823096852387620030997692305981255343420951879212180986820830910210230712909325851608041809792607565480617882854334055055378918449934297795515882987485892262888055845754933337775766015458860710921553625387672954986790956230399617753941673358920447282502357981240252896922418048546778690666886538181736176956435265127582493788994596118595792863649893671630238407006860543372292636150093827246263624892716990297238439117098857563289181223802997352194540994175950866924905649721158210583326785744333058326534971850666910002646775812512831105016913226994770277065523894462892392282010365023734275939870184134082841566080251373598757162445868933068283106607134893261086561771496275704080515940414385854933836095146974187269571098428786272842675796605798470417840326713526983746204534588253325532204202679381289388576033890853201645493940014764226289076118526698018305767680047477302210800284030403026659080068019848761689026445732319320523398573487874588398605193759097909924777739837241811172645895388061700584887434284928653596264111502099488105002757182134999523915113483021746123277746632776764654421405116519329024241822040263427319417864220122779602413870801694334873972773764545180481243105169215250089976174605581430285004259354435126744905294199447484878527855706412848196644338799237047268406103499125998691018355474964989896485946958834179955399456162059681566097690650041601381671168754364208268813740936789775253854328532448787386797333528690100709796604178965165207839686771082752797932736653409066192617187849108198920522036143093543014298560479822294875270458035572806058745063626739581212460105620742401528407061117048004069191170534692879726290177768325985395794037096744344139642175456678052289618816864111374187856082926313630754948635616899968104655571272704239947264631197966456169558043095777835602232360307788065784969616206808397987223641236731545269439953396360312147246516058833007210003033172762785876800019047017925576104687542852942619775619018167539684364797451617708183064020253063492176441604229392253850374636930249024151327804553190721074183938380033381941301515196151468463262264245397493914000132539346719372403105932398208879256206919239677467782657245817761872845481656091252815891626156926035279937117635871057114855952529149076569584968773973759100717912538111464657384199279816919458904913902632958443558563750213610246009696363590344125429245764845929283661866361149486317320503500284944422996336788854261870970194088133007379308345098428885607568431502213395751320666107829862457166342386454483466526236561315730870809626617887626819641661731064959732203458974620063807840635321885137405359912131213744328690095295036246414428462243962572982464230993409118217142547085583027490814171231743572987904855786765711560457812789773038091085031094115070574166584915322856245314848173199819326181432689919455800661664022614207465609441944578096650019386398966085724983109313043320827466129633007800844431174050848375606652141504773528995938966031798101839300831364964468900436354259579567929442137207214651023281086793347937237042843471142643091527224385631721281561636139571543339340906461536188274982303108648732206844213334348615506013074135888302421725258046200188222063424087879777621237197998018753788185163639747389606436324951189038909542227714569220325044157135817144676121722902853273794744176984929121468397605047891671644988170092586033920882164740778213059136158475274048840761009045791833213940998330714429890738741163234164853199130985639175565864288302127955234683525991357941811316478158677148119675654506332769913656589567746588232341328909474297763704867073869697319966565128384028923246806636099071964778388693372881395573254892150519327654023861097865509721216202440024249235277199117674785565656781365180449751834034886893718231565380595899642731820653997465164647046665181026803097006382124979380343428522445389581862820392292843038808785340080373741216018102600774594213782847322379181484807462200279205445881714269887444275425014303143420943105235954922698552022118603196852583757249060298520173463010898810427013441968085767517991903467219025130764555894375057751035286072897421544794370606465825215127847982277049980556935061008549383891851339145801974598454655290975207927499252586414581919102099439283757975860312046484949585291830215003592928676821220337773750778332414310775781633033709291735748927426244098324115605642370617471090379045546719632536160412071131383621513665545438027758308495453863389608152248566919916927490713100345129440995506728842094109536006942452220333409062967987801572162492050949895848045884463852528113541891025491038936409179523301424579408147659061665442843943742085443690402317211499109952026591390226241357730983960999926684434877562716995243940820893898369530968097444617956384212533549605444340373684782085999266543857304523166111484682607277727238074617905843157697883404184998267629685774398273851496445639413344316388521392572465619778363393914414030383152110781293892546350600823286130010662450951297421432115039866579184560636140715386058487076657985509319114933769362092036210975246992135927164769588706808175217898222701988883769411045300265166960574680104564172775031039857485123882558463396674315455125152669108497240173497535270558282311854240025400181424844109182817924841111408878230017727204072035830997430364403149624737292586681408211179025617407178199656840316478952771528470874987205195164760773761785143165440189155862295533568790237389216397362701258640139201989238244909464556307594620764606211081335522939883307523026298641594793134726222580644299812391852353967245883051846750023586737914482466778525477862824472412149037746096968640790419493524596041630438217734766490277439986932821565819413790548595582097307888152723268029625062701733203675760412433500537534176669405056004144565187804112L,
1431233718690235821188432807853240422563942330029505383076397550071341782450717020480605355108206835677975270046373678848659728381924880123653087515738725901643311277319136149714336385814660044126698590374029888941883781558549005473188841703958266248495589232036981337861652209372419073231434209713383052197564395155328805174821999643837571921081482906744661681181730551628152584726996357285235938686029137009354643950089590470235159558807111056777488925039358976005608510737765624335706824179463102585212652816481631222638296628303859166803610105702731808377992258622360695495005101901469026818996792620678773293334266319940954917309950778155017959016475964085123290236001557690725170301990943001955096508894655063351960664936343794842447546250941183736928873423148838991113632714780526671455032626806977673773081134024536640573444677994453409186741006335146759399854271989104364118189713378859985397044692057912434625161030036603085405678562632659420026535983947298313751381560065693764568102080227280727041479347804608655920912517827764889832923062414083117829277455649978104472124699277117591946194589742991682165127179425905396847063013681760159529276767374179626127352705807425759689613430442922639465104376232262153397003392734838020608302350397994112971265508523700633481318160014999462277535756458872121375012267884264343399129753493643175260012650936367770475021635405235385986269423836652562838833369459810430746045514001486842496778606615834247512366056419426677684169047553002124104565571519315935507453692149440505805797511938438082043995494896749797788095746449261538958168305509486962322796971653532286512686450106585839271137349907403463159898454066061109426893547703267987876141785420978787197177544936680725123196670728101267775223195033378283598362676773705127895206875670947295081117967462389586114042829077271714214259252002754068810473839670138170372744728889446706516371298949768081803738473187827589723515729020676734139368529417963294421704278598480056472785868141227784039073760071426187183453601213630239658946251386243631552024235467252628770220399956231066287986294659413877120573842350492726719212189929610200395940298974633656542853336594593420706398293591527008260490689203824981000365330410043297474094385094259003282202767808317257052319750533208911684400519120944280972608133880959971653768931877788095006741413377357887777314871193544416786071052375234637919653189935507736348601321690855916137495736353362692919395010723235673568594663646653271574635270000209319746492256018704577128660629166292204574587371373451378431556101234242552273182854299315433911001751190440792466564682838194952677234411969983464264103732025134811057180536389964887923536619908808952746123052925879633655997011319990256575241933454466959606391005417382700839950855286861557972724406259530577528134710499312807317541786085401534563840528374729669999087871940302320361665925200713885272641708251026416892290317362050750880496091570945762288805762058679931165016302052553163911019713048907101869086623401855296653692807641886537689052662181291270763011449213330359899293485171144346100921591565322948362089353695026766793435980449436940112592503109323599725669500399361853173356041669378352789887331818342547270047243812086610213908666059576876949851358703739562243747545764451256971616715870140417257278719640279232341859614367238244076713995700301439782438395523415835569269460537859048817958900935959595162737898562531942624945104404454975916527989733037514065262369407132992793748509004407513801970637315589923266639973486565676499693683730776705838335391987022166615785978543943784932660863240782687699927269787559827480593080803706641786833439784565890582229818252771272360440109442449143472579228312704292550160296294587275184385550007370245447702880098875769799168983659515581002398049991482123280039534556016476860738729960490706060609661596239897312919315575161683785207725762802830896275584989572848666531957711636686057844542722269187462147672975339509498390086273176717964391455247405575370886778653064063351469508024421754466059877773984794192168151997318612122881660241938199109151186413625008432475784013195179821415506493753475201881549431363809860790882654573764459814959074379820712090514737673963158117373825817328778677580876314481830374805620866539043486874679520958979256669679877353174414329957288183528127167246854249480444260504953566808433391626036469552308548202303360559325434853109412864431981404132446964719278401356550380459687686254040139407680970836185170986264725113759905890402118659001974769380163681604077230987035964505239583144313120320487237609305964093735214773337286734836810390441047840628626353912815779236821544408723136529946393959554113758740499531282626468286110607868432552628727387237289506298989256619548698115141865204209423359027281933043022226488601216839140971466878812535935380871810003654576169926325449713084852971180488577520735668776299072081620339177319373160623831381887172997838567980516952481116854528621018661847509772583564678877282180861377357559321143186133635287474390137984859271992301537064071638967072584986981144966830954614476132465892966440079783881726559693949001065560227175248020814200514095129096018900445528646376624948987612408699712274098714905240711680923915822262533775373920834339676331743967764221923106056035320079790054632750441190987850814049208051937037173051395956517456320288254755966258411001959838945756163165209651033713021524419517347392218484887550458892632428588836761644278013627221519304060556183148448450594317095696454037759388409509266694079000410275398464756198322251430343659533792383534349739818632778936293557528859023222205061159426569427222224431021627171664094338929683767860677429405131612527987987076160689222901950814412107756852605871718101328623229265518199696353743530282194518859516652876806341774851437683602017752526911423946688517013453367405465644344665860777776335234901175284699763487095619229008925999723343808510113336439700911174494763015047953653288934980899932814218390436042094382124613244260384434773222687250639962035338078227388822564008977138816232944906184122406036569732154868432691403204934689796607764924459953452163351581538371448476218137081599154778561442704033774111580477422217610256755836424550268321342458188509322590048667927812255454502383628065821615854163218705515258763585476103352613699754106611011792272839318829623195600746018L,
2325097584250290490336552622683504332269794529578295057361351137818478323505170086734050544808543107388021512619391769511092758511746901036132814094065016476620021088679771911968566573095865146469275112821001530210937553921506331315999517245787385172387136921528677636486059462439690940164804736829146394186425939580213067181913764847947965666479060041413601998930433865955323580567560578852665260468099683623097351019977468298513556505406449981246505736353133269017453713026660830457294925918747009300643541327970890700683750505249139671874855981605925300426366365628756320581513569883430534682422058182198512702303921162047560330858093852314212251476438787853040827269580157205688258631774323952129443621975334078753704295755288883179796159991343556130869007434647273284690868340762542150688809449337978725257431675174368546400334335558677466421765524072707582927457853207547135005016274877716372845316233481340558251533439886122671324695490526094789528862363873118870363401803710980703748387233904480102423650558904215362501247962585040988848651378835882223189451905182882257270470116895244528837437653985999953436435318792839619117980632699402710307091706328867917223328152391514385763383962505288686615563457259162871799182030746301753637463643172800457692018108529075073088289926593458232311327033852667673946374066578254022086045870639987727704266197415872630848764675331927278481107623596793732536040576521452664492025382343257742626483170371455969630990185153159123934414021362425576468788558449054642659648064536458255129575420964663722654780541158557196879941120806816935514845719332184845291146847204195238239395549389687039787219637892012460330321563798746944765336490240696511276349478696155386696038634428405183231608631110946456911240839741167005132045550061817757487736603475060039807576830902451492343243596963264989555497080812272504970559727347390053159108417888918456587901786855972076347548818867618173179673727506970300115258676593152023394530168572220532101781270005944546858283284027774289408477306021359685826670860539446724020934192983548297095561303874911384531366477204032542068273270406916642450451819281078281635297597392802293594442128824112467612039555296829656474112956158316349424145855013096298791829287264836194695963844227765102450320115329180399631215559939436259146909890464273585577072093329775779488414029223448219935960368516936218917702038884272095236984050310426324830081203449255348979103574680428980000348858261743825736359367508671969449160505308981054305139443008287297359214638704472782802474829477863314646485810421944851399513983141241748805069004164206808464727629799206735176190387088098898076469356335796878130031922261878773439525763881514065173643447342904606263485835091999012265563567631546258077010139351236711825235373633928557850627772800941425949556886063314387835672960454869495942839007829379414112949430674485185315738957224477303257810736794678200724334320736941676943462289127429329048788478118092474321471641705016423997375568993274786953346912251032483013942818396275484857807207984787920703113285256367034453855116816058396583483931112743500717181931324521505960637138933556791520217673488425604502686170784866074300476046105043168041724155531078717748876185441889977783458798862085808113691104683282203277706842087926801235834449728321123961477881464889731609218088776584855264100868180010951408894516772374486625640915940860117183239318050197411451242158318435092686585511784392880158327797821574622318992862811457100103145949630250566552645761516524463043966347961783367853280263697152208931733067187963984319990359549679670223125876761051836717775121668953142721529468827082774196180012567090583944875094600461005710352394756923713360588723090333456814570794057994697431137332384433183661609766042519669196733697085906018691026898600088430600049820966417679793010369669156344398636437843666237758063378255004342077771333707596136452409689805002050757003831228479494008558354991978399513222783426486672895030578818766501285820448031925087868820498200884406178282579671002625744960914586738481259017087843368993820378011749805585723296651533576435455884834363756383398545796014012280755505564244490595257165557876143095879525486238006686333230538387434837913187120054723714171693988072832314348804401087472587122685616564491737502206917486946093857359704486504951569433155583104246033327545177704350462110616591687858320887744934676262347978121451272897791148616220406446133132476312882312655392160400189438420255276383617465663709613856363659474795431790431680091898168844095043419987686051038072511190693845061795711963664719789859711416603470206281059844493359904172370436945431113476660460685174456119744108107926079319114849290528103196207067827105030644453277655020484920702054389923298334455846373025273589325025868813711892798558904091824221212625208377554003871672091413073494673982186622546587232271318358020320691673208435581392429030006407447493002910593413874939773315613984103692025267539441057256607255081980404016037946925987844167426554887661683571267685654533951844806685361365606043604759467034797713776208842287730129415212473943276368571919680803033340559684486561142190329390809180291986825351656458115109838504322654477056106233500320283104130742441590321360374398452060180009458328269054108324341871801762388927011350672148352094065266712429991064044296387684633323558533587930699633078337565351205481422732992001111187458276522695831594213346318263164743072074061346639978437177307599913708138882071071238478241226135895584355696479661699330832157865369982300988127478127355858429322432963439674412572307408176359942814407081731423288708070274345277118520212823447124588603143193200582582566471287189930216991280985228765484162967750117365131645403009315916215597062002580180718080663766188649989274372971063618578099188859511022138426623809227577399171206886163806573016713334321421849522112089869434392386981093338653278596723849010712305836016481834131529384045164134259137968028428733925330011841949023147763534117706781295172819273866438903633331168642995751647434951609322471050742514348421036443297451753729556999250552794807788921763831114516425871975551396151531058008850377867841586445590115766364423692853291885369720219484694602371308065293531901204946156504333101426368626918313785232786925129821110660567141386762155751021766584776563227675763769064222918008543264466093968907781L,
3776737160034815247525241711933138104633180137826471799503282735472684163931040909827777582928813455932944907133376603332050114391880063682445771412372157758210400736757919152943683673561222915404936345718420574844376598098058072432905990678317304620712788234740695649175531150345623011551040180974647245799812226566560706304072335842879971126863674436711503343719150665385233709711664701786532329794270834763734635373241490409187677505518007958031616357916347182195838319914496977533912127241378431074530101503018896820441454850846309472696440656004058758839007998474890154753822002769021155758223153060131193892714982545028601271486288721061941828235930224236611001474107370941981346705504283734095726123154637775857483052142460168283033956123075331266375044367998198411247529895300321300942670269875077296555608339395337615697212122320267142178102438501185437566758918271781528064215675797458952858243534744550505804479699865905151901176287812234407758284586349647514549765106821419894514618126112712498799660951913817336984961118873415806680994011463333124346750421406680485990623053476763501361743473566607252031697147249882226329094569868170314064941356339106379821532256106306428313981792987847081684519262365734710096836404124303718624169999864502002605511918177870722207038544993995005215431167558407540048807371212696953636733629162645224041113572554183528053064227866469388179288209308857175686491310100759081283492650687207780973698396716398954814650290879907941384697969344451391974070635402918051518057955717450734380245879136219980520648010077344148055607315243837895691062149112998499908416744357126951364872959173340882948735875276412297759616626506646506813121310977951709733771475031266614946811401973455656463403261126213432955180520813105295848676813957518492556424860133066237798733864744176795763465526718940841787449091968139643271022937127002588378194840763248903578499878561383224025276538612476335151531273106186106214105797444460740699818809391718526669899955717256357257620862522201984348395976865334460335768343142937404433170576412491633440875026610024277298095781919190402004582568030336058215105123166129284829642960682192631397118066894245443766716321767754060610596954301438494347214646300887291648039246510675417679520215965136722882884809393119304967640551600731774942357814121666263671758617075282436500233224657508353676485419082253388843084653941724170557485756662958810933360513463098924414922157788221843999097902522892540156306926697428668536618226863264646619109112302272568200508226179309602750785664372323546333726629532383624472772078561453929048936783197921146120315982046221964203086968434813382761162634046722419898706198117415316767410382605867562633033663598761210025533421688277997735075904678069087534633081634431852640911186799599733862358342230293989330815998071924671033165309114128979683598485140795871312904581760427694330730601969883149594351924370375059860880296254638247382659552440626082486479523924452003500514118870770364905805445857972739635906299101425473029888436263912971096661073812709447580361188544555815918176013915775535643390159130361195363541530319544744178846104070244019164024104303621180681726708896003253227786389343161767151608780891326016286562734408660848281756941415376489535178010017568457812884837465015395006845174062069841866315795569802434475682175826330757139841183651976286424892502384556713458338993260107439440562305456690183710629097466321444626558706662943917047483877363433626920063701140031965189789162485791765478167492533090868641984773258168178770511885009508791371878908950118154960589145936818174615265266971445286780334656714143056642567179866036816843945250798382684452729138025707871940398354957550265485621732770068506806733484632551973236177353098714558519955610705875352952980249683700289146538117392075291988386191730508614841614853792985413346260037312941159736691016993437340578950402204716450188510561302537396238768627724229237127766861433415838797193209600728805545736367888497618464600313440559963628910639455926336929275523847135476039703800601780986553205632152248990533491593975267425742447416656079805969336810940525540472242336573096261196915252906726965542142140949589319740311955301183527664915776570841068284986810240133669474269169807783034854338828034637386473678213221506427004223446180954788877420296846465150602732146568351222113004504390478499022251043420164023339525920458727361148449434579221406979293984063722079910729309754275328345180440957099976612282088232871988097723592546009380171709862571916679101190512020722533388257529216598388990823738558860527550341508554501138788866988241000967609741179215855523244041887791920551423318228219225596117643588091032337907479313691711293503784367041732850032332524247002048812899007368757940174623015164805891423045214739196652406358717116387765716834977812522729349204622213625634365286083886960446558870944351526001173184845963054286815957168403309336140599196100369669731702961375997333727040120006287028999347268426300315670952825996913266858274142434233233256633950085604059605118251534215902721649621391281656043410251229753857483150643178553534706529574023324501947095889433282961029494599018874060999666234483791400836398568718588095680488352123226990335484283234348146152529861833437848500947653836377212453994907566362685018538739855255135357348918306574624572313400489614642016096508411199900607412744034395403944816110794166031298568580827971226323015002594870682957182966703182201917852366450066130851131417925022632139193926145060097977680648947277217415514806295583284949671791906311367896351593805886546863786099282706043959230399097004864245982881028713150598004489800938993725911208778744736108512568809592876641558106925793775097941161172022747692409326000839640784544613204052691220838908121473818888482028118838852556212651103132913707150951069656716188880634871172781712771657447288853290040629552258626426925547071419486588362991923319738030438547747560574323300673155486718796005779289674364773355137151960217989468549995516295682356051229115336130534204232026466902269309553297894486524675256735011786856060611504815141942158777760941083707584728216457507949637072231871608892491030503087496263371362929841179488441944295189527627037669674909531524302273533866922944381947613983713900546862940521175165430328021143517215024453451473176024038951954278626819033197752667463433001658497547621L,
6133908863392528062459326107765807567604039382676360433409945382829804121849935142834975867388976279547137184809232529979759693384315887749909987429727646737367688082307166683747910737247153255135082246510201613993986469941432569944912692507017142340816633869282298234681478540131154524153190669752712696848512389356449382743466378299826281004831896284549087864355815617105653442259951200100705688605957723322889038107573488489958444789316893019333965992266140055357960417181241966639749451542783192366254987652055095973091998019594163077024975625978888715272187077022954363101309782133738924734401727762400680322036195955604895180869565423580178658233622450074983669860324303103748211275564759663254337543425627674362694781608389447375377487953640751677698674285397819736574713369789111901366791397617880480290847522157198444608515416500038848955742695589582174612887006616915313266748103115802629500696249153650681738411362565964224575658506611277848367554918949901458595443633186537491940900257213750244088871899357845912271153871632941779651854756168539566171060601015541396571680857466135244142859332325946049963526185056236234029035822416858355062692159293402576874820783213514308502535768031747042267757719114482185464636513465910387004346961188693190450276652128634644266878589892923629449746194001447776013119820705357058852540935091801728057271274457370380296246985740376094640350572979392905674459669759742755070233539353545188291418496902889263302181926310368266583512733715856264300339202003717151659166314237318979820694730234180454108457569887413622479890102355311848111801365444522360381789441285021324257956576682939809994245562332963527889011878233914311205589436148820122076346400903090250725403348966866175594646106095059746404785796329275949920754780278697930430281716160324455737749036565733778018467007143633461563934082544601281009208352572683179508414528757122936464006435165594498793434388948836542291285185111594336362999867065171161217461249767353926767680736937388608832071818961805860898938916015867250318473237569725646240535230455630851972620068986889363431048631694053950539024743960942336119940225238580464793069329460833807888703070498031053921561536856160244874998252923814255082156189881646784161654539124503145228395660296097693481811850687443733236032008139937972665193525800798283807730731930033525008051055050645158099843851500204083510198855257514354708584905726310796816714618204321543744727807861168221152783426489089940915757061294115332100500928067667113577800961207822860785858541361408666469587747479788932305538417428258674123235588146292917909548012944447444225281716541588999750909545013803592338757656429027084924984455666726180931476632097882447513966725339038581409853398156416923971062735663019137166958847342410862353754372570242651302278320040961939891540995526560233120866648424048784452804897222052927911353972292016377015452644843929445954335428263568761798941041955034958341560860629792232587014106665601191700630375276541135075945311159607546765818252301117244338708642721896437838188629538480509499615908913405622207976179264243121076926849732472824594187589729283382716891661132963761168694029738061895351737605998337325766199034759888900645556526485548141867087406158123909225812633276139731990706574307238371570277615627327643463224539416006692244707263990370266776518513765265314115572624374448255480498932864979288839529242589807091663499121427955564412424616320507907979054374783248278865545478342417201690365441540249721073817379334917681588813548706050055229921354189887295038206879540635869002776802350752840883662839561578658747981479571651576911706292938091661375756789494175137368975542123564596020723685263456375720733997005248218411371282120174440253670621732570884336895430694209022679742316059215277146782085392162442386726539399097498065288099910715012780723888832713544321821022117040400442698621349180904142075232758114127070282097578456119442590509256479231081195673455224332845120859758159999705820985747645865809905329156499850456585472331144007453047931648517688569452385403916876953698787318913586254754656000954287896453046472116309490548710777711152148197674322055125630814986561988005230854418488433295841869397081216884566042897779975790675586186125693889757528168928190593649439840759957977377879974969148374624592169995940320455336668769977721272381353867626564757161142285855669521860249361275561103417039399802711224729763059830345910546936549029679776610757630619606784280503524376364510730188019907262459442640262721353606420548667948327035880696846128172941805426659412094739477499789782416114307755610202585831329479112917859868216531004780989123603754325939347600830796665747545183238127956368667106088747099354505509811853204273327579853586549147054866340631658769872180080826506273468740842902465682535127958617284422382148533780845041634070553699619173217660803928359279449408971359868718284094568667310431889519807703417850881131712672734797041566685927974427906477739703858863979438712939982576891391851391528335615779199381308673655355345926464541589260963993749204003892286056416334148153739250747614811218506822858555556300840354164288577186992951650103326448883415168631054195582771541815388703976369880170880479926756183332509248597139883970139921995442855416613248293908472545499204627597925876672545081328186763320369438518038686344737528688299935371173267606449228752871642827307675069897723427001839394537114908890679300245991109624789726326765616316953700765132125378961972096757774791547949702075087297829457705702602054571755209782737780107308001772005742406950912614427901902774353165668956457485163617706869975350509813184236169356384997598128852150775732704221827650679285682554203992295959727961637997395025096941026321984901879700994976082641081133215988877631507396205613246903103675937519221883393769582564104612182409612871899332797231947305246314390936874171421778094128837129425489536104130078447094279377625477250312161994115650996952813340488117395998238750782286815300397349664943736572086175443327357729430597544276335954931816104156180241607729634581246613614425573074577661100066809877469925773628506861205807704147564624626646152730898811897431622159147060252151438149992088455684327548597467357260244218061538993191319769059773684126613232773997409650335477225672519105947263053420179268875490057205464880712863617769657207950055208068803385536844809961900L,
9960998807809060076379464313121346303754473631028158768253616473604259837218008557808273661046413248317333126999927915194367158790371692671405507794715108640123405399409643635329388921347731927283678751160631137739700234249005905119848793970214207996487252213359832441089732140795653499006059357846412561928316868592364092204411060392506198033390339630519887256250383658510438318210363358726738392335159862616472479592283735284483945821104482363627486823574744404846806559506351327592957284803800034716402366999554405080000625992012783856236116317893331849569171717993044171030926209890438201968954289020208908558228194981938090259714407865618700141807831315657093923515631745311911973450465394125032984350532308132150952894106896731670154260809888979979818816189145242976689002053844710549906112238872596396923876858425499968717002589169630072368474450315950893564452816769909365510573295878972527001948918512138713284982718053148833630471580350778383549965797529313168112975588055787080847345606278570540908887859827092449471215663140948100840354998142518468970668843959152132047548858959539110055570833436434175990190735500248025393286897011635449759029437104017919069184363882377105450400101930449264643934322165982767900600147792659734584476212109811374984253815376404497236104293319983949492707926496087778736459352212665609486495485347737799044989988914119161991665637353956129745539404329045898300565519736222783106396108866527674571716409666333728792046247115706071242252500282644960503479333429290957032243871144538345524898234287534130178485079678923450200598697442639661060238641259633125929116035624335373748917227971164027111333193016345742234951990844661295530305571933017764301600719358750784901938118308194048370996234792290441560855541599243330239276883867747981151601493917856970048215384704298170882391888461639441277163535405044659354810056501612256821867587714424205922547213986276060491757446113177109272442798155179206920045917857658770109104280543919785037328870256232224477212561454174009162015658846575334055211381516135491625194665163301614413547351513343776958471492515478691136335145029260946482359995924634962794065318211149583787848901752211346932256327407236997315070537555391052893857004124906099788564983617038525886332522871344371349417939972278151063424603670527060175614047778469109019575378921809920334889510795463913955705645008064681516496708407186630472474202734211840444898222382216916808209454179852896679858189063782391533215513099895538482972038366515012870363641824540430990715800737533996654596110746041424745360155654916331631288070918702801582396814314691659296177627116086637032105944632495420481419337276463202270464920467175811360984698050404052924308919293986259128325911150712850781095545394731521472001529360597921091650648672798149973758941244192606382111272229254763774514879066218056589149531915221623442945786028303419559663708662105947778333503117114306907392988414237386567818021876806575924356953477025232320698939385679118229700012703707038470357634282024876179224733074065502403715258142152118475272632847250974280282129132553998196883772607016418334325543119848304165285495269957907844598130299868545689488658172066357431580323792706123570954147285125739289202420365824090671262326554488241474478585224137166987455914510510438412110212092037714866856300758792181142472755223201744871420969147822648196688906296895708652130294466294875863329438876734920433378602022740850930886631892070882993490462248547647224041727394636954265956872463085678620818668549530965331742128116406713726754084419773367686635290883688342034591181560757640521801436286723028223051586102583171333244782175048848440779261418786004529059141641921290141802787567112911335774150943956497987490755481693534966751719773076180431551968232835698729370334499131713743899282622210098203193842481367549466475087203327353004161317002238452535471812023441451023711475937007085446972052423176590054725203670852207669001229845389870603636063904291781220000865357567176639710684763716773341155764722013138997577034378829115104366208925931526849287984687133294611274078036897348564111946095324815419290150466011985424454730827880259634305488304595182799708728659884240335998096378043017578018895717998955012344055918594062120790390520924828280749871616421172788146755752398292353140900698970922107508336114679802330718800084522886526336113532104939536851700400462425899651793572941098459533072705792947543239704332474324504568903011996807795174475215920970299433915959944660338542873606326379337195954814443257703365472927385309269901509814916884957914436567269329576006619342551517988133072495217808064405318448944070769555390289535640573881279199863604387378213228627266762370302098737012668084628352390597987897493652474144671821912805389765153598153520860950868617532705143372607018985567630731035522846750387950739079106350073618054330286715438930482643624230791966105862601142789915684606519610370625900839025770879150504352191500474872427080531092463246234483984372691839522416061738584677898857216530298379517180462202088650575525083135911103261952289302559328096495362327739503523394354384170157226850336389002896005784990598705259831140885365261971782833362623233731405603271557040696268209227463713551473196686365747088692450594540680168238229919576039207208870526463709707599218944242202937859875973864412067871523393688209505682429157344673081061638678182652155230670006919935243458216973341280664496255429435980714819895539139411561617506881691943029102784315133320436872732042128722530690761217043273841177415764516806444376021614177343285167367223443434170681894223269235866866637080018343690565256160488406653964328974971069606768042974570151856690962160927444655127549887940668558301985736121403407854834685410060636025715396554455098108046376514325286839969436248658339856655209782837791467267496701270115436887405453248393103039022210494878952771793810412577474539501285184102704597852012929578795631238758243416529696945446389761040834860568549712153614226224126897123485512415207532421350123549444379330078848930009240615655259963850273074459188382448832779911839659809266582365778540718771002967874912514524578023740717229727363733425463589705366504407261928531298950465084166690906453438454263785724741105450647660837944881800305551723732124903343012582847153780436199494064720138300560766692724622895800770454386707675705062065980438926579598L,
16173853274666115798412317758151483475173659532523546634097770929407247084696345195001791243765165291693106585324605336802567724326781178284614698157341396886969591527826192151683665409909326250492548607141831246378864661150178833646187140417445766309040320797882580823209166309663651369438625918475779762177232324436792525468570363582853423545788097991751444749660749432469583336380832420448634866084680514541806337241294048575604299427337495372870719308933668422966676925559680039837659126847592446937036097154045012116855482575907045818106352051303184523287876957657179165104541325556065341325369218505746573902701999975472205260793589248142135605020215821286919220529953204340870836654581195916684338043722800784526624194322113251826271606159982793899550337194228993742831090790397278692631619680289494938485769001495962352706116440743589026881859137713939513045353785704491833122744532283042583592151698487075787292158060635144892143539785502478551267321216719017575938385008433036664725525590404713104039854541401344891591710098159230093642009020488115169370972768832283167565342419088713082245271440668635618958400186286941593328146295116758542530731827110576927988267656741048445513867011267343347574708049622474634108402048646927709013262233328970821819359954587540821194312358220534524417313201382085738563254552744939896097656180910080213599656076366825124569251203878280470468055524097769765474017452634610538582578756188781136545438452300918714888879359533555798364475756962010015614360881935791109077159174869110055262980853812942607969303962592169907782007144900890230346169586822000405988328090458713479392223735199170941919154676668754907670451847237347925453308260977683485932300429639390426287962257746506934104373354243776987160112351521293255391234991763699033326327441724891534919133634292764479578153020656297198061009215131818821133186852723319364020450444331771593492647317938440844147736047687561693605597799252001567726321700769952505303351053225020835746591020194061567132798083271504829383360800707457095326841243541423328749841229205777901035715796306975329264971072977491768721460171085682149319652565554786655743614712698741703644122926028466074713617782057396315731053260268950542692013251504065047918772143111361597092609339196410353388364224764939971315711722404965120543429342487795436130832771325285669697339940597571367494193144678229701119383851787914395303123256157240770187043735970713763220373062571230286894777834696391392114237000998197416225600551257553028837055738308377206855064200186578875189681704070045723668098731600332303581025678827509475893232352235046091036368290016678478768363090104613327825077489857665192644885455126961422365105570315290817861676899373496967949101528051860960474698110963076250718386509908975480122193967667369435203249601202067278073642199644283807300298792201861608306691335783422714973764407614608099800370925027775577952563681340197784987609763084607744780310359560293704025340524967647064504956684271880116430312721786155438794046794434571184442097749564948797158327665303403555706079630317838808537089236308915631753730691576136895829288457552691920897702587042647570096796861875308062191880370372370331815070636582256249950321629315491070090934957007176080182908079655128746359764261671340290903120774821888712040757128611882155917398809353350070577859376643550215733312942303086410557342433016542771965423981863856323551309412453514060782483759608760859601704227172953430242039806414614728981745585790396767530910980348063214566970161362650736270428316209177554062440708444656103637258895984755035882558627940439062594628917358396855622470278418638590020259018850642803391144881506399714987891512302838342523153137386662414360631130003273097077090105219097973256980293300366690975069752987047795101916500621023806112263239768013512908343781531825248191799495483492944417575447498471232812888733710935912984526930690607260749838872861266399754389721442403218292986732500541700316793101594404229552913037913844021662533644458782012620556679943033682431548634461981145044930061795744139468328596449980424261071223638987779939625931932540750507122801603446162651159025085759521362196298534616495524901880500605395587756513679918841661201523452495247948381670928107498223179124267593755260264635786146698443696910904434148589274734922305144883707571035625240508736187944829819086203935757290809573719746166002119643530314557358118841884188865845693524263274395060912407447455225694551332957492683003728964982441701563002651173723920448667832646365845498839526083342122219827584576792335961356880906419490916943636892377777645565176267998240628936528179310759651060616883028423843744153473656600479789269685133439938183353362757570926738783394472331649577374624735945058702911208003860344527863476560743305659701953457555818146838739607266902023172942840474637462327497974814091179323312705743353133993297818776954220378017472006776826223724178589963159386300668061514584229677321481320609335871514731018921445991652522756236425121886902972610572010924240473112412234449984054524039395231571281308675957298142538450255211695411634597514236861379076844537464695933700195609430290362782080338036520682854954263323580364614773999283705672185011140594955904372580437494546792642086457940269846253680430550841346670451715888691037877438735865684913525513896676423216596136795385003767375314407894208525525589481702706363837845351253827855999471541463534988535000784628024558266428242383687591460331070128800004460528869479667837960795282146926217719334746650511026330859977615644355373416890996277999768157776887309293395725411280479294652489570063267639233539884146639022795459113503810967963027052104244475650070719663236960973694693212387549406965665541779942903187247645046512854825245921647643584856375321673488053982154484737142683404289578093538230781326381881219317183434363967963210741093921652813228871715841421792326711702158920499575180256999175191681809810434787493837736187920632677056734370281733400201721259768022778813336897799534967142908962300989248905690239238789627494618436056567546867269727669212565596888540395818429007255515589512098958411102515372866050502712658523999906705145147341691052119716763892436926300816851040824089123484781562814098342747619195114300830235911551340970317401578832572758714370050291930560792735298161814925399443140528665489181240674058176919924828816508658235343763L,
26258455752299621328365925480045862382613124569671258577099505937661925641416258990555313185090194450042502689294572737819983168197777397017977425122410159794766471207163338289817620388726169589078020446785438334350942508509422054762328914238734289145766022445604315280085777032858523251223869080553152826330652414477421052970522646765007741185206312213408507417406666997453461229167083686535004316797413639333902900898947279997304798417737786371497462680593981484753329110072633505814407350994211235250508558410245967095960534376152947728292707900094196883404640860153890282828721891131495031737851634697346190856295534246873714652635024576976538945879741147518068740312028145206876662098619177543084154201752138924278739669522395110432836949216035420453308537203954618256117132864319669579193976340270580389343473055998364451033973633315173113665768214270895583044011169901437155064572993122230344998616189425443545025453108278003036863963269286729376946979132864677383751296342544710850267130759877926760421416281732444692808946879530108339587753113751946289134333764092400553734525781520122872551009465064902834086341712637993113357582991100818939475097031262161363992927306194456127273397699507227613592076814027708287378553836141305061034664500790282810786757951260054532501694864359363492099949323811018089786954960051638785998068633047061976479525313509740687023953520781860597970003289167045275668310772625779159739109268791624712395028963457574639163561689420379515559673428488204902968445204609601446488142368117068083277118074759942444710205867713393364993914905299929506348790791887283458828187748423478632301829390259564652315715773020198814691930225927118745015965555150573670045980262130022360296111822999643675195652788777358531984085646046201101310693138622011591906669353023646988749075753118749440346375303818159165355595633586754310868025173056210735525276590679520209457326747535164649327932565484836938112163058618834551268749329276422067708852552176701234073072037533152199077629814467501610912830684635579534081516973232905236461132034511061302293898713348607418359768743193735008043595393558399844757378410865013699605139251501469112833691428073261352224047035741112373841703168943524888133679233582982269762764789099425212895605805721675232125428154344111782889444893617749999929204233750215796802572158549340175553342550808098248370753061073198494741858285794780550167695201416270129435293529292781078381536545338870659687648494762623825628126027572315859570863828922862923621292539103315290046773996196108876431020167355574030075605361855851815072363633207965561991607377917568799753897198802096572306724227348236450656037118938944346390373954092892858645445632520298889693120345611968265767129633526587499212227028213291830640991409299887665871360626025207969461398217848110076520555755512298962039004863492325200576028658090038198318643004272247902688754516345414396412800904235834999947901355876563409318735304227734409095565298526379312710277674647546971501941390037649662491158135417146109870110039677157609938571981011869977189237770418280602610539982709907985495960550143472176688769397081387526176491435744711596486633949159126654473620813054946117929641263020477451936079981193002658078032740966117221759043397389379701616737698348658118935550240770826686735149278963130313315074240259020475629365556244290863040425357434572542637368195034396638584209632041133492474268491487539523433193912933485473222349476252863339681832201259326696358021004846083784892837747991860170088457262963532684259836583045281844434198678913364691219237160805145837515980420939788230466130951818008132741875028441818122477531226579473287302197016712262734499274296676381345053375898429271884135981244243522090525438963840826793427903881474689829662726872918762831017725866153629003076171899485619361879467303552442468017854366210889567830689665116470835949868296445128184942276393617463506499505261094058802351027221744474702655424217909459122228380162461608482345202156556228612192095137125090485264550246417762168637401126697217856186050544953088858923493497482829408378677992447354323002533515384559088465049507346540875819371974864211112084284725836931459416049393180800488398589184305017016161086828133372774366027180159020842551013601875951645245544059957406445666339456260192859958704265433840571722553128779176652086438386047088762953509863919805628719060705537170098067631973041049142404841879906761236125184772113442386041698664858729673629763029256767435426111648947404227763118595616657245308069991570303722455307163832767810934653967266445936284760882254452167288057952950041773201496928565348432200890088677198182218875679818271310627094379024343893258919558084114723280547473388588858869179912897294245503007856999204126082139993561177386026437179437279853757085512157523396803303852830479502055338228760693035294210443401580425012653773646567267891132393643658071923156454477517608332561881389550925818153146555579576929008792066258403855776966105543604917716554721097707715200472227775579077404899265233213329190733109798178786856956810278273919511919291366989641306102380842673541906956864769780255135209105770194487966514990015074558673667431282857611897847518426750914338810679832062973774788785973206923676999207760401480449897309195372846310879939405097827866253569862681981451051367553331392899127533881181554792994802184109230301874574300193001943024778572612255390996651487456552798488892151372225429932581356759938360828383858690962977746913795300201581851672338705994289146099898787425565784683179651135974782327616184150223134370412009451710732976573580941772131222485693987525051711206163017804929598080471691504662867403984707634685934974644737231348956525664254899701270200437463553180168149133545256078461718306902106980008242327214813221389690101664790017182782759402422422804844887921602009702992805924141063791506701589242509041133794164953727052166374283290352044323102897055957427906166608660469150676301117073457570401928823970302226783488552028439583073365658958361670609431437690501520808627421262416665052310783344897118789403750657573276969680579201314491386076791041180518821247352465431736938763316661466139455780003092478549596680521158759041236402007350906462362715784969539079483493866648982810658188889372538480198706852292351619028808446224876466930063426579667478683302203649962572632383598008674473623877295015235675633251273L,
42625547172646375851847099508207591522414455904664652600807682104573918120641126190335539972106088171464656211998220543365309034570617570825768075786662239535202815555259977570597241072047344093747557337822289435152915094155942061322866884617921564432851241142033016900986893291843829965726945505692503142325510388863365953743191093821559269813550634200054868891806222473617745276872838020026244442271902248439909667884751269614732980986633058525266107836742523968774728935601915139589526388495968345807899739361466687050771993802186291993498245250558319062957305820144910591751243811199538266441484025016823467545691702980553200814952399994642781192449027369154715208594756127775151843660885356362586277331699534699572320263815664562872529250851559255527149542334445031870117948416377433586281496947025914119905988547125763355181413559981620652582470160252794552831663781254635811623264327360840368218861115065171044445430588350520893404073406390699972534788223326157311435208242059704729867708839657547910466406989508931472740859216881864827258379684334963682098876308938555086315420477789158048908047340338351383953501915095892565299680264522225451776149296259026377807772311697495897661608267964112702139312599633018325302624126226580437659471942534061431426108161800615013132880778844646857671067351981018155440378174813602071687852411034789503589705970096345851879022841244549891067377732299327934525372376383803807194239911789432573038138126930543394352825030274854852128152208226927125813114795504368983172492649827984173674761552349140998357895192178966418455897620050794290353636393521072659543067423154781043079276619951292603116088196185210057921876452913623000961055803028858051247739747412791511908655222171052050324986399171090903485236405897546854364434877382327458451073737751326137056999466995743763750682036857772658521132457454475216652392016765690128507164485690474879045945077646183471912729076919809630324850374647170762063146937894684098262411267247532886664797516088208198857715251391440901719979459463788493022008491945789258807789124917048074774038396985503884661421075447146372962957016587628513054445688897269866297754144212207726596662616429754816956732290205243733378438850650142028697982896005401678081984519560941389996739780124666134917302671254631664785320858594128544592135216086762686198937487973807141047617970200867480178001573284741908413712455126494855251450553864694379455029409645738830303183391530115285436745772948030444606513508601780782555088005978291279170549677081010581031784676026838060784193352327782114460086472846798948660145420798115683628827765960463787373223087321191602849729341343148294327379429957811721446246924402207637366095147489923386728585317686832508402105293229952942208142905667809317919757484542703047752919961438687975497189420032692050450302513717400381485011220015374001271875747745994652076934965767044997751936805639441713386624236630173910394317548452254892072315292824038299195470022339078386663364101707699479490900767513491892649423509493837668696522487843990345034280677321866795118217149121905930425537319047806503732804287426895045540327157738349791890773276207720518647098455997887229286691401365713530773418846037162557307924814152332818663286308024669824618513907214276195556215767091239260129871072205905816948400125049340980092940180284885313705780291142200249364365280125067716757236721192008463549882079609076277894446326504850886112206699390951206865844963800520611549536067521663831125889749323845099111643501716935498868577724572277035608465049638514585296691491226757167640109875977245323359057476052106564696781913221246808913500240594311899810955854082177499723908720620690352250453785625811393791231816998420315774055930953601271198267929349353011202418685091931746952135284001485302626315126531437910102435959502945035926753011475254645743968151648762586721685481227556077086474723974594318246482740023475736207228488122134704354148409402794858493401322679588796692305186853875288776261596586781469971629513576968158148004608654086406327661115607308970007249228494288020978479416505950750545495574107784836313364245058115450772857308386360440061123773104048961878805667925531630547842084272983363800398580347351636108366834666867041279962328873164510916094910948243822405753244359624119591797199590299615223316087189602029686294144596187019203988484934706764858382538662969610250477366544430088549030206051595069685318227250232250406475429105582704067534754658563742094359913239964559658769954865609165862325976865538173059853932075146350539051092314406599908045094952299890676151060736964027500138558504122841519115707053692804862342624848615419217962893094370355940608720630868627380127471394336741105625141884913271106681157065879439059407188980912535291424858739808326001359182923979142444638393649902784909016128467521377884905191755371281718078507710776606043925252965097140786518572513529910890265015365353931861016686395012523251330953916074116225988157546133118964879996235502114394285650077632580665828114943409502538985831812208339170379175013077993564556523470471077947396230031764848397869658281485800369801678518888762005750645710302983544592528354005692740147020435726574177130993189691024712150036968309449111560146978540459087381954407861494297575658163980737720579202769491352597877663607963067658321649244635039380352463695738243718638164747597735559594647598401931313819748658439575075664847277921534209530698305184448361129488217981960686230752430467056964909555281756801662276324564321260935281833744195660030683400383479122411495659755247769739887252625078396118546182101852316512441510694392577373412715732092017758164319802242745867354579067578618094141471353693478462344901143607135617528592688172115871501766870055149369209975819049550407638419225094809868714481950978560190262888984564164179582987645337214758118713033810724793500019222024334748443336975570840480557724809193509125452919153086085835578340748602694882249425516134031916526694509129190130231491351553802099295915617743960182768933097728404297964686352720745156306171652685201348183420456313781774577782268756252341808566580026229994088984223305891973908975778793487326651063173743323852284990659459463968069308253901438788360750710454292147837054353412762997840841127178731987056533889441832756021917595416960208552744088337212409274381496898836792677777597269250665551774496102495998104061995030544029L,
69185627541061755946919936096996836122872780736841389038641565678118981692282579029008675764566216523910931745369190604597178301558182637715874992501382916931918869510014586315664833959155851313765234096136033554788270041380674554609276190926087143366707603938683415477964448269513585527804567902605861544751075956458091562481173378381287270754075209570772345096708827019761852389504904818109040573108709641049536223693530711709083511827016685266072694757007623699690982035528797721427274498099028506103209143693694841342508968695857925147711775459529488066508719082808974039154840028647486979947516642415619589754421313959791957061596726596034230932407311377907406375911339911131805583948189653953301620579683321327421783645449614951010181613541474795143021003085747669798800660371546001728092700482981590601887397747925570382206008058672918524066055082260292321627051349216616297681259151900897462537028110057618819151965433087332643763080157892594310245174525921218429509770715064432667926328920765292573065687174956039205555155462432846982563344766521849529692857201524847845401409241359818097296463294193732595602205060623353492006348226952185357852495231449631493675215531054759622800551576751241320196140964630600003656600714185932893809239761446132884346235652266919102675795317207052840240507458423736409613457744741652270592897920943248201919810618573684691680055086104685229978290861856526625449956574596804362603636226525492820355841199711846556127559591464915026337584678839084019300592985021355213652382476307211033249562895684528173160426203007735916058445309986390256878759446534282371364719365384703046877292006059139691847811222113916191859437174716938336624132145864046141491517198912715612684843777065944030962601502996888892835922857668911909150282837673984450151418156848865499343953348089145766181585832778987202808782440997768852344620517628400709243437895531184396523888370892586410526381119206663158825696633533674076222521052365381390458136115791327779304504273326975676771656367430759351923600392643967338346908344642495606815678041580474432961747428247261942582388940010987418914157364104496076505452645174767167167543954924733319588918644792348204519640433246781372208932333612409784937006917090201786304535592269927186755179626013878030982776263799875345248943933374323406652128485563712783185346895294576384360875203287521497536079946039315411264510311591590008172317556136561003629618316302217890065128819989434135946006193164302845698504062433885529172325649698782552809615903813040235779614061855246362746272407656194017499506728071773457768232924241919959351772408156200909264499420084504609549396347577019860527828538035538417034848659849965313408514266946189052383444796703060002026085467237203893432855350782945020783681676656400495274947564879467051548052087109405705792364268938729960782342743162460588075080176122057273029716414201683531308120025574591642476339237402129272879360406473778398210412151938437133836957039605706880767129227958104978151330821181034918067994429076942646159228037402396650898210840415896334150577829033834184084473770815890075166279688340403390923920246003736201864084654644733737235738740729950842988796468575007755560348646354531779935151861621895756128109912998408910952609494563110290221076336677784149049439888088924314754941172636049821554231421753578454202387594877101360930585365392763300023428185732781033293065764493065482486709267445918777051891811035462825094926704474624562391235440634366350289504530690890765200791899018041634560390508520827708843826293394964779207554074317990366440633770881649282748495547222856806278120912055854222264103300411712417318504514234291369769891101529367877544116320522619476522566817208227965553736892245404078526125445697192447325484180402205956356830506221934205211566983121170580340420950205088252614352198217552227591548194353886927947046466241857765907789436467933636314222232333042459169209814111093664329276298744853908102412525494916378086593192581633099324303183704344747865818661362422621812609784287280902978064326961468373988406681543004688592283015540344628855022275464853481498230778262455624737899574450032431110626844348165766682250828877777869658474307269208468075466066142319694015597609785458401192472442197665577036124833175496422234158304469910291558011604049015493831997635226138475757196017953886683373148777906602639550188338323084727735380247634261333830578539699665781271817109941711950517660590340869227739836213142650546899249725310679345939112282439166956757959983710643566673362514868870521888651926613434494902727387748762684318132738691024052949346875629300359497226319006708214969653403640911781625036117231254610675021285169058489059954432017480426600723812781323495872069217369308935497906632171034673420551069376234085321252757449203814088342482986870913462877067648431111514749751634373810223185347662209156663563720893510399391384887158907420438008997878327370448602794918061902197369225272865168113809354274144973767661838001924847230750780586925712332423202018453033330981299420211935088745034949004131370921910936432293074655311785113032369185142664432148406492945082024316749365526904431497294709660753494468753962939009381149068213934733418179079714789966509890985364437385128447070595003119141141759906282648060297098873553084142783130409261020876435781041717158509890208983906911499095365983392191511785106299403329110609740763686224253022298847691509308161076200030348770008903745626391992275477906566177860014665221490401032878543479926625643780281010376057030985982839981877214699562595679386124694766020242715736328654198605057928094779379345717412744968326440393538226361015523491924310530634155731916454290127097402325474331251935225142327850123643878105947740280664917647873931989756254676013148234514345174069096638678574078475599816059911237263748479866278971508520610762144876194560814243139552619845827759274742704405561846974718801791900784484779435494515633877375897348806512051322680511373472213387737417145369070117361076961859046002271876673390474473084055504542574198434284855007820933827606155976485371619768575328987653926207167655341302895596321680390586987127954047393415952013536701627653591551213670750154231431392173318485292327101712883254251108568115359109459565519446901575497309902190303187152408067908883837811331078439127730467611215333617238768416295513058118756697661829892592492070623473378483866995L,
112281179113181124319050304443219021082119965816595250306859204346582971633263793714147997407296617274513328095699137833853264590503211473517312276975822928776011442646370150897915558466043931910042505032615430098487267511755600530099742565378509846365007292854853432451771168223838858711986034466466580476672065159667591205220155337488915194429719613644385751255846925077283956675604880988897918790045810015071486350015216287064042575715508487244286811018997847110680145132147963107005278505687543006154912331271730623546684592609286956357246064632354103988210418434160291884866407599303264054189725019602573237458250257368098039945725033980406094856601457208878049481551262735743063709314771508176040472773477409682588508846452595508935897793123940059821642324151627361672625895936916849017331751337060560875756003481769516110204213335156990806389220650921326212938632383877908958246699236291588450562521354830435438755211107022401003100848605597622995421646384992697231318479886986403200729999715122943598135238986523988328703152795739369006172210906249879274967378074459025846027419111288619320189769914662515062005896048367585971595671014291422376349765448557057694498377688169995916265016909491472479149688949749583923433410790250079635349146966811672715758695476638406217327223676405086529463458466838695417209829454363650541504421547024889220414991195002033132055877288251190291750023941997670865469058051941599543398988457513982054963844312339978235900196194736529054891060130272304181670661622311097537486125081333218740574912641009227536229846660397638493229421632676982433320203277069044675838373728564305963471358905116291676310122830578425388143304483589814165437071771836498817775141785168135435888489094305320019645852146575395240875630466238776332889918393631017934066589123980042095550502405118338727897609079177662566121160314480628673670335274643096153116263198670672950299072325205182663899515045125832458264155473073622439408007460968527199552238164915374529088753367724448199976219321240184644541357660369072105115250188734161202007808831107005130141418199458150700472654717929662763506078542230841283698200175557849295794217115704471098694200777875320553797758642739474748251763145026428655226865997088985934569926441220223797614068757742233536961558622772225288970935191545968863978218671057815687313939990335896142358450093813342344214537106792258726109702000810117661668700640733520976355725109579724282501180694492301868592859958812240419104981396230834056015538310202541915121088165936696241620719609807101649845142958410712267185364342228779083480325835795854702943379854021480283971827906103321763762113340925362817632477065992509080733489266982212928926344169604857958729124056969029474475995436692531382297871592245281460802263350875050937190412692705385527527820441248228990343493224105859623310181848947933798847514615248818908756535347052862016844454999307947461649430834013035499410788726171657941803861482116595639269086651520134194774240584097033769414056873661398999692836361377496982669309498112894854538980391043900455560410484042389570878701391156193888120451938972859674760277052199223964791739002632050686075407941594367127990660392096409151740927680393751020978111674062514792917212415604561551624188263249715254539504103855174067602226516686228523510024266484869020531149755559347944696729551547490835560524036393290445885998465915931764228805600447823324994183258740421576166475209618115814675077596502488173031158658163862737562310508274850740211348626121818216586754797379809088724364020944985588406476683579483933213483851661692481082732327250313644563531188817365458526697193727505605143074632978065859025499203479943600584420156140552927593657153677908478808641321188678138791105620763096113735923531286800290625074694612048961805740578311645174481825897645438875372421680709421272710513524882811534064303795820820785264921993345042276603792352338034131157218273641216499813306625141126000007158872526669379466292900992315626388034667273078047003432601213961731349762488885270228709214036849609199185717452464494689792184039320323383299077900317303271539281002089100735882726298013050263258759463334247199638528009908524430502974811221933207936050431920888394934392655589126837865875526315823813287177227405900982824590555432545264392601883697705624112477604612991317883833077302086716569426521215125343032834222677350558435225081530973183220214828092832555531626801062589386186721609525077870661041768559249130840168339461957432882962854237978274489416881982434207802075665542059519946591669190320503450699543301908786601688431174747991119728296485726654706037200404961564411191464724105862786594167794757785976607635207679139177618905045145383856613334897720576730010558727352446703384471108247612760128467428648245695117275102112480102066066823834223317251303080727054448010432360242953785064041769120779330776116987961730866008205723284675132558700273291605878632169112456441133326461769025483135476096766748287449850203205743154366469686504084405183341534896108557632901450208399739741519561542687859364953080755294643264566556675519061536723726121097780365645878620254907465125096197319635671630243166984814587960531727775557235797586891191933476496802033543556758473165763174571779560013098936589826125446156319513268379736602228068484975826539827886756385403909068727962197048767346631748724760770030441917343204773104329397383141864778368421168033581392200335640014066112744761769253528319528989802859889666578716026909469928195939344163555426561748893306067988283355637148208989082167103567487089254739392508950102020820121668167467179780508477099665909060500720312402809801589983159065150060175027659371315797788275809910980490592984434813970326411303772639136935139809630510366492685096996210942966348513105300950811957656327618960526476360668266936718122868148534496965329020149580637683832460053571120179677486144871741263921908587773781356416134580491997338102852642908415933578610237158280008006556622415845971421363521523299792491542178071437861238072823192859242222587983790728199193240565705602984355870408027744664093032205844227411270048160776052785634575672142529068978706797517099047707656196166559750369613966217637822337020320688901624975741526767665094607702400576371931243957417629166491876157604583829168624180979272593554278687206777056751424423410986405760701339487029975657784249306177566937972990303906852874L,
182197845732166694688515187003246844545065495831818084196004090900180304240452556304406167506179363008872990994407879321640004949343009053789785509511810640360771530600686144620627989247833073821688192501692845957215995803223717999251815425859457636578438878256154099909879097591405660767518816237820662708547981269473171907497038672821639350349007591290674060527620791558531049810515580369965114632056074180276067503617306905378580646858921233228062652469279367815265722578706821494660050929727122867385739465714178057569871822116541420257783442812875837713360085711170696721354789738245143393414183303987228501288287530325960478212303091128963992559753009580833869144768689184403689484058688219776325240611458902352450416046648610753964689320688131707331200837876347976241722114768562603318532025796268026332863333583413786971343506085652762057502780236758342747998803676343187146982441525714206094835920534560130715833055511116277913664232427958855461944950786487202263050025571209566952406255163127054280998476314075631088964408113852642039537935282721161444771271158979305615853003734587184437307717540877190843481004027718355029855790090690578159370999954241744342584873711230597618918187105786387532716744884285528497528039007635001618087055744257817733667208144585157169472284878709345949149416783972373987024493588191313580697318868415830458929605522543773883597075667315233345792377909683335414164471807383450399878408447848473067806784467887185507381863365961626115002312949170167656136925332668405492065885426197151226369509264719743026063035845037638638991625566604951813288144947676681947785049532310021339588609731340056771302161762400409959206800044133182463425057164960864525992145800070539159644350261283194197602553038265119215716116697097818650139152809239100899474701601792741016923597628887993420633435771580260053797829349894278066113364783603552136254681279735609579910825580965349731466278314319925173501448090011131931408699615617358063713094212281760368243638173185745152986288860453009440003616467374748186781641861502596251337188140599476514660944012108606327293613391313942253257277601039349442422554262469155117542443146812838189003606043588069275075247946605700106783173143719005446728168815748041314448142497851325007490634101818194158447812080006906753555494381169020573399012543329345111112667519261741610408110341032644960898666119731231223428271863756652900757662639606623491256115870567645718421080937956755418681366938321764123604475931224966313853493673090036307039667643414322770470042341099091645195837253440513793656789857035985229595035384029233721139975452585375548584526981507952441969240537106529315934537888629583755256446713711023446498483996222496805483172588926829755754493264765743365405837159241118746173335472310649139615844012411822000692446668878517953372638452109689488632904497850506670968021287439696765182758162232794952048492588238188080213663099810499194243853128477457264817114645991861073974081634916723285617701367846151280987710963182979530218774945675684159779754914917541904044454304949771856894235205259457752171463846017131741761402240686699079346791294708459806111366577570463244660645537666337760641384570531355947894225965205647745840897545494868543876161126575087769803667863840072871364611154283889700000280475194487723543973480864394370566941059366346773986395380900753526768940699664143406329966750170681503175199881902907077781054948644078276837692977869430158221541672912886997092778454553605093301837725298669345624974666612568783872165841827237983841810858337222794932990376036913822079005982554044770492752557093264935227588096660031326642611191931139890763986149485663054981549257680755754145112184227922634350830245274062997651957400256077484630817590940377471924121503159719387068422927257720777989612440740116672887656792827176720690074544754573308010506661520213846111404363842190166830864136764239532566388579447886642692496153552048156669327894861214442508773069693971115602764813642141553360874255610335221027596868209495718614276903254548222383201458804448123037791532206227556060296449376174501604412132799050692308420722363544854190059734096861498555576440589193322872211985036121932427109288791630995559187833049432563107655375673092259303975036865301797910824194204958208715731096625930278174421845876129370259191187590818708570826976526571741799723937219775684904472837525246742228944969904014952335858107101112466760444354926112925665457551311224112687294465011356790367530850587072380763352996914250294640843557627014363315317437119827192882197201953025736817847497622732035774187902740631943214318651075940575074940859813506909889341836035161443530595284169705607386602751313840396071289323432394610033603425013725062581629402678704021716733060983665235897555262945098274360720878427783655222092302186605634135513790247253607573360808443219461262867547690210722937270387241417067494407869768125625194537659238558239467494656014823755472183610272776965873462870283814923229791617829583658623060701522707842655291057157588883452162386288226352578075493403434228587153078938822669440530439655034706157526881875211846036196848213577190385509202396757908655056625333564908401827282994604620098168319572421785705900688699682308284995354391130589245364087859215280772013872546454871047188294219299833982883245654483661512774841542845303139526936574072443981077572286438611249203279237865422067776772945769513643468307367983137438401373893357160996025352275075526330959134383893830671323933043608448099402880970060754157172791365886203693783088132096855093431194871400857810659590101411724319293077547100561726678627250128944416385170380732582587591242222482757898580561238644652527280968794204695638636095672188455503884089028288655018246700328050699225248399786459239895430952639084367115793635408683533177944108417235494602685584299515067627277709587127062883140555580388545756411644544470736788041158265277223488945447854799304881465437449879118306298281928613288854636761200610021372068372362451601393963862529743397851238619108927710576113820368833181785462741219704974618682071300276279316688122327607732395734792359924448568925187656104076106794804408041821757308579393748105612601949234859489316100564444069216835614586410345223026439181806994830138384017976018854488579977061717595722192130499643864280217929045798306099694082135960472564943589133135895230123496639192202464040041284871464579L,
295613819992605803468008597849166652518260860800804424220817540007017396960919194021709480522675814331102664022569638856387054564287513618875964314732239909260640498110747385776125386804748843229613873809777245313886015721242291604459530741536880152704651930982367972509510258089357000266727707588284675604016481249702301553493948416076978184019713773270571523821035672577382225803757796089825243836949288200503340480395510252480706173448992311090791301370112419611314012189218602786903171163849992835192691482134047424744423815872333527174579687960715624483970500359347680336590938057968595261119737959567576648879216043130217056740327946731832415808047063751304404959987256954116760819977400039863315538982515943811981207026483635476218105185850270627477363173470805354304066704546376698789981809735868530202367240497863630654067515196611700356867773993603235216968760774368119188686793367349014976389211427509925930742563508984875936729822012225188050817217748972913373238620709492995326735756559689573096874882712951052800339566264036686640180553284773485718796615532305610848093852942342969204994092997250125579850674169238786130622812151696669769406201634001034699812929373455023830554406621279943377561624542667834088544794863032826444309331289441163071208842465345389900911258892393223132129054595760903236805607447247445503347386682502066461566384606310749700290469080694975606863965473468409030850722721250291690024302210461278629248841159390151927502565655254495138582625219548779155413056917648974354560826592545573164161873620633014521239413440323003703977010134517971079045657080217656492803914828540347755825391006741239210967357483621600776901340246301242211391117138903456894116179544666703074492278325675131475928227118179713282586551665565624253101142368428230969279175211410963091306925988485580869394869936117096290857117846439699973440405728226962777787641119495395701475676827628023108930630733655994999154932900103630418812560258644706337057072814151001351291659600193744405942385089415018699538540959521214026195789604504907557947638592628258113601647865676566941049808016500930025143171697570081653698583909588128069041071545930142840002341673720573868391738699322852284563428230491636125408741853999509437387284776388139935585115670350868557673727313807170857879631893726898584529363070515054236789066797317442384470281938384231214577307192743650061519931486502780587529772799304965475545956135187841282176528784908498833725235853930578280539377334163289396869814174449777353811127311661470999946433645730189291274113531528302386073147717074440114912695497683528693554806592292777889539255787678916639977086028262019625966324827270703778045542448659141900638747271624845328564918948414805500308060011426948927171319801291401815127714628645002624859082295631842025669802503062938214700894314878488656898160314333749155287290945791976715412982828699851986114655009837333144881000026177166995869904125677327586117965631539561233170360071167738462871232215574493473837487915990167593783257430972360759970834283755193237703906280270462020055751184632874541584383496585644526887381361094637944955128284872956488970626412111299337042330500414218068514628777230693041876736222145588315024520994813322005190444746091363807070032048115089364596774800661717297450035489000220792464598980476225552362612747756688901897329209302401492934378272177010507503431993242485610706452897678341307772172413684824496792589372579186508940583595340470999027588339775709006151490670255322571619674307561997269623777256605809734626800238578546591255412091364348659609012178706083624726245904944514822481692173926399570298200828451931477986314280342935987352885034880640312051331889454411541475490501341383429953658986773799990827420173225682338042891327592039063213844779166763418008837074553498218179812219619654312955620578596545350592731794739163720635584789339317073409591919049501236530248359056446870641954961555745402591846077460532860060238045393536664028175657764304114159486335905081666630374568290949063384339313517453046176016004282325285148567781789266475196643364646199978106039228064578339729937742489992665782903328426049699158533821779501445014692754842524446311705160320922288946730213970481678677425862006014894138596229730191557853816268475985639701747462326867974756705310842649483321764662433177951937256599007455374276985410827658428191857913675957001805115414486512386640612836227131780162695509577487600578335000476036885615997146198167038257225988337757140282179803383334913646128888390279345175548346275105542060304607310553062311660241634404700899494634601361724812811784379026930318146751878769148308956267429998619832455271672559596470561692163051667837885290432643972719367206690441106113379539968689261719795821185017018771771004750810441095383195761244686355768674877321327458144256283951676009716454315256059538400256411682431690966817891685989002278184179143775424678518376882094678212123380728741512442262569175544041605963060276490521739397297089045543029823915078721510134355392367612033943708436450254833571031075338574064283475294231220270713782734273734793134861727930840654949531125080932054899099983851827003785368747649605232515957111868288991835075326746018685638253052262561602195590580826943674863158698293701530029972916669970450402236637778065498725031186400398930315853613325527929377726219409357950494838060416290168792333899500166185093494349234894717425794725989507523031411465234963047655239521772177284891558412085772999522831822671043641368206259435760928617091022468348492796951718546484071953149697518519714001235911123067901320267042939907385028100741505517575313871466180778558032602443523892961384168955031407069458885199866832717765897592959343153125970017678034015164811767850296103564402645057577461907433273288529664980750163170092755766237169344784721087698596384125092734619602656578457162085068422880885929473530132056062937550130963988726668296170749683468233017414722405405185982950097236224137390206254776873590660071814419082283062308263114126812385420881225727530629347583739219210280816412414048354161696646224556549455527807535157376389641143685848357746417449334439357280529324699238067660398999622611230152093840200811506257741785793730718305923238601491384812038107635697386768947668331207635766341913610296528284568418177424663170009016209585970633498455286173841118784776536369133396068335018400791313556424515049L,
479569420131889160209858157211513691907168041630381790253776283121079752214374396368672716781793234627809859135939063556390649902108576739364991235753367441163857759179324794382467873078606881042245693889117247562833295132619789401940973657059122535904021737666264165982549166131215649646299580240919067586052766187665018605513119020151028811642624613715533046167869231522845958855496244793633563082592020223438507280093252751180807911228913439399622738002960458741943451495474066721629461645374645358895734005444530608681382471197682385838557809654473402201599487206369094901269471108331895080559031438776632743735676435068520643022942966297498889091375324744932995273628738552861149705887219516206201687549347413274009146426545340756021974108256629917789569807348043513015793305906424861017836259964553890792218967068724820961280579099659119586665726985011892719530400587484521603473093524181820580236464072120727876581124693472613317035132435563767847044626703345230502054497905581464448165901818491680338769525748649193868404412055319114735650219535836052749371425714894886801388100560995047922408238816607876680774142647162388657348865241683631145471159760035135560537571636589009890892591078694332869104652304000989201949998097676151612448507512563198289099949860970776198347884905996038667402639016532156718714454666003971021518359942665895827032363148478378651921760754661393809571946984261968458652415407851303196030742537946738569391245062801490445972407935612499833013330265786374178018591176817688894838406132430774952701908125074951835605154755983718008118159220989978552918630540326311193960220646934375251664657110026366358357154047907847454935826177824124571963060632988528531940306508342372445888263144789028447758512835502894932145827697615182965326416836765724725916946916681177149234163109476418830154233593334016497181564733656592411616266022108004428662960725777212380767808639347242641116013608763818859129851268586750529241280569492976056719024406850842450216807356850510236146043980860951347057142753950693153800590112192812352931704851915052533305205153825598816908798576818696528811180202575470583589166311353838960243901861857731144529492160930430838099198314524738470868846977610356683229491463841124025689654950989299533107707168280204108888442965285004891498443529514469266440001824185127914024786743478286185646143863365870466371810415622570045310325090334241248138601773730553499514208780084873493699766635118612505754996808296706641442355563608634215234327519157305848779325940111521560812606983267302913737333792225326278862396479184373752727522931314435839179819270958881507086595327105117750755791516142808853523242760315819470195352107524740237367938963704444734104578923738887883211015239424119118015947273032301448621751848225887397925522732201957476043374210679341998310794154573050507107277202518146259931875833058524887129614220996957939228224668078601632755778700770501840776318934103159361843383757582271589697791077120894553066745402074557832190794354890009454787615558685006026383188617664541066414681894221333962560483244864237999166944847896735771254475978986311486982117309360102402747789083271911523978805070099006925617323221667518301449096822180747256740526679944986824646576700011125211675429755801475980641151064396459735228820392205583968767302409926939142714202349988364534497867928498252256799971342236911863949571121665933893022350700962019626837685730606880846338077094285504303631672767037249987201668363168950189548187278952154496882863651855172720357137953508324463602628378868027161503128413618281260830193508850759574982270145658484106487953002992531123985447250968134323720545532619679131394183569374980445769311783969261141080592529547819110822945673175167720939888867662943677904557871563878564738994934572969514614466454652613531814989064819847096077107304764802035785331755523689569998995285336362826361880183559655950417706616224162132619059558805852060291325435968310367756238614027041903409453687232004124799265073990793758141633740658496129811549860721979376909347259035292327040768280805049315596783624989176083005963269447222470087492320384373629983572190146996667108310023622702885249603046414113042737158445678436568868562872832812187337557407642559990103028386414863411296743885153025117611866252507516945269543090938164859620113820557131317272367251762125387089628137643965600967259545657916963307374232022067710901822155951211149830805066857517090798346459942960470779015790042906520034601842116709198432303107027260474065801108803099117803389146285868754353788831701292333460227691857604002723012615256449815828070829937456322364434345781214008170393267426678852290148961398064760673901476350552244561845537280424894622028560258972327842266922686724145086697071454426843037525142108808562592827890695053679677918770770935139961444970266563699817895803689351490186226817897038431495022649203929752821556135679655088049750141172270360825903996222717744619596534427088272543614278288762554779357923149639426909830518769979802802709324377107223559400538323584240227876642696617621593084197697718830842695849795209060102525297540281878840682114460605167263404332982442336057931207446247576384085904666406083571195615561754423092548497107552573895682636386111851850507074831492417177109925990292813180426291766909032591027570269460199048525960023631045956757769105374249739051526485075192350451337682173338570385584651485053438224822677452334005022094244281375181575428265793121422017605003230675445454253647912735745768085236661698026453893077413865241321417665986934973090412509796369292898833498276691584405940205145624894761586748197925698542588079327892851841725139445519199919311630430240060453847919450612522365751895915726154887205223205468584854912188126940128648585386877366282541114430647901870329059417600642414206722808408644779418309394850534644735639999899190803064948398609570432422673160551120046828010206298259236312814600547188201357317024627645732909432264877240862910744050388262144279559241894031007530632351500173424609974008294318665858910490399522422593738677402564284278452805603529896446346005809789044031509993395197736283465645680729140094028653420457302056447125530692158606227650043498290167577165915126106526980057377109456234751023941520512793115887434409603308002878733970079462498944132569488348976794854164850306714075460978255273396745971614542441565425252377475097073580139633210L,
777899539454133294750722079670666172160665771997344607994635133502712199398175293879420897533887862017651389362087095662407563073787758211207295661626561192308519938590566011080463328915476120469263438853425500144338898849505335101386090858742820401810685511676501428451938242792570691910131337453201060180756904873777483249604352082662670380886458135917303200153386135861620057219789270604405569172574043052994861824756306849910343580024262159109321503888337962963781514269957541150956423070262679527254722579804870943778127836869899759026286795438946984432477023840632531364362635226334997207078923919014365010667256355584599988445595922770229645116022834281960934210020308081021387758308950254879856630218317776633313183488789025678451611233302280677390708039170387307453418892968601889322157007059709845454576438488744870851840344299899741874439261276313049194698965323534604107747968755052864965914500928540309232928260530344292338164196537644306439079208651414634672936775948592335966979610877458554902462799267234301065178607421869741559227330880645955151190744861455042127575698499533404442217890736378364812236958638802476436235267067788107676589686962602917262086126800403538523658225401413517309879619462050867564918124719608506309104894973336229533357883231231553759562035811969226611708673702198503451081907682439658964015028206262126374717641146278025952436368296306247527632610918804910067680294947783674769806880149952493423750446508193655624949449600416430620131797292668819804808477088353135607118007678104389362951810137757051015485751760702379050495418802856666242489085700798754884739005009595732235175943478889375712774963702565512928876408574890378237363617375117705588169877119611629890816286172484861827141763682513777782131992803667142170724318033354971464136414808522581363680350170729331496933689429964161281112438296271446109554480336105026100432780912566917547918779516950494640750771162804569357310912072890370966840868416558456350780602204414625723499582045454709970179547702615321534317077408584242657062901447721701288730433699864337098285277713792050860063220461045860037039580657809398459863262170983934642143038651825205502070926998012565857494367368197421953421270547367008898379202940823664840614489737964614092744566480600965498747920778412439747150892245199289288688949649386572691314985093933718256923744433266624924944884298831357527137692549163900132144221925518782214205500913502379554573709576193837899374140831048277397885082231067845013760906589807881411285842799622480120353408868370145109595896449155259337833535607926610064306648576121063936866880956537306851212459094459869795635548936749821503830310974180248111504188128618123157573096361933027770452626295156849123966491185015662287806999458154885533262503007461262189760851557091483232352588168813032414248069887732801559525817064953770415022768174063470052383056981223492079817946237693390942729059809528656649714807371373184153376894641275512518534080572895953813566340629052215816579497035256510040207525901383738301539772292517321188907350406530035611457201361591567235509944699496750351447077884455928521365096175310566459946372078941064406349321561525187979297723279969394934237225812981625425036297990472836968082533732370069532624998391039284401767409223027959229548419960315075893149660281270043997782972981507534694376592576498856598121097777442562469683009621569312057721047754130825794820945331155428806753736476593232813308063179210722534401823911245319297830315693630213219277709295194050058298690347535971586840966259163503975218798044295309245888940029287867067010539080797693383846977238703145047176833001039197887174595562607704940527469400781397595803510775510787893084732567112933306926996181751617395122003769168272698724564460134121962807232709650486808581277743998838523601868405953770692569440721834423506377037246410595938370105536053192212628772659837691738608404830601606425923691560323252068089101014524655153210512549843213477258516430026735470505528378445158350605621158128349192260465118769387536475964627805120466135905821467537585522958093162172834503942195659141131380863473058359260673431943197668787977077627927107186018421117313991171432897351122598675249195459671543583394365025350258182366969713948291145577454912755010721190434655331031447812134064618126307633199841439017714415447283491624187629891465219137501337438009741599521300948170671893365033120679070633283586245781458989395903677286608589833712174412204411148637391371941228204752396122359221583595090557759728882650742865548613020145374834808068205119500009144627928182320674702149979837480595937123358258415441617985365632244794313386434119485179982874468263374609454722762548518738779565104435841934845642222041973829845524011003710037759071583765235144385496415911047414739717629495062574882816143057927869140016740072979643118489443317047257699112834262550309123875992787686364934773273136406758095118000247101364577651751511281632651386847192881184839629347857735210854628466313387943798134089712238119849043182270854427203770099664327659806115931540507988008970962337397865306440763595395215384041534719443438659913080003204306573136053725440042982330288009459172286240360371772927367415770152102560318662349071855963865925329798865394301698890291573889273910722402664612326547126731677734421912901613710978287417008494001051206744962452010542499956017798313636429019255545439881050338423391841118894442304341138674211557299945178821771539498797788237157082891099748231882589100138231920571653259976645158121289953175858099062776345678855223377785599762964322379258040491215688286743050025258567853580013779114907536751626781624153230864669737189204899194127783686809327327305837092886837657643732176561617725656740963291468508789736174517285055142896980268074677642937681546697037786462795465086322595136100654621832363491575774860950037726413474083170629914043974640139689265748503383924745872818242445447009712216548310731924749966901935605861014106792564477267475454750782654778264513037439299348460342697781662044378051564462152997999178315232518570755255556199069034622489248568363320131592652656890886354280653715853275624338288966166409271048663146856293967029486699983270057546764791100113999039113782085102659900798234340716697699250443222045167387375798788021142052340797340801237862579872785841998787942381684374453809865404250577726517375594690524200537758695398787738L,
1261655715519348924801664693258629496252237444837066050661042597302075512873645288133043673689901517978922404786451306763716650491529970375051912972732874265821432714444132129100792343959705647889212723160621114871437077966510219137836739849434556836942474275566734659124297626941836642386124916812057550344087562755392561092984779679591344783766668917123735480341873388580259037636522120787446876114296530517504955417895931020361614849234298713208672816133722039702612623954693485302206354729968958587096051706619197356405401486042683079097623875345579838681291367399824281626279710132633603835603005770417289850015224114002851188249207195637293228866854891804227791648634213162526982776430752441468751641892946217114507107678038680814921224153813958700829726731240832962834622748111308275805097272311480492121858981152240425559328831672255222699896714438586272572139665405470912584213199510094213325815081200329491281701923100245251814194636097322623020582537676241261558792891919309858180813193686268468939297751145763492591068956048437824526668059652060600974159835924771932432298640595269852720192414139472043138414894974615157114362525560524259057089271306997565415351049121941958544842232393841222668571396079463241314457463772089048893851895361285511460308696352105331980598586441978175575578968527724087505397522720337991825086326695871541039538105440014194994741783423386002622525059538305941157298636293055275850841001915644703993786262134493332300672487275192868340400099168834158717625149567010134128399897832361293635965380994793886705959098383709267047359275900682510784315890985292402836809361354169425628762224339789689067803917278519322553206579892072574457641458433681908628857631132881479565922081033121155737932695764758174298028738208830598723508805341661028080118591774851379947801431090779698486557819906962399118508763254608791633333172345540493004832220619119200677684410470493878524646545493058707953034282777886473198830576675246494595303011291803607803208280025935306333794891179115582490995139716646212623600775457145333985987491366036913915008280722053227471853845201694381895194869949455617741586709299424785274653939363796896808086601270076711032861781807858375527974886440831501246044595386687406595873820358829870886371481703948119842096744185994507328056493872971518793784633658978193488464038805013002302123140106578086488516434234519820359917310985470781254290502998981752529863566284434773814239560558136149207030974293674507494630871717484271490015761521047207574761811394685065457144756504899309146053933046689974879487270339103978125211594609166941459507876567730551512886045417192389256047268997558843451814311526904182909929413643918029227202395392595827790349254536034926899973163003967672562151487266785698163664518691481380284475119030586579376572433392984766107188364554408623433194976576601493880255317996755191269210836956593789822771371217201701040076562018544965228048308139497883163946690735602225403554675113122982130749106072183396171227808530889473147696427520865913603806569241484000926103494786677818313277539456934406690874533328987441812351103323691538213553622987917018054900114295727194373743021500530634582596280142571690070363377833476740501182024066066379501725109732605691695893763529647900332712651240666643265258154133465577531702453538011274397558431363673523523885484399652177887359623536396303688325011593326820496388765215321704913977222122565505843025187213026359783901014833824160450988724974717899108314623826059411703670221068628359113731463134407421878365366099103488959542190609954925085100010572554184704260619399171300257028307898759346528946363690279566178538908294591221944146106585836598187480854292533467575552309079639431806085497333505034138975989806949906640806611087827616754174720282672159462498274389045748303623317444305272194200334704583543639683021563936694212741857629952785482434679324259387474851108274131245031916030077364748921740464612592731108140621581230773334910109391751333381965475634411599817316102687851107233740108795253776787398443277481426229994193849381699221299534867960901139265025068653119520399457850145089536107795025958508176444452677852526271005879067805482053196851524998220969912509593421891893087443833809908745008609413067054477387101831778699148846635856348070358122410988863099934150741840573536634286304337811606261527769289416509340079557658423886062399199198419680831865635322369782496745143170118744234183003447722351886638283460194522816931819284147756103452480670455262964383827612536123511326629517004088850667416708774923690832146782830701757922768542988194816024536819497452535148301180564555460959380148767388909731105998220330123701817352275585593719058229643054704415996337958552874176953979879215038860308238743871698070472886120300152618318211760504455886255130638500809846180744170817634098483210691905067158331194702453583771388644135260280006906831265411084231831960311661556303050498139146338389079188059358548253773442610025020043298714747510587115380392913055508932412823904602534319609101115527264871519013622779491323593461216760694710792388668188152613740816725457602298051164845252970029770081276565978061203123422543385779413314754546754101888271989114964281826275529531823372736730758026147160329837227379369445282482304700355892357164974193909846034019638643166176829796215276096248429426295019158245253034931689373195831964059458123044432607060606299083095790084956781139765611288205077525471545197713459198687697586266745186066110420936970277512128683210119429020117815748304783025224123017605103202561816468904703269623057669387519978173537184209046794792007639932989896403303061207845070187295520242451578030623758876784630087692578287915598752772045329615013833968246184137300931548990627934367158279485123855831345507073706087382470083415531941739269793760551292515480938180741272017453541825602436640693514923641031869679189300392259466177343536383769793904862677455570810909896845025210099111217552539190607698939683388123996122002664504234304971902007209320173328287664111344242054838842672588209940889208651444385456130110330991586735824535008191918843050567570730944611829698773512379930435963298360620807576367357975419166850890204949818387078435338132463076074717985857307313886727400954646709974849527266889871575426821520476788871122011177718044266807766175890939852374833617609929772416907920560068240744339627988499682966170193L,
2045990193148848429248209078534179732131453430054328569467439277583113465031077839302202068658612399459311659823159028763933629280186174779938047731954399465124749357456137265187842500911042690092419921011124322942393487918495846151462242791780730150324714758852107386220562332203529938012677841844352634854314794044647800448371350747745318671185433724067881771996052359141117710134532185408820640928773459092165990796815429107499200185685428703371056035532093626837378782831428221914592910670965712032032621190622198855556882592201944632330461588119326243254055690312613153674431432192042465146131313436156059356044890640858645250723030832706247263025156865394109124006891227072123084263813369530122447332540536970852262696358022650919767749872234868702394145245874317305391646460273729429251351723785127909807049794957936568344151704293900573788522068560656147481619362660880930035059707286036769603473879750801734116601838234846681494258823372090386916950654775725953435093937846159483632649620281133951531225057063434958410953555699395193436036510804954105215748239099650035704145605196400113458190925766460636661085338057916947917091833489971111976513402882588553250890596645741924631930388314283941005657334400521295142735707500595693617269784107497021628242964718616844737412228735672485771961892982849214355336284332255383977808267871552253326662774818841024861659411064588502905884184654563864364977498615612807165848485327826085828696120874206537901879396258895379389944106553562326418468547729322781521266876935499199813039975482874262573671544524422412661984938305685642627946872466234618772010670842015155649027845780720519032658983177978472296413552562859169247247476329376325524444802275021617664582178996432588829031584050519336570302276988839028057644859744827496330929432924332758029245197275098392885331231409772013857710690782653832372547598918809550294159740883724568599205189038520033442040428619662902559656262419090605034767212821287932813839046800472528702837271229970029435064083393672631819115501521057436581457293277102192879221177541478786781852698479262666125263872903538950451940097622602001183337172238341204539746751287331575983026996531163140418233360551169845319482128677493151968816811678712813493947367392591964845749780810839894017863379619097784549593387901596632670595917522316348742799025872079885480847760987612397256616967739566416494592731047251361097542385724424538786102649635180930452423554573710103781328092796735183629747472927891298434474563411129694522538414542538012428352013992723030322568852518499318488009504563127712249519949456774092907484152384233756322185825640128690320367169916196627882245925923782783092989806108114837569026173393494996250461136920900284367689744625709400901758909043295157253691626699789762112201902432065830877323947180648862264762675420231298850144700630866462357492167392535599750234150290635368419585518472260402915050441073608375861805779043865092834392640879436970223187995469621427197601832984831710215542560092476108633203101935835124353806544239066749734952312574964730553651958837032026009032030138067640673938566036581906423969772440182840340263677226365299810479115969670457049295076685354849623840716149491510372016481496746971139684623476945353524591859947680423365418765670211036767408691967881267415350613462569097068999629297451362495369178618089780158907356774766216693099513301318904164677621226016710186204863462162464341240722652787748148155879467610072746426126866578655293173548067007548038449113915696625165579068186388258183215337791374300310730991741213066470266090623793975880481077442983085388340303613206503779513574118634704203364992651207026274449753712660905671172097487783052224219710253641645398953758069999502446088191519752821575460106419858231615579284794044242619470208130687829971091283325047082307828179716802724221818914057015302798790657195777916938090268788119829159221739644601116564016854522714518771570979683081562224117479233765399276334673047137556552223284056678806907734164135465425700315933089833910557051278033574990166441688448998600878241645884268798146567129394665236315805432769379715238760693564940040027435381999901438775700099878452230223556766438573454709821785267427533785373588394371466878766343817086404941625668797377060735106143385373437034573845498833597460375200408912447733386127594125735718669007361895477548202785845800789678365847996362637364341986255808638224403387883080591120852997456989779636540076125080999122381470155630792521059252167969534917057230635029802187819885852535153326685265255597110476341025261637985618836817422663771311568978365563546165770884022400341733160985756985975881436716056624547479011233461436028357850369245038971995051127638456101877372311172834821114657881261183374449566123847337434662861525645576371676188668397453881870096010005486606244826329810621705918457870947936334574521239427483184412782643935679020700911542344334306566402991553252361098323217104851809933447186731538781676996401314835303382542526758649743212212313745080452333753677126621521913571744130992715392113588439700917596693276856756895555129590026713003677613103305417722673584422137115320454543242023762255857408946870186916407822282495512849448113307932746417435473131252489903687836262687259532078181982827604863345324787905576032169700671876664367892060180828247762719950350919368588852518812432910365704140252323755970466153015252853456343657580036636346394655489161679112064581653265904714027617127503962574272048853938659612242136916581735501687598038550181562338518147072272329091279738213594697461499872903566899963323393438626361805008528034652306473897290557487098292504816293236860253731249463226494398785932715752003290716080599194852394662783046149052951084084479705508491777016540480478607854753503545946672642672504228000450431159427619523700874889987131804389053863027005275654144216804141405553648120345117052644628586715344989450610462359714201792322133678080064576546514988000996897427762783005294727661394679762511661978973970188091788128243943205269800169065203352026871095595942646925390785751176615413189086894917007829584643073826058595673655128139876202434265595286603769407644756567699693522497590007209563533959089892547339930903167106878826355872932695561163376209784691872206070203093713988061274780360742413236190021118004788969738026507278492906776178252407821054949179112433676217966893684377226223078998L,
3317505176022298260138250956601356020728878496764899895613060570666587941910750311592610081294877378223677278308219134146977512230004975433207966302234800051864520060457743451511899664352184115141680877673844524303606620210486457517547927778852856553013006770344357405218487502091344069020960272777485440761511875057994188209860206520435199327627554766185933671805104363386898068611442228979976469559603955694741431319112959033988967149909920027054670202126361002798782998932422411852189745084835372291527882029977077062691269839590649324432983138942368960249387588534401129306954960550330094662421264916650664016226738290287070980257168698820225150062706142933710204322249767424542556511580982200520592022680565816086767574055892886425838273612063871122854347445837821418830099261043542035419529087916974698291574349237617050147832552471712459495489263828729894382213488956442202469398911402044105016587883560757882106348428940092630352870830036920592944027439827091016034374923990747234959781780408099374633363329764015820750131141586381637869321817158846975843181444925806879362887309073378092141450610174734156475513305569638940893869527284255148352388446010116447579399091577649649913274716800048567212425741377490435693690881017323915569620427917277775312849216326162066530416955631959280185967680174729953466365091816578018828629264207122279768894646155183385939681332202583978093742776777859548415174383029974385739072959667700710142052627079248251628945824560089772960924586235354867342684195507907160516508848406336874379457452279138851903502211361563104471776515474492922854434651408958719529814997694840812862357828172887791260863558407303372550486917637702912008833671289768895026733222654097847526327422739487102451638474156674385155723590874707320732302160850759541852129919902617445613353715655955313873189841918456974693569129574487973924787922745983252380140187687388688255423551281671051538155776352466502552795089424426903988510253396216047425519517670591602773231313350313684450210426249697650113411416225542289264731901514726730959501620488210040102615041878696297765495172159230597816318658173106062567303601074339623666758788711281960739413923310035553169218201514927616501478623447017700317811777107334402793961297734619639944006103748977609903310380674879365701884088000894470473134109068306777520313066660685442561538817471116143623611268761457191079210368492980177993450731591443941942210718774722075463525956827632116206219564343839634952751646728236487554331070444617762531678047030477776241074518010640816516610394793763970476850339204854713403271544379063699876038453555891827248039938698016562747726623273158086664595004654610562082354432101539744905912074946387182565866158838914792098085470906318179055812720424138314862636860424090899237450008940915767492592535013145106068270329382403396911570118530474518635167051421304380313033195365813049544945332165306561486235527791739709862943283923303182563305423116187353763095412938392984991548239452674330073106107860598399606931619005818123953012213384373443417355587027923278997184224733674080491477145957632106566207418228320599335998932027049910202726162044506462311271482978244818255839655748089130763119093648937121613075642809989572607654521419715625506696416814100654771251583144066639606523372197456550874909787167899210906394766737335148324601692124688812865306529724548845458207562522027303050724645178459097684271687146478185849868010649222037470062883212061279577866999164344223360902322380102510197992798415787766824846700780794815292307162743023247398941303000772902711584517551004285094537785029195712137145149946954940233182789410699332672887423899812088467632649523325494154468041028329250549102773980472799433340689777808341344688831375246506395415137646770994233667799380187275618252119132582744683512482298382157606765412664596862606707952026842876880074096055549561742789573071401999410959299339441327155836720225335347642435462983032239375785664934547109184488321603211521854708552839294953831218839905842661059543578365722346017511245261853922015660352347973788757821004413733096100224154870965810599319929550175997834859742992004369379666955445973831378559083071863818388888924650093109865802649636022148216907121874238321342409643780137561040955957140512087668999969468013754817172880159602325485143397780713194069979251834224889388848124414307674525770126985919851092666524420378551109265059259671142497608532683950348575107735084953403354518486718418843545295374809414349433592099773156933049830801071089821943241008134053348031894350160591312424117169409005173137882765063912657467764789468923183173713307951661878855942766428629742416983821529867858606032710409650588215184918939184668985862270785175206136507446119345565941855100631352691379517262935618002451755091637266984708110157836578659906608491067438945675552335909871909785731734650937742653263709154474376945150115262776933735050254476876627001758492129024606138352880152109977178203066924817672139012892067401718360759111749580139506655695324909897919864455202849083816502704437357937414770836933975641678210424938426543030993355515782764052613441498977492732763982980581133032462676519682439611251835342332088106606285408241668220976636949652213941864468777366175828974630961360039428030642192267686746873055460989096789196691871896915162399084679891754865204404004447324851403868787327094832601650501587320866845681814998627556805294937877257958576680027911660830416979044462528683517419205907165586871971430096339109902642501449603667177942474229708759068010480942853729611952796746248323200070758553987261212722993941128061956737977453458681679109005871623780967469023465751085210046747601936642116095936954029626703957728488414905654075622411238548441925224837382921889547944839904279602891805250363409280705896866372484267973556465802089288204266064811649129183122596209160221988511123434844225978537644401007405814290970052385347308990746191355267671313625260950495288749531327173682578054153600350095484820917929638648472776762426672363298269349082289800909091180734297568725302855804980988657966478658857804435180997157471866796426595155839454775956317554253419502811940800897923279372842876854122043634700173453902248372807481018989403125619542366322445489674220654454375779667499266789117396494425344373288377661796391340478104898023832901619503980103869264111173461137061728959568824249006316522218193444465929L,
5378548308401562807123828545771854967187696340443786904960745432337059072322766625655471104435968636482669328662504621658526736277959657466291791269583869106811628086525371389432635961758805855336212193009095382730192802764240931738507406543439042687088503601003530895582301281931050317542058269058761845751099684842299296291564306805398242732202784580617072403845064583382815824312772024790612126972800441132481747710948558653825515897196890651334814592925701389001906271310349340538369702118216210952395083641402089818928059825200537782425900263801144787425576082614409684371789554100556912802030680888975239446831406185009257591418812705087918064968191239632426068604237169296058724320026351563626899293742892565478354674777192012586063429646499596534291218248688638634151892322986879442051603456541746887852550657919620963465618804391085197563874918120526588279493529919674090137726203739510062802416024721466415151380727086103785479370092327086333863674760184880581314787146031460409221613504769851495186981521746769531189049650597327546511240233126315829176706309442660385801218329971912036773247044459454935620569937312526493414424229854057086724871828058061151322798729085493419828712028652415834505796274162906133756167865085965725938814727231338094288613819716314153375721897440763973941133086779754288733974371803218972139768049914155118533742468370054626062968636472098594300143718842346714856121180425649558688395690643168421144439415816698315274817945898551995269576160535224205812972273921116819819752465916497406051810922990232619492009814806407469557720685891801000617262385002089856815629806334581649871991931765520731147263712682141278580820134012197685446845347773275905237506277274101106349380876564271476294605216608497274953495095016511652861647818543360470144844499261019779725773046852801565872146686641715513660209453160582301640411942193664682828829029696680297727948160558534961781658515776750238065369332362503476824634176465760551557381586327694955376113465866217006000438150835018795535862971761862579152380716768935094586778160997647575099496454927787396942628274724555692906984066833262097629251878418627769483457861697517563742761390237696795192540225565513446214061758268493067529443000931197098176820141201101539584707055566239824014724265981890446514579078306488027275187595776396807007523570564824546852560845382513737824645414115637984988769292647595737920514240107796584914307919939813588256606739820911099763297742435920448572184795304668083327728604884993945637858071745861215971925395533073269989613255301885051524687859175584206708959809879993181139558443383228002199675107012842865623782547514077116504078676125220735794223026471754246628708024606706428578976757527082929130480405481812654220316659612908722296356420130884229887084406556707697178922984756810532183082271143981025670540961807599739795961841898510644365102728921647489564046158074139824647131484041103252781131081537684089296425865598049712877738720309181674397363946221750731827843933113938876777638896416824996578500494720642035986970213229510550191171363664917763372320862377288413883501306632106709368485167111236223243938481730266594968424550540001054979842154925747707326839492504708340803392310210619127066505811942147334952595243209729092215796284595186192861156423004066931858390438598794230441360354973131946375637926440996840003461629363553343836557246362526784438977130856539571429907709197322301945099857093337273699064438589502652459228654372958521731838127388782815601298634027396088135134568464213843462665162496931529197596747073877867970360965951363332646289505009964966888887263285389587541257556065477125813168103704625797663394404362023528758021091735555702378518393953942117403405175936003524835273590461102224866219574754260348129280591298461315462490559077052378669891592410222086370802806240382159945085655937374280027463809573106115523977532277625841628775750633470689759634324454693750410798014121583529156066722893479813541671452964922787867477656031301261444323344971803362857799343235750567079155942359380420153122296062959348399211733010000981738924012100251085585197841896892849427097653166803955786339591694052115524462416085580468286192546613476750277184008832779864278593387604327317936845564234674257217286640921856588289748814285076294053654481872336034393111725580867417129782207666989702474100610778742991372596051339819469076537561855350224884255439682364669782481479045105292504434459799240487145427216303521413423431274019306695229008159874397167357008535225125517298255078583453451312725890326624171233992042079871231545980593818385345935017111971361032013195302072229266705852063616464538265825723702106749596470263516356584653098160705805075294144279106567245563936234198607185268790725350485098092488117808120054639641228495215551691442823096760749686673731586386005767780708971759689603596448424638592955365585589922110502450414805346929047799255183674577726471053017713329827856389906993148056689751358949750842664803097063991786970580694466375939118020964091445345001379979169473102769987497518680549365181292128877712506465729049231854977521433432638465758318289425530480657744446324076265094022908054141913697908644627824081037861325254987284483270666270575859739529653249009619406773473094852066783332029485929840798808656175269998125372411962832324339653118791398675485499015966514042750882797618614514044423078945165612157821693996803737825032201941909802166271400287209526097640080185952348617391785261422855200794308535382687751058548316402951129033725458554176740192383678444196696055246847469194576912676337377888021417154777200274153008005587385815202908488630816752156310320196167125437218574697099601139402911057126525858979076065815442571239899872815492024737150787398058999165553583606487469760101591111065616805343232085268471293481032842332357826589253027266343340668821707876789880088660470158674940755500364138344317490107927935202862175384231770408944513292951737242004824240120971258810839755277211098330895538251482507692897589387659150145940124481861598455523146156485872067557981767471096018572348249479333212201340385838774712147571305413398937912061369213013516598668761097277326459659850149808822028978194279765291191609653041521893444934483712985417590631867918479154032066795616250387539857218305023494366493808162943301489590315953191658503417754188361845134121915874743258668760639370184026307868031343806L,
8718945666479231151160370125466630847081486591448134920865051893742936226206802508089766848494352088331501794350964476338831509299028284327507219898181001592929450851396896215522922445341749029535910469806372701538339972662646234054938484611486870917338644673581072296477589122835334725641154061026114781044313483382303507576246768798378234730903407105582005575687765675260124353016203550615345023205920647988058178273099198193065819292767452181208772701482761773354851152636484719334080684512179674181666516964900949661790071282520512558990696818808760845514573987943989438884172613598423557678985166898597996748542952487349498371983618488879183846127557330898312662350513578575186065091169502123134449190780636311061338411710069559252980331067817437908359585398916198794253090730610360502369960147815196809953469526254937280052474139679346440234670504705172071935358053317198608997715878122525701381439415287465270851972808678932624111492975375648430350868871980193131558299674460418418380883329428642547277287118144598399499916780529544705272599343863897259477872862550373863280430395542050748612937958898544980740430753409136778603955005631964582908666845123388314999851256828275062579813876823926533463397777690033721180500959003583015823688421333384628719675125254504804777227905611664695670177298118952707312302580797325127578903552746760035299379361666625096241401071316443472634408786220677815956465364839775574186628687158646578515693099499872165556759414198726184029144558494724797967500562297251708637001375322874246480917617794335403680467338507739185839022788985734152513501810770484365270393058705428318036328055218900110949520239033493703527542362233106407107107872632009319619834740350227765783311891197176425304564678581697629594537628390532944505391338201214697265786770560685842850202284705216449300833650464871771349361184752478560579685752647887106645585840244101943579202470078403684179019614292618824676278075516269019773474637028616138290207880744825713320509067956718085923764301468650399211390805454393788597555544728001404708680604690605565818857550722931338534582530887551936961188289733885931286665122313795079142378271930683452632183607396697811933137678998337510457082141480060173304964405640784916402308815330782181398861324040476451094761947321511751315642508229160290041705695011685597610968980168639584081648101668220360173285715406799541528911593644744151678936874879411867077100371746931022483100189186437210583788755813885747983454170610151948982579881651228334071278511950575956748284545858791516980197066870043364150250570788984454889155238068895862326423615405784352258440698900662049007676396802516153089530330165859944266785608815959001272838632680184320348610588737565381567599773816834411123343621522996149935119466782429605574741398385581498342793743960076894363188142239747452805370650199616015614707298765835064037053189252195440433826217655891030308184703242404041941031152650212600374679149919117022569525967697181341069671116696889157089322710723190653582796191270796033350799143345501335003746310201489478633379491689352967050233142402893530013703363770128162436306858486801257391435178149014890566807388215642345086388775198996318512272697073296073613268311348857827155664322009464229848462506791102503353369779828269255289877077894663519032422558406043812570078826950449996510463921968021854117548611661668245355274197926659111565062451580952503593942278410784207894839686725791345683848339524804892091562534127246795593693655779878363087262934692761336302876546582640372121207502971591645685928303521623906612406755198530084730709516287333505826344552877715130055552134632164397772543999379412124208879405536292374742805564393731157348943280795551353654336200417531726792469846055045594763156565575555699892367999053768983282502120173513605337649858504252196946447691188053829052113767971445600407856391018583366149142464909342621983146374779108104042569038226195197361871407071506322653056903567431895150604995241599897289114449786991222740830585903385434549700273927745781938409971402330356812638019355417509336043892577306748964341626888340767045631834808111086613286711144258031895309346784469375318698337198048457668285382951150572102023169972982224955754336312620851640119874279830592433943050073769086491013058451687604701009397277043420898552783508337647030189998801898575662185050726289467692434502024434025695824303355390945946319968461513491414892342686758133216438703901621915255897758746086291999247175219899380755756630236994684341870068616557470081073655891736346190249872474585089665716445120280206440033304873718579575264460613298516162250783051454174524409867927630626641094814887986451957449957481738805755194179497576918213724482226514853718359384429916748057215081339950639184267809348741042141897980524898111623296210136318433492121072024371115914783722350322329163072584799759630536719078249976793389002430207400512134843787823250854910192071118461420850410849939498756076834298649267304510350658572786142526992596920557216539040676111422287507887207224101581547374728027221754718731796839867128814128872821270773281597979869831688664570828042963917398921954637841246427984509628301279825727109448007103452307938694391889370127583325994792004442114851163367108931097596168115061897396052258615647809572765345622869540052544959906636057726019340820608117316045446412366754436360645933912628335295724156833537699065904808531991906686430003034755473589990675475988377122706134821869646695461327006441806611600051394226837752972595854124569785595467122430547669820205253811851419854744972364608436012651622749768547103656633696495801807727559461127326622352313690478131280477113462965332876932313682398345597308946197108135282958759992038812934812541683835734790636461552202845392201800631845160905102263464819787394674555510988356877994717834788224447098782933266699755693364015918338112841639701683937409250964200933359359412965452801334414188954675057252448426133589347888758048421101873963976271357283414345515083738608056256430467199368866813065409824489701093618006882323556374004865481165813064581109033168504974125363422202394445279195522195373723424271967748159275371165565912884741270826177736782106356204366635222095023334090424108532775427526516419938388341400148656123506535924737508623347830844416937578125858935267053993939530767960211356188279794144499859237783183852215786442693479415519077976514942503L,
14132153042211487174732665451987744974174698833961980342830374575169049739030365372980418856794920160403900871369232716162437077753568274462183796921468446655954916090909867359653449243524422734598181155730560228073335159072411218190299532959680510030835231461027335059344741934110271917946662732141101475706205496979864591502340211533137654520449371243396160536789286624775381358970970312103008102182556449848912014884832003534518736254081234781660935863851716267767281692145044511842942642230308268224871885542994526892498778514895871941416484360388885198900668806544526282984957464848875963335031347639282219173373346389793332010220833645881020775678336261424655423037025699753285849151859318268970633830649822080679124777569264317315320244758232730125743715585743655207507402443462829768245737768498738244189713118991675675256670462987399305205322010186659442903784123127963647897008189828813626805620686524991871492023760643723926783154136398415565771181795780863009968430671850460079568677142221158539585458499815998257062654189998590385976352003261586412956006313602779248833380952267498141223120737802918714551542875452546973620634060397340589085010126294606722659822418284126537308206952747010272161124508025707960108538229814178795614950949348863572155118364727686645877633895564907409485446673263229005861205801955765381364636347556885631758271145064911869023345171805911819406602662204510452578672611903884493957989270442242594325293473992650055141965561159927615627974437738536871445428826287623651609621811196920711800333246060623741787426898024962390704157621570772151583691755603758341328947187245047206322053006290261754816601105480192505621078432362571082231467503701500445493827872823754173063134487525292845391383097476353550467220102772510260863404321331800679603011796552864962135622484443182807941386226203527328131907422071700548979951314339380684454638007718597729938672621652211716794480422207663974930918089105129698900031217535490741905910211880240616984129756815232008823664982167328888375127782468411774033031274022347204965439826746665240568509009452242490772702229793734426039810506381274788813661797301872239853472242521815470529811176824002239152452272479550217879907531028702553879457478785409063257030854666385080429473186319448762963704713944379148253611934271869720925084552585758637771306644378745963190165032359342545054431995331558012121699730800001626444007269179659751931173393554043505491122301690668766434093176433176254287763563296335478739644266742527380498027578093183035321073476660825878783915128281209632158028092625071722420966631096486913039133241242296651788988030325833623626361221103365453853773452083251826571556847585412493356238788611574761847041472848895898491232078014455788332458596412112879646903880968558989391023293148853236695614545380144504853034333485388382206305341438763666416067948885951632378946165698616396883329892683242148622766389819487497546840208805672608410167678469332731720634300549357715940266368884877141293008267435998143334477916151333378413629483365880426742905889244307634062927560253412794374109083435396026708442703857353321203474858591886222866247683127068758377686774770830764457231611188876897432956281599011898336516089692224058976901257546959792536761818094712178416289146179964975571496706045026385721855853882344566402344650190929996638228466018581628810481669393825922423534566328023055575923532170949405757341755690132275010106632806492967881975201951290869794477316556318907204649503230248467877007417974065674789865187445888335399403365169799656790222257242633519906126082758668354882484298848260241166630900894757086758322740684794653697510363459262628869284125387448627285068325135906389456955140605612903914580520082724936302766458123251798428769532406872073752487462569800444595250514824007161933712661380004181054865139882213987551888888899096262760406892492194517887040262970411802805415139594408861341086992330659181473964432155482081566780380687798082506272455706829863092055033087823289313492542811580062365291773992654266008028337224731838973748477722916222297646035414354491927519936325452820532326225220071292794310592244648387612722088541899103006130593777335968629120615782889933557538002178563106055877898774082553434099149469974633226717544920532556510349491296692223007627456438964241483708366868962364281250394736778037581337345105904202982658937683693070622566990448300269113003129343916252182617918536594795299926601512589846695484444896159976084828993391422634668485149255125628326536523976815808594519452010976438724250774142541387846146761936545934859626451235578141054452891558983267635395750717877940002258797925482071439808500347541224907681019423706191512579082427705286918526267490751217333858508553976353958166769485445825589632069099891377455480789087178420753953677773371751059609015549804596146552748159337359161150772359125276420844289738364403612246616343221788602471403598324034605166710239946022493424832300141587390659093387843829469077656091631520554074406852132170168241495834518006797010870401443997092071617577170282853591290373175372042525339448640820599832194054656528579468534903510647392054749064444109707152095042462504008085060835206926801909219687567806452321981343492365296002865849838067567383641109844399696947113256986652098773387093350554725803834800007848414535193576013867706010017394038351793099979771133493117015207067698827727582403215924597685280263179103300829120678945432035508806219110496781936276480131799843816773906439730286805975001042267929301510870015896132532506971438416842567428603051276753530268892875095271404405414426893956763649037471470101897812339301948702112010181428529858563700071832913350366470115945986312514490019658970885812272739023849108480015008429315702179190545577274377664922635311026126586835744181097870412909212408140438143814557683000242161778034470175837520032813121360600669228014252466311470742885642799204462422472452694991139074185686082133586534714661438756426538161177759790033038281770954134718978502547249517933418054200385271359593189086967814259086477287268213073408420468908454286280507489579136703005464675371176596549707965500054895643271527749814537157103101069457971342631812406901691685542262514860953385197128770074832264615206433790512299022147290557806259530367883667074931416266300525194516695191656322803095014869932215194421490253706895528441395683420279716643952571851945690028L,
22903306523200774312674187503073660314925606892610058976678226718866614098592201165696218146873066552671570402060923935023088367221472306528475558656904837733555739910250111209286237182091228088049232244958318578658903018291217440451515861524407472635501473317902908452256391228434713902463188240076891314563986924142227215497817950430723380520519941346155167500706297107824888435790736094771121281942830246215357416811510188795934526333006320930176439771478779087294541448256355707318076166127558779324292318031676779781807868651244897512074026860473074698976054653140062511317004181359250086276430765778007835916808855877952842722717402847269536059082493069324700851646323650224256052223921427436072539008768568535315105099133836722693220910206104371406165174817012712317647106394982114406066491241597007323694084824661403796873197595725033568930185528731275352267365427237187218426132480768480482055334664817586418105496724164890033089059736209019136464117168302645525791135258554819039182575845068572102020528671596273952482395544383081126438361774007897614679110137698142299447248353298428503005856848090358895372799030346713647463755373637924829965548326657454440236165768184877271599865170423780354718494244747361989289987635424049513734587918637989030203986601814153491205940899694426085243138816562806163405147878447785304555086111577305915875117386612761847405841054290871241159606166078580493995428883090039442830818201620131801839697904063620077937045377205964648996654256567884903590253350616783519737782718325545033745067161439844808476387611025414153823554236877854147532163004483954155722401012515845574954325381859332656281656531105799367273388956863744381580590948206518748886855338436531664668623833627301073920116605552817095448413754914603402009971576389681747787261132085503457637084253998139275445690033893368377985848235336723586542686534905360897072636293277231489479661432811312118424496530058311979888958731485991523735903160026454564728071241350098061985067426858477498011239004445264658258695370163697674405802672575071107535389669933905019359262752017642146978233906380808661628933180627654366709472796960702885660710798877188127151115444692107476833133562251085149673131482483290694640881613942865278799994602621770274058974036530189598551660695816055038858425633352084907704261724158053597179471702210078144407600577364350810833441153867855304882628104065625477243415602838810810602418261207620225151812156224517018735919163778599907635204300679745830374054970542180768566131487593385074448729962058979386118747202726029517986751860706549239564573551564489584088533946253534645628248506231681565227275694498868049568444149313243305590832759518141779215155317561171477199986132965526941137678280598061023612032143816645411208604451904402168467683651968911334281811867221158829998777867493417630065670588763215538252620692406261277083748154162413674807940248077908885182331300209031853188781970118278181148595017759928301396016039229598646022983567476114341243978676338523428705790312132600033289923672341510773777244512661871529787542139401342803911271393351409044611271065548826721145396575530226100482919985370982272015290867821592427929576099981231489648877851001822498075819184749605938069421059324003026135099625173954796751875187809439519397912830256509427369352469792947115091516982352722900776885058591271721003675430185542628246986022656308409663863777807567464773036706167504483653517768395825772211434623463075199991935236788485597455975176029385931940925761367288033087356676521654321536789290556478398916877587129092791930392994983157998109150814476114489420956648082972176908788705197665141717576862660758163003776360099909120190593234317212311967232596207402217830410223353464899940283061103688938335643958993314245534529158598424490089655817269626605492053999203616611131090303261984951695191999592853157571333308392910097365133747593126270675290362510831111637167123713170911689774946798499223511138353932238509978504563447782341196419980986352193469043292062463148727079897278292720451316137282038194760566907266183045951175157666090095957611056558935608851586582863264970462756428258390450573442140150589076800201538268338028143997682044667411695296501856558286961209929887051588063883183163532986264824284939829534484102786471070543583506952042113385883210409323279566825924468484066849756157417726640828086372798033590105030649339459633704532606222551489913150793337173412582833579425835051794119948193462983686283075705101950422941384159739788265991400665052209662221274205662561187634357580276231454876358359695202499566427576881317623145874199748169868551887558506322611271697127138882731219594356133607351232137456009938981512569576425589543313648311086851312828466318714077111196922438226892227031149815066655335440063630257135638229814667316638592948319512261925889002231633967720485657495774366686421695922994498693492245663985833950154626214338197731140548919885723553194471954676435050822927851957144329152435045474970574818163209474701811982372222828758168988123734860569030500165593388436293491046424065828669243004251671968740318869606345243844197140872053797354051408484147150659079912985064222872554450584615545650877354475454285037164434273963908690887399074128474064141604365778720169157086783827344249747357117948117547278747703416343221322339841928018645872707596205801228111157593451353248897923739942022113557909133111350436693454736590263282607370667051430129269325729751845004925339705452778033092952746376635826507255755827824578140430369856159003699958578409195254096223899785795277722413022812964251044606732725518728510688751340190037082051361937460977726440919455180853557986766210834670322968884685645400007623469903139047384638437564403700046546421961402513075628062393708066177417129264172902983499929076875226545789130976044609777768732185486996011536396904047633034073538602260365327068769768704054237436710645217206563199969272746964478015575351457336611955178714709708015111059300247494942010110268167916923875152132911889554172402425012634026702375338838180247934857875102691235960760766955844226663032814394552999172350596803154624390965933734894701733393110792713411702250385020512092562918028779315377020890407222001110693312892509951166280307269983610005103589399163156019588795783080794849185578460361865020877239716753555068331544014772607038958364573656538038047167442821835065764768200913336640669888L,
37113640934845792212576150164454333040330946309074461237383308231030231642582479733189421199514922142649825757821878035391968737530152539759346809368293181051120530514035097598539622714066850486372721100232764837954296791035277877340355760961809932333206619318790130187633005638905669523002988426158595340938313662917592366605827572986949138856645926659984295796410959149234245586553291679793734281680301710482866006957307824380674774490560079005499964832654403524554844316175982633891089692331000888192095297909953748580555201104927960852014095697361911533723647960427870090497751826805061898212537422557637815973622782987691068670408554601880261732050907024667258866682603190878282025717375111025535126890054209222838204070725618631862213954313174000268590700791128246249311140278828209622326626696295407147525306985031691607575762565890031329518360880224070662742054828797780700637993665312451706080288902668951664766600083459169290497432020968637331899435821883854280991580709892718747981871285707550256988403906088100491508598855549632083660474313282272947295742261140477538963327294308084340021371015459065177834576465626568629674834349989570613487992419063207568877025923591948982428804154629208935334546364869191007749777238128343205808980285865567871941823859002930052217095138789402313545358247176736015723311492726756301619466320796935185553829277422150197874683598684326340602768199627709745232132511890268973841415368382510043458767379233181766202117027420848467703137679038253340003320027266389585983988981457174903943422372330030136044240054958747264177995195631653064062560669328641429655387029064565328689107568792900833472602596662424245678934724196752528011900647868679303903789007211888464880001402929800723857825108340505886917346359024799570586133645538315562162668136159304418096645517770818103701469560518016547554504830392221047419891456823988467397564453506692886448745296756987727653869124254844055582960539782024781717834963961368977798403966934991891765462392602947326898119093096470876007920457849233216146854756491762200146728095703857499795872289393272705701063394972817669690237243593356076770312584303568743169154594388735936880556114864656628261614135196773730717672453979595150349352290977437812981435851549986279537862838230383322472424625249974254715991556612359434491112491599929156205545855312367341633343190822795109783525188541338451281241421469309493517953916460855169511374611601275450608705872832873531627996414364700950312818672727988314909825807697216853649644842997723743020466442228181177486001392438731210482119439002235983417228625586128750531336842861301444489413240785845148190158948169720903496297118681865346142975247458342890432765445610538291961491121474001308536331432887471198329234604236294649571427588132009592532317872355864874915946873385245729994008412926218197866327290507473723178834398022544610229553423054536263205263933422852658289459011338612044093193657580779662897644668113115002384139879473977368009910205212811533000993871761953652842628498492353381132350765628894857027810471569847832029818611585564428903776506841501040048753370103985042960601274397322639092731217773606473355734677379737347213801792375116332573241329770308039556026666332971688163827346195373073614162281787967518401318428850062198932884385155683471543452683342116870212927013271904367748588811113770246916783020384242202354204868667251411162078077078452422020922758885878763861573330485959427061239788398980167895037632238001990795614195562049840039021580072070929584305358886339414478193803292521838781407624690180869041978057856467438642879858802659642438812547857713493325172668792355629887043296494755187312201242474015862418700733806110520512583819481598894302636424854191585317421938721473366863760727287899214008600228032115796984030068351020847977121128023918899369312867217154143517931121347583985288562241623467683086288597398877396692368413021359171314436696719881159290583488541489154330972249735898094806397752249559405194450561740924766270898732224236250835721509963323628903073502881146566641097840504673110935031922924749557355482744122602836093926819233175918287189868284141293413307222202726003007139549382380596558475353481606132275438296343768537818894144985868426776078750029034327231858098825986033192474285071376222366836189063940193308302824973068153933907661420295774682552608814924391055413948986180664764694137003821294279620733654626537024175479499850435817584221663511795117180051160323219367131722459468698726536302152375447379017944121501731187457959150169759656953608143600651836858946431688447732998161050808410709093537452482514071534087366604155937297133776595905501694139831002512617151871231093984149539697797556804935760532945062599225717122822617765775975729083677941147545131305309358962346325014065283234082125504462618544318294863774868085597929368674623053449060037269979836067994050667567545009076827263461519601574566278216911025578442932561744855055732400552101203886069250557833597366175453603987818688975865336114577202386216942081863095410175473689321521099729821861538703560155799595715815260826643132134114435316547135252747154576242858907938625605446207512611054917801864417301885158942358615570534565762392468564941363464846269210109579274440901210604460285364289581923617956014094352176834560624794009975725328987142377945669105601629874531203814204615368220723364432690932050608768888058792650676137759924361578356414602461303683554787250554946413334504533045983443885534122589178586593776697936214446740454640615054264121348974884109907205098695359213721671940179534186409484254652397383919676814262626280759402780753614790047509882611403891589388817122013881380141867879368511725368527030551572131184343498238461016588720819899575578404674494740976995570225780724211653308775515017832303937691728642270966147996962420053288549033096493272798040821349499763168840342555904189232811589012680352298894020942484521737493413375000613961953245353431808206602540115447739211540545988375211628804859274815870474733518924401379862798963072049738881049419194475327455010642313321499004258500521772599839610181303634289634402948348027389854941139031827534439203448150369087864608543120241028521185654072019886463806072473696438170063347531328572238493198793057453590966961995119737388871856831485450712408936225727602569204727893763172919694856448188138116189740552768490348459206616979888176712021768992L,
60133224248726972205480156452476412850737787758761045191647322367026926811882100596187309671914845525363322292243259948521408246410285223159879869382513428310177951698060107258695565730005596833494706327940854985560045029817304743455048248264645191497204907289114448911233290519462507649542077605843297095464342894966281099566010937474163750764505314830958691785282546903947078954990646378965810113161293927095359527837458569038042748438466941603306308096365345178968146087785952917725699065760080739928573499459157457819472267742410473022952347193633689239264175302266217845874398154731938842230427713806309154215078676693766102592376910674291837868031381946174696036701525883236916771607762249671263734062228241198284956105786225608005297789171497883800556150990591974844935287043578691522962878782005619401702176830850439918707590442265379745113196459377174842231670766457229151073981161475324203778950069038543811583883949134235932259094216342067971473644427087733755069345197779354250255975205721649462129890378449214556860535298223536394505887167021701746905119051061380557568390423885694420717006587376301584296860210617174883956347639659361721217571398828174714142585766159517645383404511413394919544953463157761687209093648761526765221810723393137241998518845104255880699864728920991310836558784818096429627211307990795437852511693896524129859670804409355817666455954511498011324329044653784878698897239111247694360793596777658864945396610530656691181438293806129638803202187842536616377955120725023830828242848287457550709398440148828463505464938277372356972171295315570984387667910599117590098937119284636584352139246080087821708755299664349450176906995656393426487092172510954720650736276471213440348006097362171088695233684059621087959592176868940208035659567749875099907301689738080470405255679794947737408539235478631445715402705974498649229063901497102172454047131241875577780089387536079518595305877212851594365327466767278117815543117416951902583255302120000961142951847204869169225539816003710580575375545184229334038629628228426867682443378010958295475142853828920454238651004254756087736801134284786011809386597457456609375666100580546486662133056410885164684312792758859186427327297380575273586376589848972656555814102102977365924155027252360315779723916916788061152489646882977378564251771559238848121679878428845577845473819020491473615979708801709253081913256470655564031949148585335540861076717305441745261624920598498188381179954632539442243158710665559510342021728787525015371117114584575874473952057919220520480400722008458425590091549954752740018700547088823033837215745952715966654978503948435335789600178619288894995863785030280252096063050273926384582414657516963551408966669574625260155537009556908386046001931184339480850907939991789912464182675741768022442883013740205642279127918955244280227772151553793153079741841329795893748353049849534021588747067695509276398137796251301944716310575323686397339985589814550376797063699445827073057101195333085077732133817702764406795670245081863966540054778341761991092142013226305443089107298673215456198473005266796962789534191818575910977859698805363270041392014933374676537200945540432130989337030341893772248369086215237742758563348164315159522815461552302127657399897728056748357175939425729350989625351553220050995553097553684298308496838823293565913980506349242354648019174776584263409897241705893552524475188941497975211698810568355352156557356588220753490286283091294222672807307191121320626593117492024526103974731065062876885211735866580762249801087566960401515394157232051022310609984472867136606783783632337925663156728534374878864298628736867063264685381012966402156781261249355754674036791217853028847839905646880114892783360876711305539527079293150543467970229318628535961051749522333872326575803997272317733722801341128396008304744460695656481349947535675524168741392771684979123880539327132810971994636756879060058373071873627423516205476796238597100172091248045641094490773674346548776585048216895177166694964796458100701428101782275680404142920436045259471214177613465622459569732079773076900488159324756694811683281802224816193939606808391445350549498282525519864561349282320234505426073627975327065047462648926213302039978262274207394307449337758216201654320490065499538810871688679320499538186870719625893961599101618219885655886251695886142663114428657397540015674073608082996374287582669707240920677568605939090685903776948322318190717409920281171571550704707595719554124915848970004364460714433390975451318902390542396510173729579144954132232415916109637691077333413493945211672652783747120594692992029120294552660709587598028170816568921226549767341558059903770164087189230034997946932953782447866690614115212698363043701991727537068373200897976575584421016718939732444552644568486774908806262100240181492904630701834385943616360867100726111308952170498631585882317170708923162464696922104030303674101863068479701596721033290107661837329992446946766100859351702607399839108453899704721665724846560063941041938233353382109189985358087308777174038735060781216823751745104579344318228205347394731315642890436178075709991196958675553750409407758028993332537820352464744784745859538988689338236400145442197230944660412148306963371045383431017432785476106225084305998133336877654702945960116466188790087804980943977098136118534483466414040780694132874878427977683041966028545730286672253376609065356991717223003886015554651203686901049551649153883072310415584095447207111654877042973791756466967456878233882649449130383247754337655416677816658252841937467241841668660254941104884995777007417379568818281971218723178882783140486562054568416571871636100255788380953638044562836504759139395202285584770581517832966800434161263752978678078603423971826917711961810510799284866942548035409238979626566346057406128289708361012305458509695386296804297659115153207003507748940472893881345757568225068109409168868201875398093560795932063567479101623228989942099196181210056120678818790360966146134133436399200433829955255097988086652610691895491107252286577316623625502435200508119859694903770992496114247065657015796765311103037701703708069304646207365050365931559614636239564512650998567215142481010425505009772888748584328755618215686097554612735443230962288918249024305232599143034813369092094869735812097172265235781860716092717204786473561330521303293508422605354964174962869999115692064818834085697495L,
97418402146123866486367686159331640474784616463451235051034679671056296142987167779541936315223281008811419556839043761404961255519586196473610330989453939215908441580405888522645031412572223762975003109577407406670902485214290698287614872739450170206978937347440500857829847996019225819420753435346134875203782892425436967218804952944776122960042253498766735196614554926822015588563111977244120093502097439525640533574913203277849596301658143283465731653445581792207662945492922970217788882569753620404272473045419643813152056113736672607936419310586553271181848433458255216346459421115437992639523648448303304065770891938601496648873757632158052007450785071390203043036299493673625516407122007718442018039743052976577934992518572989244849300125137999097484575142341566550159224862959097891636755739843767205692532822387887384303787985281642484713852630076693417930649855940782268368237723871910288152862533346466917127176336930154627058341690506722087465024747706289154260321426747928194319551280804691572267569544813533427784458992478995693001414800902377344028505564495995999943205823960418358098545410180220836337502902358488721462374530978215292335954447825917124483051767882966775000228728208942018455076201303307549642831677573275130195709003003755652669662094373406665535172686177407878377874413859509547801016409929914512163831323906640742768031420307245524308245263682840607867403192696006814961350799641836460039181756877308818652291919258220249581706628103980122763448333069013731243056540675009563726752825937828012634110320254723586306323200940330003933782809721839950790000465620919996023606655692248208648671424605124021298722147015801444089210123283584262956795888513533182690470917099406629134982213280526673994113515329294532544833189454854532479008742979012922371775409949029371557714578521276655033939999687318672070989327627211575416295737233983564250078392972041864922707130340706766735187790939707191584901002415997721342231384301358644530927576429629851945231727650383564319522733532861505741411687675759384450717895399635279105010253314196195713402598025754116985546338503685298516819758334908272194265884914280562412300385403666159812014174587456409134777290356934900110883757064725375609485174296773738083513523298953056566939080198163215237980952030839424608929694325002943481143250225503103327884253693342092824479890945768920262356585146565587970506672989849009374374227204740578614057683091348631034047227845221111953572548228487261945568625543050433532209945209912596420180828342813383861074014306442586919526838188906643457654481286195608126926583198349075042347265302858431038571400599989157740182306467216937867401661681948730373187506988664717311638197249304544077106288856863887238638421517671575830960508971920520083074862767201879299311526082749976339164121008373173229927047398437880750527207709699117110750827239063091140035677343398789451464773006290797884802586896988532408128305937864621837140286171572538847490904661523353986582119533380951106740507206150361355911188569930713659091557046325267845728501444070889202204859149912739884038880053164289463353076005907199899932513287761609233577841029411565065333280782257221933987768869580907208175945747336439502306130920264881302300156994565807326169330895951206665465024503940712752847685487979790429092377452499143073567422910393624880544684703464457808434668689329449952914350952703264946580440097587711935691133008289542596241617249488288827233226225557006730284058022807508795399585626333565682672412232426077615568498258683284476028404181814635111699851849122195613057428710160355166794760957320164411826470571993521664715769516749465995119882808356943280317287451161679656792361311761365824274816203569787601204584764906950173115572475372934853611235605537329161943604208038609776333365678728103511077687417462054661133385300773732196145741469241392063533686775844991315623120811310105864291392401710903671021783953102829799004949224045861554192976408609767399835450844863573728882134905414485926177142676981362193125108693048310937674541424588551610042235787718185324654098396606625594616512985857001333561535094855287860452721085378084810979863927016613963892255508188306870239727892998951099587634510632659828456631874728799017416233002659168048825108917465833089781240636421989754197588863707811821369758069812067445046085998563340627310461718742024188149697925772240816182988539627235543840659023363275228191732158021370643485106258388961235708702039484390525708166147062565734246955238190822518433989005544892127193190917538015331946709146122292450496601865469226119276451591698643835163114887629736584089503265201823501107618108330617491485101605887446168712604533041481337059551709140213085668573386318710765436337907153027285553271302403385357306865067507737976614956000281872777780962007357259543104477039092702248642890057372490253115473941790929517246080600488797296448850753918108144201616036320303561061366869792405351200213624822725968085285729005325797767646428100541141092335865384451018889591249754762157029188968787352544095872635074676670603340246327368616465911412961656391333510230192831612748300564109855943821501872124400539735259670407567957568822288897382692118652680339525321747864809855248087655031561355345077600447818330084085644243263562823833761008648121338258202413651754275286306304310594308837900295064569504795810922257493792439177579726009051609715291523690350992389276138714277515859556731083436417942554649319613797747202366388734846287612867583755382877440598869448504920244878773018447918448341662208186606659874022467820213889585284042011289609040517761651301302305568564243669841238870753189451122536167163674585258434717638065961976108683539852080803965186084593777222974597176706544149542776338546781012185347411361285327807434610865626027095751265250419889243216569266950799238513779983029393643748980686870501235642387044454636200386278513029316813389017752378059437552920535177543858948831407334252870315618557916647344934522709043063890138614637925535385440836427800413405748267756199782035077719348512965985063729408694064586883001587439091858020560977725689647061842702679294546953953833682208524670384000409833095215287913933057215217942440515116953937025536345886453354498445141435458603188364910743043955791695418815139619207824062998442920864750619323251900865562046937808386310445144107447484062626572061156563913808371027265483974338973L,
157802226147559552288079365090245835189038409100905898830313139005853020765051259692726875137988856651888398057933918304650381565032495779473457145813998970673586797398305691897619660672031851015582171845692637381625390018765547846897121252880603010653503739760387882071577396815766331378385928695604226832803212945199744796873048106325749334975019949881845655241636239136381308868650209068359890876655142357204073969880213921766542669161480628631754079936894897141830285599557819978617237368608739250516757079320655306490265393577735331315207736146006253207619833676664805430443278868826436507240651848022905000751690168549744482819949037960215839017904668969510549792683735891056789183777458428210187641256012558214804650964746113134095653470791486687796610684496384387896690023080759017735352398770770573037320436955137423277908433771379081476055631152562334137534283211021727901714092152750790422338510812611712396397081643528720889742287476172248092713645864487939020621162414872163293333445176411959297564204423958462688190260344536292713243518610612197486906761776349964644259164132712868521408223500564535013097739878106405750139616781375851645628085292797765348833381052806819362635641974045911760166861596665171206756649352432780855227395051838129588578017184390961316836601172336192107308547475255236729237289210759273977112683168107745970877389184724772419616594773033285770657213054140355139146155289442693346634163742431273480783479174495431610718440943603897264874023225671888236201541542258519696886325410046141181042136827775143532437496186606252594430468899013513879999613333124969908656809570583835671458266136428170173605562298941543839063053835907031182073697402455075374984342860763411564896149898016511286772926533879943475156280097868720580203762825533454695634584334634849339058987911302265577611023992658623008124774374361102945939570660567024258693932362690843943835355031142867021296950244270331872173231425339527887031322568731518793457627398015514669910147285486064562096030106506317094507644928559812155557422667424857084484445978860432102294580833239897954967604570608409932789242038116229144655321671252052397326117478249054037500194273713151647355026459414947099777984801666341530964212989081165156381329398562162625887698396655789433264770564189272175749310576766286745185675066169977782461445894186773763629973366405333248717444229508869389622026039832838636701932050918709265162223696328173363408611142390078426705801759546557487002736717762148715580317850275717814032472308066380784371080301455272040721875169433615678701119416949327111207439716463532348071279837308267325829284055426497279850129611897121763237781658890074689581489071122356141516464853826836347938634834297426817549729495442236845855122936040971598728848993070883998857158159993266146572347624667018092843001372162867997981959509746110831922928191688533211802858013134834387935217271826007168068314244833608505176034998231683425260048300125210221630596738532116472389265114318042106715132862038575262696413141207148055459373760670332141416520616725719453191902799510408298010673756668205512129336042589289103856853533571125920815931363033230152024986095931383027677710610517850588148497826075662760829417119804899812003820839292335620993121190817504837412965903693743981950782542526003470256277260393763762403789334924804743808021039117616054455510946463099213717012265861793535975802024965006558611131682832810263486893495840497426926046372998251118863729260059874153352878733174314630299148105178548817049054048649185230031591528084060459103180986636955659763138179413629871390403866405260226048246793727948315850028696172332965131876524619227776663675194586532420351426803850226443193543340396413713511049070547974911928066465151316719954625827426063623326892841151877745347843031568161427915825034366271432170774440277174250757153035001129286734900834782548408536864411346064600869809429670472445421194362265137584408444572854065714888231629066945098100207951549502389853746757054308170731658993123536304771803759782578102695800888320593178235892366253750309467486329543504975310216645325799985134402238640487261684430132393605512135643575488441690792762617949893663216084528362854358961840788517883875734471751152810318908627216452558646996418817789363352202737240811664497318068857278428133699529144507116962964663522516960733821032635415071674981113627973931137752908043103951984676979749979999193767625621495279923168600530670814514613388849122782242067814006982407545937963845885637481891813920242435426920304840777754432959902378055508313333646517729106919046800239793227505834978088481582351144336811883128425824105290782298287221512629195952393551516518935658783433871091155124058251206932300879387162610715009833306160295576241426211106948015088356231085213701037068445368026170500577545205934454965068282627323433363253682216546055066730413359639128004297918607507004558854934820914308548241521213234015605560955073101527021536799679219235504293044414355677575365482724708308258795057955872902089707960567960317215046661887681523549254837069697070280529155459596205628463353677951635444983163755493933280552164160477872916461271619758149643295536493709796552540420524821878290018612077596349850181369516729013895829510003431104355611144005039110643408211859623630186350534439645631117983589461569642947683948675660889219177224340359043409159272665094281211507042259227027003680070805534335007976140414829247926298180770123280826808387679725573650513772271848450734619788581512527662434858965228897088868482188148867952822050821842919922351996257798333734009454779627692463423543991422739360955341592095568861503863033487587584156465683441821494302157092212678337861456320126703425311461702828505756592143341087946967648400550637930219402992021853253452023804847457796897255966063967538092915758427221051060070475353024454209091944743039381395142520292547519527784269034670849134966683876452622663572479520233765564723722126301079040635060904299452504646211897924946684389275131632042766382499936169681214193450141903479212964940173038027343316858579823064273685884770696736314261254670946397098539079158138959835274767427547663473022919419122511338002766156516063089953849722589949373143785809349319315090437216654695277520088427932359407442918161983546871367196919663369938314517694325765591279477784486056736713401768102333730539973898312777625569452128997053324051134838832L,
255582368928764847762644345027309051531424918553257358775658238259961404995042839884414933331813872247533534676922177427893899777015595145073975043279847735327618141019650667147940131035699680644549012788491363798962349516720666402234657084657790694456905976326005478352033686218180601501416122288412580823737165050057443926332113097076436416020845059960197088698720745588985894768613193730886146442223914322603505652783907967782744325302200081574344669046312840931970717475597453904022168955130652614674056173566219632193625535269270387393907487204552372369712779862982338424129890787740595409934231151798026433659557871164173642453238518057223301135739334301919156869260688841071030514963248009878939371530761521703023566561987556283941894746699409931301700694230763821525453825310178215086483805119296547119025639044860771642293933281010303855489866545991148949105348779187086223249206159112778242791198124601453193025636724276632907380580299510293946556321557207393826931138344212225049811802918182611134270373054183264012829450462783323911391742281712752170180990172690474517928955877017956825547339158456088497751669791796055103355690625538619362317563893371439886409882169591486891513459835701784642850779363632297376544139015474323131422752790887772117551648689016639757271293540018487370360826982205989489886703752285853786867882894444252410594835532899528444959052704434236980752986743959853478778171017627124111654700854650211770651303836491926758131025019338884655564174964519654450134615666674262139911079248111618459231788162693772607400647882995459556201445213820205200349409671159697102987931510814557987235189345460978071799193007136789408273169407989981283561585750987430274875459831320678078578475383267110217259829226614547378004989694061513828032934732360452518742431111561079963410373284328368678740073438211138406540053193464817810657527414835161338217450007753509668200335585201366943728984755448012892460445753010739274285395052301660874807312211716083948493693607611156548763858426094993468611950119927575282303927591440975018213344174635711353635899891855798455006767702445740076873886159143129417429089912206154932547979237511706001641043752465633072948207123577900467728696609884256500268260833167112358425038056578079699053946400427633478012972766626512411422002549631991729258005808312200579322491496114681169246873788813917828178587743684932987301269893127093537012769223098657435869036688680248985246145931365209139157896850524239965243882229180418809307491838876728970663195992529192510551656368599396376243275114780176998309493131457883151448628088913097343459010810569507277313234327830477173927223904625913328494058367307629198298932152613306695517590896952467952667062729175902500477129269683655216128682364407968634754764998241378764850254038510496058404914140009504033339008631309005202695195804509420278517821067612764060344725530307591211970717450003916767393374787759894721387736720523617783947429934866115164472177734449862621757360475526750110965069471699835829946210263739710125679679780772055971221459266464839219686617658001328085784093683626592381229476102179271957503748583132662103721178937014756052854659070341717789184166593011881113742321717622405181216217099007238346270246858011950363565565117010668421963423376997174934492661692642047772338753863894164278431580646804238730596815424434662659823345421328123743354698184847539730365500682013369739891947376292435332303929476523914936388712710923200843814214450457572276199920918880103950891580858894168559219723727732344106452019814086107619426342991918943988423334433989203221096444413624971870051765694638502831822222963681121028650276856085085173215485796641446382618417266932830504702990782104949982927081211239148168622274944433221865401443215755130143432787533324133553167850275631659126050963994537206701544766663931700815505583823400589607281941531880628330513288895527921191542098201718140132933090124924286669524214456791349060421561164640326408234912849330252912872503911826777356632809632653104874269924742655159397728182276867706962330467848912392185976046129148682442884992771493554335406815586384453989937202619534640334004913453134193810034438101599996666014203540503390816255561197349705351669184109268369778373777646799595426087690284331249918201405061209846009548917884059703027729360079504904554268908750836676655771259331856612309980099764007816869045775917698479512567254150906701703421485527787985014282757023327734661911159562288895302846332675049176259142122851314298055136174202835766630019293619334422662108283579366359983999739709833937177051076317052123515790921782551424424900959216206972359407566763147750478441936478258404865826964353754334424377133733146417018581956125428706714456958066956782927116129848149459159926581201375004961973072163990744981135170945188921944625825357094132053305243070063940512507113370049904833820034111867150857767534992069510146983061714643125026363214490564305746939171016457563596357630308253692493546882259506139646843883953717937095007491327310673401681946454729049693636714516291812918353143966308262837204525255854709328115212539971463646409449923582332377998815593691811780889086553420106453823508470825168291815580468288880477046286741630267365797109691163498992775871096341355957395906072057349289475937190131018171111610703370757640243350885477871566084532021657178040919703808766797237615863058267488754678032675302137457359008709429368169653792230688865446572588837158359283029780969413114166999330286352401022443904598331808924950197498824536845043337828396711698930438518775301460865386291549360862155388470205859490333344233690997729372366766774620320995655893482876661169260993649862196318655404700320744251387181099181629495833328315353995754181121248341262996221989560129803299526965419384800591117898678056341854940704903952996297465560259562440421906481810546473175266017745061595320640409976136891603853059181016730422795669597657872685273558249166917787454086004232536480847534760791280640570968726457323904412698482357196272782726167161495702054989158997584033422564530160765198551155201729309210170498328551840000075934556784151865714863065323375357108965817551799233791994886501034651610667385263358957212282838450545674962120176046960000041672011462325737809254203908703695993957279617229814029768353491995266934921528201444910959196873004048413402339713681588287644161342493396305666279791533238466193L,
413898953687077855953859299687905100154742045011366903324436999015847888763818316944198453409245366923254025187760431899350295118096636720099264031015108591797260355842434677172442547447919895125384663793171531306374286275828374949374054395582958827062001510557273046461370020706377780377064940125778038665066716123532390222591941012313810276913074957347268756873316361639822901551313477550167651755800099505587303136271670228335354547868847578337536708396853582934005910933302502920123120299854375521883557273691370775841022830264158902296565310586063504002991995491730538465973946427696834913989993944504713625740800858259686226551370785611846143376643768765797480514060078984841816405234850482414872119192241139050009485976903472213063718373835270924707663478209464166132028421983117450951758053740277718926215197967594491452647138411642576310155457077902921259130294556034434204525606147627617509196422704527158737568400137267606823901160559004565630024252608796823796630470674760771576713447920574029054477698678010221500254493352942767352387837623303621480171059352705512181102840903434238833256458651327236362242865901573299870722811492952444212133336998176221882651124754819409029241393701247201791202753648916911317329666820342650369298103277130474816559020589073063293053437189352924519584596968782159351006127466356924014666682075751931177345445373961278810868356801638376410898557389981928297068216081871613517370950366743958643065012916795847649565216428649793051038849445835692397950723092562620130487512615898761554494086527707060407373785913977373351840088382704743411835921681277397202621769892610421847130824600082999979154830008018483913570475788810000192413335129882511008188101669792585917541472734554081665235823671513925543085343238298657526552073935220255729509574297711639267865017219413775319743206051060937223709588209801984258030150005872679314092434390772848959787627314475117165582027810967231410017990431671613790521994060824583086011439551693336135234833642249616787787539297324222365703679655621215586082464480915301076316689221697790389438829080321369011345074753846874052215112418692858073712376132764179766516782426548178926120195132650203622475639557821537407754064738732910391747583940500555194120517451746652905619422965929100276556159268925300090083090532775082828316459350076467873228387408466140694069415083534572497765505635923854302500639801061551170398449240303002161567825702943566399849054338409391538609018272250468847176810562461542944245751621900844987890748521831297368333796551804263642332309337188433751430600057322527990326010594585290125742366635017818173918954430966075250817394133288848912202542801841340746304630816277173571277382092434705969211861625706259314274417097906799039709829445601109753258116852299355331983910417818460260155292124912271471311822111064633780876503075332343470147990987026409834396624465887587921845995861643186752945094807587742709368035156515713125622522469628162915022869511793174716755843756504322592700804648217105980519948607148827291035805593209074324845042120405056318694787010669842999299497021845279175670639651108150189404704487619843992402031350597208775469666718494471742923623125000915688270962176536208033876096494826497219884991461007958584594276290762669075892738353324380739454532512431297528295839400496760937368595305573403632017784797012492656647147616286698945079926234601837372957391651401637259735032457080006923867580182797239409703562020918954969755846005142440220375884851466548090258960785917061796855711319657562854105388327871754810734900603283220763180978729021575904078515546565410434354436424695494947544911990713280596980955809436647719878832940787152408948858667717301423534249057448329271461666286148155686164370369268921628683620310667989594947854563054146731674344445018605584745353892338178239439471549946124289055982303588538704810375893365987166157828436805617112080534851747241819788433918563819388687687568123666133263652662915825158115028313672977759453276834554494112076971145173076685072423676282383144975427005472613931539095564918668183529894352081910753327200584053597796881071520796352446080657715458965217783337619015525721629355850045885956535510390978082146681571940740786392358532724617760410473825597717895487219661612003747274176164225854143903733832267228948016222436667919933980467129868315002253142636405744206300433880856645213091602409351876869044044463828138847203227765857036475694444413845627869604803453809552736753214205779043741718207961114534339647532750007950530298916259133599087457741131809233500216684403911229811935658113910048414598408714450619211423387756291378496307140669451952171939383814020808485400195032520639903501583706377743459400330319638885134968753954536432936714603182734133177354701948100938630235273001619157670955410544770459941259839938052291148473694666103765310059279691004101651693087599509724821521511401541272726227399683220263840589448847371126432190103808943557154983452418112587273884755255637537435342532503515736833294462454809701154376863526232817324205875510708954468937497937271997874546031437152250970316241607418589665600541866885738692961341790342285800616019123892798659346497243376450461941011580457564960437200810931882164945365145290985579600372326229445021307071174651952656881899186052784990916758019982560548325126364577973928969914833197486349132762221818321017608673872475621663877550658119214060259366748498173554902366816324504047981612939928938851857577684009510833319208139993569335411321312044615680326000178551615984738602315200842340073397093514832877553571066190517862833912012742908521014488081474512665113273479115114646091473139526167723077860608242249120395144497233658514345655541048613123930348008396033525591267730818564986034577534739789702927556504383827366015749944645133188329182610543889426093135687242287732386127711234751871136947668354386544411413271797950434244506577453754940250045803173678444206216876438118523191618710772381023226052017722190477506850000375559348942113608449398736696475804300354797037020000922546467061989043290708545231208738005666564997249359083774150806178518153181281188231143842580020791259218742420459878382556599010163497386269384177345612059723494487348001804328051264258168940273614502071709036574911926573469799530440688015087297239470177195365996974634059653623461292107824881601257138714606967204672587128366599943503673925141561589878601L,
670198524468363746333940605522321662276412717748811591861482578410879660476721464596420957371618010360646173345952817058036245454340258054622169923156936927329828208231510561688757775028184087580079992787318169840210270193353385042919937796734189555968766212722217563988148118268534294356471118061985706495533984960829634555418747937779353163527139915206913819629120382967296222714072630507268164505198977288883440862428827876270346627282853664037745508812587825567634047261638099738645810809968044306442552654743245173084215061547513163020288040133033717233277063291899919852438042980923307484647846636228508773110831804512915978966314384375161022377977305157810177417532799538978395313876019969539985699763257772455862595322943116491073211350702151450379123796774367530605510847075275195147779138308435840164626631305696608284072140986649996529721069747234690702545297485385943508640991009801766777968547182938606396085608495484145175900679372898251260181624630869048389906276229100200461449970513536197496276993623173609548745370223238570693642473951309885912530183822817659901770749885763165973252295607072918142378784971108516237609650401632608235601461607175693703255777108151321303182484940143980507135422769208685897159924940458937879438192387746779777938734242013498488791222297575088322008962569704545947813932634112009696368878349499880453933977504551618222837431362008599527209445386424786884130535995627981638424528732716840538104423281797423696936002624219802174203372017177922205429047610019869349539117379753189470066722770510230916952678879269995607484732688389463497911452495024435562296452946263850722527195521408344977505525940038559637149963668334722960955703650692899835666837405947918406957184908530799087364255439709615811332116395140148886888314106386751954398205502618997131510348155737074580130741765494118367738500245509054959662729554919894545206198286645256315924635310624809684794683849233700987934154766707233006272340961412576822800902241701236100869789385358926821650919915839986043560706351498798051368789873681367381837040912139574061716195255481837754276331500071164362608745943784183075385641400763302468992763153627232585656837759169618031550070837177171961675102782531639791650426093937539944383592795514836544286852983196056946332000060060056466963369400907120993260052731708990426969861268489810767453134303069794899721803874409259109019747683417299840099762390047835711164411620082542808889025963988303293551284063741037915493574148645015505007746471089243822665638092607227756728120183739024505526950015926275938004782334757336383852738101870557555518392252061839582206412092115524711062991308165147347598244067527666884121480448763648362567505327194595965447558545160651893710680101754188666319178465280490223687378459478710637945474813726549260115415063463049859273958562707569860566852915759916342053427976456186281599797515854710104650831317159624072165387371323580286213687985628215644672845724665948215941797152318170127977167212619189648019921289647963727389992162485452624756009943897225102827576401484537175750036538202880597617124206345441408538135011709982227175765930568191713360894133105811266719254093111773472252772226378156482988126952919920701151524107601394947488330138268017708865817324793057548254960708648714359738300457444912951020291151715652731415391094144970256696879801653542477937364576899276903874338526412586209766663676655683529772794258378207100273484121369587637981870503313443967202253996740194828429314631959566611371316298592715110139428900982733926340109999580747415959434987346660293371566629054216013398207649470211194929934582997700553827851169097777791805038240051904301253479123298239024478144819820646300040569655130267927595214593998250642476478215833215567113296227737858868640901888627184048356711901252319174307460493120637084865314750963993342189514258839618144063840627509849309184793525522642763413693153746050598932461696410204144870107948727224326558597751589538971653553254566241052229630955252264380002702596370974841840018119285590683884475299572781009127531935502737692090234606721350384663880547182160492872830444703786599550989289660817764213785883724086777169735326223935320578959203508429304316912931668764628552040932009218307053218041259002903811479169935623631662539955809943895690774955203385276806079755853526456248329289665739836217926044149460501613097481623509450731189713277637187866726216886140689447496877312662741499726949400108175319876750010875338457836651668283036056007005293318517899719684964417498106904722213696411927803233238320565148699368543619237506581384120572695678034031086745131776945667175509159350968352469409132989436154478752781280832729615668876997696144481051752121207062953195423698985383749410577146403079730442759997037029854087009644455826811058806892673136148425432785088183440896818184871592563986578611827859312517897990013132950690337446064448237502492446769660117215359219611638865471387245082284975765274439659430622456578162012070405167688383313043114658327884619385110654859089533625084218700255541052995858233316349656535974030522335214097519352069576816081831922207070928979843998772894216579935649900081353311953822525325486578949257108213482966073126041127031706551949775629855586357628757913442702635970596127371490174177017442406780101712822874939681173563188111539694655331686890104249472985332405787714997577970392549565099453430169171575208206493479600016057090445837980151603041690591379288498470535986263813377170631761895647377434689248642586288649315472860753850280453152194415866366721938388070743206946226679118990256512384783695561268358361648821761268998785640460843921401571405439166210713139922268645808680659906786612237405723516033536632619150241492749976344621199699360654692612545387861003323783336283396945711713755247005802067229980666793940869707855131068833163325986769133271504294106902128587848941931510571901609026205158360316982576080966216454749373006931604434798944222765437238535857998116550048221493241741316329941148294885290309121633917988369448023430486989951791404195022745140536057821115757984285713911302725954492368634301379479524575003106605709117920450273223432121932678664552647420485697102059452462432055092575391745832209264769954102628125483954149517662275376368153173629914565138235870508467962244995857373479989468918531651114570528560536681390511627018905189892271151142306653632852934904910017509L,
1085071451710962459005276343609871779157178659880981499907309882602478516231095088708523364047149873916623963828021945487493365359400028445783267094711016657358008096918986135139823890999527613804358329606708252351701322254791548078423135148457290954111579112785997178545790169133201708242592282897066760085671744553113884949087653771493289474778796246397817592586583417889006278457227546415217832161873855811146806271184035810901270136560230992116976107314695811805701263556081781523513094351225740495535314371121434654049051628970072117238931053012154448705054941552860335609640376694171451265979209955938743770280313827112815167914191447213293500028405255341658760474223605160530834837813664019167926400796471578555089412264268830563966291327559651682746326201570490250894006809790190196011625317361609603877004157566801319148950129424252793215823785315042828349362703318463508940667295852145177486543316952731155169187433150404363731167665797522500651808895092898293895267354704250943860909094392190268001706775509231247473301564941561503957198031685469555308295566456329196409638834146271386933859677492927181776519583767703489774215183768635118936243768976916845325274901681512196177191634577658847351991453575270099857717571754277766661157634857434217223997026883341008310003102534470752014007981998472973639090363202385791390328775071485977693049192325118521054797675704451586647876828677891418908011516025748129769139503111258954563540200069079650585735455412227546138701069035973880740146601429270696146838674269965669737269765083642926507932784882874911877584175576819434630262240678443509100876917783762650679234191402706620191632099878253023169795837396078089715056786283110403204266121007136134560704111510055525886636908387613112166278042860615425917432648105892113467157013325740735809733740780400191821570507485081601627004742541626716338159599994638677711999813875669716555919846018300599362309283248202434689469008732180856504936941127675401640494998480121010154423171182444282038194884866762305567282368434758653397539091569503521247476877351482726225242245655205940667842497962866616007954413170405649873233041211738451380956127021531846057982468738994699451567827898816487878062771161643046421536466607234955501668251919500941444246765228510069519528977319011772537399218866422748298950819648751160998130535176407779898818407970259258133040957143869495365085271422404324165258808945561320991948136352858926653339837330465453437195150980566154406792788677233498827808499093451126415444638274803910555446085191456036583391740275908297178753041019580695250824754884763195171211958874128388337584718671499906432777183269430368375869888106717391800480372477469997734435586795660895199050245504268200289605312182804266872734338822474910576137254638971613359974195045414089854729792125546890999366565740572271443359538495971427074562823431516166564350236437732038106891665305366156374475677171658663580214867059705716973465592806194041989154696960801457151276086179089612494739931892976638394187655884572406535970455261232654628158685970432454746957874832430889400931793264196901153601517203039452358724578099868411114559510102440013295856593781993248111385676402383815574144212869646309911929894130829913023614626395437919679683819475029789372339049078744971480346542154044447890972183620279272156965176832105295043045340110611939697679705773367423929848243901145725380454079486436915074145952587521415748865038898660062707450077118198916768606461684932109863447737372632241707050433170654628849132403120329585866104995992200415326492121640318613990181137698149211187405461928634038668460272347943075776006415656992736816914122850310842428729605648058068728991778168331434361660556957588970618053308053565557106396751958358055129031452432659123101352601695758307078845955911802497487854976908670505481852987193066560060125085287819022276798853325314863895494389073664376928639306778175570358388776333605407550308578470695860983037185353473707599380371929056112162614641736333239871018373766617740446957958706578202570038366028415453655325734269059906191119932462723444905594625244209834746417010358994762280328490088252395967795676861606141819702668117894375297184354588949038092409473284342465248610845092595723688321639213462145041315689259473117399185937477143284304305770922965508440553054237747673251891431336538325275908466013078958143401113038060364375325283595101006416860203858066489056167757981107288469644037147947459208191649835660155113289447253528015705411789093778439572608388361890083093833906332984834985416205641534040289606967586667655613702315669999123480433477685396973440905444240219683244962441373007867598442072839659461179609119686370772520420782020846868984457354353004885417494582292073775610601707301874691554656297160813554175674019608300251028277789872250251605141186642534448749721544752112138680905058550543558525275539271726995836533920609186272416430043609914488792413742230577362896038340914806323872721586872640714708706191899759632387930200031706744260364720663516665043670000901188697944888502311195568186271868739116390894518479130340317718981977493321289342499329542565641034798689190446371807452130394289737863207983000489147634070052705788476884000032887754067995399936117139395465829857186212870765774151776606810340013946827735411973482798841274374079879716411257524341227367367841485022947954640627848811890109418168706966489529273671085529770228380008567560199395882293317304092375054187639646844197230788933908131672119656941414961411861984766253109082484301578219470738693520124078193272275282338536885121752041598031349100756699832064586781658289790352893678638686223192543980693878818011748485312466348133512923311460954028334285101721082999153060124945416364508759695516304762951578185542163415901273956428098601841429822353293182781521959684685781430954194406614883458822907845734947982591355777489134675479319266092945881525872544621358944148017804397195385286440601988219514986369972857681447694884104722000310821681172025285577910987849462139998275219734271110986310471756048447892734212924065360672578201525482161555072069854859941079155559235841659287689720616379577601252212565238273906824103444122166586511884048926477806220488248900596032221023193466609101507274610319952470780587416272661311555481221621301335238387767893437385506070529163118654946268624989041856471811749218263877182327749766079976373770417593065619419L,
1756543737680887001186407074262254037011680817064958418925500482691690548863044127267410605269582998925451688838197515913633303074474528987263382171411467150661782783397597231107917890949175658893674849209049789159716200691496575493690614161594721464004961662303510931503695623131015983555466940727349107200826824650427926088144203260289230983651557393884445079115440116471876204150191632902802822850038488314042766308751301752054758637122117738899764707566735219695582030627118070588616033830400472632955823268936308938126153378456468335129462753503909707414821688818436115079876468371747208637209543005184866776029755024220044767499765107281178219116542550733799521752071179926455719719757577385627369482015073335051421432274555013113918447669640829262495062154859181928997479709959533817865703774597071389459464259537720879512032808776570689965784179648172615689496227664259572733020834811760923023678826605246000432005858833457982104114262615202013322856944871212352891611938738352706544778560064071586292996551694469519714495203674176392825710799856177491320559395105732330638924027698481128842589322004483406315002744253938934998345347846817856339426019882268632377570870931143261167872893100004316699330436952360374316258930756955441039255224456047541242207993569415816906131426598512091553875788098100505547861440009257474495690774689508433561626578767875511050608460298673667269157453986095418002638947922942420972345486658164706782407990403897902258051259340145178592735330340778703439789529133423274883315851299566090791085949735919059787232341442953742833330393274890684856521309527180734040894966608883612111913828483450785793578538174355710902842502903459990731965145014949571677622217583964663565144836788854270784188798888057361899559992384920643081291254469232842215767839573226544387978356019925851691683339488900634583058746493924047402620909151118067339270986299917773426719896186838488832222810922629508762603450118075667489165044366596670304950187455911738034867465539515574290878888545097885201657732058635677256716836410881478442526037246274749531447419081657622248423357911936293929633163288022550167117074516553124151081726766577585744375341593613138382099756839770395768479068454765318486099836748399092309580159787951946807432702672633525121657175200405590546677061709832484390181608707784601631298085680435189309850710901081914533365834002188713641499045209592985688841040351054733936584860466315467647112875281207877429331545305086996041376353158994960169128006304771052738783802108835586909981911284102314574342658102554430045709604522236143581393788224137856114436202356508520696492856559615055080584785261563776128971280090054895549675382957640072496821877922444458664298879852966886994296258525138210341207817922083914486234279801708248517163959769146782623416833069884402295734021312007204900004891710808705860448808799713748893007269018582327804107939632880812106951705397940775863432266956100359817737039457628449296186745339828940392409275266009308917940637184942532555387375421536584487209030060568938990398439436088887765725251597817691796930308928106118397184808322673202576122212287394216482575403491707557197883815010232775196806998026735799050866193129004404242756296457129689510630837048349421741334911635153933264811700711721564811404542757131865618446214884546995862746013266130502965723896525053304604832356097688143343469678736983852539684712243772169815297212051179086218515536797325199032140449540219622485981774470238551172411327544691255008205783861754710069192867883063206180478436285164127558328855722076406138108734846370326024290793403695846992676123951714974793008904794250775580629214183947752218989620116581091386721234830237083043917921015971474764225723754697004307228823653374720172884258438735757923288875514775280354324486058136437665809884622477166311058447874681592028260709723578360462565738272703054570496209460090992686073104392099648083024691413824530492273017321947172793186748329500492613908921505618471657132816286123751522363047528867109826480942767428494641388882242356618548810290243770593075916374140653051973276842941998975402914223996650310689046698647666268030884678672815629290055562854217165323358578807902188998934784238853187207929044893961602336793911595295620873517795477922467092611960073676987847199919130268618303174389976568060174005546965712242070940391296006278909509786440688560519801461130047387251383497305501039995537021737394660148148410132009368611587939944669682085360350072677507456724514176824759008814890966682727528612283039758019586853100903739690933250498483029298826208909479006695992592122700563130139970539537815894614636573208818683297004866062195813765692599662814535217639577493300036162976138559778590088837599808114726693974601809741615361113148082734065745496107434464092131460497876783091282804291585951781513311062860177778288647254757626636649145424553082737424734750472626893200265554664719928792722284650809083022900015719052393787487360584753428474234463823740962259667439578040569136935814345617674849746440772853741712387145562664289663829608979594926993773574113374162414750415747697411715697009268770890420679107955012734869405124605216174896844008814607639264536767822926260944285896899422924440661829736791768558238056964730248971882092611859448163681938294668136680954033682983136702837965873786095200823935426348809339813531233907934401103900342742336197254433645402434066080322405851257632405904182779619961023686353840963964788165616650903027001347995203642522823135379543986538027762643904670656631279960881576135634686567222979560178933233600146598439979460087573811304557075880070560597126878922603512286799186321603163049378292393193708141115497288190537734498282864508077103289750901992781453179084001434162923376318027983621904081485842647399456097812984257041791906158098580072501310495785845483196275927038736562297779534432964246658802076932410309610560457735869753492031926285661807844615486061728968022291576339924563748612259597570558210487415127393021806011831206413291604076852698266635279966433143925144647519578017715860870893151742017117631989009561810649490995337235201922239154911714038816388670719628548514039077281708664713128935486638941687323002395888274815071216661871225373603305049195246765839284839959300384044526016046414828945409272501756377078264526602065902324278961754934880096471151224545086482037964761434867084055467755963214583424L,
2843186768868739447883434528304378253218344506656770367861433192355399892713481498361904948029840591730268298773602149822872738026858704553510852581567126749465804462977442378223093785980539482328118223061568598716853484596453367051929769815168499044115888353684326993131327799139390118336728896836925951834593081080556897925215920070145567686851242021669123686860280595228224860790217886201584361668288552314467573372834849848223323210205933965201214281098877337759587130614658632647376583531594458928583945948830496929674044573671558078672721250724991492472760879941094667935877696959351590442991787065535419577257780598741711877578033560050538493527852209872108876991460449274689439516110753206637370305865870046976432386640509470818326894382239881417406876231984981311461903194615675322356701119041853634625366097723597548020786225217906881623469694618255345280012320002279641820332537538119344673813631744977371928350452349987005090936437364054789432965359984997823261705806831306823364194117629426409122498990436610218460580745987143798265539892010392147007167169878604958241534118345174767628062389575577251991343605894576011129211802602374423928032538234944230144937987883170091422866541632043684756244633164988518021095912101023039322885453670603901437641264642642288731216533969237702874951525844081735657496266450264912321897575336462913141557833515528607776936092502637744378821823414100347113502896023464603207490470785280537527666603257086462149516527295480456897760933345144602318618529007062173694332113632607451687198890078227371616181711679784863020040327185944980809309553379382189821405025519124923405104706783362845542197895652571754814988716895408870687161328444992741956738112888229752374917733064795340498919423882553891696355984146227513150308635290109308853524100170399644007608879336256620682912441956385122148257757635893922495972267515719498715356225058221558509294594587586541482915643817651933770668375144247823485910156489897633266599753551644856698422485905435006712858652306950659369146090542478989720136797927042780030161675115626935805460947980970307143843835819572342822221309201139303178333063277647524277487401175645550981488977206640145786713581437876581429952091223808635331581800500799505501697506295821647376963876487891134120888850322356964343421674319179554460118028846972526045505560734279583705696126551490273799118397019290829340343916141855429483864425538175840142951409151561336775503802393756421301804075253918550395289851429295009915238897803682513868214304855130179422689230280755252765980942357137800075873405175933276515379951734011512006430625835101643553523596873930627240645474940519880981645360249424622290292239825576652982624351157162365447813717086347497464144557212044828917937757075666252780328939836311467077996285202573163470819422918547446516029034710498251002039696751518002454078806296853485267476377368147702464694754011415832067913745014578087925468921110663456896407365294187833828865928311569735076837316613220614576129606529447572572555056696864938842281663879446236830647287002222998470688293539183875363732637865730391344742651794047225136809219251414993095674590901902610965842181320756087920236133680738304409313572576230237153885930703703297231092471523454823727927860808691731298021957639481456200475346342075789581425469032596656479573527136790123821496073394204006032420678858639421323482934522706002198540352069486577540737311360993212923512824858285787276867606250810433373311628456250451416180175746412925306846536362712654639794886005610946622115005181767332936405222917639072736394743267647357129537795559124608548130055451170755965468437567015105799550866841155490253184848262981218163651171822566120436269398830203528385915222432117766684408334673702101089751176367505265936449192159478109477541465677236801258320209241529154686997786281186181882140248548860216776044929540828412352987159961904984777609359035874999684573664203974203257300689455353841725500902371938981767886108048204424292496756946239850175958404164864237353354974870447979542193823032902879658169055077620195537982469020051427809251189134511415384686665873150659739987240568945866316684791559089473020163302962601676458573607435806955765454226209177464827495017182537929835985897288354908068988575792772554698015460459492866633220886727329355395057808377070156246592327428174676921957277862035556911388556456684756268545838370818691508330965421713920397151690006343981357329521693805015914351289159184781064950683512577074375217620616859528055496088826526708506205708290530704879311638723757616072527234932278739788187788899303910916774665469925381064729514614843258090990487177715753506046968986317691796538821750383013933166332795731266288317579378018648338889631702102781526858509266495304414406223915639228454317471265355232031096832468450659185181570481067643854751089858052868477603763107431172879245662067475582281248021140212920515321474433570624162029934554475957203563314272445626500193756226142090922200666015615954165664425773235874371527635367105907096816143646519087787732211910455486778203324842591986412967119301355554280357723224270288636744348086413948943597765574581595480962239831005852760093590001557869676455022614259688299008236553265763746827183562907559088703380489047683832626358562819772188926198259729069179332162199959541301090720891449195848312673841989622430639627784131468229477298189846308987916183154922495604679574521612131844436532103914223006672866197523795935674118835211715672900090893749704445170366015867150018557306048639171282510519999526851482028959634042727274306660266962638596899803831811551789025915393730401346161112936129539644639289571846884362215111536022889449770744165531990058037319541488484676477210375792323992636884658725923101825932285065398298093002222352967326106285215734249335976466191464623016836307433937418958443672117692733012693873223806801928676317276630788035787724989769100780390712813114566589822522071737915259875322349391084681767802008772353785244160706951915192485638940899699516764760056155701440831378120714234691406666007795102652021391661440830412007515636464384097247356105100450355411760667967467977077079984893703841662714443607526823107813728689245412708512930822931560468596881832254301418299181327523393020349470244542910044922454688723531618729824782255027069528066970113976475641250702488707974715382344088182727783478520634769256847001165560496739540L,
4601480975528520493535498349614385359443822821857877135009040754332272305799876963825455988228165458060553370468224451446748050486310569818982277319383699446235476514077948689600417539823328354810184020930232669147128575341467859870435622235646049076006765394545929341246088231526308806171843610763890014946480431780903219964143065378710873055356428525502004988210829831497985461735118969931928336897426467101594366061792043149897015980173428000433088110144369866337950157104315331703565180719847694519374515312886553322648468022899501073464645332905763353810573472866833749677989924284571680858282860940270927614261195226370460776596210420300520456467389162040807119822071087750924631988552417281404893859370513333032242804866086827332221029467597008546308839633954051874796760548211389359828637474174953736023696034656486503310193395852462362773299133686741912289718051762219651201016437169417686026105468534659060772266052319596761165515799988162684239975889359077641446184600783037833465410138370471730702474481679086791394886825826079250886750911351987292261721801195023829720806398318957795888279423383091817935342183775406442998350785250346386085782403488865028694952294583815501373876985330766375990343371043281243180266479972316829172207489333085125827016423316146195230712651319601165728767248674710759131309506113562453808806191927282259263415165898422101811277841081265989992719640802059059211578921439236475205411163559397141378851495548370762437593919078150276617248700035817258501725618602101796744352116663288582811867973861362457471039653855643699829122209593693087564036654438589493847360596746498192296456787869406349947037575139450333699635808545935425114610419135815030729823805209616022501591119289674765372500333564419358702230206221550873442453559044167255434346599195544784336429621992534767940831324170014532733734070901591721076387494703637169044492966537987957549341625944636557296774135721850869854695460936508287090621685365250117900629729684302488824676780700545403784957845231280229475442451596043465714798776170214280246506303411501790086532947563349495782616104764348439909866684395131400364059899399402734958134316556014634294162034000874922854256644523300453192963006751289785388398818589031930453279523100828340757426118702679152157616312499946287200422915146689331667422462163894936591322514272631054206509735701741316510290267664863102426224067651786434823387320091048487064240707595123929301199851099201806068767771592579332639861788877057233416141981688648544873195633406737259196299891361569600880702869504686930792577067787194500354042973128106025679612927176389618334464723207775236547661667476939818679568570901389408899848840183530256726814075129254998063660039682297404146334958327295882825919071535596190058714483936609096346213987385563141349010398446555269703786248702686183033899111287038885164056037947545760918198764218296117603148021540718638751748497360588803777338674583176735863128595190702918699834393601655923994455332183243759770199584068160979980027292822231087233885411451109469373027981360902620329803602501040964873668972186968984228780341930753862662058185180379992065567418033332964271425789531179147306848677339393213159874537007977181347678707629499429284235690518339548325142959076291618691218704804383391738081810608147896663924848751017496850164694283942609823471245530740720539487175835756434253938242979292952387127028322762761805440147354822303530614626801420892041441815628874884520983187278228011690786357665857420850209278540795368733165596439564791008798662226053503673743247494659688643467262258200366756267901842002370427886339030311103673743698209432524793795936203433373374932719914737725841212537963234149087185121180871140483517595038676509704732802600985055902017635412639418545130704383628258600693585485748951326766824437309334186842868099550787042670663091004377531638998690571349617336931639807419665635020689369099944854938386897898054140130173467804146841607641970744466746677258383566822426553682873931617199728932249155545180334030522974438264452251420318952963750280585424209128795041117684344828651833723740058003605343425853857777994872621758161904969396455573130205710248928164373692448261867113057184867541956851903350780589958451932263286132589632063094457530140859671938495466649688455262275142623205151597611203519857115856233453700166519559896061349526620816389598433209363406119385800750417346289199655609506118429748781554970069146934517196648871966209607993159689695495525316212772499179794360663118347935932503437599664601604978255301837880760276262996840745885010182124640730691395838114109345226692629286821263234279746792127824293298107533996991031951955792786181724339552028197571734732581328725610150797786194653956790362294521842542719894440741944273530925683005212425706955158797336255924695366435363077947441588608005381833041975759597913479435888479872694243011270518270024994254763214423837601732786807714998814868081535735657759982144460011728520310629678354059682142019288505120547409621384049628566594724705812755861980483750949666128395691759465730067116829645596857468184480392391654973347060694719664160512263330431119639849920533149410387161500560125774710598266738807013751008741357494999513058224657385945478667790474251695211017453738759300888418039730224122216107101414865684112474125121456162169495826932549177985680066787095053112331959254467111099357557917614219612363870279616932520512358604737071609765957023419517819780402044011906627473153124191051810197049384547009598404095367265440442500484194456001484979734806115663668483153130027768602545850969198607526444512611332981335446606400124110958942802196783568954114870807743663898069494919952768544732274837458993023270529339111778699801031042948121343661568950322847056345063993186561341730641509395199772240388411321057751682506127401378205573532266491032528791589975079123326773519727093784432144873891975184506868600415595030219378855053198132178376945125301598266775438463426521897606043158188110571555259191597114713756257917316892260393139874626812621392729684996821953036625492237083186305567055430391521648872206313865237128303489480198276433037058927389549355182326766086989311766958515960011711976656337009456784005400445639706098203801385794999763275287395035583276006379392500013758840183600944022979518552435824849202272516214959780668582156714529870600003623110433661457274567668037529200793341765L,
7446217573949213027570746906500648357632098687622078331766648038949488083634792506354398587195722965631831005388406885154515850733286800183971371783869692801583197005903728660067142862482827898497531981025028488756131219054154167682956798286339747165401255425996295465072436926247027291111045885587880487647003499109126037345803293542089777209230996532619273643841080852981959840083853770639179999976186728932573331035289749017332618300893495882625870953354523891564939839025805771546071987701044370308053918927555793324596384641878407672838072369988085778878609034672386969024645004373911309092096553236631427424487052395500958505040872204183029167803500265796001315622185447350445915280612518173179330136887847401284128541849688023420927097140473511773396570833884384072388868691269087179909188369389694076128080890359257786624678109006417074444643326878306131975040175033013913163021304282735709988246213468921959299535301981727085503118610886506781898379075454000855178733807687789587813982741587388584154090291615184177913659202674530499875911748555760601170085066489764796414627296418300708341949969285759948649215127089730283065391482091116878324470790436299896423965958188951497905338711461272833431302964774604752147522723851787645460169941562268430855680232005914524777975624289385191598907062449054443754542706446439292796702305035853625175776144924449295810195030955861837329647371230277786727153173573198833582013102059962863241247234264602049755805919246973853555704216530050385393711043872991825170693582240450972567568233001402926364390672952550708173508717372947804286589460587964477340085712511511877667944387520721322767774256836973252920095156182961521055398828275420161529330770355156881188034418999171631191624767404595285113177212445222823930587018730140162358060074998500528999530994686873272244273565518645766744241340076957683731264593353390089184982561970348290308719115987074415753043015987032702825383384792193280002019507913584727234280482706094866966805940442094639458596384152392184357669095038367913305818187514077125061515018084672518244522835609936147178153021314426969960710566275961566013750279419366205143784222851449479513207080802345919539508592632417655732807981085446921059518979387100301685565139166853953867791882359694108544096958800128246441718622153419916724914345661927904288869202948701627768204673892969677325635542157755243768973853532668362953463828255501190549381045660447239737287124670037220274250217716775385967256101222328858432361475282681332163311336544366397893235321873789185203531427960516282046407818313778864928932428265480466778969765004232876831175047926567967811750358440680522157250963736295888430732264246278346208306988310229763558101429869418693809966541726574094188417611453187915090465062287532277026834851529903382291481147831378908275457317627836118138154718265053956691227631550770014405831295782517821161758362062809375960625889761417936520955304093411347094717305991394185831504724075569706488407000662228523478814870063339352656442351300833530003531955288414310723941106176736422815452678841558607589566435225741145737776326410902357147091786260734032218120949722308668089275565737600147716025077414992498302897056313131233741127321646828681225650356455917774227656022192572203999018810525131300795154913556107667653893731616933985167568872113505986823455254604839199166043682235568753845482191039166397955409614755251100041255305845307582850785821976843241284535308031377039886096596168821139481666500509085667445375910332075172766046793166720047094135173871181625295748394796693740584936894024535242607457461069458221037873280132566028883152273444561459736831839741768685566105196050885226649884308211733486702954564594182844433505119946541558607326866005534898908597890350539138245096963962067634150508244487119678572296474833076239406770234091364640246137525858978143063979754020621575446282295786369066552417909350873449768528435719841283865537863447878177175433412711351736487872066084407310541887563735032629772975689655812931390852775956341426620858223771158835027417344523048668730773682020561271032163698184099458410451303631632508836340772282338613234206881933766112413023751279106820999825251866861391534526220870870910251458627923053535027741164877878162260061111101059748625092665500777034532215072246709550014519452752796584050392836343387299096285515617123248798173077496574072454854330908828515974162423244253071019027228936068860256777074926877532342964524631254325942787820899654390686800457961477573115693027136066392170915472266400002280760959064469277200128784353624891131272159641822556054629831250315671166976007463426061780494764451747120819184082496656953629310463597567720351960127891691296804912061193662400091335381443742780023186230417820679673346258428674887861995745176931359763392508644283386274731417545490954687870355918875279277429669863251284360391222149074298044920411856947340995097887025637266961534362955575407858715543497094413624581582045409372414434922668852173305082819300995870020873162040079124383018183451434853006958163866728095125010177974982310761689377112911992297720379337531702269823566569414596294317587839285086761633433089812531617383204327639944316765872106601177322698704456853796126955838994019445367390299657336282482198513381523656547994174563461789226888349251137257989672525620528638554435439945274065474250438609435696671608002614075965364180394308695788342005651453879878026852898265100833954732354329651108034068552655437724563180959391242709224683703325036482567081522860091816815198478720762999211422542883535354697259765230139382653597977841870359927245999795956845701892254693570356398008155824754418029074965471870815015592138193266028861297873410477432057634297407399571322665248292201420011575661875877048056661829626344679167176058278235824523374802774511435248001992429297601672945690226245866078032238662305037993969631122014160788435512396598098977749849950377329305620606629617047492263315092872202664017184360874920685112088104428620486917600085920175368475705568494983759393872733813308983829449572976483990834402780857264369809293009893234887768973456900765013511383947957900388581263066529879230091085877065879567339470806649285659680031679442952966088217703350213886225165719110858648292861003487745997861540056921783590713613107007108502886443828069747374836024255308197185318780139143534875758192977626950233387863343768924170313095L,
12048131311774198820608923791867789559147184324698636942241229240928113639664565720401299668755759540173446412751684074732922947444516375893443131688469335907747016550278619692126897039714011888981970659102569131386207536038799703846841195514549492366769922906765054491911109115217614882587528933495060624360463613501097709233094671721453865177469669966072028056186110427434712083640247321627258369093204854226083237778482812122751530430829910117431836582676298918553468763472359372380014482302435120316958130676927828121525968821342679112521385734143765115834309003535898920519778334046496493833775495612262354369262457863238385441067793407551293074547737508058392173211875506233171867497063329807541087417174105663266696404118332977668796991036304302490415224584226634922073848446645621276620944431372444364284408742944276151350556935081559391675936823712205784319550392896047066347385264079360244824743169626744673779812493234344013351899213732193052009235053156681338516262636402281524167580794214858144815966945916980510290811123294526602271106876531427701695775048276928485054859034117983930753790843595217200618794108598885861955018680894418203523005798538790798648059831232473000433131026015589333172537614300127125303360598390475284848759076967620039715692810415376672749144708663984546619567853750680925525262308378682202749351135148408807356242637624378518682338883200299142457833381958300242843938487593788780629999527088462340864641165739301408386426778741629051398590065773542455245604633165484650978036726972148838519812651964003722152492117167617477813631205458313638022951056586968014334821724234496661112172436526832880462583887971146081207684432289080484878242098733199432316584981615282044034153279860859249212402437695122937948515780276986556711227569547757253661167286333553927824434010043737348268720788991528146339446053535774228471137650553574962383374633674605047553765087428446825006810161471630953042222514383896478303254635556279436080816994774644571359902196911334868548371963066764775050289387087774186590186039535254208123667653817959595176903326621062974339112466439155721907556146474286709441055858513132567985592874146680879399437524166061304841384955334379896605156048815556273226211221557482113425533154320853664673950516367556869705774112094410036651975447431037119687877492972306548801711003192776792659732455942629477118144774881250559985633246905908221686353397655556483451976993620813549228755843252935488083044949099914338720697480758330034665258701388897232760858669703847677799002863943569360536223070256127099417807547669886339475170153161043882143115531749566156301997769224869983152437254534782029680450783945066529803561271825121845519924687986425675882155488860867871095601840648201388044087825233351040811758044555068156323594427510456946734180977835039590137805115465855387910316347599593421896179433552802246911033652771458270855003038100800656713015904694965807080964417751821301686207589920378268534727094985232892485285333562924782088069512268754955173788553872041925947751882084649366624386331256997314331367268005727646696333149157765757775176777661340655240941562503686100264902762642134354693801959699952799610492563622156748887841550275106450737599789530188096488194629541707360778918568739356486795200906400574827259624037960243658032103373389167298108778432351189157523379539601402636271283701981934070902749604391066644285516890326259663105913888145599635591685653316051476324048005308560213724187397163641005551122227342244167478071980091219544111357730745614468523704705444898599202119303312202662415917833727995205174205408776320159618293712218278667974842322977502321604131794342738308989808714444914801370650662594909216048290467711254442599972190879963978653147851826742795766674344481108143882074283690991231506273773566933306491781242469774491264036625982671930014913515344891040902334552239690674432420231859393077852219228721855624003254449531463069123148953781884285107910363768162963394670005075850624471841676858126441817630372284805588051970727493293857963397340978040961564136596342206876171632096054058616583118417168392916768270497807674464291127934531550447573711608601253984654270357816983735836129492191650152310570064623160391934877559617247211189575212150584994718391779542452853489787044352054110957122714435164360151265695789091542300790505373037607341499422448697588368395871679247857408923494572803532819085047474901467085096932312306597574067332353147525595008892748372471142948031710700544568911066002371748630046957977763878673612038714407890717319821734600780434744787370968068066235785620793103288032344642760577006458799086014626936920602412761761015504283980223923934603201725358611338422207982852780717478636534470349792826208712220173570264108805842757247642840057137240132837636296038476126677492770278495798519226190692118247161888871125922924206222673933937321221772396612601799051988096435143483137935708822632892743984472812971657527951902120684691927921058821587946059524586184034068585672195313148977285293740813796363663139177188185197339437643157884389420228986307984738785035176604321475588899471279197823823562122723709873192461160800489701745036560770278353863846065137256796319081235528001178903511216784306863065823225117369353042836213616713249757022313276286220492024662794644730822479035815580273187210898875070965312695264290197676529866892025661148637497083889060085737177054965974803415919791902420501638806217353757561492763658852555710448682181518961083665026892838474336274623559482291770989482221279462028918862424289975416470271248549232619696246684511314841946220773970346837120704230545631780233408475431137449259149944579856721506892885657328293787852903882381303279506643612245423782420780778854008024549021020132101286154556636038650484700042416878418464876242725315596996808859647537333447100671521713672603872920812712153540839014574294815305936665421813575927391989326155862850478058480828505889149374288262032412026487809190136237381939327828268325863998840190198266804268781707495066150638713878000084558659404634155682932347610074118327931724806875440429230081276648056504007994302423216586245518645734506526197663701024649132725568544559555704395073170689163542166832982041279691828040134056991319212495542098122891606257948769993002474703225991321457452922430841938278691047710058148484433349021194737160390744292306876725343424739273600759328221913790212261857L,
19491693398505774593548941745961081508345300917400919047650909850200246587456635574169357200124589260606561841537204648378311048629906216301305470039565092495859354049052992484715877299683875377393145205482862746509659142952090690206928191853692205457034879465224288276695393755321774013236338966198871587038294655685336541764970512207459508839342781585514043122302695578432368263357721100981019220463961331028841760730134449811488695653319021328127204587489390811977690197899013050898823290289410790775838555582014934661125582807420960193382922740573369366344255028255407730416141469848014625419693992378650642135279488174542157269178140363037617430345228232932132783021568161576015671191077081914531798893255078403932499999092310620041383878578267581596596101698775675399795797830711681560882097353714345643615151372408707498288104086729441562083615451297018499272178170365004131216809895033813787635438127389296249556303084427865237198417399851661103077903120325705381932421079395135710727077627865336988702388634904171447347491412105292786317728584759214833784143817554865084445227088114832345030960525388142502058917998314393573077506395105641101920648752712630398601878856570131782474398950050395356507839787501771637460430334922882567959748184485203166027155208047601744166493985478371764364281843975047609038705488668159434923947834622687991409660313292721936467051454266311788984239938531738488266248243195018274039531988415139183123870154443517305246760492410346668695171530802686669218874044094378874626274397708507105570708847269306611543470571874932157550000675216150469612485933563688798789423529752672846509984840573375258489612792733464664870199259402894630690813939728427386271541682460015614511698435070724685189551879486973102333406415930695607785464614124086777787306199009302619511424825020377721494880314874220343255382163914453344252879704144478701053325741905153492578888835906019433216702916672287454369229987083767658950054910551894032678450433449813524621284531965338113035636648451907433722434116839520222184501651716509247104431264911799016619199868180702574535917271310984733287381463644800563459671151932041341207512474111785097004969769439809058032041111031294360651391958982477698273125956786194963178545913077791348814644458861875663106085123264242396780882988208475702293100816181048027675722151016481103999217668312174400915612394755524949050617280236835922917388598319558906098558894373500994186451243120551047561202918197016575758332070344144672783960545395737769701334833015629326855829213511754431475234228961708050926521772843133160063851429709542695195572750253876180412665055976918820235127154955982989538646541524966342820984882903227592704639669311753182674954091813948739068159843188735374174751232994410660945280035372614451679598770419174375964389148554592921812243553122129598677501358833553376188172352485359109628327915453994340399241792577302736400157934661082912826772677841022648493285146429487825034018142231941758725665216189829907715789157471034349902714459541424761312719211507687038191426659280817039991585799746222008649236901699478241715333857890885487116472260359629660464063806110284349199422711226148737347253361389159774874230278361092333157723218984156275201990436233873485606852857077469888605175515304784705898113607942017407295948660575047926548263079462975404453182760387663272470820905003442872817093082262535631943777548638734847898158827886209327020062392061730649311521111377173264019314866777919378317236393509065281592358786437914774329228401210495109879781023566670039052263749102053508554106101139910360325908687882621642893643953467978642169299540316124054985487302422178096010031023685565441094951374790239411703456048169886745503019756971134664225068597314559516020880339931899807344263931928607714798325832753821415581702331837122664532561277735121671497070107314323956209422731822865037927961907835350937678675298642650742623175653608189439968964101533643006284381363311525043422747013942275099043397822358620578815104537508160221447809431301913299496260326961217289328815126748352069170344284507678902559226361832262085422323992088076462189567327451345304958964002272749686739556179980525202072607533975094391764254309945632627520273815081350425286766646433988263215236141352688620968366237615988221434765356543078570685515273454543590495274925825972041292835513527905889037071244923136270726452834331016113398313301374515887029992625691359127518275091986091333030179772975295792852304894356985147169027917117427700849116393130272547806097937520499323104600675038709585703745129077529275238157940120354034844814534447590465209303508191140675890253622299110277983887000136502436699283508630473115432501212249363098466881042629422906423215984237883039904202560641037146620986814546338647076931328487624174973067197585795316965476488701313839221485587642379095577758156367031257146705512302789303772622574143654528248430940601881216060444970209322628135821355127702573979538351606196021696004458191712045905760922990603875405552203344903396060234151390996602063406225256415106513559109565385420273034405602095561997267815401635385148675773614681023776891651830160248056336507175335267015804294072905891287848702226160162217419886494413525978020863053072425082149875730555345875432166709943506324765289075719100495333032536721228889805491197568439263813939103773161872368799632608376869181306990985457083468147154239785011919749920369013732003113470588332855566581593339308606720960877328274525924646425025576949098548778769221990934457247992443951932202135438485273942915081267218947721785378574896935880043685980143183091757712209779028697409156836583998545289580107357692587964028967677796124495396241243618210096546602535806744391242908201518370067811611684336595411052736685053258020993658914581190554537915340924914824099464546877908684541048182749302984758282924591384987555640538125800434911791920584337399063636091613808045136824364161897244519574572148207333724665224165133961900774962329864693540557834576088729617592785321405737920180712137079388143366856953720637347459673609519025833490008876608962220776121624958959866180148046483101837962069202081564751139991507459667111660820290739314132815261806061800086057799667920818300844329572012699460631627281817603240011797785060411108153861900470035288388859599630841619960680450777848985010227171939063094012663724620198507143222523623121026442726311501665L,
31530102954617762292309566046748656075300639253078352971223176651278363762030537779214473182293986521488203291987048653553789296749039527603392297246226729666072782298600911267971371453594269445651807083744553601809132577714190468646546828490271032212916940881577478132787817065713605408072561795107617295252380518855601522998487642558093844243473753445047924638272225779217391740514771635237058248911497256562246976971034625175214827345319449498264238842884068493078444551200912304180075316047072737808799583748079899487344177250343418076532830864999594114515710662089756078751088200002828333193445810166250306255148260417146669805929536707111702431485156391957014091583690245053823200454334810670095991407637328807301933529673472182448450257858869366718253237406915839670659320920596107120052851945150052782051952999324787001693325733750782026915967470514074193981635368131015134417301013062067569014555507221738590286293394458032280941473722137435890662841094664775888340540389631804573919509118032130792114284729388961635357292098149660759346872616786411046287695135131210417463852065055719619804652979447625398868003972915544926098965255611054890593224765510190440577383280959380306508293197201703179513243520796844314947858156310416495739121594859479227452857866513871846808943396862679391166271334715457929470722841103667783731956278632784682092418868409431201963326270232186138065846841382801613892006496032095805345022635150272948065223257280994287788420494311872671523013302085601791137713340112487629132676041242358982664162207047733765780440322418163957816311715911134327465295278747380863681205412034978202445993457847416432305655927076179775960971646725242566012072979923453877022392516374799499713902891640288586338168144849692976348834275367856287968357373249716751969067331748458562198696933515377018357248320150505160347754817899199493810858944945170989728368934258847165625809825284019076334170190753074249869593875292582693768079446235205296607160487862511019333892066882183936931146677310940598723992892186544847010317868104881767632453079782237179709036899765733303572037820096650044521106059546789334197911572624589449332024775016920696167952293056899361058406581177796057514419986767720082407488455038619872423826456841243057240965039731918091005522890139872119988226250450088407841003113914420895019494755574046441411414890990213430233345547237846325269841444292039334568898245644363575862687533449281063254610884995228428887313882996797183115235602428295593594612990265663537155836962217760012897315369297971736129345578379474883215229313807679858884326057102182753362158330686758822369181432491562055774468268908307069081005959169462573970791520878892645286716861360297243854830279052767452215068978350765267439150056501724466503698562867887869593028152630330158804144357315127881161492491166880502368218657117406758265240700970269701001996842790308224343088674314701522055819018400019771880300997150288614306555303397051474621134461826375074754693657450040806701430891856322890103594526182724608733244444611815254807644341643178546358485482481137695829150558416327247533345939712549689057430452641106133393759686723194326587408692009501249750273332238765419491384141824646354865741006736546014615224662799054627359458336793818280074265899700536902200140471893218845829727891998879757057530915270572434899100888448771263529091878453137158301363091377219813496541090381238115656834093081727529845879901803570493892480188342854797487619081444022638233118268580649490072554288842910538908844454149031048429345491973268955741989594519448085195251244779196765769797083481192079707085396203705969942410782174130419037901930520730188080288280035666796781696101002458572238053977461373051242092741037238025475997917171808461041722961754865822222378637920879033481493133704125575001953503764949280397363268802500970729263227703170758954437246803052444377865900606503007302568282686964557602810211049078157065828513112716113195680197048883692657930925806654987996171897859955892750239991902852975656001586461289622670480369284547992808732713643832649391086122407049269829915109737395204021521871767838090349981509130479571042556325443425269700645391947048698906418313809642670256056101271573993639524420995932847498558033658564716789230700783503833960659259395293547177422391446374280025685053176756562918435025689003555660578247476829773287866835057227495635395745704473394715891435480406127170643171626487356054653178759524561921016667802275067012839792873555780220442734337487785940933303227229350819199835556141754790245233831130644470662586981880347085297340871761740869775028632014854242798412665573454681810906852200953792295609598380757945156148940848440073994134207818346525888739217296134143075645057444330137343422561926976306930761107637427325880594682196017839293164845195654530233363542460627317070765489199437576052093536513032192070571724453401897801352461016451161665736757066617398435272108175858582523610466530918805410572005995262250292296012209302215006665163831378289635170687287635458859894249650258900576829628867888563486402035499444381850672117780948168362455757217351055506935516256223593848984616444308582805823401497865493294898708254389999366067389785275481102130869172418637562985975351070363600369603042933297564723449024892712597967355451805981621127025034679365609092168772005217086489755357432222383087571507391645397609919630375275406630143014474201324290579412149799335297308155073599245411598441772195513256218633337543738560642140437556781711110185109155872607495241637571845356775834166506556219149231611649101410608583555454652912349559359908921714152389849007363070636678405088765666331128801086997018497634124631601856350021738319045640539114380483387580990371024606171193792775021293460728168809664511666400001087238087836626485590600736561644054034442966476108224815920895228376913552068716775985632978402904950580305167787073084134787967545200893203138789201307441145608402013544899482154698158158469280417382609653072418103686727391111283807437932701871979789857766847315832161694286392272454286925150678390894462062820503808481916469441860419649327752208524352265516657938331235039618118018341826096191369312246538941914971649746630505270634471936504393026415476667838343864676228063794334922899481175319034322788304241052408095243797733496554221918307198519185526533285954145946674618376076968478719929886767271387901827539864765080L,
50997298908176573309493359488472154429667955422303082774970742876236080059329995329154658730751957503152957874621943639620127477036911241182995411238946878810898305523343942733820086766895073531218069376468373614190551249881197942800272020424500178516815167008717556447496477830729663093947703142773639079600836150585175030443255891466817369984695931347026959071082405244904717720214055262766536098121259127826451339772463606227071042409772686730303350686029731175583246206252250165451315061232878807071905044278275903962163564459442168538098402862631113348768131498183974961546413335855853183942243941257564590603578220327712617335222115623935753066759439839000669875489399739368665293815893483513856918067058379594559834664331502342887107595472922238529299084665843874560655035846446056590851732103253828369925360479289800296264548397313333295007874219724185964958358389557822947456655886858709684449794867464040443355414883948402354642953620360557080890172489909253554323069275855248565090593621752776477662068426315194698457386417221064832360319234939337602672123214328166886263021812617022489452717506267655355032360753529138975767259777458155313947271882106941521408581565215637293684617843475906911108723393824513225535630436566072087686935282590182082705063546567020517643295535400297566822515304490436648836603862164864766778007085657515658822508669213036751365038720404228925628462000351384331883665789373637766044943051128554548587656946761774155070264124008453684903267585349274093323390048928057107764733044944236411449495634172337688931746068993211768027371103378258154100578785159360658532946205649011438804727356821658524774497112609959545745290158803439806213831540930126487762349381415752440634655788107992905704566385093793866057697014265484945748167227442113238185758391620155287264392742389333952694522917146790342657583400483778427130727034432154396072547113348126203748069309272904086912325310863352600444610890348294390221206143766294066334036889484445688838437036411752422747690664503667261220758722297513005321572228797332958761608311850973281384163809076438087704111292623135056275444839498695135709159315516101572227844319065158157989759154528565047595475661351069045006013406045023202552881562201036760044927447633817273737444142291608108780890469926643362171657831658270808487561052654780613281633099604993389436916116429784359684279735713740691464577015730361585192138351136373677425831275625474058069762042420383652429385135343917121241888855559181757890651398997540934643477220134922696223151058978203097218762400646376955237694879141364384269396750980719531282181734389676439383114924056250489156571250202968792136238280519578503344573327869268460434923305963303851300399301024574313550265721968930176215168928570483724762966284203587348443058601920307052169607969237450910010963566549770981502049073391857865821670677932438133906124222122073004556129624110498539091296181850413814380108970059506605942715125491144061928132982319745312987126371130367974331860118216813282157424114007305737271066899304777666675704130314555823026799497365463874267074364080771286563526023027820336398298845776481447220223282134679815040871011718938401685660772891188002669209904596779527735409473182704644950084744799985421360808034763235395673373793810517826174095136590955381039139063696528899125674184247392844086090875801636819252500319586068910595563531630725512650456980376293408737935797972622112501805441502210539047505258298376081453395397728342267100090297108197353372937739997022910109857956538181198373410253574164697436262596332464594525948865833040570534603849908405529273411726941359972365605563814893970787125717788069178474394144197475477680462283311524486727731200914837240825277043861696638403126984047440038512477956456180295270972404585771695732616451688870139301407971759136904461562970679263583295207692070419100110304556106065362497639818187612395023330020634149214291898063342305049716981686203118745550472737519693108742409245123381849656524457605645973469558058465349085134153491277777193558562958900507561393934974032802867837928649550700714799526671498721006281045298388903843927041745542939808493870256389296521027638700740066215888292713215820979480256077349615118623255111412248653483165612996768288532018415375654623573877580931801413953326143176048093591067201355168752252013681705488894806642309610944962990618014940659678730663772697999868030836782506156004713604067677186669051673740843960008997056452998754943114883435918257366414569210248757932515320005062284605390542343524835712946595134322438252125659010552005024890668278246683356802603868078746008286030185043134247089112199247742595691129403946176689855956603876979517130306018366616705233504480948559896746097942749275434730155913976419061449031471466045292894795726606384963017464740318583977332085889190576906293601917219835596727949745382139201776720884989049134611775515147010689543004767996203691880293815058072670889498504011472637770712087883197738905813591541423949692384855710436015086131511263599792440122280774519716820589226828799444557117764262315065984518097582978763215590229152580084977588381060406338367873401861603139150471850044538617656972305440191719103149399726089028040504825425934358134838046393716641636405346123470780114783770638430414678479665636984803873883125015614831202515670748096097965573926167181588644843396740586831130268110868831642024936367933514222207368899615996246152203362350602686261850902960058692487402261610434909265488410606490140148996217934582756305100885207980243210263908450991554314315237254348740814703077154970381467043071891129170618580316490395411183199939988499417205935188476830288900538061142350992768562398618477054768891470107218884369588994106680675126775291921826946747744504733725641733926948911400018723540848832727719240463383993421096723280272500394950907944604971257980208117071766374303220661524017313348579101145794890894506575453916038776155953846286045899815845596900548920198023193463626418241585981012529712389590822516121803290372971424845586008526209721004768582858617155880423520322495427880736080426706028119061388925061883497481847444414866607545180346264037953001551269891462205726955372803401984875748378585309809522469131479249956429954436482375000758931773524419264872183768635506377986168888080709040197169090223668366294879698556292212272362830527752615043599607357838376571385857365096510085754191800L,
82473600879158800468710386399474296858052043249236440055212219001895145542032299829475990942984866290748425889684929013084762370345646310237724052581665467214645464549077713844532836566723549266911135716578822414990373436271164799011387418199182645110639705764275511251846231765786341985460326513648714603557530313142565807364588638222486149673130300880068477508763598183294731094359049711998354941758264116138245590493380174739540638107740899981782984198694132732671017980370591828477055154443576962821395052789773732021674370272130285621730061606192201531123593237319598257073136957423575239390937269109861747377666768850279218800865458209887723317077024390957485374738313772361102898071536032242656094062430355989502991134235671594474535637115058600664169319518815396770670499288319632781169759069452063460919800792398377424667702660600078421319265636882533285251413568060856945282320366598402598658639638265893116235457084030407373548650180192131950638677023327039240491525898166663378548059007600496636513565159868972083705502177104095812846390045061002519033562876249698746321724862312711732304980868467508866552064401882289074850314379668185195922989824077708899132165176335852632225980065667222550234133321768359914609292938322432199282257650262773248773616871115271705490251615341962542123830368036161842384505081784807306569107043226832657901725724619285223029812347843972891280441062743028142625940155436705324443427068447372247370937305013395907052310284709639888169798242542005450229706346964167253529482726428321514626737244823733849664140758864075884261199507576069904037377083596725820236179267497728944050747084967854829399364479302153591628721891595412860794225699112499219235701260829335357617337706475775032229423902391119865273071064700119982910593149706793186817994761792737134076428715636990407822766250035352361073412985255135071123509286982703440917200590049199157360900267610743833684224098530737441651010108241943631058005712336590385456308466975056745660690241163477902121121731380597499363300646883604868741896403336092159356863946838267850215203398579547177074792644531051640422334127547831958683585533091838171979426490635146925222092888406108458266070302754465008363797163624157514699262564870894768953322730801917701306020857541302906250307626701532798247670637791724974871064111620404989289591665627399603288337922555843849698036193739020544085723381029433002373126057677088565533558601552579356808211996294016595827661845473939977243389924827657211669145983006099734394780329036580087165187163443926970316117220868796581676625990991796997603963728419650303525493945629684839370647027693774920339247131787676730314543536280070424111881797198148167613677443223433066828599785942901744407681620203374327660160708673387748936096636731621439839367542628048567568472660521342933383772847198484690158545430210349825789892102339461486626945066625845433887060061068486799854940427106995088943276535580841013863552532184372774029470838101093844585060724557309821361682107635483177456237931547734181547011968948191772160544063197437218949174626388852915340942526940849476291087552741551746737221915395320328288959777119762245898781585275131910383746006962150720513938193260538803348885616609249564559270994078258734264895570863224994202804674378378419168041776180902524195382275456011578872834534617679942549325842982070645226416651878325387461936354592885834172605067058951333625849247639950611559375116963261122846524572307929007765419870662439366019347335566484662800283009979958925694312455365351875413032682328126724982803098246752278182870132887392125039575834096710374549241393842596162375469340339128078177678211960974126978989730316128859122542626231570103787826437198761639731412802215327523308153665799933048736113264890376599541657347796828045124420001683025809500604003454038074693733738768479325204393790392787312763188761483284010855804118833796935817503678186987850574713378917090054052176015072142488626988888441282967851215162200317793375038048309847088348141663616400324405382130052131933696212008052134661240674133587116990244738506627225535400999664954978554866461261802078508535020640544952971546839465944257319436787876345058418311710739164431277683957109620238517686060160525764871972778780224825949441687762769242603734584305125026078194082874628666093152759178459919221504461389540221081334106642610348677111486059338800863931147278720200020982530156014840877581765461602613614221466873832196695571257156583291966486026687605492184611716714284975926661960334187172833596082050377474185524035663984723922099185920021530716504914604495025110211747145685590645442340280671048155156408982844441928669532186576273197249638653969779088601903137104298085420120331158645166577203753659780421815977728440677477927655556949163581023984279857594492441755850402782753529933072096453519555173456969702759164850793851099688629477932030525019152268416849701374627941801925499253813078110615409699406200869755671708805095967028034261703415918595414081216434014302937644947318599955006631352464778540234305968790102053075033647162108019145859600787334080559355025476886364739006063850606451915217024301146249236372275272389505557624331266829391945544734443102117048893130989226558512063252638293805065279309957340874454440537185159113956824435966172659551925692530341802332558577609327767344352337965136362383268148408472381060558479991916576163058650955639486778577257161979025547270341629722827542166832464835010462098033561195730134422688571404267787088022395896501306555015376772194089642755142082938850666850114352853229223482159299330328201693219788752016974886690042487784382717017557830562957653218141967727620465217328732121745917423848996084085035154963154455800591539171737996171476396109360259414893058732340831557643634729831360917168534299938728403219200404553754106758323904083688328892142984948230791468844233502629855484697831214102035674329526130811469879282789672371915620747731192244740508045174364257954422601333800815094412226659069003967794683874183485640194167523084253725618440062036150931467431214998249011681612822421917918309018125153165478629924464044562888509228469960123821825162584114798373594603446963595708396637024526724355133275344399048139545388704253983950445706108773612642897049317326668371443544425866050305503875229362186050311622836212691423166147509512923888476768699562378176058594355660312520190644091808013912681750207L,
133360976246156206075956234603213570501078352795378329460040053395597066101373020666826965324312578719971127258861250761265708866332510347423866533191321503214212712534779313469996347937624751021227779747385488581787484342274700620524094133256786786115599338174462276527601101033515846659998104460851051233208945871175000861646100180580988609088195367525533887471821811717704940982514576026289197771246452167408704830229286166411998473950003962046938752830907275212268384548215455228964189616331328872327844900003910618048024895209114166182164167896040949425710845674490562257916594544406105689217587885363280824638174602760594066418467858173515934543393862110223396773832345210788864724098180235394776676739404075086125199470555454028992458742606759843053090989251600139338229020641898470085853637927888992291079242480026651177643721653531597511304975347100241697065000308614055057597529053549602688631249598107158128213661193834326280665395651884727260311599558375331456786367129946964753975066454567981216166638781286784115735017081480792350100396379863942936326348713108088415256587625391275316330888808809213085506020125190424850846957419859003190468041670650379777451074065643552094718183310450454421534221935238612930328857866314480062389707798902320318780391202434984288475213468482548695878903378574900863296133101646572165011240382256988365979130607082442281087868831152221455133743681920862403461254332226661134241856186030320659266849256879296483889871279475503357821810886126490106373922612885667816470690684403339938734164886784471546726005061532152853283549336281411723974162639360006955043933391937436022945933274633291928505022042350986898548539356431273243736756603522822685653357651454364978725639775295576482738982375766338107182601728695181545710403091837952620317366743170313877056370562587961692244926498059445448348294649026082013420064784430615100820611638808148311100557411774780292008367191591562027114482838564344584046675540680880107238091297352873046374011236077209597658724105640518702226417390315811517494492952796489910179812482420061834409810030496179239338827108229333407109886378988757720195343155362486784165443698056302295464316750881074196165299390451664162499105014921002603405716387493960659742823841479325206317023363483665633029376321202899619300054883828595551675513086311487359847071457154004285297492063607324400249648049334010593518963549091569692097025411063317509398764362842739073541709271039254772910588363136862748487520659587053662095329427383940273517286974616762142905450422346612297660564518384168522010828306848170818654112429122085485707023835953750384503543453608647709891473776817533744002439778910098772860216306283871084619655393630889102538525141363758600379242423509539229125442437222114503244240266762078560397796836397357324627531535828723402604318329996685227416978130022229440638645711594275886432510178676905596550437443105302589915520265190427321024333269521111364113654071830869206153594850729664325038953070382820661124774464365810613916977827135453657374318440020571123258085343061135645937297195703085636112702358593526785926536634034828315196517650795600535082367145147580173187635215003249066408667392444928561082639563285476603352483105511986409349681411934598720850748841000247312379935713593456461571788797076774532045694815835020601740899210524797801539057318848719575122900188847360318779868129548595156115503394369920073159115795101832842381262839976279793555184996568901919552937006691536000403250775669717437358557927290263117152798207136683967919791136525514370266735164384530555613782444088518227517968330709095791312942489299575813957452179363189995039318990713320231157258693092334937418561794104074634424911729295816451829570705450392111999962976348340439142400146035939458405234879241946836800984992600500792731768187624315109194760138365835513420428006690826717336854578618392430578333497182192524894845662755937949704267252820675508510994544817898648440719155678253444449002310836505577497593206100895707954615389649328280797140855100802046061461067306091259593675538035010551055785787318850468592133402212041089585572595843788488189132773892729570891341570457307953820988830120694090388044249666614459391424061062518867210387250124541452403756204325664186431752708068587179095573995334910997929283975767185848359140439283618070336879997428804012597349915832089835713177309532292148360994859187038917939524110843672282013629611498036236469252089864878682830727610380412059770808907299269236940384040804258325720162991147320684182930977950293863657730941183285995859834548979436708911400987478238231703874721613907690263384695455950934359551354047463682354617975019753396427619220331794342556319484414636911530454212266327275022444392229164383267687876129351754948657085763378604533366488395386338013192296599611826979126889247530357866916592652910200832630837524607957174806771136593723606615457680231398448765631690809210181335481765259829820028476078826666444230347945314480018016331133239579372230976678705160579525638166124669393477788514917282592563322323684932850244293671270020023560599558820729312674471896391412067080781149569638488070306775659780668565341092104407959015527355125080886909309314927447240498228926099567374988022441651570297552338962195713077358704308731677719107086237472174569574926024235224887150242157529155593159934815414327671292532779025175377613261956610913669123541030311687756625437412180148424686618272566748021725816740609040009224767909304241548361672396768747640260426797342672301777984001318958179198527998752840539668879526946827677362525893546231479191406157757280641160199568552801272226455002035183333978541053073990758621733660756555375261432455962779427875206197625413417967303245843805296154995861913482691285385728886570499506024675171180592947400787760516868578405092572027082199274392104870444690889860137301167573023986091260229020267677773702020214814485849397354882276098979144956682710209493960123107493237098394226572552080230001755772582936178783325723657870408330882399829444803691229742825579276928271156289464511279759208790251500083778035108446564217397254633766106990621769089845265754991198499176748608017075433758770175870528719682492280064160510891653346396178412225772722247538578657876633562645270418856304347847909960060667952468639987892951413464624877899555475242920432537078104406645896856632166322999293063711281574806557662195670033623L,
215619796323514864389871875184168680862871071080268810435912127769908710964076945385635777307910485801647482500042625738269016663017671762495321455489585520014742039653527616784331888313095977353103926458668797332375756815403722358931626087734152328294315447144424822617722878220161833758379763084543033187017442415617431544582859154803198891218108811541085844075135860729242728676966876904179267202505181429180312883076041044390455873846882665614390348232125694905355559598204128612836740718381823772696253293353789188490484530958894417038008232086814652590713257380022743774600591281178957919329940759935102543154340312238953791318720339464139170331091879149599189810834398459167411822701456286969725126403814035757553296182839253771696527980454288152514147417763153290169106734092714738232986236881630883074304412842304008736206853344285903655750945944743697245561216919647500331863991561009250294007673482598828968861318861014375469329101692537460840402616544942283482604192541363703276324461775013854995333856535915364800084626342849290551885532425333834304464459356232281858832145758203720684421420949260077973269851139433858812400768029155816022988718542789386065239544009532183633249994938368610334306995724869688963544906041037315588734003886876167574760644579545897946036535644129727940249144660144658731017065608609308961239431037852292947819870791182973169356540152951523112440520411643961407864396791574626349150717466097973840097984173935433174806766182437544215324899994796997352655625422434454901730515882376496774370625039986951586815895012234873232202969896699532744908435118300488843117378207590027787456874603026486023611286449879190060047863671435246604580330483358133786790257900108541718609535056143260087255318155972330845055818737831139151629397424052558408788751543377267814699105735802579842068333816402914484412740929142493730367177996166115381751806747789881121015401759831088898162779458300092302761870267735105210895469167657687053006129095188233336356125884852653723996671821159585872220392277700540844732445654174338852250616467661225915307258216574196703584822685931626500384940666556096006324062005224619519764546379977249664927893557408202315443692245535677393631631731924814029575820414501307046754686447570769099433444267796708469052558313815301241971010183977592354090424708600471394822295790900341779271178357286133667500193590692794231378105694303824582521062936802880687180725843876390079307328577701915517714267958707138353957858212991038667216194149657735910755689318884909578999992281814516021372687694936397614557895806421488246024951601049899100464690344047386602230911515880033944060822140699636849950183292797371631762947291125910890093557494726139512568139492142714213446480587780281666520341354985716473990278563536649987667146029411288159311604849084315685819139697071206316080573802049610908815863226733468455444346263330801159717239069495549715878086807753663010436952997354457699496962583260213862863395690994588974983106794050444691154470224650129178692468428534827164701887824764522175391672519045149373325237101074702203692430424199003342720295621974730739856851399139679446865797018898555315670168576749371227430332780551616339991294554593871129653732092731120921776855527623383443674515949845016603327536133404039460975944125232363117415770838545816845119505143953189566617415976119879909635463622322875821676997011676102986078995064685889875246885841064871399589906684311398180482022554883823531913140367288282014213006430404807246983654647647935188020463208849198773922120615025523492120682149287320906929749722547027551597624390570021806371520902556978387467798511398144460541683939965799091353379577483762669784043868889250500268112288533780093422748935502687418984184333552820176443972707027124471380769111782468229464596159751128842605935636369002677377820355882574746430342471143918663887219075564319903506792198430315656405960190318157630511733881843045698324797831874145865922484328971595591977161963450041485441040764963210777204651003907731051979738395982897242525011212708568760842749543447994319951140196899032957425151822675705179679500384183790813045428611240723006659315735563101796740197783455342066668709754852511185568165199122500259484255233076859624914516092505758349270171970769907221858043731240852639250349692477941481925244072209970289527146040013217070137407938938091580268534048207372132854932254242196404321524599470485757162132942635200747580726596557321263111182708761473922228250887833468124306981122697122406926777430471234350324054798218447567788817427240541888943974613055335877949195845953398240313266407178985677292552093650519015691860972894205794440711401942982588187129074135624329920756060562140065202738306094389462234559258600015330813737603960649115772479076710228499148765708908442241334070390249251376029942641230674194954371887378524276699709098426628397066855190395646948070599914657133877448959415885935469408933755387525908878014644653910264915925941325718693850632342036137010448812733744770193733234133640369142195382310587488101128428319434671259175883564992017587438212162316338228661626515658112267916707611818757549592517975367366876368366108536122745428927240884347443284240861253578565716563753342461603321610821406035529319104531869779839398482380750705581123109867965175843412667842453783218075610918889551543371585009961332772115610617159102620973528873815677126009032494276451398840334892267608377746957695343616066770762028892998329723403620606907929042904496172223108883456216604248437587018644472227044106835590530868385996528126386834980573258231415957898457928418339275631103115823729921695096110847389348207484903977989919984102952962188685492765921294691056209555193020622420541665597736640200590155864819933973606330427758881457047102243066619823066921796116997729665262548585303157733114542975612553736845142755670524490246969672224829479830466530226610371303011852931689406981834277316906151988752823807169051036327831591203467727048013860794251717830053763748126484273415396991487313862830293595593434861744480518950773680730520479390501233285410308716959433746000331032281434377900607253358774123291006830045260155384854982535848188059835312540711007795492765052655845903082780301750559323927829592987827934335442063539702757766972092786816523746329316815287177102214949107597526649608921280718105162882587035807289960688015961615284571347554439866066796644068563436L,
348573672804640315996304524111333176229814099866161578707322442032043069290003878898875678593915036340330571107074313206709457780785661541755790377793271720918861462861464017636547365805057870844934930623472937559611536247066103501771935402787712626931080624378716832579392149308423078014358188184361880595695009838529164101390018634312820629533932488022676187441231994826745746799795267640980052301438056232061653703413337151515115444165103256513396983825787986039781124693224939828369656943501979196270669677898593808331413566030214673908116163649148713624633563928351496158181915126677617356200215835748964313100916355039286479650435009529659472192888736212938974917447437454966692100629362643495028975204060094526136230297396290230404717847317919788365553948344856927832413559403025037120171539471499353112488833105250902732955992372238585189393511779298528102560867658526640571932320887747095674528086060179691484669170396907333113711301231958603768586993898732759077984720061739962744056127369286081794924360468980260251685945266030567138852411339958895467414392672194737015716950874029383261247307431841275305185783947621625397406208097913150558751538161664859572595848830847825797599122969647288337515885558537212997213000566849237951538822130371506934023447336632215342768197059464931336694850537997513177980648398942319397171686059707349443640892266573317225453479658708601540944183213559657259898851994459857781491738583841567459857450959140879576841714904114034793934277878751024399571484638263465957250244382622271684960132666120439338101703496070811992937554272968685962180213734365983107904102004001524238409735754091454493620023787264801624102175470862091702748467873466056265685052491383422448423582835173485043504165294025217936742063056950307261733115045676003188004781159476602636207438246309878196648477326884369228374520766994958372044664010751662935595985159691730927490091763775686486187943535516663416458784844433352785536821363772187311879243615076192119210747232492016673505328777998986176290275677370873867296475699504037349632897287867262141023038316413320999981578448476851304518149682974596709339585459198555406294743895019116965026794883553795339020775024151647710232246701775742995107152774453962392006225606002681717268127813462976679987536614011734769765866680490962468012532785538929849576765738626553329399284706899777342912142047677824553114244012094350849863432763024743350328959721828665630628438823994595652386558865273183798710117604597557521283238296004217479163857485281582289073371831755882957606885183354481610104546609951041091373031809380073412695910061014906265444007496441328448566084700771930553639509408024117530158671976919603131914599409843219820522999199912636695722415967884092718364987696358373488921001155563456081596368538800844735030798985307257904638061407924537489869243926478547615382012783473991276211385557284635314865674547181560653441020605389810143892713066036893289765174081515619344536080880887514445076883804706948960386802077704907340874814240528086358596720569517559069635304268851159021732468123940455298729847005733537709751982414933706076474291801001188539544685621596582690319082454858889494827053095867043161953316905599344431517132823649797645110115010380245967691386218906556276108333336778625759894299964660415728110313830999964904457231904310435390725318118927407141159419289136822582717682532815728362352759578653926780735844466773345816029009268704936451773388540187304304003630872032209915150249702179845395769870060883724922701594244385095223231567164904773978170060932666944977135274777706450311955046983159802491020177897186536296562628685824369937430200831395267819816315108462005961374491472355432894546296826899856365012451672259429820402048317578457954156171881211393889847055438735331278068881505583971001972259399645691021775300628708349246792932879516371960649026011162569224060667383330469314783981175702835714011904821737019348180610153685718889755659158112071529309110118218973546226302287040629028552060368774896040940966213534607702571865708779797472873803776243357045532001522774274957185504512641742005126251575159428660695230015958340731972434620468167114916688875129443666528862720620257471988966312720934794275557699448446894338261141130220557867797194322052255601673880170452502058045859749164380675758615408299993180253298904933009983408290431268313880917189218965346900611724225869186311174150844376218829226371578347243813553063992925243864237294041677335585474265932373115405367174644183924844540068557750549039046627778717479204063471982845612923756951862966579118398072312738803546145580956090964062894878713791119945448318710313314839465385402225325987608360148538845475010847544536056739155692060809181860153212264297017528826546097076329375138317297756294822212272639716421239395696939636579872323803561927320184575418231754277641629368175215724618264419927438365432356803980250560791299126903997913491570870592952872096199912364460241642097928682135065885519187599857586220213969177520346232867359337832131195155857563518028224006138903104456860688389121643005963667675379128479959312057304022040175061743601117871434325326921651642492784564978288029141144673246517027448142122827207386550932811635086916072658179612566319384384717837349745354060833339705603843688015410876440530139781052819355809243004674034706692758014934023399919800611501434136573757451151201751234765548697353864714090302982143536286608606809319100926820897033278629836981254399819357821821107727771089350467519540701477253074118803391210987693365921059913762690471708955054082007967275739540549730018104019478362358992223939099770442626639603985622491654236049077570230932935927703533825013880627457480047297780273938170586173825107122187131369068646438413054173011073605698016676918099331973257525490593292331894352166223095372312474068101540006529170738604118772949354881437757067144456017296552418665165370989905264902880844973636051569209273893670363840452975066640444444479155680394197944490946696137024430311065939020111944132720297134239752376499265403965391630923806948392539735826607466707303927793620508280644342727661155923347710081285752721288674916106419415681107843402751049228998308712650881564037875827309210792256529155848113667858261894747732977238966053340076303216166231500998023417048594615535611961544550559054222216226088109517862163868939158354865955926554833803917862986855513215691133L,
563438667598934729198853706522194318699138352754313232197369332783917951837992029739599946048005918999180904505325977767552909371648120486556549625499067787099380578397016619978286273023677226483027863520283953740467294041208434912691082573528069436734965873228134640163693864477910442684078875290340119935265229396344730848675372639139546392170330464950674231900747132421340881536437392102301990460519111326195376594609990515805465936705627671805508191748051024870149524226643942527179843501157897492215347169304384636890501895175972054357699425577733055481164785358934845721584851987519989500639482866250897524962126197446778051649917160571202531514739516303353626705416480325335142626138978189063292087274078485850780007349363027867994268686238458800878965040693350441796817216628989844778860233363125366707138342830797240553807588290434168731154483158343545444269200086961396449265635252366351994981865027529330477743016339311268520697570479773629682709282478908309657397869329776015653014493046478949607339865260981492702780867221286573360234596625617698544136944312285370052547888946287173130184274347565039976680797806695411509554489107142457844841832634083363147223921470187451046272638451061719570294713014397556705034290686427700211498671444524536372525662990772146391955373736827164050316124712739030277708087916432473923409183830873746219521131057194883696789193785102916532732282673906918937216174849810236905695926766486938804635093360508023566787145183827955284858832921405563639018419429033801521210916081192156945345944904816590509265605388193559241049574623747238896303268191640863194360270235665084414026394449247716540828664257881049286803986572844229883646186603169887955002503328871285242509804401824810971996692241640232207149499013200349669219035681065181844063830573389679820966798812046031257510391241616439321353876648979243953500504434945924111849889506392788061532549813340902986040591995800235641359283363077432335736167263750725530445054610061230761805148804402037807951092638508220559306391031223831894395916247482260720545492602815814003630203764637063386589398450081751759884338965721045018392255457930829210610164138102605180805556188396456107011690107418443002721916230220608863664283891365300192727749575153139539931560242878454641340042580246277362666961322400535920369489217535464210435083930483111155283159624690015912215544992100337191945871674991777381975229685077999785460797718966143557772498921137980897862781216823032077274726415119812303456948885599082043972677221116164438932074365078531441405912202696638716137924667185827733920740556939459955143855911908886312522800361424547216839910423406096140698511642978305140690676261504206826898107652525631606107048458748446148941118688679751910429292290037149352216871961198516763515027072946813387751022800559372650759921696213449943918605688361891811837575295288867290747060582618353205025373706475362592853919363446582399381082778933131072566928538772455201633621915619622880305772433681283267497936100979031846420652540252453960103078877944334541782085676045048067719558569058498825859756669904514376793933122435965760696476811503894881278367506400700511347298599684479963195771131443914543500988571368835862591971524783282814367983547557185638151438911910591206486494276586976343616748020239255531423005252649586900386423621714663998245221847386137401323483159172661255493231244901715826283885961115210178970560263485223773317737758776757085117720147651799511056905657407222753641038633610645987750609986945118544322272742169541621264461655948502536678832786926953203477076391755943829183791269013881464731969759164453789453587904731946995343587822488606460918905067129259651879703660513862056288045967245307375601216900851118068386727432083007949798784865451658238787969148145127330570911182066357477390377698500466004240827031272646895563566328571437256612008507083228963152098802781027502262011548257411008377781568699416108393900723736846762169597906088159595079712353375161171406296757403767780445154237787426063397378047498592468949628165998655914663011283074110743389979511935023866799712042623823025384812154828120420975953355622812411783155251599178196191081181467976068055419980664915985758585926356001870152313540290025693788247877961848194563403656439058146461772863235425135970038087366492604585348118858200100153384497561117790438930145761959687955408441256230997227006908407423144375819505857434392091107784309252148664997499607530548708986497298276546720429480947888160791414172445002066422422570625808343243761207455574800461577650597507194324012855397779277693670510138202382329903910426829073841111049565845971347459466377814345567297364481694643529760976992340200513307838372929814089600362501463230002324078934697614834611902207642385315810939238728248469650035090975090001573988084828245461919148644093573354339191360359938303672075684963503455331877767342779604939245844878167631018358639796285460902071146008109836591116683731376506565846781130234309705428174054706481446858845506688069323336379845854808901164557119933023525510221287731374042385361039787752414598615511235004243988203518016461505958321553794043855513500778877774073507429652305942802745291176621204206011188956153616624686191361052459622271621593937298899491607403309926745656315651969487374394137489858454868665689345841874719542444052568093867364002281892812333422360002767129273017601849182349793486554435241865700189784715065400019160347153543356051647006560144371846855626521249883732213185078919744492114753318988072712150056395346365146390938610788271554149419080352025482763086125844843941156344414806268036218382619627218172984131224634938597938834943582998399467299376911489104180934221266456341547839269815217205625364006344771377110477274574121399483025441090114375883768983460889030062201230253864477803542839743110088939763407856546224494620005472010672529829572979627536941173471104832585559045240884799695311285997022885588806598129086899697176195486596174786953854120793365019695864053523134043104929068228030268751291166973719673375199353977943735086083171803728781343962755248499492174241963203688654596920619928659314212558089199427775247815413839786731970012589093384657005667761727361207831720149118502000993228619567781753992444539721726218541432825443838190080163098197026055307051757462454341907514857203728941451307558549159809927767012071252641459031798622990205788651191821606104454L,
910636090920125182365581063452354260564243379672605118875762982346461403142291228623935740008451227425849842049274995829265290726376045864764196834253116564838642466062620964071304891757789137865146309463185259843651462350852566280729464999852700404298035324647243809921569489124451790302109415570511110539240449451598347161409884704998813433758881743775309629706660693438227049622446369263619446402616145108622140736502618444263625744800743575965530921362401846595177502082726144279790040568843433884527648780354852419508650945817869826088352587899348989316424325325471912091862756340241587170859819165931972380478549096275631553402927427535318605779606947045190077935464955375979724983079679200916838485823502978964577120867612255974821726048908749651306043732493849537016471230169656109171361266324008481457492586814222601359544896103152953422785620530780773475974230840714964235461635798367755116856404816163902360648614973631267737414429985627202195126249738064378107277339491428448298711419802892656066340323278763330532391302349686682260062753407398584193705354748319829241956277558376079835770665073218695577271542650983876353112827094420250149658495636911366757891824354676161301922568427739783982410586995016284707060969900575266627272289132968532405005229893371829301539664156510730960254851259388634360739887235236199757143159678137985050472472366706970232503446012264658139367209806369669577901442257591393532241736635532857955724455563772586361900233114870341198601290066025250043226904065571463239262980360326215052721230557599744147307028940141256344359908180665487061706316107367046002514777836102002387738698038844641350520652531988490168346479950778987613656063602294054527290284125043426809308466126794939348923102913390588556314043683727472617155152763260191897014534460931114777261612887014235834531856883588690561270208822098284553710483190390737501459103278257052866383967543210660248494604697976101986562693583838494540572956396549568698800007090564889953850468539674508342044980588026476880439673609488830811579871017019986671154790188739564828975558384436676600734854173965439293173664646356828209288666566749344559319576542581627002503638064399406326050198401642043497452518598180850061279099545491820969118544897159010244669083889949601119402967347544830705276897766637624710568194337174637782785092072013942839730342159327015440446014757612451373700445443907239726217434857131356374517321724215495713342595295808302098170853812170017355510512433723505199542210304733062460143948403011611901360129287130067666066653006972041441034377169604057613140138230374490243658144943806883548699456790821322712557645578738493425775990483806129322042764829259063956735332202642435430961577773822014988341746392578197370169088431764883907985641179642828020608439513066542491066291606854985570201562977569905924611264151160964426422857058844730687228666116842530360527110760946499804801087842689331569288877763066487493360451499522348979629087681199365249125330284615926762275826524919698765613254056922458121097891591885653699023665311650457931909140901714269660828380250042773489178226650847206280899787293664442284362673067767019784096171490348773850240175333692310299786279511926445355169732085469469423260863001452890697908552134691694450744095400254994713196211121314064506547271391030123842226315154934940246738887419259194823353834005922215772013417443365888692429940302231949325515645084610274186772551647179129930421055998483961720852098349512302353952407149622648697850918874901269947936459138964872513403705550045163636165882600316910713619535519871007161944253931009991474975498181963579424117402759354523516258073683612968119883798163509475661833342802177446762087505491503455027412684246278267780353765578163527847070561957952008552087784099782009779810600390446873724682747383658525580294711365989264848879272594765864226163320007770309560033655359994664892661453314310417320713583851289800259716207786067786077029508819135029803278099167668545864301589485432954204308517483262105525156761234331036263484582626518930207876031821691587155202649845788565886837884111188109256166499753394138754252728808763001158975369098525932078376885930405808867718832959883967106682594538844487487274318260979186524936497288469343291512443196507652970506629695806141502743908680710191503643246673074259545474848288281142206107107577732325918057426614321702644367326824561821076767855728195387324576574988716361430343252553799895164974357931824643371944317728611521977167902632325600969614979643455597292751174018146300794393403190547977140898411913685863758970922964586970714564595686081242913218471158891407724631817567640192238265902049161764046411678513214663832267305688355703401347612159348574717610002255544661690784268115955217254658278354966357039166520404865546424428772858058413010947866176210032503931696885537852988496358003656198696272829867740167023455218934135804849718854877798937659594197305930298444882684280516226386021343752295703455893393204699282692201675101663511635229777961622670966609545036401162051735962340858395365127105219957834796515391706633508560758912243826551951402048742361329775804218752419102395628795265516254549909792120640275199168100115115683826433575817454582365781487211625539373191799973435980695961752463158323209870137926705032651385724162064780124404303993385782633763717439675927682768942366441481514959561319803554284521788780686937142234369312830727994131999418392357455111367256168585950093632388699550504225130936208488475592872606050357215358205125381136993476177850518472463525997137211009754077397488518356200139411846404679317344744829644808751071708762035810963116013634775678220497848155947058347475741016491210678392688964536552408252250518614614647767969928850976030930349011400888498762986051273726642981662989043081313797097638806942759007377906783371585003958275742381588967013203721306577101848946132688283324816883790595503685757315474680454494290605152905253539501439223367597600639545150914338483928584861159264634068297689335736377705964920040825086733877900063048565387505558429736470397408481182051593549947237809999100121395862671324230023463836497299166478533417569099042485916273188331851573974116414043574582124092192622537655308456796490384529353929175945803603112064328602652623575085832573674378846457101338765673156157119601237286281755018375464277949747022086122559939037232881047415407957821587979896079L,
1471598180883670692727083279350110362596752762290831608006988483683827924092584828517762607699101006307547756452679440721900794408071370054300139799774872691380143856321574862415878197916498189080055981558813862426243544678357784471999523900549243198371126218893556080662884306085137178686595143329111060381010748935637122665256619247692507597094809334051037107789667654700577107588263890986138297791352294994432092819926711190920686341798493970851610264607884488604558389141444546962683124857288642655268195080716065199266302422485678322529104044912076293000526405773220025431355655340500923794493588248541732841224126054547032824266619474108793688175362970185350511434964805782527580498712051203244858180240500953545765936490781668559542836761536772036206783668378480960134767282865299648151738288761937998508531728116423402827898808622358688099088715724846479155764457865121702532117769700516963260694734081024818075922312797534462699907351207411248913057995609887240774617785502063341415833215936875770839306237779091332339267091058296710033272064332170160176146359826092392764138638077221288510941483579846040540455834141790908398832588681130121823928088596460479555225359880447269999181806576382687556387278031259308188517548389772814628170698498110943273785177757121037275360110369457169039510859792572348625087534922129043296665367558033317648410661238260736027815052696269128011916376128366438140563792311586804434782700270845708527676879292224176335398220593167145467671528251394735412351576564305798383066114831021911353368524690635307246171852665892151557388452480869793610627843103390157440053867764352920285363550029648537658390374649747419374975772602700575227946119141957706759221608230095242320017129165289528496251509212479905660236077249158686887654266660544374049433379878767630142646143329662213295358955290289682921872559516653863374356622320293966693091121268731012089392585743294055931030773219519372631767487213339502754628378023032213919921129275896891363789106466266647582217544015555895809545957573288941209210691166684760284642068616611206337915071018010856990036273119668985534489189535455928244719623555244056389514380378687819055040679259525449325195852468603275149136356609932324229558287686132198260333833248790125992849132474604087447144632113567369332597564535165242046550750353399711919135074923108414765353228018250615612174506721507389384531343357707178332338632803989625880206999988612598784414002805188073666221955065917718835917816737405493378316119450721442157155622242281717379805516427745748578060927726328567629021437670621125314813749577013408430338152749583317143486196926695411195027461395216005715517647536989977858168291110292720195554918240549818079475595723704993863391955697994401817899906550287930961111825754756292271287454791891760340461787989815906994531706499265969176408170349053991519880425800056207373530405328831726438697362464529983758922671708088119495175788665161870304777133611027535989316499391918758265703034332719472054953884026252521136392178113580557992979830823558417209314111021356391161330224824388659553777942934476626272286514595311813683578803241568740337110158767169034282553188242018488912185195988706499541756325943977731934541657637093863819696587330224305486685504155822128585589720748613381904158156922445268766573822398249591933610532004689286671713063824466604252687132911754272329793882325257133019781815028070176065787517769758770097692935982649494771001465463324369902486930686984131021694712218090959953421082496243976613488941601538713448406600428946044130221916317953621946198029138912616942228381451181582276986824103435782287413201905513935246657915778011294713510710594954592116094461668995066004033777098659220393598592699322635575623650421418187587696193129082344537330696954173100112139516298704727299069755216359857950707117843011549220392197741763639544725429634153701852180846540366936686713582590935728994454126729710415397302411285187121002747524684612495790858154466376526802128595125553453859493080531014874964409581733037755316222627465208876826891837092530088430029598419676226522452546996044360771579730348590236748791257143938565573645675464096301242145156535062636860928924105998613474485994957458182119879822982943845164429360081321741983877064959826315078686381621996444806988419359387352983892488844770218497379264380844752150123655710705186085549096990234028759920949686203229417466273243712792332787174770305704700447190402279495176740426913316688775588021441712381445135877376016618091856841942767670314539771128969917814561259067988404622323007057671319604122681632967625498468833067505961802303916844761246562777064764606045365603012072865143041182542813204225153885733583480081295231033709467397043758635218134470436065920310532315829005927409631396866638326007241910443072756056704635720730109887211848443753999988574671072383635945267847495330792535251317640535193502640147693310787135532484424776149348339929244354473375385852953537731499909728088829925965183499754222917428256653049726521220225072821147213270912256255070133746733494372975383559305544711405821257002633007932502033873637270064469379818558606431204807411052579244984454820536438566309442276601220839087902408066211922038446513356768990622686557006551471778210165359535077672235972374269265514429086566581765160867220509344748709868154667510332642612845399122727037745822190577532968816773700247318896346732810035881687709012845223437383606122165382314938141443521816335259763349102189175748048933661583151514667635676529953665733672014913897653147034112081998795696992830778884407325262844654954919699757121785826229996394492899679837732908700470632894383253622498274363866993735048467261702125158403786028497859526944119036127820830013401845635903476868929669131734781441449185724964005606648585367900348896552686703564082847981450040514153128288672319872894202079086071667082253869671455473817492419964417006056588566124236470701683670973054796172709305535648011442196277008570417042043719737551987395004370193239660476733023516182945167587327777095352213003801900326856200460992828199043021497595634533130201413647778249367692300035901407718459145023784663248883540512991353669561229999084621126725475992595783891834208310464449397333656726291350546591677833701516571679765890840755000023367200721104222836514903140403470777064703445880797975322834813001631664113143349803362603943258806601218676392953336519L,
2377824672045727675566349608426492484633992549209396915531997484888757624502173587183222606429368943453488403204969601681352903008366875754122809440009762770264816774694856022738857566659707951501637731721033295292188432732671658838358298215138500871267243837376820391909945878753883761632373689016445407472164113334447256483589047083889344429306148828565048063871707109028301788942926509236808739427983144494884430177216881134755575633631038689934499163753072243768857779544040064177538115494350698935394484124542390153203302848870042501093419839175345537126810306320348050211883341326426515316964650964233863570327140922268951715357711816503543048994540215985428457597012048811584802407604636892750346166791174109971922769507229526192776318622806328486047578096209524782023637933568865206076122928701743624819016588631631124386048461939675939630168134004950256813271531813317801026380267193713020963737578316271654404812960431149566274361933307053595524911867972062476314220770736575896166158786128365163910482741378625370653517254235908022791489182109838235196690502236313452610443081288179953399252014007958667323131813578296955908151546016006800149631371484592033733725468567197366444431745280653203528772100343511061733138196509890287132632758770584533037095868811732100328213202075374296747203635630081758098640644644381802336723718611856130845699023629682522706081880910989058035974705465330452869611932943412974888482600727979888414625932270612830369111963115989365918303341195574902947195367057281553891103652239712449418936333068716857613299335381635806526447702314802028680082805949212404500970666024591998281955204459284478792738871810754519920908138378079792575002640690082357790640288104452265381886377362831788842353201597471673361585841930427502852308691548398029838500942333511650373408479265218336588898735499780062530919500106058041826537492060391331257687734476870347558614753993873489516911070405968769894854644818335400745243394516039746173834044187846321381827806648658049561346843761774018419971535381964259248343535265976152747933377315355775011298992557127495483904946920665322662137605171851830959360325865516735202564557645740638791325053698203227283166584534633364318131769738431256592139491591663928408710826845313066148244624905921757297469934080284746434306103363829875548335770668940643977797030525345094108845738603077825809730758241618520309132739964092387354356643533690677059183344245394827961172926300469125153208767283786853743175593279758925178432344310692332926776421313970369688592869197039988767754489197673255768736565961357384785694507596707998330195947819871417169843558690720921367347464366967819016219356451047863829263131120343448853171002048101881736174396336041127593855689061094815224376212227660041340037940987870197780688769195133612494241688747841992877331551516984794759983098008618670231366909023143776887139198830447903584169781095130581496354022749950006900341574418718915363509130281091886526700411015496682444457536528773452932438272773311983623811559379052343597133756137327993628672773662353842133418781374679451169527888916412725510228047455737745096026429582288572562234940445255349163573393484111101352457104176191685522825289061922062217926699460298519041117268710163543420280103942186894142536585551801626134084393390983130099316658995403874988310616091867041890333880615124930242515650807252122973009772790391479587226071052635323638786721482729279484511780462943484594550113894859566471924952692643038995935213667496581713985487676987221640413621155945771074700110748372781717490923568427120232433792821374213027661135959925717677705855111996444487968840878284642788736801317449150954182303009424883778126005485531930446522344733279731522884224558866948775270609522823394481294800514444004438396185003644906413669424459984826362953747268790113343328321910380305896955846362948039084135739688260994632195151338063987701636410200175576170554907399464990447579374259016201154677849986438091200473548925079828702355966986241060265338328668795412290333193975198726116038534617878373659317299828210747928481937928832786733957988913262564007438206324292446167638948335718407504867975866655395895187863366091100590573187070236261110414813216632614096025929355822250273627687203988652184069492648217598797937405455714618735656528964467261543843596482613261638947957636348136294714653813966366065854513198332836653755612850204091997290533924244288872822397249482852375445648545838372890039418981117559134299730179175834497450834391015422365303132900894657495136735909411023384421227179587589033129648766614826672189812524377470526720815230621888344330127176571131820530452989936202187851778501921372347739505961569838354759068131386704475224413189725813091378561347125086288158579689249713019260962480146931964419344453219794034696001637653405915547547461208963649853875310157435745255757987621940785725082885158777440123365807833095199107017280911744207070302510069475533742126243831245928134367297759915003797772494398542304562394630636330996156522571406766036537004070928837262894202730114723033035937607358617650300372099343184902719998257072153332546592399287540652687208744367953120136144223847393619327063134794490818328577751709560497702659003746841421495152432221453914476716916039157070046788602709219163855911898314358592020031299587863770751260085530013808181993737902821853981105490483193142897936844576819798367364558302788775973532245613796331051144581225366696004460870486189368213595972105392740671777900553318045201018945141935046767862048664153109925379495731320324241582908739738060871105306268954789525856126274330989371128640281912423847153566651910867940328030565631395995199923814975805701079067837670248937016039958965504906233261845693247598294497652784169191316903334471150123118046299854040172309861883154585884319544164415471653470692272032787977606503548505237735769582536716691786523049264314805091257751283125286273769753244210874445081028128797203576357700145188342901572863741603000416056689306899543379946020677843274854108610409163134762485039757943042958946155437060470717231763412207031519448552131135928629749684960583224404630925933736955640381808438295343909649550628832928277801038627854202551954469604913499200565789022884055065188663913894672527932519307916592738175829706073317763813931929133951816978047853758091262001306869721935046680346982548035480397899269381246640994992686240704121311445L,
3841639849602053029504442192367850700693535533663851675413801091189893465712230706874718483822325765758495710877663901752120975097364052949154525451596546601067943057528889953661473106572454058440386558339498860847643853215214815690120617823848010607660213316248353600391451081334041139107935895081582371935559354170700303213595169117695060576563695681804245288059188807109453557167013887386904356441146562428269017110973941892417555633714031691663295404381256102795235765697770885460148273963986287077238045029015305618337772898234291809063602112512992534122362202229272261835181790875405878781312029809817694219520801457457803626338176894309640816045457822361455993832260819361304565640690961960752774113991450970494460561891104751047348797447657153477870365289063034350988884771139528535017097604009206260861182680460352629303657335723216594016760934291113749364940715490185461333254485999255166165385779291443570057033167993808384047096863692874070949137898103872069600406200030082287410619802093455709421969635808613829179958278112810339683509910048165222266443086738060700756533045688166461432336311231035912974273692194488195323407561831554289816391706587539775082904737737750162364337803072761142630423694387272810428779453514338646388964306841911991822513118419602277925080379786431569800621630734962026508020868727881348205095953028703496812557454505013510470460448215534684718579759666281418135072274038333687179648531870382212953988962136926537701125648656115547045000841656900263071887429697881232183352465297430885469011635777424970671199435465012807163783379763340127907875619451752261790109631236867460792422505215201012218468025500662459159881259699523996831822333260534339367582309511482774301832814278622692605002730144055661415240754715558200631920508411084082534827504648995069163069031673563179805302198231206876024957957623932137963280554393231926772217217744031310923907647383328070519204954716895377639034193747093721498566957531421377602161863167950709838781720107247623421342452740089891634532770312655073548493909706645631948657247635543117888423250399546564105698202948044958370028245895513430987660703067933237112844603387998065306064047515370035344317176429861827270447073502195403778828488498802434297644759480858547530418359663444616066554108309069104630929231873575414529432658891775547415001970309747510786501927245519889466141966656163881628870463721583636621383858345100708152919988598597003777437140611666646288749914361779262635932514910700900578516207239766428617234345180732801714069306104889175696680771462458775936639932699071669012743342512586187618149273415681551201942281465924794053008902165043437254089813434582031984377044618314432738258519635052503129644476371994143624646523269158122726407040668422669285428438827513758797930898204966173628071391208240169174633818206179934679495869914667531572172036054002768932854922179295246181783494914778404627292443274321147285153151903768085751243816563414839712592826629456929610489224261321077806063153597173192746433536813142549895969375430759941657496123363655276778375458080468275046643392899222100687060265954525614295737568995095889245135318032954230086474749952829694643988976403637917187571791740770357383334320512320570563293543011624777003927837061764955023459639606062418224577840579076838632158709201453633042869687770257867490594975897125885441855600264282645599973976575731819888175741009152772740653666432707892958797669111223010143181207438732309477086892861177054370847055828551347226109369097024169781885575730934337876209167204659258853181872085147104535454144607717295138572298903439915473795563574319286102300972712757413686145325305579671862311115713133512999041180370137504185446538633970857797293735406863160280716046144551081944435834852022774738093014644224426427504530810032864493640896708638729954564599646410076953234573917712673883196297641310499059371074210492983464468307968020815295206064236597384629177783719046733833148788387676341372637676959401802620855629387850619602486606522016739891223614193542360189686030119027561065794155888075239860595678389103778432583418333942193931917802913463936960821387157812178550244819542173790746530918387543742915386058909637468606022763526136101385902438763044939032884986177036462869159456466861589400703164320864229458437563702268881115362618066836490942877449096018172902956239616720451750487471582822706811999587793867963126488528595385460106365817407237179214876637828892189768090635478249216838881927604023503359236110276233916954864998151234538914868106223531532831585395032573090940236487666932282407542921171857526896523739212851207004759003780149504692375623922000404450971564057648337282621381351272655832039096596811830927661562806627726466368324575443142327732206495262274625832337343457867188640642641106523876535210778183582636530790909013023962704178011168636279991211460091711592522690977356399172776527607222086880361568987129721660616733650487803915284959589266661581118434226881925321705302270636117880807213531598945150257078544310465879181040450697344847621518007178262688455544091661595930560618954472007452989323719123996383127317906807569914946313464656293876760756757238841294634764420135820754811556297927161535457450898480172962110417928176688910984874819834900541654004072923396315509089063974613172134671506067698387271567935632710251082536358649099209200930082537648857408072135471181319863291045102636974208561010911607624260458476444824988336237954964298058246012001241972201726387656881617400995078172076695139007209066125214797580991436514247196126554439399617868192319445408887801574321903371863254379362582619228194755395994339815142811077339226190390454589178070044636089720578354599806834881806877409319429382989340360960478034326267378773451429810481324843680575700099767672348489065386571917560849147061333299248962710666703000668297907214095869401897624201729598409518947468444536688675064603309912810700134616838681984055199936904908593307710022016225246871377117083182009451344881923944635641093252859494285849686101911863311071027912718553655540374468320731358679047764766818325899204591269486624980949692364211699521865270752427430060676343459488724565068172936386503869017148947934642936726912632170225236081390599268891416524184690457620427411265174778980959341360504051668280832963182516423116145860128486883945311574198903775873857126697618025057215460430407817087061171644886117755789L,
6205827904330887965266484813164414088537843005607043255454417489545018009113308649232892341792281606980525118342658168480549365941700099463546773389247355841746390891361520056686251022218517948246209248344151518093532413375085768299625256224965946844877930414750003447696407688872262101136371371793460423899935378305478483266189345725045286242288615525842135592854139669092878050653976557290439985210215092034371530546014720444969023387155948759134267983130481994592400966049724822706409875971999287842288584841054303007777556951363064592502552345699714895584514291917185746258380719853220387801537544651253439559852104006967917858161959226532820622546649711846707061949759104182754443010108927188698810175217324650804549140295079107280508489846088091223906645274722211470064689142451675108352183160355314551938772490946663502982576219025581826221962027443203026136960762457033246179775580301597549691206146251637284278053487134626100539820604615180266657720506106904549199702098995904522853147045427324880635485318002224089495859059867448369704857891944856990115141578073614979432015825874627020681058607179260806118470795224133868278497886847851412452299730087660060817031308149849000100241499234974600763787705911373219046241024078879665321002504864162728714763913886382145817464592456925879361945867112329525905293396217670703462667638612710090844351454424076890150875869494685664140545866648468372583301144975554229217234632751418678161179597705858690859427525084015118720340296299684066281607496168056250595689673141928539538239674714670865299996260958085748113478394194450068198596677984086770989920612419683505291271576997881958133326056473004955467606199223643277600602757020951583051531074848822196068685060351990745581045567891803964640494593002996422689925201842095986532705243773993466755162050827689073312951505425807677231855727629467107361588369003962128925892289191329274623772014019282381245946260629030947525650655136971869681184067279836519036462495371137957754546133927474217459117306678896369824134352566485674912734186827017249211042480828057894129098896299829321035406489461849866444129658012775118740099463089926099082991294177890547258861156075535863439550311450255318787545828888571349085297775077526062386471465289879211483655912277782189971730611119051142552694853610543369218636025846915641454532835671573478520205398798033137782947579399033891444833895876854039585818794241579788095402071453539972535398364867177862947555980027890112207414656447797118179257696657756128347431772681423098134074048018908947452817358504516926020520021024250895826546299227905968557446384517727419616647302439333620178889636259624482273981052802396620422078038056900593332292115962008757145764304082054294379149992648371045991348553346882713367881668792783032744541435477741058121395847813890766480091441586253977442275417610160647399022054900112459202950991650791288094451510494888325986325835207884898489187659472598321118659699320563510508358055916464830600084497834842793443146824630502391975448356347087447677436263217197742497614556697769306833323280646269493925625406643419249703134582469015095010185234987708482768201486296601585036964733649245292403212359329480768855436580037269180068644695240807391940185065961549655734066643086446757901281941795445560187056248425707974024320399899220277763843585715028771078184073759054541777713903369075828103229464887823696890697198969704684912851278180464688718147151716790783610995221104846068053827266655623180368473611124963951912420624169833092385765559547711527255313157013029589967706625031906305147879009410626218716174009183660636239233590383004730004109351884036454693846416275920545874788004363454704858313800092412578784294224160722919571799177768551725145537127838324015488971099892427361886126957425230869293851515860025303231430295799502349935319703023545854487812045183915448410662779010590814829124921685528181962993121548449005943668297350893483128674575011767105331004070197506314208881796195176216771880120217873117495919709727292522921259133131644683349133350469045147188795581579211991057891575370127417988889973817364708644695589335389573201384793433353721894845477163234764035438106710102364261709333735188028924319152415067378519781915660677245944278722890171278556602662274422146454545428614562175437308465204804618973230784162178683527211965029199082511746093081203110523129485707374514889154618355365237366324439761660006857786773562238033753418794181085968560076086117238265586252541448449117746531112323971762721761719132856958953657133153136633850431969214012292750216254031930233309670230017215941640397652825914736501673652080381219299123084671812408865482952473456851571341906784763460984923043316339182587224127712967503526062539266254388626763980082034741322677043978670978231922774864734073912075453869793344540191210568512405072810279492720421309509454212381410883734711142491332367695694060424447275560317932695547193774404434546825210942120426716265331334667794998963743407007055308301803861984215799620831709292987782599886300784603545168880450391612749051761294276360889113502014723401538968332111488979833958025294269016082895766067945450959813690707630984872399081637263909646444902754878356238460281607450879573834346104520319919942192376720984072711283747170278206611074875097448514442008416945186547414182198097034313525352477462916669857169797592703446209441696097394602988129854206522712658708591225744715293715946661919726465695414640472916591300533533663464040916646224569635680949909427072455424158432002489293719976778397412202642180474656781630784807134296549925583907167719450292710371951693714460630703373847908885837086463312959429391872034035879953315952993985015265103852240148217756320852991675044424438522276933615285149067142888600855658799607170515988070171711675400546210777620825047442903734482767412476584590832465804331802672081622671929969600420045295881408497811926454225672873271632857121179233397973763960725146612191754524980716645264169502013239336783581397917487313469723511523976709307316107452121841989900887834420155785998804911651209493363742240380998323778083969897408433229743545012136748471705494236317799777657402205731786504772751023505246385307680769598641115104402707731970044431043380494774723986326787756822670903360874465725159004304713631423893899096811674746207426204116289577590107749711714727287867145452878238630511658430177265205456970087540969375L,
10023723968728538917476941348321112188692942794667915833697855324306976118976068582446510395935993037711707221196540691066383526927605707696930376395075960121047231451328456589121563401348671805412208487909669625313587829837591827807648970259145565471199176420132202517062534709130714609514448283357303172087006525920863254858309513944008467429778769555717289637497380291748194333405543630542779632528422447967348952718332581405550908778861635732358930937634170390247848372840087229685697636238392634755439883466856453243721357482760198891809788110929236170174653192254553161773935337895880576062439363041566313598485763816221102052235640462514111418611755244337551465311387401449766565752358475962029226312687032231227435298506027570973695202150238360771357303582603525182751209589000055277171417276156267706100321943695232595922925718022603659374835257630336857150274013874844288793349340442627959732892056991578459299683553998648405408687708300182308307819569251066277164632131920035543553052832691123815164571201982712678389150551903692702556064024817523714283658717575787676698389365663121298639054102138547762465644717430910204332312007172640304305535540062813151468640602115335045352871693549662143998106630640559476064301456244703584345617341439535867872214102312965720579737882383375013595155464264974295653682059838479594506189776276582604854883118249706532403350676021578862040690196695916614836312805939339721501218594905436121636250824409279780422311099157819498860577252356334773738815306520617413761934608058614735354293592977457676014677921416257985237110576116728730475448944664094415586345053429894349213264818948199729800084758539228885578934230855880130062791255619869532073819972907371535108453243490686138479356775682993867210758965522505552781251849370449882540322107324386867683031028374427541771574096759520206961582139303303514594947762857812880500736210542559207853579661749114431179036351879570516987605357230310057007798021868844993540010347089482415416366486418748723548426572194897124053958545068652344476793902890216632413868697045786206035878791501137615743777617536508062143863048164485507316913129481437591595690547479392916531495806669152394147792150192217535376016919655353048808554346131341005189626511588783152075384396539066058048124204766220697157241030321605474085235481177776889094810318084016320550805351740451732875802017158371361510312320031308437088263209392440529661001504431588509885847948497842468139588320380046905009372860204601648293439817933855597748217598655574901145661803364691702345720506092378715924582661095405959494870297502535165702317150780339914028987371905269941824136939882504315423603312081499016597575335944821868992816127636154050155365978717243384208898389512079714068541361251764387703076926862716709093237542270340065858714049283198862207415294942442016111409587167682668294318690486174405042512420167264368236087506361424062855974305465332410943073576967468641755726681382454600211711563137226029629490672903666795841883353248606281017263905234845988568781954351413610986780892660514656343449371508153236909301511853708443083588668501035969258192282031489447495870024408864077378798745970179038901413759305727022312489653532570774732150325317624789037907528077640568042252831727828389515100780750421793847914737172786089624325328722027900579544547576158956478684372814047307290176941335701248701983430626842534183497441562802064414744225366072217977399263401059409688175642169713685202759960762495093433348039384547020673798354618493336599536024180721846532028857491217753306906649841523598375745209150186149629851637841671409122952639368244394997944285296322910684895918394420615947696905731399779485820167843176796129904552148171569678580671363436061926662525701972552846837782459318253594726508881612172567017530885500251730232268721012426643227221986876133708212245001374601124438027864990664453058332220907707521305338683103998606458314499331908191895707841565973510317118012343580254182218927577305234782737340093024595591057127015772372966991356295555316992660037265616860761130795371035236948358289689986472094457246340826555472145036420046131911238276595285578325983825366645171683882397392625963731957000033391798290576386121970720206712863246988769525898955752291186586520207774460318869166655037658814271266957001370990683616314914722429645758245054027245765693533653194397262234239685816127407464015857620734260575351073061029930284535377705752533051535354982405433839135269976274404743948775092579082863918014889726405951578295421139512458242122779157792672670821524341652750881696231307705408320244603446016814253577955536652078548680802173539659633894630541370193093192950456450707067500641471781918930585573314188132512827608134329550961435438750760397758698576540174837340779088751999619769588936438386113085630191511053959057177784524990479752292389611861528668662020131459422978794908633080007250617077668353171367072536346339982227239473155103045129956834762639805592233465522362154133843709173437530486043229772618730268584135316423703897571121861946138573410472659371467805198610979221207590981370774295512086082688609699323493122026303344013983027029498925092538441738620154717961959822834935419167145056371294753193327179836736384545930410337118481176371555413278183314225823963310882854232324903993033422491553606634596792600937450977774359686770543458144135340458249197297899476642077722634875415568504247857156051107841972857361540322232750279420572779407084502782090521286989936401779126710643302389638529190240976400477066696968694316666795929035454462698316179930841972779233528532918825103232007637317918189219877813333444095877332246619632142034080919464832220042279148507929001638749225196031596880154888434062477648473222999930359897088803979052172189038589884113109714356529673979106054894554768774751558002356356843983123474153923044214858831183263806737889473947836033134150945972788892924086229882327337252920079024179423008274294677433872676772461648767099520613072748939181265343396834354545328563630725870081772659725304328537491646810114187616512523518160647173105390267187247744522467933949945980438142613269483157192712635149748006946341648149933279467768807123433182625432945424113334111438956264840121285282301211496733501769757309981597876309572340613881045860825591008481950640474244196306727720318446403859376221712673571762439346162189998050956745817638125186256304269902834953L,
16188432144704692269750835618873410733899202497297920018806415693816461464338410895903320414943906566086015807088482600702535389968034172333343209617879817971884589295669268732501018234248466857617741582204903980353385108678839523092430515471687557115929207691724376070778747854046690424052876890838925329211847710109366862174642875602272737994392098385308115200872870622272827328016620954033614979381821339253794735824774138735260444140255759931649719344493811220235168425097065962672477768559336722186659351248227979204397994432192924465483958363882923851581016868221288319595146662708984376911585229148796565265552994637142976540967163412966889041493976251700372373740289724827700787432398545896607525549605417081656726698825594438496568450504688682148321853692102710635488097195932564966263046414556059155454307097666328175345266861578507657103531891145140874083963805544683722956413349515593175129605408638867523324586297174126912249209952497739423457740953599577715046540994494835391730815152185818641776416506047193488540451963781036619911967283860638873995647378717586459706273060964049836158780702201334054130248923755522146353783795097349612596693426072152137547927685721321890033837384215050193417105162150293661381921739714383230683750515120835483460400232270163467717015871360072291418956853065094693148138639938849214598926817035229236562874616517912950833923358003010697429282130941736505719240012995237187786350256972598477654652638009153775863112649703829434240502847320466801364733900663593234421478895422482253262170689926068086334688237327860426055627014897358761494240763868927907396670826109267277141698774478583071876134477978252192758285183780023474057408020037026975422931994254812251433940720884980535291923346596418000934282337806070555864788799436298486605943927362324813346042764370096755087777117681728596219207398525913579301246777711260261059472685667284194471012148515849749804536664695804436735988130272437877666001989083964178446242905828689117926986527713858874545207024849582661187355769047726733022473611787541227799421137756762011730855163080019176531374162268760567373359005630937804140629994396843722216764401648434534609051382009270971561652937774354646897170954993925134648071172997591604191184702949831661264664812480044216036628943880755118608537976794164495996040445874567746252237346268369499185559970890576014402366574230506701746867351003750275077796120028498743085206505118096708699134129686467589890530998447946875541159464449044014486015979243976631282968423619494395504777476601876364495018919784541884755667002124812655099636603226483776563449182228847478716716393200932111375078904766464728191583995353510410448992433158075449665589555103468999044339927608924441307135368753625328266666362694296955948505755262641790329147454057240821344149482120887086349330304397726538359544958908382049539820894594339490880396593327594788573219364692004669097087495943119272525970988617139500400862267646510583672621268452457455494087873400466802521774991118450908487393958521166972436022711656930089397571796936466589097435526790568800259123343092146360754158016806414354917849382541474034452957260943713802489135778654627240896452701567025811266322122261992359517222365591265003028300026065329571203769772610529566613417684254240895090979166641756443098078480667749108797042747248471118942582736418630815000549417932046628995198989225312765860790465115349721618246418650285078200954945344064734317620367258712222971249760875196531261731378735065818718007780608303925554328248289908854232997263628387104872824541787144146510119021662132654672310383396795230924416459032766549353456209172378400319309584847790490341166729962536820536717947564739275505764251675505415685214913038320618155712451184158775221482683977784546158837622213984620579006579487270966410215157408585514587748556488100832412435998277683048895837407392284560656409447719356790684152477655722457463500114309370652621297075059971618280684681066844595264100611366050367346951071710702015797849365389869199788439356871703971969117049270789998673039432924484630144819609171793524127002719315816443681442708343399260422286424934532270030719448651407602148225619428038624688001830187529132686405575975239505456476477625091320901858035788172016719414427022546988903253492551067760665781127645046252912697072919708115622095611060053889097748562855456393497042016549786593438745362577148380797850232829029742804986763938205644263082842872673216302657822590663275286184038061383378900558928128219305601295763905698128543993335387000980914774151750537515061216999816437382109053926676725786044974814078828450059476045256515731798817929147980241646273053719719247300069467052943362714302402511705458448106934127785718489024129089691735533414475506310585306579932971851139896621917019012716352215098922410689153241202521020520487650832687411493781456872464627775241801683997336752595922677085607529368538004769628702879224138015387206939666841029182572195923973756125788208029171248779245183940551758840740032019813018362175252516847579447579207131378725046302025783520117415737283054581471077650990249237937512161568714340579836678562503435813040931945830691568328707800602548800899233419722040758391491030307221030445765994773462334132038503684449014556734788839633901662891585478542852456537028592190469638838122001058490180132867201121937214551100762185178093882720717217508096836118683997707691967991083309711097240846185593649741279971010846431767496600445696533601304945831191254259156065253117742985819306355462116005452183474030901962198708816354189002897546091528736041604354597186316577675662979643126157533036041813708541918316252466071149482208274045671800997440911421522442760934652589765635631776544079734478429770045321710430859688900344011582586157405854509308635577608341876408732894179071887174555092238743094518172665784222102356569686128896851215084125057913588087885352679141146439294174795917746988986143387001086372047646900029332648452839490897773164493727603279429920261465171591551687637265503976938954610070816456084931946159145224090111628742926186479422278028928574304495977232249173790741165567854418325689753370661221406649171077209649060388729198248550155826176821299787151361786723245212996207613984365157922979166269002872679411195228579089484642252114537249646074184939913445687456317808846378956411870353756914880165904532397186098418287106927714494127560224344739486L,
26141278790911367894251019677647571583517845513881309156041311047928303291003625702808828846261527068736378388401962955076790295390939368720872769024429447262415362808631712957643784060857722615576105419655593177674795992773535325461824032717826733262912305543133704926693777757749952267721051045267322424466287597144846276378926399501935735446758609708169598291916697382162569832717286026245574438335367677319594362369421456153639031652586196473431972246792607188023202530304250217787161198798400465018601248545866666118085514749310664007513895616337775691710425228529084111377200176364433219974845439807905374962646039166916513401607131197006207304944714105326590380244187619428434991313216271460701663780780791471336745103374100581947254430319115215493565952230747297834844665928909056622223513079330787831887902774657136210957410545112734287391050914799156647164017023112126095072640602747783972800005219874801440627024147395538393780198194303620079674459254408594854852447460433354635344040457548786920387689850754009803576778757887215211441244301880956874319713981553431975881349036020211238698180036143184020970986209390047315624863501161817324919338493865827513829346267879699774152831303340248367066730577662557323001123593442392348654316125852414737911468505122124081853680814282058955884315651148028576338815318303238525886991012852670353024336503292038283538092934756711123028687936123749636242560818175288875411365491562863771304970941841386372770705774366433293412400802642008484334570340453259273268913275671796531447764434682690891360440895189408001803845618890193440927291310884443463291910791242251160691141711893296775482953605539769055827958410627979190477888788545041515436282163701979897619702578522471460928968623818161236294423431855020395315521975691291022437458867348557872636334362064071989658450512543330064187160452702904732614178949709482936433771328878710809087280211238268040599452014269100219849304616052120398734926781345227810134684532910688402881637493758636308505666586213563269487569508026080354318365491283043863285087008851644489438142240664436150311765434873890069938876711200616679369333224142039252032392741945074149752241881047959711706367900623432138592537424548759585405693711906584379249990696178208000340756248838607564526937619695495843592992510160848967595754523496900958712714010509283086002573900050989815671263003742004635040682735353482474570970205601312037994114651863994689879138058238408882649940771469148411047018074897919550031893836832152733152570945255438815179218308887035592623881997811930251724384561349005207751120038343433895173512136989720504370507406176403774501264613992929651334000166817443564775717097018676654831817211794637106144027456558269154153718011627764902868652594126701209603646285257744869449113253194902334508537585937343649502050526704211114110093717346327835620206962339017478564188088902251525056434137634738957247630341685118060234619072323974509400485500409122283134412936376447535814049022969357196073223175401308127999045905023014530929766632662812628786332656761027157211099656451736408710885421048276992477020355809865077778675019931086550746031954649903665756201757722910015687093003848454880674742128461790603303507239962793212655796320931174448766823232418116314127447094244240311394384862867137370771902318311225643298536721372717519305662084167095866483803375573309285743083354212591628284720565454515958132386501906405907698489854105323828266165642346210355016679330711441079530341642588373155177498821456319973397930800252447222759591262508490743376503561582937624738016134301019627233392648852164283579582689863563100757682596028587381773779349903795382388745147869381943098771503612551184899507526417746451156519801388135685086066969649544009039518405331898679052220152852504766714184498571838041078262213882363005868879986431521879887749337571680023654974217728726656000161918811507794698196319198152178135217467823301315382658357950378078096735724743403290986460030735312864802452914266531014036347527999665172244468681266879348201445629068307774849017945820846581885457566658408273709935830495431133386265247854766063061703684839433127424572119716375628582518221920373516915314710578728530805355296789016756280163301689999697031794179332914267946931092352657467946455753901689928009293810262867496673686183006198136629442949425949259266691570811453080529547016941663276822584404528770484074883107099582253201123776663408273035001170491628578235811620157422382782444598466210981030950863526422876840153759217195699921220287540481958941198544347639428811398012951905568615319125106363341008943139724483194791369696502473105394095466876867943123741723822082033863929728085673655171000772251169825223800954921646070711917384164068076227667227064533279501043285115860836250757502160241328998208799319647089046400032227733758901144824644923392268699638502937063737864730408729338688329373416748282817106683286781899281488990571739151539032508026689094577628310302879518443844172618947269985290700352427915899194651381739155174151307523319608221621661768071388707808808527095230743037175416899844500505539924406705738588927233730675780371747294950823468176052419750918548607437248215076421393735155246472305227123261368328182213834488929020531732163295332018611309547341975213219501813843932213877056416003164960557105599216483936854526907645405944972664782865675986936451381672868079708246796598063003522629964635406619080887797372375486280933871127933238851563648096425884289252729559028530155577323625443801713054361716717129455208047576094467249481348369407229612722865553194801132970555848080665135565408045904060999160434066086624090389246280733352761192859693037756562988956518103353201426517750516189387121260570045894241223969400652545736015620476539281443225564740777514261383090347066391362243691918072952652244319909084095736345110641277828012963459163878153355852065928854916457888751816681159177930782227797970465497473407920890928416547324553346867687225603799203204982497150860802313395217701639171057980482490863943778641344350927960841384136794751837102216994578315299765009811154904846800895895043870610912946728881911825842136760464412505385170625180905956231812806194888257620604691932608808694305844742605137160749242064319745022310931940590013388000645491507522420968021828097729229206164362690281276487345975306274897880093087671588484704478579984640271081690149706985217017466882L,
42208045930748053593559652998623819805387198769430403677600877737015546911527182789959404817539619831498929626131644522251188692767085947930682016560050173279090066329503659170195281303695063601895749630691220111432815282863376473523257410892100840220678664489211942284770797204157494005261540605645163121784124968681243743324141019940137964606325492901956160727286690352659464732011695377906693776220670385662690830573073814418870656889672592575490653057736442258266430897623641811253276171697327415992557481083932220894557305220785721184211806989301081817604559946283338126059643886681854196539943909477489490166912411745962861921721302860492769305646758364365561045185562587858350142355890306612130350730297864118261001901717318170974053233225713889010597593848607162196991840043676774248531733726326709408292297787980387728821804856226831351485442365342653171237512532466903571069803888223201905056601118407367989307901967789464573697704296060945100409178322523550811525535322281494103366988018368590044075533941609558814677014613503759782481713738839975856916103675307989977426211283943138831307610237325485908155787231367336078425343409846659455521968474046240466513456013845789772801150519655148757733982282783967995696493760700151097087290969324591781555823104362288120780853902297422109144219051108558080296660912877888125651135289129755289274565291555991147320798236833516375158002348770828894893140069218013421818927984433666235777348944307527750310373030817107773624237562808063367791981099403654019334216340304733435753249416767755407104500444253322987182547318825799939522427013569742356468411297449628464684487725619548276200082362894057044449534099205076332250365750001955274721283516495059385942433968611098077068684577520506094390564220244510703386492266011904900730792307512188475562766637965332624330407346027137605864253469835343380889225774463437314097655550170849095370762198785998778656550150311504952731230244987302940604137625047003081468109852732664171859391635480250130416972635867630210142740393230545363818098045135095915506745510328882975718329309242262762659567680700030356019189165387855932115335561994607201689573663601077461116958472220076419064143315985442340139966058557302045489645392614282326904594986934510971030555417738216457417586935633364636527738201474026513773214743426391334889663001799850061817416503776848498688792799126552037048470180316949330581480365301288958098312796410506623042574196394495091704978899220519852172922072339270099714603823539436176099926368348655163723274683313047045525996841328993239109671330754188213956082178750706757521021257374437161596391921680195134421576204461686514874821723691134621554566002474952802825837032859895883232542071647215620687576672606701299945258352844033345331028424007750167690214042728203161990839281760240464746291468133501427255944049995379428984262318276479803923614975722046989079000157487474496922939159243894299451651355392144888866625542917982467988439668829730448091686283790527753621780871814113571448384575065810126021234908522959080574119058264553304193878734016646049918989913700968099399782683004708262909725777586266808280205074500206290496297610551417916766245554172625014201070178996707284799894998207658368809079974628597568678140514215148463058386114190740209699497320767234905326263860897923972606285336947711635189210725958277202356782485004803587245280953006062229564043955550115566319128382756161375774575906216983139303251495593196053394492722312587097515285602595645011195230392458224150956125350089610176019259451418528818394361985283890518147532406830211426088853570990065396141334421872707896815159733528873575962041363986635072188482121330240803620316207044133601709458831115390552001400887159156321271691640735670981320595981394570199802273835741907862966516591715666146039717115400307097369313229726395636426383190119279618467853222546454214512398817343895151690824679313407836918595416286934592481481072494278547067634658730977265368785408676235794469811036610127489294403307880929751040054271132207183401432749173381933178648332866119475697063905728278014637363587300808695318134017047766385537558068225947172002688422074729352922978202511076135511806509936454550092324944491296837835622892446447459424143973386584304519446812799357028143998007716549149829589350400211270715666224964386541934393947441420767985481196492175387805534863582073436878720575129874310978527791222479074748918617701969342826855285484283988654915477058186312338201079763478850439215801639940283542482672939827016557509202383089051688755227249027056989054680701553740830508672822124502325832338712089284202944909903363610708359086571702170133834210187239794320694278538559427821228516682599173551492924288563009345370312396411325941919060795655310652028574919349828515988353585274116354931481886185061998367634140287292691248639735720011243702377801408734167318528400297410007741437792784465527528550565347145570240198697953071223347163042277377734389936994273911762889724263590297752708245091231794057263554759353864316710741451692272739307202705929070236292411349631517238990428745047186675093124674302359697061632900596347812780466309830368878887225291341335304339504831858079719797977493852949425926295958797823836061253461185265721692430820567672878374779366865694375685497225452431469581450755357666933518397112575420625658635617328326371821369187173257017406291724913440406563415738829272215745839191682133226424084239093158107356453547197102491722495002375315991107799600364244067529447430917114656128141824558414453288042943563366525343543864773350724602507560743201496222442052763322806109788583401669686063758363363853195021138256780156321505215664509416559414643819031612457816404904805519124228918504635566671636504142989181541461407399123392404209821299691916270651225987044738664707185504188495894142570003657864981830707455284311548773402375771620849354693249753411545952529362006945482465536103760667896809257256928405663576532691294131756025827669037492454559516049106298473839136785483923086192369578397443380904933408818610654069266406232894182886945374424617430508208843048188431229632172899990467537530962071416169526247733662193301201455662729933848175888006375021739769241356307196209393429974131177180264500206953742520324334739175878022445454500041142990732251618758668693845475603525767622278554977070163045099907866648154481517122113220805890295220143483550255474742299L,
68141246123167632293597595786360320530029765903970805388140195908400410428288866418106509211242674902963767267386343138683042010488286059906638151574881700295981625258486136753316778325961263356689359594949837123348787621670694358823328778859874152000296586936345932548968967823009933914543495664085759489498632123157189582272787026378028082700703240779896829698737572192874096465009441880219576639481999985331450720891995290824069851680966466694250924149366446618578095791092832998091709091531446348783370505700576168693316869477191246807643607915377758305745274494612385275271138805674240203994124691334001244539541520087723437715139376797135863589666287692534654246882813729572702618944023504950834149610089836333491660802050690815533485369536298094766001202088502096142619060895006929302627839682314055579238200384268821372874080884683077965377258273417157234236160140369874580417742789879258350487199052481688407017338965988011571850310146832060850487301412276801430994094334112367286501649593735276769401547594486108521041643979310010716233658418445697467660991677897705081403251223536595749530485034234839777921130174184151184911360217244664027627878643122257826599396936305422786771268558498628621888643600269700877782182675337031684007106622537549645883750437882450313014121474093979853919797417676611909260085847632552644696967671525402168814424827517849473131363445318109250487640452749867477549306876981485778364512050486848970902509559822298216315673338286486144000664842777920078119390468962697681903799324647050321388562726305647571636354884125870423969969648147415930779862812821077631936442003548924245612342304554121854579764780824887393665980064817072750532561116980077842734327497496734496633552118288507940108998313456812304464540491895873778629240723845363745106775742133003729410875057488263604586041641479558367729544797152109019372138227032165727142943104992446785739472013782183781240384113576179873830999666704183056285706185774597166809430443904353525088635282600488979739808526008024215299051007114582549215059633768829078579209406584519950825638888653083043849333144397395938579658420014764184939212496610283681314163206300770166404605481460591591199514608664783256466752399629375223035110028351958609283438967856180004929432345168060622031665804676083327559041722826570606946997569825654596360894612485744439935397260750031819402237919536266064999458621115476761929032130877495667687191328421790624291446473272754386424026485589621128893434013036070718388402716973770952059250206409634655920027835994144130182510687117552526401492040691931833588593030966997535145511248409103373287535607936800163916294881725857153820913318540951774479405717798607857963253374605473041702481525515574614141946420297100656233014972403909497453030947796871467812850937089720434119601442491405714939110402482474910116883394757533552897922995600591789077666191349667684328056745673715517601890163452907839333184006757075044673153210928780709073933035338265816329091231186034465606512510332363346634198139983063588150188137734814572153374198309606649807007453058427058379968712659509996983969971621280365540072057724853828377029456603887333946722737855434969124143870586039159518485473779469079228493079246117741523459500735484993059532673676434901480764246698722605916437237054735798091156838516982068358757934064531838634728524140394273113031237633351620622418907041579575813790108708247761778054254390831223497862570107832887191528243353883032310185201454071633332928715325329724875216089950424749561473925440338475077108783753649756630062216035149882638133793887373533758829170536034319186937630356918880648307845553976147322256227489166549267216538583230182604749359436480014174681699835108604603189190801502138428743826575216625029329454689686800987975816714669030711509471685660690718350005403463529525253473773961370019346090303471270780174079079433237400843640643506546594052268742927918339591260014630765406308896790538354074402999119304746181405561064236354759190858939492802006112056834998887205909115757305191127352170963572589735529903489221177813434380670377105894083192436702525309493004288506840436026090537554637817868270222034431370246447896743776444881609606853099761859387675956463104423886327375243252845890497044952382437798726602678226991853529190707478851893850556764455539554996080234208120749053897512455097917125360841659114217314890510240751439764851880124239757776375799261029801349506239863121020321706177768707355537405623992201286878186792310585138282222610181704645717799302770566174687080990583690125075425434134959642632062198743631155116115663859375388778516235313228485356185043758503138621290125543993207737083767501743053731280634997446823166165343449580854125656110321957167986963606292803713894398672620545903717734027527105454052771417909744868544114624304461373297140053405181781241723088190136356821736441910426289694387650993959701870996456970895732511035712438697896904445235289638142495587861536020205630335004719892100482699519114529255723966497682421148255935695476411172576689067457317778809041627360226601642514126132736686151352593051527710876081942413188613056211968742008721778460844680491639491484280495810227493256156733337749212227676578829184074277708448714038644714249057212288482877039406621581466724131092925599751634039716493227540760717230687193842695078140312553674651963642075008955240496713322866768414364086819040352315115635470260307832263415274717981537330826181746765546016939922230005968606596365624834462851939038576154328858587625927898293087676134604406161462452842276409235067910337214613016214497157109847063752468421267164711225093850543131518952044453188196283829164426231117690113682383105922750851392624940475434684080326662570460497682500893895690582151781021582623128790554927250594666623289598434490704020681841998260570680447548381931107121570725305405021010084866724313630350093799732888952281344093882807316875152282447518904511224674342925846003131751543210027790629677973470262268766195704141748601608494964892036111399082534437465305796948300188333633810158501506863164999847274572547578679480818912250469217744799645097349483414408051949629093039362965326720487644674275198004460475123353584182441860334565461151094494376880489360623720200293026916388287917995918731539800498028156687063334006247113599862463911817748538853349885840169770039956013302799849143855114742595237127033997099259520443156086L,
109994591885749838243794175500130007806338623976789751472661443352713962550272917669514245000915706782566049069081064668391526671801720454570100400997676465508089979240672146354357978270532363376236944311683279754074829498903265369002283238165113378051735003056178845847772582366152889236609275627899045530529388841556183822304870528443698208407560319494882831031256914493473078477569839335482255238371972963294607623966598471195496507212915667820342032070321920245144116226569012369483913971348325392002573090727072180452511815381160830502496463184654075479671842674278090345123327994103763162094234027244643939037483122359010864275615094437217778269266835490315431276239330488317781843063114898349661517548934030208693083583092747897769674972920328156779123473917675466429601363698165406766565428031094058859613418197058349586490534961261616376357615555330293119613651648958458613117731146925065893672517918918549570405896922883029712748904076432181747840765076744013579586060543050204198051089218634340902953724860968370605658655349152907364930236672960743299494146550488965101804691918531087255005908103062382048884000408691575336307975455898468141877075971801154487289523813265191580351589049030268061822859180959509152698315969123839428104204449107883360446390404572116886448082203358804325636182332497257595072817181809327659177934325710146589160927403010045120959327857521577766859126485328334543835020627461097067507877041131452203922473707850323504197221608501928453946664639910372757567664992194593510387648635705701881893564151009287447062290709775571853003496001867908983627392662840249119103321603375554304110153361576976459651459348536993091790108962555249262736091240904827968440316421639309884383356886158533398750427758658123730032042467705827070294498100350672367801511603481594234256738587358341789783810499600101940790790332458327928251832483800459098448240245499137207896373196698429318194724270099850984036276580570446303190214172789209340897690838427106029352615761131497116295136923215617146468841477840360946933393937131418771926228404620649758429470161131573281638851658242556182071521243962943122001495725071151389427805679196497678771305779584767339939054142588308093917929985198183828874876181075513328248192416075734185629545830663157018864577686697092952941224759557921458985766014078450136618011795766329527568157372684265879022562227619269006504690846100711587305727004597708332322325462441906212593871245416718269056838363606041179329964508781148744896388874700825840864145469215744165019489866056921906820205129677902709739070167518609723506536990084867977823343438743885079454686052778731780870433065206048074401242616939256550585142320854713841961441791024040974368475405476632346906511393205749737987758949791161604282001749416972197624362384081505522477245134785242466871740766043964311918901521222060381343221728802051711217522518076415300578294444443102742327645641276226056569118518476839395003122513845569639798743153726032066919044157134624441542791910013310484617935269404350451481396255887312718704525485713423032223391149000270177942252951677243380957575953809780119160835406160918680938277658813301944882519548743513148910606695577942406229077707888623803377977263676816136890083439712042861609989414777789610318985043299656116254645874959637746344558844670198807103353220799740029731171201968363352033371288779917246088275428161331590366879760228262226143384441569234389452090116540288271844507841048238052487016187745102538602007044608566431549684923350759489647944509895573958749742370064320167626604018459003109130987678051489705629643405564431245424933931278483988315223380235320163281585316180935230053445858756761410023579681114070619460056342965674740808760010863688767918418175598079157007723161393120410658621597994535666339036713066022236477761262128390372920280027663163782553050964096692530321562109742231793092170100060097366116371566697773114934780863012774515222980286721923085909097702022776069346199815173209971160358012602321758650735407207533992296740656890445152540851261256090865420810306122740301988637522047699577917944811169169022090440628763409044970450825768341299692114412792622729431765086572691967184546000708762125671052569787752194586175942019024051389122590839157607134410833123645281939577790596211346451383725239509743834504818297718751809701641933329942896055984695640629919280788104533728739470932628683526617174048567734056130539269595770961527938335305626963980624550361936385557388511889743304437262063634794251305800544151061634419504471906470545773828765218261489176786317385705761442171167602689378762629073908030694534996483766549693744050297881639831172849411991253149981003116549278370415533169977852344750164516928516725799384378270311523705525443623680581519710756918661293567374001150496668799734247641787559538830494678319081801684429454188635260917456262036811861269402343953574800944116739820903584317290529264192910287677547612498735903503330103544270375796657387368044950670184600647544321684350501956516782332324898131787427294806296779161107301063653162841032523088104028783342696033036987655660555871506759561902680777391218466556517983843595857490228107694322850450912215606400174417024498177946462009897594756923298077527856481425868375280556028207085619495314853950842048381671481551513159806738151866155451736984082617176422668369334981443424461157891235262468003343597448180958739084592798358282351820018472792055164561316879316826957642597097626414497930422730544318392453997884457942768676915620530017001676764964797575491397115851734695873148408918861269848306792948748013315180466052555305262869974961219342552308683477265570785108342790659831818916780406806070795217146386817943438176030960360683436980220101260515978098588453933236870500301882721744563337744406820975578967964614743003910847108814999376765249949446399956786232027468349737071225279481716818175993369228991463475523509799366602952707677684397923343395044992762487833500460348186262177345872154940887775884422039554736065155849559279714152488728725759628509343463488263750672777637418640527973063217350034741734783439487163350621877549779122438503640071717322318416805486171318936388244624938567893661367402664532101597652064562516338347663507808625339280185935930608594109489409321057541483213856541535027458333524570784258492588401132310176927926934153267951988918526838727789842880984136073055042909695901042515706959L,
177532986687069473649925586584557071994526064342024293387533122156187970921101125183072698328935278555155973416806113452683391937786917561667190775176567756614114603147247557507795840195266089786013278944684105513637732052859879669383444368763617689061004320479753763020981670516706352538483539560811959792573164116348986860305869550333447798572763431348815306950237060269904631835424189488372314097249633135638530664432321566061359998300937804773509692316774346333366227533475529046492441970541483190710612205716756017099190863632757305871266580132714505996219720288735586993838417250705871649109218489156234031949924935151784961956277850288530818831781247789133938014316801525676710699425820589514553397938379119462326025298442589567577584951593798325996422650829785023643160915710836884723738600596294675608885086900423596882637315003463072467873063355278814081324219488290257656915194853934633406828656584047167354272065362280649150238804443487443169588066193796874182546834888998654074574195290618550595722465007254027458117290342259804285227466190994237098769274183552807941354610067209423020458418532568563991951584307577506311869740309488886433556045247629379488531300277614034395113397659611710848292649423663870368437909024105704347767008083981555603516415985781792561089178360584725250771596254250890921663472620566194032219486893095907504207772724326962343720219208000240022829889654630340854272597063011456592614336482887541276590814926734312338389864129326149530016217934713734945165566755930126813751999185819225814602452048984205291431617073778975148154424708214751817837445308247701260787730081189420231553592520400767791674141585908051802064805720845545580781478361663363996457759521157826884428141801107040431202082048153048719771909502349065585743474864288340211186493248897506301506463702772406536309980279771842872385986352946110936358580908576166444004824989282976883695885644840491479563404784645323087039368364787784535971938495538846047815259006610965505876991470075980220756497580983504654913991947512294833178154765129105597602289502907684550767238856976615682601522507859765241182259432353144426951548617888397565183655007547197500593807909416312695819702590356100046547043252560296262233327456626242413116393892207865430142731701290093210554327906629112385421641241141593294746719590834391343509054739563839855930611266935776262568966038776645944776009682707972690131590759950951703401410889872515912020635434589961193027344560151354432109047302674277210813672085825390562846352432390509724548831561288801513931518582202616132867187752809582850930685632163542796499078384571264808413588670586821172429752370869538599210099104096038455693944857056737487221549447686699519998294004716046124935983046717320213604077740824754029186825747773524177997811645048573708983088204668545261882466658174066519034965096228083716621746215118764051676643029538861138526388026953764482326676648511464788552466369950308065805421327514951154300179837064167262086807204762292348838598909589520611987274413030043423004277932282122314101776071860857516722067570074428902122525448875548655760714616847984839391634506968303772228551351023760177690573201379227306172256106605266291793094953710098608268374897549696460852523484059525575702055272707697612006990956468059010798527624828923002286607684498252462530492502459893472575447498497096779508975397500138094567069847301983977973059527929835486466581136281427664906568792410660009959584882977559256057460533004753792820722132239550532929366472982266741323027876723615324941272231358168325016938359523715415950288378014849153187425146701933726262012324218300648634134802814535663436390192333429684066704829523281378609186179284020403490371053834828981203236410663735575060467549491233045739793251072383173127534604512706135545786355482578360084399936123323937426322271169096321864450251528951062462168137353325525134782050923362909775291149043421063481803576461655270564133456257970397677779447957138599649641550249022701090294879362789398884635541968381434900838712360350376714104328977392066780272243373594450984516214012881430431091168451465882807522317692257459731482946220186730124406837349097770886124930423722417835966614457717358998866832408667175259252450034563203940642318926851271351602747572822869603322384876441593008123110616153292573928426696205561654498679467781968215617918799121669034706860355846982021372236537371149834323834639964857211817098052567086153180577642450594618443689167271983535619469596023873487235510582176269850801782518481253904361091141308340727255877958861522407660108019701342111636485854914962371075576662723192343966204519055365408584944937782010880770851658444236132309639844112972893144464118620876077407200416745282971102771018907705095151260422854556733977181643835861909325586986005912806584573322262620547840039915079839405946682274099592870418575145555767310589891337637374381890384088796820122957430240706076503586427956204722025128049375022456269122567614927082308626244695759111389343810177871840290412644801927067488948112535762459112407331641298020734674481168219041452674038517812251439360440414978926473627703654476437389477782783128114340942400880861325596268495627681934892108880396918770212690232434664219497300467692909013271216884770452792958439001652703271775622135609046093188012546239443258178785345131989022534689277698554737560658478065405236826908661311689501035812420035536655587145324709733062420641646213150384577963627823091015048145577199548026583504931439883640388503699369969196201149422698786896165248237400925213876036539557563611285609196440490018776088550497141985177381580889914833000287437900870799157357716889943407691472379516673306580934825162799434999686085602864367026122583227447244570946349357666169173484155118037724577520063705501179348607609349678947286229972206306191691512276459043056306042659097081083716738252459577867244740124946259842290839093661287346295436184080362067976591779869841220951734671330486710457867549922519132079115650435515894073729511092812577125983170986146877824991403578092873833232967002374544097456762164483721796686418271298750627310102635561137181085207251493988839339601331690666813845747005028949894793421016363548129439661958439081939273610826518243397343291236912674995454720070784378471540090833374926298422791896946680335111195675411170818133148370601439213448143866845360192433798552002597861489229301542426018083967460L,
286505709194421787626240182304703460389254507174468332296642219366325340186521426261306771809602316607228947508467303942317819715501763433266638018057953822262953454442519905475669100374790786883734369303428440472506172724999676178263772360020364593994457633377426893463392434482352310326194341698798008577363823658960848671016735633099466718765041045791677350074250482817835464091188541517329969439471048447552898746628246444389158909301116837947146975591471220265997872345375984885195226121147363280598638205624324546137743058872199550662289916214841190602796708386636852863277100718964149142282997069104733526907568919936564909360022793120176573684196492531861758684537458506178966740214828234434624577592573531612027121502784019052869703346001339058764859076976772098767817731879473798135362703460616385895030236620595119880020993197712285390117463972046626195089213774693989681651823315232583669539245267123847824320814830645416788472801809232968065639310306522085317592406085127393395093767715349872575631744956996499906431321341441478455182242377058523413062057863952440822348995236385257564258275537355441451817086886909150103591696347501204164604302728153992446982569947420830787627600864452429306747722733839946615922498688619335605600744236519577110425873805479046255354301166978040273051019760116698542381616337127157921433954241527142013078488697936137834141802077969441576560242428039860817717629561955147428235485122704028039069342247826253321823415797486635123979718809421939191519962286673886025652963413500931718754467185883527497425473440790950126730747394069958513859157467923105807190980692244261234348597502163236233166531274259940232913160340563427543369052469716639894045910629203608467307146631476864556156754599736312342748686347563938971369501890761679836020621737019836142303169468928678864154231910129890284626245779298962641304574599077084248937263718269973888657657504659565506383240097850600341980970226822481475580749841686826646490944505377663946719127641391708313332283720275753287482017019915519724990975436439977009967340819111923262567136091142477835903118945788038695949220732107218925147771820009272155005257411492766662453732939670259298647242184459055462201307290794520297971106360777978563571611755916739367881995977547441560714631366080096971685408327543583154248901507865993162016505927103266988037119584107849308926348277092808342797532654888110814273607426705040473383491184611281465351426662050928371444273327439467287294460718128174867539095824647943636896786703800242697777985735775302758721208373239095938984042680057769102411913878831914575009224221658745267288421181139166998640087756338782719099989840738730984443398393942920727379650834836132719226165685205716454705001218192276333601679500515858499809970203823277925677006644608775087312634636005078467465497585756452925893612341499129401162835317192868914175210193396873884878546963189644635140711155184635544063762538319826303770601533684199045281045007013495968584645183312254462904351368582626931664978064552225021200075111514715538360354831164383913741588693542130258567620331800562863895867415948914156907105542899681305499484779096569100784025264362426639094230376514644986026582129110513470671729548091989815775182016053746060749608150188183940600920231474902233298076365791075062550533611334637329209436106697761399243933628736540495219244118805606436481202176995734503141415647685358660463530859274998932583622441755985106565431932644532083205096060034993991160329749089511985844860028954915831668079581838690615193719380222039983787712441375551667225028846042392903365289377782049170804569159526149084454843965232008818081349225259379725599512910436414149055001590543729353166253869539081346818979841054914341967983897393909920876363760769444070688854354312884049337462414590487913529424604493626786217026627832213203480045192987051257970239238000720451110506415836929709169130652035240310212918928641912890923052603797804741237394235361750531530440485194426169437836839338821133354137806693029457219841897614543047032891016020981440898565344072061815840276254387101979788348548462507329655460331893523648253617866673270537245683552404396165023560468562062359432934697247644297455296277851982702181572656360384342597749116348929558390992980825190667280905764507854166680818187860359591731449192242579694440114814800748190083330385946449514137450251687727899344262538148959984646208947621619918193773648309417164267370800023897211959193321436064730306217071825226929906546985184560135599183418546870103087971051856621231630383758099930666034898296176618610430587074161767347518496061020540178026216780319292455520491824956571388792044846101511046959152129482730146392110904365783462105181312355060816291996302400897206965023048527344784152666822208686395142661836733497365567505535244122151204005959949676542660337065496923450088664014892073028762894962920239764613885984594335764610709258824505695071157875221473804943297314441859561973773097322032571226853647236361099162897274319424727619906218526172931620913576995850436094770433338346026688898929662260773791641704605816911343078918278127294524492166662060371244352918953874392517969358722056473784932023821597039038305492988302798635523922566327876511287727386010616932216406053832893025716968857510016969336839931890458979097472067000587551579176194744231226912435768685614865528568413557219509460937793275304825818513767102249613065040778484753432002440324979714205713615957735908627908889383817726531137702688942823791724265986272040630063986773021460920492910383268460976682247596632865564250920958245498047122230422517030055961646486087503345323227622193381692812789686237997818311920941412574522812095559486787931307267575105873557084938102724180832536015271623834777789751772986995317313846275460662770297286248783617773236869226000896609636654321814911019728679456063268664055537969690380821190308525630989196742009460441266404529577093354174734606409181992850021375610148545267595606214226826309762718587647486870737128985878607112004645984869913599717149360002259648330163063421145963697769488327089772650907797002418600180848652474868158637906192968128971199108963147721340406364775141641792034821103191877238144056906764932418990310095751030957212955401235322446437857174587052801026813242683673933177775978878795881603925448255809951154650166675592549973987422548341481335134794019737327513877876611468875359787905613L,
462310785278046885586320600536057547066700731702931290985141005018815373484666919595230473509259364497775960130189729806354199400127328170607338969573347303685507808761487299591184522536568423992198210996627385074523989840799284477205833330997143806494623443592247693202620517196510375300451450128884102607767978309503892926278385931927754253286966545186765171481905116316077813906826733405914860370588760982916595207069084113810811686189936011270569273213468236480763579262280971035149575316847627896382077312041025096491169769567530347941862398370466227825986791545298933975269194875501117962679575935752615556327493498932593167549244141231671463856866614998276084967418560988754639510124711830001074835273289731810082173972123621225769942150264772120225283246021289752089128882166049730452181457228161644782823226450671503839606452805130938484475593003109432299114910435490487648266448528874697204600114237019194735028852015232468415405985481145985389435117237861407072412506919508698727465976108253086838294502130697119805521840553854114097162402516632704635085655966137663435388175409063032238574559419605772779011046013529624777523304578636121553966145360010802406975656983674951236044667330999479014933193757483608066032581216240691673264513335420180437535296386861186586207793124608157512267496199669476418285291386021744268885708640965233775664493632508296145526286285396772606510112573423432986855709459306241812312353691088446109499109365746101452703897231988040100574852407797515453213104739575475329347822949843810531528057417361318706844319748588037861302551360023838497193978125898953327175183085330720725605358256686175604424023899660593767711892721898784503074345900984527760222335036502231429265560004509886246549701893330292943014265683200282569615866390095081902880745940773885459827069624292121633703006602563238931872376617280006511277664064870974722300573934881047307432141823713014444439953161077658986912570246865686623076264623596510191945406424911075296524982066966456677741794367825189747317307614715673663914937054136492312387388016148816287869072794946194082586051739511010493569947405314388416627224236544680677712443969869418784001870468962743672276016885808658860589214394465527304190944622365607242534000622461229673298777896069257334190519701986863615024331734169691845488400409103572366369793182263386602391801345554355142604967371107950540471526787272756929977089844734319745333310524720226490819824584957037096845861224848326342655916736290624005004548811374379232818712216941952879144291989351548588875348712439195276388984058425770022326584829667748845530808212510245384895974336198530136846666079894715953577534755187054072193380141253192069372941533900645723678613007390987663547313888094847349035300512185899669168189554429506285738152867817049254399748926048659743386703751046838577568007910863285765738337645292831795357520067514773769189905645348703930621381662059849349576684108560216004119497337899547406145846875680640294927211841873869166214828254427367687105866806984965499577586126581502153391782687515360355715487894932425687402790294119116782176562494471233604752683241286463574855700836504695421343569223931194279719238780225848765229186360727995457158385349523434821658899396679408473155961655025742273640393436542773601419363131807607580935599052203531327602811736076366865697830172473690974201840860598539183709787267304379735478490224056828679352215461516993871344715969742702754193222924291970325949867871704139561364212936165185811144158494798871808755066862602767540468194298587814362524938524664474735685208407364811362625125992053936315254691524450149702073775038324962785383598687852499323370631616302542110468667879645145827883725733072436657042454855440276205259974957418453432494158600450959358316283138908309616130085006763237059430641220113333755992938618900284472128414542272557673063229002091628076406473632744099285584352710279420155754430675256712854343752094490671215276206382431383135246759162956822834443472736290463605122767969212001359533926040403568557311325479914923083920000317221339630885163941163570500990067629566655697414357766547800211311353706834293557787933655075455669020341997422719338467334381279170809960116761653618590707754208880312063053149791796119644443425377910122187112961271224251579331717405363590993140744556688138179420652568444302528512504495048180985218448262420938955059717592298365805148227139454044302616734272780677298486897131787881424753120341506360584009980105885874399056813340739286195684236311946155889172072142840604152545863690167097742473317097461411400124452014043566518057123074349019984686775320773845736427361706530546875003837150360692015390310638765864684046554749677664771327151162138896039910989768462327088093818661022552425302640355356192361487351033895611611550549856393716655280498737076020581317655646995768910510441280331047579977413972946509348722468557922968699609592205976105720176836877521972285932125331507279307134171217036217900621472742075632836677877575797534734792367117788888365906706975161447077051836492694568782563885191389307038343939810311538159495445909187598687860243382675621489455251928030795107756239428097386913533619338792763277542242082309052831465121793714597276595417741932325712609081221772765249699647183962069764203653562374035250391087976387148702591772875332134163410439464547926575106067999931693276661701001290864413385935203441232610963467641762636277310314971686877373179842844860074838578540131457817123845167879562051177251988405710659406036247185408888792390645581456837569499859956771505745331295302838662809542220463638934982653297846608710217632281586171098053845475027857984259923819117104391055087691549206979100334395006693565489758593396290354751411416754892430594522540215512603306984954722023696757045090164508536411577976116509379559409733924320182141820957353380445588358956127595394789581347693792350225851202497324907581586788421953733603227733552073284302936519534592545068826908462039365097636381301522995846387271081409929775535204460250320788648656478752014478686301907349291950756242444889958209273275194138820697244919827603199109524460542731122706677952043264491747545648666427213583748694334170413673445295948962089218180657118390824845799789096098759940189418916491244956417341837697619429601360039548221103325274673041462020180617935410313427979680432443851543426442660079449869920209361929382628057636166304L,
745901228451330343532571353006482760569761069125700693653926021202475368379436120920657912441825835214189827149217447015551903267209301398041272112896993866002933918618914676950447090486333166933652395462787003633382369233687965589555314324920893059464584007961345721154732413334302309334588091846546415142268409380626267398267970380700978647359676095124032121488558359729035015357008651736876053680981465425726425160593658418761091602022939545846414575765591411607216767449383491246282364734374800898391807743699020557743635537552038754724369663343235555080536991717099972639922858863090302144116556484677786862224409945150625233016480476411271980474400981017193578861840513310402552691287437947006847251231035393891120517354169341005535463118545442814217825047316198082843058560895092164426580220740437020629102762893736052473454327932683735750877670138477602987438228055424356634006941209882836492479985175276234700894937010246268791079192646248120131332543743752701304189635074386628105513155117100292243517220605318918555152161389224615539571718109667678011468069888089414257652843385919026168630500949055116468581541114468244080168879005373072064324416078533012115153573484844146202141330397853364300390815471378057818179590062686626072783127358715607233610963806170012681838493719778002333043846164553020702547786449098447015628022966714086506872908523609049722825127587189023395134325836174693887843218546517352558708499457953155257688079515627058325140584036385940671394249123792420139313782374066745650455028743647788331306169466897758523568745720048254038451584950011009542784311903305506440759011114269752561068805642948559123913269443398283333066540613183745461934974094916690165696789757770465670931140464751102504862846116627948693835765533228113022097457747549466171124770867479950643230931571604925561903051955249860567492961193794293525981663251066796751393024670175271007634386029107874067863997054085595945190534814948273897903143448306622734619970706929012592039517276586656634134968521013756194280640994952855258593226289483312620690728855363639126449764981456674750821796319423528504852359426963506804389767781282126083603299215260645090848667289752636135047222439615079903473605178608857372442062476231818994295971419416625162617731133327077921927528803965365885812660408378437958358477985892068266582254523527454018347455372812686925011342191029324259652372855437500344105044803674021655758788238488100587498048479314133489130634417732919901565251950285966095980095643035164145361791319696462890148123861320921761352745956117874757203555911136789064013633833782834096346565240780624809910428626840319592153055301510646921917034313948569298853798685855230913025950777428719372624023274002897977012434535348974318531738569979180323186844207742320415556567640088790255985392922707947813137876397942715492739514005553856432478138940344475403845619887204599944409926682696694314501134857612259370564388798440810502453526682823174324285477973673998809074341867687983326719679360337292737753396328082321631271103653215905911932710698143038112336405560676611661702140407240147554050607140587820485118197203412653989422952580652741483167464934523035550302193923409888357558873500589275110132261826171901186049426831789323588474527147984935842502954379345258653493774443892150898286448978189440558993538395231669113204383598922323116957307471281360850159160528441450225803371835001604833796978964311273792929392173072709540649376597292777256504699859313617111871122752974958285423990236044777892840791746452820090467500413952254643433483756088462209292442596570757644685634032992361622691697282253338758570075651209614171106318100652753619879506730901438671676755384719089792063230787889478136372033017612866333095924877055592659386618161664348689585574092987881140963409744381617750291752328032164281999414099808678223824931084871765988854848205478890163396347556782468136932552170658472270257466491430892954020141462961266551779310209166777278074853137957746175231128651085974753866235990385934648989478311851303365475257132629181154845070821558705610312914637497326201977682782416911037118951952701312751389024404542939656252813687313053109030541234225470579101875704273376266649268399129354413773821047290568589881239558979469647658600561387306723596999294754948187194836048639634582665068211360059512165341372315233884381434599478772712399411142978536320672593815225254309445067252477313836580406531712275328170451580418384503507740488064956259770765704468773998611620239204387943108418170180243296063704339032423728300420207824359799294337345065657873826711224929735536803705717733696464492201458694251601159044247078560125804170844955544164024479861035079585389210100308067471190708040800015731907654353225679463463591389274620731000454190139962889662614193451444876472059624419656959828343863360918465463954371278993350314171495959519220578726412367391146614205738387087796153714359011234754939279873480475380440162027378290050353509585686463456580979076800664247264676020491000801670313648894908206261340290360659840500793511475211423368729228050732847646764797829786399261930828342346224892322416216252359938208808495419995457754505078972233404885097980115073033085000761077876708019578561555469237508582124732123645091700943795684397607228381047768493410079609098977522142060592784844020296097732407198619498506633799637491554073428694392645664816915782727783175573924101961285523992990967413989396760207008418405246090638540545085328073337230215124719186424854928132025470687415882299962948382302372220744034360523114497983719932984479487437834216529977031456803168379058738634261634922982387902870275162741435613119864053919893331618474066601680565224756111905135684738456298473730064911102164882060657561456702799514768952533621680794923051433316160214216064398941696922176036438809546212070299783491915436930835240282894789845078762278967755278004962611719388995570500689850987333399929504177116288995751803285952761840341984942644127029172985655254982692260728611757519155041610680316796520633067557783850396172973727476261124469059549563485795953703538344055409688892580498736524261349862964638844414915000285167220046442838322436176658867267927580368762446938409019028500698112747967609440571372279651960999834820651516836939573144591517125970967274011061394468717400033559334317101789596957104689224435771195113252701380035461673893514549976149426704264906220857945847L,
1203303558541664910770831075740365058216390928003672299352720570538196512450129085114674425472300010504851560151429254012618134620934033447219308107717690475494904336396103601862600264506917112054253754605354925279231819962785152261749336397957727431908203562906177663624305566922327022045904234193882829150330138496557725285725339013372911278840833399247094743097855158649633619608511359297415828764828573920764607157780756410131489276106320767947073230557025174903233842529448767507803819153163104913100657543090444954591001147635216283556869015829359529425592758970303790333570393908652925842890440274701592697111201022586493679300058773282105883725320109174751843750547200357883443685113899665167646646809030097572177674509647775025652791768982325130445826326629887911817765388641008028686867123036704124642864203684966181951750635183199716218028238916095760673761029240040253358898511783930283334523290231932408844959314177154088824628219208626594388494225761294834150462611199109436963347117003789884252561122580133371150347773434070095565163000194067303279050715333591828755829975428137464338114355399039370218177368872773963087422624897280942578005378717149929679260126679805049781621938551605597560446700628790868343149278795588360549952757664274960499136898075030961250597582415449040761708005767619120690897666345918162957999502212678209112528040859372714302639887364204535373441527017958502744910438032999980152773525557438474322546380960068712043897212595370302194648058436165391533500800294401273723425998629466565809893196465264230724655472159570293748710478163833927626193589787029318005786816921307959219931475059997110238547405066775397791473916845286056588832386591462789053837155545696474201319573419434967297563381585283440413602440786515308899543011220364726213997224857544447396491436529543306343268669317291542894340790466590026769501270436377775260987889645367919850586090524137924951102443909722718027916320930186817586476084473297823116002951629625154191626792147596132287820830801263725699065341687521663231383410460063373849971004180587014987782257682603243838708666935297438734817714299805377094253724413547122497129673835641877873412992190934674112022986990074946816861446985428918041254929753710715486862677470997302580247703872431671014790656036838754316689687919312746443212091192893237955062038521682008099179323022695220804233346707492766069909183613851904452325759416289993766916100622627257880878225904159181846423501469656706450366505461467035604330144921001807857566309497165802630921054101793202465459166957630967116100549020852924922653709367796700594462495424236904503388763555932805981391299746503986321671290246905165912871460954779415122096034194280002507611292768485715326326934106534419558977230618891936218808937595798727158741468375137047475876629555229424410096581473011087854152849804106204428065559210666517943569846554146704307244489660187353631038128677889812570517723602000173486404950370151100438252441903364659120139105745336250184762912117513818587133611093218143012725271820099113868652257598449645373718201302774230783706559945849035945312158390015136810965705675487284015040000370514775496928313037644482581047603272907941926473678466044499689805093948892253976142703057159904062944178107375676189305896623468771104646074345840888537265236830457720458022693548612593261874499091232739332620292819354757236265909728496692850867899984773579501546779856856094687891436208592767198340853469874241117590955023610489470768582647291855248059772257599240585807914886321185822299618892563277341763733948858224930670972482563578226809974880771598267189164469388872266885852355330150093004403299940229717507794268080267903455725540461704428619003608976113617776115414221468440917889138597867605750499452765066957624766799500021079184038415679686515237476108736262756463062570799848375676648804198347666444093715439093656520119734898055292914693614065864965802819407659689456475783775098970244469777900360254023149659789826915570043262215551819492460402563389967783622959974833245529281761251800000718282082726184020354736334148433584929985073669007182047647370172820800550851814049193330333738804065688948903555741120586763389449753926340089504347549923168796457547270688117062440083076062603976673330619016246867798377959224381994984360156983756423787172852519798380678004252717291435258136881085019307801203083994500708944018752772746748829848023848514146658368817876937403856849316330045607995052952130512734184757607748282042001590994288539692338664326944128417676425745733588492555809811065911269198830242873866695754518719639270071669292892466299489174755561442757098333577601250885063343287368577506825620985013115662950447121563870839869892656753461754004675074083728134546342842754486333637627058691921252837978205870968535146520410809960389519375701401347800931208835565336518450952131468852893821803756755067438693665196600423763224578714707034185733878867016429045095008107323480381881410271804180895699827674273342780123942714270070676932778354566195837107326538593431671174606790991520707718475241681596736246291062038666254496009858242899197872793922193052890600472869754326145164932184474152026666634910725345405345506910224761169058292525678399573999195554389506838520219377500719589398845573735804847539202931554725604645373904671660649684363759749683099394583865469795505552197121684707293130550062207006085823704911568547000235188529105017960398136902005337833234213007927859196978460072281281714661788016848891457452135045435132525737847825493068185854611166713537012108317092402905585235839895555316395830433305268786126635661087702952811823657245624317132925448668193388376230619598111508788558711342179726332034102427816544160506123733379388108761184567146190342875514643986074616027815306087567481670716324081400694657959887523728628630858623123843173708574188949159123942817719032028197139690875853398236734301905997193408197631145913478459633244495599737671431035307722940642846924579037540091304296415744995040573591563104776628119977073140214776533138261222032783196473588246194161518391670183469380422375743823331446589755599269713738997608095679535606682160982633798572714316383915807784242734888838876759463130593388003098703708053736878712875605794243178981947332461930863182646618002902832719789187131923202029477351102681080072580255602478101770619252272952145534092863056697167812106954841597252045389022921974778296L,
1940955998817214644709248845146970768665006509962771965930058239958895647864091256326339001380310020069776421857244750134470954066037175693274624270823871269877397552314421058933615940763266419399543177426775162857460108175084839264552808031348572072908418647485250256580288631363171299673946139272106618012671088744773337179498235548527528628009164820743809231672318690642719555700355644183925012501385317734751585864239333034926733812261002233729577165355898978806307677638298505324378424587592242820880103430611982932202796257213394270319587516731275616454453339526450359287122412386186291210528690073441420013755631561313845718749651724822345285795911332221538854861938322026611143955515472491755865765548023370279448733259080625297236644638371314380796083706331337081945660002816290520385878926856325314155177421604638838636628079241313753103383921185599056582547876381955914637317440434262872411051246695353119916385096830642003483128286956458696413687525328465321141437860156161150160502131142656807713261789575617786109653105695077305212261376720756145140388218050612121380261103265545094356223681739400567652088686776542280261395343697325895355578538023731038285989854256443441743018286979697721006515839468481547002305055878920419217807373969044064714476718782371721987522019215241609587947386955107737513129244250469088811664302424664680447315779052974168352639577168451151683783088861093833840583265473102144887229930198948189400604479912913791112106802376179200383721296734221381952937144958758627976948219356728443472611071487925844075138886939019285099509994243675282941060224249332198314926188372498293415617535310732789762038342253326276493115272250966495060640368133768829166060020121732952712696707672442755750500828279175883076185453342698400620894246194161924081147020343839793562493235717662084570462282952002046494223429795095338191118349495787914110021710053984879536219697085051074546072404706078985282924804675131691818937701992406896673372573194543245554280193662169282758629566077662882105795229131636418626684875718839000925755756865707652227554557253900809757262125023197249953483267409790158730774781618255417187536344920854020183556949006323486341919502306547433704909481135453299525339707105546043577991188743362332387406975847630922434036383318450275746488152057453912798165008809123195228105250436749973383541438579537526944666249413291440928694303292126686063408490763479551349963447865035219036080290080247052387730694392926482505301734727755556099522676878073158317972188607639603785038379645423450554034334570839096168961463239501726205798571193424518299490245575226299977675285450588244873639574486735599884451332392912419761544123959949799030990508367638826628214752295758231398644109154685912312360892999982906141576470679061992411847644865931571827166867419947403968445536266577465977338329109952642066640478988382674407571961389867572979039224657720779519686601203040115857855320521556576731931878657904539521384948750322618628692424136923450934554538316804881288856494838207618916661877301270230767776029650101402547075762028234885371770754503869129681070751813659405011191506849057397222271435599623400726026404572936019991313459071096162282561312192578918170273985010467330187682317743880048913634674763972706546468157370611157451817225346257499228013900039400456620826186431792024084751227890811370348547609289613757852624599631592067630649196315429239285229585449686060559943340968910892375849456529098219055468743048539670084191941453824373699591657640735101333679135617273382577678893215231509597012588136408964630677610911680754182348870540740699607006868677666820489265658955893687574983942726569474059562662695397409824603386113769917607044071724132408071201689041094760941334200340566985295193581381749430966908822792482730141065793177254842018890045008976084984395921752506480640050717820008415565218322279142960338628402716568262422170700686168640201519048651928844777540461372038054477495609223191104376521635073589005065869123861816933901360021346829137344559108629272084029609246068690696404339958618545991075950952582299222863799489803792471540458089026627785402801406309114420064136594460843699854886408853553141355144920003282753661507336155517156334396650800228872291192160122425306511781498290953246373750320070730857692658599773091679007129592841834315246535151362797115739176945464181386771414333130949169134001380153026892094667205002475364133645903466539393514947416836882649437819096863024932481854927218213520792387468513355400177282489047782639688319929366172231730268272411890175120495189527164476559335789046702691398917562867185642159922613640037735455431013843879484520420383080320133415185158219806436564508336498544406868257012022612615084434864683744248750665255928393034645926011825065516740748328728658581152466242812488528065838450643538015950681627054666588243183747306093240665820731940115030228735179790555425621176724204779141819175598398197581454291274301647352928856110116583332269320978690084870428633519471241009292617585481838298780089326761682935431769946256888640424901035662811218993692326036635560513100474311915550265364189346394933950311468719423698263424103066507207552075558138872989801472224516140947232480151758689122857642795458917543672969482912874658665617327506914641980221206761980249767659620991662365510805168484224108820912945064422525092828397405943334046023734079634436592071543880425415654997067314533201848516888011274104106646018143069470046606081077430982636219451862369935969310845186110844307641837028313664139945770210860508924126753443672074582106276021241275232411738498922687018235058010975263963624102258840648648411938210250228736843513955705414398002254310716052153740872493204089447854842011432883484100318752765293743449440564045724014319487335801292083819357436283298585737591362450104546043064745434893035880426980256427448921067710407009487179992024469604351453618661266892245311520804043739820270095212112194028184892717362493988459211359716879902649539289558672967057314762290414699922659592895455670760352394559715557498488944693594930632592480322410361825503887556031145921001049084000308600682918174624237941552816006464483788263608080000913608582638928444097639807113230432565197636348298515415417025149920650746726505532299969684911550662292179284258788447067780458719147284845978997355768952545059693065015511393534663448751027215272531403428826546606143068523131333L,
3130421506108282866889632094759988033305335409866819385895171347551407894755991336069112253360410302310500857113970876072754217138043712842106303197259102834369919051830218929113306705923351652885345727781915049722884631970613266127991330088334594140633804102199727075251037655373689461344432759572011710854669318701733628878922108662483726449708508656732067848296410793028763961719841018987681520610798215566643866449286836173895472937645647665683679787243926402591441161028854033272516064207746636852456280992586182284903312688776649618214936157336810426142017866118586466902115574868438753655007569283215314331434473850232033362657823711333985550609347269446220346615040454476438272440000562808454486587463804925595163333957219198381142671246385953342979625587537512415314365340191415329833422912099601396013631350196783435175961301454084286297434716605930683379288103141369220530584695283361373299415820850239910325472024971950346821949336533380620788714673758459261511445206324967069851985375936684603828111668737306769039686446080280294170029080354618119091629438816273673875815967982372738828055133724862809227241174862053451062364353862984131230284437798990218892440301460392139181278906609634004030505154530446928394514874701474527223126430967021207580972542129434115067029616568585366057252070072464102441854455577234931490189937578508525704333460222635609220911109558427977542980158421156248134332283231152637883582391977357958148309398895795484762356404314502846878590769373874802732299341378565883848137981733335416024601554642004900122893010553542792510776553198725654570554723553612099370603199291964375495076012336837589245934590741269127556416970843924299918535938523370206320891597761763528434001282997818908618849816018240072213424878256581353864366158775377375808272176020105357015517311374809991785925885292379604744632691311334315985147444131234473839266880722837439167000400479565789317007773255903131067453209357294275562987592793911480251959583662779223338938849039251654874669185713318835733359050047004453506915135804649241743098873965364326385458971930061996244758022714925928861468474623270219185489845431630183853153537645193928169044626787584321451787083991296790951206408682238544053817941012804288993135053093979280374921006367488965220425126952249415238506861636594793377375647827585810756096946369693873327684605676131765131482613349480933616747543565035472290490141636566508385961572985826575807948912166748526053768896420618591865257439279016252469639819172932387322671601235085057797256660031572259532949551562872216947438161797771253168073416328094856592177273683156703033771271879164934632570372282980068203079044373037349573544187425943572338907937537577964094841908852098811219404905286687542072474852305334044087693146344985917204057142325780647543033903002009864892350237484321279222211089526386662206150366467173300903022190811160443841749252199320308814973911182665680598870928409695104491039639394662357981385256274769755700485015079836104067229056798367112175435676570204541011130247650313733699609283908770841423034534716276994808700980128602945257940194474182534521867005047052639142977213055029538713079857653395921847213397651517833507428589018049960804258791577674326863971869454476859494070076346638616215964548342436302413045404986081150730667936324341283438730378826812471541023675310950344730091675624673061841013798530553970037747600301763522003739262233782667453005852068875820171907750111149448137963256425989869631413713645361252121308893834066459549971617091844897082665799287378490650630421643156082093627741791121461974916591289045177301280404543110984973540217134309053931751608723408376376653681255361660763732424694124419822700156571583126210185129518676113073273002973666345941109262286410938558752062879020055974791845105294487675333386855832856912463450502553197306997913435585950622573438041322069707161156501050047154497192056611978815804907490135878885438417024059671122335852255157133371338173375785918894174642946632938478892101809786211602771217418283252515661717297093297986562505573706885565492350972589975669897671648067633418746404220230259515972846720532484051293075922072633044344289238356837722006085967717769191207699947824607070904075165258044491653773672436252065725466751150034599450316344703328151589171874595382731477077646099926427288000006492869848576708725516541835868708038195774781492851641992970448955741156455915869945957883855671783281824811727290762224941840165059351999861648666591534391169323690841106017312087121468608510833888053231313519067229860906530533886641038016883456853106641054829998492567908929211743830117596436183594127444316885244815490328172394650458211945469519034249476215149709149425916348637882524439576343624735313664001168747448130136095677079995271463700024255262158978032673544161328948676805424392836158469903104597614287431222218241775301040315118258855980975686611933626312790143849022665491520838906415662567481620670853720237035516984101306521706919860607209048556074950359423179021895329109921971191007695874690478743913317088268619828254424032150079530324104351723063015189078430203742379718177778145181314553384888529763147013400392669617759947606454187893739956919084787311788893954497824271646994484278227424888693539457600280339317126582664764305076324959190811021172845302424173824902913226248255637227745384727710374608983303635833411502876596303522185980007421862783042789735043403500355220198108233345296145570336574821615776792540124311320956830321117054664545291417947846565766428676193545936968489612436185400403182548813170642214686404237163471617741776854613288033838239554148272877589598561106624548120790841317179329471942380540337653665187627421467173147103704361678030226025842699753135741865790698664522725909434533004725060057768271713344004607535741976929140739236972975160477949558301306342343397982683697543161691955135332440820914723023437823769539010905079290878873256198633658308687306785739746299725273828198132686419476349547611962192332933559008133225696156782767627651857994346471764341133304038655262520404390353992658556161575444503349542400481420725712605828247647372210169696294737797569373349475444363960585091242510331078357624692895061378234911771597869271601839705880624804432252859563859434977920423084364513385158622425705066104499407059331455473500224377124066829574229981765474020084923903767979228892753026963695065639489904513809L,
5048200728778399981998267831792036937100833454182309332386251199506971584838151595932294165500206985543913781193306526902912533993574323630745493060923324560939551575868292085998840779466174006721591449931591569488798011979765354889973206696176447130594001028771830632687359231831641899290115007062176902949945159256258912210768362485352637270764518281935694426501195367436390874831021916973679944974911721181717874425942980652163766033471560950954048154521035495272568798849108973467911263471358527787933855073340991945275921400410246595470778633722484101001069623042502811611029742466208403782293410165946254713883433205748091940693428542327540548084720932429756467959243826684087745642089092359520841908880649950160130311745815130282751481718977125632779925327059179348294482686084409577680401263709531837375677499625533525244049268255302285271169667861203618272085257598211359936087632168991359061164810926312669801277991122787583154760815350640420122144778493851028479053605566753468385817389199110300406296105269325714047245068260625185808734688514587209987275147405938585681825812645634545827365640715361173240830619093321497766338016631082705038909747255110371654802008530089839499900005057538436094220184016161665806750849194907174220275630930692523345227023595596360631826799347020295867636363665899083306520220244546518137536997209154159034251343932398829494266667894722678545033645208820995692910319631821318230955977860701979679506371599214584613026070747630207612164051441715186274235553942094050584578504812346571357324292205018927899586639345624804134248340892808601986802580545985594162833533657810538102782440862566762376974608401719029692895421508612474162755723666722341980665772054952491451819660319265636661817118777203720581797960236656567591950209892006889031666340834630584123177213947029961571193700832496463612407534932369357631225733849713090498028285508628544804813181968639672351667846406885937243292787125689964866801476316210474329123732839697361319293131793401604890606764266865156146170708360767939039992280888416015765804436286387862979742808671821042986180284646719372616379327286148495461883979402910971476584898339570241793774418051611414966477673354876815044455888713709907225101140631748777689283810704033383846585512582592366562828425297963667029975485917629524883578185778892112964305069567520518110832282293466829961039978856108840491254111293363476857129424497398270180726673468756746084954084368310189223870177720265114389906046180732610037486199061750660547268298336102725277084859262872497552115353654641568948351678238377472103659185557686234732943943593416475952356398613157366227592467579237957212271681194184185450486205622796753877796814414756040508102084034702511669656637758862878744522147968800262913666468693745071676230026639463988831058803403752689840492056550674488268045193580309200325701513836307421232287791136394406635849363524858800546749950098458675398603633975961243492146198562650618289890772897424870960676902690246059863482449764825452316473034185606716719766139714421301095717943560344746148000839291675140436637510772190438948020906874862984578658998854801309536338714552009226196200748512491604928310369592370064854056824802316081343799106848799932542466507705620962279391880275729378088903748734772284155448001439546851641292995154144904547624273087461302780658423453680705006409629945364258382212383466579707814064723052392806381303712911230231979415610765484777664293214731192202188190298530626649271205792149881001593627834157264604274065891412061458501996171775875769049831781238750033189815961384676443397254785174663014724844779805944131792078564103985087063120661066843650539020842503019970662674222214111406710404494404118430306942281100007727728201159404661621791380277525114379322159690605257550044384557239371599251718933859401234998335198445682516085839280041483883631127779251366452226597434755733014048976168598447790114254231501435398817559177568509942491488689709092295819319829335972501995355448987108317017193273014490906170997580129064041934752894928552075043876099656100382926876872876283592539664869571646103449367929473548037227320361976672749099786147491452961656351324980102198392304778449364218015717951126860223832540796174889026093134774591567970222816105547137258622126850141113876576892495709263180555754756549042379254379221630554867563540210765136955235842493446546569141783722531323009351408440980317145835908853691971340210793768536361412936386947339737429683617568446776472998218547206319247119669059801157179731921947742928251999883178104654214272625610897232619478323467835223556193565584722787800631148586302393333188637302391309019960554274269915481814189800455010586933951110136665633850109164368904690897399519540402755616084851789970651314929050660176379665987370933388846984582470722552095181832561697125600585502644297154795720888306363779529072966559109196911095136340377740421932414438000634409675720861213834931560796006653457701505107391128730805321439820491229449956979384956586196202635586968907583769909012826183197424050277632808025736890386073248770254421447131549322869858287313898713074612159116147032826909019078775519274692205937613695657403799573539421064843134637290211257966731172806342094018670469083822599469363283463457181540301385695298456175739835939156965986481402588130077391429601279435019069079508825036630583218209218667339315730471043636494851638096605575954760071868888942199673482041531089692108588196810790299537589867829260238512457630520375129714413535445874033349345631292138587188294972621646989667393308308185635079160248154936185119246508151024616910435095711026950711825381721646886153746298423877582406500932490338184192793559483130566309615845509347673608171419646737518897774168453624700686383785537262528956210635824265322346920638509138845354111313788985642018961100201953071365959719872461004032763350032586383695324227624396048833062861931877973821414241109193565620408413040687029940637220066386548484469798739980613058662129845675808451228640068164888227656004542734145811445385860514836175850668154086041516485061114439288131623899068605288426688330824197097565081564516638507307851288574138695567486509832088866469290278736340349127794003756463225880034221850678915963189275801681834447832789428929487971897547931383980745107428411431995017992572300764305980502277544167274788193236909343841818439360580318339933591483510852836220670505763L,
8139863253720481477393387296954465104880047908665345929409024408580638570180288379839712816222944560007794166085651723367506042984491070548609743882349573572336573756157181719054718724053725978820164017772147880114955739592294831565601835633366175532955962579266617824440742089767241720627015209065706565223314135986532830490998516746995138679583264792989576809634691410088876128119153343717361280893628449634407738148672689701376158474891414558643071650533212298189455578921005500924241470685415883007226714648785808070795367289953003054401510961238257195636438333159968118275003461308879142373420988844642780464528917139061969728308684542350322336758867669833926849560414795240024542556023416725314348251776450642264240416863357949711828740475170419336225572893274604980178151061522000604203035412899975365265446334992900165179008542689090542398674927634718616814532546585340728077556531552211262743534114062928951708092880493625466833398772707487013506847298689954814499222491459191163922840923355721563178219603286485853062165568297872549187160980212765963852235485708131066211204489786082856807930821405806750571656035480266968931647804668662239405472810303832643490735536753588234416683078247560338105373133273990357953118268991397508447357799123036630132645361128780328269377817549908228360424531121081515183689858023840320971186567773647604148500169249598063907849211107633927083099640075954121265631454907429255059740898034326115556086793004099407178253261594201504248296209097095459616062365777598996759691773151421487459258771184222863206283776879319798238093970256560407378955355932830730500553041314191476125003889240635074864029541752145670060118787229600201418457251090501579285306589134697902587912485696096253558411235494151558869760516938180809184236588881626308886036309205453864151527677688847730563410860021894986381304462620574965141626986251195578361008178986464682345118177190570093348037165087695261317533680436247046426273345949309109101607004087088014760294749300914930559157426333759731153055108479076058935205646997217080208782023788488576562137606114781898358397642225201475582361454505786825465755931932246088228068583985453494996329252349461305675756905166281954206496984319529005424364799695451480076937868887770203294455070968485625738610437268486739010654326254359031771248676162511340266435016981679904650894745268991697535070637764400405678187152853655334434151625698783629988456811135378392815728704351406648926851602792236628087022828084791034970081679222582774970994785059660105662490727949015813586128918844963118835318395550748124274617264919204579712043756595130382144550352192536048695898177018106977572315339175160746100224877127191069184652283046728583057885303724352984507876981015952340329838103095911373338535035285392152019786818378841147590250347577922624430859065218581216516946861100931318544473773211235333269899505835299986938689806123019934264048467330904130200184399617125739167580958742695453483046920729179351959471848685596712671569266750039812435645898858873590026807759264750846371871091662277315271332625704897572912568076267921527204190140713711816319263833685584777574436016698219410307199211685027925604969320822315860866469594975558250790183206415522520510482304195659473851064765705484258239377347804160265689313098884887109726780409069823646958148034806123044077430816017487032752740223883607927764487848917872829879346073657465171742521140688736202073447561817568460737389299434703006505243633893418047447049847563447283328774108988308695747000244828334046589816733231370987047417169319556886265857491246642235771784210829757609886991234781226132335518085689830276061709870859327445529677574413666545644203900598730770221636812598196970955107001128027516677519022188977483377122866708902437427684317904523927694070196716724481389788114810186281476435662244663395792446622360270330869091767132045533352225078954073473346096090355132176549342636945690486958446673307990983127707094359738219365364043180818125527482081500987092390163863843002700654860433162365089878941251401206612892887119763281055117713354816568917265043944235316449460385159119637138532674083484292378452972940017411661208165351197907950749717338560974381922509727952314754081745734375198777776756962645077729776690071112247578393918751656725058806843820218921646820502144021028139110096356595739388911123457352801390954547706455285543028400135909261320703183835895126898203361274908141982044715962153500954519326235276680288731370079859985753449118325222444924444969198623429136482477459449916202274015953268593455845981981568694648691037279665121752617644501810806309331039827673817065401106868613717107581362955843074521799833872875220278437675614582218897577573224800896915902629878244659621219807982019155515529915669473747398389635971118109371891897122231060923661701312360065584294412027956502915476272609362113574023635703030989648729851599519652052669026141619325813874921412789871980083482542211375728450828699245987698733771180148015682995263788911101359714004323353221346887122479619929590508988582673081534849435274595387813167902587553412242414812574105488291627138414475322938563345445022196578074666434836965659165150950227087675730991696872836215617789734447950964620829289302780617145909959669110492051476781834104378173168790708471798942870715361296869752151808975398186306593897538664582990106145566825683309586035127399657495803744227995000551683495987937603618137552768735587810306588186026813829008911885077484691340208512153547418880064389938560535997106887940740677866622255425072920589191409241071091089629155915896459612945258171046006583244629522035885021113846624067988204068073206901305341542691001274145451092498749580412379768577043380263534748000367763757528546530853764483659072219266911765695293516522459561360099951690255023670789697041827566043144699334690369430228447422364645373573510709971427052476313773549966778706417435275421290293061472763364381430366015844971411626207720135604392009372883126476802048654504194052398697418770810690429699339375952354073400823404404138778632028241010925260901295442838549868713410484866926584879805259088445971050065999269030143444523073003878759242263931191320861799912273792316690605177642354135771330160129085002863916691642521690146726075086130256458022932212745386232682245629830851765675394271898161412518427334023219038778877484107876754647001914883855666892624480090941422609718823L,
13123338431038860156452758555442166661965233303754579544550700290582550705504217647209843386293751623953922580677804642132215621911624099480476944535522955431292789086538028252848417151708146768568505266355459387468636807414738792261415203997739194246939293096184391358694276193400816078923072236413397198021746253637601073270083434094126686580074217121421004392187561356739436315967765417246307115608308473816099569515652313927292592297787255696721624991715592204043577473721826187295697029787808736039701877177292854693023377755421355457879484327788329748440092503678818636424928210152910125235239203648354962808434274106666578682970501263038704640230558681378379087617775225645900102222767152235834981769919906094497322754715171564766567262270002871242769172903598840132297337607063252194913833925330340380089131380748091058227383081149134555335574214262775449509377865750765222614660204257971422091146367109205791714435741908347730277738990374478504658029016850273814615017642178873871187559471953763678771497622450513316103401666782941453469812535505824343717812892901156921249300872706512499972985441562254516570763174560482623552149057986505647868565449636751343472929324460272145547283190480781400644598423317408077545965150627333720097134830095121963281909330535000143322773077512068107718666969532757369754394825376030371798590021192566734892888465025177452969267909634040820294657260186388228393271843006399100675336421241828773762508239726339021412600652212010279094994385874324049632298016047492366587811080264290274264630453004653978948110532264683431518501609291474909723370178923474700946548926229487014538995662780956624069449085283007530172868639549433543005719148441119799191028310156238132331551090800898556416555221053746223573037345762466374004800529917781180061295316965039455949693554810715571212632492326318770862961721885498513404648460461670957392867164405236458690246262197314714212663247833238680845367293378383782010703181920580981810694088481869242493211365732135797530259257218438435268675670155894688356472796725962811432526679528616615278858656540978675849369541132059251090733608245200705004563168931270146192578939885295065530427317803361142138353146465746038159266564726837266176163656629343165161623128566384849881898812791649285912280487159483167887422544258615063785493754289259466564722564700017619275723930670836269881636847850368196973095282984791190312115776164149747107467277815408574633549627529139500027879565158087475646890423302308963072656507407786902331940828931899220481894690854915955555217780067717287521766056965381681217121345670897075221619718099451220850219765156633740964568260939956726264966493223328690115843056859817287321451498979972356803908292406317971024549077742822150126216787875826193318336434012256555273432102551801383687098913170046381037379070539142952409087202261116051607733349510096727878811453285470596818770094109348649583493051915767364129825035996907284455430622954178417839193034172502227772629123042996478226685993283763929575354640853950995091035373940812567449310150639130392346639124622758576692513603554501104282784099271832416652686000681243710168655582712395262488613000083275195893573132066564119860169658982758845566102230735868646349927881735162666258362533335775965414896103039264809142385191457333104060442861741379091353814592026301693251855836208125577616368010629381870348444096365255310339285019131115134692928248655377795743123236042080325350098566077598117067771749775813668077821172980442659424573229755203692033246355874010356256248377885682398736030945474429773095001075766746008375099860631762460845235825750340527611477860314594341039403784752550365878823410988909573221636661857935992417953013371991076812057920665765838081490374862525038963729752813042539216503739782639629380697216774364450635875407800553188121727110337160209635399291537227970952020536144082280643693403980000015308505729440574411782286788796064241618387779343300825580208638089276695602895783594624771966141102915322291442151278675555253879146569149051698570980417978151079379280174840708989796841872662970615500869486526688629748831361848109936466264233853696755209252066179751993345167064866756135826895101615490896602254913300908265749805594434650922912594840213549379390930761780233049710882902161400768295218922653194886203499109222399860225635413575061988981107836162119661906490797672024182065877442117633714327064678859209673364781361409869365107269929574632796727867756162362140372101919762469839330018261178319426133908460682707108276023724996421909953359065306813056871563076962015409302027567067994530762716802272366233047420596119138132097955409544917693935253095803101416179213733472286835420879069026494508324588548804883596275833234668565094548646264724516119696449115140026487307218370291543338908304017175800221490963242555520215840961483520672524465478884910792633538584519506729369211023637916874910918505019252562914183230470033447076883775702776801398464707853492092265697059612948436848570029201027298281393297362338326477344564941581028746130466855832305783118955862267809349495653022537288778343879774241453807768732516892829380782199127500908015087696680352912965826201409981846420361145664706940163176898409535249228808530707008151046953183097269117920418982936119151966861313780985212929978944423802864628256844588528816075768000859687300905473162092066637278779745300022980278616728291497899859893957699389949030096053337943053938176437370316885411777510926343860132310599334496418848259876180593622639480074691072359334688302463637721601544403415512528062919703036119843359217171947852782214574271923072875906533775800957719180782348675093486927195567787867946176962198234130837701269732451171592024943038446673455663536907094854357690820481914823260064449422136856532506192497680691140907570413737328562605025265559617387071906227944072308000080080241610727798828854090111831509954937307424200583819818784237833675622815370268182886221445334400977463183039371739293957547066612702606812729000895811548297566585925777530825022433498074609814882849296008984813066291503114792183279841450850497698086813635902061485409119833396446232070418813383336076797390942017280751856462893892801291654114054610571042120203933896679967179707104556497320963016595811988093146154246316283869791781693145077600235553249418419316969833504665934424509668507016284838340701765474848993810837391434301398277495846115030L,
21155256889966949018317896802118128572807483432446835062358995935494510202496557442265175008493428452142885247383922487966033893480500345543157584681608815621277506618699782172013922850123879310062460890702820022339031559688937450745002731809210798009237847957246709224816548051127023988187936758029241898074410152548504760900012267899115614114861929791950584611445167642744228009066670245230117985167338966872787168653469582108129198847801636178051083345676198563353699064743211463502682690451585940086830541695665648394528068785570829822365472418910482113539036395535415391610524662685605280974780927530077713157415836408512072909593709675554055552666671271407840690431782569118914962176561432204783247833169715091496663825371933736342085533257405182361424924135087359735024479876894157863545608018544544313820526612941132228522564713372304015860711936237417772252192131956727017061118019108027887462532260596851693950377481703059828539689341398282026072682049803116075601330674604319223532137422510922665267026234066742023745018220287472058728894076658002698457264316373657910145473972743706498780327458041822324621412137374202787425391743867976292643221944774635154656825022203702770497131614519792341958809336984613462840217790665178813730371112938060876434266043073336739493433215727677829978658894470072710130012464087828409094123434825492618828324130139844369357214808785750174159130950819806090549915324986819118828179780426344157764379761793266386863465983930850434115053845160706936849929151471859875645003779041536834258307206366977173718398832848264737712258014849273348569812949182516658720382852207141369069101179068931657058472375146036179619701118931314538547338874406964365720524752320287272510385845492470600653072132789334682025212349209478971214180818898837900738329482531217233665846086213309710286676286477265576685675730680038599685060962576180463712145859112440190859429473673229164546208539880296961053806835626110817173089999686250595276766228544027640634417076331174152810583957371356326748055795668962858792766552629581669072121072513917549793928430123208653806568870593067252811857399619302182499527092961712691817118258935259244390292083887237289594896964052082330084597568553519968797797575496529834457807519518416085043773983145073724133558335810469918582733141223741600709017767723848416593004711793153018741555048330249774874173196080556223652555743996589441917079432507887782168963516243636807615201968358242330577896606668836304051286743918698495247443195692172073690123558673165914014788250573986064980331081403908849672973760383158640532528467868695248910684011360816149843846543907519087138447456739929978285996089906780277292840919500756743201656985483869474896199190091622009165468679423350128411166712345858253898438432898741618386086534082301179794299254938453092930109354477988649912818579868133577377473412314258086389990758820704330250858351714877382901610839243983680655867445991899752705871269907997408529567540322576822900724141551669188478275785511681677067799778716106411298105010378708605656156687226517456455224045975356618393053930640558144029201612371006361007443532397279067554621371676102298200596818665708035697458626662997196144921684882624460880050875723694691901581833949996094124256849772324991287158444235908732972527516490194721963015397030028720688943078299957040219622960527427653326319684416328908572899230957985613945472818217245835850301747961633432566595086767257912882314163670604901166266311160226109148130919374990550944536682060698773484454693747945392272779587152899649528693064560940370856121820396220317394316722714292500663622047506480960854938614992885110079585069153132207625972570019001059672178307268311253223113535284109591028369128624037513407371452765985482431095929527667618262964603008283375815354995750754683148978401227481541302086271882528036384628296938645742133021301645837126840774771634545603593739459590889138765477637299833420681652423868299300600237179511063387710088777317844229947099994870735036518302761732280083151835513018552060453871363150069315134445297032700263031349860251716236196834453232795572002852512957060626347775492004073781390110799030130509415205326139526992176666591377634858258114559897049311994732282969569998730491444479410794707960871844773418669516108489852441362171008439373285738698654961600830576222994201950120574535516968677903490513072875204914915631547616494254862222233532547463417448414047681371198626091468572756706399954797491831638502653183992817442060157555600562653928343340919491010892935553503080306589169023063002759715606116163813816203074630186532067015631102949379891181514910717480434508397496266880898889182794280105024660560501599426459336614864629945673900092126658479782283784485505446693709129608749459032973133993121951480871597615488879518163487616060517623721669250226679133378477932612071803909226054303461576111248055857608984844344235092725266437566367192118642010082012635131552095558631206583599898493761098552765077557113825520048331901853487309929470278856973913538382563983593727786319855494775500336958769858448501250381523574357609377751322910495001556678838699820118853630069209418716447408726547680252964027890990670274287654603547253492111945516801236335269646187355012436481375541267393019472468155795744964490451853693269553722815304633815568013808649914186850788951635482150038776231575748694174974949885669897902322755836740454103519951273549891541750548160469240418126173572253928836547460982698147322517973909915591496044879701610527930600026696778722933127216758871258358311023489565730497493903977928432533715505199115203205643786986470460979013197568364255906324459184680686416128544417081779226298487786645187738067642340720368377655470987240389457838825572218177018444484746006488207194654541661549749646131457986974280296882729749754773190755612160758010014312648196230959874990007369771735557576688498923505738954508010098479320575992566590036233165903313487233348205638755780384688210282447428992491997779614324400016462478516473972440468444408202144676428607361234443494964141394252352998755043329109818569412423585933901852094782188472450256647776184682979933380173329818075597766666799007436154612333105160965579126500975526276232756165595726954367672770534504763540845352530243982799447201292439470044122371454438213276512050801739975446053107987223980195613237089680576273808298288818633943645039881969167646209915672995L,
34098797327527529551337296389223533816858130673393714612656727416073037224315210950328586632991528536914739614314070310666657681031537184753890379091298422555244098107410433157866628119429453059859830958449799013290618505501223584283134261811328440063239346618652550316328303293383644860337980240298198152993102160724299904170610177294862212239817797416709573206108016121969394980538592002436071453495503471373205676687710671606363476500439116149957572993328546912649837840285380180850676906781630697503957628056280293764292401146428589267542503138089103308787852069597566417948521403693689856131016913712883733105117927573622794344000919705951986407731140255514403223393632162095025139638297334873433724169629725807505672789686030506961466926905897769726502711073647344232939835780226304703247965235312650512200170001639586112869174792571626756516007797643058247492768827383476558581913629786663283042229365462964849686614518031242943520419046811098471553337462342745633861702961020429901139472994764021723559046538176334797303435685309222746753761808203804518849221570852456122169158705800657307604348623531603540362208844532317862917231669110454248334342432260833690660401218931824755796699216067268145250412321497971041348303368755726918764155073022725698130721105664385896211107855503324314949231484702803889237018699196661824837243579928620142701820623611404015012049834110329476999798214354934256581237693981890788362286941126274116156501447141948475886180029521535045269698784303134716477904088001359560232812770622847308680792835325479223077915001413738853233072138204447811114734923094736826214752435218745891301410422697801408604183916830366702547439743844851823571608438579564096932118045689825251803656142115603335103853855285915272618807630737623451991985526290600186392273687437097903908423973058196885169656302311458502609490949734220412735452887824792877644890783782135851058940163358872956459762718066707276258424149065094312035195243704819660646951899460219048099826150042946745360492854973317445569348325452143862751348243422974203132159579391048135381854492098093765981072881372161498906834898029247859507820740013191748544306631384628564025666074481094531765794047377525023657936068323912132874034565479883913712189290197949415705389818864771981186791507399411280540199232835815519292847934334562535788589770279056513140882193010071489086899504899620362159803073883714637440657696939083351438000605130026002217981430275011331044141182854793751356566335413611495010853800741580595299992192712306635603534413104139198915708605262247170547455983116971091989006944405810711731943756533632955810516768814982114628386839293669691422772578885242804224680376286756848264553952053705059061586315377572750233655997770220434399932626238229356611609906891321972283547948151041003622187606604179593129367626861248698095017684236164301056895578667777189704077267128181018161310497219098311572001721566012436723676561439286755874304549394908437438150182580380634853884351447911818701196761142708686192750720440594220167101783234600704258525609012444726984482378505704804623755934779788689510876706341598933800007292849129903186078878227855437906098264232601768382162202943834138508671815846088631947161979690975212817518695081294614744938648704407029387843758124378045509455194618338728385325553389100539091344578365998782527486282048078645643756951880755237786249361491583059418391714706985714908501768382504506578262667211587655832871792888889243131363122906797556915127132747324564484632431359482659625289726503001602444927360861284226057889662003510202445020923109791574452351271181371174135579242737633843086095178227348119564750414974405794012041969123757368248182195960302401407359337128487372697101950724809274200979425401317352228927096233281926621926860125823527015560300221345462168237313786446341796789295061169123587254457704507772369225957914867983976196933633539949146184141853628528810757086889018491426671432758372366923757425626161640224016878047949484875977857836993275719356325768986822733003414045091253613131331145102169734380005699818558637407995938546693549570276392151030318884559868088103487157962916968740066924862142837567395853685081899014352038443129140605620534177602406998182074502478562978138538756942789070318807862431641550874394144702603597777389311059296297891166595428626314352138981225267914786100135708493318316128018327568831806233255976652302691430354283332942570694702738136751940375766890574146597519004202401087289878700008676925001730979711403834519912934937129074641972006493538168593590721073437262007791749925785653980465882112425558899598995597479615177758186788082951814410192307842925545362456198604031704573304917585882309440136442130719090843258399377692431512531821099224175978204156738047900334811902421900872757842613329885892172385247096735051294089799301324098758872908461826706482778689938022894743156264762551599146915823085738959285326326389850501871157105800546642627531875095993824896641253972210749276845597475336584128445993188099309408957931474942213326500218521953510598107451850608725799391634785476238125630530696918747680728324030044862178039552900601434264489094048551645677973928560090747196232853786678175045545737906998305210041470340295163024819093066691972951025423631961456578318310023950497071204915326423889665023337732880692125251035277389485014706381189383662347557411495155948148981718937682209710510946015738077054707814571662057054162060814129843774428055218904784621417188477525448830659343546863478750840416126521868187601856189655727140291518930908353157953709014898997872033647250634122506257415791120916397876696702700026581513854083000403675925238388202240978832504022918600469017957160474719008994065701483838298773719555646015611376853836804058696844009027941463320484704103215815843058341852590712370640389720826491716575949565232389971409870758104164288525652428978414877455936195674243013001153104298526340327106215674911691481872561832591111080782476784937848863401896092097557061702371544026780603558700360889187576076536455465165346951503923910420199776537539593792394039749160966585666273994358373216602007819512029695562138487510382932779600229305576564888860238266419727003862721991086468227518624712851245024928672629442817014749551843317794507651747500018740756723471028150531352262973968764715708950402875044665483311931667049058660715004742707160932954300028369279470949345449995596177460531L,
54954926610361883308116817023401557393529396246405419801958794325142884557204184291075653835958399908276908350760470852305951253593463472537155850203373710242887033760387422738564228979996225082585348091870048751453390657362586735973634142415712373080778108081059274197892009841104065894287398314226347350134912701164034044789295983880295563796823328155495010105590041370927460656598733009963459283833706233091599147614292675139357028538743909533245309613062431932900901495703872628018407633745647093326762253418090313594879473880557082149296356285423245122404513019312022104726774854733289696630399963907312111917422511765163738326281736891793097244686792614222949982071132576281491102811975807197010494650125562642823295078938927845320518039188077236157569686613620493127714010554950955718534083151309646456635029171966930842096761565077209442785379587907094297568307968158421663554954618882973651957533737020068577933649919571967755158260453553043098779126570293578321194808596589646179921377791646143272924174224964962042876015334469141139657568763076886349178978165940965611198301508939088151110420167943421034390950376253673545282345880214169011026717216020227096224472316652956813828225555373722156501081856285565802057564459373319188078274878050943984330535190126820054164055809689476298210251224196244958155583088183812365792155604333014271642050613796609115495043876784894390758100491507679562643156522183100556754327452594231523419046968810093779460402936561259359894443586616573783910107134241544225921191433288423293261444751191352333770278081464440571124547975772323128188951042874690887716096929019382867342284010454561923371194769209988329954938643241752123778907098433987169457987948940168581737813237030235360008648756947483697322069871661774078192665424378918894063428511762387276040660525004626345691204898090025514929878310511690614624546395252958245712534344231468173760635313378706930197459162351542070613114965942220428786921207875671876736798175810433218821612115454561042914983999257922573403475434989513853802624164414154206268152110159733358990565926914121113214825814602115610043849159711981816862760486811187722827303940608214090530648164302042177146488200486997835944540205656878300583189861126206062929535097967336806830030312001944395986707845893154372152778457608290887948842956908284958011209046127502211512814378626039934184066797692416694803741877830899898530372547054378912610911626031224983895670730727472898603281008577034675092551354824880700283888219543567718935192611110168370293182985079653188169737494268906832813245098145937565956937901212974550675321801742874958992420745924814782390337565198651384512402303177918113856542150221585719191866501999672354017208432520520868807131049339055662031306428487089357995808348129269740231661167522914059668765785234216046251427888457000677535088680179291764988021411862936667698895070768942019096498026040511901619398545047917107187586195944148279045851664870810965311481933029747763044581281443310640119751983812566941756702794061768104738750635421593803919734225047640554835343209568452598265375188260266819715052023206978464250013497726594243165824063549693876531718820591341553131977400274865266098313858262456157185814451875241449930500607682170727649343321146106016188168733675377593577210062673704547992776323789270358176409528271461211059076850201520144229726501789541819093813377236694568731143922628652907610877661608513201452886433435446688109434604457616884843618571160298884025280053008087977236828656231995287203226667710173410929084587769249286704877132487299192686971208278223119825127859289477572612260504187008074650364123751975499549733855923616516364043775242694659394894231789694604457540959048047791988727391634356323040710325180095007351617246326314821305256365075351285131462616322291201677023888429974448245812856006604676591450371394101609186846377506328967215995546927055745582301963028040273068229925863476225880367493397414641920288998831934668281358762688578909606369376653343916506115533234755591846404067359099417850201869570605715028760590035168476023405559001178645769706293209975363755768135901631100469718653557231028644321112725135775618498412997247316981053090958202518878426086826442981521366166531692518915220770096725902449853975387893972417085142219455834982727795447294702150921003798887902988531740489914101665906172229857206027352159246835271006064528176882761825437162128357003752451962248148649570734785645153597155096815877121587564916678614886638943898547354140702400175535425552355690033507561619765840099940779691975579250401332239788550803577092787734079720299158342547510128601138326971799444082793334672029618717058209479547421854517795616799539852032520361783324723476400128356752451321011167190250981133782941210890555986454709911353797582538866973641421961351189238104965384458733283801840621179968686479522873369794555705359113803354920095947310041420358666169199541030575966357752506670212884428222365543764871774258386469758798424273714260758468705902573893792452600456691379075944834671097987629592093210003490821263903504581062749712134251892480134487323487984812493235591339985516653841803515194816542233862107970762061563812378148706621817686804501683382021122874875164641877030393513803098429193228530110116098520630379857980371795626003516895395669554077689551285533592637078493492102765104684329140195645501095660288261595681939115957088013430132720268965939096001538790905155075181189589348863598779737903688659497498420741055096178462565519619742957188502649167417825687205188318329512486054342286348300996022806049654002194745984706400558861946888282943405435520615268872394943378689473985796490154654104305023792262997152976013608684985428820900939775167877390020083796806642247585860686728438223111958766357018563832588813660901085211483629256510778078664487104958170135708981318002912305606601949122564490674333580488131044258751994407036913995319838159595971141505532754621133960822711109753420444196489850363325030673709428870302197845931980647262906592967542156011320915499199693414966572977258936177791144065079442748835290812173059505778581841032253482440899466244771386661547495669784145135562711633223511010033661552795997009479932511561009716002632701922250480793548106869445993688417668441747807224713567857957856303160773590660947355323741529416945326143639463619076801159117014289683030767898111254927507777673109178440471651984013684L,
88556622413697932531749362394794517465195086477220786208397500440446327242713447271207642135188580611425642567502145443290659736363854907366466683403897657114652119827139360497022496498539593736815627705325078743001713802413731497945118145844338733333486424609132017636955669839779396448885857731214164060716697611782601971869291233734646836768705988368795317489159063642371391477623053710191891930458004912636835464765057193522983965863912329921687577583262235477244879579235936813905893359703682312131307055335500288905078355810122797334140647178958415619310513618073492790536170120316590962047099973387333642263539241360478101599227696149596391157498078514690204427322984857224891571459650040254848784804770159560624145466049631735078222681417181040709938872377482124982536933021343516791721439738215399209998748133411943808950637412772653800319023005549577562195805908826196381270232915306339401991164743472575123703845432977067884276564000415931359217307488314044881411087411600352214047658654792090762286208141769008813723261726770236314078792878564513768296156915116042105572231522178876513199326787954459068715099918570458179812907846661371450507202376521650503559901781624722265059496393574069186887927437832276534093133022059976774062847865369097540620708385088486845162305253389032320762810771547031156668274039934846776322976154536910598322715795209021524198310394678662725629847259591928892623658565465287740714103898115476376258640091084673828415859276419491662696361353199007705643191130093418954103322590650467643710239822936028691666339872238221765046817182289051901272319800581189418047214857347604481056929547017075791826787557083664758655581323283111393051736335457386891735192075524355100611799548295907156976509218143016065738745464045118464907847069115074896284553034334751206389028147721595041871839717748561362785978587963194488892159306357263748067650777643986648737949417662851115821490639222660906914510819098449523066464550342234385906800792894076077758297958056500617755058227607700232479342773634191939287746437113810948352776700156520778070301387716925878811580849916885696795363218683827773442778230829289092772683743180952835803266221341541930005064013264282106191161841222293360210832061087487218094950703010836486254943741400757374543364377913579612633778542596515233715976718785918834289656037851099168803369414875234154655301326752729175688618310045435446391749497266923057951685378749834703883826979371003745142733201394072582961952479456901336762658817224841975507029766809371734142403804349689092465465129602708378636302508894349840944571939796867003580809554346662315557275750641212683047295549352788039770083970512692611121195705206908690682791813736931779271279433535296665434014188151976300396811407633093103876230155316933107091609093687578363537079300218147749041717051954296072749742255165681371977232509511363206347133378973246234814908246776643735014571610188309521097120564403440389979421956647839756718476543348778721943972561218236152431373666392729707844239841030085602762471485498513540640641529769889476617860775492662024292794293449130935677544346669464974165280728992336939583720069465554962840073902868953976950500214558421358623298465448750093203233747969999846349513115516054533591384434943389566185811819203365108595143035782648509516183508907385081778885624641937910167741194089271163802332897295607650950276092582913121615244024491111785777371702789297927854343056643126302754019215922059650622844171738817615188899235219749070624699693180040001927937837366501978640673380838833882458673551278288134996565214761063268283377512127091520490083114880297981073403710051340956423105322712406377465320932337527078346104851199575055326317154723496488148545703219384072449804841620340883986612988082932322822665829735961640973541227328094100809289788203444072588222854157950209592939955876687995004293680489836336795502323337745690739810984067230967173030984258479956695527958884340124111355140103207375240246703574853449218216580824000843966588266764283186005498978680439249935082647535946101667937132410595352495270120726534679602170535413966774917384368834435368935454115653145364044124303942315885514679655370737576894467146420205083157372981385898038538514635108663263663508837097807612878800829752999736113603571043887397235062419419222764205243812502585154767879196334836340706357351322104246977284212309204185904862661245422382413802206001110407488637783468572672289136586705263410837462517777803249468582394125398914557796472303474287900598248701507513509924480347945913810365359115048799151775489421546946368931774013258039833170638357633420640665814097142499382616611415081917717216754798335886512499390968160056063431088333034752389198338287310741438471762324002372384477461667838255504952617789070039262036918203655442841316846131841841186214776433878816615071729429850060171669162374586973335845211313298950857524412294527565136540247435834653431306977314469686146947713731929034307735378425619637030927311796705311429063700475314259360883952948849120665246710619569974541260234174518518008703017310656673241485760106746224370203747295872035651789525766482142145693317577400900615251893022917151969419398723001587188935508670283269676855962809829651109362753739707593990703938517380321963236479477087531102562994772617238347429343101364048899124261146013288950060851564280912802149088437649292902995511178533216974595285808147554784658127349152690538848693256671434501728300809392140080152431452653539693398621064200649173288645167154686754059086888237071171752978206475644572136726409390985795249392109181979936221625123519891832490086788391744709243128928191099884228124121041249930836062087049943237886104733951666278317664545743549654008410744678741549616223900679722826217034593066173587732008313441942263375751327497266210810321568864929209598606153917166641232213976475468657500179758847547451046966489190023626239673120317258723700556396149064375762095814380219082782276750965756990346388328745508074254066497729700662001404749517236226755491992758501567244493656848034422864168532314752628295180837082117468642065323089942027104910377350412674905216047114190019977141118441996064793657607100091742037528065019587612238531496753120547886888036226443767921386772494106771912552054293020443927137968307395930898313527332199311941809629945314441742226752506082779686617112081175368983165964746147469002426654143070224138755976044L,
142686316195183231432394905203303652416989097786312677518662982691712043538086650632031358170345377771907377462266116740730186797494986277161534873539534070083698769411316917953535230635693348114568410740965588742257815651441931487761750906198542727888195946990613452556284790457231267736982156432070279735750079473990431256551232176257249806968103253003756800926252414592556922454415041774916506018006956336347730447556653478646676243546074060566321029204073845423052581782142005641821191052989189943812530589139783571245310726547156871844430107196937443468121190602141824209661667516693308774548531431969012557589079947853466782563164964267540666671906375995847012506662818915025552284603013027466394104607604804284455804458791902634706288347611359774709518871097555007811233607355979625626782128768130377430382300809575352193868889244828889776258189299560910070218494378317993147323983319390634178581871664206624643296846074928771043334726449628442482300375809864401637719777252759546581357594316816190236702911414732503559619136899829681810132872690100471552576467805427260725402209533849652822115845168616548032950597894477279122330345038081689854529272889975050084186395673005495784465153745613904909070268516795088207036539618840510770406855825779984899176671052227777023424444345191783787146440347324882302683285351239780545022979434193354011757897147289040009790687576539726101993313779589914187921752045382958388927238306776997903110168379959352033948687272746249490990514111641955537854859354522078347495665571382534226661490095395102274730814536777566777829299687915616207521962609750787378027615669612071915768949841776521456094781050832567823847675992303972304552438449011378470315392088231854109244633782799677979256673188209728414880630540206025349277754122449979251787974972863262037797747175938985237372492806525398359527626422801829697466697338202194334570964108275560130170833816466889929860251117398066590736939088494985613355436439336463933420583731259931017296313444357755617718884169786200786154575947845352053987622048784950668303077561094332399087796795728146498369618283763757452037372432428562262690221454961085394242593226671475658093350590751906282936679181345460543612837600865142043447364641149829842884717816511982909061869983784361137253232794162899459376265829487369378269888904528477460376511711449902033429737849395313265494892404976830908988961434051530667545883027656163994900102759967758991219408487361278788188601113995561857787534456154186521041824931694192858409046695365192897864360210378086181039246682629890747096701792725643739825888786465351203772826616231319287550593384996918556808176702726847946071643621904021072324095507589767335916377778011386505547951496362207593971749386339472574486752423616406827756056834313651116085346938018596419995050241697244414250463908109759380635490941813655136902514039686258762376473537750249833018043739671738611085633923418692417518239955360671623805116249558505121734922985854003182777090649566351940488046724321414747145190001045240817262957131958133631478393973382158864751465158623774149494809031454832530354350219115816848337266716853339115920750560872369690197025155542971640061179021156310036483527197693969623087470582152084889476818344591853112937510382773864011772868094630524004656434416806741160824707708200216041410508646114156717445856852782965280711104515140499012487189375520037643801488858626703483975290046837609882104833675058053936841361876055729260479514397877064422099889711225910806607570628962456762081173466044788083751119962534051957141965006952601050533500321604328429881571209429881480106314966245514306362223058339226006631046994706746628552037956549359168845670021656038955338170192757661090917100324342874552982997127648868678022908673927937527620401848133753026704624737931024311229994768239518057804711029083612513727270946957400330579147862459849256551826108405923168980941401519913316274967737994478050721473655784690963521272251218857813974543554340872438412397133524766839905126616007429488779571450895414239697297801574501385507362541790276131673836665919304459904138050356886435762846943956043473307510704311887073406065789775427523449547195896962508173190982372444315943290135547640494789761847330841132345194095828793608666117818248590897107561479938181280257277307352828002436062131536681936840145030768475889967899021869908618238439331284549731593021090607944904225837733850855533527986362720377558344700856310092694605733913761924565216371430355799840238418765272258690731766642929270975681065034328639875187134019328209871646007856123223369485319703974648741805861129684104897186583460839949137502743875477532919849597902664941647182084593103168841591285015959726074669433327644822056788143507423896794696729994949248075426838801294778038853369645818890497910235765594787414355281441254265434949031168114874452241815725341192657883732335326264100600149088752008833936034703254412151982442975335009138732699724417448436554052600848457042019157174044418654507414556722349507741101685264774556597781357525681170335179956478992577760362660820672864563500576103692024914675987250418609958665342001537691580638056611098069140893225372835922720064886976688168011384597647476917172987045473638368562588645286852929315442050590869760654298569107906325163467782347444226477002155883350581491739663980399122278610616066421949981613268320145897909228831978352067939116534242432025683920956368436404190829829414425218819717077603257215720615941539824614280975901025372720213757110630272619551636060349470729631001647546146312242391280111971543802983025436471269114617914617264187905178154904864004560484783005573929107254918145222995015418523375569613471157203568451913748212471488720227034262305072773545830068836812903119460672723479712380120799805776887383256063076934892455764614951453439550004744291146947237615399503948233365348879539767596034432994364814769256851427073287197826518180595295692161142422157766883382366289706645944461308402790964860886026650280265951087796989966731930817248330668023538525090868306322203112263881662830229143756057180028580960328045191353340942997853646593846785883228095488847976179570158019932430762729511977499616170552495085389179813457183375385763563901635759124255632051983678621287621701111002647500874592357661228382813160459048562130777064324007640230459561419237484285962201106160219508783662271993880189991949683304097519171154572957942L,
229874345643858623059134537377380243728227894576080082970069783400244211969057210666148421482796518858881828960748580329970270773188157220281392816297046445287010558309979366641074590513421085815196301209931394524848977594297193188055659164588658868228599496972560979007307844864059695710790612665129418697291326141898839101612133255864983459917989638706623814406213037729055872313303391051149394267950582535366526392125379855176019719406358141445448362281181051849223847229024576159763491707755747873391491824434610239348076425226963258445531496832165853414321093453291685929098174426829990962275031933993838252830664973888211657998404478879104762557267033874038981349300448013986873994288577881521632015683021710149978495037148530105881135423231493068115159482721519367965675405629943209273492893583387688739708930121650255552607781688496175809234168302083924053527137876612189849292740828607740265885563254644726818094706461585435522011811491768649288757826516259357182535863402760520296843341981222193541265249505896689767750319140965318500537194460258153846730732082033144290196513241307405525276384134151321929365499060232718595809333313045133969502702553796252088234443366383498909297256472056137889398029596003764287989423720370995187492357317006818833397722036188732931144434854882315196746557082011381566539739205896285109143024278974313610050253543356767226127222865678901608766434897252856428310145780242618498576483710627465532245033983503969803205989153415406062682762677610439175130632463242239767276274778140049784642176248836048805189746691809927039769608623221075204997999902083652043611302471570353050016738787059550300051537716066712235932750896877819753913165879070071828421571381206195480587338349882076351718254291598278078546167810280772677075319819946438296371309823171701657888298224137998282704127572059219868898492477075259000256196478226791527449488898866020648220513702755768455815293001651335428696237706241983324707061799276099523116326610667780264887392682106066621493383676181651005149189324821118671788073195233678114683594917225369558849513491162730216261650307441634715789051311014857427629045463280459451526616683240072864688365100946624112138037795174927962053205467777840614621819628251305809528459746099303820135246837495051228579574611627243753514979795654101142010540053781385781570209384794015999300950126575830857416769760958682155038611191855733060815612626608003441145551965660505462808185722941154777715429544055669413886306501010956790583463853954848187966531418175330351765968055999906119634473787084569712922523411541079198934482135373206969582253618161244799092019496499016702282321287936903773225329084825047994616260290475843546968755898036149194497088486088305445448425899444166583912436125593362973978077720750033792379832328085226509602532780718051422152889719976130572911468309433139390157119218668899626170489851692046196490681014926026166147146955545930210019827938742890227753206090401517636104302255752927613696036969939358713746802593639309948184924582413454816453204568661421664409107094581083269204794539358951078960581770305076675382774804989285342407693263794584242631268289929371949087727435123492710783735543113612622298432504185980315031685355684560921615393903406739147373779661982345177845655572874906082928991506905820108897892222349528960680111432462606236856237390493488882893685359692580094369646664076576639091036782471374706621695823998355214403632191187147502065428911027914693653202019466568430210994722333360876511334311423532478512383693616855315637409163834043024081607255400669922597024322195762433174079148370288066036345630704263580846567595300847816842917430695189801601983364751201173081096836600987701591117654032656312411800115242030416431230788848035991793408486295098310335695481247611407583032218293227273046108998852928433417299571840274601116184063420900110613654738516395053178909102395798748021752028587182730792805631826898700872671602145456222921930383289279091097926699735014905561844971739759000380457246973742533185134973101562070101713507683946701103695984516649098525599725759108737105773394071793852992533433341671718132837575577933528401998920196536329433942833692298661328798876447992870403023063155407932331434822537381155187935829040470187470622805271091398299997473757200745205100034726132553079982013848618161216804417382241131972325296291795061983098500692703297104429132752535368168058723968342668145645536006620417028226155432813594167733005433233024039100795186869476023286444069448738634971552511082479206413997499849369931184430769595214352450360881258780580637314807592702360331860355254519232794662533163244814172586803479386272530313692030934042816385814131463345376429325769464660348883444756540916336407683989867041749352917536718824783629190494124689458085986839570556862625672940946894875044835721056497341982392543684144529625550020757236286297967584956198891407894323717204608984747876293947849101171686832345629461863720924252912376202621718132833623741383105790591432458132590702177413096575908168335983032217164678779709863093365803754796962278488816730344836368067467745660105328523273855282521808159223262822470025473957370321924302649095595411324531805565578574289167872037966655959969864949009574374207339269989660025039266505180874050299421156370878153332153203158512164743387183281456461955560060097947896427186682162659191503200845010237612205910633320069542084396517042401660876950184198277440016730010841214681433623268086009818770906606610413638442854612964220641206472344331317203250057075357215089941114106391988642826117123887470733587261850898030172533775213871814475914094684971331643572994861331508269578884153699881010789714582510822096480644922936809412653805704179846911246833455617305962267215149280945043943054443218033280304713125836837853084571852143454751918213121893778113914124036857155450570988281180595962704419344855377127258592856093431614271839211760676036340968199133751492900715011108240437119948070496937818950043497351407112951137256474345349871720947025066528983193028427604312064120329619450690333962644372664543435236018066337114745593515836112114726933441369913927383169370996020396344912325950374999796733597397130377820754214518454152607465597944332133499690784617902751279895956001231906489020911923810883307641525614002083228724047833440456314966208946009107897781101033258181961815122835426926327086529039806731088966505434868477307L,
370293094922812971371156772335744038332658425563406114760420382890790724148491699655895427472855740406733781860947767969846053092093460591842099415313872845223044142195304597284100344053047606384438087658386904418552835093007719987002952897680692481017753842944612389802707287832158277725572049981565710627912100165849318865870199309896208420992954999091514165674355266543238610128726396305929133898679066219947661808040863387633872856232653708779993939135775396728082107726039007242946714723370686008231806477658190390988807160959488603338210466571127656667026068377116638961273967668145002466927339183074143197847247204728261800898522691632417484778161573542464097707382186700498758002852469791352720740045067125980774708226390791210756764444176798016907376712596454069244443124148430913610896561535368753330793187885482003471810872767194633856983064247009385724433427031921798756812512230528733200326315659738509213110925240225581683398813042568859956640485120523769814488056199446805152363456648661126882362790575412679251053085044834119010873660183758647669012747335729761552732661317684740807668125351689721495728973349226060465312199154040548838960670809606181656540029633750360884057008407937215901222020737890879728120361069150822458680790276084002759312429195615418657976479101783546547376606194289374159980026076669051279417364690583751330975144860235942098545888900737744167172581354885747539793728966336052553797600626149816346153919507510499275432337507878152370196750286131318047366431869926864108330755439003052360028351778891479366915392041179008164636370637886576843503909935244076004589150427055449753468256644148895405996322337373482223481809605595910818026315038688641296054761703655776733496780291738154083289340033475832392723422240603250601999403004813407628294243151897214805983338340441964037831832076662270221834986255328988494657277117761102678494015479390138536930580163719136616664144739778382230755204477166195110716950041214465674850029349350654955619569777555486389183546626159901194482887007028159100539531331219512555017303984579427940514436766822291652538595841476702960449422719177955206076906941717246431276474898635611782997997672624540861260187260758786395905630511667935607391299803495135811721288991766512094044258051607107760945280468930128441999295256679426675449310469716724813339383318756390881757303775122820226642048631163745170426507993964484673729026680624088883831961870318514383158045256226018976658615518245297971453037467618468651153808576386943324484152419303895747007061935297596697705445006833272956703934652206473819814375128182969216422860016988066035796711244982015596300979870891495865438826264881600135611422055324804706049358989333286557098940235408395412460131111700073528415840290178341078702259979137904544729077955468188330923780701681228047744531581829486317373408562174256449414259259375835868704886561513319851771052434106819823018189555281680252772336651066008613789584143186402664028916446180405938502935036253414275872182548850243864140157212169324589631925081656249179299168605968209648205023735956398368550229765186438160908928562582342133877534577517437179605599234044646856589830893941279372791724219749349476570054162262820553721582386309521439540793388939093698678901345567577424855536405203735725685031883806639046320462053953582587195819421176061502445919207183481454509534950924652438224828496019311600694107534375427660514898948277920717973567739364311191641864910406879406073436717948471218854867918788098889505708032661561937893176832507216985898833370654672067957876654265062291264834197810824342436709983793224247606540282373404010939661285770416700532156937917842994571487461918707241610481435693275632812601911795076461476093217919372556893017362838171363773204169166471614520931003648539803829656228292685458335101778003290160820800592875936780247973296474703878616277314010268450240303929444690483616215699917697919029023671884115651384183990029317357915919014662311739542122394058270338073856416695603179750573887353933971115489578790547801194684577131346393978570833114705945350910784769962079122745319408530702637724820177909177461002279648338952027227382173225721295462276513744211913500611625323840481635906776515371821106825769456084455087961537666106536940776617537403253207607765578096202883955645361873012206671919410108976216528754351859053095148481988584112622512944618284237574455484455788811055627601508067097505469883981385514856689125413609854557765716825567923521190139608081439160698214372268229295909267541836651691384535337098360110458415724173387110393687116046971460121133899045172547786051396860480087094706508501028833696179668290618202707360315571434738163405020993700235013753428736374372146002564037981588147715698495971956718002071681382477502292791914759746097877268248876590763025860784789381411812551745816556162270135941001743996950671615779007343114147363936325439525469319206409211044890644640135696707902337802055429058771519211150085143909313929710750283490244441017440140809777483723064282176809252301190956937451767236389533361047696515730703973080957881531189461474134674666976764218127119268689474160042282812588713438656213927711227306434773071996401120193621548670130059335250373215595880039295667647534314728977302394415027052345679989884483426930027854430675855046536755316347570201360290458494861560838720810351756467523365140550688756674598847468080229048070345502321498713818696438259554991729568474131582919955088489049960091496427146803307095268160210038988973208250504326854957967627709177957656795203583441254293942227105169250367882433715117829196479889046923587989386649030643453095401940552473471596066101109534771110810734326515896206522624332324211207838699359587909766503190834008478800964377953477284624492886021758637932540275900582665343655731989437988552774900117754537006241571976005031007779738013228614715406002123180358282634623935789965302417659290055340234925014520936712047041026186754722687951004865955779190604042959906312325431514354826422987004920510412101758718801690927183646339072635977253807231620966153998094839315247655847145269297332642259745080568216223926249869841147015858154914513692012440634434016664693085011228025163395530699053989949673917882335981207430209397436435537856267265176624318379360417316621714167651616161319515704930412332262669322558852210256256033757590983469593289030084096754596376531285128446926171587324021574L,
596413790905991612881040889869648095663118391484837762521649554015873482739442714685771610791502338640743437523232531085189279695173784720041718960757305450531869996118525182651575416606519827733231106485361152889088556344959960712280539990839380269965834666807834281106633507495167867753873525323325508733854105390674147055880350164786533291230466825765762708051561440929138741088276447990713443590267736238801053965525410196811464208383014765361349876386336251615566491238229157728374419021907116602355164049246091931274556701677967844633872762331739142093347586367274273783567834513707904004296494945278896738362223545157541176998219719399547831045212096506174870522733237037794912952915592847239206373028842894732728759369448371363669506584856702708121399858642048770803831651061907096244192614569102225917400937814259102111940443840236317728140282462249290327579786883310100872507630886817278810188626806108857175928159656407316611874285184325440064840165836558351196478036145701117523217931205083840937606095838798262475969219624289825362277669840666771869482753905308345023692794896641542335365254723658816798093811933309766644203064463941708909910652724924469215029234016263559439580635596462463445551518976072429912289567190267402293970460657087165984516114839633506363543638754069892407942649897345705374991899235809734060572623267210635443080147313943719273128179415000436827025823135809912300851322196139769179200237099211518975530504182641630149172506510274426532522707030158974353082284616817443950566111405400974406582916144582655137636869492568517196705905247355108807390814017941487341163937607064197955443317282528717452435489298596446254339061417538386761977391414496851421683257389403550671977105935358023581599525095938200867947898213806696336360228533745448681435286026280907102964310942048554980754107530075632468560349812326588487303066732107158531212850793936944323637978596373908132367341363322521305470846202446421975573497162740015873498842844986349741910633185546378137384636661296139606528483157059757619753864101826045184767880776587876447382968343745309408129532528457891864100211673980751807127615770653524599763468820695887009709666557732155579113717636761589235888286559258438422269546541194116193161927995292945747524041470035994141983277051853150585074368562773491814463278031912149086171093836334285446490721449937225289431655112677987670085259826097678209339527142047551948251921978866370427645921564747802876986423814585856293175525368158313596747345662640290832882715504317000060083016499543987217250479950013568595460434404416500833270380344325617097644861522151272232650678493199854402944042152104815521370738161606177920299032462195084360394221837392330474470784446311364835176166948848309454094141769882059632278477972896931553467921507740557303425040270834803745431507909478033890734404488446942286812470291070819085973141856106249491692726856508766263130073467658708991806871363166186170299954574022299612237719655764225483043275706257998968370204747385934713292145418151598213397682986417287135377561897370309484025615168488929165076381296797731153035086838144068343660343372288267846704550055022219908636345470088742936510333479181788064191221218061286228865225030055630444263790325988785678931130381769905847391081891971879429230354393285185821815738638357749195902052950743799809758145566186671452038462719202147999137017863146351147395057284490248701585113290821221511648623261885531187843931663995740429245504809601238378005149693904764357016931873788944308087539852260259103733118798136015342512995494782818943097007530200467585898587492618374825377803143316502047653409796102069129631289772257479589311129806085409404518114368566607641658416060777219079699949416393624586440656920970243661230814452369296661139843787738052372748609497578885961755148523874281080421942150081784618089724505794971879573792942081434031977835189662546383316229502089985455102075116237600825502490555424037302010647616704111323410359644276647100486268465981888407697943631600634549708028737259836303662424391044350267462594069528298960620070345555775079098103666915934831379088059546259587382297896764153143494759855273616743736192008965419341959382987789753019622670054574518360504613519331492672137180951935175873023043002723695714825919163963322823061527065363835939783847644527860085838112536717708590751171955674549489058161339967094167420760120594359131108655120760876492300525232582413207624004897820538062017864266490177388766142374004062989701057129009215182263383435667476555912788973978950507247103301274129584824488389824944518969272024936807482975821676691549432109459852141198937837917119534163730313367790099245219426362872594169919539422055488724147938722434563465906179167175490799718276783874848494173361721607958689744062039313454211894581144780473631216101761659271351025796408765128774836753006412086014837907518672401871201575780589707377733793355318705566768989067422222042252317128049542265713989373307866097258226692015055140733836380455672997450398054176025397140264078479186836794921704505566756584592151514860082622310965340063931316887967187404630090764634937569161008680067978752848904739729934486985424728674333324850977115636855573575740313171429353338610207876622280415035618570267276106535145782570716292465244538566556387496260950781959362764577981813510269828131954758397484500719745835230939431246123808853147166364136059466582273009520156998074300832721377125832205889305027032339589504283056571854933799449789531728259181994857269151618176672338182927416929330229640365144108104626384940220132231630995346019930423157544406349993327457489666285221706945533811364552040977749845797388870184124724073253085228637100222009686438338483597132901194159722487679039750784854499614689845178619145625113633639829347047401657597030224741957181437267915510294721157154968420999966660363835189621413251550920750077939183389145170493033964990860383018000052005414913537265199303370521259119435354520032468517438366934888233821003580442356072479178016195675432032054625761498670248651366987301114769966689416955298609786574548828991999041105191402789963831131668256935877489743839597919473374074712441414668685735464137706112173460258740224310181202581887109382770049620987613305854422527961271402718396294631452484990796555196724016731778119797150611998825768341398908254813743779347012643008345520934681787108823536864605218932244608193082642618L,
960498575790262853963269153044219323487205669550450701459455053621482120177407194922402798055242672045439196972988641551300085201024826200653257412435533372657606026982312864126411630702633865242188410251537996419820632013688144564833467967617271261963948689960289076011945305607559902488812341753129897137892642603710929342107219882341242371453776148821795621319087531050609581499251846746061117158085406628376498068999655101941599864718207439818779249855406467897476328592338146323115229913042991919900540816153662792807427692169275881968756280741810143022571572002654087074091400259567443983554739364995903152319595922671977376715403195018435134948738209088234670925723815643496510013546275752827259632957624138089971669035688480516136350611920556917468056416633654345812662365399217196725769701787059444342879649263610755138940538401920556040773435262553632549017371560749542784215465010775838677074563133022020114474585522827997947373135044550443619595366587676915146133680133000923637260081079388139797239587204376030685465736697660525833521935665081115247683748972687080186695946041835855335660290582401743978038472652917810654890094509742811367815081217825365466506502044392771466631753944399500898481851269554990694040086090550361565697530765180967935945790026408495307593073993538346158762091167403056508021620609174351780414165518153370751256738399573374391139238243757730705305230420309475737105710108008974819336194543028992313433064996606061984154671697338411543294064463456059993887255410630708361809653425649865508498046470688944790512973389298475819431682934534337677829113000722979687097306731830827762337296227235848003696120469195380954577430460269693619083457834730243505367271977680668867501568845621927638987414557009972292311349701601362753878925772319090385807053211463715995515228181708191945284931107477192252713461194727601707635736836049812012925878293425852852863857359180007218749261438456764015582877006370472729028499223026188985440991720161606952356480827910070735942027429884994828978223943333492651343470371175497172282467013932796852892951642395591538603544044596418068700829563961037623240841698832450899303472874674601056159209944150843536474298384316799951320810874337653459187136471114884254158824715597284780908044340334318629004479023109335771047702053466385373405360661341492198207471151634635070014355738166143400412227572432574443296854651218018202885055533896823964197211077617257279833117139887804628756038247837352589140913554023715255497987341343281382970146838137348992150293249474863769004103419132223009559975981859586167007200653755310103069134966320281517498281847660110274503823592608585883224640033518284760663120981411418090713511171130230362824957858018401241166990755704611681480024804570793254357414763665808868736682942306354860689472563996512758397096037512602498486193165918658274857848821294489270653750350216853187217597034823491797759655560891306553594674207220522951280645939428607421602699792559825479560498852980230519375220174845845088364698940475122013891311229810238004216359537673093625250747524196550614359836047795631975305741859087454855550710705598560619073497167599093499643101971522635260775536614966320906226575459934217479990869495336401012721041408117047252306984216387441914124344847432481743844984600116076422927083744628774525667538098362430629260797330722369557404876952578186489249389050130479303368690312669379539785542749717068097792638628507948223022540881386293263321106809757287380531550589731564782421526927130763376913875005257017403555401190113097638138903992656125629027896760858775119004659119809133395755938662695104463070665262297036865006874105669997837590140739096984546667842898052686811924084628580910484925892325024877673968301198709708052678556813075264360246106750331799224822603707698913581724375362711488301109075997292311520618368138291790103685687234324585787773822885314566255401494437139646895492833442250485363507351306769375988719756623324110198340611719962385218968118100301708319428323847733360106898140110542166366864410997124442130074118204024872742747735318408348308734240563409341985448572183440062819219209162724795387259292224818403731547578408121308446888948227060923692576635280033797227146883724310301174926286457120194333475165890171908589434998562274134843237409992859947346057598986597302737605889096882902709824115858069381183899353648175264864469147681708623959266194433909791767572890547839191101995636068960329967312699645563039917152490849311606237457370231013993175937060261235489771497128606483021239177311907571361273958670848880661546794447038658683911229597886102618559237004563746508237072079494252608184599892618578562997501424364948490666517072694249549150398018696497889060520318129118066611551392850913485280714137093828151042864436729986045421111076595947793334783780151931418327393692539590324637224079454149088626114014547677337227376185081685809831098278517848927370761253377164838689164622207995171104995290272133151102499354559965044106747211860948649247411719549542606771179469874558400198370823178456840215260985406524514105544418981119905522497299057049785257372743691837396106793497724292527215770422645318655779815213969251150555311794311728894373195682322595590418071140367152978848415932684870279119927556119969210988786276879655253515971669910571197105542037348612998654939601491848703436022963138718933799804722188879723007035957622881714961128617612645320327034131741692031579323719028782893667941053278827027699592000677412805087639455757705276131832296076290115098692117644718006454455166484979533670129249258873826126367892684298872251258033387621479343702351954926405844884433299767451077833561833568449382584981905470523177088345458704921755335046746900621562735536953909962177747926868510770010984804610431212228205001888199228663574187027192463024342040302965834714210150497200268332091913590513932342544817767935283331905210327947908650531925002366699054036456195627694491804666638919865019176685807772307311030791206053654588997555107213191077202800678684385759410663803832856007773106432383277122404829084677436703079160646489172445448585223894527892465774664204756144687070208232434879414546061689559667511549701708387541350357780319925249191249230817274714292543702013010030454231556415400386744616208578691376453700465360729425984279430922078114914191097170199566758046460031270350881878824560895643039357823086457356370338284661764L,
1546652637669801182067399807966672065071962619617667810693449679119665066026930786323846144357456773272768018537878955920378098617523907523012570357827815465388035653981849508191359998766189423436364370193658787961866194768939288016680545757973494903823078825426563840032442899432623693405025631277639466536301773401891766748317306033089427468907985101214997149549301932624562774705360354367176754113867306584874534735034246950633797568796361613981736013244637834794687507856656927036034169788096253319369221800228361149813620617343255029734380829595556714630573871212145192176554399475100473195248373124014789941203254430614143944880005415505295579571735564113187606826893527013100488973816757238000292037165064713831075345030078134404393401719405991475773477158384767152584552140203830785370782605393671809698803506200884705762275241948284296648466886196189564310296433665966817591269683769131134622766092587341490282441372195309494469531471280643865446393540526903190595648490846103237048216073966453575408259426679197042138527039283513070648773822295618099003446927683056304972562994416804465031446459500405295286400785269303825320276127651946633026407765711724019463501373453620043634965635297417057567392670793202466196634999287828541691039835489810761912937475842175589422144796154151543320395777376633306690720204942266966523036156770774207940213760382492161408395150997367954285902142458610741806457408879995952710995728284646038038128844825652993282861523269861811727568166915583356401490350969225596108015649936415316617934861282314101659080548562637516754362975517047759672671737181418935148120205447522587278375167086157930416361219926295898163187598778454417867929251545815407274316004376406302983997770344424777243015763354378147253446927360731218537346827744448723614910295794670768208710846470936657886040394257619731107025083802358171959758948231266597712782115238630978982593158534291660300111186587413802093234877892517628716727570960553012664960826026934708931747025041730854222891000848860620130356672828990032119627938080233627239208629562470706011462470988431912308113969425021549111087874130612048244059681971452557882315210999910459444154319509965104138962899528000581024043559501657163613353372280993391324218461314019651420250800652140627059055074578330477516188399078377395008627741358348280582985888696854779660588543109923189639384692754927578670729758238751046210197640560411468505082890381428266443361676886719290054069837445436827573023242199711244593095851309628487919692426519602685011547522782871784771129560755369574441801596353035593826257418060011887126771424827971541298672132628339812044140568144350405115659716947237351303226667160323289476309316863129477129487162752176823437110795733020054347324939550718640171903114424556069735704025366191623779685017361368479620911659835829269041454899431597195874854794089270399508059689818288314987535328526614460426071227419537155871866742563338163343638959132697662047922994977721845458661757474806644272127047952277692395647902743588235376199110851372199862337624246327961812069077799336590657055968701847747970198614415895874126348337674432430577949404533354172937387801638312494506100025649573012700620623966775691895255191466015321010286799922909555727650111666575904432903535149254489474954842578630392362447694485574771722051428240556916966942570196467570198283583445328325985665578650402626530980217279082851361205413495298117317004146031680617056169149738885859853053031652810038759387019181888083662020352622150682686214953985130477799607190119717272782616265396950922855956141110572932478432265566691141790063190743594366536023384286223480630181476194722739899310123779309238419316846063961062646079335586086346814208673303098471677673534306270548036332878165539375456490967516025911814779880839712262921855577515972238358870179816531791419371963536089866117332330141279899951773322866072219085166365953475252947948361243298063764351374496349233684010134457596553103656270591662747181469720347646228521305452988531072885180763376959211991383078515988837566688601815209454249604840431116500906087850833160020720346349831421385709474074489492874412905992643731645539543273594023738189758107228561578548833546713772660978003605066187470605355269573347219034416437240773876437126232952252929351562461408213442893391661384366115544714084605894120850625041571114559145386720843155008558171613614179071922534410612365901705951873009483570100853221410318125011849130450329416783252098207116983298561412501690568038937029306219356006732971927185490823960828586698506676817454885180354724687157663652542672962709561335096910691163675245282445624329628499514646543121995636019423947159409916346536945119427704918575065284006228974144144254129870075143542807022280865747311011487237514229944416945026798430695548704268798706102556587836678905138191555136774458068895153585759339864779773022485244749183738868768324252888391530902930384077307156878201991393383923218796788609116539229534976632887112593440442906938570115981262530934282764192266994528507372624233137519489107388517304446069438110217669026526068781285539598088660975767335943481386726506622190128208701875708206322769672087528828886766473812920082732993561683643746129501371669164800285600544746241582321145316698286073587461003543431180578458727353947290213040823524120112095480094831676105282494418186427553313835529637510082486306442604265058772334755098378524566163409325925826887906257065294087021208024882579273361614851742573044788304222811453946383484373370563953673806188384526393786497721736521794911504836100679727476638548728102383339470434441322439323665274440303694427306516845721572833711376294863235714394472558383791161967845654783612195702974326052623453784276309692970277215252196859383384479379695167230727332555124340601751004043850088065677519353828897597888184732716860450638136435638398102788742147818153274926575073547425959105723708659335240186998134402727729162017074598107398142923453039483328596665220411198658042690722365788651740707023900724236867655849504186859337215377781836644753551627922628676378362766435045802660004807868198533790607302977921049059795860812034575588775584813163950930754579546081141024664233795437388371478204371168640984322814744228578634371475479061607192553485283564577192674238876623432569283456430151471144651215929270766642343431596678371082364851296103587355892103104921783816432490392808634771595L,
2490209523420452655935116309925513698742456273460430551951489973330676864587970168885609611119202655061424519554903813316327865764139912781977938750307550156794241238772430815850078938272904413183521254245524184703813907088132172499743194481871178082326313269848032486491847107165160155730504497520364126596630228524231847610617168753868594871780365747204558384825916048328729248974742537263865403735313438323073934163485870138326781628944727326151162989647252064574214742377741217755501943290729541995024916960195171601933623532536554010413017021717735662867144618620082847521298497492598348373131863906046601341671295904481843920169872966258142254609383904768728682436701162113976529762579795944739456220273922221436055430663101467978987681694652544225472683673728623018008974959663143475327844333793589899217611736950782815265766347013515651950818442459113435627403720634305792152916223842773216060369370954629936201461948114446327023262894227219915824550172837032190255796495021312541985259566116556343754708548726425066936948678609641470523252643922454596672729159353604718987375398276452449199728496833985978362834840317096476517751062142571834964904451953660384833959724841848293164898905877682066663845590039579377728054948185580864343524757302223643229473361613627466801902617035104579958894658888189043643047454210640572893793552266557429453694859441254368386032597360714476019344842614488799967498580364780140571078594876030384927752978803979564016830689678306150785444539547531417653879954902653161135124580282067308641314244035485595211589896999248484609008431277419369547847837465457017188687006615470434084978484688908294818156265830622064691286252480837129887952827750669598639444942302803658412319384348266092156981458472418445418390264326552176845753097612553098799989722193056945427386603236456964709384808006237614770902725078562435647495133552442084602600700833806425254814124175466095238698626653542619810706172325166085430650422244057266303486079413244612930374462656049748612629549769018266136235606395944632414130983472497840981410810844681584654283375207229023412445947801833970941097704681273224481467497233809938466922576925867911598744846935316717584460836886630334778913583751664998214820160061472827175804428528436495027496698382554756451646643017036331924899304537987477084108973049846751701137688514933665365585636856808043262443587295806952884865826674312328935296725777797826133508615420934535409403034516136046453546083358712758089574347275408845977948748016235635652384350243957219185008414666089247940128342381589339344608049870922202140354052403807897262049208335943489363787599739683209354019012701276835881403429600234658923972356204163285464449580552409881979807025661334911414219271501074004984575335182900410695853901524458116223127131657067816102487389976387194372549613820678371323033170130257563296556738355958577792020340750526242269675477699619831497417583384249730553563508233239847443511219285417217062291564071029124625249261559649631698639830154400280888718306924200356557571517455094035628855107725286401298228660164145918103777628197841114227551203701059814163373896711493674163451156291435318470790407492010749019975317891514370293520352279331774690481162454277968660887542464193725466921021104939551502816095481365537661060446850381835353611942907491647833219945985420582654430678360676818061191087547635235898835501733041940459790024362966765786655952244282903399767475472684980927333660437725879685688929786042954972023901254926852385330043115604846137747487699346336799358283646891142025558303719135004696078340981105469240087946462365475065949366547043173609919983205241792221005802639858739218064520608301803978859400660168468444424484924787807385651663778891940171661407566479243337264478278460534448075932973482475646939962152097016998364886553493478846785139576610889507868104209786850793768882531070338538252231909022656234521246023768602305229662178196402274299600159993666249066735103486504047276515008093838368836905361637521995225912716109792534927393232279425008008201372989249949452493795110894450990710643299281020510369217702161749773698942776956716086363608353716208126385490977986429891106878698815608227393008219308612517400368100612760067467371898979387287505481672551438132841667091887475366694520926599373446974212174108980129848902974855154382098971079694208884991269798242994069423022122703607781856941725119444554523681068807327580364403121138040552792277463727794604557709834804139407557434982298386492229600614003435243562654292747591371385364489450724019913562031418681185601100149472821765040319793977779671494570765441794110804365735697452243613299044615731707065640574355968624743286190359281681865882665298155485727008770145760566140204014312687087825931221216617499393407883979633283696342830138598833803795405910319971301830569462793369603325473903974939801658604530402469476673715103436200910506594591683350349154632260335694795124404053241997499953599371838863761901425712601290126585590041601569086551638783141263341026071645054512404341064542662356628880553146486336543857367221994510161429642442060186973482366704301533762583260621740258113145163067249710509337714101235891379120046448335058731649305446065318766514476322388385648500039051577037098371646958860539049835434036898402183958574378180461466284449113897806481023978460644713255918999018547890425525788271144992822213382804871363022630292967496353964328140593101905761946098392855821747672033445196044358036688388818749722596240284907683320524207561028403955722478128884620165182281109505019256250936139266219863032802963627660697358433326343586272832248863109652082834932145911781288832588088483645402751349634363602783942965228726119971262097928909029878045280047692647368072146643177922339063545320411322183549124399468415532619779878972199141859124628010461354469570293779918958478232549412428986000555753091825575525808085093051700807229150720724955283913588446627046022389630000181982620666780930490328143772562718771240527605015156327101352543012161221262678201619975567394576053963298987081220051948327547584358754138482652161126723297120057859004343641685509263004563299315619611359204305752101192636290210346634960132077201282032513298558772142378499166423211919305479717255979120312219178843017878696455656690313623525304314874508820162339182525021063518052037762145657446236094224437613871229031048328676251827270361307037582291772527536L,
4008907754193011174911873926973558494575014724400940205053708736123362656699298153666406643830962244365407904009734722554971972779374879537391693617100377231988029949214732960206117477051547546524388740811034731770896506703981934143942765368034593324410027838419325685034211615272966317655962638071573443019042961059856099457278669528918009605635301839817289973866555349670935209740495248538502264014041744116047795083118976112330580360140484709348237793030648243953290516019331826440407812510851135339657025627775291928388665225375674235814322641650923882552388631616588636967348491113093272764565749064820823318323102991586609834573409196994608212208018729602064127689966521383829706443790731181157593560976886147067827625110496849341136731475546691570150957931938750935003427069688354045565535916287803265422960035890932294739368469315169374347057706653603029422067658674495450555680750973634805490624198568477350671721913726403601130953745937845655147514706182454928871594304591170762349442658992330487854407649093298519985309244754093909654262220026110450217316559885315015338311478401618090882017760656268978693643968207221808231464043790809208882143716132891324637702102162710724620786107485998006119734490740046181444673015937722352802604115812153866318434586937201704964803777182879602607736885996086374287887367449780393034290199356486524654479719121789465131491926534659701440149319011080152800827592864823069642608908599373047937591010213550547792659999988994094392212918259989448990940213084177557796023025349039889859567399017641611586482813545971638886250778995979121980981834547733908879641066090791226469300342101407440325421354509239882701436617314311869021245284618904015186381048261316082871109487984698040083155632664878295477535099128645976927093140313317742279198999294100419116635653699978546092046937479509182803059772350540034983297177963825098088323616916798455130814666061672800305433008455458026264430556367831766965496830748781689883121130965832534651573141748976260272043217626769013820329957421897892803170480532501549747515005859865475699953736262784303228892871613285139443451006802350075154795439636911196542693403202288745284454519289305052319533167690230588359261507303626501990141193394272138865984276375997189578415360032156456488817671695361772112661751095781918008073151303235792380924432385603888273770757932524053499507102005710894292653794079762906344702893043716467460000126356085677983987918701422094566643588689758300610129148491795144029746334705326231428854133165787420717515408824047802967063654339319308175006949961614887544214859837594504465078590447146562572802116638601420708979768559508247445083101985898641026757168068962248970625012381014367678550469930646115497618009596073927680205966112145265359410908914019626520517541618422692088533575606484900041756443283094414281074510189555314387196793096079078322160530397591295466562664684732186023940322401715537480247788652304170641431995327031210361135418857232042174939569518939091024415433132137935939466003248052095242563799747418572556326284791343020019947702844329692588094037559328961568545674719189475276629151199226266955925363632984868905760244979229277917851814304628116799614831884961811232010674883923883052505009138734010969780895726224838407229960649415379265920565982806155144842303920978247079408405187853332343910059724421173580263593446816291129055021491412126882373065935587215517018945419493704758902961220616998034666931653053205535276125493590296493361419692673153386368959371661962118623848559895201308680712605278204804422371014436212981253751093858159117401467785176962900625728080250744766537586340432038796035158611938628450987008154206253993945351890854534167653135902143597307663117017226508782754320530017488003938512229580081282026981504726773883818460767349513375057992784814321420101876498187971551170138925871571447548299455202272910472783509675488638015541348101647831642604755666913758499850698143094252938522390635135646258768785568434354636301085347409298726445882424089878057754089378910615698678713964779188567813312232163908069436292336157848212736278842989241977107863790366287746468413277358556440215138629128336004341884568393345426872843978222016763478630276869262015416813435540658636511490921416542425112344936916545446535616564835249059965442391956396984920885931417491990051724423052160738390774978520360585158362979531759091256557697087056120595770052907633276075135485196829649698893926252404112093056581768760679286650792530503846632867697006646165758622125561832127507123302291252405248956769747877699693976244960269484119797125216068426332146214328732397541887300089229682512242266981265934474900063402239139164517802086943381979585955817492846650482430394498811349273291123418508032748963075992630845626474805386666795892987589523408476744487171747605003295471645844723844554667645018817842617634182410779687399396369201025488790696230477008960057289565096348556816872781433365432398973044998008471367523071327034939717187779611191096786433489424930081261014468879970642862182219785322067103342661772953386340989723183353786011510353254043907512277573076065952581524588127689242219570221898647048531551009952839239587481658005370316166351778958600285538974559006838865291509951995616549016857806268210284834867832123806216060888513484044265722856165743042075871290740856064609372034684795848905634848706993479878498057829873230465452999740461409231680828973226159099851757008871015132827952981315778487746403447196882600882899964360730638236752046404244808416173254404189141017455468809804252603399181399272028842171658445148347910702140383887653909557815052478873868657544789032746953707163782285986146508278151573697210103846553338073949007455552856122267398012103759656464938932438487119800943319020919163385649783166581132205561295823411669951843890025042776414463091445710831417367918249530735754865850405158070897418171008507282187536687456595123512305018470638865309733877384595375134088147773857641384669673610753738288678669198460230220465403114576087905818039273254354860490276950374384134254768682736736856472992967585686330613746968315861906783286433146206031590991737850645455729927218521666825774563350332760725075383319261531670800877181402037646497825541675630161850505438272121103984672949608474075875817097989620656391783293122546094706279694081105769736784035564497222871374248470015868337446112636870554442632261799616993030394L,
6453024820248494147028061843893232375109976045684146185759740322595359584254015293897884148129169071604858132720586826854629708196200637879983790905350712737590909305894542160850673821216988034099017855577295904352607311620140573453185161615958527748295837517376847849876906381693476769397703005851385263934415443071786703670246623323005317223136010786331160407779390651949508345268846617137104643224029485209851141609726123926006492461438628198051228289112733184913270183363971621208433857211479257787924610271381934142053415528722645549863273892179228234286955192714102153586235983008573612356136846609353426026158468202012582314905355643398428710115985014846523801336256317635806971990542168984337874821069732231521578710696304049079597368654887101944552719400265169061160909477059878559370896746218329136287108568887207593190551829576916930114621073362641288573467618736299458184281820072522875943670220700613171416020497487802122301825817980156569780561046477928102825156904212993739304796229275472070623745430526741960390893554749339006485130106309721076160075671250464397673256835026422775735242341626880765455651871160402496396909631779590206427734300882823545483313581205097480917399701142786729859576808490873247463235633624213127009183828483087419654073044025913281976444317165388619601628391497375039743280099310644877527464004692855090624549372197480778162511244013237177580512954323180056478828568613011514210455135436740313157802976868156530927492641586916178109199896810128931247874436982296423586751981448204758539726869427871565511780511223096193645572855112138506781080710337815584444009908206069676966962377693809451974396744905851879201788701960967766985462549419837880860779621908890027812069010692744911991788855542448008276564632895550911568591068973460300367601718907514595068361018645332047934988595861543912019725785673356466652612784027756609788305029382462809434909565682483585499731352151304253661382957723948592071037804056678353325222446667993283895148019389393204010426197933208832057424176550587615768353524978661169863089413834720082628693101758009428791460424809716974322548700167926378851459939984277295849972546693695546756367727009602937487295212352627313882291618682259835722927598372021993737715155598369040944940630860945523940856895754566060222866803220665067116731068182154027877876790481386397216291534331295427836540608186628718145458430103875605481153505377770161244085295816544015001134009050429023167053389566604592824400956018821209892900233268351601779621197136477310853612652166320242962447592904223691476062517117797333272429039319445062238634171913391871556174711667935477258643891663147073500127373393819896574063084799078997159605813886101153945710139611048279264092826610583288737444971684641017817450424004389897715526464459165258417894874866937996108591904324951311253899887759509086973020464992738407287203153460233064841363134905049429905857484375731185843727869626614564032150817090799461271195074369290955411437191859498991076578954095914868394160878691415410809217971910540177479352962950262606550942310900027319352408078597975515172575133627159920828194494111062511850743656377373131472149528410597956450422952632931791772867554733441606770790547544010558046754295351107261877862776842284208628675291422092597663400556268176730310427385107584082934876226785688256882531994277393166365458975843912113741302533151345187768322782858763725545447554169212447632109411751619669703401436121084001716924397852302079035967312135782244835172025571165973307491924736359520134606014232002080367268998083901279937872136258628771803519713409805335076663690862301298846912554106197705550905564426313152104016515264403762248230453773308931243277132037496184894460535826790243981155143634322925390855949750496568371233287544385631737598336832290500929722392462523189493608247396069058384810291671521184855688645861843717004545611810521714060989850022832112855712223897200930236759121558469608309748411070237447706026401515102060025805957402087824860407497460765557358492853042327165171489180473803250883344394910167063273607873823758329549880000503618507910397825976228827896806408612490307124673208899210075841723483235109495216336282563367501914608401930493535519043203443109859692995848222072482056885385375395341478178709833780530306470721480119147149151649516110908809115719463681418650830550252215137172450776724870032767882012109080637741690701769991628903811536798651270783476069877668251689003167964429117897082764492089860031046237072926113013055187150233001073166903170033428473668435261288025598414264230239856457286913205878856442720559686374892073065158299717050466019692324323242316993047673160490117446052466123694583704433465943128197826437239768651061123221531483636012943666995446059799637557941262927603210658997124259768438124417250626276354792502346935787374482564297407532019569675765379613358557128020295606629345863112052676919347493303846786636555317310691010392513725908392518233141053079131229580243328283321558123861026677004006370626669490754926091618127087521383285001706418878340745358908753466018463110479837105352079142858379839235270112259847093698228243595071709535634447541249025986330013135790416995839981901778980589280789831184933234451509988872205256324337115937420993829394439745455205488252785717338198891146336663964872001787312578710958412497529891963897401924892181922528486359850414123868759994276195832548877291352677826405150598208218138832709603902652374915401547917116182490501546245324309457770210283436182685608536051878657022236188380442161403404282099852067925498636251370430639302572625848302688347148626135290863638401905485884755393311082551652399903552764275910680924196103287188927323321602269683927618094548770278751522938100317939710394119545592919530590322082427825823493100716934952479672067055153452485598679305207234628828568211528892387411464017808553267128514460981954388482483863970366939139439297432040159825356277524575840616262051466803247391773775401627308047883292265459043118081284380248899886298251028436254132542707219603791973160726285664961100441669912533129410967241156345360134366955787782370379752288581973610212560540631370370712888865761498522932019214383012413068452831593866440156966666122722627584925968106847072706430937646956171620353330644239217024903728944568730313253281760605845600740833622900302220460714076251147764069483500443028934536041354437361345333156441394L,
10385986059480329634296842484139461646462540699026961222529946746489858957826412874927978418119443144602760284976824017963132293436658040083644465933892792898722002191129502606669530726677357112740275316449337826463999859620892806612273502374980252831828854919082147958007990407189522377602784519355474079730503371294122509485213392613514807467471877626598364052021767222873169938087024432617896060442555091282249346253067921722553895964706154714816507744100404362568160461531572407773146314739258400092802989448691187439281040871224560562564899131706129592847303923494757372793837383767033549629453926954087006975104072614393287060856694059890651485769517445925794016232307086000225701014910880634657751522300603910703857752658773532119651381633867006353155801839599828012270924471902942901149851552560830723396954481693917700931347308780254496547485776446011814958031581481577478468996615113172316599717854625602605432586339281484015520652104779340266817774242717142169946873064750027723649165984003020883879864347734785249265087523353322307706210292793858102330204995070834208554557010540355406688903805331575162072960669023612992762771282300812558888604579122218877755067480901117138982753757541645735435843884819924779670799872740594374977087453109475318356951543219106857734451586478952001202044386909661598248857728259089479284524629116119358391799675921214235239926558622163629783906305928210640620051178341261901776042549010536503279421349448376411268208296999872629963257598358208216603964333990503271970897148089721455374578997115409392822040040388939890803321228078691815604423196102611928603856941071797090800012621748150962729236947735946401244568211546938164163557410417133225436502826601478453778271696789112190555650883271311447395941302134525108442660235812971706594776304173286098122467213046391428273579622944854746034272015596218638536082707117457085454200225825434116887709657899593015275300113775136189289787433565499185055211983646639015990789908428304453289613471725047792670729228067238985543695455864758625559218430145994460357622093406727991624610923394500654968538804320782894645404171697676226229916360393246941362528749357596326671336179450157243402439712576758456684269099086681424894152759669006395335396903651204089165832016089592373989949081686477290744367273785071397927878654353797619749827015187305365333966173070044737322034289836139618740553876039694443822322855732811466177355790028477692868067448717293691738355347072124448411440718800876094265564994753397663048204529404000748351243625232382545808106931556776729525940341903666131312935669642932201345060227440032267049254943981861287802962134510113760778303987532863838938643268694287428564096946001388105805316501777442862679918298270727588449777913750635550938074836797169232306436141315933901516840790574489905679125426598929080690279810629862212748107342144761375394940668921664468630951720669051332586544370642052831899120165402743761175429397539047635189196034105839445103359006374623300588554850407208087465571876008699819550018352589674339655173880653320535848127248834250031453657485664994371010437878428534759325929243926627508699667864531225026273847014569034989241654709827869284531981203762474533517687923224407921233822930205226561660077306831095332674437301935932372812939067670480599916703929866703276250631459024859636090254580389575484276988405681601395250022861177892518268284424607508086145011403037209366116470345450864243192348900878450960107734419634074564813774723038436338988999724980977720167188667504782195780987186479348624062137991265617757484889944280204011044246598362414518647598088849144641122972934216158999536399659986746529990172661322855128231265399502037183848207614265865174694114104309571724894169912107748165665536629501871958299225029125775386839140868037081362863084719768837150619346689783389899313083061262219342607773477552543673153111834305828818116101577960632151260040225021756292124227583961514162629389827365789856565129890704416822584223444523401108662233388553226572327698748685733455510265772663664564973363099626213929981794556937282353160928047282546947450615761074173343489156470495856655918480196414643160188775439860916599379001778048011332325079823423081992211988754760592533543258369933180168853643430468004957663664515151845282393567829378684000621927347132074209945201673250892914517604331005287029689488168318510662194695292513499646133659379389999823081500568656190420061637724091997895405493346145532761669200428271635699115314615142672278433385795648636490313319153491168215735677331638191468112761750964428157527875931596688610198898930985957511562663017422111876780146698525231267522690103454261235008648012542009369500743456914117376156487442449276387672158121754422648116781669733155903580430653195330733108564366254550302416969090511160171613668194574722031322772604681363112469262920795926683587130216292029092090818154618369804925719766125292342673085184948208024723497549891531629446741840717349941990873944683872253727092149147160170306440049451125421168505147767651987854986421066334840658783191284629585986131477061080545987126105097104533008147235387931068391554078910247760158407801455874793785037709535870801589898186351643790756959896006177913570305929910571440687164547315340047362066019666469874444181875841167775518818400859257224135302169493982556743038566669384053712484783734703213162976284541174720842576322153264271936744202379546902006585158743962681643576137620944636986356208596914657134451480322618478634495428931556888245681657175583228185081949667000853355707357485172519808065662401258766644441315681200006173018601892707308436801690263012915081733208231891707025948775280955414119025625262184016171648838114697393237879331511348624703736130895917202154974335119048731884700228239805920305659082133263880005123418443082844583867190667603793258884665819208992385240379943745328580693171832881779820031491780291929380171103477178714804122717630813377702334800109516006491171070172179136115152397817337986701570012324362543765378862083206326561494768309685641603405516131025927623326659795845830827339614161399796342674163966352395294339639903148869918852058392518972256313344253071982298075805764703065731598279383352680561888532667054312835120692603979550650441332312756711287030576374926420192067155091800850535509458266614952713629480899234445676814908984621950332782898309168076783599619324692613128883319412174695L,
16713957404625176545189070011998072066953241538235164245718308030797801286594149377181273418960671050544933426472587363019703750419491714714844167815212836256054822814725304878866167267151506723546761900480617520376880655744300257145300642116763827453830171746504703441456817964389242260306897032489499770670333691071782968145725332399225179766545997858175056557423891339537414960792225139398196152689081551236431573211377705099098899385264196482547149397414899046288058917595984731886612124792233666624215984879300025271068352050661726181355894564472364588931844220781258502717305499039876049606080555322494365027667335422883677060255681343134181867438461436537961857695641041826822050591236867435118282320664394930652886066043104068843414772487838328784361090955514296378633076858314513578192998443452972588578304679010938050929210226280549175556837926119077082141026686004421551998561962200982572167637710480844697573752508457897941334519274551307895502821900373261542484929461841031172311015204621671707772983926757439382050652470672242247919815577865828557596754719092362083622780745662837044580804396698799705939901712006541001941628335558619269994376743712470279119379863354830308624492345101645608899518177495878715208617758065934106361032213139743032300486001940149308720392575304628195798415046418605947761945642801383562702920955006027615635413805867865700610675686977575571620679776832353844256972550383680896131055275896766953721196009002789880553644328232197292862611097202319323107595475469648263906236834202504773107379664559065289703187863200687928242636106042899045588417994250150535500145562985009082536051753356497898409867860184566817056825187985625316356769268838028920826090630727419724464111492438013531550317968260972657625420352111119919050831154103482198065572082004819052438088654868249938494402164913663969155760501769978122479995541565949465724963057162883243792877421080758799300450784513379715243605295709158832729402624369503161967078142366726721771704907359551137513914565488095988528598266018135280359952186498414297716069770243695345987884648226899738100241536381347937860688282146594741332660917861962658391823216110552135197879840154868086248678713684264255077728821051278262701351514397138929844601654866106501362110696954501814342389253072184614154195310394443775780743985995919025448079448951710212357106837441244399118110783965319978777262426723588895907435602650951311673216278425405748444713071225330988603023170982126757645410394260237249533994333749878180895713434073088817304403456994331335765179469280919374803514392999666845846456227961817929686044608894391895616791919991970060374389264992764493062436980544046064783600616676555956361720216133512989329139718537313445166606761640752460213863298663745561502951024722336561795790342875082676028845339642392898578310566264604034570181907042055874650779259423332647832297189324718611498225185172759993543078767795344747325329989189551997084926918151956951586277190912681483419437466956033345673654104241074723977828416945759258762743704158693986289228447793489902503059569198536043552448479195334058474124239190473078263752564144857104180745891812493121988349713670444156994952581307058073352231101859807510174011881331319614705123788832637971942114858363809271410427340237917701654559447620194155051235183223664945421271837682971377079378261287146344486226999158046643784435037243787693176303930101387921279445102951006077327866375896173204291916075827922227913140744052141353828959090429745377255584634871740146711461037325034608636049391454600828169729384271972912408353448094702938188309858817596114326711313058754677119147782343721432192869066718775946380369663037741461430916045315230012672990380818618347862125533575159463903301993387892919618516064024828258731722041347335153029564334783423835555922691436612836991785457948126981612583270858167040269780710478592871313118689721301502917146647451224507378537293705159171487868791942692353334436850331021358818417458924399345368539536500090833878849149064870270627215502747122405946766674528280473829989842377635689113976225113387659669691840677484510171255798003460955967966204606271647424622461444598488250045937691535502192606057009838102650723507268491662554941700455939864114198231288040287590418782631526605292760617191259940886654806525456137820763027276148222256341211475086647477756189868744412804332709641218358568520930296373335708799932988553654978364442417392531533765878384772995504024990676261128447688687887115830605504580783772633126082259252993500580652565389522861844927446132895211397978780558450155867308231301727467463473387573115136997620505833199925421298723868318181785586984849523806353864123865873001357758843023232928050820405539011449890257843107215180875764574541470695072959004307633927746097858384711014877636560144262559096816407057778777172743209684914678399424900142300600340975109773956154361570718322336418801703886905293475813611610637673228508053200352767309714330280452538935875878045795234226547144987609100669296884478192598868172381841051433027703725120953044057218769046495412001844424759052160838671630210640774949224331407013463724802871151955934200054944213722511161219003051967120971421561391014708157860109652169604401390986702897794852479117934391295063080843171139671259768202789806900010430158893064662366706911502844076823853150427292773159719779711373472529717336259937587182488394889982138763914083755379066202706035002157456864555244372345038505255488863886422750216390139035640501797895975619761720734238010920283725783209049344128458384322707551585443035795246870418877461294358839042391135347204313117117912798279091135017137388048144060547585362142938429029441102645448129342321253982633042029827813699161523708228319874567469996262020090289516575678919715460558353665792631115451032261752334004583688237634218712462503093276142114379840566891582428727300602526653357484286659896301328776869621714057337317051556430305098422627171974043569657403276106507757493921683830235274017571223900997191255986320666725610778748329427845048822314737973217911083645176345183191956156109698884157651841564001140964034247540561037966003152091215879835066935802219515465281517990054855239623059249689816005649169514520524378567566975878595421528394821135227602644030381633995136983473004988513184557904569000230807588986698379402586771969786023340051432888184496105116221097409019422535865714786460912863408388L,
26894162901362297665228235360131266860953734616884620891446857554577966524215103189648456811856261269944302535202604989718686025151359369633875760222358498053824962466299075837656100133199069025056939532875826772606707578822413024262128428717309520094738602008181355213738029020742044953483491577532028861958880374994924779982903493233514922041265554144077830139970636216291409011519052324381067927342239667549042619581889277917879750640845806865849370455257897156179998190337248445045374216434974982123938161862878337408312688202017724669720928491380909167547038678779336130814969030851292408897053098675803599337308557555037280382712595436338424253409091390470474377134166354541456473204001695123001208506397097246075373267748169256200981805688311269026770940953456010585140331679853757529591240384081903754110167278476541567887228618374431649451767975526470285359139189331790673170131031570580231852383499202311499741715811607396480911225468597207268505316646278417362739123346017045575409783697521018313282318894638988306064933965445656437220617651004716074348265753228357911338884627127716231732477500690083174207421856821766579860446599779657227537159205332777022121425794348320216800169323456911558063382090876913051542669291200180798365600829606348053704263247073182796104368661576836681871268475063729775843203638399090488973594924024771374537165871188906679621980292282536002454692299014183706640145545796753693813846927715475452646657347444910634016990880275719803452763829067993488303047592922812598491091764718406104043011888536209736238654260890256320833596389566100614234289156480192874380806693630978981625737173528942744125962077146081615465762704956426196716972886449327779983392479671674950245015073067315429804681094459494642637128374138685368968847220219598657680980136856724894607063675960613921777892120668483020198689278242088157014671704856180799542549310216181953444934256089447060077382188056636271906340864251394322626752143736271128930482686730966242846972379379381003702516178514565811049481157927120399396615319658633457281968487922800804775364982539031158574442738236489949654684376723802846235973405942690333646831224880364177337816261588459253195403527804429097281445934074108896503522484034744044901700456401944979044388577647008426623742671124066768899999246989077126369375012487957778264601426801017266187373331659204388913422767698771395703034354153622328184337412659539082585040193173641148666508134222812684891903124057063556355037042016274073623761681008556813420900005453925585951965758331664832748373385137276703867709853437621113487924507101430711640591258723206990651220995394432532645537915054894900081708724081823909197405218319611505171070396963873656419177120604971468950132950080345196842428810741680016591052549604656871021578442856984893783481823930363043832605788735338105743518067597119381137891342989715511742206066504284452857909511568330869702856226268779074537184254213561458610764645320542399432751291758847550824755603841435221691566573695446200586733250048605330322297879335413458795363869892487945238400532902139018361121788325649127841744202916130190456562070809252630599484270605909009899652486404888576059616417846791788933043957458603265660449766647772161774177765285178490296642506821814902759154107446415375504704510474565344892308654636412342765281987735626840979136821538361645127016385409872778569700296749253299114355945441659829738649855041363634261923301011254917155500905118015538409693422243752391807058639111000846855775455468239758103534208502976472000703040719363876187871861505323828872722231942963312976540877597250905389754208445435324750634423313629383862808081117671520816893979280384170795438959506983349338386313905469345488697981140189517582359341214551015125848660583285448064113095158528048020386854585152688411526178112710466699057413285412701873959333850101121286235621105287211582575916356515335788455799601819505465996217616964460759931347641377957631360175186862108785546567431924963038332365764372349459762354043951537428266281486779535686825222632272715821993110876609775093310612514238592799978837820640725839061626446177510737532994650465306341782955510776165428024232907465893871739839477495752180695861207111198415272461711938573991000316328069882979152639570389876532519247139467914425049958400762859791257279193502648309892153746039965786973128645861858119998811516285233508063515333970398724309092155124991585114254006565377695974454187646999991132229123929050876877483973407058938729928948385230839928145638567976967388029390380809350322099015901269874100737969466641136225552402033397111256095246950307859975353241734436746736155313915657037804380716392626212897447091435457647169627245290585217825628813115778471047275843838532449772453274995788324577348627776973175263862473062127341655243051900184916790410459547929687923781182950533243468946730308408598936125191615916633895892232960629361315342804346645722310407793018249470702607698607468286970764490524732007891210540849161604254053024974612074232140010773469823958448380225372231433462273922405415617097835775563612370487194380901697269493549676831781081232072464710644164669714265797423909882884945857674904879449064751718916322062137547943686766742472223608251677092817150949679790816956672028553091131577669285410893467577949626971689064982923082488844686258179012338341994232480720565148767459638397435492850337884727837832368557313565994609428812619215862335007086637050285234358955978309409006120763308580213490378661063777024849365609223893196503115833647838312332406113543024509281687886632562842917816446872074931636772918272016400675686823652824998872837415238910148057212079218420718019662312581112706431520100829017070905202004290088811164118314103198173126558371784292523429529794812262834696911537890694206708850918202624302310982575300665549810548650384302194013704832453277962309113696396635158111278206535860366503539038725530394737190683042688581696504801258198416629393964364168580880816158923037810423147758510583400646546120880870876363352959966506478327287510628749827251059981432577711325938505958376565139444496362114322175749289926510699250890243058955527325884300741591992350889222053741291174318335910326205488276030083771332755039650778271461016301016317001036122959981141312248861264285245102070465390890433854032145584174498473176224282829562074752272212879384717929041247839293466959710495409425051359583939970402L,
43269709953978027107012465390446759714972048759009634630560271221355103043506082239488684661170873845043917721264543338318407863278043449474339094302239643600528903157509615453703871745024743135655612276033759024202881810726643678230256750810274881212863421133007326548134750840405674728265438983029386967577623879949500099881572295397261739742399103878313810523870540883632057544543496779719189558537710089782074313398297029014558001753109391368720527148949348729688549454488592965177489605111981691470301879827498892281872261649605306962726140157717243023685853561650150200969999732996741214461127530243299649808945917010130446070492825057986859828680290868123707854205716343497747683932830240816748934034420000964641393292236892153102744833036684633145660328529698564389971488224384756254863128297701718981026829937738964185359109920897907695843574386644068582876476309875738941523159416313396126165238480377484572325005164096634928276270519907443284689860387245184296074241207462256214417139939703969663200835657064608839785267792392987044864626131660364124237241546967395560771449211074362399718684794298292481017630620694568500133204203559790472454702285807134839287901715885585731845913629222047020615065943691875881235951837024202656193465148943447622679487485009413589138084745305545815384352637097367768260893561085413807405639889413171826052151622106952416273497812390826497710766487009880164506643378212769849189930569998472596743078754443039514858989228832460807699600437838587214821575317052479783256879854345814034971078889126917758664869863305375366291843764414141146428283697952950186408488581649789114765023441388067611199089212651889298007960837278057037184222627062510068745724089202081760106263820816236597090903437322278663642297783010363260457766294043021868781412921112162918499474061612130263844059015362903255662822982824517512003653920323032928604196361715451375893388487048682593044659735101326807720217798662397828729191479291659335099639913388601011578996490276919202031380005799744619569163890415376670744798394543162107265512391954777855825078863287815663891819049188621862900415936180129373612362925356114623140758911028203273812911115921095818539419324188777968414873954744652319434241744028382200558307972924332879139644070575096093208780684454047544228046285256139838724497261251727927774760787450195845601948303478534030159461153647932448342520036188779686917447556937652106191162940302419662629678262578613312537116679428296225718282166852791604811912591110899892590082048411842060357230400668227814103701113422794947301932105854424220262578337402051297924537711000386295042109623884540128716651291722069349664138761895917994186058988383870130473762530918465789931672598323355385973861305777583578155906116085811793116908225751878171671182539847642248530367759352197546845379685353514666221694218107097881519255510713765396515624350941069844493392104455272133115966174813123476728329527642246356986604033331983870287530051165170418737612680091974725190836306276029668719823819582692076118511873440409684530484254815957057729838351552417725779775268675191454709981486092059432171570320230994213870165079844541110094827585910653761171688869063815287275739281494793159934962054641955104321361749015035174169227837467721529204816759776683638751897042470841078228765644962546617761560560306931178399009673230290004472622411085336847592935550625466941847241866877980814390303710126466204378647499675420205952794837118872044800531724555291255592324930084437510407175123891544478938379606640421984581149387042093607053920569771252284087968166529832564083728344882014453211655008863587684280609046205324192579227184517557809136229381242731050577748255223879520257755077413408600595999472846038101348892335434813747045889966141182359103414419563353879750837315329324482275750555668115905556847174682814729674051941786105869286800368192356265297011467208471991305749889074903999931612733683609267907180060467489524836060565962908951734212712581932073060162986416849696668255987459039467519617104852843497745853357855996291412772977726431306119012836891059513886926742775037643712650669883258301970325784924304762244208532432287732073124074620089507884310005846721370786658757191961773819262082813096321907937094025467183228500340871809442145865877187693049328728487402979564751998668843809182111922098764606659358603754334517860661041540577965667078883485145169037655718946557390829131238267802021588190419442584515476425137930306580300829676192605327542095665439835713817201975893796705151356870833479500858863174140599347951037885791329141125822387720201692789039654039674194986907915538405839052485028217878744280484560565543502537111347292495229893267494962854255207182569301868606243905778318348712077022065256855666786180082074540839068755793385760617812811856082312273945058035512381006471486379425745000777179087137808349257565363117582179780193294909207748594523759131538617830946413325798138315574739734231058626265864634644335317534860137265855140502063173738619024928070976089350418139504810043807610106142252800582839705305068440221867321376626166116481712206985110147489741199849474062212327403460387090496296997072416878572280713821421307911027454264703727533244905007370850820060284185289227003388640559972311888486419838820533074306836834482169537000767200629707040273303725864346863437412013811256094555753660306442525923449194706617738262707039294870618300613556880135290409902562999935804591628844290090549428342551757262503964108405421623925960060280588235357385897086609099153389869750781376247373253412002149532475780262984817751861078861692547977892456955015643339511922725270169969744795578465248774093375970713323989006181835056872564469834023625677433263058080039560135331770613445197477038187831856394272907847447762409103105313144324391080245324470350981191829969516702691911848517926986886805298581215607499895122474294760505258505700720413666494623493381613036303288084736756770542916022816304832536604055126199252510285190808699087937799401398785629613382529288895549055429791309873198944117273627251902095390492756478720093981171379817006479942813546709022878753188685102692080583127611435621600437988729612165077851576539484645150517338416371755219313150724099860818904118024971046859253314312573198891940271875849579912968646039883869246572046955112535905654918431504583105301921045663447047560310845841756599571474808314385269975657841731040282L,
69607683059810118595305447435591005508873664033002624945993097349772155345414332451156248526139104210979225330538506818733047673985813467461564810430171618932826427123541770406632425682183712921872694412574662872945087186150718634875120927361249157212342721697249841399814169059520008078066569586345100317646454753480725995429187768881987074078910445917537446443657981037647968513097086387253030077718426091789425635636125022242167406495552693851121863651323056507360692895164545860455269011734019378406497371470731039529959540768547192448826981002326099815368253692377248728724049950669512526476856054171868895322271296923072898954679771716921527697441564417771234107469272751183721928637161964455787004813325838695736321427828766489415714805111434809569198067775668047789992927954561045073672298669686916828289517396759521768349368116726738889691473218515055020784098570641987875544111998526849070246521445898197860760222492884860972243822604255812622595252107591646701797462844815667534673282347746614718943386264518854391552727626109910662879429158339992440880018972921081057912895426728786213628580168499283984321254940928435593889795746080603837302972844604642209900051435501038929918479069058424564208355446546787278364649534058538432889501063078308284193102327042617519137736317488146811901438208763266979336904357237793871978276637626801658088550259312187402747590085689542999889972210056785580378705233264978929024857038345056434607107371185230093572707801280902812473849680338977415594816313000209232082298210320895046658331078111422109800562633304636411189541475156578924986348666498342986897173918954535417531696045521895436677994665983698808786956705769478165981944423280379993537574121943177360856321003308881559842669337457144504340994253784929152828402613244176745310626059328234016266127093264200353503926530658994837534879074711785897384876314495572723439176999946954616135868699481167419238763706974464599021344163158691891953997948563780707655910351260609119213380216276303918260857088370467021700768143280612590565803508065303619440263294210629303887598689278995255724270253890561687713977869775351551060414591333408519358758572200366645957392866687728700455077866354705505858832140256440422898745836470475988775671689906351956655766782036983248310779097528412642557892262609149589079772938962757537552198110115399311833754492392506311498333854613369473296317084077121166436909360327593321998475066973464444647914857689961310312842833259498390778604062008541229425561907945185324418348259647192006540698330349369653396564060231582046530177451363768356369409032351495237090009354032965213140027246557623737952973272584483576277862599179006214513115200655429726843221021822822805871355042665300686503799853155030505835679211733614917242843051098703045707272323680782262663006021559105329100526742098219906338597058668842613841634235277130041676288699550408931065852957609032185122845603789185996027258008471830833773709197368112815223562490639144942455933837309410975171457936787543663994649608055516591689698177573624114370811828368687739369081475514864678672892230070976838565451460423331438995325584797905669913881981424754823869701967548489779992375550764224996876471072267205124549899477933298973302010136653885766083984981002166862664601166128394035548376054331330523407763621610752150095684553095917526393994918778634702637820229740310885575988574585129526947522827536921164966190120484272011573959690077197460758525005443786106934726910307237727827812763005210092352443208572281683191131729532791940261228746899622315945753522840991347952439094109476113711205142929635389678812035584320948764386750223946866864563395062321138375972592462539196370254736291758391714311711319928347511641203131461795113508556872303686618362569822247218991198008272622690849962788470154420574708935627238273655360747862153050699816362047628701034045860999219751785069302770915256080581384609684172969312576840528757904532542382336356229542151339397308335135752966234770911922507726193620696933453247412173498828891387039397364478332714535163260145329506845238043224079293843018502251050930776136523226567000134549768702313523277996548820024229526967657749024831090034142271679218015902920395540687511188470812665550969663754446034865427996140731573142335710918624016734732831104337195799713472018658751324901430892152979882004263912483067290699984119073040435822837869538106307745101950486924895496492847828684482966080776085324171569289289886553263649481696943386121793177391946306631291074370469556247500984591471656524564115069822883566372584903910192666896000533557271482157549094168601642440268266335155351552677598190620847430849793091011593497234554781898404721444283587775065233561521849074828981270538920810446814978858860440964700053008917931798586008952096991374240153305478181448928605903401919799995089638084422395115095956894983480397287249315746888464361614528784456455214969729946854004201348430712658102534623229433541203559690920515075027223183065255198226306819000833367764916055844316328770975385438603219870764813878411985610403924763807936852065771675245491034562280826175274701838052770176015827473282178081525512073236745322452031139152416546986004183541386440391902778566274474047493327585507034199928411171533862439684102492998523929428514473680548255094187387671630404670833046617385984763383358259508694868697850955632974752746528361572881681649647375951030386201447498813377569994138684015908196446609831826713507336943474990123878059645272607476716472825429625432218570905536644284570367059931302197786991035133182655286091862727319908344915852177982286812557609423486113642661602653215054766454254318557819405332120148632911356294612464765316743976298244267234570599204533370241984888487745096597776557620147432014053253713834679641196728593603664256322365228842941550936123897970837715455429934329240667002175319326482384528757501182212595057520803203905731781486745425612946913432089984700401252576074282213353022506443274143227376363135047489036683306902050793553355693439122297860333702475796050687413740564217306175139758429290585575311456344688946306180834060658480095414607332352768031697821043665820893241114512963451499647925562195163483906533119431426173555791665694474376294807695760043133141354204435760365190658680067912336138368191627706136285268215579627992342314803753515672355134847366337767731029581827023937924023481957100332039571490601381261881085L,
111963803151295433542558624657808583218339545008813724980405305660301451183560785219125006163685081084026241290236269256246644152561503982181735572452118703653938021778964712387586770269165462741685011446380506645782708664689796518273196922780576822157832339653643674409615864366208621392228007238639340984645289648761438252219290737147697598333012774275491597978868782568270839044729496055242353369426794919135992798420832649898609641488666030779152430403857594983402663305538396870495321411910831322610123566215799016955746205590430438796252997347146749931562113949974189918686641024725357054954984898206055191132705688274700657261520063958993248999821263746440577103105429617037112494909270919217303784362893524415176800908033887397382083967793016864574712261978043536330957725932267567314846149706962005357145274312404117494985358292815299249778780290708217426414486643478316489731396207814740111192385836717104123797062403923986585087054229437246106147662596234383142296173028171115100393393172404278380029367791252283360499542915942348902622499500533076816497398648901247904289905917651037201628757487818461512988912202143703762300352092185148429338982709659212711928348589963332539017054772883271131555090226752754007120986652385828047414759085466250403388884471735843073092941626491623947875076654516560943010333814948615041380253136419597224734341607804940448725727953792941999263043917715384032649943553090008030709443125037372105061106858800972791914368228727445829818677949974140469128493677705027782405808836510415718764507481523570973129796273399725510425821113699279373831450333517004310169871766453550133456218922720840550224638192512148396349214198456935211443565733062257161117089833592589625058255730711718431337399240528892543659528832842823089045903575911920368313571491882238537081715617550659892241083713399766681819115884414167543522401114178278630501762561627788894112576408232395292944631685698121222839422105292303730104023689833234212308843760646105053660535998746962479236331241138909955645736190859016978827363497105379310784925845198740561984456197363630188649622832119305235925697293394581130080814095699602983034052680552344847199739511372787300436540369858215508482051196052744462862276919745290835997086105618637436198831053077162004542047082418881244612360892529502407343398636235606024428082019349654262364270536046384280918846250090980953524821042944258843021556307907898046679335593124549920075095344792225281574585087476328308689043102357631096183977807714821567644016918613007326777373785993142915540870872842491236617838655717552980212687960995004823065712377192508975293089195570835227941067067937227703812707042375286031962634642964094364776419062648516282887166086334871609635644242226297487164047666154044096885691153977658839294881405227118593790825203226354380152572726260607745967860420924504587087835602852424668291829359788662293729961735539607625770868765916942631377674448172769238975939151173895457326582135997686188103546613341499399955477708465122626014901072587041001102707411289444359256974831855775945527567877416889128482443405796306492711676231714741356773439719230877690232198160301306865306118838765223840589580542063785861686451347450608870295783245598932415799041128248446367055946869253458958907418704504964446814908913588042743296113574798086631523674669317295144956995097054636430774770725830808410977821817079806917054926128745755622688085211308514556429312265351665457907529250443904493013962818155727863020733180012254427140986787969235108950586086642343445093953609313389879068934139133152998943050793407441785834222991377683853427963922420461655482724519722894118628059904864875518108446535914791181144100735193974403069713942375447328467087555592658141543367167139063485334004141838638473360918198325891074884689010344131044740245325758806682418486304683548186836253259710792364288026448811306453687026452735335087432686781836973479438298624422422925039505194345978008723637447247347683301999312233504040597996942465818387598283788348019362654699875161829272339054567269538173227684437648202392751387573093229380068066123168987412272306687951409318983712061005708591896189919247133898200939385816940430204622026610843954316062920862832415832986421023195291952037785392926034585396950390982484325183193753775814705603468531223048662074717501258839731076457400733687391954058514145117782924570105942742419626825849425814096905905617961813279001885589465677369464896445842188526090638459966698920124050925746496304505254186161761378196699628939603024833807365114334726955510271563942082630488135140427568841843110589922770493326750495212185726912757429240640623603437032809822547902787305568023648780299403682971617063710086362773969530776867497120133344529295128492324084720248618075906490223636154761499837435526893698960961422266467276209943234915650099438244135055576581123723465329119506585060100458266975387830844892790178255517482519976433219334864531973411420280500222533240889587886902286768392113838692097026582832681154681747455228518725623400479992748745268313932596177837267979826469427377576575289742632299730079445105460607695959232067157251079992566769190946745002849895215984354891737375189883491890485596378767487180691701666197667163548236406094411251580560771229680442000477939646060246020190837970638600610705886957737255431349694206624962024363802393089576263361085769211775303948202520605443227281831546127970688728078632431345645727853608747984141056532287036732095403282242925216852693581109547831682719682049468158074966524286926932870693853669791622326522563276898885186260796204919038005344475081639693997166170907029413225851329613601310913439416460135048465897768360501708076665220488769169691139167133640859731545895563542308132902096395471575982086607509018989380557639245524702538852162911354207732308318862561703726507518525963717799656728201056571318560972453281979453712504734716491371051457481747477316409336135161859640663493560106134544288003018346648144620870006159701135401301126226367714229349649667366031413267745555368361628727699134312917465995432969727110831285175418741860844226325377569729171807204483843186757935768989652134133768416598845538323670033947747045793721840414020302982048141668867609347544873015923786850400823453297441948195014847507906703609773324164063146156407599378417530158530439652457954862916792564651857212734466918653362847158222279770767114349665592081063329602665L,
180071674806010628149568048444195641653840985033171132556432751372411676049530372894462573119248684809319228064867463266573531784849971300177849240478882120394853266448467031340106152896682190453501539502147704627281862940310043387818046501380394518780361674315086451983541755770306616814757924558871283700235018507174482978932050521751722295441112635930586586313680298521380334172127787307993792999303134963456339417471934490096051605319518830190195838795588513313558075111557298223142339246952213416156934868667515174622448495770124031805037046811330943750304457092454780941725238437269316038050760155230378676826093620990156470952273222882250020398752514289921723085304227444912716864507147916931063666051588286528284089067780993997395124232510053373160757645083581080968696227975306382806640637026204992210870986706802252145357124898889406565700019956748461361863004958951863035328458533157915344439903101716469936055850255976053447400556045921001485797816982632343036123227733704810357195478730424114840481509663077936524147855031765977832297677907664823054414218933366610427489338822266569761366651947980452578022994035210870516934345638485123732255852868719855499694323239877498206673987467960097831761612096935943666922928534497880330832257692850203515789237444028324738442678333068653811880458515436738469666018290306444212979331134443256511828227563674607061641178781353845725351254745280034098670437727498695165027792640236599062915859539448848696991986834673685178819956164620658503491219612743699805940771940030357792564059858316083695420756781417552834444062360221879595078246452596372255418455817354185604362295013332956924317295268905960590618023358237857728995146359434430966942599776297351767443283040817559534499387237355626238611114851064139696686920796070323219310257148857341695863598791736572562768370110781627942206204136262540619879967944025599177947266734037842874033251254149593251220145715452841850474194586838455462722229656945904775609307363364878295287637411781190867891221475533827290543571433522004217608582532015356661975839684372595607927478592307937601347222601001405772092425604583582869521295432097122658152944065362482034132308054276261107536601688402047780121540809654400829667786769650683303344710050521412461591113917001607991956640514204944721405245675295361489283471630555168677558513641432705285895778712381581870744841850127107327665396425371062283831536902543029603939708927629740095420150097432661532142832423273854464220274347382793146008679915070214903989100322899427029280536712621050112752454424949615176967750221677656914802825365531147765140969864627783862812097221678579197900739451855751228200305896684727902257204732480389333935806966044451252661503088050282640327936003857098769240302867881608475115128937865497166426941577336964639477445130692610299564194647983019411545284230393867579660605958222564802573222766177265560162029803395173235419210621038168700673912575993607459485621967897526665038582196439350672655649075497559345601787913864150991488772032400023646526122942162687724927594058281641463623413339829527918150157735202473670360235298641935969459389178231807972685669559577467495754917136615585395414626732747441020469000488973676968137681850495841647216697021446083107393448460739479446785221554713444613909983752178353553955086481276855457972867043185738298627210015502488558314877100390063645735582058380157263305234513013762288416814911442748116401720985881380683130078999989322621847478920563094608647651360978586177074766456073162097220092799919755618810920716617283715184392524698487445923306541439798493755217002467644107476108837946369033162308691720713575554960355196236755056262497343432068705691684101463908975920668010663264295663608140616111836530757478361037552240237621644303752388968202113021616445165145089204187355097236005230568192711992735584111104068805967352390143460255925124199355235723064292665945384678294026483747904872706073044271871420588369697825488957324767627968841326440731449690526455190973962091008155897294264145900251638697730111018658565912897924087967019281498642053215173978892125946975048383903929339150570173360768819474468603339516537837722118246809722319027506780555926945080585650888452808985159727464979143944196280435264710294517228669354477057016575640147302282685201288484334344526550837781065187916424643831836115545086841797214856030517835746078208535802764025020754906280906896160869981664176282270331138645407656194941128657509558628547748380229624104509444422770467158466525565672640881455677344363295349495386537790163434363416577183273577324415911657566594470042274651313201776999675449259839976207026883238342960880897446107659983641737736623236057185365068804223680327152695027116831538467366857921909428066945436902694564901305658988962917938263053731348701805704381569661805186742973790761623980153420124229326017181367004856502870398394904588047628315174694810328566423689390569920183850293552030486035333408982425576028845218328076370910988012645729512863200762842766184059974765875624939826181908474441320648494973757851262723458646097359056779653129274355143313450155597424330043709798408273184577635404921834419861980099041498796713440211408004577535271535591191867821691880727094381830625543347860154634165868832887059664722235421562555954099712938215609154294677874621909145996695370720273982685296731540127827727131349326083269584885746864273745259358040056657575209861639890010686049219610719255334043690049754534019185799713875586732941691735671571295651655015740187108027951744586848115953553209577726821455710186801634395992402017621120799664942176817154513035543902107724544511799120780321030424493359077894278795554956404301254060094249300692946947089405880407037223867649625459987530873424575826860240946603324549992189168741006403338116692840297027932018160859120916174975276964797801739698224712618007324879036055197615301241230046091259418008622348334247319449775724301979753747012129650733975839520645346277700488646570588520594942889000055323324967525025603196591111536964839595379261662467671008012933659883661809059903448461447649595283216345188972785592080051282383178562439050278420668770116546604945797928741114099520969044330412305177214488959461567278719367847533352975934525137376485054328437187753037988099566016677319376175188183675309486188805302037187066877102248392324947355775972400638692071984907224990942608027982879769649816568968875247279L,
289574617983800861211782176251830686724095671488023562325537539238976778171181474886158403463421307667603074200124289006074807420858768329924886949392555283413695549556585740592566226636568088173576428318067056624474975368863035876819816993922536553562618668524457185852017158507881603892485882274368327127909347619371816917105555051142905702883765471727602374274626905758487810892631738437535473845667319901369452165091704153703571906111420396256549504827698404369318947853650859759777862186333592270487742055123116613752115724989687178571835029527955023555170126539071182058937252895280340947233762534144034071116287653468108107777926155599243543281965874296003056699281476973896179144949905915633008783213373381934423144223401019634817008830350946562786039557119053280585638133533401229951716506710727534448108728642680358673581625896963446350311194566182342342895135725441298220096467626101602148586152390968876640476710431110160503000244592468303616841998527190678947125927901613155069234005000357186125933470823583431944313822605059433897991953621142812064493338801874217646088279176130224763073006935420859657908063246948731351934975314898263670138319316013300458104459570526211193503334605566970329118112849320966869019375977852320515176222377099899780238339016192435569919247045331465613266977949244098387978506683958623819292571670514437940710720758548345384839669505375551121254646344272548223397422763730756560507582859103926168103716863991038573688659954413161623909301385362526927999084534620149604419511786668386297459067298202463123141372580098359876039931551397589631642172907790844284680496446651157894571560602858038096096753802396022483135259261582322721426703341236601325813377109119019380334811325130496031250718620984601116665509006674395124086620773983521455843010245355322530563157954500786641107965838157159963938838318370054550177012022369578488031760805284872795465152322034053865749957853107788799800221647751045925140448447229289592117060276824959212978604269567295936878918290877214311751505625226048358076810665937597873269501661124599591840912610165631216648019610207902043231087450442336386990802311475994137498096701611265092545952040662751845364364142269066435214347607603840107230187966117945072365557215191472046316379021218607940273516344471571677079927058001734806608952807296545037738318038526602196943274636619135106487611295441250828975897421424113677384613992585594295249673194987966532984538645973501618040348907634974570637691754830720274524515989967230395204070503475043765495565297983643612514529288847508337138984229523774640429441282480221784658010999851836133658042480338164048418679523722967111141636032810780092827371689156102842177736040166915740838043090108718201683413273064925491501612063945013519308979210434190717946248892095344324580109030496400175910627442631482360663498191223729883262965058249437764184965659585362548181908379480748974729461289179194719721899634467600047306384510662418349896263697512991306130157303122581131475743076140545439485668319384286121029002406703726957715864033659330244411775827422004931763619746913341080220833291100023331260500207630375258639988939142331815971534823199384460450429395702720342080793890768550127033625761595227531578860037331908754643942403981261284118512819848659838000916312778627261661695803399175629679859766186142958203005091438172137961551242017322077127741995440760274725480583487704748567363262660019497793512590707042605010662165148570400379587250074035895116363503599930479164544635260478588081671931652912340426550776753141436102070055002690254986177094332393726218069001308391681386118680285821486564755187261160129016553353998667067886704150090252262413097530286367303562317007711010375348759686087098937889161075501461452987131030550264361165214956460559754103775816567739332512815752174903432341047208547695240204729895654629376492045116178800940493057815213178758857922215199737987740196651742257829291159930697701565708696788126135434352064225276802958602907410116980161404630985538904186102126825681374961433080638731278780929049067702970620698833556979958408865561284361099681068840557870927273644716717727297747542332398364557482223417758606852259071040184221223803898107138063279717687024258542444740986594563171274894789788596523756348191122949774008221111977333869049988257695781154139846538985877665448910730953921940910626247440626152053670792646883666708593774019155074778916835657986575986557662884661471592962885454934907997652652874981080231214761925812463313099775800631916560271995351951887806263800153141728257770363391221186682281937597550677946498797905746609874560889923394090694043180246959247396734354424045960852188931948411476631431318196407052685708350192524255725881105469652430268811899444731415406733463435373884853119229206320142789402098082417740676222671299527786984148430937633240080899449234260712485483756192367421298783673654260526578066759413279278122677088220278513073352487284358529326938868222110397210331930348418691279967339689485419024350425014258060796220371495359155588519997472257493136364966157234659499296792941889338918119918546207764881825421639675366133224329879463213696967746721480470374140330876372883758563230312110466029977465890926251452339476075370920262132960997953597525153775755155198687842011411927079023292778710502895526522186504707436956862873812047442398352474125718550409362775757700039089830161733942387081570637112198184745845180361341440408526466701250879482393219321383097176196330241045315944653367287232801181975163946651979570016088162939273196734142175358929516955774719951672908793597962542307509014385024650861776703887491919249961951331324156166556106814027160599372725198169187863294535494523003229201423361049341230475020593321102766946421708558520756270403047597510684268018872396996093018451697675797933853254133206121550135576104885335924480456577041994816994085736744361200160887484590327129381111035633686612018796096241593853172120916946969993480790703442692500363610672555799580891364463216798840173190388250441847407304293274370752423486617971450786418862454781460059958496124808390436138792135389471195176991007265649496552491768633894693835044197169401330441274170412663330136145618911195142454666542954323357833032694086191720940427736756491288091513545906722640635057420497530550750732897305701042582511975331016514152003918677796653683598450373496017187976694258522020727636468194136306496648L,
465610681677456418564659161519101587469186491196462632543662775389149391165574180758994654086007999401458423342021046721565623288600341462450065988007027478343281187700333394929630289485912268539605800074532898369088257325311111832965614413213001678136203243737651817981393526072634522930716918146711963921967215626133788725758646111455370539810115264298487848299933941466623859576190032068954618769425826965168089211337543533334869200784280971039478901746449211225369546198199600870303491190190116157634813951828812224207640671900844711150103673529752535221644694610613200677691325564212774044255307606121250376726615923884601607392567971171026539892450529457850053014561402777769282096818139113370904334458191438243197483247402042884717950449893968050613406162123225384096106682249669429361194987143288844332121988856041849965531260927272699339182252833507556481675960681479665498868304972237066187858913437613826655444874481518816102737298150846260915662239266467321888806274017724966778526716508288216928109799267245920213184564393264586848315990670565421020127271448443990255430326500094111907738185838130350130717084844811664959804564576626527080066550454499254825046846261010138264335641989825765524727657109582706840305018126160128393403321020477678350398768346520623877504358906846646298472357230957509878373056168755644491716303023174720892078484373860347665717554357795816618067435235350975245010242041411380092652958954823026168249960221358887858800385818044933708060155633349079683224159691848076806651548195362280531924444047842183882778664861902553083540370143015443719694555912703185411333893925784203496248815049363549594303655503268800244230107165325987912050207069432889499768892735455661692224169188267504512685843930813806679132183880358099108234528275329815569740710449210063538413503257242938755941641378399153138784993429429146004619832789460104702712085916096413181058452489618430897430873548902549466677726171580469327865832136765884390912316147783003138199710457594298557709576475402712571048643119854954760265711142547254786200709385080151246611958327199105104065087970030279999679725705086954482988350403636544242344805700468167762184142053153095194028321692751658214867240972925841955995134253245043425148493401136739709942229621497851715171030623564393223240521631246019469237511774551617640125450145549635584449642029407949479203812130801871463828270517524862377346255196570808057114401458308715912809881378210859653998032688313964961509837311189745255940435252185327283848908098845662978387527431545615327110018176480167622074652374829295535937782513412890918162095012683011855864637836090543666573070912304835180308414855985615877631398511253739315436199367047210646728866449649371511246601143554673921383526382310595934481801233402417820435850992328113264591253115631705209496496129244252454945038730685896375246345248557371825984507980107363041305894244977481292267612078969328681957522959156806022495258899436963402594035544171083659934755425374585517186025559660963339415939017992476579396078968311519410423953832713365649093165165307610845147020381479092863492856841194850961054935661014953584836248825267036430898491004798565370096498629362873353509238835636726312677444230833072209714324838227154648666233937189435800756144582534651840815476563913322406506922124535046953322937570065222219686946536723862718205874576365060626380873465768871025914420971303071924514196502056684865247176712458861533667979935158278295151076094550120543870136575723939764014133388535549148884664325653075679753863089820183641719976044933084557714292575928717466592106380194708786815400710781887595141975803159727359263363374497716417238984118728083929585913879984114206795826186673614083000418929242777703100618089137766751956892965314526956395320185441194206317088927715323558022281862295754270816715483651797299416748392592068713219022975820762733846530418225712692669067270153929231024312544764891781584548716889543152514966762491630137155923570175606953997620984975330492105555200196055254727398472673261405452511270221399302248782439621148995680138735107300075749962909197270243736514905465671244655963829086188192736281322582495181384529213285872501115641302014619152204187157577393364978367292946334786462327307981641068700842414343157148256282277364443580066254547974336556248792519569818157605472693837567552229401123225096445798475617789608522610608266904114627939135882609673344464515534413570037533223555583645886130170444486030059943601034815533733244107485717364436980782709901259996303345904999339194141452923609973695203719652752348963307105454042793494513466142967845983637311851933519816696776629042136150551967814244913727043735217302962596659703751186541630097789717236002791014395714401839201754615331884561474327355243263342668380621548404216412425680579384610533103209752749925254735911247331798418400088447974481501902485365391132545149991247063651559317257612963361018936595569614899263144369486552383556357651441697504767331976051001315799175036127461684811593792071062472640300555251156206272727265395595229468062430835634611227763107470370728838425633255999067192777000868198008981262060131705470168322663463756564805915627837130330248377538611715008947063775192973410025271492157719133280781013069770787411557907828788177747868068122322372775360772993173635631455122110548766807901193416928659174528149363071197806313560034719489986049552827014526796470577754102995448326375298347084972468705751937345631437456458360814260096291144473404852308757777813023496907670659456806266033498856865689430390234014185282514988345628056915225415276570412521972739930212081279881286890445700286335759449609433264731857084425934107812779115542224737187760188605022174081855472881306862711998164825365563659487996792345035669423412510880555585248438466869693819823875293053396639795617480148304484356968667844836490039316136539102175625166290466696661252161281256819031567798146876173605229543205906795598575402827025073500494911533415470994182351654189539239773743907547328717743566623368261621934936893348373456982630839826243930454383629399733018978702078144122916139843994162025410560156163461742663162658476019259639006042491175982099503003481882502407207038720184719112242411195888037757852117510544022991185735750465401463596548634038591351326900439577386936384028971486904603750076540660024984373402713339839096484727343638475703357590337928106430973141542783315803L,
748570590811799671588248726398081645861468868665052145169560968413467381117058368003406495751876904088030561563868012012078340201395674118612673509882596106871680806211706815368975129749379999296232205647298463788264023274335174855893157501542394942859886223401344697102391645247553412195741860536856596230667567652661865562086062633806333868154319306962554566810319650707012873379579881766585213050841279596686659995574781050964721300233369992756853119045223625899149278097276155446505664317742319544385003225088164074199161723014120941624944414968573782190991123773305766329320529745768617422400603010323534686213922847133680040581025727013294916776164979297164199533369529315881475289969153193709398622573037387072616458303159274107699793596029981446492506194762135415107782389977088230851386203619004163810769402793243247932938500338643772537123572676885731495101809356122646317428386907010486084145462465195358692251148687969958328903331979602722627503635543505582622513628868136527127108055122431448086631262132619289200253138051437764368639567451063499329455314966043368075363839005855720556601959712268362697175541456775521388460059732815979792483616728262947841397994979655936741335033385781842905835854392754895831559400853588418385116941543214318878704792041242588676889810437104813012975824022600574674794559393054446101856053384536465616884642759752696442136445319352622386045556228624079103940921679610230743138981019444296842111625596897821959742365849115876779921735508569678162011237773517170094526534530467673862512572392566315201136241052449763901325255369795912741361763267960511711750312034537811304953000341137760179887925506538083778960281544562309147901043777931156149057004571359047991772184154662156590231823428850850388893814116130127276419802519086285002850125537394708851781103819453175486425264666522371202252034086829016418501532154644745956868875181310444373260028355999287259390017175577875436275755737880463688157458537841082446420371480525468361204116429422126583782580338527188511441043431616618480555403098843721070962442644931506629909297077128675533454222522854560461585608854871513077824812758501439903707660577686280541737135174136987326862481232887422638754613655811861142196728800068614217271834572498081619194087068160904320095155349927140479906522091743692690589003976467076854579104150971274104575624627192120597147282231894372225261149355935610574150098561462615908002728648514493609676102645926922211835893957041862101778247244423679161579437821126559738088377429969606820830528470704538670941410654701317885558760778686441388322185230379445567363483422544214696236641451030617482657872696077501742891434001409694884380108114645960000220762802108682225818148222940451099418106689691017442490711846617157551630156297036733951710613354892227759216938746254419465521959968844459313660159745714381544902006390390373392937687798121938453462255507026240186079870552887572988796587446957172691120081868353055736681675274365014516395072417102612697511087387646220989937539374111356202117439042452135103808723173451718223069184378916772780385526034124691798465977419749036158280479041166479485814156934919467056891690231899216608490775812726645413614157973427466878169349584432660076711553949919776797392541290942583565511147451720456054062381800676048300091153865463328453102979810308473703647879993085311401802670759330950689052397560881425348685238939509392994576077417181091259422039680012125445482397977375753190364030969916013714480969340888319175157939678082301632460329900593851693058538130588574445912789665675427721011419860515779308535171192457093747395425700828776908353744946262992514188284848453494163510523411032615294612372698320336009633923986213129221206109068671470310512021386718595188497802878490193431752757847453074856659585025972553735529809155821349501107061921440837533306379991000217874263722085204421706274460327227606095862651002345920171039332867375975850826963142528133209140646775822873140990367908650522313252515090194557280600409006508485109862103271630274022904935066189431052501235461592731808540026179323171769913239994216789453573524627849968213115463646102795889052281116806662383342122584184196910134313559222412590860876698042389121630116260773353908539121876080269290180982813521209467215267465566948883473474301677913510598502718004350850141140361779900296040654589880920758531484373633271833734484121843787916127898038385589558967333181774252954354298887571237959553761299840118402347718830101535939262461511590982632301488175186326428708420658005758427546549523304721180123675231559727404822464462627941059260051574636036926091401172400923902980166422382527152722389716332924260055059136194976596017003394746209952704718886899508874676271745188961204882287193383971546191735993981933298428818141390373925059731294723447735658001952447310645453359399816001872087462073059858176207136156597921732001019520575604881220294035832594222618536084484809344642240299252157984198259385693711249295282516350458152342654240859366574031548551713755430358218734847185806955139375948964471939426939148600032267805287343762165639019596131775359930198681492581924379203345637808478513794592516733254323195256609414986610863786884307202544536841830459213514193825058345159746666283374127507176332792854275489843227796710992818067311427564346954980548385032803623141402338237731207161341768569361175076551717008933034004028847523634298479193071720923908684791646734236899386203601277979478683713560899308147096456635306028276234359549659326346184253521907130449583841389149004235507017763148952469907109393665653263184072297845435701014992353124365951762742501962712965523041196465003011761458809770835557305461110377200947747477901288327452139629220271622141829350791222458535981284788230270983448435393421200721504537266524075266088963144815838988907915001371645786227694176442917048782564876135661359049474099651051305359021349629453860946914573682990960020919850166921315528549760706344009008402681723613718090571775673330525735060367233956448960834914059052484360211199558748232491414651548586939770316136191025283954743502446125488655055733123378391248613008552148677028271995975897587724337185663632795858399648344212425132822196515915288986912320240047985792975243755836603699417804476577339761799465491535465436969770390174524542681308861907308185902861491260768578051658340019388961635737920754357105126807773982043093553096832578159L,
1203344557702315631510607581735322605109628603073656026129223239147770267704449121570951175835849600731943343882025029336402381630366533916259097606277571029214957241513298492297709209563088130680552222387692555582425080428867739066235725977625682152905878306288825450630367315425359729903911468991391711336727223063896771981530130639417136600363610207076401644394758557009734352036504994160895882718952757970299219321102357552837744369248089760419184012908543954289820315988106096933472918450378445508685997549005929455559283420169334136872910927454394754026251701322415335824084345790387875868708147453166421872291377782471216566169353679782541549281394993651663399228144415614387206179826335758931992363571472372567883290862301818316029699949780384830249698768422277136567690221585971776043111616375486501225808281246834610332506653702500975205229160475217602257928367116163957140971960770611133979467343036469358111393946850830132102941486065451238715163567463321747199187232695582780505721769332609965592075216095529892143677751691258476808069499327735785247592562745247014817469494629523703426292011164382450084483608806259863444076486158904701238484807262829989275974407956952078718807586375343138376234268977959403105789651388024352685703863617717687915934393906181166463264084528660660152630977773300641786237442124287771587204607741002135675834051786961439107944157309696364211512791574696848700573744859323832713585097735481763661053030942581498426562438811968143334463606508680097425773795541100961169582781713985876069563346442941445946335489879949299123769181760922387227306881592861045449476189885936293906901468555824050387421691899848581371544705909777209305526239108022881596846308144647034625834530906419269100790550669867201242192196003287450294260562081273129113342218630142327997443090566001672460408934001854810001638187488218371414052219469370780836656977353558181431471378201946747822643988577228685551536918917043314407937007967599473451722282091996725764941519961201599427229166363916827312273292639031652684391009093171820358036599978320878986486075900944738758411132315992341908102031264185811245714944668183730516399561177766235392209715746767865124446242579268020752219113220315307289353783786024934493921203375501430487042761302197788921537355647102607121336530535645384927863335938675740225125344454397704642548659915443345798529729808357702477745755022159692742800863179743296897919375923441725348803963224316362830282645179279008789616038037186730593463429401480602719588514502907295444904373373508146210026825478563302674626157590196330882629721983194767659628160575798511141553797358312674690016573132474013066491744896452278596601323805260485919872355323931545094986240013392495242202797796029211523688187905818431518039543962305221697531041876302804634383829601663856399500059854483056753550341510975511043483303411761343581949454533272855380272985587333436847826983429134921756992123803374569838116308571704427659433561707933342177200784733684637714701991389067797908449133209484105829538569366093494513163489254985857022902815218754093957250779072470998057982021434841238384591040358368136055668163768257950778591594287916833755479636911260587972006272496475739549766517571858396713509329965017622427241905064314415916592982477934847768499863130210033723080999080103215224367546800736969921615381946006396385628983182429595591801399366519847992833799020103220785909252947188908354447325245305801429946460238205557045045698236367011565322179391579610988039905224951403352342371922761668640262151029749127806349359402791598847347931792079126239494555059507499693546921870957578567334672261225552885333892065916989298367794861582487706289616427333524248235109198213113961064247897730919136086302802382226226022206180382778566209047747012114260330805147125240989018406454951393292454745067526507063901620384375518486813237946342116608903830577174905076656714140334062872984406115366878113564536186649430945461329281762926881801678883608255933569901074396536486460013185859979050255761113871387361641048830316053101858114660045283284980520851938513454234392892646259241704773087469168261892596060900821032589352142525096945562739128043182121065083107502367674329239900007641461571307980167551232721543388799866861318589114255015358738732542403736522726452201374639576812778774029143176929708569982000370642717408484145830683758486173872138962501574304256216960050041533182011352841295377655338245819323540576989973153896174319642141935241645864446274416551798866509064631988066183586559340197789057620856898355552368858249650382251212332133519934139730731272984594116938765652306780994805237404743864261890271658276751218455214276859897498046864982629666024664251516450711079571226005208108054898496670631374369333284675811295945517607771437714217620834225692395789425217469803134846722383398952054823331711932463137147117007206538152683537505359775871137269634345125278770608594812625439200373591301512533227564607384183250735942467538418819630345988108107897003802562393664486063214959416025326683679761425903867123831123291589683928759814871115251354698179935585744460155343186516239337543406381093685758232866786578108976525039504980744806906478113962883447870388391700189003209399618248363950202258944995269389390221539696819249221808806057719324195685454476903316767852770346047636362118583621418909794181371962331010456766214966918177756756750691590449060555045293787121631569236347694999627465727337621855367075235691790620493181677521115770327824963275265482396419857409463718874648625847296292456799149527429203903242326833685250842602729464235178999681091113315392085344647724088268521886673879959452574615303895152161613417912255093708536132880738934856925663192162709393472129419650045519629652596317935215763427677123997974570744572721561627872327476437868496459960875723205953184468887242525557118762577681830998307387570296255809342354318364845933050882610474450414661534265772775604680219828417316484240601661944073021844963293308925402185697202687901621432723141431141053505622960420630145181964640814291091809861100337139551868595344307403009273927749661070857878596293771089042920677611568932441596741347616135317389168098095972815673880220777903157573185339722068139787574659434710557423340353468235404719634162154842774049893353156518382347564876180969507348081586997824138373384890953141926395521473387443609373453169448551463566546836119001789665878L,
1934170142712505911296610678721525457955088640147151281742750600517749603971010348652720036115449045181017649614027632813220141825008602500268388819170160872261659101106594087571195231919996030092883083647383912725815991565682045131149951952798678873729808712872271604673553278803454907554786702614135934490773238708012845869053763379918837962141928332784122478059577061905791751166814508908492166177193116832505706718462709262059936375841669623373705976678505736731420465725238248086571832153366874093303338657456202635769432735380107998611233927615802665363023391659630953322994851091017107664885929821511624450105766324228899745230566428594845606085888287509692762404996817967815679173161113886483770920038744690434125384965822406302764821307173513860820826254370576348630182826726996415802804765523796142966132788136040657228501080717639781142940646257654957939483904231511852097163440802222455885499277285332192090254772795455984652646861002985965130007219081395677877202841700985078262496320954472369213421802467671421121936275696259955952395221108696119386826191765276591153043842519335746169567194781831806358265037359787212088931396512501323280334143959307098205357380045244777742922551046128512616589516143229218806270795652122550293481615340862922210640863608265106775168523551229494081424963343105652202804326531494545470880385632550393769363630293545428515339440726183395796812181693460210566567066428860131638246089631238169885809744497189404125423618105666784468651757512710922426716194545467803620794812644021398520620003932376977658703916822812276437427568350302875217244982773278421920358802860761847910676480260810475897742105832815740319952910907375376030363005909625473145475591555191365958826632321542349087129479486685073156166216484606189386914786142378159214317298524327099873768522178901153427569492620585806440156614410699909898821901212972281277990040831249026620042413537490704315383463107737586864721167849528477326655007891731296613848454993356032079191280644498416997792090412466172257878422598111736168500314821827597848837348960158557461615567832305770723789299937202166077026641328108168239520371048052892436075348414993453328971760431985073730647399692373718951536597210237074575810228162574904961842577160933118364427372387942864448841878579154751618358859128828967886068666452060385822500926707266197453273720596678094346725415364998581159926261190925668157023443308477594378925928843978221538167928978388885575128761345446885727618929782737658473764108265274521848996680740832591808861399532447908662341906009507627644009832206748194926600185025314036355919374142443699679229927364654247001728485689800965933979607342652670797247337866136793659969090001418268384876566825386298519837185716957301087703502279579952774677161342171021676312248951747870405753347920461347031755900501174487214615321226851922912854854062908587557081643763289914760620671241981737738380245629638886142129810543213355465134770328693883626992879387267576727738438977509755424374119148719148335462683257713828084699793913542551262287983181031613497531182101900524914472796716575400228721233899034926400529117251234181826004948829682106609018755552084178241189840267254615716403617937714732074733471477188416650931431897815959254660899332118522647804790968789945004623475267574780141716122694044273778541276287364671781911141650708798822253237966579026625720437136852376356724627285031662731709974421344091315895222084278029968434840463392495990348949262082126130938027222117967309730784253218376938677673564356585073022146454857758891301670994544424091198307207526694012332084596292435011896890732999466788575866093710023752709380547893550779286165316033422124222070768386605022167985210674262332929179101742720323576602580887900701917020382356195410199017876206795929953258523831628802969543226726133372545607087531862222653950107845984698793766766062757237182697209402875288262357355528697606509943395616588850499575400748882199907996811559705479355975421329162662263187353386338939013645834256303403510455639000314865806416970603033609563750665418940068410283682395211667957189276852252727407432683251472150432107831790385264345820018754527400640686112256740185973455711938712227670401561182869982643216417770727923294956274358388470754075920869852654588245708567499589144102830842659170731782419708414317594660900978110625185263081639952180352715193190085017458928506451416217837769567188769035991328282945647148898205634932531048286445240741335201712623445895843315675969480761310850418462073095495901746081327406810826964890291364573138198644851273310279915673144583505959753674121135981086056209575634546541362807959042534845601734905056432587999627229684249212102796944752613661731613704032509016888956944709760712738688540005782452542638858929841300500910261876976257572365597241887723381293922805887955008524376286660032722356967493450435774517848856276283401737893754165933412798580235278067622581680439119664858086154141812457316890905780900329560686282579339397708826776358318622317913494635318431115031895243391451147903564781454525939843920602195011811881004601112657272986360358986780402142178236435611403005242617962501992885606192513267079827589339088680013785193107120630896076074811358907048107957658930196836387413018508608918922596396269146199904201541100750444727140846745098670077860730741965458642363451794418744910370899991321160713572082421778877989478041618228218780729765897941928571885242317112203898465999994110651028987764924207400091266519943074818064616388606531083510508391033165519176537806045317887844194089068786392241032419069913006571592914100336148413050495360785305146405117372374142293785942970314608203675195511197609453553661527819044870901068834046699330900090216906093296976598273153332711451229658511457443037901402597777122661945588101864329713679035513152007061792188511772362616967843173718296778440578088071632916953601763518755316973780835906727544123830822361049817853602837387337785120994173744090015140146913379570550410254873950816970628213988147705087133532431924492751136785438708999270407847931893652700099640657997797064528185850240577746313942168924776245456244806043570785306396574889415721575070284414211235847653635283645963998677983135908753599486646114781122945277273851127032854732636100419707285462712776099804441022935439889208082451432342890656651899817120949242373800841393638934498220147342421106145110984877828078229059201L,
3108470995824949013232488723861002334517154928901306227205326384048520164840083111799414144428171740045946096812460504605777853593545249021477108608196808665801535610886529857976113624403746448002572496339113122725225163818813589165616605487954907753481275727242059197285408411029796201714152727652959278280706215476465904046780034290099039056334787946891133036190356797937841099510333881962025269608311025074111844420958575713867488041587873181133028466696220909679624962191712151358794354362275364297418884472855224590925425317125391761488951173403815866771818673539163240196717328915892068397006471223969074011226477379386401211461427791427862030012828903251008576608743679400087441196810428532234112322739792450258631270977617041517788106411157448085714084905517957460436142281123403378830640855391066802165560977097344281141031511941094404120383331353366936024447674999464483003544722295452085758099597254982802229203201537236302317541095596712081951650337128355404282185775016656781243173352825506761572959476815320507687976429729104144660366314841882504798246035531680792445100792552387696850356987629716942293190478848989611493050790300958299577414690431809277366032464731634542713188627011696849034999412448960424778029634252992571200607909790384506613157019114601114071881775770417963494187376299664629340487811351615118280191299150988862392040463177575058860102632661660567374613968303111872750633694471828502698467223179569815960737474931211757740500657539097216582462849674042629345069891452214529662968518226598130278474214876349634502430922572624774827098487536205842038135688242046121892612691847389468569810351872940406422772867475531935673621190054348668525318777982582913186251511710339674048088360222799670837746589879388683992603828579730953191396889477592168471640474573717194659989599073975411028231033514317657984195100590205020386177529034648236925189343955258385438712334868453839817076193759790170816186048390461377911802003423011439344422936016806235241033553694880703054034487746572459186824362092611373030405042758270647348024749572362195758828176874851372572674096151856025210170232717639893685103525420323392803977395418424004774191107659778390673613492133088018568466141004371460885549906009257269764912429204024805347192763329190831399197650582102829809926675344685182693066125900976998256979878594326753702254486349009774620048959223289103870895803063043457399369343324009687539409000197968674048784803624168455907203767284541433088091361334258678090245026906904132704817260940145271606896657557958403590975913401252488405786923867590676256921640912272623915642465544680197140401863913145411006972159637108582188621234231034943010327070336981116415565498535626467790342445318354192446737136031778161322449876095948415410530729716114790282710862704434091703871921562366825638626272989583200769290457661709275218012164923492900302364236908825882713939023287023150961584071817804954341265292561424791082442847043667428747607755675430735075941778231015428433206573758759410194477870223634285875379127207008708554795847990097975704431378338583264783759725424738435662597579855219936755813601419690640509868893948501159876902601378426118275102575451681140902661105123707953934883016345043823682029363658279406384065328676156803344014567695319507175985770724302466320469014695452617968894546767179899866611665965745992541036459230330152067885584859586646238686763390995880697427202985196723630545492481991061490530598281584169352011866636908244908280169906347338726053631352384406759206803826589962126899677510463076135601678509389280410778736692961828360746111595947879241463700483084062716235778302595292419613606555984556846124899207554075818593324584431352481454231683016084076459088793636735087286105984700900635143218443169074137237927029038915895617903619899582313489418889040456323392221440204682419786612517491076017744078362930250139783987942815234609783453568041292060328409777343755034167074402446503905090594757260464903943483328573476222198113820416959862499297143961384259492072694888214752454422010729817818868993513529422376579527428712177968385248668893877588900228977036537651632226770400786421010993451454546980442968707212177212210181446446630795193857137085669536616256422439279803323948766623612032844714303071729780651136175111564316214877660644539825774827379450091067526079727708575702165676424654943850233559592182990938256666568706420988704521463322900124754367500829196604805916543293240259667759397734963905215333796424322569004081411070565107798539876878084835292116976364361888030344175911524037484616670207540396870381773683233888414289808775054434391754060224774137602244689432628780416961644968996953953146171339714516281407898114764449926213158945497452505434356161426744270110806359634329092550420661728491398393685412476295378942696122820696178451719939257782684054943358107782546951711332203819537761729001272170547460903934866457917932809417538042552056735260742813492938615117662263294128173598806877708645334841307403331335940376713035372594560678245902448620061004720649722013555180812418083449408867994225065040675274623158972360157062670956871050687112203550580482661841292022152910138393908536462243619688421246914964330388372272362502010439629214593338175178950518554269618912163151996347858572301456953091965262395720604321356547806490835133573414806386050311890328067066888560917984983577845146563936785629835351513730950712670533181769381728719044413484056002541290072909292088639647201479921742332823519797639311025107342907408068497290141760374167110025731238347926800826411499935364930431956191569103659839170390215462841035891101929095694726408186498396704279046192835586461264371249199617893891709678423511657879687504698552559231667052451316415462337315569627466713617114221242270373394401946614653869370707289089180671930140291568732716928227817100346872720914774438808838978686083861841811451408783239745367110817371129027748138026254702242164829794961514595465657170458439814716758065653498108340070394521780585506050107478561323750008787602410796090602668345637345286446166849232421747725624031485543894505805700779103232843406490993564322499989531424036920728262117283192048184860960699636537149295221061025280882649492865657761961747198422215951220008117578973084963235124716820490611244265701389765288762428362777668503001268876868110651714179531801767283217675172463754783896790096796608142842940733223433566294262281L,
4995126142500365130488417100639192705563136848543341602841455589902338678700959640954995010503438803673660794656404153222796133586297823807214748356156589295347017664269516438602116807616795342380757288118469451260731612365476663637086914963009918585222127533316453842820596309014576569247790902354061712053741793610398506940687201590840740497878458775004229508018651199056622108637955552054317191694208186876260418461989435027431236675568852542131319813069603942448664790135391036323820275763225276485146968559697502132084668609188718270478603659651296139771144047794141818361687059789059126710483736683170723209131085925558201348890505295407333206474854712372591070760612549159752979959746661604570967091246909677236941901297605461658092918306791256057232460388969241565652325849717549384783432873382973775828956921783013777532166210667875641209782748992149789540577047944038471624104540173213855901986916727574474061894481095444528669153368786458859811328869427934703928669159597764053786531661111852939274640471358681401615116065287048403480643331084321267268292473861235449202154399453964043446154326563531379491168403576294874064826778347050859468504746727644792879231856232818071925942060600662514917380696596487275604017462714820321391095304686355398396296564502999435738378628668221958984360932043816363792067875886099722129641578189469685669810466540098265030077493997291707609220693312306217726030289932059111518840763537244682679423730022196489858467890076845072731340008825255810011067002071487971484717159693417911233849585594712416550862057514695735927462503643598297574578296953739089696613416395387701389745108913200670581110395652875969190714725095364628125724230858726334880237828757126471323355211053531636374199603689721753065156447422007626285189728230081424266910024346723598083560354848193999861630346003879742203947535123349832738150424739297746762049380329000848038494103213644429770398341316342560923948653970676476187918928139381283097675418659861047784124056366717450148653781629685671961409503748942339387799062696591976394303799724103166643042678185741573226736722238130457160228120351576283650451430402849340414287981860936432747983952120512672337049150306869380110899364056590067502868078324193581659021160613998202420568909223530609761720219720166815721419235626200085419717551110005243818400586242626945630216681272596264602050698516818507627523197841925995585843611888206670004045791333268411040276545759106415848191126184369601101966495677224143451861147887365117266673416436029721731498409897796087633122158525864999721989129347622924082743231328651694946378409853247438148057871278724265853834381061398326864746051497963717421512573846947010992211086266865336227229679970972810311838694919947449416091027001044676118626832107271000786903655775604788574990615369600016506629454506423482861938192896054720892487056046084073468221914191549259145573323796659374934428404149925518828744876806182022103952347719646601296023485721613725359985930363410705444165653799863314994254464596157701093876370142387466908994154410858544827564156111048994423891793487915099795324407871532872765873016254058193937477398117721111142920504561364648084490536955120641844127819797174128485292713481075657028391690030326081824074303633228845322859281132459962268587221888868811350018173808888366697266301517798081857948770139638309102730823699204105455062446870638902636174993976847785831451019455239543970246431678528221308963052151076746598272548310105952348860621291389679417555053525450535228651094139570492275782854243985174507202549383047386233187429281485438555483607885490412712606973895530946937041436096182735710688701911635455716226850174105223773167316450953151809032700761163808142670869389586242162489971156974365579047220861110155013384814271521387153131756143834963363482551990355499891837658131328971529115969203231068254282400392031702441091438468984548657188620553844731459818005727472987987850854865439581280617252324640541108294090671428545765553545803984029938925605877168154140518169433488508258319523790629676395509995130851407925179269066348600396529603729059632968599898604186757560979197541126736288154109453497349230017149598669773058295825621070224867652108534440364431878688106476904989649508784770026710492880281535317130612792194576069561999733956181606896885487412555891472753791046677057631166421974428242803176777325955076835498361099859666730592358562860258520876940412426185815226432730235353220624580233558591936485008763807938507604648225677859980983972402261861127674673527273083696161206406136089919655002485633960934102441350911163183113429178144949281453910256320663698360404543698076034073370420268973957716329214401823799379103945915835170982785547909171679528234794602250438406474698769654268428564976379943619917602528544701582803908220202465492014368896410082283555394914185776672831950222226431770250955090522419287542310307540986499081220990925856674970990768978334225500846312370933323275813447144135769491932323798168231750452905882526043903758712028764363661738317243379387343079557501513566542637837221344100087536740909467270115845233360364381905853243827009924418403463114668499806289604105276364738877047750574029663181315041942367823452724914062771280239380963307884777648248382699621469393617784635502249309776535608164675703579973791922211272972441305345444031345586961979303381771478101145115753829364966186584198069615376894692870883077885290706215292276810780527504975617795619677081304030854523657332098737930017784631795326735485586182838917447626741489732427469701781067968743630343328296415537305717545919253671339830186248225272722070475721731242181106842913326947426991249687638977632680709079168884564649416928958663797794216372731913668032327007412295230548556071951024336071131814896527102613995128465730391584668281229245367900337035177043680900438293244947509917985202038793163305181835027594954299595493933394668992640558154025940022343097024375000336317987829697454303698606657180171185395530464983360936979652597853556121985807229346612660558717419578011506021254943706396188774174628397724300180721355610549544054166159876163460454620532827026786397997738048492906281806152487759712845707668574238185618275375653610559954580736801263340318932440394371298206450201582134850058503904032278931254485873336532516938460473676944727005187513973275760691129782871791355745910359579558744037192041887144115544845484001051152L,
8025897790294992969081706232268572308276143458369340397903347466304810637990069448412825081476744400969045213783893729262540016231918483067706372625675810753318581339307256485154865566524392033621403937698841772756468345000560932324843923997502538203195560939471103062233806753815921821332379348783834021422201622044314251842219732685080690456180550172765582988674330142677107396506639080356654289778504936607490059385639183479715961907982199020830231142056746469169173535669770209113040744886802945569902528203590900765207416385090912578013114983967116559842571488786541887590765100626635682560519330393346468201680101650740656863430149410519886019751485955125426319397715833500823477017131975546977360206504384289021561773653332325772120910410054608174023914066387230432359200368428914986840651823474325074907552312064066582550193541575274343181580221879760062466071215069776896945271585036927170606362968336789899582501477637477518422590230098729359312968959429340425997440545250634793963203427791418054281399196988129798449570342737039121954206356589304517839520669317744702511034946527965433760748585177947854634663571865106075504947973317899446654588041583673363153529206222925653912227430889381569669691625480580469346466132981647913220360081148518582976019607668154126478999286610064685193812958797488352094272014002707415663337240469523671807676609309337648728660863703757197415224096798573112296971085538459827456365639494568551395888084527786927933129433014716327905603275424735971159582627708249399025750083551678805841028708882045999050160484111827316359929708558209258763754236435265904706115322756964616374927841388719298738649577367075183850841082291499709610329451209814480763267685848869060662168279112971259133450576884070535721561952284217944548087552791902164942331925617481757659613648172757989890241715578402591672019774831419198146917297645632332686009569539319221491499057464603799515566231568410227279108014469332255076471980895700266255927714953343848034182009673758893225341327610108296753268890807988409094883316435890267862442306732996731548731831590193122843970426749661766187496284289267454522116328444622601662925402251228317921202384511316421477027210464445231806570402729377682564170016361497928551257641470619746274738878331546124286731974815777889765830316637120736953142003218499101525921365257437257596150044102187103534530201506555528235701320519491108613561224540858394258231667143476262917323269807934309045820065237918188217879258286454635283204669740330290033868895787964428844898732172491543080851304306700134701951888463489790664160476311027749507574518847306269924852697690672818579565577714751107529792365824149696372461418659226907551607484618820830681666594879937453034779692349425111080755860410465862213452006140774797597666660370045142334090614156263149454464459840613746301663570924490225225396477484526832368632355924832841330012582381938134916106712093123179495381097640702786342419319222359145548335782439468629181558398770122499949121026238916087384527271270822116081579920547372083744570939842225814524013248069357697483639496879170534003267901289969219731993600457458613107007427983668869160161134133803984574815674190258671584650877378750474573043654337819116994561736465930356552439849716920262346467101494561993637730745333691072491134282580755265637905694935563016522138389891657054308531832068672745309716364201531779940665528345870243504025145632157796408462219342014082110723959170429017097973527008085216132454628176993586627660375646448939145922939412966156406717379628075627069148478601592216564528478255799437305934293659545160309942812353512446557135329199419319102278513123486754590084335906785968773686576278998258422156065706965814141878691456439360369041971126698721912033844270243346771438913372991594851654194408602044997597594233424224258677851985188105218227398288232158019978992867665570972072974883361370445155329904985892122491035575910059653210303656133977754291014992593986921183379811628650510081689326931694148306271751451282762924207300711289546368356286268499114809498430411954227821496526913464810195938350217137480634885382583987531182987319286617760775123229400946693588899012697113127398697078024820661867177007926409028873625633172877449844306722010837031361810276428484010860126998999069399883046130200103470471486018958696340605842560043504244551294150432811519447392385527847730829242008378130751411475896776437388167889030577421744613102013313724586160033573725032470095103479699852537143439085802598288796636847832701228180480565647060567035767110471289403930235342907458437226493562993815573594358897071106737580086187031861121193183742365199294703295956959607574065752839322532380822403284036663862831345696107784342672802950400725591000706600583429009490117898758848457197662843639647515080779338206466931224516505668807820922258869654424622458414154611317507356211009455944790854695895955979342680436885890617374245053405363765374353017307001980263522285182571342612382781204792614766670527903263248389391858691277296030711876984284422166159074201819599504406500685710398725905083240697868201557254989731781994474882801327128192677604371989685587239141259738510532071566371391456400320709773213249468085162748889878817088138984711648204852434700070363708886438931865517618287373162845947313088319559826937956263116191211460684529980329467631617826215466220798776574477186781330116680754434446226686194732699134457735878799149498849538051474539245334502294600824513592118731378169690526884728421587886499583108239604729334850498285927597366746825666592410384545286184980400898465176001360690207427181015946612321431597855876429959104908737104096634067542519831203202520414377338921702328097966952168548691905460486383838403642688436525152408757522455378966317105105039641654395731379322957770044851783871413703242774200905942616718270960073658214893811733514882019794006329467297477948175248796281796201051632970080096857697246922618013432646159634898437484169014989155463294609023346633960483807425756057724692801146647877127865961007786439525410143665147563822737330550622343064351001082475035461579695630082686272236949945333986223635997414946949177551906393410250630751271751232357101196419070846629515595378087850730550216061158396437637722413997914124219312735484698016300915976782896933882174609789814988973362533270930214416183032635308533156196309351967115972348628098641918209121090469557254796133L,
12894020066318242896390187994890676231557369170231099555329730581338260528999832204575377771429251185223589923435170669721931238983018801753224129254081370910661414152315601407787174056882358496365385276482945701361771980042911395380313643648648236340486465751151184141725074220808027224016589509693714577849492615327168998317488053349718772746947610597588441315558460823788550593972414735758746255481790151930904629087489950748025983868357385523781375355693751908115171328932265704088544176902598315358902956796553134043664611904287818999219068258675656441734250070978717090543518533983007497655393500158469394333783628640375876027993281302557348829256205874546546375123057202483707880597030803400193235587480181439946163594986941434220519109050451425688438022362474136290214856877481978259990455300797895935289929382309233743769114689451678099240403005081824512037173200244670631671613503207661610926322666590004309277709916854591676383101473463010459186470630017179534955684219408521950553467699782946929822211408499741846215075951500980270330058600001328203948645850794320516826161048869644680253411745468789900130418466541631283987943841236839511843077648565100437391763269050002420161573552323987686655171583719513350261003207508870980555415054761797519670754800740264087615991355837331072490079638579579467620798970594812888292569325952176159301129709772400437451647357357567562207859903047373875189368105520141091987823068405259467600610315104132545608216545615714127800910351731864032227549977559326397235855260021462303393300145763254466670920939190110685255723211411763806255475353193903567349992908751597453781796419319108991296519294036652736240531792203175913274529017309812834661147947963614523884625442718147377221724331213050500849320736639483559281482381602130640985186199651169220903874668018754125412288288651639571653734367340736143011873149425149894929230555392369905526928563209228971533755012727081878698206902205430830335215877626600795644735301337340791773991856305811796585817254195568072662744575433396407176370053595958174186549046031990119455210793815314508985013802573895521680284926635804594678232630068379445247439999257817604143536278100815328761210053731861125633761196852868329674357245988626162123465225048255177544596073943924713116442305953087817660049571962717905455631951876173479506386219502394843875638294776985051425952129783048363832522344162186421805345155179176713418378900087678305586788729859491634364264866017410234466866680330788692057589590451905822522902964845900974084214744130906422813398333099345250820161409847677705024461542682961345780837580391740742365684637223967353651946643359009237373956700314474021446684519000168033712685067599840492131605744094234038939901775836350508369969249276299395182039885109353105661279058449440849466814578490998121207793775102163868458215506080402722946519725487819662306047416505272247865754580548484460604250657713247186740441528240657005545447827650650325979207726689649603176309739766479453365840422680730030937150146979629246358603511020632506136792206177505226724102716692136129042727411076219305335265213893252799315493018368690390430570156682424190435479160302650612359683101859322134082627694275311320122939914443931815277501406906309117572485367217015962897480482700722359722465835388169898110861717404161326419334163036052848008650727604185499203972437438234629578165330287099931738901997560690531718238087980304612176383291010646488820781209563145489076171574090394336876452535014167831520675739359140820319877015247612949792434864760364220788414704560833581790757225766819650338758613558838981027434671857556057668434250787368414722036772754741530645330864863486622881155588592084742938602193645892879703546331104296291671223067991865653963244357007158643150824289392638295484004184820778272551624781065754463639060754300342175809817625201893660228264045658403274166028601340377868954980649232434404115238599286099431357077008625938162436173685353782418516136568210599899109555615744375723373075370446689752381992234121528903840583771519044577259271568484568592899670018788383772502210376348531022502737339024327151903364344860272401662442410209884436913391491914655015667353557901103188664343297395217710928079997370457904739200002129288559982996126112159809283426953031323634263421847127795990716885656367989923894895921274904133595488657425885755072716716499813883743566990213501790991537865532937478246800719195324490471895892665739603299600133781528190040154433787660067711552029987181258601094787173766558239737434615830931804437623676907353255846323749035296068891075828115999288666808102331315914987064983880366724352911339731172634429096951971476223889680802920624383511667061154118445375024025596315122044975688514534098645056326993496367184134374687315668635609307953902684006290532876525312458101526935322524009420883159486406051412755462833315068590675253378212581443860809409940244441238726273386366440479465824226401916554816537897573307758585678524015323622341951013405484222234103444862124021888004638815152263899227529249265157792267905088036674023037273385422059810350257787936786765163677267196652675203018131634445801216944547300063215570916318153578667574154089983888845449880610453060165152038103409500101889633491296468381926655130253299554093198707339230950534147891604485444346583007290943110294781237266836005594898920839895099552441319559144716094512259467426607277609835455478022708365763907559272493495761958458995089899552590991660616015914933919191114804862626643666369558208445831471175586587547955210345264712366920014868344032132328909506736231591223372063606706939725699988356161284091485826270847122492223055730101802454080918878097003087740450090066047875752775405198208574811021901183086296311316304071962806424728477238124401308804218247888368034277367707262369225070603639352188724145264879269254383169049826376329174662809844755240495678377770275133315155094583707792442137335106949116207498365471534294968752739067607932741484447671260378625297019884449884924068836099289621369170666605979151402332418963085708028047804257513337445337856457356305149891991421209899825799879832734538295090941058444816901084678989409288795226343817206304948952523978983872403654926944812347250272315761085576316577845024055981443554785548435095403030278117294279837690751339377701558971382832703460348513488513804981483441462653339450966889234004271252136745830027907870028569026L,
20712410235934719113995695432491586792059648192527391008146068451935383758734444642753502440914484772632869972242429358483444039872658437834690647288774838216032348069960378297169744255810165800734583640702090070388496552248981294619128498876451217210159544356388583167418260168050081858310132523310338751106470303893500978391176681347420462032112597790175665385403134772660139165061423154786189317888215414494062195971352800796002949492166137480216531540532757791780708853424319325451038315116767327200757878591354334508379980603449475555215850449092165256157357830104097702256689545229035617260886175124049161694799009144551404446564962465152684547786907781956252677133728344859089712006586311863226062444270266274457886450865112642200375364623346958630864520316084309819059142678096603602917993206801616523577570825471257704739784954684058709472292879577710112538489475770095544393133079440614321052323605959711966373105355905537366645748271844601701097892170576000541309845580164562267313291917068418519887242742761895554303200748010751169765670485030059102657371170227773966021347928122788799930994801105871114507686968692675333047829445117038278199490934211418722102614316566277093740117906634454444001294596360095222604860950944806936504495409462469438293671401471815445192849564976497507492236365657947839446179463529820988306050766956614187442812744674935235519035581056298397798188029048210919840102606857114276628066587139426622127214396404020645990360283190350056855292400703752124391629248688865665251317487329592397149187390141950094145030871753915456250436985037062600726986109156972083125318395726261110319939454510054925022591594625398180954970379175313454135327532752938624467440869408266969229708108640680757465436447373365291912664397214853544253008588740218168823415080414273396190792910486146558161260426354577163960179371260390356640124833625511399842678643718071551641412197485864154987779605746689423688354774813596488767822363603245134239955933094474329014997273920238726368518133120642819767927541954573241969807490953072093005961217002431056163618420653145763172899271335891977769555140600790977243084813669667481627733098032173570383605952511585445036084536826588328592672515179480077602222126112586934849994353642136935036190056869696634283343460748739161875165491065658774076662804714182992755011141179011600117110218135915265725362557338708866844781082169698284826234986608384930128360880161881928215232990655094153985606063843887774401017618118480122395336386742119836460897297355935460908801891673927926437994798718190791114490327576932577032974203342807006485347251337714201765648625550803937753363017578092662176528171108468196226889080189317968224847146786997428022938575884920721917157426431603815536017228969697130863334926727107504124196613419480405416918061940963474577213533599056284071944112950688136785995862449825485903401697351224455406834454147680127524377283121459134696641677992472243159104864389503086006441198281412089354025305857728510959664594267679305278839520986482995835971692109766633460758287600500600371139215075795341865944825771422486232970289561552974575040924263933309129864932654962817217915825587484889027352292614208413829841348122710307013753647086707613261886813262172799800804668580110555391124565507041102443006097658960795236963719595692667337465237072419202327324807201790646475314917696482582479815057947460879373814824602417481320009899587552604003010981138586135818722175973973183888222840687332337018138368086256082849692183932303219170897975621686136562764484291218107721818150604847880772568715953220388117658431221609292914747732282070787649995320617215217025424813728242165811379380542711622690476657441209384289039669458210781109058981950281021723099849890669740052306763125517576673296470976141733977511258343709059554272696256244210544932559053194743345218147524434422999793640395460477347556197358785001828807805748522396534104776380516387908747876970301412545260487947363352329693746857958340954870667955253096184262331680580057745850881833002360153004337875754230806664992673214130936729026914772412736574976182659157528161550590415897487244147486577600615818522359877602714743661387054182471333105345306181358681547822946916407723145072626906917232470148877819898283289966384237842493488354914339616866315618713650248746845349630746878794896710874036146351958553463833991894876502053310696243582333668055357210736790451173734969203747193246733150456257549301293000284646986034292165141976463190173020507013458560115446184769873489366555899223424721026113007037606257033205568116624446721920385376405259615286135963290699987104228102952985912608207825172433581022159792113130165386856913118785255691298076804993967731843536730827660990516634679617872089674463738799423139105930433281501094482374702850785502616451917644443152303713007316515330235277193731773129836230044766434795018149148150803229697619741794801572674844405215047127768727762965555152683131322138733665341008379493924090877500364217979195280755354095705793458142995736633393553636055884663034739853797166584903350918292812860987069276560569386691965585503170432240049697273659522920398378861131229664670867022644751992104375622126302224762391126590497235269771819248375698730341179709679544240056381286697125579168896821518971320890386589865150341210993542923473271809242468520524503471469612894380099751075790991000326070345934497639688628450133141031952797332615611706352718898441710741684368834760377188195408246711121798413158778105674187644067216619538599286391137398214952098297040137791436132634188875123139267834433710480523041449276652460123055053747018670028157827483497744616916493948886816279756150642657270965017640026853642866491623248127499824995582195261937115266719603617686165669891918655839053961061646643233804773103983157867124011536978621347541007356444292957412710628778200755128857529578068370965777426264032671866190340637481993103218545224140741947200497370806023888952026467072391402926573054743093029783391147393469867880353777506130241057111065744672675194772104930556961210037014698307068610413459627863279808385358912315416220248173440233847047646244750188519130930755723915449336876625895012008375418060644578853220268258278101542465076363683818228281094746945133149534892717501211974306549849415596219703420069766855014150609216709872252866588305382375772138177866283800372164122114825607271864026816000377245931786070376576L,
33267529096441042856063508515011236898549808047858249595587870336085729475609183866562118677013681062470684656927688525718172145519820592673054123618919748704723463153054179965766135076638008155091276873105726004451305819513675129654166528807004575404847945192147376759612708044098282327310054009816817716922900878887862374173957435772688512323571944929347137638193547226392459377038207304964183955226292604779209087945197014982330645769194652200966341400357240787442340303041441337543256285358541464398518523116568817087449487297678378431041477879117380698190092938097392483953027298040173638345154819708961389747282295463897374692024512202699103724825899015800781045291227442190785095999479271587600897375958652387247277440853687179639086787177588371900237212924826494075204929849027451269796231819576671914932072858820701382305299514212686157149089452227590586600699100211748208332518948259734079297430476154540150667850402669166862254466125114558701167267081959933227120410395787082512393405030531454889797692532565516853244682838084245401975784634480412062801345065173439700984175423597641570668235126147139876692832095153027111439955640485378634325257053781018068543217978081819153450041022355766383697349437339305019555077232194912837745201644283847874700963038776863272638479872567113967797486783497789071417513036662714528127185769208347433324929389839638791956955165031140588536760352223817194180817410381775247683780719941043089525596447399500570668003773957004240910859373543034103669889591067535410523765583720644726699816019824838836448012143618210507121396463269422627343014073808348263539193267917332123086628269520009146893612034747008494139030369594979444214653981412938351456145778712396513197440854543021432394060602456611778359030679875944235970347568497361879665874429223617874979782505362104541732001920257640238195030984066361306869465939088315917144196655727051498727397004696448301530019104600512418107123374755019060794222873899216004970299517021739625803486917504307329472983731319015399641263518357638966119859597781285983232722078954178582647463997503503709656771566831637836560159322818244314539442481393790256758559412715637736813400717516762674368854161801435233101061656409867988809310960252390217176093132965985710566570109882088243819972559604487647629316917976765131069712450336798618900989062716633596590356094023206962550702009696497894436227638043711005742570668105396196144903286571720138969010811774248167437591690977203694957186563282924271051711274501867047007646102598296585218311020969959136720782044843700202616091501110544099041589626741927167783778072816723545230407956081179984708552416512901839666792647665626072278392134778972238277276502497446714430386550143464585431323722392814007316949605353035692749573914476536950773004475027654833305525547466521091243886397178902410268943297809822672670063501317968651668081964650485186138016594528274681647777670167331697721134318400544644277492224319204067964114954784848746640634720561086254318934979633896684533760111819397812767521359894381168954357313686997885208133037090817869378603659358996322858914994333600814445783415003415731789441410583838513159322143919017762297511483871653178922168212436794054969561765894425064387785949539662475458506108974573726557884166854427598391626814109534058092992047004320647225227717096253527596878596319743918134477668656969541683815146158552031205744523138125222201991194084405373978613762268720709657437395255615008536219268730071587691568008031584468793133155376460603531175189936120159623088736127815483591496771829843866164142687706007898607642836854833331576773945298906755570692977633071551598765733146634935510191194199871881555571919656051416461603849934463814947077463550913706710991394208401043952073032949953691602049047287111334477910151362680983289083111945795695566807654306505844385799944397639613521688599941250364757537856467784591795594810939985337114716806480404070568087430630875779921134477643454341784472637093402562389359031227664010940419165650926008866471857794100891553276152772361291517541385995539523495555910106780044486684501283402354662810466653811317889283061874143350106739780741138546724949662230450880672151279675641357978753757537759529467240809469121107010212112850277241900922656219589060411884903806186111043377646149004134608478231762343724023147169943012916466354629050759369627593038716027417962502761678516109708859150054253238740329064458725481062311111092958519734351007885009409682648684038721151567733277014127562474478966025613453177815069014824306991723298897866764140393354453711864812169879838517380491122389721321675641908485010188267220728487585916344184222936951882895803038875228504190622444944933672241020237717414095621802066018775236560300286788921717719514764694207745061270874590680809547012510362623880758590928605318689574879602159885992372794894862166519116446819319996910920124270444341462136040082564475438566979498476284698717432937423889230229808860248523611392741554335482659653639003848041047457265561873994051518400727510523006402731357785162573624217722457927794470435252710247285644068161743359240356873028140542872363686083585759644355982731833130272240921119769634735060103074661690871135259746601069945353340177252584206228742004619687659441115625940252487445512439512251933272219590386605844746401559216563900152018784064744869007389305564029917197978621054984995713528706886807636138914341549230404625969931315401248076937421089938374453451706821636059786735636489595583841443477237233477768838277944517851710800890936453919739061839212867803843136461462671888383026664275103753799274400873531888201370481992413702547684715183295736388467784231201026924513593873651514569250137878420216059354809765515103409916277596357240394086149255826317498271204417304264630057009512597742508240890745116967191539815533449366719187724778243157133999251984285832398672222579079310268724594157592438357405613871840695812308409880888994627418030640128426535235691399387852133897802698264511951583350360242028830368593548705196478781763859429817430455729931092479256054885028770911091482546248575213692448035334679163385435456743404300585310868748317183488712076460710575336610287523530267540436102021359356856472859525249917019517009349154645760483607994539296298637185248740595232894224095056017836427772711823127620788834554889535636418982713063111935159347195604636350687926155024580943454206826195524410530L,
53426667793844729673657799168461545233630273990525152572008831980283393865019978101862281071667470822059463425040285077069156071421192365752536428347917253972185164157660769360499791357585727135677170849434582880377384626999553806915524873858605456925907935525099480224305425264143076046923957041750514780969154901730215397538892187724414223543005962109301403573113866748012462620233866193735509409621500082831485431799415047463650855773042501491518914603187753529375818811277422001634605306950255044794008879217819510479489349401761372791006693873740717091958992519343266989729000078519732871747268624053832206480458552873243516385618405751859854733710757699358961804660130765536357845419461920682104169423723330440727099361179809144257782142355753354115833912862749088588763017379211987813623029885088150654248245619471139145984009630821522357425769112594262364722440413560292592794544449123617007220746004173861918048051229574777642907501295705647353969851272765171554751156144259752786306852683484097402475744443095017116782342680120677179031654957773271105679136011793993468488394222179761088191943124089409313509182983114414834696528583805950509477861005127832608105869426576431422571207531895641857412617964323823972341386836173878188205233797210609225191253470205176368454555826129770295584284371785728386827081441622512469927239018842187649492690990134640880098181739756665358825007359525502695249346524706639887236429941392758715240638074622484483896834926492576712575827727952952162233528642380957101133989097310254053789914576563495583796406620931858995747285177046928250238480813762026590688823540073924830981572293498370583682133273582007329785309818613891445173132625825050614660058975962763811028880192333652178689381316791349886168856893704217506027996337608412114246690053530019592792952853748693915394189047166548689563559121522889109527625942019937323836616196668011590446846140705978182334049972566106466333031399980143756948053952592974261114128155755010884585903869169952578937806207575470859922674273208316445043025944720519544336278354000966100951869407182924187258719355547709425207164329597591941931958296459954362715528292101575887259587837801472258747100090657228483500088546158772225134090763710024281151801362975920352813880670777361338295197187740652753921517770124764083841619186292603377212613754304971554773747446070195142220772217849941335195422476465666137445271313103470715184428229545361469082322781871363377384608660238820462247488877182937625415529112960310545365805751919293897103663857628173846727462564434003348810330676185700911340683751062980750491871914075571521542377314302429384091191455369108959501729773900823936361852557438914561702367400022206597424849011310945298737993210803287627946725443288398942858789556627729677819853721329058464641468226669499422488238628636163760239183185921946544288814929245612336705909732466797314407142091605019645685229967573970940251452403670281116088248055749158366928748780299615399130965838261908232673436703490418036508444120357284830025845764164248844591592812626266389636153238933236229883261508559472841673238128493255837236056350886544170000236431766125882900132114410427928572918701735985291027883352600059916032771437635999543199288456464343400712127243959951633442516176211520227112984353339779070309562177304676719311062958862885725138742123637245632851007729372342571853658080632385429702001812138382082196450324147053120101728567971994465673576484682834597106134026227633863979045073215968592167782550762546600684427355653361191781365692289797069875847206378936563173975465332647237989074111183234538974745221032703707739711152924972844909811910128847678671339339947890711495127201933946132464615020942800907712385424058178962208375068335696601199205510952670492872659566151204106717931370498025943629363132040350468181064176735818570041407138012114789436498642123320774512678690097543917258923930638492021739294254164536928909836919882242984053941001527664329517907248476274163587542457700883415596931549402527658488781015715688850589524880547881796572870378044939992710954456529087159046501669558034627982807589788107894535801316023278843822035019073636891505562142373372662325235438540055237322904451522445065011729489947325003781796953909696095765142309973207826793725189835958243298917632204393584966856926403640374884143771251954592265266811467949928781126593652597596537630529494724242670152891653224124218971425177156613621001361131413826262434157968511122406905663237189486789949563493719777993812242423080614934512994330264092978298371703920171450928031956185733618233786627582991334909389620371659323212072952072821385531490487932308094050314219669943581634096332606431680328263109466674220832959023928134200166983751618530915890964633397326224927864886861331508512533840130629048765942923738924658924502859476155547537633238192563373590043286906810022732891840576907567530552404430843021267785130782247217086526380378537471229156204813707606185601704136490482514813548055160216046941296603872405688072617613362139089927458799464785685559744611755036571187263739572357420453651525436222576759902814872865544840414569620790732302074777513744969490236881340358035343326877608054945943713107799061592597905466232111483808145036881237208267210897965256564395118648489560701460950139709609786568208116861754001355142124432675140650814861865841639011922686405001748999923698254536505633475286341239812406500133725776511258999572998825672442460906660828779337814317656956631182072911894620909059943346058556289402338145474649723387469866639086242400818070504391592035874262997448065284036098978912775795660435692218007377767722642771146269878995208639348637886527463248711831727599962783812331360468107839797477094723961730134403710081168730845757953997584520356195717481323531649865694669624301568327727065722745694824812149225646700249353927418894463172212733418510821613098364321538726054000472566409729097939830171933949238211080114890247631419367711235475130482856801970333677153893698698279202310609261538259975146074688233921717959121174649438357443219807580534512566796728095102466400837813043434117983039853473082439057668385925449695475113881098765129980530181183027181167221944983522706779359687997154161380048958758147862458029380894417147940174898255477745988315625223524790388508055918680822204324821728152678293154924648422583415429814144554001759091351093713705169562036284441998301753714628L,
85791309285843750204687224420073402963708359103965074075907682988816869840199574958499062223504024564760593502124575010884218385097324535593672254759429334572460886148897398861238387941028996176498271631069271329889652663930678497953625144323571008707485173584133113455435112517129045959122692949265200355661831987041098989439837129035200521135841949237920169032135472544301740993539829257466501550305739487622068374248186260734742497023559797159672137058054705802341044669660469856879311329275170634996547231205111330396223935189817073315483069863847352085664035845725535300221443815573170689108085999303737110932023544210322764715214762218769307179140249488969082779395508045574509019553584283749336806253964401215587841365000813181645221993145091012010503027197477545682844303701616239523654678953467799804851539045531222102064716880476392089447156746933883462497916598729739490957388717316204046740202695666662304008311926976338286617871325328175044296601853019097887159475148613292445780666269092421140618158143160204565384416282504856572518667523021838636966634317512701032068841926300394017364888804874275048851003471942018406799503795989297939667933641989403138208416405331522312219498335219791215125973581136287105727195809071342436273468073208945407968142429523599920680308687225194882651049374974446945252141676875248648126765093490960454923628579360383821245379607535967378283625063800011747215521210099173100296380688100272363851887419601368493466520560570653835254349326442381661955734934206563012672373828639098761454281818389054094869105749255399628101668094991047063632210597275631968857868700615114584764564585761438389762514706742375631506445146174547134664865983334354056368986778921072766498310217213900506851189795867758501456254002915481301040822891392426297961611354496451771544179868832141767867992682111712355230217643150197032133499605556141444049554394979491704829572007108323914962375012812103189378882407154563340236324827057101155731621061424783206029295490408936783408770562472223797029387843961370034027698361128002025005866087098504316625472875871529149782107908659408924019798901330964510537179634935863704481805078484702614067369575609141645280789311729436653051901212940659937079878187164319275158842220855555435119403413142790488896149648749058049542750084824742599896900038337143998468456540840345892206601836057276365798984456957883176980069433121094823810322339004321133597106560146875775165852065606245873696441129008083257673820657472243241759280448753329619744779094922932738221533258048399162605215681624668182356562194609588634702445491177811812882331445488934443886651650569792482337889890112691199607906849030466370377383491493135644701292439731435712609677941276118538231805900176692568952761297859547064136992204038129805422780110773719856074958391753802030157444593505093210301039359384006548137782257711918169668934221022933679768043643395389394875193562861865502907963071094433342941219161727389071640010332617830871449266070349976349720661033635328048529218127656344830443766246763220849195298327871543888860027527273227302872873590284223600705895139434122416681341891793427524018219008777941714127752399938975222329950992868686882780364203890511717227425409985919392492534023567189305366124088745937910912075699426317588407883814835077800490360160786274010467632700608473827013201058667915143455727636249087656432646048129012280636185739858039981158723059328459183316914523544215893323312585803364756941126205662514873001482095889519821080488365384033676158280696308941745968423448531012796002581598411245253913241358629769378395909659222937773453599836747022079734644508907641481756664886729919916962823977819903454373122432434753342266669186941814630119376897000187250078279513955151255984063580246172568201246327306304222166151781031868894172087822561036943220507644627078108356027836267329880482005997443950501569985321296210974698120236584048887466215300758319760798424760577389491215039411165136953694375643232846073108091495432754979200132898580240088418386310410558003505671691630278574286559617597763345252335401379753073052203963327142194033690572519459934049306468507813127134698745604498931314400134026330557931501702292094250921305260657662671551035492957565411961571292003718340694458273160942626995979964071664297799889156931958883450892006449974055981940303633704364066087490082005314370147147403646460054161213052146815396614281467377619497184921931678620592556527980848374832122212481697523758027907079663396771108624320829793715341035073519259789983807478135843179224189857549405904309075522232073742067094190787782846843221813542408675530141052750653418154598334842571914063471001709291398848350920931244177581779936578872009167452422287555805550377817927188052721226491927446984464888984444510275495364057724530324823026260363414293748454917654867165597708103824361986649582017498007130684196259839709942998754863044831147582151079504880883969674294301205336133469986031388108467474852910207996444989950944134593393001821290214502179232731349825700791275977667328625930407089242375580318343207824669765111397261670298701752509855553380817440198620636324808284126582817356527269360422315476340400165137900825749775250527290801577175592637136926059696865761357078882509696966993554071130283929605213803880903159246846199391506619101226695547198728886080300878594185345486876280961956896465622315630926373302603281989756560649334524292836100922065641911216302819768628105510598360624572686628069856889506416824205341133601703346501494365061903218404924144767053200984728367063641986255087455700996179816645377966649935950166473414096376188420736881004462926986345559622456427043343682530340037283522798828174327353124636356860778435977896863205946599477444061954968593552760837169312604530598415785740530631337462693906798459498792662351148403736759867191040402003558272715020381376008018866698593692297254763829854464230346522292103748304627515594136198961224527569408138830774188753133390296807046658369320016209893446516944531552250222690000591841347940326613406019729074942826430759996077267657866513732138343379325849751534460203783424789961975769486592464200920626541971472647004971737946853806548766921927364655705951895124704996110256582785696984265461735042056115707341832845184204871246039432828822459344748484267216807620442524304723632961402591010633181411940717114401425203729913290205667091507605160866938707342442769032289L,
137745111886897790618309771190795182048219319391650283054956606325032088329757456436758982733018770471661763605037011334474782908712189067497540151118761488752615975869666870141125825555170795341109797810843568814377955623029108081666115517840222261065895467273464352098595871515614426634808394050324761190121858861296255160640846525081796390035634738173353502056612506514680180348186020204354227839919231061185038802548827114829569416561853729443579775377047842150959271166549761972748376158130560948261383403846437352519750360634284130565432979545424642539277314971759224974182883931284608519941987951335461040683754194722899105880009253402596553965340570106283696272887998645796042252356024166118641295946519257186270475453978005539544233538991485669761700760615081808144626234490170577293502439895118347784600022374396454443750439218393062091189043031283839760279425460316864561686628035459636296745419078336084979080079535571916075691109890333197703936432624493945414362557407672682175909134344837134399805459965640240004487614905649163234724729091023283545994744680372408284138414871592435297173361789063733953526725419330922525148322537991659979063382121496885920278365322791714971998691078960366236177756814752884437570435001140051004231777959426289528081028280095423792716725473048241126706260188426747865862868042460263968580927627637267627003199862682693079679214191501454060895934108305794642685949062622718479427236662113542803793546976161977970533531942387506530603976736717002554661544831228272470991111488679876337070400488041090961005148936691581326509839500165868546283823258371056176965899083996076402906158582169260914937924986224355905922610972216364267563867609640168713687239199453175495590243285872732163956460221329002658506069960688525303567077493690805683037372755713436455510625629193776948323587151806500080872253665082695791644830363426956942310630748064922763845622857802911849293827913095779939377023820385579483309101295657585549987257726803399093442469481977821317938195762022856331362318205565509560877473869335734830843480685692657978815839853135904868665879408099161247781932961325493546638139602895687024884036419966637901064210369652071759180307998857043441191633606833972342013554695012150460195388661056440301030814555000839115829238456600782765225505303114784449629638509242969668253579988852865024481167374462624914131877649792669776724419489103671372224523183287407485821578965184889317904644252269517719434284841004527642606900481511930626003562180570050473413154308812548585870584423162069169002442363118236047581003477705616152108370337055488190651107210657384553710370559297338539242419251237906159011360579514108031876155453296257887823832003407339384275564986953113761715390313921055908734933955150275033611787206416187306015847615025925880012959582140818687472515403110461508598479198897429081313482979447207849088142870478622116122397773759056556038599436580262575042941195733105499544653629692813149290338887212156204118274414429747071104426676946700479674438000339238534077487309228542158421865409614307559588933892221700416865136051335307470416474262338340162729065925428662224718774864829119314883785265906979218580250898059778185554691632893572648276179807943978607753851511906282836323272403167966838889589777009590088315004763851412028245699016561317348492740020950493854587611514005791876262577563172903751675361827740626584410691178789428017159724625476839690958064042983169198370510355032663886848626097672489218012639856756468628944708701842055873995547313977456905063928260995188000968925748547454203328726504386539781640052619391835299120198609124404025300560521583986732397906469471366675394660735019273327998116806194376374157532309026047616180369953872336485251321982198277841028823406536960144923279034377521557089101436575992686993626578672086737095240155030434184685155282971986252010422088535243022971959672242833311645704535785049518667199610529458580946978849028911163311894861854067427445148519315207064881165782415069920375848597822056343851749315686030228584488810175291014762984676547526316241590202965907528951232131795339350582131695996585603981571011447439071996616407807252807586109696520328797598490497194073561048688345689906223133596396991036373470348117978711242827917464156718297876868893404641900758075744210152084828491377209016535120333908954625458649206330796256124562533373754485801990870970131079743442501530035484316645806732092597186106489010309061622259912837763795388686904989282438409594506913393428913995275967937994661574757787055027849455373310842973997715231820900430954405554758297203215031778644085605027022557775418109115149740517184890505525451725616945043321944227345275607657876895954714640302977414164456241388666992036908417522663929909634656140052032380525127494146246577211892384111646557446879113335344111147824080443666603080281600803074599720410260535937039283770513981616995716073806855976542675724361821347974687334044251669354152107741664411763039775770166134306334902695471600756646958967797725408431459421854034436103621007924936478848643155196413958640847453773825654221043587339660939265904613568387711357377844698232883649519067563196350864588559620579606342308133276217398095849927915873181706015265219299187293048686694177019300136855485501762908593726187128040152426908197165554136327788523526025490508317940285984237573865621697566551462447885492118398853901798882229043531011514384578128910188911063130448041681559498583403437646815902749432306684943005145921659824470394918604843884200399641199547022677665119042078550014173409065295244509554971749151386306486442235963397112773369785892227373252615026253469697014729958075300702998517339873567430110420353475936882805428513057384173088622885015752681843273159643997238478525003495375630901246912017483673137720270287457798783633415244027632246031726513868071851328207042391481817976330010019234918514952027988790520736637081694229875217982220305094167301222654576540706870888667325242971521367921908360762447429890533031363823639098080979401574650702141362272703583111559457146460892666178652972847834939723229464407886086627044417336979200245623785806533614848720773137633982286662916001208434285796162197034595454216721021807311236753816199189646938017913689545079090922388850946165345620301670396106979793222018371580625365770849861021907770623660994511253001381899912954601912955578695950126910521897423145997083684871727725623L,
221134659681185807524110330880168574306046851520677302075839176997551998371934118483364529426585803255405934905614860337750614047117645166280534368029884570844590092512666870969149784994858232668105613761419598284340058013089870131418813989923601179853160230654324628956040190642730666982535812822878161986821977784791038561887996196018058616343769739194102353003474044840319339886833791242299623538584918607756710372590020165968993438577818528349447599605477067738012975810720356602220195971646713018139115063753621374287392293047644954819922419232912152538678998233139117904932946554435631993947495600301002764117526034444879974595342397382908079679836432545755462799482883910718773980908027073760183107566948603138111892983360085878815029415684595017332729264769976152717414555903832750477866605237835146279877973424581525856504656217251032993448966987902834177316206978912025087329858573236190959017246186783179342347387096557241818658304325559068412797832717556463424525731305889593915984711381602682535437332120420106101940087293170148588761394757640334966435300759076025892340833620078114340229816721740658336066821860400362080802803520265781908954488934692473822162820117472266559052135154198913658185879948945701363006724975722662311014119383431679379798146595770317679533239358237608720474935214674407323542406992828151146493368411127282328220336599995882631042171502019695209147116065378864841266258805057474960986153355331725448170284609812884324633583044663506116705031013203688308633446239645863001157347819350959232777561010003395115779518539744306616038063345286260161149480980391363239360308157211759721889800269392638755160953359104166030908266533448388470144145294789980384275046730795673423394969796553971916220729976699756149583292502683359871671663848535262708738661519024287336405342513598510694126428366170261577160892640538173605348527681410741925458768764401020782003311703291002604442980277386878041910206224961644790083542491393128602873692387304724881828093570235344421730007760967855697302422046955909902983789567144983159688552663804611007863588820213816602004646045530042241932339358133147495139243996872236617988235950862059946407157219018520485648666746200697292469781249334295419749063967312736314277211906175146450318371590862636161958672222419112639037427429534913932111332976636736599835052782331814358209739185709262136903908117869856916539976903058191542930410005069766717457260636731751062855233189523824283289917781508774101927803088073994034812577274160862640878155570376166352906008359894132065751083441445120669229096534877740245136489381829667948717943567519398311297202312042920790901941444615310812349299653609201138171498534127607366633585566400436129089132477449020846368880294682977661645625115855841146101665894398848473211437162366006342491249578250975539829169737517823136075642475514118824573010366105686368063471778318093582315401635580025161548009750151003128393204063556862700241589549680609008773947403198652386763427342500867703431319966099260970697887405045086203463619206017995332256044624456471968990884104562938626839133889494716900937963393786836705414395988782025266178000055733574420875628133127663460801228460477592590538322332852713774589789669417423235945411395763005344882628246854522535200235372855635863540334547586012455571981425133067856882055688222796435538675576774834913042795304952145613669201387822549969957856858698007492792381049897761717552635266086136612096058245047832634627461725211432473796202014319456922111700007492117893553208178043290254504794047123511767544623048687230649378344052414157004993735831497944396490363831440765701368850495939141844843341528456525723915738899506185975042260285211016468251781100532259341196092230592973350764184875496923151151211898572786306175278630695945699206267574163021534007930013757446455415283721130322498348626743314339800741081117019513948832668531699719813991938661444392042306597228471782269175565864918610208572085569137713180708747763297126538299310486219717600264113918436199132094426436754850038148396433437543916319766624571152781900436074113117669075747065485301397392954546558666678975081713146453976311813787163751309665861558878569084244604116950932725220628601102142451948005925640346369647499395659604715785671893543931864603997822178934361502758073859494086961127423193697567692652099889565247204250130099222651539783711583179395737146711396413632145904763799723216102971768962947674156621844379785652468846220302883347964345417924564237021818360589224687653481871281323619771900573426024636274445286823182279654888846598581856250933968591389591491048551864318025656717203133973977119620222973234082916169596529703260209910703355772716269020417453459820802967306118982870311589347856392282817721344196467377949704426496296259312047361392210920672033752021415275753156453902440115950758909406137098843682863530384417811556567827142463437143443071578079095436176472964405546638873950276955261027603634509697513297138053766706212686574475084339199733575976143286051136089843068533072519678931843855722696696238935803762497644532108056634693716485453115482417370260564097423296564820620248402760405723663902024773911578620801526726788343997722620687810375551842971185187050829314699624898426610677576833579657624480997584042261999798553543287337659396721863269899054851000340849537664253583054203738861940763298485737470019831622508692720639182647853339937277651910619374446029387165993921348023313099744224834949594072916974533927078882130164190612028311641984555367754277408466578868660269586675584704832712385560788409038588899265095572281263194480435077816003979846421355168391011164218640251640083217841502178013912528124063854922748102308638413820448085938634175511717669321408333724383311527961555505312971601603662934190524540640124598568218707113994532215135194209456393398821816635639734444023914403643080687678261307092999424608119557892679796527483889673294509672241158600080617454255013260643420173553576486569741692810986061330949859612069537258346747097831981488815686766240372700435057391237387182319651266194036286637121004418483719392027823649166646426303804726055908866250790768966386436299633891938280364877962071508340429017601757236132686754247945406655021007452638103700474481898123257924142149886503590385293392529540942063625576671277624861782350760733089583567977582118670437508661910309448410560975022737352586539505460784973955046635527823552L,
354964717346672672804095877158611463933045021404659042978466316264041135556216164777592396321998292403147972077586184633834817419695257000841935801876320380885512927574371015437454335800839301784543515718893163946172410221275501949317245112273578492205227042200157701501210701738472316055287320654399554681278493272375737383309213735512749969172558682798857333132767771891891509923389613054570941925482671661796840256077016922319003498658200994185305552626809300541747662521807872193805351509831311136905530464261211484591829070905154763757497714869569859394507375320212731133520755514137156159747472981260428657917011952694863534577374880083639231304144018056889570467498736598959210156204780366147202060517733636525901848891456142143312211615528710333889683006849612539029085857740302080816631276602260922900843658441015077350797200548894818759654922114540547436956422402659423001858845929879584454897920540658127820456771773754801770458679943212532209980677772246757117549691770647639826191711342463379311226955386018261685577924295975256424700490502460541478615646739954237829398938183737643594923120871710307194097252187202465793367938912388986128309167048247924767195460044418706856199670410837846815151307898042020185084225594762790774680043027331389008194862833662016103177292674911307963611275066330244630430063884292468244572955568522479540997341968013375382740372546821637312671132964205863984121203997654096221454556147623367929542394710647606652567565675904108539408111860353064480284584995145688784924921054985645475955739671232075515249244669174334888930208557215190317979168098965558517800799551290898006694412367447938727215434490029017377298989419472296815002901887933513028462598302002334083387113875219131966015254101768434289886829379740458739130800812245652706241607086439884268001158345988788666199843725957704882092762065986471077827253920113921374222220645483165181516819463021107973916808979964657348816208049667902509516513556157717243160072594655500618572036975810984890578678067079285812398419191453694632085602813048812629406599704471506657903923983236582340216082903814695621075091566281848602781105879333642633415610440092759326290240417557137670509775957750826211290064888735085991177184237642131717259968519491052280207792867636847551958601909615251056484194960167987420342258469311592770177551861065705661437773724415534743291869667192876632645340459254995951698977494114523787483994245094964890026049931394314735582268668118487256332294961905053274383814092315544098699504831645254350970509441706929485706686887299247892055570388634607059586350158733467936665769799484703997227866653241551013028745693142048427116121133222258021906842973173382239771883462355921829381545191910562605706766808613663832867056060429366648308502007500751680869949683604783509885814830867518609462014472849556654184396341373130745140127982904402634649338501284816281664563338789183288913434614052256948939082055681918161731118941051963455551186773178694394514804206863915201394217202290890132903109939925219947184070239160627355778637939548090568261150147231308539576800195880521041349144774515558258119395637711219630089062529279630342027178174525912053303474771346547426128801878435204288300372789919385823133927133309336535583290393692603648312240487558350809463150711935908904373884466105598402450159396893769768871101561893192991879021656119246693486536091283306431903651985685781401801229418756090351316018712179242551601980278368438532219467312920824711902078921621064079473411996516784786035472688428207285157081137749529222735881101648429898093675288981805629168513873872610879437251705203323487485334244973502247683838010830744734101442292274322746338644248775972172076696792843296035379778576933304541989599742832093330848810098227224665759384749326328068258270459578378988413360473880449556122390063790433251059072390683679470768104380404032023784291230476377054155218799939702957395522184381879430709188788818712326720504827375476104112821595191374019554909038449414331569235735447377392762613742503434128152692990491925581628093055203097279768151476782351266216607432067048817469399591093291961462369117790655119066745076432692716703632849800129846905698188252431538801810600089137775269232563629336613270357271218159228034155195016475834809910883935279726516343407034006117411619934437703568306028821573624410868303892517071419098678269857526589505332904187588410141084937449090494507056520151598199247251115755148568840003463545828332039233116710920582900323403336846506715106640259857610952524636494050677215185058253600684295866516701971509225294481081474360969916770995638562581767089462765962660145051611545557987615495278566823008464195746929377936226896393654086014142637999136742524669234997584350369242349221380008130409914861111749106808032800622883021060425935566634960729076953198230606610760902589184873279858867963050360724373926630696307602117745594265105044190034933820018947644942724294279622164227201932271226195736477600208824810415323905835208863656237443766777267752140365697011436062598292644824284255105581047286134711758876254893369777189294494971352518120523826122684647605044122395420344691704185792846258241263249871861657968483531995712820422534056823957539648360031401629723894782861748532228370083276615790507940301994578307471037854239914171606093100018701903925303746588231413259112154444859890868900835882029793789891937005967744947359946556002564865033188838347623535743148158792210486337089328118282198670408046740526033903048165539699162880722028455357311654393933780405609487063896754421337204197092829268196486302319971805120578667320407561825440153697699440291633180531115414238701980079823430999189113427263084874307935867863372987169126221113655182136589430825938302009053789011311181679703469744034966791030049803483069063817810824741667601095410885898178680351231868180947184616262650166957259456079919063908324699251848367442744798731413433509289343348225161319086877862228412994577061823235270656159197421616136379417982786005641401107401313488809927946096331998284925450411190264559271079292690753673769652769814634113294838725757159117739358745690576489089340095873392934733008758902145596626399827180518690883663486247334860088507883009667847218886789824654276989768573081063456889278423017043407215198458522996351176330338617062612826225320733248774402433196128587468695552262092850320799290893788286247594337541653519502501700430432L,
569719827576856661066499871931233923260755368056078158802515009107774163479539356163427110685786151637759438906141430492004774738222455358457193649591822242359477151759257395844643670136980125022798241900710726938129389798529356125267465052406367001611805581936112357038600481509733825943528794028879295508728294715345181311443961723706168969559922877842132277502204118788497074019839669757646563599772079661801192701157283358301190782605885088151039766951289155043422867030798201138947406677191020079833805464643375663379149993676040814359054509815726251844053384381250522808016465644703495212939493347768204354323912358017392166538886340425012459318357144569601883478207270441146123268998803276379122770755821481659816285179262772869264710809618610744182241126950572735138291910824973252498342110464924483537123822457442087416351487452809350891703259535770972457145052117427246865563933878156537711558258603818419951917418194302638325774638350141870239720007107496019332664296252233129241797029280448577083062662690882130261094639865731900296066998974291445122008722518214628527385771886580351809510459958713480442773922894135174795741263589161085509763255482949237686381879308323804880253501036243792832181279431131931474928130844881062198638434296239171021190901889937740700155648298602272410197814947818907401954455355950092386555990622563432967062324697875300619527603509480912715124692797015892717645302925340604633882232518027516649957631773637773627686138372453181901530610762233786284518226437591910410418218496499841583388344904607867934719771505166759135672966272125276336013331972358213947562540089045096453916459403937492328261089093491200839450621775195835410953211688541567117062210511752045505831545197465075852867017571742587819268856123744138950446075451200771610187148165558626744646730328855706506674849067568036513287251641672707716167257091094757300190271518073948884593423034257855329429188950563189651740048966217141029845974542011033279071134017981594258539311268796493810152183180867883974000101088540840258544099010237804175017681929906084750527382470492049055016071572124797189593354976395087806763164547557728526326817085697631401878458757865464932644237484942730899576857190045009814399155435052582912485690550319423504910480277228085530924008117092364481567272254389613595160119462960334110085366210547942656149694673014825614950953274593851141013943487849126280778939454053913892620868658219466028078599680335799442886662428187488006896674044696621898392549451465504745145050887047869812761473805974527994333026993052522084701283680884799083857866875395822515604369601446086256329695174228078103702111973212111292667375990498688149016317574149736539906931265168024261900630739990121632375177906746391983323478280838932447637034437299548129001762617329093391986363649726638291003604778070621733046186352994590706211185892304306342332837713694722504900744206881149943748394961585134491616142401229406637711155475761818241514963531905992506256672443457426715058875016792135785651554001556238071745237692074130061753139984091932689433678588685248654433200323420788871325192666521676262975381538201016359745930029009234091838096715830533379216730280492638403332586341799467760278972665104868926890234713762562614262814873908413039314766475682579853193280491600846150526824502296573729824484444920956877002702267323270034056745879228355361365358167097112723098346781760194390262905988532183101289173147420501837083628588654670441890332787047140581125961513484992785077375142481198608878627424460702195249565673595254372408218151273402271546960586096735506865585213230053417734063600912099275211474275284127283439516119347392885468638471210163716500034111528091600276487852525645761073741286161181204139248633276118029249050574115847391667955794026126283809689793912117808624561604729982548496232790473482024176796018715194634894720159529186860051207106987766663002237001471644470970828980267161289304434048128197258235363879434524005708508477116567423417296654876830777431121669840432065035621801764121016579319998913603396336191059820245919242155172927971045113702153432377380855797204005440208801386796939987208602275467120930479905091799301107356366892396614797841046634392456928979660648257942411778213249959210346704219427343558976566017551697396785239823721241332147988685275481649693844945398170572099525712154279493855348785809650301505333677577927414553099641835561902116981331649930110010997619931517560674763695147667646395969991186237092080631691012176495947569347678742529172957333543178077875179201631178880905555787465421878014027276245601113700167198330157334561615372478328618606943076781716370284283138780357603281436895965365273032877320055028706380364861483178128132021949059557508019894909469705695108136598413623209911321375856417860470650340054894458148002167911284841803637861695264179072845331066697282264794708508415980586706754960126888829953476473482734467501953761832355641887150815802911522176219669231776609503304903516595759789486735599226671587267749729915583015592310282371351406217717222288481818698239287045661896050495935446601695139833837631545848200693736689253093256097019261427275005204957322060704931478010284866350063959941527791735013678110153620098669288009496908586953425785002566254652340468585279042185068989500491566414248518795250395735685525257328204239355555118110016605721944384428724971256694978035632489326801035697857154181981550278495633878472545499364410544552259817525537711905627040298226087083066931060249568344874480651475215634484812956587221422354578333138465315433939306683881929477986266140979567101073850562354781692217014753096862461514288061891731183950479315374261787192530144272615839586529603793443751409981603076816158919183539421837468259381068811893581367048579388135863348334499208180333300429768140340107751778533119242978791342611266653438284953479422391334533761823798585336799908883751602183775266180141487745417953765912977810369068097703238034409546878101320093068597876468567949001817793931749606841169937123017497558475841005011556941859440688517139386331181350858877105265240722388521782280773836606053472352016404582900613706824188436125383473949464422075456286289640415421457784769312791064890382011714838176409342336106903614177501403984543710604857040115413679335385331124489194746757195919534783784544612935018460212568290025151090226332951245515309929624056107584986276134779442496426213877362L,
914292770565285872163520705673281023976334711394932518000296455461304329227319222676566990487624007461837638397787279375097406236662842673417762003073986929457884822811486943969360809060972916233833932645398036844309415177514055772093400609202442393180512457650451213026657272426102014908456086468947549225178821164536885379743850886201270331408069706292381260884775789969693108020722269940642155692449750637618443003741050427608127467810369205277587354854991275729195863860324615793062060338081447780232138408856562294644718856565356041835764016241082882805792704696450786595729109689015378356475284139210916312605189156375539758679046232278619192868010552787277840495023922094679640456380222551184755787151633621608292310824925083579088227599815151942825412915831672414002117396675870377867572122526911712683741241736162802257549831453304703649068452181914805279951141969980863036716207863174237155032254516936395163841485428437949070649077505044030791591701600523896043473506631117544543603327833019968899624293793466742658799338726091783517580983263454288245118880930213438603694734614967661704391920350073655754372248166900304265502908415904365965400419214832954480516545959880527498548713786405548833968212262350627223827312712340720655598681470991143121247077832414695090296771888251030460838039619597162515444025865952876367630485581100989014164609286479778179000312318475658103601752135905314047237189220441639440618742355097921236174635494617688707593197141614514479912242077710825160816220344458544748740634249220930321778582725777575556910684658411515498642499023582903201711201879819484509960286599113293319464790654848921419451375661785639439861600820008800990699086854161739674918738605524917789988251744930869491752273611373125528421329023061471969976160030901795097149591945490598335002657749449162145487914430240733453057864795628354342397932147905919018025878629433899094515441077674139381308798324575234929245694149043363690306214973312970882723359592124824684047334702661239654467880316603553004543619988663776372280602584212218959893492379684896901437645680989692869639369370038027200878501747031295645215997198738790468571955866280907380055490122507880681682887941394340420287980812411138000923387438075970882578867932496271126873724801191233604268277308423283524629769040477285096530644949420705839543152021520421971952350161128761432477509337412391011538040405985486784054953068152097419607347416806579099782968385219872867070279057829030398224394620431477551082871323624312069463987463036622692340925064283036820087359005145617548620336618375973891579340937308843413715812905711795457783910010087797577425439193127850738134035838918016135433130911936815745030587739394591690721125993981168000286822281921491890815474540997501515425799898277836614082209451267168065785098390726492106730239383284593053803390871162556400588510071882917599795260446613217197057315546297304489819471852867304845710012111629274947652259169223671183695389593598044251970622965754607437864561802502366884295886407697819376921492131014349732192950222829425346856395898805418875907085411070718472080586197572675000491116865723996987942634309099590148589665705244887098328982899664265606492478170583659806941259041138618282460801524601526837883185358856344178283732541806875199982975783892529002698672359435502606903551688844826323383658555674048459418744352360980222497380250370164742336358565982007885720092428572606738350050919634408276912032769213870604321782809762858897008952007928119780148987831563357779248507426299021894160295305462255378869800642272773155695019485668712430997140070871079440296326838772703870591897957937754822131790916885389361625833539563608115586529851713299436947513511784277178709209034337460243361387510476328087944078171560824449249487156402518426929873207895696313211213667507489133647705512199085923446442369333752681771985981590612595824719757282793578470349704768754496933552708230783645063951140023097230751322823668993239514717072518768763419004460870135800834481603360396183636200033458653426009637746021980701145732088092785792638623840518363642365987317116222389245618093150960139317617912140692090311592733941482865642953190970456880243908307070874126538573843965820490686274610222101906102469986494080015615746540134141738088874829634210643471204864632290523973545115188937687199852894721566466138201283716621562614904494995504705347662426862408601728009695513925569703383537925148074454611596427312046142657787649695542049519037917865417572007834126783297400086166962637025058805252845746171550771082661142464379010809338619136949906503265063428929448813198075191070285767942198633447113458479895391962860772066890214612070143296036726448987387501418648758897288407152947422386656979184959569999845620761976303359818270343422137004906268822736430090075647965815600981612107135650072430086786153243942998648103719817637025391967578734120368116463936516581629448030525264137625924437784417402110609129637077684462169805704479106983443359796685085263018842001841336784101308902419370891463403434189089395808915864555103641446259421275952032914126433701454783347317792195807694602246902021018302212364402901407875276602678957453158250304985028946440338481007441911521611070198303543500577318520771365517765522098591629813866569555103909086912886570437848644860098401124636637338254423212373430527057682710693487119726704848587923585478908587042720470024387647539868926375498082237528748469180864469835828605848709555847229080300233290238899462861138951228748726243291544549065126188521890343613157344972946891778508788885426261394733366877645499195470812863994807897425838236822360848066412353437062591429731520649373804689372154704105263465991441340768813944655625501257112301608561010657676906683035028478642318281102350094741774954599425851400426034172984546691236613411786850976572318487535587202377931304265485946445835033216838230323292746027898216515128792179146394455377776483149651883021777852685193212597046795121849626567187097130951355867282001214156867575346904194323596048818540664522369158469760026372478436731966254467167491732238541375601464919326348023622852560588330876826864416678943264445389852254468186552569101973607956669402500300722531660788260163334545466781635638724742189476616191579733356649155490948745035432461369539479601756707098284470490579884187921282000530168300997158032284747865001108564179440737229095396132186657635062916995661169L,
1467091057888624806509242430817753910594649137935435408022960961330223293795886655588584998423457818512504079991896411811540418809384530165646898092518055459746886612417672149845329151120819615503583243594526661594833311975813885977305555678426473437058267501775355016736962444256551016453638447166037847723668066469588575507024072210270718568655737521276275329083453819390429973366870493069437461974394496257633551471614050480251814476389493029824319112789064385946344963864802016997756822427445766337317012413487911394690814563181185376964092802687700325618766495553313379801401710342355452039074590510002989821016141474772330857732336510958983562317113673152857143299324856898777716445368520277932783346852239881209323420573632631446383145134417160964622428748251765096502099936224411842006239279730404930290117138663042605689787229127038447492492568170781553881314522377054071590640601966716344323229398989465801437600731986658686858287438861137462626866222628676863379490569574895978536728189313036022211845612675445344649995994146878005816427779352629845062083521338259335087892568478481199859519659856636121108068022571576807982822272507092858955442020726137023112870297123472315934134569395045535883113744467189502591514077296902208634604323736852899524729203202365967606467117051012239857749676937349563133499139680719143888152409242322945589854470378650996495171458338702368662927019527656112191255467291752248051612160605599116067877445976337689822313159963964562998381316302211082754227663571512716477102115778916402124004301310560861011815897827247181741628763609015448527142990077450949465590378565334826431847852880244561049823436503856231708232797930902478388306006606840829760381365230833973024315737856637615193251993882575017677549652055635798856439760515841192946050812481415901052834342412828423132348107313654842371164486634171091344087853082941823157908486819601387554833024468793295752682186629822359855725855334606381382220708779593260534657259086686306473198222858207766787972799623929052890331058506350491810909288342526569246599375231133546196118132980846337917181022962912774195786896283551161146023067529794814351978628581202225618342951559541231956900418719998233755452664790915801248925131826399841520297204873429787038261518424649448680931914817292535807154735635935448574886844806369199242877645626029288082566363491953429636093409283509153046561486458271899948922872861586741803751479788265283640474688945749834497393561548666759498406506818537813675599184897232147940399671237593005905158926839682083001681883799078007916734253752865523235459520394001852888773710420503997389945668842227794534310150147167929354533697635982154783968538036422790152413812026416882462844554737048769610671228386815742728825648458264116302566575695734229988882425383895369297500344260920746466792826728182274620210183775333004838399394152913684368175599566999520315327185357560588852386408441381137515902681936572704292979005327548216740774657587814349800093983550009724254809627135805339878941632233997180048330519470969612900995290362539607677130885749126252447070311526761576290933731718602545611157834323050180534007551404930176725711927916183643114323655820976327854061077971937289791632111136326711627489582195885314139381176328090499216083606293830368313719967415634803606925259878018705391081874671255384881760388257192771965885803744810108750701094802791647817818067792887499791891363402178859595410286380326101936108270887043830086017828690525867305966886159341959016828867491188014107692328137010870585718186978152025412488116862251744033092826873161357782971162374213268158529695595655428388489749266678458646771457508679923745950972753393922563845494095310013858486614891344070239765133774387489785359208467199292638415250679517426578897408360491543629099883541948878666376090199057893123718901044161124519195586439976837773088686136576256028623080204247829272407935352424936139576897947820721662034655547706335948547484256032811926092149980096956472529807193996701636109776318028541890400011543141214563258671705639163909815877134873239606729533508768721865476151839629699564984856122639525219190664479018074757443492357762784217651142035112995275552732959916938704264712661542979614522907237137962818622262196718196636388285199129336992796072544725445250514774092942277999413587081860911343529777623383353742669396685994393236989581821428471568357974257322101310335439418636898519700657141721165175138347394183806237267091125064733308313098590172820674608483347738484561375691259302233758314401785450972224856064086451506355654890536621548964154429728957881952640497552875686172411900348161081274155151243978294427062578113823785770044136497529038293822974315578413022523590039907268178130062930581371281814318806910575700762502839223041569888604048686742981625044265464771452127384231175558034625082214541197733460735302802816423200277240696463534235880806263689223864046891256101729140785464389951414107994961410913824709730856400564459578505407417208134464451628586612662634346792802591683495538154940529734258939789941860667693528052915601179722655369881730840122273304412570321398604066125694311154444646298178509592872136380505133402257129251983970324311939520887728810695940504367283215619430145807636723991517002332342145534631559432058418227229957156098535235202459982777497671759722838912540412582712642011698467248979303050691328451772808903981927445381235247901446742358144394623204852448267651692082264644833729703642923603983777936308601528887578508857445126583266490039892646934647868058126609537552316814287082500998152602205293732510050235048976966645929289870559237238639221244525101079093647033464092576034211206151283759937192904498812045146701678764834661387345248441008749687645310302650304501555713771541126899608439226848370686884919983656383032343665451427403973097642999207438105295488490158909994155700665434330659349684057063100983219532219002599738448077655060876592918964909275354858513045251218857715712555606915204145198789318685529372552721198164141679302032870665797854737385423170154089863581015349319120076456309927478040122126807061142174312075287736206691549004635616654927026924145367022303496723898624908759486118352418328350611588359748102940963339781985513234930214568870801437481471673344518683518711169989512400031292351803963201392741065214764862386829668636671294384837351722491281987905916460675036295822180711184881001035646950038741L,
2353838786543681937059057347525214589780988410939103087663900376997595785372952935750088351804724813721574191372594117386177594042051246057957753388388171267980444240634726852897377029451298603359115414194365902811471840643613260861074152471067615109211837943289368943960887743431335114082607101797329386621330039599847915906518661733776264982437105134112292354046604258016463002433885917206666025251006139227825493782473867395949705582470703083208587079332703136926187628995645712035614893067970114209930400535014777963893913157523942937580333664457754806509876205016077453851029676439522632056154698588793142477127916652865109107341843691596986167361866632651983853152223297512220620560905949214180185521594849266892708656385027100611318571558731222857825228449282027290460177353254901330579620302256280976510253262330772112432140866585956732492245949437537266185304401979834980493127591658365332028168741474187236379676762203807224141478646823470473758501412268211971541356870765816814131748823508892463611952886550338471458836336308442149658201889581646179330891393644152443853262892668106614508676425553926062844384828304588070974495373037708734351769107224082310007166924685288310218450949662673359333046221626594631790209996596308766946609066455904237912642436549380661409843313613738208929805465533227170508806177964016504729708745153688297570635342589744546265933311108797501021279766180965026732526212218149326117921428566893914495894779075274897663223614034092322248453746702111013611167564620957131800638029049336780545191410907940420084289629402529904137303767583006302751236356676627167623820963962937804387856502502888051581259787134821050636097962064798936749658894348856124222808078870436818186200810101862911512031618738380823512162537556753277655849973827045490721095662862406564323276943811188925227554577070103307565817693980695790831843064352618045601576190634548832671826495335819791002234311648153342599363688726507963572074002186454569719871097083745276635079371196547156677090020122618742923527115056546668603448349071586746507915682163393084471102079634076387135191304125769988271004180869844509553447949948126003781442866092597119862584774032177364844380212413844874885076023303989240710542318916005656214052898813935209687797330781875785658309295813198202266238534901117417875304496173685579524394044616802900763477763705193924684826744814432815411010677623662999391892938159445844842602841439483614956793875140734838132208470577707352099052970618413625295503394490768665530312087636643431574100007271606615426207104329273543282834056649147353053208585074853360055518248456767317787696718636984162510017007200689537347022094510295711662031994092573225475666861519320425520778356718076765208536134060870767032356477968607292400817830513198339616415621429095428217885727267160917937887163322203990797994351155612384210757556347157078778568985675282033529895994350855531542383380589006716904802312639016631520152157223032793673448948425325556503897161958036682004702961075678455713176211648696079028257316403372677063187611995858805872544744932723201393799063711335060834186919055699638291494892410980758085905981044835859870653027714502054227580840607452752977717110417092266943723716688513741592455756038884858189947583434280611153674444703176537649675550581260445058715026438707523386016594536686260540214071503768886763419567928551691387149041862378375206612966415629658141496797385935866068641656406048687744132035442566491094737728674435239568132551998374923506679402651889956057800259253554465658810726846254331454273697167957500152627382114076883952195240195894752355552132938264031401805002477792071770348347819211709806241724002655683120160640678863759171538032963248011007402104172337045040765418662375288106461465569482911328860195857201981534237056854246932805097350550497672731061488945497507677391292921748712392731603391606526294877996985281747013871261080145328537492060345865866283922482236076847735757468051557005720839810253698139572082104331936908434012343073447134852666283660394492862486117600972655080569084070671300458366198551700997627183061062027794601452807342508096778190669023335623570898822468693280468566565970384789751211906357695126347097823654909175449634679851210430430165035334953580047040238468357326799235680334270419858928934501874327922276915084077080388153083233549565519670441789643340906834144189959031023792843228981837252058750334275005455183961566809456419818323445308679847020312742973977012135316690016767805884824915233631072686651737984601546365108027557065706166971154872739087213221269727413697220154614563881290157024002882304273395695953964018785395234653877031584461491853835690114574480924887095286387357110311878907546979042521988800668847655887381738746898901482132889023842269853647478770434258720712480408755276088112101741513512717619982123187441572334567999277356491636190403817084520384888641144177605433365379891541837081453177276264686182985080813235983865361241823093649708360038335333423256789405665976450178828864850683325867564113654615921882077468484067052605707392853240626672074896372884936141533671720577841335196097563955239669412848746280902737243554568195045371141442717045359395192345939684546453968751751806328811772963985129117999155002839638315802541659861315345533439774332627351788657217280519052644763914767085761154129828337181236695171430663224532026589565389978277237581612031013370263240406801900894084493536019191451684382683826268393656489776972297334826259940461240342463774116977497081323045017106997412758307404446240626770386781653903799171159903201636549463625895793525779763903037494972344198180520286290023939228359075558568106803463379639142739924169065914353577943482466471222327466175511714197765582589183797243859629443938644772821596973180556369971681441251772430445292948463391021120953896897717306111170896996190359037686996531931257942243311328160198024702905375737370508025252806476890602283590111596873881341285712527659947762203912897115955633229656118286248792753946810705057142256825410779304740990799834921633304702634552993162924704381105910357658167462322993132367814191208323839380405493586307909902923654427577491503052938729319918820481313270152928772063014286871346857569502522780662372430972831107055965944616699235698045362121444883760225724580174596092310681513543373990680276972082272817609284414832118661106350333924719577007252984133774239289293698107217288410507L,
3776106619240304367059001342074774052230475529117791701221565971215393212388454979636637730743892477870454572170254093874171210469275670657171288116863273105146826983598504171288832828364665454459829613084701079463094182203049835556556009973104160404582503477554495158845401262274040435889545091646876759261208458191626428432998974019364350842891148507443751669206666636607359314667657105591306029672804521681858780747009620101898224549511040032721457227574757797490671890670535820159432194281605886148674200447785281433326452352731280641806798731411853592604973611688765959684014647045214445047309642968882550456525000390515211156494661042138072437871101516673323062209777755595597801791396989795559756619631750600265995494229369547167265915809080161873907984697643527404121040820318459700789757535612702263019354132431539255562177222478896522732190906189019079780030959112090339152882329583070677212138940725913912792641464020123894744740174668166508690015519629638930060682721711492266442195361795597205146996195041755117904601220093160934459849431094393870037743799460372638725848663214426514007522664712127513096419545892605086988731410135119881572285895435754761350599380693827623416928333918001520644418533911890792122170195243985999639247504254181735109574516280022121667356892167193682485964093127203564053335084384527851240638712616452685620111410099335938513978563171703935361885848704787098950294171700712216801652273808486064581948468539121796642055745081803685169113708537140849514346687457170209431874420702202047406203346020715132351130260644924637917357794917446363855977680646128772927532512732895629027655873613180504178386899022831588975594172300341893871071418076825352069283624655799832565944010080033485621277608618429469910274641337135532751429564802707159341045133909199820479730300078533055690766730751293286446068314551027280355013232025030699970815543543586804821355820144059298578410502564817617089962124269143055552706552878803901091576488917290686800509000758818119927669237445734186542277686306470130833072626487062022758150319107796450609065750592523250387159196953805320830831702024630966051364688109062486693456976810377493140184759298348651099272748931577667709359589675547543730286097346070552217982285914016353098011594736211570829207108925819472221914206748065158311817142994493437119200858841441967793427891888561471968586512782781187853828249652357976639341624920525786820285230298412605179224957082635409764327770752744350300635958823617655412819930132142598910485039237787257438279248254603738082383459413693912286266364068461951174312676054862582547060762873973454396951811848279128122349063544843144720956737181244665190088327262728540623852866922660930130137442351207432309103538689329809573739912411783228077011756225395413142379051914504813951713993093275701638124271690326647859763775599624394894345643048419268529291224464376231014197107509140676672889142188209316386443532669427308020668282942091509954012943456978606929073125761039881666916151117606770317273511843645943735151310244211501999391010245639296384630565796207941174011551099907268501807519132333899377102049694534312646233664668002390085644521203420397550640133914145253878411194309493664666711937269687261128167105497179592423582226616892270369714930951919445289265436781759607978075898455244289503774799466922542363480365033550875795073624883864232659889573876162930793624756776722351773838231124836001249651220204373291849828075156629662256517179856577754688653627346808399806133511182803839088414546288110311301925167472036718384872061243378094284152630575981721115369992321112629679402797885305363572496270703649148380179726646314799660479683685830273124659428940759545273992275134675919879870073284065022981803808534712503197897205517958306305331316555806622835395661281552100869685757209230227448666506034269491859279102894517914604609743376630664174326748013734400742550652315714909970320518221108621910525195211092043856256415806626397793896613310711872620339271881541725580126716876973212095871631917343972433755338602349463057446984209979418258419153553956464529483657476707528759542820812668796604393693767571112098520465425010077564143321740725678553013628020957136367478987304430465141119774414190090632155928121268944665155854914317596565040356198110529334846777415044944491481438188753768760528338237986211779661466335832314470321852619579050374839522129702344233528034676380904045308294084111792359636234515784672303615578468866695052259361565267278157507223819695607279384272259088613795756703709137387223527850474436529478929884842517983529685902775179140687604903669450149474659085624579356394195418146155256635388910579096186864831670655574142289588221235434379518158351433525767829296510424347272830473478957584834845670176737733426266657001639511405716559991191636163779298453069798397948364735680774526846071351361649530141760380953806079037684955652279107081201797563486961538274021294705145926423013104780097557105707218252552037599073736206408125073809422148292942681855129834362627962758671488360019645522077265925926527833194177542667023563961752487158764483022692720779351136311841584585246771846277714011489203717540323529790527883275283603165092357818021011982151208943309377194123507641339316455140180872647014807785904477732838291668221316715807027194597225035044188543848820239368846784252399436127125189367424429089513149287637391519901299299583013575140625829287756477291536425530235530749666788097896844905733145709201801779594206717998649979721382492979913058751172482580122993957903661376102931361460923763713052997459304513005689870958341314145789733557278227905085568175426178301974292449584871188241026859307747753847244657885416874077732303000804806380741872765259846086836075124693144122586753833294191711860788276575600337540418891853274146071407491636459843242557282225238188202346942219027192641904147104925568825139668346805790178703699223184814751757125891055788432287965456561105316596947979613395556070039606157921377697273843088851249750376686799705194071114964809044189825043843925091911386265804287582574064349471885202562596588925460044410437897015971137105962404503477386255961245805967124559093272395714702087241653067299160822422491581585751946318583043914168807649744726114099563580423546162446113270175747414876303973987454565712967782626792905734759325180495354838841518779840347930803690628710801309336433658855008832853324288125783433L,
6057029625853080057587439430109683535749629316851177950512109678334708520750995262031919251747333549479166537079994763766950182374707633241953596157746533896210758610738074357320613995799223926979137479816517471623328240232256862994255577494714941010450126920773714568793879008956010140846691056191757285244600644385752828046984217464375155682698422160277067836898243725022801657464597009786605199955262011311417675708979150084442024943381146527171819271037449303493385206773907311791399298324934514097967385418425294264682459091050568680148632966530888853489320648620756975083691809231803926145130873788604968357702683034144455143180139284787436920124256820291429925065247917812006947687462871355722570976538745984636387720064959888555413143343044732193940032276325501352295962501590687883626451083801460556348273858004387019610975273770191485185462396127908831325570737681730056132156745939770200194700193270335758358229436863510489829518425245595439168588557923497225361365219677227619168334740822624600223691539561227180626272607656154844481490906146604719790541284088095316546908243019270180736927692093073737304764230937711722836908717042468698607101729347575005571492498122917616506732068750179674525585318416303266895299902346387653796301018236832212384208783321186732124616748376048677197032278004217390519898012428183947990687753509184417672772529486145515317073036225308716248910893929342479566114548429887999702220921556188097339162321680898697982572950904118812237112016438583503417501245161653531618471504171842202062819494783057425755752454845531768767196208750808088016781918501033799703465242257700448396765317351520875008100170722939438626240087189697812848008853351197251733498395160239281182305212712845278278328263162804864273609587102520496590141731842280285804953084750512586379213937649014074197908681283927253991283430698119674488283886725652484182990639681653284208055994294814666602532448396706781620951463737461559453320725766235731084221691692943140276319634901010842193450599691183413111310632290695346726396211624860283408086717519357983823179263842337320633600879229542585760373883050920106979266417325265720033924974267313231457441147743622724285646395430984442030834624178441072118441284890704926055684762794142718842179176672939753281350560415310217719314819325989264797643480887035021668893270621108596603912521550198167380251797882967104443210955004414037122994586338199706765849342279821660779329440952165512507051130227898003932670759255356080484103217567043943347515693946247017196090916983964975200461888888116701614263204663242111269246939025996274013245232454424307470466848795174962838682932438950135006319950976751475022476960845754145364431860548059844707529722610691039093319138701449351885030712188614880775294767812644613081841852650201351660484498460704972556087291091016808186473742721384606967820612762251434720631584712279403445916350226087460505680222860829717241271077472764864113449320310955666565286230764998786669729232171814703160837057830273980482041172969259203901337101847839155414993318843123783802150030794914151327320585834709858800055605999632527498337473982887836167767586033905424997379385898314178248847408071405245965391926583694633299621237030826432860514487655631746364606262543310189826026166576383618333334829666549476935673325871885534662582688536447261396968522314677903984046143072658589948012935838985339722703171389698364958443508669020595957507869587463896971009800610980495196657740330661371732514791261523748178058447972482585900278528574035809321451832288652083094045573255493013758312307936630194110365055208112935308319064713365840094247240792476823913551216566733069751989461368596066024245243735438407630735281611433775661955186812638960738893819922750501952554912607388376360911803268328223931190899078481428334297721971897430734979083910338237815800631160835855937208694104214677773983275767385115770498525171208319276141769054423602272210096598969138052901095584902182577292300787958218550957588461505402189501487519111511394310945815741376146657020474101857445036978504960616636945720657822342451215688851782694148668916232964389021225509954239870166600523158429770042374758978920740198829933404963914466813226776095719174628102706223110213489507636515651765119038336531343641241739500497639430234060022921800571833208158099223956624458759238798921008561675108090037296879302055793350098345284792738782208403931240333496183952870529473783607850657413477593048165412544311394462698489495989015983829616768685533531690902672526603620863909052038464345870871349387428297241925514893626898123359108207719025894925859311665480876132376834121440278946013967583030342380942664353877823466229151913655405438511726253292450801154469067394250216958823955136898067358982767592507249913774205379636642569928261724253648522064070160816050824438774751223224258284597651273888990704573815483869773067631934815549676130429970827957758886691729737774737025283638852942805544924956668879202472932563844728710929221409109594958969133966047142155369375333666562267956595873082553166014706599085222447815897069765168988639465698226824213751230068799380028829888109313116582810558473222218921885250063385560479144488239867247756244965834482884910595331088815349437823484683977543647205679169124044408148113489453837943426520701852032920246864044787959112880096190487356018085133565955097930510481141377376707663908773573694278306896609412689105263158932670488422808674331379126273359627668154817441418453623101872353591422856633653856589144628718443102952002419826929902165612921550021728290030815698026120665054208135122391638398570893627286293784821845166490923861496111365245325412230578964648986027530511421360138328188924256574070303084495446993680772021930939051044421900249246850284854028836926576687085883980362113382038334095285407724115050226311670863383942457143313813579942037756337452694158561611611617144250375487543773053014613589967232704696623252373979157917256621619716300418140198035465719237169875244203457679753131075328671381839068876940100710992035750421700979534885616651171839844481416562811766215352451597178349303343785218545507068461592085221063503430781461307659507336562296736380267780949413429508826475768931726537139919764241759237137195109759949352482853823593983593025445169590754298283066810586303798490270378010727916120370022782288231326457619053844861414830789988625873922382807597451357966612763686860385L,
9714559032677533498537916879984654292683057822670736581886837411440139710192136817485537678633949325266339919668957730687439500694450928755981531197767117089462859601728995155619613715521085798162559170691434559961416351596175405356644619708232761611201917121775170947991865143366487583989743543760858552192210478332409015654563872625696910301145366877333004358329105203964401382590663889188859586230067788652068818491735401072716035940223560055638097282607893326481035042764473534251944631773277676820280884921760227051358860391959953123086089802058919677740734709412933233806111023395808595340366235709258168900033587675237309636244855018051162274972154346094070180760990123104452868178390651747912787138315277306200186665897661487498173745890876299217442124849817310853605921709528560414511577167627396410792778095419896674817416714964061860770884615388779205693303536396418936740785928098216765415906248044557697029120584318228865451775943420755788905590559068643357556699680715744993238449725875623709293891179646541596221801500533278916897847827539218355350926623274336314262582151396413020509509244202676970523941521733322839398739859049547428506234107880757141039607691432539509341423643898257849695054138020736093289039847510005572854990279664348164103234526804931467854513373050370758255751218023331169664427307221589262473150505342474645766682804427393231732935136709808415287493254136024777175866763137735163308072736980186166250723858949766172506243684498560433491754813084689483672520847842383040461153611704007259699979147953799036531469555812925114582424534647657704747166665595205939141391018919774432687234412278522174127872364367661971275278865245499374371819717208593967816509280364506591688848693393325786028837979924732781880005882258068768774761174361180146061518112633119300372227610264374580989294755044977449767680770118667433820324244941516609411475071702106256980259112211138150935235839718665647858874073590411792253630902735896289172616372932514152775764350415016945506766700059503514541144848469944091256701067162615841445382733336565941883022692904091653221763526541390925308009978798142644867511246995797642338668997313764688711059835084650286429934201888111354959982792535676549014890239449682180785545337048347605853792011798840314295811930955541457510774852503239205683254866649813725991498366390443085333853558326981734832717299737461718814645397220956414498434746225114092289790312170686857846954142121812865731218401980251785715858506028229872561691030873424739862802435341215771619382483774664263654931884605774867812667356939548421302482432854004201854684908337010894998650856822553632193809971273951075385743490502847393001680913453128272148013734944832733886855310523831518296074422748009432235094932453966508358782156832817865947262815176362939545919512619792193683865167452142451340464582191557316270673171108060369464459926866071054607233652194028075231544310718749422145449706091063046901755393687756193959427126299861252475564726098536311292142705529058428949865414216515733177357871610541786268971751235144070685985979859567127131103382491969836544204777739154791404646508598690483808205218805876179823602594369070621941152963066946820599426131548153132021509519314099204222795956937912983461348835876077327061645900854261417497420756328816963739729495143608644151172798963190017585135375233717010589940785203239821654044991433324010606199631945517312552826332262880912421118851028679233224902742687021819285044563978672772576125915530965658133062429870046110386332141611521516300585109600775264438426750480235813234123463391713726638608935907645603390654736419656530568706038746288320413320123622980758452612007951236778016000689503304649804490928821663374628816107296600699503961480076559905985836255629644722544517932947635245165681622475422597399410394124433406754475495226023333624773329528178613554071335762298760590547978553120659840348999589037658054930945665887953372896927177284755667212414302498057212023289952584191403208116820268397542008535867734628485937580720956124096261127053656351351042157255959003912896073906063289644294550558980102873275725197120243155475479587363775535262585161169034969759208189509271202723562919858421203323851760566397790119051144281839630168141268845363389364425215548426743745626346428113847492803847456880927468141052192904414822510544257896331244872439019921524569704174871092800304396497200999832705558578934343838216559186777893377269356928667056039494726400396045482112128591716366920356829967462610008594743541074191461596847261089818816248393588022557278604924282663949535418363927708674584786793596658315148959703538103084222456815554873528437192998253279572776596522077750764511862823311135604982972378722256914521592129158109750926464641824379970580271784345854515864782217537194366368845385631582532456753037022509827756770360915375220821304471260415974240976072719588864044392372406106128812304911249421828012055477460274483792307227885545348462945487901285228946759911261465899670256453337768369169546492533753024973064662275999499340798118494317102287625938253109530804715875772306404128501606230662554396589091804543040607564449942446202834873245173144290900534882917203984657720295577544238344732823003277323473703983851406150351065973683080965371738602361527685712867289796756622314266205856700094673920201529831069217119780363515283830414544866507564218969731655040699511659393639349099565079547575356783829806808475506514740634221273097206544088296022234957031688569025000154510953027364327580169758894284251817164822179652323299805832756549627616181760918425394090645122029265085512013527647189241549534672870019299584789415621173439510897651312234306001308775697089129901708906824976492541059822444700110791455977074733490358054843885223734382092640713275446337429557466419827901315708462624260389695065807202873714393547310892399143333485375034567853759845911458674946871144788233948090003453560180258771096674074285934770363021188394335468604406652234068832593849783354436603513770016767367981751455419084073567634274904385711102701928643025414005917573523492622001552528096101833375140052258723100888266131242972196097178803322154999476864011083338875587576516895919957185123101790685038342606334097883743450386127538410934836973433652474124963512305033237944649097327887334521856167987809000693479674407472823974883657738551343370188865322112397629371290282691475067731371211389173951504366510L,
15578816344356168239305690214849900793016274168611392656264595724138029019215892038600570870413204264561939913952870195988490237674138216160089583987159682656978817863271598901305693555103659180848613763799805104894170886600668830858464040290732782708771180633453243742379061970359216132974663346971716073406163749034084136426303688730546931557195071516782519040493958874140699569875266953239362500838020355783119287948212953918308823219226938268024207773487251014957987471191183938564933608171252318665144697967801276828060865539440280880580374521668793868575554182512718141989335909196322391371963733348038301541987036988598160027927831239096711149424622912261575573812418247462847328713691319693565250620877332209271991966173592866754929082177293053290033637238386915788225412309166676899638440383439082727784914971351367128652042259700056239756206871872326768194975025394340524822388969690929497338070098836501446516952215722708782510195195167565527176584613934545255402350161241162539287071241082959337684190372960081134630563273435744839999738519213924940438524065820483013644897285220281299181120883240319015228869618857139368875511619439790598764156637680911452938852222495502670082793984170617889727404054228698678944696375813691830293391420061363096589163867717527312124431997420271084409795949512604126031911472966650302018974041415359195076638155253222535927302540684469543506348729428876954798632783495049806153818993493186037625681787333742637645980662742958759780016690142874057738906719292446646435340721225171638872094683359383228444116800688670134356341148280984801166179468071322050390688584229792851036559412301312990471805727958116838225128404308992718936692925731060870867934144766512834050169667449098600063951520738196061633540220979933967364816163453535570246540096667524088223581481675921098436081388585291567882111486029356850223464807810763848234774150209988996018843859106899510790138378354252880963702938562084380123216571641291056788096982921761522084017116720093532741321499470362425251425838358328266170850470140105630190461343172881312932821162384828608976177401020359185370640698698057146171513548553864309099255020766642040851881228259628243184453638172601032159712721717847134872375756360772509022742584173740170370132103849179580116878774091619811201456605737139912172583745672564124569230099522006216729132240748162460754017370243682484481461399837890136695727374130526268968430160010237216020576120123416697393836697992974716273480474377449121704592491587117414354159401558173995493444881952461145585394505165953307246447819994132412447508176890947209395105731370567652977791461093540505168252848459098459918817740576468285310071457073014368216631609910503153324001547210115249850192571216603781630274939338553512188385631174651098592001905708582876232643741279366370295591141847753031673004342544670151677633634550962451583169551977758716234243202277887200620835560053691753316114984406857303253081135341412698038880265543447015333293392154353378663225076380429894245089288181273095966031526610235722115502102468999782992877152964726619605993175826892970807669753502403592902485155249065340698093739571571682282700806906953995412991805654246984789767368366979577360928270449714328802815483887056159072810304456942592567480236507885749929326989014652898909439098660505683881531670980347835186364792885703166365054738315111451992968316918409723237508736019464223469343619695854850356224672643568453285696377727669855863768492633952879909386117182725699608875021773338803142671976833060373089278227852552513152447803796995378586654426607272705071857450283950568320186208959641159076018148248532206096893344687091369121467644488134356543593613675084362891582396037840698235321685333505362504219287226663517372306222525169889209110808150858843716050839391382140276384491337359459865025183193474327047950199728571841890993966869604965177408374277856592788440272826422659157179692708877044855439717622582159936844941040041342727935544615820733610079302119447270273788477576484225472204197355291042188961227566289381085244824328075274029534595437496422589580035170864677053577691175427364155389670755690065108070721684530955233789320923975149587063264387006879696322843621236113899318993106248338017447332481227766087374926706778983596837678937554833412282267213445771293111219443876784531853621723361244659656642230064663210654665761058086558297191427714327634843492947527622657503279108348524192605065108620921550786344099718915749753798425241384520837118354781702111356370738158315498375573003682959032068068426098737113319560730248694510965984263551419174277376639402395280958482068729923922525386858951786630702311774172586336753158753338412207727820834897083465581243919219274282106065701904208782951709983959380003676101126818854382558645370860646753339721474165286900930524387150675548377138026488631587285171050296809545044131725703561570011402389054174699948937139156603293816989479077213698456979667500367704816104364558376975243576400356621839295014152218559668821277208537652438229056266411032668436183947002408771981953220433214291155029050669487036546606797366101121760303905510726999195743172307420930931636644923661379075694353147882420389745968613304484878320207776564891190490629379685784887457691861404075877639388539649748728609990305031587602099472874086693838924795995062248463158871318308309949255437967672324093240299805079994410004929068317970955735070652468942368581066979185521282029961776114882332516065000283178302310415601100476571647177288225858123441302053340285605679530546769224574195716726015345163454277081551562281176243090366233736347732272538974773647188612351043926366978526915125457720500237733591541892145274323240679124175759117278411959719991071521405162744056509841848487038880560449555293715106582775311694322987334319710758633787651705733008989076930154907860723408957231827044242799033606044978070042088637165923819407647462271075389340016375646500199678624727997214589229073990403687607188232552475289719861991092334776992302032752402629762055117808614535807662736756035441354285623707252209678351273127384958416046656467607961618904298177452565099722378565151663381106785527137509210378228651926832902103733501893421719899083214296190725945596544854688653010347700888250747848768937654003822074450107901096345684747064125449038711401608676851722089769411987906611579341710106107018996059719586228080083821422455088196783943485709L,
24980079898981566555525906561252256999554195067466843675596439150237095430140337330228864383828427429418717702196864904677924428415809173712766511729304479791759198889183019651051632733896282975778688764761400686815956420456710156533128741027131813685328259265566920485114771758454942697105584051437678027914651038400808975087368103920868727720421531862429329470556614591948372803574847834952263333175285412789629526290548533897433569899787347944779070563768667768080571168295778976195763014804828896966411642635317322238481189259869788759286468029377166625245409682643692063733772326491346375611738903840888675954556033348388395706329636573284790848928407430645591788521031914385961973359505394009381802553492753156924449198143537408352903382237325100642752898407377629236266143832291803937262949977700831106688695897236141008936901348200791069364094440387155899275178621589714942519105267499707491904853894249698184070453599453335254064631364825998864798521854004431029355152568329752414941201752208273851792893700081269269561728643597068503118945747769628744533762571030644851048222942541401345630575780641087020154285289290966167609618117782397838201343549316843888739034028331037137349133498872299345382000506077911124001511917448573119093469935086926742799399921427234934317333266340942731666577658470414226573660082358076816032400242607523739081737629120521856632119384337451322140882802229513479115489684570921993227678102141882783061875370237643025805300648680347487638301268453147301226711002617463393808659341828693908776672684196287397756592179371346212880041559108760227518036204697771831565809412138358486268683839704898089040965411519947309599119734074500975207532935609841038473251360518475901530655507194691635342450824499346598873196766767507771734139502806328180172068302907616389086066579331415654603569405403691624294895941049258219375328841445601247658853447352851571188743974209307888494610547883599455684496516934718256601123719183087569544776484499776931867597992339342771392237824923106205261910683722179385757959299568667568025641710214590575991212047723949919099368624518148126830880123419125704415278398834651356360348057792268229065671538412273730221055342031484377093963093920559243686988487459766781588045028444717592856805687873125915974139892140134883207568083949688411956637892905110938203015855828276014749419590151069296152250404175422769157590340439782735924833195098715724343508607326591728516372327243826704209803118498568001495571163980345861705238353815009744606818868638859646965335732521118118057316816495513416498022092157245050346791871842614258407621039499463118610945556840385386293688414989809478129638987959028945134216287525340422763703907328353388240684196373372762156992740835215697591804017514826833190059192146695391470132608839767766199741604138732402366961807784955793057902503320701989649942107377700039699032820254544069827265520193244357457416303155952488033869828286054258896783863570098344675460612734575811266663334972539070163315516531767269763605650039171654195885998400357304481998767409176450567190640600722569332794190066482176181797218939522193857228902185783667438554722001589188006892273331077071847478771313820997375815982551419208779672968361076808624960865943336223459427716420399705199744499664713610360339044058816486205746296745337712387469693000657507980114880599841668760597960441293306000443930793630149333770115307046901586204097402348136296822178887310499370144388060829936966772759159819551289685176163988090952585846486912384506468511020212456152380201766103304973434729168007009381861614495366244594534234991136553520310073472345254399969737554664935401969866773486314284243605610250120971013469843121989669925346783664945600049825866728869031952252873670595697574702226585574097473103955130449455390840558467789118286122422400948536638374627420888559376022280079413038101936731641147959917383456164976232981995314521702654713338371228682687079003068389155599146158460064243089451775772718242770263104311895580131866683029449395312156081777122947894076593478701730635674354094077773437736736885687631665864907444272643852874393833396024751949201540565875846224643310015901671042355055478886869822701101761122762024473820646431727404424079168964516764277047866260037672866578027044999150743274380087388163920424682749752516976094592857382232524656510936484938270241739829539467714934369689349160286030051520339174682304020028544664036340673169130346446729574481489542057162819921428820826898118252140757028917456836422008164330568119646547419591873215525144523377772690254604320618985240216672822125739449095116172549969802944870102503089063726425469111109444522123073597463017309055769753757547177693453088601590514333217130288813263729894657015451730615121155932009199379539695604854758695678127623324041811220031359608390484733003291998064715358887959724773088724263099053952601104900912073174220550494819670331111710922693418962933252901787221788124393779041770938767350575557058256767464893093359535760839327198850120560446300594509737491650491529682506643945631840538038201580788399431661682196128634423866057807570842410698700964259060657379192206911871679689704903113765374985441808218596277573790035940154545204010955107488094836469923843853122393311914410287066328599111545940152698520979012088246606561500000481336676952265052119739783905914516637351447761719139195904101126420315338166446710908849673445821298599783461500121045639271209849206433558847168812110073697529691218127449840137669192131968888939501876253922119983264725288189371349164263753901350843056807046326583083315867491249468021693471779666168734649054063374232224155727446111650634050821312131900675970699592467758979306120290544573726520176341731582195016819072182487813003634768303768567776641118387362840020655727880174660805607923147585301855227504953417375167137890401164474695400261322013966375404747660314941634468482527620268140506736364055897620095467361818747413401830914901639377186901296165101775882728480565275037909690089841880283491602757513749478730395025343741147645377636792789770418036712589592804562381513014410984305875123461307476229118720141240299436815872834803276067912438755367808948968146411756621983263617758129014181203881262716300209201787814308761592363216566959446980349779986151430804691188101483737146170638280160726070535448893840901699207850156649718467878767434714629057251338012152592225989644775963277992070464L,
40049879734674492476481592589881803952075838236855670483026666843615168526502048420622529067753589479462091981491076932311284566652498715196316092570713320477656240495402808394486776230530054651214239752197549382721569678356860327414727438310592306347158254163451991478510111972165971124233262536996678932027117319876688235467051791001280246449423383865952189537608794927956284146117141058994773781704210081036764794415244828827932025526974520704010774607103488267469727369242900130484337331767909338206211872718355610754061510533309376762734802474333333606465068641191982023797007632936873033383470997381765771177285368382673859758462933585117835679553010134350520885236745844160603498282639256424901362191658522674732228147326221975395119160813095523153431902527485719057456571184448110364433306852488775892938498243053813331882442934505007620697399194866714484616936118191747271641177143264266105259503577020981379634933073789647869731748187783863419195944541627764714976856120431046058477253026522566214135405604657483189489710216548329928330565315695882592715369419082816552514175690397515789414871830358575345943991916567772087767962106073444029978013216116246176361640880724881184856155151807079668504034089427621668759223365010918186538591858371641680098267887656606691861925557541749441614074984889745301451108662870561683686801957183779042310062928533617820146743246254908403601734220596776926003411288076230479738467725175763629592561097062521708461433685624410815271320640989540182011543568352415768003117845180266672406023645277820479370605133046022655627526570209861044185977952504603230901702111313430487577347588568319927631451872706828005389274595647757961976353013061600953460441091453693038520999947304321157122682411753082993148964355431447113672127326042965397231915130745496548032455592160340673918901329768317088386218980569887795818711666457044227668546575562385877037516275894497804206297582578029608270668529662649921557229281487849625351797267365537642660230641699211195438671998079375311265863660412265230237596905391694105418030262828893132345705805243681074579660609846660590887096067969060008125081061754877770700504847819875975235142116037835843717156420857583435901757848121815444887756574392876816232298764116637135766625294160081389868924309143525226037759965203246830842169455258929628710260927590319077604976685140768654158484274155449449039387634680502480836683216115320295767257564472084634053523085838745946631929998484581502397733142196668534598519513426454769050278278646339404213781575012468495400468323785427737791648350233940274815542033913983215888193050116309438667368675176839529530342933782309916485855961300184053153344857423830478569410986128703744479431676992531771715618027311598529999612723618128262231320073280893551559581237798789516613650939783310442278791128674370449628356099601476734756678624687689647540937619034758758482182545445219282120149404632344967873808649139883158859140632566907274767490946295208417652342962247180438585228191300002796604240542753963925804526038459021368334387718183109113947255535997279329811138582662916594705317811683153332033411005884188617183145355356630345966137128431812254006493662798229042351925833377743212445992853814755620874546796660487364730880674474694719474935921043764085761048183916900457932654965255316097276803921031171623454834873913180978782307049806324520687486020625002984086263558015025784452891953544206694465149850046246794869907996615200875523117594634754617770723941155245634645432661381740557153681658702140037128817097423475343321862526757016301820473766838928295900219515035048050674174462657514980727877136108456909229429879751176198482309908035616684108195083949251995864378810776181231442159824334783244640141804299261161864514278301594783559428140905889781717600956702451638426297382433161821475422540424985805527110851852261930595663678902942060557343872969276675832426721035229161618652336847536000710402892557960733116058042567081764643655486773024885942194363067577066468148604510345603746708325554574427216490619728575913906479959205334368840845826954890815243949895738621915260064757893917361620310972397781914279063641772211892119123422657932054980241306655288320151015491015604836327860660556002578619810726253484960014828941273704150225700009917410910216187112753205417751990831802959606888243331198328038711593400234208890367923929763851604178605145132260920426259111235343389889711784683536719349585878203055902072016998956658244614803619691994458374896230604727224768786406111935745654742707928320118707538047575258101722941059739557873922066532250741775858526595607577390153210795797611353854815292906997918562247225479678428622152972688503211538074657272013374813001383044215825501085773856406817788302466972425705428979770429190691641768832400053994503055778623442673022828838666879483921192943113438837003229671954281639119556095007876641465183825956037286134175924143320469476579543928149855854197361584408553243296206107308340532793161761154147834765642293340984023424785841035741568719882168459495307739637337624708044855740394880413174308010710434700940311766284267132524568098283235074486842777957415815769468243132694370873228716620523459412160525363319561523662588006587333536277345265588729212177065234955123431405210726674284115894791026293928704901594193812367866002879560539965077387434390540057073821875099992636842649914338539891441925180876299949783966880722895832640678013492506502590421360832435457336286501830847851094993029002028699089912350734555544235071639424369104172546347312473035780171544271192255619876649848146402054330802671787574583839106314347001483992648927551777439539266394979625865811044188021986225068019056639025062794797468472525149956575897285800831559885027568346269617777204423241811080701341138730342047147766834101804982329997776043666599398605329332927396511314450951907717690262273162963476931550299798732422224813090368649197416557022341846815438219871473441443630310979672745604409881782913292309569798354503940439035473532993990024731634719343769394924176960423196762114416844243620020489506893940734835483259840601924509954159564493820693128452115252225691708320094109113391763426504204744506438844115059114327796757199922921441461068091812950212223006916133433193690820058287992728205087898426563790823756570438135582175057879112131326405585985588148921360766026601038787888404883278364720451297975694586209574527011167056535L,
64203198539296921462703939651098988439448433799139219516338921327721445682497329173520543019088261030747079555173376055855726481320532877297391541868133404220802058918074862290396648790800614897914735945090773249401621389774749332386384951468132003239617103974461244178346831342823594801073889060719467219943463183799155121082409622711836390419892434186845116416322777897949894913322248397434928707585725174161707333961028547698807997515854094774090151039103303987440299124237837435221959573630607566060994865089683670585264049070889602392562738652813979504710207205216766901421454311067372067823607466774208335153056457265463554056736053346270652370481394970585584423165730125786772199478362695351822220156712819109581484505354818878236309014370240625195635319538412422526115174938343278374434377708574484419482445795899861544422572502482699710101685041806384178865724296652356445590737182962558628278977422823902026285404715914096740545712773977363493576444741525043322556363809651368289627922143689874413221643548400707891539185176918891531904533855180329208081722079871654685928633795109759532791385358164804259582208804049410309565073899685049376035948162126223667840535776862233222018240197112745152985328751034524704384793374659943713278792815643689824394632246343885701451744143854795460860817934588133795114511915167407270235891183962835305769564534679380638860311353286049589301367782244495908745889466975340830753953232929639982893350193958075734146910239520115108113850979715651188649159866693128565779188461042928881535600101126015826100743787855585490856396782591254380506200614528728224767424647651005528775376291380374660292312961006910450188207699837895055055612692858783752586785052318086345880991712733345223810686547576958332190337489127207166696845668017596197005943294506027197039205595887025453368513906584404682077288707231947897238966522715004703422254295948274109515102011128776431748851656144547529093367202344340066381807164846018595254441605110196707008507320043115756765955825534624047694341803455390312176602674712697926997973100651936181729410056549718736280013400871127578872756512568928220882223799233926237074309690892542493053576645631687753620818874848397608884734381450192298285593348866748852878862256327098879228281966656245358622497486795477157885167720791989449327018691447187689496770787316894956529334993191483613521073956197280441430501215643516208456259042556063944523494678825466652997376193441926541566005346863473419985348192096827697081389541964176500579332673856871110504820964237959772310906322730438528006850855650092866974841813916794937959507210792785017831256859288648279087890094365356871431205367320283856844321266712871087896364638740388887965985604047700778327807028460993417607836139221180385691901849198987610566848011731306974668793948590791141909936770728872524028788131435675322684213406280688150586476351742015817624289914746947714857151457009108380100244024804638741696134206198155135766883872119372474911407909802125872222479671496022272640022822415383455345843760983090532220427478960495333816714955689460685346240971433525780858534455992117585925926213991155501070545500490694718522119354961156251388326703003307479953176866435520609571140705652428011523760362232722548002007505208520158321980574894271942604789500110776757512343276476951977901095467133465639091162052339219300574469929907214276031265294715565980820744346024098406188110017581302978887292064948254628172891540645564957228745036303280813099492743471085058623332524018621174130883313984881318207567947256520014053415677562355706496920765820393815876905871882719793374668720538340234907836125299408011355319108705192327160359815268204842323803323183170663981765901324841913023032933801063889068211594127734446777116435775890111122715493956503503782455525140420805162366823023655581972097202971656930997883486390325819235444030002215920513422691244843603863861229855907741686843915689284976798135511078249528937878675535524418461982150811550502974200819552162896362439362426626129608685191557541857462084243191524727348229700394944768233487174347886433413278951897312306117834477136220004763686463218209173258811748492116286067318256925108811928175080832652652874699194561184027846329709206978451880643049527412285401359372648437547437680194122406970446011290492400991314233374405561186437622408265573702782102320946960380795486685490803629337000735610827494868489534642498159201697761464802476474867290374977957822189206011503445992944748674135581972011406469086396180554585945263692124433697129447283295513660730532380429893046384371935649326296624820246204393468588717741117983707535459930001409628007662806901280373107336656679780728304127489485192884344473902727145813758836315883890254406729039708081760317026959947013102060753367175783891586594303185056392457621274312032085096476655877571323698276874850982741081432473356071934632037715198235939496419590757607083807536755482005514147118207311843891388554208811856576192156966772761087055595916700450379506200358054749613694673673820959929174917849960811878037564187150034407142766260277133463654320517100972541010189120887237132409280580596226441050492155722714748519180512684081636288343765477019871706593707110274619692089679623287125007773834402436005272568274362853077953947739505996886909368027765670868508183258647951874797230437574951867177533141748099628509829902394911823912686381323763302624163292877334991087172437338345852208294662637285149598649232920690077464947533811478118870804548483884829145164399142688557476315595775471641731543424968615712522125203991684951077410132623727251512233869376192071459061076641356953941376424797276700782486402841905852845552206717334189088759937004685447260015256932553698332801279925131085900507901017030680328421966800020659859561798288020440498605697328720929348791740863682513046978595596321314804814082788406479831311954987041628410216969892823620121955567883524108729567541739570289361618533266802092657947739443133764836021489653654420996380097511718373416573684104726151346686304652020272386113940479295740798558699708490024479650582530009730827585019906566621519459145492205195312442435123323764291447542391172209456126969027134273054659204243904475313652531637565918325509939073657247760352833344277234338881924830370077905831546037817048505973095619619572283436196660249601306517969296985693953474930787904152718530292093072146570587760510348144907745282657985L,
102910620355901762762565420287447907946699729921053362239691341196550336258599441489582329854982321823972482404361348523632065861370082588474334303020303058513543825546222930050047955136068717043503598543217345304861531889684283089663727219491525364770383506462657870349706527453459914426411267686114973460018686642269826958714006315482872147825454703526597725571499671913863849716875630769202439702606976845031542999531388275478082229402114745652698600106093583304863794103415434085608782269968492569013905634366603766062107657998439211570361158911221441342987123208423873587143147149345870614285448583292414254467104118147454888214993736277686690702042783766795671641529976862730114304661692082121958950937126858289868397813954630212636201854948168426875475102906313284288499474484571690736396922082338800965979437151140884173135748114564427632947303319907432132673505499251996635753521231053965842550726570008020623490327339345932752470183697723003613888804214406955214712595484866159148248170134934793266487326294113146900230319178603998628197029686792126723367101160610257769799565725641741308568863796975278171459237850993814721522781019413621766212945886317699030255575259065886761197849476547034704895253437605349375912717114119248065705935126072508225015569010878762925490935246899431837266083802549766404721131762212652873917967783720725352923070649060963754934826220600886893948705741477905098968774940268999422633722807384961238848773526651738161420856277380853663797169593298558617207367385525435109044490238104151919438290480497536852226669150897772271520812397440778433487172638000008386482863084238964495810074172214444466610793658516985698808591978840078615446164708448498387830856754177810949708827734954559088312621299841681008147979766173475017596908330448175952542017877398153946584840685835502231308791920641986291145239048822452705523060819508621217903790858640539803736481041473670819319579455692482951774235848454718121089539593852039505681426184585834602040863907091780058765989693710140458567697222075942564414146919658926805385229983976426289922038719044560855825549169287463041982869223578395524809928122638545168254820758408328973227638745602094252699741899550789064035654205509909254525899165380600153225978141912429294519391625881071441025078011029845744334534885790309966398588299795417321566708158180476123619950389072315549360347754908311691232174706211375907780087143699567995665601338710795777832791028762625179074246007812915213494857051546699070890937733566826678453294011571890086631364770536958787460952743484644941222567994955919265644095575011119700012606764933093657297804429009330079570745238226339121083058510239532247850207516780347230093596845955774713780082889349026722618381722559708804751102096006315553350892679529243685560830582291044758617998755239886595931862472346426007025916694527317629134287365598195911769692357107960394038141174592191370112107902014769002973062828919598950506730372639954033656976885642814932952554858558079418115953272324273258895920170107813389242300864492393484933509881935805540549568668114583547837444399400391470889902402862505360427276713646754259316570630369496250362038715704471028806461218170369154314444413905122802484121751097945499482263083847428113329822364620629665107016420244488964631531531693946161374279484250649554548787083728276588355756527485232395531047744075188300219744434928135531892602116209333455045409933891611127905695605348965820649816834643274774750529215043089362387583193533833338663306987609026209414500629149191416500150858252303221479810369544763379546058810974517322033448714108216286718788698555675780344733407604838462633683184721549194412291366930942988507564544568489120584059813533478294295686539113147294283956088541040597426035631503326720054076145160634917684491714970027351590207921859639069522120738001396634578673003537960478486915800341623861666053725906798572593867541926116279928429784871704805346054960446072614333351912668353340000599696282838290039879832521125034060654811437029038046832515861625801967711697190709809907107675886782437320928711884305389809604155022055427394859087038955980960954804958459252755448895882548669072326570320044893993395926540372099248083382621227110160447149792117997400338462085372821824788833899414147603873548632345629130018147523249907961017516927783829323985349640421972645434086881299541560677794991294191769236236404281868718715851751289520236676802077558410877809383667492612880703448169354445071020886985239148747248251696890178200589424462128687964939396222100225159947747089056864285817662679722285039523306049136387791503075815773203945379730785810157063136233488486416169664637165331402348730996073587878780065783955878732304477814051107096221071767817828303438297672596160168830517169157526180413433880745986805658200068924970241768782598718579931453619002720645853014074050185617279212170903110732882256822265659793813541447829010953812068394944494938622993318274541000523587472849940242860230660583991296535757133074899052400340716321516349188426739202546679103710094256469801997364630583542339157364701447806057114880863263383823770407310142706403320693217186930745156922710274983622464803440890162399481848974057464830669820894842635624184345102176305542989777890766441137304708468940425356521469557246906775951828363885242074533905184898003512108958743268059326096825964057378836449138490476599846900362392458402666005441545489271508204459180906741434577332847048601119121085879223997190684625720511478548918044424802147883439862035712964244696921736273904330078001905330880918972770021549996442775803305308668611148501398107358780412500936934067850445516541340231567297759780292646194052277255395119492847123313888759634978902612544724862727785629410122921724863175246319098513721594154165366327618956896485025135714264116155581886699901406985195417749162377573546445249715060194259115183800796374092035981540346857939809593292476423054338681327009779286525135443633840324677411425555907516088294562073519027766211696686971133849493645722169579755184058333583038247621819626770876078884209873268077820979747163935133443774014477112472863524638904605892596240332687330532613040296997608420056813445939849574936701837310085851278388691520517913876435148450897615613584132506982737169536460977365528980178571052302945637241860679431804479122134614784047471659999066106267211774703762972858231027317029638675406212220374804599854562630L,
164934625368776136492050412268224478850578928417669593287869510991770838108262789409974477254794668846404433179551739542275345913413429703540981287500298323585729794643599053196717278372907080020368458731269651966333760820941987603682515195563292477604647992482835862498158556431178671440322614206104318851412961107064394445532738240973829400258215730815375608110465375939785152866541745833511746263846452941867433437525695994417612495244050864972099689829058542713727843004611678086520856625097848233441603839696388405902190437602674290610890873934152994456138874973250363162745765164568915079040418745278053598642403557769325866328166211800432643964158574811963928827557832578529884379074908931091991620339553454381997387982088733276194019330311239128923713407313448980421298208058385822102207298051460742404778371419627313157011072541446487959522770412800688846628206965516495832524179621008866753496955309763853565696466607593695140458552040574048022211121484904421172331831902658243592257367609220754963387763486522237093685257461643759676555773240325227188606467221409109902183717365671059007217799276524155137233756469279530158227567451606922174637600050719895921214078178716110319232847927252704083513224155891914243172563955067571478005602302003879493247555354930867231523935656928370583420598021829350919939456736923581209457385675347713650678654590377481432993220204043986444830198802302003440870488779515047546662415336086041239105965670707989263419953488311853194804469787720349079051347986459165286840279536303257745536024861092272721361342392989231080232236437043970756131666462979955124082064046439396019356652208241933334680904547446801121584670327275189946949234580654919132334437566713328985864625458237343784114478589445692361368448461387018219332548275312321433992332430602879784040465694899349593214111162632290805183449625353015694485466244021788967213202196883511650389112467387101848022457037874841484264164728259430431463253694484605377573412558134220874445256779228572989640506348166760879938684423525863088272318132127702112448446004249857225062061333155858701153070244153303334292435360310646032673323909771085318856732138415447238126380922721005334761169486002220831772961627148342658245939534853656183742494094015830690720215607234644641095212694481250645691384404949066054089079388272197170926190333657876964101954768494490955543092718609261577073261924109273570318209141063096935084829828469705662297956605864966848610279203140541163415385700789583933927998299522815883794027386500484721482996507134830977060224720421673460344871860458702289417130467586346777611608013381783698449384598653643676698196121400139191117220533543502180370098636242803531529230712894531457484275213781568318285495937402525642694593829255525548868933395127967101215950976771244112789720902690240809355479441605797950546568336756601071543420315541904496781962559370577169957861700863051114846310330610410381409988819721119045840062009215327106655971596160589044518886702373565296572389550595300029521298391436325696227770095141290138170136101168925717830606255583697883574742571923753511553332907699651618373165257327537621401551703056268502038618411585201313408028597537793806454125138687453427256479924671926033567389318683726622791673144066528763786091160342652767707006589111823216105728950857729675890138729865135483967261013073520511639770349342187644755351560281597823520863887578525386779813585870890366753793519260446016283648548526214804356184399317680010252226805099065980961267028890105985657070248859644773730818584338791239972293077999431971281811004638563992076874088897068591651672905021535819317680380817226628315512063921069010568905103468091794447854306406950820608784147707143229575342563481107721319478318653857698632553953487100257538380525709192476842106907747515933325128141662883556185523109278999366226959975004570869657301466008011722438228216431645576183309409095547366758941500810677363970316322047016103676154389688015050939331515825621325554862209848637490960510841345270042311315548428437019414598799423396046582325772587091361825437344342009064475036450656380214653546286976964559298270468031368616093761422445107069571499213377717753131026660833147000706173818510808601444168987006949880934146962822802817510218092292135266397964644662160618944716979773552994643385190366134225741326628813017591465968883491648978570447226262653867688371291117106594979255254099612284018468215512775236225633689370413809815041443935049081740983407182743617586768128657479133290822252941155161572865912232583934720711994387934792620894431716421152795949832306373247931563469809158644416088793264034389686830822054171486753411805515322367251026001270057090987126533305142674426705087785649122941090421017103368246375286175161476888969591187380665961159119907975543227346846532253671523986086879527560479906550236246688203296525690846621762806294441339162883451603906722428219167904587865878224111923281401793655120564165901322923569897283011659385541294943433302194546222958715738007208854524613022087088441162234789374242737795053686952807490487168901232568271427549708648316451380294733060184223110742084678182848623954610237304107910679655198681182374711717787306854763557507689297371204433702802759314582851572318941810446971519605114895548372551829871164639961982022704988598289252826263059521497124817840174427364207223141255843375502627951851084800557530188651210746637522472394631343598419185463941620489876396966770280044594819699780615781691350607129294900159097344051503268860992084288707724871707681466907732166749856445636365570337712948725133982645074947593003908475647228416245286159868572266024692529955052124708943117578557991579001473300220180940166809783495709428286466892816456887923351877415252072672374584480272839526545460945965291060730819624766845701470261684726528985918019487568747691645965421316200376804279503578129955230966184141820632896126574882436769584200260117885627886534695942860900993678202367743687369999754677675078652275053316935069940500025274847227637843122267044208938148884456350485580787725406202803074546415537430550030652741996508551794394556727701520369336017879652225716617803750408019782959808501436570013422122855874599701017263879296002286926810951544934381587672682427255369007195431165658269931875758195131938805512102014084544646631865979342517430413251182648845278584380112478577164526508281067389231140885186422726088797933807150274L,
264308797544718877446553413618922696344807676130306200973285699075921605101943299175365124814056359854621294203477071267633398777815079734520641382293498859947450178453358048762642295161792358415912215783688901318630397705199884509932652558462588967887702217414088445378320274965444233455294643037186377900966697914924841500026755233242765268777663521475007376528718556608619328152324823443409772230365512824870675190353864415830512475214977353010465937011947699819067763152622841651558830758098355119761304394304491138975741279626536369016605308138559969457736369353438277867780733339996664167076101127479361062569400849591871102896641677046345944671870251616635472229710872412736095653765856232419861860685446125276126969717357361106417062263742777350222093426865910881318951660788092468879737131413027326004354447146827550273348299278862681068873244633046127741154739092190223189415692092381715189189825235192261838791627428167436661864115620055028717955583673064036520639422086961615541441142839627662000208932536592392070425167283572106874926561904786362280820125165183971896199808881070837964484545071246748241214219164231396495432164852897242553181185350300570927771075669696966669944548585127004582438690118639595142281788461774166957743511841295928497389619618549900574259378516577372081789782580284355946595932030623855977416357038534951283477320966681729356846389849143071597042538927008234185095981061554158912106265657183623815688173578459214933270889976745312328150634090465165439869124427481306890342064226454076872746011038051423376279415099527637818320526998891766548491793859642473104637478528251368076354533606969613768447346856408120959316956601328529394842531147116074956576756709869646807300774176418369104253993722912644027547052525484623533973657498177246518613766019765933595818124714501192002980263960844134611646570312197613340372074222353034228707821659974647246961677454639519832543965123514260007756546061663365486763426144088499374895190437801884648136918700321198337648079222282254061442647055174475087768014624321267300479593942567649956016917713360106927457204277885757030603985747521076515326570838439364666970886967048529291111932263494291527839335767083676384263041180684840734612872435550883967859686385826385429039880971290742081941144698422445191137562678440727355916936599489416499143159085866345480919041615208962032265021916280380744842457241824694955029380151263290004028407600105894677408401252113857653057403094656922530307433189762159961172707932023117410680988782889018809658926053764030144402378033474385999516020391576867638719433765390478354962931145378915969537855332718033116084492767593370413502992482638595131303848075686005462899930458238500440014701051668092840177398836766820981140746102768123965179534130460012050669242857826966623506113559837084482496779501105119380962821496362354588925897049401092200806482503028246319295284934438497588499616333543157293320683698979404933634488933128601636558515848167780901093165009598863259766332879719081373555635617117205718120756555594512810086771066263001247882553362263123952712476558916279502832200092140295143827517886636695015787270416663619786673716701152230235361899993616842967355487697812412532691550443227518713769184448667667622609365509367304513968742102206894083809967139017904399216825033594653352587359375916107266037402348737179766336339413584438789668012976457728182681431667480984089767468913839269923812015365061045108856145526475285241201636046421624265702042080599562855940523744054497441530403674950364276127754565753456032115226549203913112607893738148708952805808260584408612141169232596268506531042888558438713475065505070705858586903863766821282090040960467799743812646985332103177240760648822749240438062562892374758563935246347336036579217769951209795964546210580436973140540601164992346581696094283486397275239240701651684990766076301961893518407495011431958011111618311236252607751130299316585368398086500068602111224444716003781380332144852441941408316851833662873338193463847196455612195766487570392423603917203708450418014165663262753377486180435531252268890882989886900615028261870329005953435663922791993214819330200105915910624268490240085148581007014962729722653575887388781115828314708793203305266655626203370372653333156645467816277993564765300800669906948557523630795347225326380942662564754961531394486769852346836479702592168545340040399603457741188337779202007370279441936183178476979660210528367775953636462421817109542462796772748541487243426921738365501563902571031204374081684187231860953025885474133798065380227091997394248665632337712192639803584659322769856378588515487907575342973164922359234622744555933728592294573076850005924412741257193227606670142472994874161219209901985033580638359120266199628966947193987482939917707179876686273332016181797798018036692947409262502976459294241353385920780121506658673311169660425167644223566341224619721246527518153521509127393120864902952968782766427111346682381421494335044273895314191754653269170208522816913783392243235916500174870265896105819968505313995656315837381920791152757920765845206010619951120447326252533070709415835195011029916757422539792904844424530832446972811576180658862453881666481735273505446662493120639692420502146661234398747709071820811439331276957886253755453788093430881100178758611659520515374895235442332750627155891753611625196751480739917940791919990218765502000278975372978072543387893507713675780617913296264524908968787958914946950988084996614478778072598208550062333078582750521311973828088187884989552808557520140671162686468886136798234301495985715942406942067012075392284802916599417887992194544047330320587252232001745853215738641867848029311715744430240547241288404709585817722624984472546683598134820791200459564205545074832885508335628404506146347583857809662191013263682134326585972527148194829276662791003010929871682924506882723628129580597541947900280520942321018401693604968314446421196206829932714731243943267584742647689634464165329890072173985125953687542537103963522098411529903255699207324093355353637120931089755490069657232385101789840353176767109524579776570101668891716789904706672456123880827984226643459741501726151860199821952501406816343308786938686176321051133064620725215342801572709544571180346208424964398047752706694092719178651973896463276309497549132591460988116058517727748132853652807588010914451666002018320772572141344242779769979954047167375656199L,
423505998003973793856334237136221638040435817045461573233143201844405706916729001068344168588147186039894120354820947407987859726633683215670732798865074173601958910918679357602881715782664391433665774170079667356483793599614107984781538284109114361941095536915106081230983599611733000484191336812832874562534332243465150912572172914727133156564929254188435043034764082646853937007256804572014175290767859110329679849502990807084766178735528076446189204836446675108540160657445102162523350453714304271876989669343382986594870124823516505905651883781278025588758576591344698610981911885677131910641877448805826583986415148149450667357663215011216534507632886212877536602865833375039167604238922962017872911860963126883735063561169451879364530496089251276169961457559215834197403049391274550604244383457855922870740319943004334421160934969838263775700476979990341981989041588028041407474114582327955432247731578325832936087198626544678387800106108706835500558705267108052438511619694570293482598881326055632055822299534523849072079127576953847252860972282201445735317731168882713530296212393688791331186829577058953410167989593178089812974031459812675626507660111594860594355536947283186444342786423713386302682476325063890521429656309191667301313246671458611192710539056656245105211094254694724350937627186230231735170296342780406962190491135692396626715729780894135280565519442237759617950914738369916944139450428166262254673026972988465002578736751370683103661840997724767530409407503207346751598014564461490108364461942856421207762728784821643419941713400442588365466639319000616447557513432664553359216665886932017221094922678006437271213027521054277804436576422622226406603733054168143043874214630358288236113573598617368889758854514028820673202672776538362057550415135719388835519541499572566218118279008844707211941609174630240370931082519942923085105815438703515366147395086189057287438902023711597976776753695523333058268160604036014721929234134651550909969984396584653658877329199564527113533087880231749366562418342751438964643293907917538021134312356091403906217929647013496254805202610753486773344258272496603538801216318083482267766028847450639278821355055893540299620840225319639589363248345762467219318106071150478099610317784643425197685097079291167809717976032069234629510944101811543237929889491458582669557026148526840045730559376166706305520318882736391598928416442595893415278012408135860317931561425978767336465518657787808613304458174028955219625652906049999944902553616043537455973003945754708753687750310804143792620333025158698109176264709570823495534474140215767283250690477452298948329778664233737576323627941179551271899088330945973394003364302645579097975776540537658939898816063225518694835650394405556298259886244711117400902168396709366296679688238064035413140854505487672316893065670702936339124821639981394524848439192440978686578811319155686721523532478763513485304082297123466293031151240638957951075046672199761114075705140132963542938108040433041633085725134925517693352599197248033828676456736500590604719496322245815176621627482032060966735013980972722209580387508501461524759014759367143466706748240092230911569015510209877642281590038849882656885786525230857898517945739492835580262356411359412717046320709473109460724184564940048701977993495620059197764145772193957591580613887781073895303009790327577553842750448512632981263843166070686759447649519313168400459954077671088982186365869336213782636005619817609036240481192872182046946660273145890820847755898406927791838138188748033715617190948525087762416189281548764543227489536627203750512712769452404247725719429525481100814325464089003799223342690165726348494489863487739314855582290380252880637839581777080062075644717351866629276582200208965190308183045772607380737448422443556025934437141421552279255265631156788338203939900325395863027731539363361272090010421511351836662686229238588620887224427563983726308893287942808465653890867237638819046367115040268836597068871167732408251460067007449728541671229514944529794352116036078454554905518952421393202785965036792883645715383478885600977261496200597184093890913415440822931845960469970703394148091890097682425264467115051894693928251913381494622672388542364104482549204186357193344949908245021109273244404995050152217073389476851649250983867354358216619049912548382354928185125785327253386876926953320409269824401860832758780454631698193918193296796443415318087140881393092532272419194030300689884852314460916959273703427439740956528567115178100119510240793018190059184540043584687495059063297691999400059712384896998355540976584149754294841734978026642613611708499500806192254231137376716883264528113798850668930127751175915469902314108962317419755169635420145901906147946015116056621595593227253823716630328298059607668855284295774311291835405112144005371134442498584686318650891056622618217777849209911699049746999786235958654267983751479998247440505850267002431028407973492032050688770173710841046475636912325481093740898414782744715409947712780068342717361275115812618971852756699295524901069534396006069572032616100853025924246624090103360092092189862214443592310151782065674665309887824399761029883707626323816695659102929811045635946379447377705044446388335808041955846043757387314831859467451046462450996806706235826636965337583797079176412557081673237141548095425285595539151303472333461888772281137899298846703391638524747250995610849948472023046141477968286256801095801330265224661051747725757088650036278840486303883212471319215870643638738516118521417509729206914551727729918143493463417069484876972397030176639925459902005168393406347083209936022944588964843003362255423797495689622710464110147632698586516661595005237085940810903875817783466045208393429878332917387352052874922804326580302152591016018218147107902045585873400719119331961535515152283026230665301397438575009081836590006953559507787228619946120884919109741436999199599578332882539768989750840362674340136880937424077256576685369769087596766423948635989051435441788939778028611240844102597164344959390968295310816801213543235737716830295169027961963507668918441931334850852411324325800311307181761355027202282894648324798179679515029673255500395307591166930896833139135766126085782351031084496991049232761139807955101405799303832263384615774944149713974975543785579268429421420447729407622139798866387402436600624056318836593461793724538336854849934941852880741283200436069029283036L,
678509145457845824760745544066518651529213420533025349282680837371206358529459396625462652219937331018447645639574699879478940559970196662141436098850250958464103709509630445473268124323408488242728584893408611161960170053887511773583330719780427470800524859747184939510361340778414569246463993305031853341199534896874121401918837560298292953153721534487280628217787235289741871421682977440814247777649065743766948388362807004614622603534597344657261537934126983382628180146707689340868978239935826500511186613375920045608004981117934604873446628474930431064071187270674581752817123748709057104265453626914207976273939623595197351966351385802319629732698770007442921545935466441287633366298669290030488401887758091725049849206366155186806327810636070796845275837408646705796573477910411806356045352541501121264268332726103083124187701517444162139942135007510042099015753586222196166382484317489676117371861795778684652123258207861089373168484500724014281532545463267911342214081240088315778513410676042427835770787724857719676987778955358709690971430915410571133735846884628005774830059804558708452278129282026216056195637817952676620405004871185513326604976161884564571017153716796110782178104525072518024917018382749282493209481091234335033638096160060587871195172045464979125115561316960622100429015753215861684687729420359145770579513682773688990616591495157353343169486393408449189010711919012376039357468235510605090372844831447066354252869890818459451061387587879329017836897976204678958416147019690090916129831258680185764526556197324075377643283840270877126009747175456211151979912732208389538535094386986352631777206754949714350476558648098080567152596590617414026406234283117240252148733474370473099846351481424676424722476884390356870351619894233031625188343350809985310990894558480140890457943259340785917614837068704433140147886175758326387990763313687778873217458332959040243909740582586120251983908455308046180065788946210880275021790435793033973958306910599256105766030361063195859631623640406037223344266303823617476296586353966961708351551584952539733559682199530729356470362730523041621375506432111729943818599321094017098088978365451864487990020630382215247674428459097302374521667478455089401340340872461233816069960804088205381906595712704013504288879072274669266961539327779053719010228996245895708333341916154289064674280176322020719256525911291379590830260567695228818347464914100928784644804001683164848835079189174032554381678556684710947304782014327780687630801212183508668727624985487258574916165157773867241025532004723510146903968690379800118928325509090931311026497792295865822233901311975691727292825286449506685736225636095015431485166071822612006130256619604871311823513545288028056883412632460470588478320541781442287350088098311659005181178505717627708717028460839022293228096664044307165392605376743984777845673972046801675456473868225628074488175447008158470493078847451968972608673441840774220904420671680012015519823437266669657699918376674701144738578217772395579076176902053423504877306543009409071486360735026909494690094781024484248585884138926872889514102734449469386610199939849652469824668012103935886804589823306545548086360975450243337993476519345639044975524309853801029839991868534659526750776398178059870883991485902903800823350655717449068011070990602786091266427283913112017395950400598032300728565335296874275637623560166491671562479599638244049549712883671998603750343798403814343485324662410044537430613826423619963354485169158435288284901585554309006009280902293639578650890662649556868903996655694971790458626467403005310034106928655133851714161008877502427094435975228467504475146243696587577914371765463522830670420495750692953283848398635937081233182441640672473738415654118269134142246340413102033913512441857011104212847297312959239373250157458541714056205463946891107949139797510026534607159736178140326063767644705390377953997726583137176566485557956616919245654435119800571127126429801806825024990497989285628543022250267330709043790075159098528343807739379291563029151149624728479356286274020059941234886247788103288703925663084534217212076730278821182445854504637370299228367879354547577062579592222159033297446616659009539594998684373139910877644164589486161314659114698052528074474582173686330742586427605181526729569164313550011511437794608871357456376056645993249337160916873240957421936696231185495253005561745869739325392199929454687636940619486947847385598164756267665684966633733165558003917341250302457575797299842105685877776249879811784513537226598039672239348872938268434812348678608142565875386254053051817697590174688687990282395746567637189091500266465383050487015145723131556201006734399843093636048778719041541637178587798338077818335186913516148559102904505991138381813292908452662963778974893451297203698059713105666477374330137547984841626646229313351988515288807457982488555328647865499726570565939950253458568859971660687231839234325934627014067798953864222177422917511392412830805644155683787607071868384021261722979364489169875830344766943896150950548688370118584681043378854264043635682400476933815961318163347919236436825511430200120538573558179181078957251642723396935931715943076709610206992576894392437052105030052651468932379505778309933698930892109704778749826184666153287790216933334259637283895259942772155097734545235608651604267219718220988140305012029551937857752640265881461150552323741468027837660351384188818565521908599971759478742887466792162939558307232710078032902634021828757440998285890130325527556440563441675520873965350723348395611783957251332145798750185937464619573889725944897211782972680699988773740008165149704250079137006310341277194819953948497309027564777980595873696660572400586007749496134824144088243076752415607723570662196535503007793570061809559201741631255288523545601689222217369567842894043932127448650254212882459491773196970178312742826893184762544790339175084195372481224084057970614788667772705082426550901732888602822276069043957709382280147183298473170577802324257926206048045504501303048398759276986463292524124580876400769959828294864260785306415582866312309744818878165989284115539006460049058593751611470722048833804379413309377126591841493258781467316758735533208907117392122708453904682634363805927236928281956306678672716364181351031367104725583860952770966259626912053177998725453032860223651141680459175902835326489747820610255203625825341842876493208236101585525L,
1086926224861227037459430902281750853788287349354734600533620174895959935499968479641675593595500334993643582573657105159564534234627852128291659683090531424130547151201211941894277619946766063588238989282511760420963775596423260061948689313858327349310812093517008847745278345968097792325188048354132349206165199586200079420685459212407587490982877106591528944433676227481061053122809817082132278215233262703120006470723525919577698805304224899784128328929623240095524803302478644576093353150363052768049304196343808629902622780299957297603693891138099787374953227605947744765428252734103985053648604283417247662608844519162208241229285023260427819659441835002937865238974963331462527895096813435803115382687974699701236029319305462685411886686133696209379632045513565175636353826517654701568482149309207178053811468303897645568551688585777591315321567025711279792723114402632008040790667394844252757760429662258688130413204890070860959273550172100075591455704264871558352779080741794182011501399436944234340683786840266619707923022428416655052084368906006518444338828137448709978609005079625393205617584139890742523139000904816827102278427833588205996006422738596779126330622645913381435877947377308239723748980451172691268439395677395036296592511517011854492496741998225285380015675528602861095279172034777396190611362007153196678223354125276518593374166497843718099015832471670941097400674440089978099572882214127734516822764399649283617976593117299086346095184133979583488616603684270028512212808647326585534714276981935793464010136073463474559997329720964787003034753375392692955346971625494486267645184112911391216731640868906214627883997794971733898653793365290523664916602981395776899879893567244446670569636711398400220156607250282352180555138503192206657661245875999611693104253409617944311347432943418184394101769195883259732904160754830186952939916119017611264939261538431073474927402390639522481179042684445322772289180333172192109027524532001467802598510471456884357162521531866308998919750964116284017740102849360813160908359242414076169661285798515194448412246162400740006511346588535651415737204500655735462860362240741870244400758048174252164881934517768445117468170614049938794142992108153679876289659884346186409568694179870024222621256027730966122581132992092427818978313933197654318342102582616903411872892519944462912774274440347057187241057714542451548659038106697809701648618418415404403477440267032314380577813972642782510981469472443876049888710028339959619216060195209468905286256387293949827138967822658230609239054642934580575959166963132178960842431592298314507696409162663170157851231941391781054528483813463574345658461562040436441469897248869970441832721250870206896675765497864845703059121404828125772735650511075333719291851409928540552600916099470647365120080339687560851239902300477011511295220641548154544829494875330990551942507273419760368463476458888008436382318556732155161943280003360968584768718115173210977852767589195484542940536425675264549700256112456106543972365456473525635858150235152180696837329746288635475886656694434130641992115791111643287739354524146255875091016673317877884786069713038881559957805155669394020948923278080700009958475501216648864565089810456632579379422839060375295367827514378173130831543202336493236921599099743075664754583155858282571282722580249488434660151952662382915468126975414638378673806159997563061109341277239276462225781295765666391250005714261770503908860580614215088902581502087194040926029060583161106647219187410948818708622717126999288242486529543908042644888533127212543764000033141137213695369216131806684967166426610739801503241931894433828579666426000672759466475705702815723612538812012608890598464778304913015852799473442841257468550136524125213155650840560079653447122661326822622476882065618113657823961494262993476483399358405610423920526462620581767633704954694481639403071850911481979994894279397219510609995376285281775798085158752994602844209724665996719199653330597221119762045066123707911164031943693858080706987249072076862419791594684712440700995927760635312402580392146759977784119147943678138244388037813401276558214704449461164404732092290438459534494874802004112213830276320570596158393664799104308181749348906767759337769420711634954181982524872472474336829399137257727547670993781230736263987064026949976160435759623663151242796676495769624771651437043589963625261494871261828187415554448301124456319607782065694317253243633142996474773093243685082102146155606607651819298167054441079037125559544561773272543602364341695446784270868599424520707426534050391376907323022699605499412216706173726354217498208295796239834869394699355439340089960410789122054705713363488604843698917644427292743837515124192007457293452503864555514787591822098027051346840062062671338074979974805983231014721832080029319708763846624348538514986675179936375813461559445744845754600222915633360333123097876570486728662712461716420036763535301240379267670347685927002631732852852534131362504743927342010059476320720557017863429503629474337662118848514485026330179751591846408263438703457418174443603261489043495936813745420635547639152984840160846519501528991878296187069514965920893413374282264060613104102980995459293205560095345883640774891974771772599603847181154835025356316258901830000317389597636068857910749625387979204263949939168519987393150610901061297589839615988611791508727951854801322580470740372038259595518085244643758558811423628037475779282134740201558277148749914323234074891179501888016365301566126493693814946697191490762088529617812117321116511920770788098952530004569442884391377768512778507440589382393633854825286500883840286087086239882726087977862356392841989694813703051680087533374756087465522743139883904505307530057204921159871953636121482995089999604408571561323712220189656353530084917518094358208717143756122114819971665836293819727363120331430186044257374235787215104421823770706105065261753870186905644880725306600067193526198691227541368656953719106170713226098477758897665324102213369723890191774213578449027196312107634222558851365749209758926698855782079507203416914755202189135810482650766652308911756848018962675342291947766173191557375009190453475758847982757822379499688458340072758478633454149837934018222112942442313344015553467480728489968381314748448888871687458590096775876562167879184096129374939428152753096244088722779442394197391107054925394398471191939780672721486426325L,
1740975573129523269013493793349275686253385389676245069705271419242473696843723254440878269745972205487172107191190920227547702185827862295156606197039360826121336839424409896677888454667621819014633608511569388669870339356666340597225611818833434822056190696728161879005627733253617543050440845463093278845229956274143891389706148746191544457508440173789121545523915649281278359087138366602460044043786385025015172627673580192178955830718494277290988405212812519241902308153664424587643347484893281731779620367490785207838570653528381645155353831205143852648796949407279540745190150379131274484995070072486481114042731785065908463601102462411767650642813818630880296549117611700231481993101991259932383211985276527960016353723343745276221370846509858880373923337024999164795051543049145058799720941167216607952961303426601151997585086405824457902941533392187587635519201466751305914940061399680512904915876235092055754184756274447310437932784146049949923348554033230545131960778878815800402214753507728797235153591285784278422736665519968480889617510352758371038169872834846472535780499248593520619886170179736687024235279416966939024001130325341428074800233974367470690805883937199663850925442252761808594665484426194806313423428872317514395236011653759025429071671097170629555970608177873725113535824147731353387192195200779475002635979357007837792914722626036770377897046393969163450269706262255905204642871195682471190171986530423801331199340686289823199624190882002380029986227115013965063848980441627570080799051310220951145840894936131824973719196344915043283689757961426257618231468448509341534055244572253750553665777985921282942972123182673056203435594465706273552403788035169823582305850523217406631515195978519907102847126188443224863001576434089941365968993951942215687681666012130320720304876856872668874859963817514412408357970503583736157691770740063111264216112095970517427258785312349248750066418348312316839086598923897437301574126058277359768329941582372202986816409467644517844354354861138334681172238026168377392815901492849487494303380242004924892211433586855326617735253454385224097526975924717892595313148486450095246373121356500693456431962631575561083194536315462257357443199907610378632423862953173749164573299572406936965747461210369475940964152551768800995092930015334238422802641680742062330077515889505939434215084957214841621034675062330757772695524425441809770286731779491269241968856930462157945124263726914844910559656734352915164340904444459205608128355936413814208887425744556655305832796308463965567436033499187398315535009819428341073103440461698350319153211589541317097415568335947316294574591235741203294179181649717427648232076352051657519208410309722901387930903433059882593246080560575027279474373578998011703378053461526541663100608237595469161771720319790344624621653933031881700310635604700753791149823883122327585088371844473501012751317732749507719555831634938604609488235592539574608121541442852966665904638530133170510624829531966150887462600110582468192020017551300515807298117921307581457398073900433209533577356582783219919197635831830521299610568260023873627534010096046350257647675560754648768457828242525906622319105285270476034613807900300956004321151305789370903461505255648019658097037873045256376610459074976195439052768980673219185941343646703455802737533857032098260487535637980063782842573066284431690808963724011701335032831966291748219545605901856564987276627417131369014146675461036217728331648197292125420531656941782769523534477333322526390092411276852956346985993782014230031068606983321996688069333161675355639041570225459419547521026499967795638150494573167009436783219737272201214583701254471783165518273808764890273446890227942555211674403581054193702683953528689354172646840145674763902573780114019129920037749785196836633535113904845410861201804439711748153251498310238040203149324633612454093959975356478720180730891298837165636219283508044748826002923712348485015033254228912728568791586960864623898053178512135771023480100703967866645656140897468790935653768459987331887599079830251980960427032327297277241661737973544395669921039966733694972637663590405633102268222970003438706198421657126441113110564811432301400886038063889797112580578709901879071741142462899564924956597477308662726170158533988016797357370887903808696425706138975869609551417994241918813259185076262793687633578598967825094026345050723981185215038873068641844987435973091378785481361737136346809844281579109715644348037598369629960533866513322953614972375746369239662425004937705927588721177814474904183494541056754402610313391947201953729523985593232819611518546127819467941768630997499232709655762834520314200314137351991654550220979280361756766601473301345105924523657342603846264685072632217947113064422210936081106660049740732371835904629683441713637334514398953333276945394593084638196467512964626126876453824882859090856033242789508809021333511096444645936629124296984186775655593013122265064236611279501641031756867782745010252131938295690069707668537023370937393592710720958689226968472681538642086795775148176513016086665138060294861261259007565393956852248537721500035530835935952701407022361012984766025222378383796636025366660871416092858300810179862711693691347581227925500603423437542142710819999163581894769722661446271630237917325987849375342003928751488096793172290383557155261225871309837113918467684406284591986666922953390986984746273420591993183448848512759756331451272556622400220138800776083690726243121590885201106781992388218712382513236168252471307805014270225470723129770218404391322209002991334327611756248010686315549148855332115018835739097290596637286833118113078960441139802934211860632785914449044320297857320219425202609760185850163362917957036598750081062027240648011250030237870268817240903373334372998249145181201627490730885995160330342217267100358072912587404957650516955935258047807054194895291704018234654146666644203910473010162911200636960066073190674965653413673759376894807610260949830183648377281747901241424551947234086822743358759365253232477807160352351354119001433588526182291454237079282427627591708798709962069934845561081189304331903052300406534374784961622043693951509359588819403503203698705192226946604411496495186813121464909931873319425409508440925146119857745937504155914549840240397228442913443011637675891111279865562958355156709730654618789844829157841287947023108550580188110967210680114646898523469L,
2788261901391410414708771350990327303721362712196670080177343270597172466131548075335569444004158119752879276405448428555928838133641950465260699752837696033289859002975341828908770851604428330983302786171322638621764337994088138602311320111953249415891991363027764647199636973742863568156298169536869695455237325130408829473092850831330247714785874443913367064177355242848018293071099118578653138812818825881276887336946130325769662800627036585375483126945937966208480501158186707260820194320301234034672790015178316618609110101688118236565043923110406858896777261293837963437781251781506228031127441307278280649396151804034280980364624527410778942968728358463414649238489263905662917272082589726657449773150985390194689446510162725469567870586222945697952890961466378577667239763695458271064873795254937431688797554674035701491256528803655273107719920096463249796126707190997396256403243230821794828869281426339458163871181534530786505772847611974243643347923683885700234466379146448168255151044772309970577465436153254154643306159961475601424647064332741493067042093169175426696267897046807431814894528502477045974640066932396409449007413852562163335228725041358403327567593453048938573386239154031639333215721407293417154643766580384607105553047378176220173192554373355003392994065393555890222527544263801358224545970871996534439422177616726614564583069130484051683518885408504309416089810343966822001510583537242054574889403649931943038841801355219751991608932074134738120818097517516301504492426751241527279834364596315488492555402135833543208747863344220414469823928812791555829333073583045962914388367621735957652870475407481819173024906376239513663585675167689065131929755420643046755129922071632697121427242308955324380386144166397863084880472819518781322711004017547648349642848259036153635179120921175135127175508233063521852849738994928847692825738561105137563017575470568729775940278554378419157020101667378390731161975959291340640481254340180672836732049686265117618822211956152097985462962290660527497550665030436171312361969304545065794496160570927395801149036038621066931418389452079995113205215047530733537457191688605447527124419687908617464127922115147466270086436388099072152297917387267915227778583026783278901728385509395154453594545060065134705953342740029472570318626578018195005203914259225366407680352235666198461762509879013431936121774197665638535561619251454005697606252016485529129536716286069854004434968868027353858821901766681283282457159019486480504420156396360701613812287092164627584615738859191469150449828847684368311396095045323963762912856456379310520775148179757739187386142912539662165640355747768487808019095657785335959483047350632166124262138943181695960428056641759814599391308070372464039213987680196918328860749659355941358030068953691596026391577796322777170497193598747255498414616984929792925646124018497763839471307442144288177623513155691365682668569327310791945777228634092039009145290521682413044379369960483996476602697716535350353345270278896092715177683616645161427145133417228928497565514111385936132329183737821983482546382327550674460144217586663568852114364962450570020831062987459161420420569586321697058325276145705230849487157533788468652482691783292018281783028581173420179119368559751276173310478519940131520184016213720173177248073185391979081650823554812643356724275439654417022557592589133033584221750005229704497441900166155304977619102793831219411568876914936474198695446792969689686575030819950405571492003868082772754011149923950557830376366551466509430772215549406696452447284846058454951542321612229405140456390480105121845799022868232691628280872307415162913351171523580957464854893522283641910667590597923363815291977219822284252861792731412012891380269727971986754118010140511181047686449885388361088652812836171904794403244330194494174577709335420305334090174441614802926262600026317641792280010716807284056754563184954173353772056193633679426919625361387845413687485318589891594665309149434538974110096570071119066244717666147644483372845878551839504984152908537809702191224199136073177592804004790356033756418396845726336414647392501269166607693528107653884052906633273180047586757362814522924297654345945180107369460010228536968912808562205364147777316516430884359313852373358761195207312823395511488668918265758514788833588610089954273047185032115248049222958632572254476415107974317765760413468310673700697896399730898026231393631701775884687646706038219520339424711322453033648025691623051642985901806807520750412595076836144918499991118417581101384762486083586887484330777579565257390202799298488103006722648242303109348399960310360972845258735203478318589440120576035425129370262716096800592087877649352826604088293115904027115119056683193765878003156326778558856388280403977312137395578133938948007135792019225227506253158230808823086191532954188317521866565293508053810651153074637365266510969687197855750864847703885715367028231751813306800055095596115101366946456840584541489713782805283010127766803629291377958555448005158269078025348036102750621507361850358129259067627434563022260828795179615438331499953071985406497042979016371887920908120535541599746627161310403247551889298350178536009480338533033439857613382035568809394011115189847615463645131697601833415741591221255989364575485976687989201470094351010514543630978364924038244013964920532398775469362202771206568012135595300762546435673285899432986950501865996289214036688110994916367287097550270288354238047249921017359064944539254473432201313864770828045222742176807982793469745454586799296757273596883534236785107169570513058781196292014854209295743076520687111824712982421198261501970724442940702016716181287248293184723544511872061932370905949227732802931391195022374039395194224872778680033618576535458966162128099938129383967329507034194106621432230967162314567482334997873119943215182326201142514754086241469819489726626597671735036693755694817400470807643709652674586720613557338933569790078772192641919600284104078424249598643129543319736826643967268764107096706543063182608287072138676651689183486713141674106023209209727495694388380901720205699622132655734866675557747298611486332961891751059187322835548880245286790651909419862842290992367299957724111995212696838665084741128944248752987403871238024090697178962961625783160506987719230748106109013381897077786771840000454206890567006975812026373987070928616296656243335008557802887009962131825550906L,
4465013285289405989816955887443314503154814003970710900136172074636784219886285900358998061653509457054188495836585181807755088635693489492499901963630078097970961205848481549205193429549976948198962006299813963586837143535052784883117528880459601640840610285623591749319755812025678540914351293590646861246790061287863210006318511002375070874025679864061465248707842567952186361902790591651716412593789766206312750118487858424189675549714610766094578346801571124676647568205582346498430499316975428202544955947025920526141543396217695059551933775110375193617225688763663153485061703376628651926734086695572593278250039450465355474911063583647515290749982802433320156815714894031935056378241719409984617215239301095030895076697161644397828723398933537920967690162167921328529942697755522342720669614666447479818822042143205116989883692873478177680618299780256554792636049874870806942507888676534688447930502366789234217068260653511438648659894830437834958866551480171807258193603766024845763601594120601015942169717317904149705215016953291455712950013322002546146812070481496305112019511508931029156927613556308606571800502395386941524115731172605613204130023221560838352004369382001039205097876675710356575252530976606014359968642819714378742351553655104189180636048332604684480637140609501154515047507112824660529490856249445011682811134381579115669520731274316170226188942566334175668209482675314013236824271038014261087255989976567379776749972395897264333522834764846024878265009642159408878582557028730653689995499839933750859244106222754385920610074621948033492303292977982778171474343363033909746015830287775002526053780901199107295132009421120431384963993928614763584825846568256240580206514205595750393192503656756731151156905787214169607001336501725701738137885597354848088777194021110052451381324043147665067892613953591074642558435622635883554653312673795404732038137824945412536588030809350872162899950871787953029641738981607941084430256523723796530229633250800462347255485964398247113141023700551818245597484123711466223402699035545994650542576806545158788206728072192443575611152922005649678871550761378331850995943725564172265736716751945641886971800149009927259109482756599657556589244876105248887726799363798044789472678530853062853970932749076485039164998813847322057686630145949628457758579598173522237197702694256218627713641605869693005810680496890665811177225678696522530190625805655173989992280266707588056164048477500425898226980102057086504333922173956920409326607031762587452959325950361034714976120320633962267390647161270473174140182939343134367800441792999629016764454008094321167947466885681741149178649457717561789151563283098365548119521073795839052486182599238444798413149500520598946501652582863085290352460163161659568821031744926027395512611942152440574087791194666859162194501363799517991340471316093497189998103115024199249671973096248428811240812752382653304166878666203632126739347684127569148042949749325558209487415805978112033078125438257568254555893032762917709296334812703150485947122283883039068106034101850884120991590464909943716098691193837833607892436351001983921838983899373459184406170932302755206976700657776930193194770698563744577022402618638183138611233017111872447692354774624990009809253682615126277546062893883162012936847442915345626611498084650286377002909832870286013206806275283582897142987266440316271123243681556245909527912264548512107235071106431283872933300151118922221993486593422068988160722386313164298992472920415802034233235697961526438695626458903515654608856595493053789341912780649350870939623436645623006490855501390743863601358167802702701841434135842886316054980372361038513886569459800351534554123028853165652601423779881433332179906438785978078454555153391161534243794249106370006766173891743418481206531909345174431108825169388536590228493061386452616348238538833111628925951123163313866593266990597227004373904506367073236663711214957839231540922064458881894915178219050927853237910957459373987452267137530253836416511424747238005482446877127487085257247860470339194754890841356617072931012768566031468582237241554957162426555482594559326238008306923129964915895087872308162635036038637053565135975867435509079047955660623065867621835654560628346511167751050304280391513561379711257092229353470207095293110606213718233197355542210032799548894165286152984634404474323853598115651609674118588556032592641507594741541465769156280577597746439604061559555808977741306969383482053859644209059031227665191740111371820276627210710012326930131930771824641082461826400803324763139835836311512738266235781602454476788197114310465851080028954112001611983116425545956810333642269974983997963173959341504155563647805006988479839993953046366343734981673404240236933468248505879999541979487571381794046059528566169646277428772752735620689370640487532248921651929149514584021404754532306612481752105669708216965602471039836840146829960639059263506326447498685045483952913880727067857387177759273924467379606794035669824217879814559194952195038905499107955675571406752962378314897024276356677826506707144199508896947781026359092902448750416427434194823981390345782390727683669805003363190076756335397801193953442580058446161393285541449730880498399148245351622074067153573497170112576171597941467912983667729295561728359487385503852214570353742520101659302135928158547168838709298173611596548038265511951280733868287257689506380998487809224988368347397871574876999696019253227997463604612366684381684031687923868398870048190218266814177020602774704770055104710658821724897459622706792934223777696223890904971359921166286483714084596687314199332381472386459317254884589166003972446404490646613976810138357970025787359509040940707037142872162574620651592035614384248765898951277985614354278294922391446454197879927555110473813638966810724315875064013563851495246445620264091437232459716320657852892712495939087581950688057047328448902059035353847445378471049416768417988813831046575303107830793955500172939534557934169284813231809175924256744801161554003417828957324934320552225588214359916600493794478871805098720027859243407004538855400127285468095342589109880538315238084717968920487313043624233257142844873894232132848256033807869988950850047397552327611410274865652706354227997658890002186412176102557312130088987836944900711098955286982535226510366593879840121403915235036314252541858688646663299030202494714241636648095891386643153326638449212L,
7149246603830528015640497252257219645033020438208508996913067364969933220906357785275904356726162764641593670215108091086219223225307845212756763484750140969242051255676143037279457616028003448129062291635286689817629852117215734099794052912496070590061311773844203786744927522727422239060124338510159534520204198626324688562716984272476990491479362707420560561868119249003832093514514717540411107881441635391491548916069029907759978876724592382980400401181112530066085083693484318611882431492942572231287758191097503576429881506519287509613983618050806693275949828932426957633878064063164927936439550086082873128734607921255448134073989077885194658224990750345770421689076626456600448224642426719981200505537941947968719313220451548894614126967079010144500319104904757678344369955017331938366171046940505077427899115346581922512463849544666369464047682990766891844831246096353470380690515435798863116188631539120625343205157399828956865471400566427087774070614718764256799455550071870047658023187974424021114800295683380792343221498736492701923789147041578121590544103924747415610740976609451557325193226457909575519569521336179604786393299542545206507942826811250404230490571069336602441154365370559307258015487537735429864157269674200801552218471101591239692416452699515961864264231135983770665710832090161884527636986099740393724094200430087700860185502334838975786844740358900743192975442920051786088532661776740401585831940649806195937674742354516933193730127216063847887929690233304422691603696041614108261353033633752505109866717093858840540528783926439054619842807417915066688093595052066536900886879337040279889579497474037017311552104702981120384179659309437278455199832095635914617737122668001965773823403503689999122638550932802246077855342585827353046137228442644346500116736234210622272371568712517317880966542286114775782589241841957292211328269246607969363013830945441386088757861291034697421515000693470898291350756910361902768980556452838134540663199474607590494778714880719015581806605901393114795372174074447911454775769795619862863631286188952334187028531064497681129746041508226014218227717608943139077393986444240866775262028040063161754537660773287972649319058093761975009705132492144541497050392037066276466629812685771502806003598146022557016996236905612490584158912977289102452205666230871569853208806293992481400771795277943153639168759132326485687260847370148118585776507345064926208344418773308763993222423542804875943110025370192627507439334071557648821698484575279414553575959043870028363527551593296143689610233409041700228381005915105386605048630604492626794706353055166354622377836004506236067912202390343554039766675511075892581683562161389442119777004463052433279394788746154639837133855038604983304847481695197114690981356477519788110232091806537993840805770222067447937199110202688914120619884284147426801905174137086233969042945129590301727119783650512116596445421840225359287156562602318007064263072924775331845954714934643476811161095731383388726914182260736226574729696407155937081157444374205987116000701031789995324031144232551882051269062023698298790034950656446974899953759008528580895306727185058304634475840231137933758196737804069239179220460358246248515729396444923508889375448022781238515247063027453439429465860978833870587112376432818834808888640833122089185020780728083027087231688629624126572054712356493872934408139575275136483326716626889484195301130635490017346079646832280934401943834144999322204896869952903185817081569725516935445407107255921632120130690341305305076695828145456050973938593155406242503970227828752025778759985366165363089190861337567398633922084071695176246397828260268810293376310938683797740697537261864553294380121550012068333762131445773630791703725905545105792175606960191707214691059571257111799235847969288792106976724603874670020468907898700002583280471273152314126214590451265617444417979011972995264267732905505067177356953732736224951206294959322978387936871233828959859627544860935861460214690894423838268485124069501738289874860207095083513178206706936778650302004830339619127434681110478098958814616433559796812980354354523900285134461396043310990375195403645928437554029419930333101745327487101050857837147897817055049210971425443923771992087708265752495714789539033006293342838130183051057752489243626719937833812524724808441676827177711345420623596772669905898482594542236990241636068964609232586815053372998367231675825004057419979552846468850256267562825341098896119242057991077832922232150067829015904340104890697526535008065772211459624183126953022078302544697092218478360081927476914499609926401007524447794000792719021668148049733917745865602674437301873857122809975007201490726417096921591715687861126339164842899500577663934829320174215371092014249666853487972488295365720235388651849943395027077745516533014345060173847050805193675306337562829149982961239128533416724094011803341648658003106438483085830134198790510566466674340823545632579784674007605380680028992273561232107841403269877074086600704751913811305031980424600180279471944878056625864099032680435236129742614746812039559665346115547621544527429141061535700757136624529095342876572857485556022831544935226507006350449449764815312913394780804300436204365888439420827690287428754634967453249664454737066975669685089556737672941800079082194539455195104661795632755513382669089745412280358188894381698012972730016546873771509429632946729292103051574454013865362813943261384117899213464460485653129814889143947733434448250933569728547274897916222121193834950209984836222718939689163772121905260151892238888822892460929478474663779180693642818633739300758816971337492635149791203630365155941246135561570530963566485831498752961054933045310324056452172208282924106502463981869764392286622451242073195703075865453037744403429473495577127063652041779291370401104203600392891260211991752725849859030913022164696354193219330483402472977824155343585007310292873511472079296988847208800644101193336081937318367258602242091059116833217191253459286383778781367567004443348081667255631860928609433275370505189360415215243759109528068144782595467319794103312577803858056320471739414898697437599825286267415245469719180240467284243654613594122234677168681779740746997531918646481660578200255628943806028241400628590906284202577762607379089732307214202234417933636699591122469812030605948509276033336750290655093742850652714464306787859154332627591885556943881424822L,
11445800160716989982827122893814814378008059654144935427836188628754986092159935939681273712354733184274476280482449502089540890249475835283412383699046560349047460291112945187085343201623170581124162685967830630781017450054340282717095771333259070383041033761625294395106959830827013108302015730044764270322662027468975150365359487380433825903118203937143039982212248479372573211869921392722932838377153931897330815993524800423247506627498964118451198588944109408003193414500945324187575919182727181562426185436153530024313169875078416716486418411599968989299269367026117328844857415254792110054978557447973126747140519743552992080587798689851574923573226560905701926936063552789350733648399092423044550738567952653609979706731595901725131704501613299936644583677892632263096559003282328756025047239466340215650862063257350407435674120107163400788656032529387083115829142659119827034064056511135755201969146203783117291810818308070420520178678770239120643575401549185650346404240992471548495947697870732088602704208835685699156028172835711604239414458601671367345263030201652128537140208500445330581962721484898603104504499751257317339288458645645175354768347540299733503614785038563662632031477992862411165923323052528786184590850138314931942597910896001899542037846945378226023851403065523410931296974022038436811292896084004944834590239873467492508493668333972719233285348253572527653853804128451232236287468591909176296820258588784834546095812493646331873180672186533713908597901392492668811073837244479490553117273461394056317008032315409678565533786212826362754971163403542485457158190064452545036907753361548956982188482893827851010307016759677526311883798416828024299932221989553945125846844324977397861211367474504836632802459830704394071423158089371311694282110030774466721019609488528156952774734652696941228136281941038375853235654858174481733617096437500979042018398955942412420154344748891045926352196600629702029141619990603408211620420014047028040198942433701747629380201898642217228078609156213834790501097199594681289818516819381049464637694837130893019451110965356863439609944250694828470121453656794954157266342543596490148845873624703625764540508761640236252396195764118436627406030416183127565965422843888846552321431423526558450124126204452625919324492362285768282358811397125847621329264130392330683540158735925873983631985699374889385204279459567635297345742355928320612763215714095032098057832948940758793139141236779872788504029558498064488626352211945043306563566879264550771896665388232112531163636726897650462956835572447282976586055326021727641072694983386707868803994955281013831245427405742934066225189772743841576392805613881899835111060725807427079459287003940119864856022095635185496516057712309145737883504860760934391216847784429982337879124603873655942424765584021861038513650409622176075269968476786686379605757963927911717259557973865395486990326245516706469142259682651510741027287108273910757617169282337821847793359981620013064276827733723199576100074334814265388335817731291340145926607140919495322640543200450816711796800764999918395529109084813635804875633646950954880067135898214293429161396307044826175511885269746893587535339984993489799794997857103957087459600041696562369033710093610691657493047917836585929264573105464067397011997446539906919153270327136423069908955422063117671911309503792776089951576116850001490887824805523499044555933204833444394633008677123890410208928457266731618298838621942577735069559146098980235769967066445111434961152198723719375967113612982339903206056974928321986820615839236914075119689857359822607650722203602653814900927946627762047698616739652989817416527261616371699467394960702534419700003333478830480624818294716645635713265989841059578866486928752256882463616014635788969930886612617335202042451020368486905463360770333889697811353633568257959787191413333455576030257829226401924982999906290067911040475152633481761851604026798366649613749728432715509439936137280351356120309497475977954672127558278012212584270882203768172723716614230071056638607938358045523940010010539553086209108975865219350773609472677895551848645530276434131578553942606539117194584709246583071103011835759613709657026983159854224039015835739925740055336945510660772699583409685896771124157729589207847857300546440069491032913738264056546540341650180513511553840025018088686718384558181994512687908803612166801924469598930803699763593333097547452693115197449956270484844990981922586141853279174480022790826040915310327249377295256961941117089806595014494227869208906071002438912325037662493805178107677439847569019090000043641192509092635212366340276066688096316349294311161780636208738466149511960790458272509614959471114026087172646884169515430352206985206424531290233184140794124898271555847937473965482130547621612567832361944710848327780012993954969384614547488710732171664285399717488917117064603211131202669783436143099095414205704614471085255507379828819848747712766215192597408199942848421286428343234267700902706953416204131487715820948079639089636279612107223289836154343177794072898709671163266397447122249000069400557353032164375325462698035893629171156358156242138200998960216550713970539977834335360506057643396959037782773774949774195722853253640327494269809037937457227624546635069316982354910127041491324227053159056218416260360004717542132758415212351920383639688826739796558548261137396993842159330169007289931400017002925325449894924240565179714369555231253146084337864637593162253934412397508250378679385695838032152734395669731760909752072968157743226403508141903626018694887132042233378490852732572460721789606109758520027383787089416186376302163191859195938842723297059126574594326496165075934461005378218297958720414065046767437983257415173175597256695439196282672055001825467044442424519787228620708480622633485847206076945898675133387072840140627379654024512257864620832582801267458827067637538601306740516371635220187971922214488944662377234450378624947094104851893540558845813531344348780477428782865581005099574177147870413675762607697842791267953399480088296395178526162586662879532168060625815738463935199104492603452913342574855136143462822751415278279301587515011946558241292526582587341528622654322139433409398931957579089584543859096781982166315495225066634555467563360357950974933953021011707581555483602244968486193965136506792958039188585394562716735865278785304352901429177700583983052479541521409938795229211L,
18322318435489480194699915115129446041815634282064489710080259286504059150709473900747965268323989231072358945370842628902737646734920070188894622084632864090335131025597219757621938126409515019032983124081406221619308922139909774636781920520836580125653573049154239388478656568301756597980968394355364343056158388839227887527827014670252383918431974306735122912301443080817339483541740003269981149114798165500597080881626800474160677782323369008891901374361393248194316235559061057558026613851249887074581569497168607450728251794020259046100776893753724907873325258504089210992823876603343782017113848583500512591400424047432408785811863744701034701596039139816143329572593167875391523565213877989165076173666503247355764896083553129879715512506346365186317998206933224655388228627563014455170465859552136063554823674951885370983059975396996238238256322816978974857184739741588840937898345788307738298490516422742718607810357216140699714583622594329610363748105228937954207500844874669510398656035319111302849745244260513876618843145234334383904402459320182426691543738835418874484978834489087740374568975573913016033239314814231411507262970889523641718289287799598285957360473437222405474479358589760413499551115417560050240288052421004710491590464120959406981826424869540876638946426432689396620941200072471735289001120851280000910281644421747016973026734283943104016286556101122477096456300165531343295012503545283369574026808089159755688835637877633734452635359107846108261793379825574855695811802883697736584625482256302779507148144927334625662399127192222188463511325927972703897966406960666347022980176020080128443634170725515520915505023907237297615074801711459802742880491747220402032872856151403807899957248555398212724394596486469553744035439347111801123421312140423334619142347747563801578935386166389960635418430439239089743261286490915573768452947280718896651516489161893678501298372074314214319465555016435872223498397783196119064520834922409433222998287478375146050287407755091939705051304009748440779133918548208827534216134626222041123529801055972436051599015053907297972659389061600796005977891467192581551981940372145116400099360194958327201176064259913683080105057185113626230120684474678794843206856105510614770192173113321708855592880767304207126003081031080661289649061580465642205388140695845450803342800754081660629409338454540885562452773525349854263515164293749901115715867150297746307406370264312830287813606271174744838413969224033726566733288371786566541964795138134902729429193260473334917408285371373701248426431743655410461758565280028484492746482580338123967251623107489122043376494969968851862358061662460395774885263908934854992450980674336302314239166373597480993631654299047221401180229300400444505779257915326640620356198809162936479007572850037689425062225153996740840785644849260385823205324155817006738819862968894175038227474337018210289423820307773531175424351286462110334245880569771693751427305899550603183234951717732848682074877832346898362262131454986557326723003486806755531351886924731360508342490679898807523055444073303366701047705781500569175574731944662918356634943134886251877958787067997680311515615297294930628176862251532523400958003354175078179552544274526718580781503315787627109616623817931841997352680365694058256867841034156534928334851640767966051733025254220045804818823368827955820224679103362248838178477493271524223162043073527132002067036807177925900741475923703706057371526763035272833322934189579819407360866977509118569277346352925015854120740833387779044331077201217130618840148737310153753395980084010768160477988645595033570496199534007229050085080730017090471406865300758160480345941664499739249634330889322116842362018052885889652884330623972298692739161523564145738131804248982325815080004620683924726172440591712056737529785595868602022728057148341092741242155272154078789871507210063775755200079667344274878622860728723771656486332220953364975234882123435504258218691527741189977443027168660470828977961958515891419384910165448077103742042832121236506302796507562696152591819395321053728684654235067967454560380754966601707401916116402504904943663857824946112711747122873303863193661535605023165254715963674364140854767556635634313757819815066820066274042239600705021132290771706341656144046232747431710801901647935698712101362052082374078013249923222607404344414173486410242296258147881246515280775111205744401409055697070541438510261028226869792281007825382896706532083132982779066068692122056991112011618795707327700237609583651392659529600573784955111269994669222644196950881812071059099920500530187211464607018530282285110145899115561724884076927084910555398112098304259205256408453378458965274552267237921388871687226959995543240105622335761102272764309877900089879271338595664361908949458291438483066470073135067873277931264596632533558116184083077893768494304155491845447679503951844370607516508063917994407562358966096544265072895867618939586423317604391825150807446895836472121079449438125554293280685984955414229911536144528859106301449408905475382450985930919202064637940637671915254422242340470861433967127675538209201297871319431485394897291885647485174616548844047548224575000767714393866920963274639865838560922185190055165142073888415355566881709667898913860690015724358477679469296329867536841456969831683844276923248931196804761898412926116286177751241759996129338182142708338438745030940233992240521643651673228123060153209004154826634227617866579446877072364785825574418064707491302164624745971657513088773208160469114626719171070880040753247983599866226231631340819880684853156734318911716776317769650902080348669598781760623045052514884729045017917990074582315737532511549137194107794272232430371692328983018517648653082778815746844815265887634189475538165017891494782705178008831746465514400783240506976949374677710387126135345605930358221124328171553893849286006925940866785600779721690766539241877962280924381630929972362645900581152599198295453422609413659520389677182081175172475930294634207956868853722049692482894791836174762787257255899215353948266828759403512111752854725324487471020055785414756165217312556780857833136105996717955624843312199784212749274101385026546380283804354994951715870422632494724278709405406660479121464978252014351672496228042211595848562402371148759447084935570147058218632719610891116324961899683268918841543281664602679639940333112967701951480479272540978666823508387466825L,
29326694046824936347886531333658929881121068174105098461361995971456733803685481653725650677427306947035324967406121426361271888780985512140053357212081432609810451505213683506320455054039282094454913126925019200471830299562681269253050284883468948479650700365739713858201130032240966114306845192345705279505971120199494966240315375740921393515622880652693287161685684780240185890507773721321491520046221101523298874040658220939069622734457728062483298542348931883165458220668191519195974798936658346689158659039241109959823158364136176676852764585547046292519867015232134852781322525971800007969695139195496924254537743645804599732775522160303204407828528654487034567663656686565232170337623280032869724649125280110880517691315871417084762266642192784305013774611151098546495287058082040896704570014102394801955206196318453503737436339962313385513247516537564299474026625498817149965390310619891808324596966301957337727850588098000818183327178863740313246003953248996150923285254226094541564977294484593487904761278570190237723137912201393115045671561099329258602678507051361080316240044154996440746021398633550584736986570924863024301421499632825959623976094131263529435611582754035898862901787306113239422826490536310678641836167417672274399589565846157510200285587567786506000027533344849172597801977244008217055354557216704422280953596510031006140374602184884783782377801014250146685325104437799957023226889087246459557956019184376418802982188255212845510867036851902579527352741056792516075531649861114345534381850691871602065873027150196305067096747314015629648731729684491372693325299133554499020851209697167330394890335111675330533501246486394676113713767760342071210493795557469816849732780682870314698205636241317150831663265739069460082252693793088461033191115395531061802155140149042079861524677129033255757169750961405746254815365373074046685747028392309082998215614677459154647173091726489219327275943736582977541841583989753458822860905957157322807896262482192413010533374562932329067864442084332032402263651491451540019980560151086626139276344230559217862241918948658224887869240374508221846020109448301549818308612460036305777157442148916825955869872129163290068534278309279628276189944749355469262370733576492262132714328636888793358690494932298605001622849295012431689558117506180711144821242946481940955581809821881485651732360471944960619586056227481827856826786817655691740872326922412507210605491124220192194056947673053171068660417105408561697388285783200158093130451001289637697601264025992594808865847700101036106165158364319988219860142581403789047989914467332520341951713737573146534793532746215347251395047656398291845035808557293802201512005768892833806342934061942008516361108617776970913983796867032312826273162356642834048648515141398411938073203806534062603112005348114756434379375670947986807567667067471125807292208743937615390145470026920317373826281349065171517663327311316046443606148601270799683523245403041802010880034162092482783790589959256889782036731031732759166011847835089463934890066969693386934124519871191858813142618705773554494427181361034107534184543583142116791108725105608799549380143686825956963645263062461796341780203092368421895600443706146097770362827747157817448906626711697276013800483609550145111106093567381288917820658498442589973526184486058153019246420519100839633474032055404814958824246712699090612393875167702765935171545046188244629083943694560607463823409540730106167102548204206773435205842654206608269335594738876533275174289812778365548734040337142292778747573304430877313646290763932642335165552057136419551051070484576318755986528805356965009821203611917590297603959481093511146638954354117738619409770249558796859556768163198058041146214420780091991489401588033828746988439380416156381278912829200455123723754457236617894241596935127592248505204381873148244487503563639805240706757224159498108157826452743660947750940643582618852451679799368605094727081629209895339798665508762489305716212312451630221403060329731527028358831865520325870819198869297933891583883896940818152526590714509157686844217622614445968592995714342230721619045176991189932488250468334460880850828163653470151346814655190287534442514534620379805191464882319727469637679708235830931447205813909039016214510149860405222601307838248780025379577342344648723672089801189364181203876363440730384027138071149892521327421801609021384646822950232173560008778086285325656597721493483055447109450979006956833384596874355200225233787603702321422256116344794513353713974022726842560550115962513261726332883143817719465014748914280504501433024678280614170276713303697971985032134541040301949173598409467149344415049139648327911852864984045503154479228874016342045943933135103340463523231246545348134037280925122214612671673016218829048620692377511664034165665497811092785239717378757327875875648221972111516577996024855439000108053923555093016721145429250223132304481834559743321436911089911280516249307616098660580151871072805764917862579423399063565380099808297880698244042907173811304574170958644656259128568632126114215396950139861117828180353721991949379680780657527713795708088794706542205402365786330018029114177190639859846258428911159579046267694827597669409702599415188592346110371427866209457127180373295118231607987790595094180186030227469664487496333914522397769216393273572400773522238739450468227610044486017468476495501890849722984052476810271577265189561438642945407183362964571815618873644933782289342499088868835991090715532507208451795791632387600213426019574673642432087325783875498253941863727665144844021950688802614814893520535850921757640634860656552795511818183708084299708278586567113575535183705105089658564121839382161171469301743116790713549054053946728525515634108962158331659206630396732964005538865749668411177636009223319274818459380798708749847043450016241986826141146189464146975665827320700532040569297241583025328934795672042707234711018705410228882958709604309417032357765769781003447839547403254310261754106258926182803008420543904759146636430016749087361625694769685670692435612652005757493322106059608523682797003346402697986626733562953204315682271253145400117223627501664440467458374207159659570240758564493052008052906151453136773166667235078204292788223850099848117209706248110835110759954624996918021516842556158394209601202161439113089833321314549456370572095886959545681702028058320808108270625680554233683166281127004914018154346L,
46934720002449479392318614522241572255077839355013229145839557710767397959473156086325856661845444981795363201225758332203540167796754751382256654492145626495728873026565559987596514705564384783541513220068909148121087122178960948758172052485176199519991729109848692621204961379606856735156361708882088438462456052586916661010599702798211451439684124465920982651488050868528470330003744137409879191295021493098186291549555974676313256624595641655009205726504768350656705145146671738684335489047009142159580937775515546624852508788628254375772583216066080438957107418189765337176505788968818196974034244719483607779794064045351047190007337433404509170418786723817237568198606917512540348849134224402566583168401000803863663116778386920837349792949074087670307163963534746515457379921881826328418408334214568489358497813722635976814110311057459438926772920373813227852810040724132107106576301171383503125768088386427045858780590181691027667848262717387905777539674294571971553423710348277592594698458465550981497203816991951446798739907530809853178942153811641135164128234927787732054072377216671650283131299826845416655791874853122608902641925112683398633100082118641584537633945290670538359503971805301195270001097614758652012449007952865247536223477497103473478344645333008772739386474350705036654957363696223561467071333721674976829604353628270083982082550199891352708155191403121601620737867871409895360561105884513960972498112886033351720710259549220818189816281344330963604826065398741908512252885402235438335753555560932680029171600592557705187894421821904602064013962344481435087751972317331117075642894095052364138532524228479441761705855812341123915073466010987784466510215404730154276726097921106908899756240987808760560973169675930605815238595948434702237902270315842717976990317412289660895615055623875628803496931323353577716983185313681266482020419926731254015324293599477835248841127728438030291623629259919014856592207703200859701635732549168396786227560028815630261729806811290974328349520127496702527544621162517855543243710067589455927001222311510596970826579748351207539591717415047984414024176903427526923272103225440246640726332238535600322777601023097997919372223391997311805093637712484266714960089383794520214898562982178945363618681807425365938760086943437220635839092284527661327396007690971794472324795824281020206455691815382661946810757693092422505480107654749263755251277936101461313339662002391648871822570863005349113061835063230782835732697747986679684164347068004364620698586774512527615230376091622713705541601168325327341197868605250797317364587613105062465405722739625619090137790216770419671604581811219810056363907355012175509681841998535639541587053476055564406206775155848501902310375527539307168723036203274416472431284150862423417295177656246539254011918416526533842677167406067001170672894106619561981661639885498643568439026792631494894714055092409632113909977433815368069679926303272688759927158305288325521643627283752100634792609795767007159061937781032321262646625694948706940268958401174385364110646448846002644880891817844472217296806588109227001703056357727917687923012209663704431859188809549835706880980259484571235343700777438427857101344610502108471884745535104150457397335697437069982364234901056057981692734786669581327873367845035019876768671539357505107459694121230957585661527540693249155694032395359283332294740089824005856057390399750220586675057057510959866991910043079679043843581879757525099490750318652582304681316099722067463183381986093833846076991835423449116684166895444270750561330460702351672323804949005390581502095683252904109574295090121387183859378190999441161706568039223011966747114746655434582952387799574650349423036059633458161459475399264526346437220753767578391309827734647601598030116839938239545972944072197334910915388909692884175519333911001494583361933706518950138768008562171669713424256715680819149976171379100172126170006577955626872218351548340171761161607700111504622208239640811573501687640514484549552029922375499034118108163021506098812364161709316738098649590074416855958251599591193560635064576631662046540718867491214049451773431008303654891652468874409976343308707133971204973458558942730654312784802703090503785625718271451307778460655021871603197348049631035594786473587873543804678711092341797116567960308515683234426663392108150411855712126807580966453167835668030644257903886385900772915263644766846234950590401253169013988227816141754002670849413294661206314736801030668856109830157231961010948622167496991703739352766130078308045056592002066298518683515507058509444608099570515843724873299269201189395832470133082588098546336340653401148432751985042158749868316432036615685827413489331408473509184111356442291968094174026056066060517220837632657312306443527072595611396043818844509827482408574242798754063016301296863160518578516103004240749086625289345038550416095116829683862696343764856090874828480667829040539002004060599049353033578065393246858674064154684073929899069507249945650159793110693459308443151887955346956777348166221119695535662795710252498106445936964294631969470699883925460129032855012781927407782343679426649437746035025103243395125399624105602390297747571047282209900513426427140410645080688722227308612821267106471858977308507489646919189773125865070308336130352877239021139888984658271161987720564715426374193336784917642354200995007914008003548519034745409046972497148742661862891844207012518570960610045544494116057449547563445752018735806118691357292567820542219652943845451384628850086015390060227318401535822962939119414079425538846263751273445399399367677482883591860433522009474330287881359675848148370463620352060921236780646225811806464560066896610590026729839535852967895526524143888128474027232688104368067394595517355537135849775604913585488079457525329927832636111569406190232773484027917895488827175085433717913184923837140258889373423865455631304087468303799062676885154000745047608632553939562060956790514722749277478237616339482325422359156186910178737837644418732874097640443472647256428616843599400038751238110629385451603058097060603125844736034119320598977999876519475063874006169298791446348173408133280499530790034313575513905917765056438740599066203087514026361699922651530845256516966408846072229179421549882508698166553209298230802178686963736930675375796094193082659875204702198314212071485973676316772314732499897013857109506146224705029387367292273906718L,
75105859941052753016580082021588861102630470365842213533926374739011149340516310216636010466307470294881777814980148557651223738270681907746645036349969594148996215351069864602414192854403194427613954099349072480426410339663018157989739503823969815737103487847256297150418531246476139928979224502369474078422967761400999495878126534435285464477180628468864137181894014330188783809585994244196725157228392163647039451339774894471901794626098181350579857125559365157311000175165964027771283157906446900203917238315515269308590982558450931183577027084178322865621187987938333356258345394153102424368593610494976618291569653037149612812542615415515992238775733254788547846838332120457162596085506526348597076247990025981881132183188422047172427229967319700319870468700385566785349496452793292012478752191709881414354203780959372531403334743912184867824712323550588347449596454883004553891413489158782648945685973544895526438650305674376310017334697853799099006342283606188403423080558810467615156001344648626800133617282021330264831673592341171146622775540000883778269983583913017686237451434210725820304532329464335096656058560535196218396293868558630084829908630225474974548731317166204935025625834344633238139722392409956203872531504074944516833781341006452765825948960798246482297519427425484048547654626515283152604581277384631897545636496367703991752634283909420965037773293682735798675804051422073928560619702993411138582013632669619622621554265089659562014078489271873560278056007753671635264006371748386706437288327486463424761004918911405837970539262488527441096430241048647636249128985833122018624229012414943379224589886048203085241742335055471810791922352804133308522597409510985644362359510206287336932134229529286786275569084694038806863810661006440338425609602767969879306779955771519918154185116864422614515335786078913111984331364820382535100822257954484295816273806936534812691193517530902448832539175243511336529245406751821622974560385142902274814393517190171919256878032942620279435219593615473875105037410274974006361642708512543929119359595826825004235095891674560099000571674035042177396694936905241668227062596679701690284914775858576560787583540692812496962375839791043603895046271042677533020263785388891873692397079370427217945933156901494388606622157428808313658203028640763271278980482521749563315093647247192618328902801646459962833381068605004448577658908233349146525293693883836898089837344295277773898617664687300210279985099531425262660418673712874075707489660909822626185681816183815211894731409618830717124681541908185701082662831267181060097997429834651084053671812117524888420960530367614363377041906714307590892608611124174335499536960947305312319889349224956086730690083536585946350591368492728948514289516538712689305397293246194949206087968456532287982816455116704627197847450563758982890891675162970201028675139459372343290898644894244496138145974284200148908392744523908653747187725788842542763872594962144141479724192488755526477134977588583184462779891946370017238647034192030615440193117522680697543579319868753365198154934930565919750706857764096723504438088650299769780884555612211695596155391651590787407663382093257895385676331477723407550453807517595291353330391586896122816623163825795229406103227956623029589935159406617757526955829163000071434177895435380714829791545593351232821519844122119006118331857794013419032016167634180290803962364260639151488135325868870666732708276558670214045235730409633054867722194375096511890377911016279066857408377140101158942489244341511380794400984865976381192170009918186956183922172432102111178141379174543601800923990644561584623202155324444738644601379452701803623506664839865548799323302752708604429239748921523895559121002211729771593349657816360620675061601417267989857431007696690919773694552407298003882788316654291679645033592841409122746935035346866515650457811246884802517246012990283828813325074762288875084853885306819417461595783359179439620969781686277800793879872865164091850634932852555424040281803976474108912049798223614032936926665684817602141638376437439623074212233891509897233211179407233623227879282982428134605308462282376776415003417752334980463751494515488919566913195872758577157325373386627706570258846129048732467793372153831992879323208671428308362866348317844994914788997360183045887258996112873360512738547879786244393737132933456287663562182474339302774674629284037632757542666644043818932394061853744604578825943660288306331683295830879326321323484510481333158415074183947683964953129582147514250163730116759631309144789830825221940292294673065808338840368531284719620740430836345922468316085507620544156920824313010436148370817603751527276730808505145713227806134718108602147799351574476943855054628706539928032081075102314348289034257103054865845228231621188921658423899487662439029712209722125178363878539467110008051087089911547493774483962748006700319910231149516815809991497898737234938239154772414559380303052572349560760425698016792996395803603838253750458890700105410554985250060309239662679370837078599463316420277045346053807519897699803147298321103005301577705301621981745194677360770943421920478045959208416850385954680058822606366595817756176105264612606976510083505733644363580210638071121258365965306338109994401847681543212687148805307938440134961705097622468549483210159996403476591636198442079782146037403490405184700569128562643493144075924815145263285199952710180604855223156750081750905047212045055640826168882983451374204972288831019596697480459601447414396282608864626443135312789885093545733037624888856550369777289019026445629023470486238003614902123398153427071093739868274881525881369198431237100130459123370465496402049536702910785622335543798308812124882613439682841897433649186548137233884521563618385237621617206801493874468106149867609122673080991497084840813886146367291698421920664633979580027368286077896454152522167051156350846670192723140245826421382660675784130253229355054944912286367228594221706091473760714757749957518011449647722271926996723696780502154749133592248128187707755511476953300783776607655934394089010216058756645375817332847499685906676779158900285401153020773405266855747138817846872859810058599204442214961924277321709611731740664742747944021698843415604315319768400689554163493200957549595456948443794107221641410415481273213578288429081142362657151098326445888985734222029167368857625468974910811505127330090701970478862315052122745L,
120171618620287087471666132992432342937360644322779099860665680056629717413311880503459280395296776409897175686745829774596913109921528872620300023312495660319036012902297642419122704135022889518750614755998844057637293842396940717001604337504745636391930483010297764585671082642222271988042547481303595226416140931871899710910734159944184197155133061711173925736472125411933960353698159673364252915370512560100164886876766002322328105048265014381233902370322820007806363837778895443617865732181607299206136337669306080156486615264260049403587905007933326452044383012208443894906974904372986093143964260344093941393041225524358240587093754653768762350363759879055434086980933483857092878507942510419665494239472019993634818446227474178020497114509635151936625785563598043542209482879691192072860460550423342628927152849127327714473906990250817600234696079973751165880671308424850357488802829979163888338768249745145686221584438080787039486985909613101334814923525096036414600329455582500577075033034644648550634197077092312968961034457379516786055528425838470106909305907384423762198864174984766874811272985511861840065352792562037987150678192354592408884621771239359411665366951856335118213898331683032958692238210676937629693742741591077851542360002247504544171277041205729089657434071230339649756992338369126992799422975040236502842040183304945496532748181834817380094621447988535543112140081991822875274967150870812313054700434000639782578024978596359523155253281782133562990450887060935386880142067056848446790029768274144020004390893107890370338958894285762221895544704262534126008360834505593991687370283434761936813119725267867011321713429852455929642928293095951838558958510421690520431481646206619050323661759481187557755635758947544711805334301210558166282271302440777539027900844650810115174452380882449123609032642905886387751873709624051850543689991261516912067017151916285453623904222767702558746241017252151062581660465562508135379571326696681685738373707826384773116958660163083068005986149446293746173519756845637617970175724064459932386679142407261109687953208150759210278292437876609085253566530078415440643928054328503539563394903896336495310955959096241624160705894827184253443555885488950286266220489092858634387130704078102965896174104711320820585243241897774944490270743941083069119346300283240976668634794603747031029792683376345678498200061710229917424421271013464098358301521073339499683336023569154990498846869384746764199977731412714856599675650717097538729956123859011718827083968835701115317234043534733007026050523086287966145160339109496920337328451570978124463827183238438738063083577397493141471826615293550636160975908226022743657807283086119525573446035497236556598725297147544812947012542785974329075895725019043549323369186480982900820560161977403285061741400665678546045770482944275216013273086334484865112323183965420751071925361848888286586272296591025355306273017082150325591209262663077338044213648273507867757713982701163138073671578891064093061252570460579764573162886377755887710557529063699095729764046154450680297118029633409474523039950082318682390639438890545053831508828494967210174820392064457980451601689155886075309768748844817232207617594167035366865235518785487871773604492673238666466046781754342608748966569981277488445032402408873218483309632891064400642030993990294037350561565824852506199503417756233482455494846559946469007942378382511238086059469981175834477170580214814642040533149584560234404212672110231043058013216555647600873645364089361550528604418389106663840816102835849177759563170873335103999672195385695601834437256099896033344488692294677723925496596773929636042221052197332132780181494174669531805562025567192923221580429716610349099648296708042349817810701646658509130027758102414382702097632462564005997872428119639650941157852793780580151512932841884333232270398443962915107276454952319311282589290806869381925946144361371517759296320233377539713264329468021151360539791001988920928585860999230234386607636346863194210097464132121013724959305349306715292124430529546873526861238283955779744284251545755087589185085402375842947350494552166147681237522123668113716949503907906792247780313662100294837855481913091866017524357148694597491434048964165902067328459620715214327529158716955721488340122917600222111840781543842138592617900607820066227786436263864533192690589304818609700891195212433051329566606543774826803164523110877075210135521847029745278249331443562730031796114361378902401324685839508144613969505984221341481779977498672750568574562514816223957601770293336619640842370640610737944628828741938035641540322645306072863443310317329117264646285234036070105695953582183606419887717322493559531332076087625539396533841806921166687906998355476167229566277976626051508824797594730126642061352629316530779868715540393573394213916664926162777443482717904559639941279618036879185678633662854812759859550757980816540495448434323005784270032826927469718764670911813961188354986441454427277605134095681597249985905512700847567650689043110702000507674670048261530768745724806448584076329281597533548154015182582709880143024058331976515190611338076190393363461429646113263552786695088109651836814417417557573221905851424022392304733146580730872211533981330858311905464637044776918959403612294261624907042057577502653184778230228227310974349441106229574532714356035369323359990059248044072193963343929148003787261338611555470916729518331121406241975278479656943315659934934243768273251083863778897598358850874477445705361071280809664655962322726412258059027294326722266219636870701898273579945065016003714321802902197975856801186008072277415388139363126323075503932843918938994161279679003247537799868153707909041429759137708991755996197163067853403280212918065870349377225548596509630247175469426187568209899308536747330305238533651984065714227615048149657493151971776605166370544597491904548310116212791062051742470121313529191237019214628596233742169276872712585561791913810074488030451811754836678400248311857998051480839335075618526013753641510576287776060651268503647195572430200624400165309576043482322893855031110178978186210891266735191001299633658415737364080324947057500010146051591274033995538367586331839152346253290086125484985261385252205971679116841819556554186948067875615806111111143701340127306768165339865472940347125146178459217294451360939444517132616702276638524159692849952074969530287427406125398619401441209916570L,
192255388994635355270055021805819385326761482020294862872271209107627018854355848460053049171042723581635890070761563928732302607716454617174934293971514141607101320022856529909020691381046470697095673837542978501092303572212056961220705898720769142379699323832352730337487761092085624066853375304680412550781968421116377445841858856706734536894201488015521714647158511588284360418054435482895768551872543760751368397188842950981072948184056758315822936466925641728861838612753166318453422077920292240304332752230214998215131859373653096641703984476937559725844989313803822907547219480582422783529969477787716164344595007741157871887385325181329605044657823078461691668285197030656566584946641489378135249987542936823168024042769732506619169967110386595401183092073929728535739770494171149533234248885191046174696273563265255783540095021936876314021045473123629001961317828512946324297449533596136878007212627579872659236903178923909403904558877812754668774306629813410477024702454997608305169846682167327384734567723410430628029248444914656471915459805798202231613133814826622605554325292339446932854821620698168854885640710291163739424417965622877485334783873794820309806857685866051879646086420346603130579707250116221028345641847765436229224847047417896396903435497061523901786211333052233822676775428984149234861712861111764886026580716497450204918910877708647194598690192910758284255105360509781034616586525520671140854103176820915895037303219699845669035852922125630005009040379129907558726352022366736082113998182741621910414967397314120064462009602794697172787849255273216925051962733539307570509258739704852299629076847796508269323598823446864895638868310229591898781808437517275111045916652195468513836342440169439437964379205100128543483293414852713767692130144103725981861540757667822063075164413628769480528643596816382784589244608350010306695811404292678324828300758186210277292889837956773806417676971856860745351459245941874392308430399637247593723730511751399214475463196049112958438453139210871185613693349977966636285709544559536798145969350860848768658433992954818775074902744940036909444590090787789957344050715294042756146275012211148638253037439669067140981861944776056199952354509336817823028502129656953643542043034131931261859321263329764217522801227490666951510530049732824383311516138847964977008842986621788974962936231013307499798151396708169828904715578186528378459235460114027793620401799338169162200457335814993278274979388124543903792299005113110640425280309836817375575054366369371052843385340677622520671002076101755585224243173998752483117702219800477922231631940132762615195756439460086566060994356092195166332545314893374546685942568372560638828034189502576638941294103139186648158230915556370162700347547354150668933508559735844299546217529513651120274367687600433375781977493830780731705468364835934631240739683800381432000038152773560435213725980142442015407233332134298471567498945754748836967831826672958114385023495126451235989453027923394349506180408505003730224853937834863428577444749173111838555446163808211662030028057691327571858029606872457982707809746072987846697693434988690339395848346429493374236030740462897298192490384594548480721081323983481489779863243667091852835756441232300890318762352922129883802474831229058982772174517559837615477757112106641747383657754735190711933783639567916381475046658661326818145151464233681322633199695802653232313604116556274613004581877731296007254792813972754341128194829500140555590957602311949218575625618597796942323807531187334583088036591659209976291987020390369938123767085207284174333716992427738861789982939336797672016328219592553509511417406249875261328596479218162633970065676125743241497925564283560333793919530317893781018769339203737090343351025729377553055106670504567081248069143884544064418540791854309072421823794641780198745818341610919986360461437927101725406152233585288737820197180548054455958877137215924536711031124459568842971248006899123371565415588588413102508270166842877405471419581236381502172524929098847683389334364574931399018624137128904480789470741927852825735598627299318949213838843901694653612962019273313186359325924181513039820557025544990315695841200361282179835588847605220462294697994023300804415404482721767651717698763058635354268780759356770826109434091869199657891891870959436145295748990510277487904039238697601563274809288033761413762332125229493134231060906229405983493997948300760942223256226046080310266422341535260159267767909959915105473829151589451059717204832141796042544344697664425486272236624318252052150829339636336291361121250902951550130971782551572521389219866716480176385808859820449224208994580020955411777701013797165057428306707168569817161283461918602100106326547108569569179825110796786404270289797915102620493393897165773383652058035031485968338071218535524179486818619640681731693471069423735959634087871993834498649738601949365122743479759843494069682498838928460157572084201333452025183201797910560319457516799507938987959153905305659627003735614873459063771241803183276620594205534446608190010731264324655096171208838079956454649137109213933410812383090988668619271926680779019337815780345290694749699368922077218556256536217506474368843098163828467358122537285800698345025186685382279066681258671065774205736010152683323339708653482264053333714127123122832446839940202569497101680936435794540389545111394511333640402738524782947254043380356967165194297618301872600427877836705504959315250859171796938776677244282640431803277620118837253738427971501720467377897664381924698026999714931140198246600817626740487264988447661247468483526150664019956392689597051897420852720207682779747587869307665430083572998122333561981549730201365146355042716040459919753312175539617719143285483704406866098811045653650221035582439778797060223263427041868921733059585732039505420431670403904944567851161792075079906832173793395494388814620587310907164866669024878088131082608898898329809178056831828433664508781772558664924702151038034167650510349314899420476834422278261779579140336724776439847716763999769375972339955237613071329324113062333828941034109348710172841626736677378250039015770738957676402464217451386398514623570512549542780497106211909811194499363640809160110290719388987935298541528737410845415991273520547804463247939757990204943063662430039904261673394550459523978540345748588162041498886335211578341666522697705959819778483862131253515335560202420L,
307541468769680501266105399667862226070885365599512123163167187321441992222212224676491515487371724228681613429100840581437473494726794696222203472177522600308187173758133147658141602570510821039116558630162925267429075438697250340325312958219680950133234683223260471946673129033889061111050017235212264221042659365611714173561920468535885866302612323848524624855918729444570141534158693215927552453468323766644527980907842616939509245173881039922795317181941134708939603030758259769620586724236385965217516697086843318183043219167371170889330530428478111875820736180335068251481872181452862724492947792659562836386751684282126326877751361057017350477896296091400267391174108659830981617902806784726888817640040421507312487082757475015860307901172166167384287667558144616337658034989903560776798853349046133008744515517565263805986663477231081079157718765066471382982061851833835357543492482491730793817382122784397132084740341284356432668887345187852845538165159221571242599416922312352662848167059577721107658538471876050761653604812785152257833293245787978991345210763043985427824457618969883416909015318097141647293101028488120962599051959815318206742031829186865835358382792358174051944534482470189664943411450617940839488097921717158484352706969563973897661967425392776075944567558712415616141629884704291335305184882343382140601792317879826654524566640199193088838341917318084293002144099312787855874282973114787998383953330413564691720320120102188364274439523270517582935690987392047009927231031667260210346082166990484005020023472838669596395110521678945656424335431702475820302119876773259129483177930983358367166940229229691516154001638182085338007641245985509874279862776341718087426606577619660380212322705673876180026486804963118511526860539706434511293666145753088536336702514157013777072780936551891926647499127352522869079647311546916537784838613046459295139702034917212996919031606777248121372659938195403328644139343601480231543611485006812340427581776286995327777177857651248801518917701241142746451456130080487956646442739998363051577948656186852346277521866525159516630946118745000311545558561738014671279444249121641424289732078460082972118835839564318977948354550676307833703330111557023689072830142676148690672913166245477632195823867981862009268251744583794071241837380277998389708969638175214396616225153061645201661477309436532846944137821317875284198169364400259966299588017495948639960653223772982701053784608347595743540398710743945920669899648311363628442006634194815915107663637870685435108256842364169767597129228642997281073219804465510120252864527293670048178434633615602391924341931297654173268231015562659524888219447730644081833474814103307865038492271410279351381775913537262244932990314645423041083307802454935718859845769407257215982726813156256337897121291655786424219458450561351536846031379996599926307663009369467534124246823779049759133758287000542541462946203085686083175861022178295571563390387029295119577925038661637332947408574958716623342555621918301273238070859409362932315475455314850745111671605965314570616243216706872742298754386437150843544821910707270748621395469508981667772254049132264988953449345093354906057967887473978580223822486456750620849276588619856586201413200191288967605454631010415650913533546680823157093370724777605356006690378617581067493885980022495837627878572754084530184752413899556406218524873658167172276813327028570539846099747481898389518097650222342971837674541914795782293886055054853114376976870051778843384866852131165883666638546705768362077580846473422544189845532990127704002817373566414330768543178776706640172383835097232159676795294296832901376395288240248314436073329325045520593693386758635084245038497998650067569707759779335211802316003744028589949217854384822005819433915985261472879639660023809609712102635544408975304441918386083686194653617058605827473575188566765638837742766647213681308252337425234461559426203753677606250418954461192300883285472032668706170078979349251420107599109844356076235331294634935774285348584406181983150508840370710076598543443414536330836907948256444121476016331927714489514882167830896592166774459042111634743506773313362996704167545238702772277321658816367098869626348970448356317719059021493924541848719435148231339800467689230148758528315479614067154890399533699540028672552123302024243598068806973789643279384632511430242177349046738397841730405145435188117538651168744548933900622967424388689077514122366405483970959380320325113355397914669082954092548796215393126305063431080702997540347552262439375605315696373291077358840552058882625719949564005421442984473558897477972951674757703712033066049908527476819867947933330761570302499849734060827320812629838570100767612990631821443866748607981816042452382910675469084341998962288757379780064928209667294454368937283044120863324593992992897154640236321870537601775387239812162469036459714963993895576357211533388317723884879782683738377938580884507228597531567956762093744515340354244085485475687378581052201271028809848468807604962483210507149034214929650423293125411813784387163816694749220352043654113559676174220403695610847442911048772070502239289935078346247811043028729460569870911898456261860557358783523129721723998254674112388325530968601691499358462473173869235429727451317627190898667470353176487033641976268881423157401833371560031233250644062530877518802807503735678108311890095789121850122577534506422871524080712570825155392281072124897204278589249376441592241288500276297012458596238240824900742691557005812524767570327266127604209212496078950525993110130719297789827796138541326049996842509325182020078367649871375301716286089056168114233087162180223087604603364507585937498986296465338281651504195865056770041024864345784016958404187457674416792545628796179367205519831789451260336027644696349720341592598073967406499835751861378279416203502296840445924194868381680002227892311277733367602295451662360457611060189823576069524514568206096885781965719107155880647104376193574206384840086477520534309610442867974027406822882186598340292915231165056555213839941453960649762585452635742024015656530441875035038561835150767648412527906224661600840852421178008500966405320742748530668680679431531837164295962719840600785658337896728231120038992395269169296151438965328073462079567664271174576717450701769446724564419573030769762595913518475621381749529070112222891634912587888367836026839608463258941956297421035883686L,
491900681599197254026414335084065164101580543909981387116907378347807964612337613841675745707797676893095610086752488759620658892100172800610766914480224267871530771047706351183186112126115829125650158856359596546362152549206714671766811271202532797375411759705065002459894024305614034513076321267061205113123791319003990996129010688916264486459835399319783309561820281843307662774868357431664065653556713950022325821931182165880776881569753885541470568815905995472680577015636410326371947238091811931475937186584136392458034074091803937993322322553095981519905176859919555301302414673730219347379811001789826609004205870377068912544764746221796154618202000477193296514133885209496377113839141860321913909611670959366757358062882844390107959302852931874654406182089480415708928387439680116653522708078610192533072747854247488559537408066363675784327290288544249404659737287739114475924503470934310954459865343304136922061130679215076043266363584798520855965426043670634083113197274352643328440774441391945336113117799309856511097040502923600446032094090932370905253150940663474784643609433914407811813674182784826443494085034400967282942664657967729609673138751612074420046566527605609928840541430252517510168070685292122100828203685258923866689573053345579031572643567319557558455651579883618857560199913918271278481992426269905886062533194286098674890002491068124248688932432020206530758727125857549442613846237693794332845017366271443969602972660304729377210675601617995435014364777548602092942273024659424957961456819621349661662933577630734493309172513208041192643951495724462756950176208650071535399737100773421323109653800011041546604543504745190559166942379397597302751942592655911065593566530561885311559767382292278169052932373698488866688580473103448025302852628382879315625754128037428148390010751902492447034066509936904255975450930346016466574336535170727926916286376934202559551718361500445121234061775134313205468035464838611225620192771176263848320303450007514082376846353082790217304880776629205939636022075874965994300690969036066564047770586448641385017669974208645728757203543383500819846486290916580197799639339264921590167857548731037003590437021280291562808136638178461700333964376931876504410128125866212219525623570564645124587555644309947127570967229199716568539203778965962667579874079459542187606957892092370662342651220058334177395247404690662814676739369059907514467553860218567604139719794437049094946939131219330476667527222283117505974212509646412569254452029978437927304488322041430675649075649127820532682164610503427592532442715880631804297569640946795415703872821491855767550303099897852402865358826686983601185582972171240414870801573970716208786863120130161296617922385267038297847292111194974737310158314338893396887978348854014170751728877858900689266075856879941090114818756724512733982205500535086589770514379678752244739651022707320561782006592324260336432047338598542957663538357556874409184779929219068622983513017071336751850667539063351063250549227888450674692975860491272797640799637513529761687164374877782892212119580529731455417262309808052636367758357119442135539514153967329168528049842896609737633458684578349333194736352406713073378815306324596291525846098503205332537976176025739075392946079781119202305780376232288114366918116647627524526828480835406085359462909652378497751231813048880392669641491147732787453131083519765445876177132869758803124216598450997220620819405121374910360485549634411321070939324043531594776820120008416279717274934723152639638647012219154820240940798392527789627753672677564981770436246649682825330933766536692183279090873377050821988975612117699056458382384130625380146466619014411430213987630451391288212491043309257719597221721285806426784115841617266961168456684211112930325053826402818944421075235992612728072185393295235398192228760771333017786867123591562751365881036597589022949133368440612670916205499383590637767319342867793241928492291337443350722615070973218145635082301401738049847171762622135123737864083621306765717803729746507436665951507889397174070130269883016279418690419791477249115957595865747402558651601031343664393268096225471524280683298826846338347300048272930216409952928189683865050366755252330723371823271885135267037309719553441448394268031107763560225989814752319510000001668709762976080675721569583501734871479522024520171360792921341936033882911053291329366608564076818771423171537738729608477291182518319080041158405689882111609044976544323105972169084494075523201565622147376096546577052141617008918826083970638059988622903209613083656850403167288799179270828112094419472983755998620471102627057868167889996168365050507355056100392901333628342207930384572580797506208570776515926169136638415603198178628711720302884487483279052190390851396583685120448576202599448783339752605653438044761872394047865779729952886020809838292005728110872029215354293052411295263985401808930659022262470825962585329234906386145282423688491383645558606629566338208661000619171629301453874391553167198149707802942158462165874969048115467699681604960083847061236996684890485008171802038472753833210665512822374017286682410578886922384887875623942418732675331796785860233125915104668551921011759556870605634083251266218865601426243337633769549799733809788399587850005603677442894988615756266793095062639402857005901977323511643510380842400787482059230890360142114374245935438229733801438325738051531344836370082499660025543681893728330384487178764961188644987068754057311160356579082517417686490084437600148860333414977926833070849377128445336576072586231106676296033040461994792860161799599751657461688260981161531243316303213954048942662724389738269140809017001733866264477417965341731207521762960741134336485266713420552429903977850063101758274536314348722091371204694830415763284541603487086122009248213982384799026628943487997378770063538366147334761229420161262830982352040184818476575223996362243678572263852222465774756579516655040680519054763848021472639400822237583755868045474822898368116675611524738085309863204786876875559899199608879110956465437806806653206855072299559292484213465654289247585683311762253714612854549986193092710886726507340214411345277361747568870211927106084666921475945429854248496712582023551182185143153922925889841164975590135378712831571772064881261610103371833615567731932694311915081999283601333773475131979123173338165093161994526453371313089787335355522401129310533660749666153L,
786683008401270778553052725132942846033422539201990210612060629982690215430334534266632918786455968121516293297110580354036144147656428322986476414718335159410700666381080696549425871522377228823189781670716834412394290710713402600918555678124202060778768417566722042966322920792348952755974933186736969191197273802893904577048165693034158719311117707096838993448740289458747967598298595503555527961298453985410405227300910028779892820766485349566180201277985599757527465558112593962189062272532853083702468540016101318563513935285981353032470880018633261903278474418428499024832851333791152190633424647548594280625640857595099399299674446370594262222164687504740659327405412321130972863665382975514467939073789260524003854351979052007854557462768063786112027910197001919823149898256226775867083535907588914913795844368553357232051610676633878987575804731315789256848616144395254263192127832456219268780490706109558826129274016495736610149545058662857002665195571213336357540280628639673460751558017141710111326623082319546383009184336497621980925419408534712229859806323466202752908875356038898324657655095827477739040526303178084978648178703567426725219681270195421631433474257629592229744237961864036033438799374198415768608515108777386585254845176904244515549173768817737381714790610471236138767740040756063484246881297197024721753587289766518467665622002243490890251676299665855606371823684210119511398429769246245132769483455737072068467056090311931144380727623719777789747753705966850909133489338068878003641923670092848518140502135462188991847654061186250452737618646785467712496333629678136614279268993468485856750851051953810823707766572167317188455739552086328495933789016255323959339014483444198309793520042241441096572691563681820449072652568480506519457319410437932814840631698664123761673538773194990033939674148933548489572518351168783027399617256849961036797877031674468815826732601057986092497541838172351991673378110842577933630370729805252821165088632257032139326807768097406125875099511073295957855697598522855301554485696601281244450818820694704533521197405489279115443832294196346621852591967479761418293755595030692887502139923364296907058846743493994656911863932918207184017048201790229462381805397153209228498757122541177213401383506253628319887136405920435009608675088895907874766883114747140253113188593842904115849435384263595398829744051639268672168288641535219286961115630469850682480360814196564905657914886011999578677414438956599061233995850954708164143314441043714791542861141089926514217926107072780425605866800310456481373325794453404974522556856341771488125794929154875246214256106771709154944676514854502814458188278963403106484237377308707470904922389861018113314734555673965779028690488906327869562238300529891271379781160186164248541690571935927830440710397390337165248671359275236881970477367076532409035562625637911371902240348113219082725342990016284745781094483119762222580795857615808855667563113225223143832848778120605780325878276089960530605185142275115462486867457894459761267083077578718148421953253550804714555921154702302585472286565915109204242363361287274225529091594219200879519901638485916790513270888557216097857733982681661876686498165963339037385360698448526349566817466760854002508253137992778963999644439800777310652282032089616908909778924611772195255180888865770680315655656413579515955572283253903084997893112436406530123360889461592155526127607020765169003640481525423518895733952688480657952565496259623796965324441106957007580364221535581861021106324022242945067627633318561328014875784337115116089991319905394884204173946314692642973169218835934404067178961611298397962333888359429680798838017952548256249508805418541653161491448650410858013903761958035879807890503837268257126406191401990337112542981693906935917415684086241712608651902523820113618461114469799880108715402137113630275963977789906781455799675300952457881266295545862308235203188932488684102670356854945604932996000284207044511793167714016693314268554431374040049926337234018856499377670230911174803488782392807602101300582144229701618421867238152978714240231004296619503327262923854190248848012031134373929787948889225093070221035994755760565423274672549625468059564214810431318302912431934318979812747022489681245931710566612056418498901310398403094445174749422600812949734140052699317856534208150750188574995533988267643861415499377197729807411099046581635329455667506419076257763269175349994520749702587995728187101838144128915777132133594709159183737679864620241666233715090629376888844620008380296364412029573648011603037086720174428158746075099489121911587378348993589756865366791896333751886604893611957650821089682594849961192231540563483911503116444080347808856300940726645336314657724233208156109986424393713398887880664398927395060823837646974466812627680471852965145703672111916196176360499430442931812538771052423752295557518224837257677675284874037095246816832182596162088266386424376871669848932088671711536408970698710823335217654613436853788837175783865953218569770170417452263432199882422191489421359769239778269002509051323877771055570558938684128387963054229513705283552749639552603945823666916767452088090347639179484740675476405723320043197533866095761296771048464438455451277979837410381197041102811641507269270916498982787147200740688861349508914295182163498463391602155628880072979895847445514929022814714756109818488824302619707586672533586244448354738728842105027209915453048705288542111286662223200546436290982463812570756808240929068471009310263059600328130875100331746943396780780365618402655533745185186916887466003047445343269070198110168108523732654609033900522986862993003135880049789852151456515502906214588186417482601133481502861408949006080647247501836274303847585601426341107747309149430976877612062288244324695827036231807427552106791553367881709535658118889584530029279227170678601434168479870914816622072499980011899226302304767869438199523323108499701958251444095246849251200759357478422340947527892568208240174232643253028772762391839096317356812202727874954130350808591105606554342530212952290775981546069171251031644238957634010493471310212150626495417427321606248931879112436055447687039287891347994444928167967130261103566206796744238051506751334304476419588642804004914796558398064773623891583646581764378338490977166890203704018934009020477589993594025385128879120220915710951148066779862066810993759232472936972469773628127877151L,
1257971343982021391778475563953345446750035925585029068938159179325535286718475577806066753679047297000256295446906839170418289958137893096373604661286016190271503265819545667160180685096631142123011014430081529467849564763639418507642067075947205598312599139332998630210105991003267819637555605663146168043077532299885540703544007681307232127109528873974678129431181937249363719993804613636699427293108175378138403964850353750309621141308290747486385621825446942107079374380064335235585246124970621967661221121158046768451141171287855726095896221940167962388000833691723104217423829352213642083766987056746906940958102451700074911068332798055082306817391751663998167991416759701026295215459389572631070348144008734599268899924687747558912352752172406070727246913015115259263283655672255332412410312437311038734088567823397757740309005448226580632187834021420401684178559787649952562905157004906527837017647164561702708372078737692322740648504201856563968099388775394424725133721820751970469432313929492588890804735122775736511909987477957309059105768698468526399927773829866562014630514881749739585326270764712297754167411809562186741701204935482334549131878172736143987593103341489477380613813082746537428748743495378995138301710317650393453828078690199530035636475774195260164829061872964529272063105872975859386993659612351676369697615787120400130289401350952740875223375470868751877789960962522711448348222759235744477649816970275311971339510272544580276126052931306963558640802718578245587134643809147840610934513795206483999971576806459412551609210194876855597062408404635578291892595017338586362318026759284728183738857626671764804089564304307482862051069952777290736039698945955339797699498644521680856343494898918425252425427298442718116987392340196436486526849923890174958519644198593735473893355860061204359762073253765398032494272441395774753343705773115410176011753715012818001999821858426815435719249091358263491664824690046821620566835301057310010599467296043222442053324798609063382207504957709342634781124379391427128065960121835658890373990109172366899267418659696226488821283965901860298042548973909305623192286784836114866666930785061262565803043760207180107453635619548619543645326044683676866668572413415760396926136712428340088998339333378961275872444774391244118798348331752696682308476153572157474569819581335564955880748368367467734661037637680792810898515459399768537705150599961054288415115724429065645366795443627727031173356541898018286691380673596836954559812793906403634144563825939282469455466713030085270744268000675573201597503057470079497567886060082647428968559794131096937210085349387222308980201162646203963972494943592926599539762382985641072939738966704686314020939342494172098641861409389719082749486482621862066941308485065294240150974472532269528136485202706871561594133014606419991199033702296223392295777730955537496909290377753713865498615772808394331450542277698702299838284603610871844483820901105784654081100134153888557390940466336365676710355411983207977043057326671023134411462110301852305134838381714518809464208700542483544276997734525433438262932947367750007029172291407601126362048746966684106024504369350538545761084854504147977049211371090952932555485585598667735666977244072710991901372678423575922607050509396322067681723995189754794395806973800719623814505548097980042616917976228619788974026833937905680471959832803538988596813172570807453765304090777022367986358003170662598268243507198041306736593519133192012039113448701854290708463519269370316759548710925570123144658348127658309287961317287395682732577069866757680801201474224127536397360882331130177052166379728555434354661256484198509586623952985449820380589566324897196439638085774828539207024417464334688961430089565863682371453212227592983232821712942081254027706351491991764026682706906390787789190767389598685443996060770283105226042292936644730532785533856193513865976771399630895321518966608301468383981306839591991498728043231387835166158007196064986135403269942449264007403988378132905069930429526092455304417492093505067477156452932327842436763532988264836724150452374658005498677954731057873874325701001686859968309478319481964659728350294606675622859934947016275764016931343401153033107760314569086372140925790980711537131414008738616877000372130043273226629151366464155667001708441745896411464796555397025611672056126887196345625172633674717847416604477905270840264067888402646632528203886949668195363505930705757348918889694854699818122120399421477457349497653744014434993205631360189423331256183598527024999668340748976238240367521409511270551975364055873160315647388660737406330776967328956474807866997512184200280696612511089246985996256675276340186210543030646322256350693727828521180485044725923974460615387244787790159098963631138875968721341944411638863635272467757580489440032812454252495620557971195876565810457326858023080336458929137709443147268993172149285592903657176450193118581024425087570251458466266766205374531011463288390330074321022105567506627050356981102296399266013167320315609309160285245389521391881170851820925721481487223416140949497692667977451300063758005050041374032949973867522575833170393615026461024304313114492692381306599090275963314905135395596268756624555938112813232896227920170890779681768148392648714565506109077040452781889636052916847506466666585224317301998412589461150763362179201083504899249619210199643841769064352645358381613174954862838850340686779068721950744353507414032658090617621725037522113951186139119426046885559752274613586693236256612732249247214589338185873539891392386501497145233797280337123891823105669390639595675729656362942744259980425886635988900545388166782960720223947012266109753468185576999488894158998488011001436230699637966528822506819849700193284884080428940089443066629900360363733258008988375148672213961285212834512475372684235992020157773505395556591599276595708857833750783027438551773048702205998214076289570980662907477125196465795967036020648970919872584156525753236880692007134197567062071544518346666871289266015667006910065330792199669270885941943968893962178177727322733167182090466449955235198898468859835730361125858454817913343621364349676397630462701976094562602368468031700924035261425323558069261390716167469906780944846633902451504463323024962502688688867479640479501290546710810988406630134047101758741242357056015393639368149451005174516073329013954067012541314987251784558687226466056079L,
2011362673805062804395798707127038646139026337086716227131702365422804929293602143952986721200135472495969682576025346144628721432904096191894675222805489254261264260110828232962915514287793803825380677070237122426355878455024747391054816567453370987674606557875001639933456249788552762337868392041544131787321615395202647040149942080556844193455793284096090727458088623966512962257889187503150833425227154044922419870379912495493190592588007710001403486440527842621858973709757618895299606879729611701989814028649618865117779385654465449241101037200206830276451111766331196455132338027224360637163066006262122081686488935048872970244317491473082556060602349179942588368651955756106518287012579959170211964640465954191916359490646619855763823328589648663073136826360875650013693906984816657659359274243441639336427018700090258246595769045172234853037234573107853877731377744132974907874718718187587613270451764417409581823826372204944999289785830178819073394977433014314909462449981434485872959280065976503271102590898760887192312650851738408103674606404450501890304053645051105372499479934225217120364620681845377560555703106070810475007434688498707697860734729218346237804005364704050953121819392682411435887841735864956310417085722005015803398348638964074691545616254746350202370519913923841103072833405893839585612157810665029115371378573136007539563309353553038942443890305677027075851323223666671184725511848792624094417941629377553289614865068340604974318950617952089968518466325460088112134480325179566384517376801045951084257620129147580942444164776080291564901953845095991290262782069481315418687941395000636807913847650885632090778575830205509765407916736036736393217292944306019062942968820070983037976836513202728598060420338728013836996578162763630955325793349027564711821621044133352785477124870779033804588174465169079254719921063667946296009818991597083927668679861031593430747291506027370337840112091492430934547283770732467058284679947407135059926424130179442602592101670450342994659036156784950718631261078981477812762662629781153628337053396659346174463022320278625312045164802269473304987357419393285344697813931777245409806524802545555300610751992683829629386062686690535781395785765095550393680044876250936004824432381387481494562331647806834762255275058623311344281534347962422029273376855314260309179743212784049843347532581427304295909632211047412457038737348758709964494178734206979120736978126241685730198531120810047474444414030908948176313962169585176548661579063419196989563401040570167857394813147255887211245770885382584462068683473425948624487733538383142445546477271089108882930848204799798220033801753709068132387821348566326546429591721870756243010307367501643663892651582217316043602427011021840196787088543910437697899024337650429207933334165578774152630153774739810854930004496260515300213942270502167630819369841927025511639624005174746657926624268197406501949237182679976152298129195221554045091338669850449139237709825267603415615592175366743884843321409326904481659102101552760268931241450577173108355224827505907464719728842494256509270685658369454874472480182422259321241022481877890382989325633365044244065507729657527387118307638260241087228468582557440585559151461006171810679151441666110654113546610379928762326966167518981260090189179528093371564577366023978905723388915043183276213122472976900947484575169260121695000865135543617882386768824409949977508764287177205020471175878380113488963293212397479236896905519852805645381986199218325175342535336665966595063435758085142706552414356644356686118578511405578827276635017566164880427067883239846753089968249862295811628536908096563766740499567356362188409067124574785563788297463966929382456602992131990223810365119997600492648844982770786116129174410252541837739385471634377325775485817462526456598121459742614136732331912576091921266751864651320975171529866422564361653412160252309977673271157168663641694015634529500784034816024984366161425810729442382810864996864430835319522159517910893080789521454417361795320869070626071587565773333184449479389747085381358063962327643236118943168469144367733183736279162629912062137810105421521273259814189992488040954608399417194275024436787670493570827085455629251075308231365138931352367050785505204085713059884608552590521907847506245953266075828984582859069617529162785683207990477003742874351407748521712179164445913948324200671406005270268302065906463988964032957289251559789133972974709646938575409688484823288906582331564884937547256708739354378832651753255922370995285966089479284639861397029295251401877371391636495158538589386423840520311322767203492535630546293449239799027494716121655096938140736809697915996507358257646706869202032663339757770279464443656109017352742426810851782379523892879613574640066474788099760374737825510446399155555723429520651834235994797238183060709439102134571497820405257093609529437501997555047465973814017251714928954473180896962876765661617326332777298799556812704016928737064672319395201677397239898827548729325052036289222221594843694824451439473052731913238094564805808427039502414348333943720941188377074799810949984611036170915738780747704131831796118389262220215211133676444144337382289843273154371695736665900649872155100146372270795915257504528170230021886277227735234804409154566528332244240442504771912739096343372732353219140996080847796406531545183554492479050232740722845298407876507308812387462076286265751718564554735203598620629847072661217448306298228979766232434573959851803714748804848470763384973934623429262336688414854883660426303792142442161302938351543249026668349706084448954710608765204128995705613759997788608151819366691923811432831143665228385185409505650577824515611202752263718190669999841525989685599377876620303465843581316509124593960972795091906277659986762319056911105836364931615090103256343949693295357837869776420860397277081675942009496493940192691539316282700982856446316825813044757495302284385471615216497922854182873466185606995943121835853877192623549966226562972233279508955807739396452421524199455030802195849872289106107142067186600725601950291620855854936262202173311671856451274459527622728378646507122828539774876698843781902403018254943082725590032827319648882703790641422321331248618223736639150243758879588242592474018566432317545615909408330544656021442260617688654391969957735853081983217580833190931567851980891833793615423343033012282510291823788801928337716229290293784L,
3215575504916500862495777465895526993677159931336009769805771928495493301577061857525907357265254552100065770451236766536391887523140296119706736371872657696239127059176275023149310785077149360100534815542052989558698595573198796750807723129998879684430937168281353930054376483004552505660975207362549118468217351118597764739975080646777052497769820926440358859799588966142677354628122352976160128200518381676955661514980327050082149343810799337028641066820640958745292909607200848957647015621227627093536723683051373677270868427492591859993801187713339868400613377313825756733997394150099423521337594082293975169115716311984957505650518851429799891173307940255430423447718786825149855062772023615851202442862813160028432984504230456279177759218488427393395040442316249019266868685245387750867681353363310689055434537247477926661432364130387565635727781984388848653676482679100253039774869384386689176692102506679080475928471743951062677999996142802443694151430168635681275458038052829988760121224911662723312760277348289369265612149389773138420042504205886557976835803954992018996823145479649812437082080981954594603298139020926829917412337538044616808828711030607613734746434230466682795573607946149015907302945262117001609324206714762374116662742671212219637549521960621074923921593387600059336945788783243923607610709777533142295828523651726423074186134706150159732006029782242299325672609850526246729970852509274518655852750396314581654661922200441319476702690928976618909409045063663063632949259819552613132898179109696820346447291106347276601112325885623524819206117825450526490441035511705259666248018433715077533506668729091512712106308679741890752982670392177909374372778202411560761121095561809350513174248580194083142518574193697718706247330007493628750062023225099926032953987035453111138667164914633104887211897240849552259698747608708160672538237225853895375172515525135442687626697087640357631158119681431738983093744747545794317943377475596584602038215872925169533808137473435765170501340828078014238239309874976960993469753996983466473945879637261012390902288894612678331108793114895562310377846265991507687126616342722638642637664219206541613226274304613030471853901739055149452652287525813405671267984026765371392330446179269418378279832009814651942076671775047904521646929734562181783344458529232325555000489206789293584792684079643390701744855115943250963641957058322964770962029300410658936958280409485670079157232828026599603942140104131127393850457609548194081636421186177284715987994079708672526380102936808296111580729043510177324580617786539249190298028351400179870103651588470116156736504251924882057839193644896281396985449635481599898481453563818992971075432318197388725926306724466166445724635565055616368818367217725684635652756589732047545628377852651117473991109799810048533572371148610222569228710359132881437183609858836573820323449392726695258967485953584785199499773372183024270960749427774726747316112397106271101518413170271711617550301656084212080911195260265446789487084383927410827854769349875540489110111524240779899327898976956225033666153693881633416106291165594988557460024363114719208010661587805181839789658872734810091468239565942612064959673643521078874857952205355926695709467157570898568834143062139093247339019899197070486859081521206824784171749571647895843199087946148642881893035668560354857194257444532444709161451764156069573401934031455882168780549101820498210458867506702799466168493907935165784741404342308088073488543186544627664590628332673647439109628559860116936092978721495476454407624534508879419261982181884971780757302587982350769537927040981520241632356372186620517261065143999885166021684496555697573768965316820677324856263104470471978351248068960901081136328340248253254338167021006426738344138626105567559433222860074348264227099132010883938943446988535852465862136419810709299190356711201116598634760722593278106661127174001207977900061964091571656709143005003948954949991974598414308107548933376607121959982063414800798004286225281386036127924965853033956288396361067374185486668450617536810198300376857678058169199151252348529566250208494594462873573720281678315704084677143770045571253944919343727817460111533510959154059762659493330993635557221579604281990152115831716958052353128287025997658484099044708930372122492739271337886653260199006855784535051646737980946114863661103265619238355180452700169611818103200259534176077011706985409446042666617549051119584013969760347794607498623839423111883558685807969564972480265905333373095199055528143036700981719750958719911824126001065709352242676901948178152183014666316295338172970453390123011602632050342962202237868714577628594113232101131239929908364962202276341685157298398517643409239908858681995844536001264361509429257847754800711033052055062466800386681606563433791192967937089059595007020764961769167824069051263235567723561448240054026988077458969513964814831861180548192591938152152289080966154916073690114185937473530123467861262122164801265699724841219329399228369854725274799805984619830617873647283395746417647374633494557672324953616434712333682494311682983386819661678650640269638688999609145929480767760649108682255790840576857978315570629493034669883284787681058117802087416699343904142247068625950883249497395456511197985201722580343384244421401314626930532675484005175647117597003243382892983733014701024389198721351128820961622904512803969912511334925920271168992662326388855688263367518344166279440035668555190065509217621771836698161910931654890287585100001094312206146520015823685584807397107603211249988172464066381957410134950620174247842268320007231328551431817811619005172192283058439698856098321058179989417244321877139620515533966281363623162266916220262872097864959043414749156096478899761096783003563230719902096239552567748907708644869017731106949922022636359260704057343579926433399782797089533338044959312492206884184941874933744134161994849133091590496414602718923214120598344264649976725338572006669904641649877154743145453458092457591468209834354832651987396566116889595930316803196703106645158578221602615708515326025019685734706724552281686399827326266896137398394828097107482972336708688129172524033207660184484826659132615942755733712650222816347221289501779058435583951079916403262812173956958539117953020002697704367874657788018634032381840518922294485099148994369961008282275262697719753726452642835482018364925793704912108044207029894416263700L,
5140149510095827965348253773459966641612523947945678571118315088550511450939260401412476683988917851251679655674983086253397522157245260647141033167019835478313020321357872900749440565509686757400961994032482839769176563890246351517679418561976173227938372453733823626651493145571286753133981682707641647285136226098790043854181505852987620582204270914526867511432612721042417410814242206078063811102769670192063402246966372111288649534479613970677419617199986487631335681070465967965741756193607676651115798563188379310575612535765058303573397559610743072806424175566852698434279373353195614376975423320446791396993696482061528142148071379728788514894772614611578613815144187171538957303057798092545839670147650231364884129894284475029397921662798692943175647807329140997441690546198013005718013563634398335158983842369331310754301005570473925592054261255407337352026503768646487290092909397821430137791729445116992648565648182406236592845097626835451291416934072870106018796017467647491730462533778821010705589439291878948318435350375696644016357980967889930697685353431254396378207004762065474721578167127082350070991127944203040269363013959906393478210078284034375508427707271510906204080012524273497451650584551260433452281841289660894918401920124414953243716201415579973097522533231505587651246474209037606057603009291631913927786623079457510492660029443807869289761674971196341521039912292201075028308930111570667800204555624981163191724310894487831977147331180712805794691247905245791101923710446770882950139545145708826777053599521038932687498864849127858744060372716105406073608378329668171857286785944645581090247083633926546614921686219272500633261036628409798241994733555487160680627711514027028215007416513978945221379638492323103301265692874956542665603276737163582649174202092273448207305056563594093384547801633849143343845250982312657005563178404733068248129540661112556274973058464897765570476936704318292587531499016777240799950944420195285813941043398365955295323901015028427873550268551923244804275298568309809442665878154536828236688773363368618196963147732573595949987807821779022611292320033856326091437489717501428011981237052195622226152734331347318703759896665074785407997827387898203292113984595247218716043295182101246272936305627708685009207889750200710972355902333521524051429131467845387705359821358112370951085517166221773672555359759690718328120452756955850014132518794645097429613857347137266183040206886183155352674946989653291032802625804778799341135843793687045091772001744526094663187382643053886861984203148040243009666178283640326918070548583150618842821829051411848235563512394989015824147877959550716612786366287171305045547291792289394189954575034127985318620769681232213471516781377942790110350651375039847964064095325262202666005764360770591402790225410831567662562066679112178012183223477862226764980629343924967904881230190514901248736747455654212705509686634377233327581694599367220375025815212259904181918141217875856588206032104948425781626537487875569499845844656048771919565142640950914979196102436465788531331532502339570118750719779298299773240746556343036649865346294473871224446973431201220113916994821091919493406979075059824068215478703319618293381981177356121299405917855944469536817206493982865381962401530285823956838401154054115913470721746803610646134864701571956162331246372998691808495964754352904214146608356996208155535358883697832453517031982679997677996893599026526083576603582970757472426723517872531486119077632147344145739666852418504210081978974330805993080039092831049296949941780197611479336082389761724167060072075910947110928606091743648331893545262340546108357792943588770947906732022511079082734834362605267402126691186705363583883496181350042845470672962178337502510276751388894295478969564226314142131089398988693685757310656335599985318155957207471856305812668499018832795239268615122788635087736024252031551514894807407590727300636841483979605681247810588452838767557109743277257942991843871712394383701898690581650490386163537027346265581726265921841418281674785200938201468569442439657384954131699862305491435678624467978734635700630386823470613495858992698236204321538146460271689943561655151231635455735066714354224137854555262778744864886930311348040276085428313656978579182050911622503125578285407055070497913040475081804076751728917315645555983194146454411517556593464200508949500046814145627793472499455116241840465239443469234722837611641132334998352618540139887863878227015813099517069769644945678750689125446841823154409530361584650167425231430410456461139996819983085767288306773797256900772671682792181868023965273021915300633768680424520655792376222592642660857431197261546679887613165873174170989528511401558795050130295169944909823066555245983765395314801851428866390637212277083740941448373065434263809680822239446455479264178060997888476375728453975916299987554431429479932303197034819237527130025431915133238979703574807119851276660716689962358711008004584530264618809972984296074698688180710471922853914672293686965509486836474006346143990841557143012644694455377101395355525099182557350246876495831178533850327231296646567697355596952874563837266000083115875775284153093199174637593657590009834643386779844078981770567609076472647916124168338217494058053017162814076502293209222630304062532849547616672314729568432176146231936356534893805667155345163053690892608230984854473641594220018225781372218110525610039943052281385011692184178766276021674571057667682988403203983717652612510055540823718489834842111136395741650267238052402340112505931676394807119441251698014277451601607267123628416063939353774525069433242240024410893338507731485426828067603220034810585634490772718396162791389478541331535197827248216496070258471494436158686574932785644593533461173956386919252286488539294141577865810578946147301080174106714749171392144187898361073896705070963119452321673582982831516946048877733157764800658033620330946427950087231128996474832252061688556362945623286623701974742834086695879938713703203800335462385725616108217273378996666972057093496230172696688891355612279449677496511677673833361275407385922524240835546224147738558901130553169420378740975221528245066181680735896919273312161356648871864102404664585689242234843342452286691636815745142277837661181918721775711390985544435671446160056448758116767217510748089132016883006697739878143174471785941628174459843320936616525991668955584172756218196445186L,
8215642494536659999040446934050624327808412833295984155929456535058232973572522819104897897957637525571189848209951770877181780837858125396299361262109622101470525244968353098678941873874713064243229158611077172497435315740827349994222109647740526252371397194841127972191272757911597502395982461833594137427152627037559854032935027585719928892720967290875873748277456723757276404889858729022371332237219480227148038723559941641741839448437317204711558980899585980991047313086093321951784767898010096167577206460711530575150539005265595384024323650751088358465184670805042112961759662555458500513216745281756821096507034362057901954827053055689861080800188065918258348043021032565879062659243652459961611937564663763761371853567132662789999846517409490063815129074116129663966144611717800667036381026790532180133752628053454088562259659362328779296975700208751274153975809989528336391551855963193823447819612707905903692590776901805899822053299601706388048733024950723339218988592772073074598306078496230003277622724261736229550089571036874569671394721304579304240205210986786612023087813476419336266139937356875162441933726622494900548020461259321577015461283172808391677682372012338476473630856412445723953035401818957865764186867423693692093049332097583831681238262840564106794286457653157486310918160067715117862235926424873698761901728325101297693335949652549719104304757304157747210434062966785601831619183384342151759336759342077555527163973142727568733195622373254837858053312109494542619990699680148804534683917887469065339655688640685683812613877692531008344067936393647807838841178724234538373033822229623640332312669547694705984189674514384419363858816539850091167945100006322156900159505721577884762847820383177496058044384014864444784762145358036699071920889479255137776697935386821639454197273504074475029118726431483647281152915451700668471189567218210934519913411533518261352403946773967672417030577371808520595512163975347353953918939893956636469386063982141039500260876299293501929131074688213868618866124670342061202853579996087892275082443468170007122249925239987792524637759879435332197781151603125694497645753802251138039114354124896423189859580791864210498742578545211029037287255207548311847831458636912854803450417409199917533611939788607506432267816413845864461454788916298072566120447616082661448083959429992954042751613420762685185664130781596642182241085472334049793738936231319013604509349626451276166481210240934680453734491290377745826698027105703355187629911971609471800916477491397232631224938488834491713241240509021543993777136542912354350585738458322589716047981284733880348586117251232969373868382822570427318279286209743324567367840337705119006727474579320148496811127891039936799934396621111537215054694210498211801155246990859078779520651896033345076594494742663298765629296507356701966293052873774059218168075352945273817535784302187563159511417417560059058677341407392251519479786745590410489251258393211838523127342761976280865460793936517080675000906521973695164657845031791672575104338904319114499613707812958568230579526758893274441053956890553010746514641770006307754475044939941387871782530484930348489391550623364669771517096393622652183349916975467805913622595989809625874634934762651688078691454373069051726161656337902722485653493003678480233286164678667798909310876742587234290079642744572898047796690519326088750745296307117185445716393358968864960785949256694578518056458978423529364183698991742228942473049515914948625232879995851382545570594250620641228835335244613029654498434164491132200665812623674657841730577017486929524643922529096150518781385760740090729246702973171839343436961697394977859019260760241740028985319390793440897154697265342279205133435146633752074771418834240395377172429461994425211303219679261027149188778551754499093873551903342072223335449378043140645406964365785601007337508803242347234301258234474666534579860978316331782183013469644883860967283665307776459743016970153887116558703089883875586196313128029416881536430862747393445077598961629739497601395251890144134856427003664014969003817075866760189450051046364720674915301008298452036026537484876577444036306864976632869107538748300335689427070691740168090018941963054262373389361722662573248628488317154801192260663812049590999097360078063580353584423521455927879463495632184129327169546312791452065225981031862188458572403048547126291417242080125710932896521803827884508072171277215440591117581234376657895628864624999045308069395093426559356629775017003763974241407480516385637006657051881271914143936640783565752096835333762417070797697604806164519482488769854813357019205806724666535011794348420294125543074336044790222482995092456662250794302999810313759227752678718052404543567368998527335656140012758692168668489344905296292449912801446322709976138874080017685678203981369631584816027621600523938816043398105870928615298504076488698681442077482179496757672917256833258727619281448644467079832803872162286944276557364391727698260400661752692955589645578176281745906414638576096742947417632767126346698864644576712343640999156138309538248950145065196372173617218436036227465764406387229118702703471054032268672001456752246648399525565001199211200145400492162306347032774286848713387210570687858735713580087996207623930757702195807065640462205942232293695147103549192470980891245056585386585507995571612587667865531028261466905519995364132625377105358956247985690083506943724502925216190127889941072831948926978547286944411971915364263499049621293692275891073648480080375744779126950727486763029157973937423924217829245044923344678090721334357641615284272844078059325980215325916162029199180322976456823751067533357110355992806541248932136818122725465222602915935571269669233598268027723249517682643238901309383359817624160690629567930354625088743171201289365337653916457604811119193049208208667686767033391444222450404766915183733897259055876859496795217216391744988928972781410174877753919721448362816504467020230182397568392882621036757694866397874136648045300063867855164726720124033296769907735749037463957335776336538873160800120222813763463390588488882564377954437841765634474988474943973688371770301600249392309794859650024706685608012656504170659585957302705042206618197678341564642071548485417180216963971651540412219702140820436973001690683035767397250117298624470050743663192318485449790219018127979364676008337256472055961216011839499316356673798682268136073180L,
13129738680346299931384511974452083987787072054860834788376626011928908282306112587556240889633180720936370243966961935981747113580316165798958276170349843249579547144033843260749960663792389189661866762384554250224846554783856564856544197829708681113163790781955001082527389018936092853834134173087162903664063245356871971959162413992990670072116203061358846888821479338362211844868944348685756573846749741157698311641356015029001545668393111563395104842530275466183415667543953790297564000870621494874306432438900295590507758613882635198003192805251293085641462116472515085217066957028829959010483320189187375709756731643984683355392099187093642014712427468928567648869475398710698297523597429663124150226729131241909394734555892325683160261477025346448524446479421270816179252574662177714298828565045091223098352063844692278537097154541233331994946175164092835228354684022031743911937177023394152825158615619540386604730754748752512864322101093372836187103199706782005740940962572897682007292071374340535264785688177800950955837007490707032038839994693486886783871002437272061429221310241645529990257320795780102340929645943819257983744076543184541145915160463993057949198079897691141835356854797295978311537515610902152796215555829443034319659260754860237506818877715098312172131579068716288122243508122659587904212282430859004343006491766730837204219156921144338461405852656649430686148077807034772200265223626731251358264267687737558707490416478428529893645054042743640783850481498750456754367065203982025762316414996331078867106450030076214052132934661546646092518502709698216193921930184856403958018814230960361690498751577071047661117513855800519671625266843500073047193375886369907279471295208684412880662695990672798792538596238614065615413527794413186548272124423689174567710166541843135740235208995629609089068081398342684228843090918841486077376608305808367445202093009384447438236353181308682240954932151440665827274198414276214926105635083189424032966580077378579482414354246379581169934274052373715797437740206438864722028761516666553517811749695972249050614897970985192521152210322168692733356376607995902301274723127778561617469254493472904696720049195373658116698373967018465044600593891509688027071065113621833460021968365866456147514780547261113384741500896342735229795466709229024577666841721430018212304237356027684306855313538898124913880863412625134809288881810797783412966859572844140458304922468523789840883651396349230632838346043854383109634344529259859076555159513176360647053998059133540022251906478562881960308154609634241761797211527951596413818238255148382136996166174571266512899758007781731333577875229561826141412954487797392986412058238265585752919321587510713480315162356382842656176577172400339637610151720540642929826213994076919174346415428924772336560441558226842828983507238750113776852231040108711014691717527338162808436266029270167634357919981099371570929566196532632297849998271545725425684260704357637864143968069419907251506126132332675443170768765915520315020006671700391426824477470990323585596261472480507309537526941625656875102005202492153726860189930374754875965514741481905914255673868625589388849873137856354991064642991302330231621095692890563986054309636689239252821809275263143660204100046616783676035715662667356483071809423386188351943293825391557112902834237008463600594424129325926385195802536673147231508628485246761578630392718962232281893557720198549988363043686457031537578720023520710603673926843218925674027225040916830596318318010860394443606638216276916347332077003168287989779592574402430483410643359635723057055935826269386842822747378323331328442265641950804355218199307845358730335628520382463848397193726719404491860880658446856773945595099613216412952768817878880220452102850344731177853431190832304364647771689680262377162881801728549957223610115924107932336653338940637595558033995019928892318179969471960922834018163704720579303324352351309280515282318425425258302797489601920538742848466439654320570404248020305986554783436225136962963159870361222121870144311448456457114739815233089803240614080911302431279264960287103945197504337222495583859908167342733544388630093699582902403841679750488681244452868713813675341330636279096525173585809437438597348852384701369662377793781570641843174157492772524952405416488084763893697890276388819817979183617433705450329852256494871324509534396826586253833845941944756797252960583753291609450426821825073966104531165041214943735790874980078250732471399156742095445782751414995602305483587547710075976904324609983609343017549026756374269775306097676393824941983260244126040149705904827608291184576146607855211256542055042808191632912057162118321687330837599644286337313254821413213320486286510803846222907705090215349501424743777091757930815566798259944742527442311367630663662083477419846559840975404508551112488560297827553303296689654392904504020254607380404285168701426420527877345848250062180345609824551538824092112551664175696034957836716283143714245837593538400033117842499816194451869707771855874045562103689041376337726958543054564688069165839451994969475433057023908361105683834403144007613555371386068878090740702606741432246088714159664406911132651263080912788164289521831021305206817576291093826665510523924834656836866048255897971051926584500922453456934787851285564303537838146767877519623793314143933654194479685186106817950049202696459168931015513708634354682673063078898897882011801983742117886483645733730544618380891987961946463162656196258161881963116568745530289228397454932251293908840336977936810046524738670350482555369385289616652040276817647657581986023716582297623759074746748169037874188193428312556232972934634540745589681741032306039533913351215243275082691274568784293951319545119708717229081817715095462989227726505863249243846431748365264924630114278202284970782159400403255969427671048163968094267240127488569741937422661697286360606901462018201002984195529529273570074506239520496359157183899544111389242796706230618546853509009421254843961496737881109165584526533088738573630794103914013695363511299671159561548474240839239405000631589739404527370438293299426909783945758271913873590157491639807425641950719190413347525897224778188435229272886509242617091088106189059579535412210732984396241246814444858289212375732362048925957785666487322776861355824950113732012710530024343865621447217816120493288616386090998710950157076412133825464960745908647603874437566L,
20980673635433207727049149188861333482164966187504376697080029343190389865775815296689207092081828483040524251149133075459646641037340405841476064875807419094935678858404431863800824157851365157647887169958623288217124846202357239169861430774595148446691184845129441023626130359068838164687489434177175046756846415612578982775908810445495285142528416916765737579855040218906255850565563463718128716382039307915024825348381038754998720381848950260332614344390859250389089843899448513075024707888169677663775440160161730108566519748229158634467065533593645806037250784523676163776133441779433308543981428764500118155217033213322705913646958950931732833203350296842738181062038162926612820299553502192832337031407610549413804724507312576459430349353081391033516994523620747745620403651895389842323710332743920113299018584610879074275782036216501148777794186073188304886093734152450403532192320293289556677402935787499694886104966056229521388694943871950318324811851755183456594704503881542692636243331601752759617998715644144873663431060562999207341380576150615325313819618377326020621668750295588980861677775930861034510985024775468956712781384259434558893861494106024200417304358921873009534555434675697234809933210081134470052980616689028204518717690006888217263144124641071643328100023127751119001092943453938873603956219743682832866362235638640909354756324817710553684863386881215410866686592146025911272257318203776754026093200268460548352522701928330588864596107599379139420790927146691048878257463218055242745849975870837852478878397858374391137453495582151072924300027807772109302004076476921576546574635575094820113608590762442656523054497238665409373251756524367373572992212951705095187528802812966872435431982199687483739205708342398431549173666168501422550066024825443804341890445913724862349885984755632611801396237698894905471180885198326725978884387016371398311146526133447108205946720709396326939516544210954765520452676525944752785373188199334534282336369280197609352006057705263011684521016156059863420185146710701892608291342424624362679093261158969221009536705780953679048170764317150260510740352695467430202093367633668152547487551505683441731994429367116466218630351869056081145613347383763655557546139400406256514439352510320580000352432555156163296661686053500287340566175113219069135758947259990364285166466108028933077797174210497346138441081933154998174313359826654518198329813132355192012811137800894491381375183077045556667809495444695006475656111821000285687195754744662002086743231338251540317872771381529470849153809447750879246120219257512056828469616446366402165993893895828859067092181662006223318667952459208663157604727383770575713326928670459670083518837991274845801159693855338680161438735877495159324563711466752438951730135099429890001868384245777943221938982091392710004227941687571009611735593244615414785421902061970124814563738627188799537864157420291341920515366329026936881227948836906727916837733179041863810284749231408588802563123757149398098104182677003095971916550841361420083602704912812498960011381049553802831954345101021409700777429118998230930969359153476941678235963861139309197118331170115712727635242934113589068448966935457778326683275993492166967075576670880684387993937552299966667779884106628452016185968817661718151789584004697633274063222685179618511796095452358449735108839767134838620403068589435550152287410497801385812518360457765650458758169476971656000630168991583071224913936762085618587729780558490349963530497541766823864883684941085722691811441065387405646381512821961865870951115962813399741382305545516543994926789531699158996149062680937843921851652592059321883504213183350540985978682663480148636750191388944463467016463107958050484775009622478211965082560651965998193584853720151870658492630802986655999159808180793410596827472770049329439760657361785962561907622195536069676087421534425519453548965673352984528084544102453012635234880878717757709750655816811327082360955990363208864803490285759294050725094828029285210197164083435741998114653469172153818345847031670149310489380630347296357780231478647217969221133122571776451318469411731201095909662493125864843948973729075814202094150027884769592837059892139841835982612045320279324443521352121658422770877190953371846639720897954747173954036913870087422853615374324575260506172192561454721760671558193757309311854332607674912657752727530988131622253261627589476303289691968715240280813730597022618279456417383286859095988901085958416023631566693171844517100539108617819453157610306245199904021728431493273796357662398740282684968755755227277263800850528629057869750491961207122302321244685245132933034930631902408126599961321770430482916995047807351440034025216614980563113304760112990628937058429924356041092961650976442420971595444673452371792185077053958168392176309618114888511189409755137835702731671373930998422930858723134064217372176225218854938333281956129694530941366807460881501140413001094687877391120020665141910515536857757140748253081106133333566029725957492551668489517000426291119746014961094599523621032440876435319963366845873339013700010170929219688443395185013841984208920910160123172960884301830470968119281742644975177809007335303926356007185213037587836534534354944409037232927300839132562648489739084397197113746363544557039247712860082154612721610177390459822633224920686958283215223286772449428838055623483157800099163614313081319886179900201472010677680375695977645904904817353281788194543028452065064365321664718027841225303275834865209729408355062239882314058195705166511801374466262700286587073964254465382059248225566221774962176626598082217604259226288045588593619782178342804004556668954045423086177326716043572164340601312871072889386549101322192310000256050794795072546561872615857682311156681013407194451391800008112843023692532677882352176895327620999376465438598559554498642237446746003703694156336895779565666486901851381615139365720864217816622523672517910408483851039906706439230184930725174513933136931705747029184509940524449575441471976050188820551350385472210818131089490326848725342585647521175895030557799549451292373167757626212181747535506656767835210528594540841281980215283887793949334609259031485780704889984259878846586993960340757522165992895240679172857403763218665514961428626088867904353872041535739269439058941035947978167420202305905049296565840797175592166977002547782001471669274711372294803016059870349555272255024645674914L,
33522129291896102238082220794508178768974813126059022358330028035636163675795120172618897529131681819124183708328897059886988140050638062264183210148014733462684306172110494280720345136457043745048302540611683952588108978750151236605651879216523284024622852672424555339822444680027314712900563394824907415395819034489228691446334918665339957119951680210679322888270978894889752947761566158170892455824650978285370140013625905119090403276699443521607424112450593671702826443811545390452103661941452026894822049275768854900534866841564993173142464011599933667147159153842555211113390113840254313039976510321516101050666711696938855751599562794350188994122248210320178913409406688512153993911657324606421519411021143286362405307094460564152946221344914712017130483876054173519665878969533275896173934035689793022596891420389175915215326889342840933109955434633934196257013928238239930904280850822332340089996312932108189469170041806783859231228369647607298586038410937483173994270730628438529045503823277575560849615985246329809634408943948848839022539123123068792311378562002961998897621727211054695666483925557490404025256677046676526069613560623970170232979615334728579486186049888304541678947975600772164652874321901918477216014808947822838444960924297877966038981036067263284291047644786088168019766229493340823806153323644338289188813693079481692089531483204483972116163010074101066840692582962803864979197122378288884240629207112900854858312581507904941337441795780329315314826577154067628340101546039597321338134153255467982569101615785758280277593264210139627426970096518640990723673127501439652588740337054914534800765676876248250236394177173443896615794596905238100048505174673727779003596537969843430860421606541325056199018721300197619862192173453648407672846105702069970198553415775877926459922394527269877117865550847612492318354724424570640873616912531539290171927161383693594926060431900868406189881896440586748275315713140559814143356475133279135845710598939168546894632424321552285788792263343848106020056697123052185154882446594079416875107501877856779613115281544010337749303108012108757780316945007081459966772431283848808640978754903612577554216221226222963118047154609061125768134757673195311230440867801407515491826600583285776805279388815290422353023999545898132743524508631244352143702395123740812887331808328616562658316231734151790923707669798035948061351143326199862365561447948537935275456327873232598164338863217392007188420357987583893706271085591721185661048436983712222994468894595721008501024207858344438316230564470633116831121905398048223833404837776647516104423972695732658900429204318309161679542733874073639545492221748257276001835167829720816752118021525747235462149251891772035074214953386350758042472830674195188156538340813980819943646082182837355710169426605087000123101698894099597037020190789079390530779391133095730021456272831138797221472862228642408469642617617022641679336578951543294628478988054346109172030549626977866341829859155305054661706216060644161694869996387410931274720098096614813825812207129934876535103468356505392877495880998771525916769959385519608317799773936491348384320914393222401273552649923482162217642976027306744833133255965036355263369953958047065783917339814887962676709281450289803391280756790917602609542898516911775996980441205601559019091178053962618406862053471280726859697799112569885990815898795433010720989276836338299170446363930464222119056522743139573368916908095428582285583909116214168775014193852520710778026005486037697971589181027280400563904324425099773521519177639247045227527620545296345762152638910919450485461594123555437879166371391353433702891974923008956500819448583597375573087157276398301896959657230140243818334675327019080444161649103145682460130260045532947581243606638843032600390145602217439541608612880506234838715260019357405180800824985761519554763826537483145407799397944761224260866245711494369474310843517230639287966610298195964236080140693732132863107610099719853765308835444805990568385598157119348668196113367846623983542742145020072007826248210789753591713669057031309257505875417678500648467206924356549920928683091099399678077706408597451904382089583439950960714518378409389161777247275787843717869294351324896520361916657479873057478864027863150462119598754636199615250074270707302161704151623389966012469499688287288806910088799985462263489473936450746692852122768003833936807344527647855418227893703242048573002877931545894666981385994323086534002845865836660763204793900467759014204621711739463458673253961843160579114646467186284277764861123544626243260208441965758112168194625931512228443225572595000488008621255764018530276514526320114309320941495874928819505441618640787949234994683988203875532974638798024427092465845059775786738559077725868879824405491287150607553009048954916561576554810765329653280387090531360213736495687612358361400732514796671579530483374128137016564050002864271506097578007453502056445209647081365995466650060731516964776036153629469516739090261856962822316053417575497354519118838257253225232655376587013759143619538957628589213425188859986623700989041420282966781059002674771980554839897421591452628803033337307662175625038280355380530681991863436884855413743843210547700703826528328269064883587628220763625345816732930737599205920386606015612038093976717586038524133099611999672301744614101114703484652646888562244014568786243530413267768854288257033841995800573958888882181658778605596491270266000879992213034320401393244177278213856323288754488770665976288035976058313782588557313504779935642567832883172989848902059262168220989629009015919664512095707011756590845663581450074551768845741428558783679194447895400749737236300843581479577247058401801487576591324404483520168564062890426004660510630783401732314615790425058842348087875081842296844543322210884843058955759523548147460146048869105414741500595021468269127708746732115993490970184503951614199731756748700127562220749795952823097748899287854434409420382811416477342909303328586259389246940146824047876038069189772423982470155527228202332567445973589330820046420526023216024069001633918606410164273168708631359656897851104203980294319006685098040441547794423961317863896284761141380687613970176760152722220411361001749406985481468663879651834151024401309816359733985564134137137746210797823751418054082064280576484028912007943051482358498023941774414056876939157697814693235085788295138147406606331959830L,
53554086462969876214997915641266081760696688344558364073005515521917368677972302392919229149890971345084716514382537631909902377263810223209309229135314004656909422974598428840228242278829752309796889743298920541433389822005182260554460067832236866181006065675329879508988001390530284000142149392175919409112487319595682625072247729816927544780649973215457338715960991692204642300065007754325993657252387858610763033389986463233699137460888588581827768390621357059003245579614819736507309355901747253057855839504215801521362014426223175510520158637388422745874289785774275433187306256091108545063435601852050753218894618182177174006140675707110357233739489762435312164310474893979521020794590061381049757782601079351697121310865036403360359443490054062164042875696094554167478264218195636845549504966561394290890064922115879079099991343482272522372604080588692386637847164976733893805069361060076030860096787153210366292769401696677571096372583579062851604617652196462961742333944662028096147588457868995034716810847890047979727158140900050367995203149343022166230837778947831935073853193499313289890704318149646191911513298314216086484083525061217924250569548694417232542033366002798256716026117228683736512536277589115554942934712901211547578294631542550798218149590491000758546871895893456524566226576923848322512667289333249818034443741448945418037016977771562323169436672048391695878101373861087044451505286358548984895538043085706723885676760900781824114938998510997276031547559494574424188931402049443396406397060262329745069496285400385173385627859205398411919190458745183573480478080522154003811618449569143176004149600376080106966668566723366714716135439939116071385880410072100482469083301679676052323293002492232496671819897980913101483993180255421347132550614791772460504608373190578083700881045799143669370245363917341801846430998379770725360507139564208768184115194986082645573427038746234813003691862867861592436578171822625109071667233417133170892968945632966854167929037323143319679098706801309958611883551179155084973329868018081342692024058939682742662767173273427899795599014008842925807824831040328626406785488339807804970645760148678712132792842089276609100998543655138074150917619073344937779316215994985425920015141632758038610026267374703148048184345858125057936046825363634914111173336464218657248890030341169843575121549166029167115811367008996933771783867569249947691880084435563841917680828216984363885032147343312415991833682815396981999028665948983145579321116156928671070453213909766482992514123086234833891296774025404172360717026759882722119741051911160151019980191420378762666984423886850194484921845187620608239258502834037866033095679629826949804584844573447728427388828576154370801729754407459062034768404490283359846088757350501464304396325194566807614687252729446890118362275258961330196242454363346713778516888682091775393149712723316921286462375422745951027876200985985318268878152121266216056061809774763960068423381982170420738320836705676177370329559382602948433122769822579368220104998906618929219849989797145305903921318828023899727311909752182957542172279041372541629388853297797434035149733322705701994545482373370831012317929639018063664122885485232157872826328751716581588245685284461854837444885143158258016882017588439402036496208194521538680746003024953764723001807349563904649911946029421303322325463098417854012687166473752593210032578408450955651575483270377792768636178507571354239703790286006937209561490748063560688649937945463585366268773087395747570259327871512053148652904790394927526175164297576024286409600392541622747494639236880194108727321803398120807430729936535012429509793139159673480367108447302736748641588334231465115960019727211329770367959751521365960297328911487761990008710790818038850448169045926906552260007919246294951645913449718452042902612643457744072094244517569716827143697894666329022903161661224199739187845012489816367346449806623545225646402885946717112160146603414772250584543733997236264172053308937588553018069014528226241388452482030542490210534483043559788014109712978695506318480912857543287059689923112237582808835124576992079105302486826977912176626733700890396266966521900128584924565051024109282879636085365799725133505196918959314526339798153579521430492473437275969917266401749248226388661581681277087746072952508380193683430115735436050552713393023510805030970703944559653388283942809547808670764571292624786985144875055285073924892363281786275302531217999321299401029504504294959815075895265671202364174666300933797145615859474941591951992153272958032360580700186660747339542119684670459617685207801384393225188881446799180106613756934144014655392445006347300757457294335949369107318321134992107607666465307665169026880501469284942226294145266387960467951700865776529163633892770635897964172256179825921738254061601998764846016155380448103109313004879958833254149587075045369074987947102861877487480123606724944382671520458465055858831504380663726604651248272373784272393750719362718416397322075381441058816224572887930314290275571241365128738448019086984321650026128252375974381773273856168219213469772902213811562870131254801157332240411299888986227676804982022036700060402673534875517404843382919104661131777646127623618113692927010224958714606732051641876714927088022777247971728957110879914726059868564206389724008032025291349352924849990704522620613683036623081779241528541149935895354062297347403787767676465915124641903909728809074747961831835732450111783947335892475312446922086037852775465469039527416418796131372526089987488525549713939871716505453354929718404547154522625814894619973177493465549558386624378043694714403905614784989170161353709026285869817096566350457610146153168592860426499180259514946889158711592788711160293145952137541080047187640953295985909678632992824759794294285995299712377862967606995827320206206793713717844919313448271985132838924285861252372958977581828106174753029452596259134687266567221077220272745855940422775407475071976252428730983893101206558525376892702004218110710904627303487415561681470357919110984218533936297272463120271384306199455704149784566213655560066696761255597505039516106741560473894039768083645737872846006189498306817499888891834096710909135352755394273814946620345069267006089004593044729467873336084787343518684344607058441982763337184694613677516907924472537617665237494016675835186434985312464117050597287622010937441315161046962570635521602530L,
85546552273579293176281616741917589188629932965937748499291790479410909592033613761425381668773298182090849921237649422246477997662013954164737635258925241439030699340117754754309975342790474042609640514157883339354098620389139759568634107124280139201834250416715075907869551396316744546105958212140218026866544104379530827721237887672336713592140736134567201124206614144307474566921879596783925081434103528748967311910212191452673094144235857086823083916000206185246098086154352370640700820429001079025830967122326061524701676725530587824449482759804866250752111235624314469517187102097398017090873136881775693938254180042166355768683255439292868451685861035397034471555592431762338880090011047774196221418898586658132630117929167605423902564788875276150232236270019450694446634216505791811042215388549175220646723011575146406511663511622794206701474484292542176834831451347842698179485183760909988386215973945975022604297013281076858069131840813213967511440622994602106299507299987178871629385059616815371215293976581251397113522494500803040333514595121801348912471962859342716506884583709028928576876417124477030324451884486559867562549859297018238017824289565387296402228348395193758141710935297386201517226139408926197653886329660678043995542298187268667988647586276993140427919080549025434536434457326025975844443854981225827460926663923376374693611655031581761644800535500232372433785379342887119130044436815199723211964667834885025076019674501015266380625043977915073567418250906093444711470901056232038398117585759345877250668436876054159141496072033968221351763682466893154960038646567812310185104230150465230914766971150235563992494148782886123322145196548008544311264661055660679312347567535559585094403165406005964480605952774911710862853546147500156257880588630197514777503225652247956550768089388885551887649457929012967678681352704936277889954672007685780544177138058843111134203129887033026611262856689708147553859224268279556351593134310556824475052285259317355391080386355985204418669183936286614220065667245723774541598882872163499464671439591471021941970799893210787850908934057111058719721508813922419262425091168776017921617742619229507120659181725152173092662232728052356303349398747589110327319609343042157662537591513648163433996318455707874721131777722392347078029796209084146188727287833852484717086358036247826667876642901151462410457889871147556831691274682449657845409851041401646491371503734937921090954319390663045437671633391429951966002065588354665883999037597221903147059311163006349238945591586290335328381678165222679069157913850565571266811937012003220404290583089585124883238615767544480979737182994835981758819091561839052465917188031284334861053094105652346118877517926707097970849021343053241173051237875044283305902764134547021605292240415744931124692175376094601212185442773867593079947017231106127752351529835886038733252169678934995363645051993091280042856777465857693074334390174101540094602962562048416126350300052090400893411396774583108665336207586178267830395164116798527946279884703458868676688317432011664500985935825833553400420181688661436202339312974149357341232031887473877831708383389034509785450576761558223353752640727245589381689352643162033685383757729474479552822441840178217880852669842009298392554364407421273076835499162602798181674752392234024769900020545309255402482154885988173365417545936150732228789809192668363598811822646081707167652674934178465653666378395771482602480471836004279984700446489808395620236921023199382355886493496306276782081454527063825124062047816506070989701469490424615418073821698086924206326595524524723738951841688370670855410359400848795899612297546352841213455394224629351839388418182329328033907747862510737571337936966709987573738651900360233507549126584222306486191521991873681807067788487844322671705192104827237411499070015692323313923643240108479059833878890900790438256487043891558358856052433629827865901087338913311330655530399267740702163818588328960044106405866885240812112550118268884275523269134307366768324050180165490547184676140482312959206482769146108152086780989554861484059009145555942945094591256804314572473503630499804179081637001437671718259207853312951550740265302959992912639535345465771769766312639039742782592785682661640624121495531443938130441143552029435230889796229609212403790663204634508522546622533227529355734473999453465898052582434101693347046481281622580360688513699302172887778666156623313126381284548924544409976737832564071000249869946858893504132960344726542504653145298594734749842040767815219723160320199495098434784717737248533825458979699608961432700411079554940930284052152589167813789267708466033857250021699382282688183235211017885695043034396459176151736198596794382488327637655393693172648209362488466121918546224287553901060601564162925644858280979929212768120859247584104781051448821473617099596259455306416592551714872487358064894107315301777091661434035966311469472389847204318047469027821436294603028105955540852873824623204048447078413954482298236137603641528780929671770272263172399359116474408367016747533759227881801581575115428023501324765566861466927644549842178499222015723742004590784996920554314089932466296108717213306113920198337748746045761083656499505137580346654078505680006912234730235420569367870986490796672586678919106220325272062772791950643345390322261418369955138083552384607953739743386556933192918800519733152530813002162096672592977724339212186610070688437146089264231177420183017479208586048080301025602302829438410389311510717322191103629337618435297377933303580406184421129880926563706962310782953178264205627534428157559050619568157899895920924626706147053373848788593464505693539468304016411726600569581647083953226020139650024334388546719566117227320051007736196751079490746865180460692988264697904391171138348464583423964764965422660539360490136214830115419404767903655720027302967383804193520414297901743587789460619739421505964819909298425253433241416014933461397040500278740199586189023808947595722572964387723368651369088319741781801029564098207113756125807931481032642226913804235184903006947107948937151432221460145647088987343679065416343250517958907393558756459463610581163610855885868359558673239834265244359192159247417319008025697805832259810986965601581307692199269773230464609968653612402157342675128250125137129816686986198454243085188564853467763880039416697687836671163604059580029828817333818315011169070556414482592L,
136634795459090462905467968180156297331383195743194086994192371480599631929611545588315292146794617617989827055522682035413554927979140558221048802841013985645503278084968298204750858425405133924952587042339250660207671315905279660844165239840438321432619846417819240020673214816300300446703726215336139420903308104378939159847196845921751001344775710772379582391714959979278825804482785212736798548662695220694977750406363067303564513602319644768703858397157854691729880177739640738360598333618745827766736455662058397635883524765892000605852546519063447381121461850340787449493508696350275049036528628373735455792622561095105209988363118311187973668015479325551059579753938033965333776705879067220592158955328345948065837113701522154424791985088535309694659540208196862903530558886961994960815856281169348718551161152466770736622250968280456004471645146399971208802547593634846874262090816361123358093660480566388754351945454264392231628941269407193037091323857048140671100508763962647280234294025620554205967707971916847600989105543945346787201355504741817452781470880960666200728273368035235608663783782765353796152513885360719299942361830857437015308757014575623124147780646263865475068724108740151711244606662240112545341352063259132611076270055672513167494418847851165702635087612087321743928873069074449945312050629267512750012892780295717418734368312371056537469716732275545017572748340703431306807766148986283321514956129186225988648996895952994144751175687724503343539391314565928015799548851456508760112765200148010153574726353564995268574222536433783723984855935746311732855122854732015508271238229174484531783248282185923021734457672349561527464856861633737861541464656747515480693790595064966351365877394803494144941124442653737703463173774807491456530126382734313125845102720846132202004998894235974808863401014437090849375230216507413551345622005828247674419257565442934516208995322893760553429577318732422902697972562316731006160372331975966547756568769510425783627590009197780069363442715252830678078484419623406833441706695227463224931547234508447920225534908435712397347174316102001439897368784327362681682810997128132150392567164211968410441216203323053565710517566623822009159427757155026046823780383078493803183252918527206383138376941421582100505911571646134269216741602123379661855682599946245725137572422058869922172586957178659356111853828110624988710411224084799862005620662259740594197384401131377222391400684526385015981626155522363660220529860784167007068160601604289314434819244936567053512884062500318674996162529580647868632465732742863279722928063995872964380219598000590756965728674619590351829981362266648455986475555348721979349951575035051830315748444332921124061876241729286527164112953081826601881195026898455049143130191742082825525453004115751890305626614160392789918884656424016177616194847007392383421322782978035998908704155469174956682983515235158791174593192817869372530510852271299196389505418007414845534078393996218239624350741331638228180362705469686699033049744991111159582059829029943767536411779846705249913919730526435710844107157204374272539047316975087484878820437835813507894164369270452225739129108898228099440028729838578748077058872669336688213255650706767862251139718816722517161977062576290353295969823616085876686373553733625762196935962925887153803868489681186800994222566780177787663022945034024808307589741942228496205205560729018227405808498333275613856561175244712979408798673146836060588900264811103639308306558430097148582294776630521586760591404079580493151658851405820572504259598637752034638970531962165416513209935522721154646477381401665455855130980418194786154788618530326156073736356928837534523995790176806432123270331236052659079791155690288171925384940471273321662551682689778817446340306110644865972297035880142645196115591353999135976848170962188808600766632092074509077591423206098517491822445140175318785078348851290378576513072641372650820344179195158244915722207442395438031352875079535396215693668516379789445222306214891186996835516152499618402712307885666346157159360070326279602330373963686572125434553873002656677185643748571128067358659446849163503063327898207213033465121453521553500853083146895901499278101202245750418577995514169697353507238714410599048836650967457625934876810731415578845009829246373804405156760497326094603856311699045389405036905310323213599455520792022822688991769533188982865686975667347173300778359160255675173862710103027521369888329638734581657558617944428880955821554034519656138658762584708197620870551198588425720901713918075463815669688216621376304776335520068172975056545487125388732609975540289753519262032800301975961213085231386611474021276942256205329138380217893938096321778447995108205727906526410307202004848886505738713350990824105352074368162534944358616174051516393329477083951441023703598381751767863678661573975414960425883719538242176174377344480048465286616925300517087321112813156783986418167168559524099736030148231819844491814853903957896673748647209889261020232222176495015575819159847901599012113839228758991993826256554192462711273168582506505267390610938995869553679181766626098951145761360979404044476662390743637619670508320095884244243025317302577924506383992712769015137899684679365871550788025091906402140315869980291694340346177477479168081639739310952045898604547785185001730975143600086693088251319943131628769776813101811677569719791197927957855815241720310809080842484504294805304951583723209597074419886671917755804020245914323316089803676220617049191571693348578170951253175141261828919450177719999930619467565252345413032577229961287348309953223198066137439874286411764031905097795428046732243430572036582192409006972560807437700649824404877658522404683450824953143815161436070945329830330470598191503506700473699814749556923739793143404844653168251787293134269326565974411103970039735137213877241119710483895127878869552088501255319178788843571454509625893795599852525169383758768781170946883592227716379415940012797469897615025214282229566288304648949061357387788460491249239275075508348167838546095070996516416619024067146751704249095427610784293651954866436808529443851079363909323566391914173881242454840403408618875914618050830844710222358920477063939700752830685914667875438452901217760284039357819788101713228869864196669193267568898747390841550118060596844641214932428505026655702281417297301498965170456933077729783009519909806775393623415257691898L,
218207182646067374639339542926620760230506152984758042803207987389363966490990140265006000755570718396081076314319942930983073650522457003740593160482476444639687082364745935139337401618065416389887789099735577792879792537507516654347374374035422294111560365814405122578991815215085814830525374425216827453338107164195607381376780653558257340866071149153983247036232179280146650768084548598894861311642610392791982481241008704300327982626372426117614528085503635397505546304392448376420732566325489578767663695582755349566650320842030405503047282776342672176027729870148713225264123015684973840137436327388881162254091177178935706697690561945638899042610974872764708471199763587034305351756773350049472272664695220193913113778832878111394916876344820896800346303440239869698536937766606994677516596880080032848036273000074762252201055606937932712591748375174222496182486357494498240882786050375658486105207832298697678025147735077628400979821298109552986592785890674244354351765567320230630348458823443663629670797756556403297994046409130677920415023192298660292310099591486868139627567904918217880272268891960368482223975493968821145463384056938112653683844493802792656526989258445439402461763334542576199359419558669829021582289939977874278569182425241546439087299405911395123107453064343178270973309086081611161166024201316859168093832950685148305497007156160318311026831215002869899056642120671457429125212186225935318344711153850139650094162887770037212731727353039198304851895125633436368968283247002503893849581402482596160236246149245709796560736714974798029157502329089439914252015819886399877930093634889854116846031927792037098767829929478391437167931559833946396131815202143258435058062405085854685436591862602731525987701267164764753512388380992794036456127025737028614489984867864876482948273725239475570109660281780293031168751534709608330879093761889342685417157818008438199076000144834343941789669395432993097164276520422789529502396803820612945112603024284216818857415039377717017765072720740411655675382422712776258334356826236453352123396042958897273594611624894388154830321370251500477644397634624138742428614061322453066458767195087611001118878388579919945603950864627075275179349448783829077526944173874609354627662006771954292223805427204023221644390729255332236548845518851988631250221408986493053353057252819042042768414931237300022799184754523612120597611960358100144799423186839904160617007444431829405050963071074752522809244632326912195758672057814527878573678804656668385801443310194222104425965355616275665908340207982031931291923160930035957891158060239841388635246601892911453016553800543291776797007802302220560847330834430758368134535208533851066652910652734397552597266214474453118180130563892737430780713783489051703347590987978237355045685448464839207115055056607059167742829728799260590977095060611929620155833016177945144982514142965086814706090726959748979623480036713851426735405505198497441366818894828477945474000574355662753221494728259473649838852548029460625146054785450786325084887286169467686524148195477087337008001841330656108521446287368531323427788609115146201539411912736046025644532968673070258484822584191844054935112267585394378230214617313331797297254799236022770541147284352802456605546484188106868551456293708427859833847637670369281759417847543377065474262286589089905271195653726751698320011583005019729475026572474322910019353823592493475413013404013269015023258450339748338387399539594565811995926362200647763360302285416110179586245418978905825021522314168952272225288888809319807322202374545127011949444460416233376809530014984618681305786293424776499396972916505289798829255854854942949677412620637280278931363123926568821599169225598855578737127721597200792498075918286817583421802960389634177463908679985877312536491527279391726075517064857971491200753701700382621549303091516972751921921173012563560503801652993584632480757794069462161446092227773615100676062135521991248307823994326805144006733492065467499433152163124430391094123084601701015378213679250333920717943624208009856377789528637659281597602748722532328439369766950534493659867740421443368959555995437864671996133249071235895449348082754954984635434105006920094041908716856294764487144169969897226050165212567929946301596087642141346148347476690947238891322857762784588601692992354461533794427708130158464499931678474110367929158383871358031514948847050815985758986660638171106479853793780002399769949387664108082213338786647652643404686652527678192771363740125047045073283610584748322968617061873387439718414607146657981031488945874472459077821538251626998514896312440098478604704320746479503698671766994317864242247778291841950413289766300958633534066675961011293932052593683423581263892654233548210427189808698518314999299184553688182712038757105886354187889726701317260382720345364222877513675103611951887783310936904432608600024899448234270423497953068219497328328459621137924046233418112220075091100712307638078442642379642463739108570482529596087623501613628568577863209419306684243377471745522860579798228120736808360710375725000687260286433392954681149599612153615233002122733576361978497018844296003429369265173630775575319884375184976778171168633577116933913715099003059821338194618654894565728290701099880141690562705665334768555110766145407881210684112920457473451965724095444663268607703659347789598373555846697340632525434791390770880976429964371233757216721640288043858000288438190197858128272620045524279502577807688022240982265049337579577985036187043537235278100395413381120194452358917289787671705980291096868551053458532523087788516205030941215046806280627166571214071720833438521084121222951294346868181508290155108351606007446232938344650051917259781956758382871439793483172475498085217785210981715855413296140055552067172448666997394273651760594780476482018107335662126693649881357856532145345801448379426405576103939995905787146220290284675218385452624993148240997281476674569551693954202429268272517837475393234935444409233291112155999371830735305696170389327938077264554033187176998378611950160240554232890335355183534330191970063745622929240431785038664795350965585596371704622132854290663833882892947753797650830542650198837557613171804584830130152644176026871289125319537150291483126464558042649880080008411652348027555628591460892205622387470765977311114303167629739065207162252844040410205184797820615510972998478930821378484941841752358770108302224228877L,
348438175616950440789367703784556571619543947927126717412378053963609777256210261689020459616253354658317706283315281393998886992431086492248879941835350612796301349366634416799640262743203700223870647989263175933081033882995605870943728889469343096170251686350525535189733509820133935428754250726858790535393261224843830438612257340293648496099320607172081875890945066093309726401581968851873204967228709572433131093290995101427252553547256365791412150799134978619567540196560719914902298310715610064859719375723608465420587739992600066137225418789262989886132240653406194845102726877278147999196219171529805525221159375133246358544211480268127815626553973654080187053625013403830409633582080737133532332053572140111725281121136507595914982827299911472644583148752596459211300496454580765187711038764876102211034018156765404156628108969089721798581836544045241401958138877869045104537623384301270274833924991694595173677223964380112554417963437790101341079227455728054466602618759760151228977505161060196331234274705787457735418656198803547396187228297204133989358568323298270636587191205864293894420673627633336575631030737085696929904869683775101764377219774633778843510353441516741133690279453912300537689337941078753688273207576963416390505373984347193146026784536235339054680092111892268455027228466402273782112413744508821823840034971250916784276678827023829845086644244107745135455763459972198957007983297804626527801201841411242937529192981225585494820377282562081413892470192277706044419041809533586181716477255277527348462460351165903964003340455936160355616093285312647839413375840449583762402695832187318835477075612697404783325231578398597269869902219791277451216487362779677516556908557173513882792922279812077341820073272153161073363433857906733078415859916124945671005326352064219430237239744608940437711108400713883662247064480914557532745187786283197192817873819702677936075427650825134353843697327665725052684583542894216537482934019734974350082013633408353913740895487964251095794767739912498434463663132729675880185937914951584549148186245839146177514235674271748136308900292228255622881196826253179731106076887578346551904612002829598832227496068224183448932538834391639613385340376205608134089112829410875069707718371664728882965088884163396191113354897960775076204320984531788536101981369527141783360648400515147945807908214219028443092476812780966768079984306185695264047432328138804669333107487305268931104814347481362386710989054095507104991941503585392126586592212060587547187571129761998126923941406938960236703398330253976104881635448713760308802860656902392021107617903758546517331961800703868885797160837741093232505356440193947408353451214170239748277904725680020372695321036461244804420877795416729994214851146921556637506109674642311621431844031593291060773363322071359134508320007388479130135605009442200301477139698558073944704881257197060102737029457434727839470511007112728953629633114891706545310787682220534937118333035596399027455613768910519432362917112971664572014372061984866014805174913173940170562775557381840815632830008412338937717439516957476679358433780491020216181781242666885268169579884336627836744419355625698313273668235950084561462664352146777976687581030596425636728667585089289441218551167909449968305345683965136072665974106913987693309763757217005405262878172746875983405015061270072008782945220079034180978347461469733033683393398156345037137438895310610112424547139646987347209141860589087028760416922971175724068172559692687835877779042400960125691577142039507318358047388330970159869095966271180621581318236799166651262530656357293765014944065530031769083180448047604858912397813102970555805332657856094016738587493104864341994220400181092382405251710707975290320192262811129302521692638030828885142882179228633902461475547126853089601344345937334429630407096635994577730800733993441343874145427444397041775890976364860331753306687971849966783178220524201082861789602815956522771762729223182226558538020860707192302908625067843827267231957289402331563557752029572571388315321018401105718350778212199976082803667639000224460721564141617222332073356780745426186610049997898118575450606788491354493975850649709707079463928421581179836824643769827367485926608677527630332868915552253546273001723021046367637537087380282450173554342845843837536005377163793414735407758066735423832166346617236863486499006817823619290624849094891180451983082350805077392823946837093431954637405223440668753063308532839219535052018875259920730163276069677513658851868998371524785122509726466444021665356654129693160064295985048176687777438363976920530636487786759856891003107406704679224117823940405573556669978045323911516934984868246631778326020575632918827731733651823836623696680774680803251192216612423294983537301277698944667130231735699090658767365173450797213413367330065637427582573508749905152185733090049487162979976613913145518204649795639792017286203613365930299162069361051358427642486294335259074639866823269987493288020730607620062945220990980405297259878553795235836785391300772625463373935474284403072353386154106152676168681969280850677747394627404814929705598562457212023051067590528202519231222866351804967710312226630573470971669202476939779322546813921087621831119326735041098412684066793800049497850341294974816889384849700173742305263586197069143408857742174295273434557043538943795863098869273393068440726183686250894378517309376531100707440213951983467681222370688526994689164416671930028519820382761865242764455470665968043833042580030591052726889683841002403301474702886313790264895548586837123103407309994502688631983386415463021059194586573217216896215038551254426233559600695343993850962201608782200213630379108529791124193424976907627518526441385167026503270480677396792198340034728937064610942616649443637835298898178604347353482026031659793162213706356842658407411881721618875079237374250340651975932100915380533430154542497335756698442636063771992743468861348747460524732486791590340832466261414823339648447168615038200055256196353144315016765818928921404370378615475452761361732845030979013192434102924661268443096212354990721386725211700308484681718099709362108135328278575093876383135462925003949493985807164378549680042529175923577645870069131128961860974453038985614638435688871349072248101383408365933494327203564300161110611372069615684904329732018308347001009281257064981607061228839854582619823620218011433422106106505172279371829913L,
556328623718122573599722072655941639872199089683256742635266218609489232590868715797603087513390375114166766639198860923487634720115704720961178807655874089324401338804695046118901928507626850176882690599813919955717646610010562413307452884169359011205481593455555207498190480447676468997889853569435928016351225520813608737979209640153405018074433054740335315340528156086982859504714258110172582241901530196414085048893954296848642648021875628333681264363871481199821029365821980875181281540912799829165008652642458282981835565940647058047195865635189828628786909634249429162498247856532166771185768472443157653768926898531622743401357638760755504163641916263619104043338120183383182915555847309758909203779574912420713768989000294662101391799797654720145214278304311284960547593484698500770692659814184518703396196845266014026993257502931414059103967457825027196074053330910912294883462036996221495908176858766182872256445813917170157609240389645889082955220558937650942371971681899769085295374023776993052237939849706816449469005199850765127218515096634439588302126565034622973364545399140111927281763605441238721303925781919404754149311695619176548991528608480144156342015366157678113233262526553642900009778875632142230855839691490530460497543520507594704160052128692401259167160925368949534784463573985473953972924899017747596138822250400984224773299598518502817785534547742027198724150250486591644746614599448427310044560372778834582527185811378663849726480143008434406146689414619204272511982254583992935652979293637536938504340713181465669443486586719619219575451608812393717724320622995458997586386879589237485239465930570722228183113167744544405170095370825247085142681548713800426673698630377686959864196513656622788305453671131358179778002446713214879515553202866458565175975929031786769789498215399269525929010774452478586427279873297550080902305675076343558391348175675932878989407747062989580229260385153864880763802188686867543586429989466678735590105816111901319835088526315024182534828424497964287167398832605369771361459764960764025691539222304863630348445341368023506265679543718693321526200311800461332178147380120992497382552549391296658917604167438066154618840615274776730965984426101381235398487684643701284817071563978155210406538514439740535136941125370308359358854270933183156750995479742796689784872661489609877883895823793624666007446627798722087917269971260530419974662668445880664630354424601889651711470049678241262324554304307678787077825614897279311397785407204492639469512609053175857012288261743582900384503404501900304485098028315223790993111516487725053598017556309138011180362655032945251578305975050410184778084686579897209420915090461935869917900563464218545120555078771941363269371400795822045006567045026001671239363515363526910457903311995637630629907281904330515723189169119494081987363764197263264724228130618050683601707312112118358235592603601345425269713544838748494720603480412490094573231617278840931659862858692727566528148680881663356138779306827756678853544708517049640834003324031115659908201899035443413961472355902165559552755092576396687983311453906586389891359509111176083555643785706841516705630999286259487653849722231624262741737531198437381675008802550141229763469966272926791851825838853718196086216918977917555582862413579373864372010775769791315147106963723446167379418972016642223857776486329679438537642619723927775743017159790552275672937217181173410701388675028083425259440795159679467813739086836553958826316358990140708391926519074455793240070110550318169635925373760167975816406291552019761592107670588584854655317710253304050437862262916651072934586973762926657095828915143423483756095695562009811993267391199194616079526443733763542183725302028892353950852983863037788755440857071336850249373627342111893136704158270013718080466044876354984634469101924827049090879419708172685588748289298260320235789036275896657661059873902120490217362060865952776583343684264123773908368109459888341364715058438903715182273088841117746800121282653852045460259837350396246212864364026908012288063997932622299178840072200386744512354332356810268734981943933214442955107976888053845745025589385189628533141507413605385000832216519589344339688730625418037968568184487305447051206282354392149642456566424867904208029977105748073647361039820850145393760948131988062010677903265406978072673434980416964310666619363192028568329323809424667550053189723835685900357616658680357685820797709410814609901163181365773480412857115274999381487548386066423764827541597860730039676560724897665512364241970311142759928418204196264354068364593785449689230953851630838434552580129712776007290951308947760278366641153196314690315137154710153001162239958521258851180707343776393561277983826477645635831472848674620733468115193369385851239828205920297080881598100038618176077954691766737495608288201742586632000797341381228863777731318483679579588196940465782665658276183921970300389592035131419306401035289732960160517922928903930292626350000909815450978360451862225892588917071499610028573457407121712180143269952245546123458608289707043064623693051206736905214483221773572823158512945439601356460545881571556097414009181496720808732715358511127567252685063867245676964117092651850504032262242255759317193100164162882382331245830646977415988264290716343757115794208312361209132726407587286609609155007573876366136089552606096759582694763192632915503705006221683018881670757472543330945558175958742410338090422066989751214839373374029329750601117428822375099789785908315922290753390226555984529223470412157968855734799683479378947635857523548765364901768193204356342628615267829126378213166698925520032549007573183173502157438619235899332081713636494234646002515835131328969145088415375027739412273676520979825282762130540648221771099652082281197907253354323610584228497630092380972023323107517783186428121399944973850243247858122553305131693453666894717805001716613185752490890561309073364314304228938718285834650596527588263373256739174359817333613389195571415277803027666051648132903889374331046100857628400039215853817466322400949514977563443776183391445956699645921725843161644401983262919081502287690218630970958626905574873946257906728803485241529218698640579888235261313143378720635494637487565366707775323557262683874172582644408730787111616604123287517683838592360291366513848728983640258508902565360199844330559506018276234815486560258973752396129806733044364989811397272L,
888149533076953454164078233462626778267169317550667767750271793865783189187351977208047286412161738951189231866589131394183025073395041119255929063693174748160903293113174229829543982947499001029436772933355340954031182046292463667769856660487307611269843465668816339621199107127470979144002402743832538172015248336224955401524844835343533920795905857453100439599574100071646850163640205041979276362847227822253553516431242273319192290998745719356554718236281285511039907782888058806296131099438896282841579571884768015165747498532711166795121221480470167197238067271074351319427378005806656334518740152917979165420903378840017967114567007876507192845049394584107122965827645389738550551966726151038328640284034591284523964063867633607928491586296065208336305031835802059847272040428294147851697946551567953200300164907638711277102684787224882876270910409637599508705042903279045413153817442836552622352780683351620550090034638008471656889646766909851617180398898174092177584786630558096013000438188727417289754763491274715233144475841206008150694469720803503177577580312493625571580215115816136653925221624900623823579514352628002138671438795358761542969416716021775354382445360856612328630668081641643575606419784193742236835749821796530914307905330114166529211043729747016973823647764918002186958915352959543903791892558184977102639003734877138393693273146049512306592757147769914344983204223897777846808366492809903470632354963117477134252468960943505006601433862718355947731732578707153971880827871912759003983676682972008042335400409865642116305939206711071304722080733532045836049207330486122676460959255935428274079343589374468145483589040582471577459070828286888741821924073140569386483511215058078646164425236598574237398501420796389245597339852238071413271773747275914664319571587848677409883081606266930318052403628315162772588467181825677484806398136648846138040143041141459603735397103408362537976961471057028639256209587503405121399941120645329859273665289298943345830762475805424787177658351724482202463932389045667445012979925478842791410702756887503025184851072949925450123492754807437627506105646330401749949506374252352729254798451590141019675544873401170097152594256782214441446609403823295256725328038181590130928515041745713273884684472050620698598063631046064942578350548312352802857794093773746675895186328126510927019773982235928737269587288360545028779860741918704588345171828471719243876540740880180721552052708113632998403142665007593499937486911998647693561350625684309813840681461247698457703113309535320277421028715754820817286375799661079191887031656448332268859377479908447681003923974030756274273289655412188820957756222286328174890120482308701403269677529550073644490117257077516534620184181738407339696334504508516205917809688754953480912588514800548589043820261635762710480262387211044900231174448483074598568278217075675318289574184904862056167878263908434789541137820915839214092442071185914395261604956504522552337290838204568364357195447951037736874482259155783614294193804984063410838547358213338382503154609613251971859986218918089620567609920013235050294274586271385124923624862582588326663935854621745991363907117230013266336845453552547144809056445733537423513613452282945184185630117012034962717636391897152669603369352641286101388437614062995477381791168050684260423265708812673235094620709926558163551743696210092227618090524742215156938479357295013807180886068793307710106868498610902612154834833814742557103406897664668934531502468783061123110811285457413943051344273147389032965865488115839244333936989457748733261598007077738576482674553601599665276893117678324558317487475379059290107108639821490090522790910263653919878486977066679843703839473282968658796110480550693079497061745951749860699254303010217736827561775406545172459948296899084676846355725905488873035870202024011189314811481407103556216792889184757629098674805694321279199480820947984244710861987009287612358724793703315486489982376259451751229136387961176527399562317075043182116846932766831336451418403848241877406828356586667116855111351656459692577455725004064966939952741341412480307311617675922318226578125016380490006094686943005403736254101769762529328137159124417577743786966129863414928250249559591582157955637428377209252250627302848087145645476159961784133301866867921884241888628443266988340263480833945825809991439906719581330514995137717258688906013584983936057757867041758524446638252493567331676631752983636161296030919883974751981519719776147892171485028148477405631984480239516576265789072964074556930989820226729006407898756579307509653288013988439250217691519400949077345647354579113965940681763961053873894600722775567754460921171685058123466187656972575964517125139892105841348595158047357140222435390745808800246664208157768882442229189987236009822913820567417634931586200058626044752184069447385210126508386098834227346679755414758763489200014426740455753557048848083477640402863359208349197689030125908684802944014655616486179537579103938858914098878123750359016945572659522739345373467167610838222098907191142020004748960255926867436515608829579133645290532812505142483909458351157903820548208074501918777883559393758819338615959278225690346963116452760591265299507969071581498629754986702715719301590534394670780661373938438458052144575266814764214254318383862753158015935097201283463708599112437168549676149591353623430995103887192104540608991953432226709510557183573360663198334799025352253644147130469070456295732516925230054153665897994249827200767183093049464661806760656117579133539058467181284495186932332491718158959466615915638845337960217352659591543025751188676062580041287258527260698587127114742053248569791152196491869602306097919167246923272109910051453272309164309311436678017658730298481339424941863560996199451182158425113851082885005031187516221862587058448885220658308554834224590444064216907899366593076754478997936998126439651421850659994409695874365795260034445770603885340242755021788639595722061910592844321651672573785662097119738687112873871002825165334228043739093672717732257356824513229622284398144540853620163866937790451720791949038412371228841438625295319497491066030134912717103058200145088007962707581154440879196525498722742549524074052356888513602780865732759294873673875403818002293318520840702286476264925390315528042407643434074146994969383449406763129149697613920006989350243725480554450162819866320533699280899063386686367775021478L,
1417717881884377685196291461425142129928865012845123830697059697416860047048661826695676590731447517405817125509507487602135137309785267776563810194949516910808331942295767131702022901083525497899688441948133872025533943990173538235558274795419365318532017169401080603409502266375348481692947588376563139324341923926592293822559976425365517530570068361776853213763684582258611127007922686507622728060910966507512041615373555588838132920022866778643269984090671294490047874756737881558661369049135335691264095423929558074722495419178896732223284682975086061710362831111828636360852167844725371547023272024057892937362789709155538713904435927646495009098060363474694963409180663089647169223623600577885738483666826453245243697838061113242885024136384733357860600658716502954787855948937155940407665833750945980321875169044085622749555085400273362998461234092142805177103756133466690026944110839316362141328268398050380908145361068089973911934141648285988555900791243895094576294556523669124646160847698014525450733545612606535727017572459058284880312589466000494812163105389883869447499959377686072951819607791549711651884628439050001624498364787517895015395555575340469328326489787974429054297632213992968392885038443713654305981512096164949173632088286833568389962832838204288047855157939013224270659383400003033403417145151697570734253580881018570965166744187749732794443158789725847846762359420054192771318594820907151780801166482217429557413890381084376101938057613579836485905033148331176747587326387522805087784876788559489919155961692083364848332280621488106625629444906038723653756661348465338690800740308050807781210055000642505019686090004409833453275012981845924115429197160794711999646359086270111141125495278452258666277841009853693273358859949062087704840687845448575876718764570160503107104480584561177913391437377392447152762523530454970197292643886886426362350725845217110134865253425820856593441585163228926515898418215626368086587502852777949217374320599315295976329780736417928366224795060171014341759472763504261720072144878581105187534528933067784239801597443164131178371238679093528210699242929279956019811605746832128255888562532582913327712714604119884679947475289490658411122976888106489176066635840700727987695098918923039013677310312984759765423164874407276938174136219119835517253545499748404229757813817575676495541719492473496271176191388062959460177421610350639493703418883951014204517205906578144640145624009598724406807289504829875055952774622004955610913137293481001517587506406975957388211733170234821783282757176423718020032749070422263524211934182928237507842477617589315844947564495842259523314214624306914151448433897446674837341839080033903997312400323996371906958412541428694235562534685753863392298342931390652233245361654236748186554704722417683411343072733403676312411426096543968670631759557976681641304766323112316605205114884306221894510459613496672201400890596851307254815368811477901844540551118829937906933911539511517688375369093626904400522466650583106180728496585414230839805241439515325845806205108696922481357824371663213515456408269580675046238495451964836738931538658886990820411404861669559475335951660555052291851525866438191075063058679813980858929139188374543768323004502399380090576729145787228890919819105975101552860571727754924367220614665355919221788457903596998004589519134204488080634069713402939770671499153284976006835562003539399808028525602500571790825293513314825991199224619974963598224947291297495164018336264534035263311986352582678010664166286653946759972270950433376768702098205518399766110012230717923803698029086300281042546534249591732734880209436133671749223323968481610300574108453556519033526566194027196961750652206321945467554055712128680596053703712662729639417370268104893250909885776851121849516852974877067139890987497746750481427860867828880939538547273545030271883677862249449803346008483823902234480075802061120882934258870245705998805356630414074084852945791911128465481074219010597160172976143021599335008703626002356809494068762605638963463223516574959286551836340390725980354271023964104884195825973339438769934361309748766433599477571646048135127179406024112654711972820171124406645722723655621637728619583319840672577533358565872412975680673069621941134606254955116926322836180373856192200738842241803749921679699947728024021835909026498366055727311971266974562443677699195589886094940927484758996231526484688370054068916183660793972821358771786362125988108475521753431722137578478552440100907820414882450110491752044958765124049050837407138819333297361393665198735808418378411879277100601564932947616507606541170605291724462934881161393105900977615463573137767206018387056584513583350424093456766916467339097552529531417449422182155280433176659342804169021991719563370270897524829803398007861270911039141835642383026384205127927164174820267979375866070602424837731312654317363272100926640493873086200044927071749974172894000830531189802590292589747253383745465200753830143261163974626903392908600723140824776270709080562957914992886826593003611453650569135425797863837683289505810420965340600724772362914614513049311707541667326772780529156277993536079166914209719395323166393227312669187113039675845778409266830112086936883352582469981812334636569767702854371966845994145426184763234965698050112585767226035334781082121255334638164333759838367622622961172706384586595038869264070667233149875400384957182464110663091123000851342992259823586354655848448877357908263294537976408859944741431896312082778633502078601073119390256035750918092866032577118264962664880473926996232727657419932693793334947761063338789305824868370163918966732195571823619947184345643616205132508350079717495512304207701096845913661505885668560140810512385768136577476733362238668858693984012650003403308537455093427375793261268194877604637806727988388577922912203072012513998438675519650664643866992764193001139067123525714295626770252482151125864959219586656131022179154507427267772606684884201711830220298536872337090045374833464544885041834351124629821775053754681452275411567601557670041569244187864871027963346417458613670247576500971024193435027758032694935789529653516983865891513466442812316990460415471996457592777539943939775539620922188584203395432151883313706521051104504954623637731471236821028968130758891179898195140021004630702732712968760077017865338152821332812162850205464522888195139267423449436434736215545116267410851863171182L,
2262781443512537351583794155027417259947026775457042392716047247524568204059568449736329499972332717454071310413978331890878666879794834895759177799259699987694661229540167821726015544011481522107351675116899160045697006000947764193026013621877406285779176980496302050126682641272864907220675801660840589015415908094288523827521305239326442450430850349173938637654292905152716239221583501962901344951817444586800370404401558883117051956338606253238544755081854764999722140964487691528813588556960439645226197182559979749553716472708385724306989488012952062429678119184581080458960463461254988247186468646968911662157872561939450881918965943604430553908402623633753861479024747540272607536270225868565744795522652368900607536042502247493692201692637243356135781410474097518091607228510154484724907166794921578272935687545758412451553547031182456619857662734530020781454179022120712238790883549933023097219307672036545551698798359823170657643974596103231831029207863409561056081954750050913957475159401055932057080296634480453623345093728114298412904287862649515965628722768616368057126041979864798018788261589999915653411408765153582326456598902386638020400449517119391911170922314641636596001677657970112280480500166272777385350793238000536083708101765094057737045690007172174989572751533728263837741309673813081042520368166195204134146452256118705135671331446552663002610208633190821808196807808474882288545000580792944061261627761357547914471562467001346627015754346570230305982066671463844669646619333324369924121902497783745336368754431561718953557768407671121901793894391340143192717129870580904299216947794635087199880649102522333599540053881136147728918125271015930430710447909692516258261462781366279507698571179748846614468483253634802538296794360489946028498847153515417449913255259955283436951656842448823915746594481695114591355478619244056094508700722665077140323874262264695423785021410513200214799236981003959724585838087126404677276054357723822542268001946918931338394519960823341317294220561553919837893643809052349500662691259196358814829166136030113902021551841262689000992137822114681886367743517222559770174846067670535950665504141278383579396824066683230396078798663187721916868110008088504888123947612402936144013118503601579431028882654621789780737177194123800293768496800773717104684644976602267388079776458453051384528081350919015588379561209600746579442822212169917548465279316480013007592450691858850753013861561515657268013695089668854009325621553808060444749569660772645071772381838581921313922992161096381403685023809144230438943389384117892516106887619832174258214582697077434907897786938309909690964466473603830175690540217279421085324377671643151131381997018626793920845844981872294701991834828033998922813264801166707195005471650882447103268836239425499597560735785363922287413170928645627886263339647085555872004653160108977417662825602709462612629069147724608491065475272000186665692390672249420141937984479307284603817668463197686086171066066630042827883746374170431269479898230707717664441047443292207365113118312283422821668301248765744564814824178538214863740096322935131776899113454785329845601911490350086390714536423577071801696408985574804956473681644361331109228285913567200209604394745529611216669627126542242783072481778024796237240197977375437178557508896880011901937281055165745083837524072960342135820111204634953292035569655849297956630733210003414536824171737876522342293894231353431628414532083623209669330755510187413667176243778386017295145481600741399099704318693355936552496478462120663886900171139338405436833322663967110902302302900466776797563069618168220381412963443005562251609368136477534190820469628249853878221953256470916245867733067042645214431566484574154320733206300377432836741831764790954931033377721494303022466371959328596772000393808833263619626523976594903689715524064695820300934766402011187378590900280791236754188098355182914446820755907013343250260110820042556783803058845244652358110435845149875810043695818598503919131208038790696243793122228261697105673318630400000002962894344269773424102255179522238885426285748406804128272305521214923570850445163078280933185048496241371955708059528802057570766118272468571193032254372680489174024228886958942864716083203021546403345779678255265381360849547072144216473564830437404231659251540511112479447682143476318492475031701320363973348205407538795046145704719804135515112021859728191318158315010160739896976057082114360481002925064634881895064527733179755493861140232836465638378911741054730692480542171627431056251076568584316755521683224694843605647180217442365346899369660827285871759436336489892584232564386354491025830845658832026619532751514560879562148130968520456122578915207330726943183796834053815348253496853639302336005997809788981556313080453824355711059052493440798941386111921271569944498890787210814013884166299246074898220948765597162580694650580321743962782370745005564087802448192209184121138450200191253854698807037533297821259263833080583270907523695903169393383478324571758580599370280721264674720313193387830212297880565688259323703307967863427141720195494043769423400073552056596095569691901954247167951799978503778570637762780902314166488434000289420932651829130351314017700267035945082952590201410490450871587920383251540555320508189902262861754480635679506159454319234093239356170911802606090061756205954312463925535519451909556156223395279556551049121982237071791457942273073301033774619495093111290706237146523965544259847862701584326072686020966390246407431988928804631035720162920511883430288974147480671451464146936006943723450995250173510625677113671529605839102160454788396912423704844268506365227032591183915646209972375756334068512043965796264520591916638086410073293494163450737670664188712288317183799511863348472414438269545814047526189972397748136033909266774422346751459157943336102367028977368554106150696249829376649905037467073409914737533635932559483103333502155639112685632040519613457929232012396138425191416585329642888098635472001836098275341623674726102238946701193687195382002618142447264681315230606382676910572854134687340646618584827876076553630623554168053917650005960869785404929783475657186096490267245922018885900926659895652422485455223004636524655244398855874451140928029571328488325109610956375585114412025342206178101750452834019306928491772021405638318892483498268252252920059311582741543872122678037615281507127896564080876035988366L,
3611141387104025430589966613177715321109668644033507787783579780105013972700106183481496203897343487100995331185949874394946481232190967949425848286547354429667182888459087914797519004415456618688667760555113126017608125320851038420245947740679810155353580510488976466416160356928701115152762731987123857017452832426466377628586009202022388199273802102371304689081582204920464699679503334908236356362012315532188031462730552964320159708427403201818398920384397751818894307645929691778819036636618560429249249975622518162665369566901224418102071131576395332704110241332877529115492034825582982539158888105330933292167491336829960444875954492777447036081051522747438128218720534441552969556725776808665023391888772262004455658094695481095156312351505338249485256759744720751924954072680809041389027994572613647984017225053677919488282091003152155636448078880055082066661006339664193989557049223361355972789731808605359604708552327446303095903038464226564671156673873758476793790311263951320587796078428667924690832015733120530018414130545891112917054820345163179984822493791130746859358168190085247649726826778056089288146330412566651672792480861997142828299561642157192240940236815880636366557084322038603902028136814351518262658736184503954940406956990279829913911622228338534936690296646744610525663939328660037214580813437597036969256155360838738927694176237652124771504157863807833275469275192355408630654743964444662789950495724879342120665202865417336823812714101621367416239845991069349984449552861541873533341166647608674234243518421707917237339857025530247790514170095331091328461642593025017425847803212556634549469977782516971642676230839658645565394056046551261423339566969510269836891654659961348552931219189687829967839439099756895822511923243880956845698132761003328351409006680260215124801827169050002194549140136141478313610825978223011134809414306778867903244899294723971150011117181043467155739140534565527152082700203153457517339147934168538212818563553882563931393948069613297851309598110962783362387760220001109347314081517873828377080478503710435532077299519440603600000338274348731459471476036557451950382538936098236081351821438506364898745536240401639170828045141550283086997367655580349049502806007940796921874166896362951797710049515527620390021769402743444892620173509362989886220669741730925661637894108368002871404601319124753793454544134844308052566763091962420295555923264399107760636207411862217696024283826785079211497395811735800068190108086454876512095369398025203679866821795421767645586797032582122304450978421719997500163315906436402935153186946590056715565185593008005734003981825884566400908934346119121148432646964560031030339896104649575263271194132099417274687905780605097890477757466405654865565833377052786645451693886638644242394738524794075444434812409520580497136769351745832550057534642353870547203519251023538076866354626485952335481222032375772200570461313147742793548244612504734454506464711831062001892586454335586245265501926937450618482381706330136583495484526813989800808198420674752140300152224723637862926621187027384094688143890654120933761765102123426134457069172742299208482837107058824987875688115479987692805702957184830902858003703922695278394544711585071384213534179062465044240659271192794736000102287324870570933408160958354206535893623008858903922414693464422109439946709098315524077693078603216673564916503577623435499576282098914150628581936427624854690581068509185075784699298544806317303457636909846616968023312867095601468302862531199225497740714303607143001922623315942784587932710657354370352903247336403093577317345291864238566490401412339041974384659044903680234193499379184245537756818077400535608244905597438221023929262582591235793643450264786374099092048801882184807209594451429394307513945053047424499346628211257912072437294000431132612641719390921278372125707737791654949982140993263879670667914416731939247563844526591817455776408352043721925916219792275916615513143974328945805477200094712727039432631260000177798286722019399703408390030408997224550535037180580359004345245210361602740603122378042908432428551877326526075326294644181234024435654781478324305669035136460220665322933561616675814145294624089982022096878283361063775695211313136201457629659275096901753762417020768172257938535297905328964576866118929428333615754955440679812328121133544412058618566957387356212023244676726554602582166072781049162474682393979504785631453884854032273776092380615056274494165621583151549601405403465341338288558697139936501032481730968182058972639458891106020077390536396777686832202866640083308135124861613772391901648738699539282361843619775566525458111896924947481695469072350348596238973885696856940144924679883602629969588890162443299943746981506934576136015800139293668305730156317399910970862142162376919136640669674729764642553830616607229052851107699721878650979525758548902013207610050153150677346073302624042128423265613795898693873599403561966030388868441100975856676372858344739121279708415093403273260961182090916127589363465281199882932720224992732403508936792954621701464520976821324119619980135741473719626798335272959347669392878703297766636819675222242757886825336396535976867397069427712156476782273726149850766651680970905322813333189316440126032595857294823538277264899759266596574471790576874159637506968318615327231671333463827018705621393940996119704913334218719583843976076686960385438651918031767056078454936378601283891395086668901125040937853138695926330150968015099467547033840856467910069545418071925930494077119819465146839847679900809574645165675610114828341507849708004250187284702809626098398135867884597326035322306375628259524217403518187926917433118751711412293107335529330089310768927229108641662321500598743748995419046534492736920482648556651853163696814548111796147208073496145603767415353091010294853602492411162444568314268799992502149939707925058478243586981131950299676442726125429843995208325262483644719520005616533827879802563946090951050556642026202281373245258620605975117366940089107067233636480484439441339021254699171738408526162733278176681690333148737234142201776237807476744577410937580412110512555186943658774241557681070723229880496626359180578156648344335767187669961849241369131853592577587317380265307372647074444008786410400539307553078692482767896917006939695893959342531885082597471105155859913478315845113677705513946434330927842450140599431470947736244876517083257159017549L,
5762295111234866556746741087788501218616463195836263274460774417871315084991361679253230325834188063674335012390029223456582495517094264725476085267940191395980504965841275280440952737505854772609689973821289142873583252509526087928447931148816415055629130994701608860671098474596178661036929282700022205864950296028750931988949057574495966298751805730701523310781780840936546232890879139202885469505151659097321346265881574809584697938185928144316415279081551792516017516368752168407022945608864302320086850474666158843103312167545698020284801895350823639474196338598434292213772682484430087298139114017174130723609028499322414853241179330859345539159693322618451990716963127571485628226072065740568976399146642699031173940388924709674776613736062652071142994614570473825992780241159865250075457638995116032746604398033870709274770615998852836090665940974580415030779178132611011053280324096736103339720362663894454324213682732847418331922298866695431406840979254754977244256026972492704340971624907151777054519979806845208551737868465504939594068293203956916963594905881964450465999601611185584932162685764795449778094854541182652228138839103444020948465242562933042347468991636846285024571568669952458103458378953096782039152807907758689011412547203334760921754229907094900173005757621117380843116508868577836838003545181972565777255121120358687470069438034622372143671273293794072086933446990724827515413500887800584244307849095396272613164111228602994379542911530143588252544633306312830337734234905903043457204470868731688215935517689625065270535145135924596310209695967591339943316505920919071911191503650516405396656074980514554164396843750276177109430869039765128845593391156471904163516888890622705696076241251084874603068364818242153192449105458686756267886576941067460582016844952042544825771297613545675664999124001251458523637967690558947799846936912889030553880702550745710791990723629548407019343394020218551297070200700672064204193260676632869428335415504109766482724805752769130701435177529764490653850009204253028173150533289506591443376973536547340799345224291045824676491957213545349901836718582285103452639936152454240307056782818813363792723750921831415328975457111893980022282970384194434149064970706512048643784023562192263838529928159429763984464960244440197871235735128866351885677865435045856116499902867974870078499850812559017326342435036034581859033027643217298972728182999504128210812962161792315789253563321265780475573797238271965317661707377880732008001066993091398384667931270506605322860618705118278067526597785127801697229631344602701939772969620109182621507946158313506288336260008907720538246601225708686866771788690380846047431869046490881077360543071605673529580684761571114625043567702752719728673748565225786153519269457452030746716723462487727020820823350518360653306460984036726164939450805323782197245734062212854951154882569041359411354324455424177538425136762734874527497267975961266376430833650075450113349601398969330974076854435865558891272527636539443902329312358501702246198166395740956431363258661289643949191632539614084461647997423376274429270153767453687159416613456059200357755811760791409633887965539424408332904428174822117989321121493055551597850177344720996466501290880757326781185688633149840140994532603300854478070667619646605586970758337972487407922566507272012073281140929583356685228861569720302378587950213936908588394026287915580213715566988357896600680442733759045836153049369677826199881271687506704871623713387187569052032568580942535533471237957754353191067723035664495506646741536761529847417858718465896416582271099163611813771393019575946362205889522752721811338494574406775266749926740654021979428966055271175702625417306395756879861977433654617814233348633650729618151366555399959005558889648124278425348722871065113946758237406045402721989075778028257130378391807307177686828949253654001862513171993227907225216245158817853508296881433735832345589505972065948829930376652395599588064357707908664525411991306911044379650605579268905521272688559199450668275615574359672669466302849557788566681448996688851737228814606631789383128060714886071969757603255784469630824360990496257719399325897589558096742123668490680357393664470980155974667248418286592134613335182106850710722126383813982497914726320593150622110818466729709587395829671895675108580463845890793876353769294854808502695539914354525674303239884021531765118217329794902800263978420323129371951918459138441920909231253325879021644936981964754929579934629369007370499374887825586954382284175570235239129794016754297949793392840143530102756447328714680538449316488830519398802237528450272674572588743336502970356840980109711249808726620005676975303619126782300079670752252089307490217862870892439651374613914984264380389350187065225591018978757520477063062935434683725108158992142218675779680572780814867762259186883731633335400545699540825468934674611657853342883198017171386449769562403457502684627829466068832447029071380361667044862091201609262458977178962999277950655520371935923121899266839472540672567901973078954215420070990965945373639739511929055949222617317346419031169871183781219749814375291015097513232135642548007920662418219420883559608020967814981987581154358807614709913007174762326846213672221645901383357174930955378680955526242289146978026814595497715866926268723785697553358807879790563078772083242229664746278229965588580173423056540048099750204088577195044295279012697791699022869608560322385499689516567496730971670320672187308533899523440532191538639025610734774820594416610150718346429012000014244885707301739652283392823162226506534267630795125087246961857582997486829516508282123115066685019028604400752557859168999899767065843649563616243531489978140831322028541219217264420504250310796977862561172856122627391385574278719849162338455366030092172732229865985007147133107446172267610335972711778491789945084767779968290455686454945687868487966837833782709014398052300034673172875953055229130972341642020302742326946509823371382008082443322470413804083437147824846178642537591661281473446145986063743446738953183160374991312267658393436824744257862159967744310642855933770233377898291090231232437132176445816862523621604606240200226911824758846720783579994810238645718293452846050541460979824074590454371138120498529970752322363008970934296965486641363657426537202872171711654459700870918514923759445495773280958412238754661269503589601143471831891508287199L,
9193812595308483795606676261680749096187415326804970626241067549768367626542474364643375199200123955660794583872208253761594789961890304233605778240169784446082887348835001968095691574696996021777012423166594224606221213983803801485843706035880826211148818725662299617642524969665219630053837739899761197101896502688433046354266795864015406907248120306592820246149143262979178342759860256662356092722670100010115580125993483344103327908886258637191808724820769579370260496560236366521805550893671364980732666469171988772625946401504597380029388975857063790705286402145514078307780627986895031946980583978300536883511173524099086931245831801561483937550409539811152698707575810436242378952642969564777372316272789435104025355123127908403098036364557075182431534907434764630169464333525737083142755817628286561594961328072083286445011013753597220925733258650255017726130562829869205215920596905707320494394672667625860550227897387328128563882076701607625127811155991342597451410457247874833472932139327590558827492585463552471811586455285904996886293702885021223428051778800515219268310413512289575744693095524734941884864261822285209074328195891642064906986151092162910423217535492339945163212632192187433292342558246911240847262005014420204921002705876810188720110109854546116269461688737634466560806089400029296098023270509665272509937547782543796165549992181911026173421376430089207056606956819710773588180309758371272396231550116021804929557722816551652660899468631781556499311012066512532825115265057606271927527239837849373897590212925475456470229020363058156178728578383130673089414729393851214607805843198465624609637727193464773372441395621015008004282008707614155515295477002456569913522119095372698014669822780326408456304435816232936721701393485592291397128499003606918477333594500844124768113133857534446968737153491650521966213316320252100095829960901043543349381929221669664064507787699842223744390828215567687402531294046968761355690434019106262482339076409077702765569820294522156806932849952603983389460392794703860860811268820300892153852074228184748591213530501867512794819823162435622723118761919502219637959999773367322706624555448225827709877177682287263449947196409428301276985104929269553330462602548752818458142955848610171539420888964978841348696908880533521009835092461008666298194365524238413187610435676773121800607731208064251309181596093070408826360287140820146882693404701530539606581428974410704356684069132377286888272410579529742523367092523504345250816839555422042973189727180331612091535479903421748237798173730026794343833352307580852777313627245390240849272830796316728538808567235192520561725485577290682160043274291979245391641887682157704289200262558132570513495183693285475735963696991065719431859347260484807394920000197751286765887545153768218902157655046115144810535370066691929777146711678475559908198856203750187448101864203650951776134523800884652597755667859667081173319061211652436506523085636924401524713783967809376295906515387228861555771585978444445078222207256949014846872812929613181701008549657384778199341356444849399577491077492683336080548489031817749741255396557143093718625603572854689563844537975095398169920847558081034173769390169449076354105291401367615225948133309790187402306871146394676032610735354213535369804870876763405565738781410590410791392083318271775943214737670859937666726101544337432291826453916569954541157519962794685280012066186796938253734806595806562199102724625695293841766029952236222182353097677351180689169946179053904570055956698307959943575125951913741410342394732483353734474092539350074961627346933497691619206332058425239462301314819091218699088213676763498171387351284416700858674820952919146196328326974545725861098674068431954987657478462712058401825916832425247976332311963278293195049139717635877635439354929020912536108958626056724011273703093926495110391666602212185441345815965524449570446632628761383188928373677558813916802364445122395683887562017802710967210968806622987344240457866916968328935087339352854036918186857713239206955080455493772137832991738718684872090497762909231430152543675497230034392591564834413385934550764830214774642430071054983316139764150964495830830649931708968331553256950055440466971956832710297032409818973909273377209236224223959330638798002364563854822373129494131646071146825487323333123660268450028189426233346083592228303577972970705867421017154776777393899858104871015874246237483290202109740028434934750526100197264456819323131991302793652341460959359800813171897825911879263858672708611590437811251854190918327964809874768037064957026687494300741865026989102800849981711393201060489105400519193349522703724374710304716171167982772221944743773545372192320132605916979593272036323202829368790457888411348930742209335634046848006640114028284999910769329425977672728449183969484108747626609518831042489084430002118563372231215727388526845235620049445721690858966746742964513564961531117804224739058540565537547206412855292585055608363712756656717517689245071211476044537345916016203623960879190670978932057838629733181316831389843206776325497444929779336591224998284765477611784135069453012440180235670135502073268902183631211370759812200239015952146431359590728316117976252579481257551680164725104531277784799398676210875640109857733488291967128773976338753603213855749886845010489532084441623356423602018125355151531652464073136097285480091591950803762511681569113904864856218753395158775194490976146860249007305927769991693787044323666526321404941844847037422132142279431938102839950415949090759584284383055288040817586449752916394645152236980282496113326862525712987105166298915321933106761673695305656447568627680905664829370256057764206895945651820089781800888475366958815281012982460191317610476316249347556220040641181184330857726253632641392284237327964608959374119196647118765835536225877290559139024696355131033804209273578127437302087231376634907281708024817919661880354972780857483928773851913527737005488203889025669229826349047762308181670621723997223247584920065530341773221283553711488106588882202533334660886794940729497309443960828234530277437572974499217749790504373781719273165015895516771948185562448097680576431783273166566015478960639414243703318362841982077561353798618520172837245304184914825376126995860556798759790107372218478722659068724186671333159986945272458853797992209366800508707538117537743452330112939324877678020371473578481526571543050350357862L,
14667124237928018308742092315541527073360604846951714813355031318758487257782643085529154506981469064310058781499398739753400259746876212666240733888569812560077327629025035690283569862600645268407070479489289599674455237340619613911097911159817947078416861395534522603984948223278801316069599429456343380706674355102574954559863815826076888071577637034622470948534379294960579311955574441329126061401019804827456983588843122593444410968739769869044185626346518622629841177192124207222588167092227491917030796481395405925874970411154624726587186516843254050669528652240625662954433636469995073229957013714242074714589305446234332364332984078249760363588824857935727462395120866658724617851716804266775545765851787559702561609082422348507824035348874715115012437524246505061432952635973972457637341047188517181905741321370502568905830158340820050880669904110233460720617311715111396447309257190818765372375376045072494497739981432936443416776575300672457876040470890880761796642928768037433112712373079648494939880584580812436721403650283329827818882318083072946629362647725189742855148790116060429881987926254974060147784150460710735314792217260102166258815776183772437457161759847998853274502113195775932723645332985575036291061465732035073249616653466113893727766422164939626738945033837773366195382709973940452959047321901172479502582010251824617752937630327693793762071085314109969853017705892246819789503740385722814408926837616501665779515914908672492607834050456556083839647108077873696042281392999982073999700947921131515831868154727156739896123350254214166557920826870258929177648350912252245138935844117660447673986981863625524498084502365466741583625644233814954961610025931497851920252908021986899712260938022587531338320095949234467957814481580641335404142650310959551942689197366059713539498732775062264833799888670676739178818729148092979893540248401636379288137457212603613172158515999968191419787722226921261989485424671842166836615359657224219942497323888806665608381527978845319211431393626074597340141314019052053646469033754620925621697565118193925018553539983938044612740248772052686149821861571862715073043202268037709472321397176751806870030399433730539365169130622556322025855247130448119878646794229568290058417527435585122317988252976780802660722008924527151766509847272171839783943658954156606208876539146660553621941449129155356584396419432781180056725699558412250878562250597479999162252389395149480123599382692498315634676277893425389673910814677256616208853545023128393109801156582399512943600926312255532960012281567372926391714193636846382916386313348832319705017034468883873594718864532179021496521139393874911158871777101238951022263548792635349986286704758265961548363415719543310725095540184971002553694559530888370020125442507249806352924913904178441844443617972829740233755129395052707334117901699629474994188026257643388191531517486860160077730559888123343561879549284210787484783819858621203041935430210210957496487932796182015281950989197292239857873209450181779551155505040346882782144957387590048844314167716458135981941962184753106133058225721580055770224997742962512230152592117387976648287697164574196489502065635844775667346495742865874905169360822085776206582191089536513171838567439697796896686660902160601811355190538058614295713344343292469891112904903563093292850134394726441851745412762649241715748348158164757442702324607112475615022852192154636210452003060008718605011727675192401199197210781239043697753980386843261242769034498340984022671435690385277784349101059780968653919234370822955059460357303274172391994794464570847863963435730909016163053141626728857604892089261967626970194713813592266802888070606855536033057985784814081649578700727404176611323363992972054912806954523931532233663617782478406688473815788293301873230010196976987069347537854867198144393370965263361237586560726185710170178152729990296389425496090302225628715415683436694537216820920640151114608472080737302281541150089937271058691360709850834363302477987778799761155118486473185450733216617139332654934792525544789269201875883681870921468929745225766442698077860953075539046787169894486027170534690618771863834612559874823691769532582867188556816727470484734692769094775427020401309121757158744709708299424369236747052717862220930188608610023515581196214906527568925172311716111712209731866725761502764709578861212892175163459533844647530634508966315024724240125336674598962231755742771493311474951413102007596126264264895136742910721746799720684380848972030747330573147133885420812209875952470767337252476865512048724117593393526652503191158638269454031680630203324295803015467290375831997023200481153813302069710983028584146163506779188700417354294310235254827722803488461386966598090937015732950435749573294141229196364665493580259282238004201185912291386200473145444313932452588005585455347524012904668255903655593439312062924772214953496595353671555344057805220110118964293575363348245841450186371367895441557171949995140656798186418025031457054899040370673980145510609856506320858239282981287161123621272607005828889295867294332115943226760112732960256065261280361604454388086993045676165199820784685762109664460968690040053228556106762958869848763477022957291405472159330207793271094884010991113041806150500014582917233218560118317128993073776603276266461620768641632608117799462239204351933438170830666644914680896826986443954599302949388538521443819817130491896017320196498213424062694607203553203406950216438038201174154421369426654593697891845012816408267828392139671184091696138836138791788781712379215201446206627373796607323412990766869401306103657396762707201673579010790681785669997859017059766840521989907802078161721572775605203744662546100773266555383037602888346476149280168204879488079569867741888628555401752092466931901351457860298570300396279434664292986345170299254251860152454458655046610907309160276618790387387301246486791985931930434585459098797798356704138416338838731063494678727326260348401343828431814656291472976380474497640897759358375456976901690871661417217848556195703699381151564347357068825915944711303028337886160788628954300429577085856620548821163988520221821529504636057197618904295949705774381216344146334550170181044791496226693741710016528517647513489202628090178729774636925493536044352590264706873922133549265433901098410612068158384056006811776646222727604385408747663979595855416560033988702927367328975025627198465939915366982313387683L,
23396101381638672388900489646119187086524833696114567855441883251478643705147543941662001472113851011733682923095875237279150010341128952673632244650541201286431214149626472429667828091484368409458651347863590537158195601726452881295335158887767536413410033902435908075145112566827506253103390510619794484118102687036141798462646272287392558325683492354142375395826280667754155855062849574928167177116106526749486011543942549416537109505756945092479131998933274580094011921561025798323654296149205019700835757046751170932365239490987117989458750230438829310850997256753811032579567365404572026913062502041673809176624376939336555812285290724079199809677341580914609356744551411736431483161184632580497890210772474020859086611371531134453401323842679640708312743576369881653989335111983352471836818209536074869091933725045947128419625835507886253723574925383384367722174474178966142473844464924530521774055964991019473163203682946485944834455953055203640270929446712959962173987372456627547780795719932144238802671866884532467814108192349940226985188866570799023241999166590653898566060871379437715180827556689699297846013076453245273232857847166052853408434338356371887150777481371439392896302834562476592038214750429254116790985757138280400157385917531360553783581208770680855029140560564771899001646579951295779215441245455878388460753241777478323923279936444218294881976654477496929470851155669838601144457710416668303101876148722535871889398041566237113190259875501784323794251552519818130303630222649570835728341222758618805371887135813010049335253891984113810831447654678594336406098049619995725989172669735863945579744822159593747559578127103417273431473197923559896328176451897367021820904195376466066871284408077227638170503899801371757576649512279803976572874640088879703234059976357669883902444157157654429710411546377614694726215088045164962077449524704625613108552541898546610115209841457631174114501655485838601566925039998561297098205092557411573876408727220717517733258206770498246301833851329612174750348238710592671815613524761415320151258556045741435666806094377828496488728569658907659291379015175067446831196043673681776239942119973453338934904652815215166165277037236487764954625351923928170054314481982474397523061836227594266698884586431762488300748227720095999007445802091853981029715492858134449507561617761672455312337799980621706701922588612015861158666175258767281686445824368365503730552946014849822063453335350630141466012725829492845543185191346961761496219205995622425102900200332054964133282795090920181412861717635984850239916417374939562032909950478196249417069203226886278183541342962058537225427724303247778468248459282260437165412153175170658403257983175608538225001884827837167670448300953580779817913776992967023733859747297022746998956399299450450226081734439330388351370375304095287172765231807706299455874876074983502752799438495905168510208252008732382807135059924188707513700520168507107002243583257311943163438037271580982222295103382608980607861023604378437338074414532268966922249692113313770810299861963232335016658876193490080366199999705419698764547421840419482807603708350908358165025249984491365534549458885104578096488552527757787991835518188014387404956288783104329056789148432133457663107438105349163463165977628893347137207922731129891412404031450733685726268414491636686338743292703759995552347195509702695697913538087903553134173091045005353985340367093474237661288952476025792124675671955915777784097216458054425035265381283864490048336859248992126884727084855300988210824833470786277562913684580791997441605385623896511727539912793348317631761688109045947921707775185110903388104582619525521310528658099125902118539511697359717318784617968886943842270637481789221481369664339273610707009256691295409467928867062888257340476269991703657408303769649282305371532654288286385428669295038705018277187407628249276635354556197253703805963270027326581527016928326935027087621915809282328679282258296480713962527050811474695412587117735762097020429361131971397301898752498325654494042716640200406618982478116115227022457540245488815469276710766029691015913664378970813298616218214493390559583196936467713812869036866634889810004828271286502203629013870474231914111001737891680587788881871811848904329007802755233418955177584340173727079344175299963256724173891394617619527231962820972319005258292103920646899271833346132652266987205422670136936796110658090532283440060250126829247218915834746942026851125536729797250219319194566664211102152771363257495042889164370607348074487413036154538791105423678530254477315767703330888911677354762070299469148637468653301988624972153644197857687287197493022005316438613663605697592935163468482971003822385402090645051130114734414070619338543662197018667519057087698409391939022473327637531962518920531222167645955230797169840789489347856902492672484134179053387911470335351361732600356542949123006775420541959066423682955297895612731589261708041113212727359203432872010940406329986169943073998977296607842003040605595380831189159744056507334908204774956517967733218447802615011009841329541353936054740154275311562829761327147797993661460502910586748142036540980050503969777299754317160528476183444295003357674479326797068684116626326553137266484110395518017249191596951996365693933757778193917643728849101541453141925937490925777480132049278353761153815313882835970963117613479239610577543508718818199062358916553500431754806586659209527399543595391769182943060978351641779523781270661052707454817146991300374235685344469956628661368605231213440379396234485679642678168041143468713176059533571116819000068966909677218215738086043642861727778832229188449114108621726672117223903915058234009903887844702581348875073775560494102772887472086907051442848280265316435773251053873032438139619368179472195301473647018984743436282124654614879622911110637603136152845591722480935710194930527245070944677150659534525117291433888755600858515441448433555022525615327755214057472391856768965499854964081175247023648636573977458144183663978812648618467195154523285719613893521621254184001823638246895121161012129648119841668746861069148300439717799550895848195364859346843841796724500935563863196293851184258325480887705434748913020086694447363066960052203614138534974042324971175789315745415029576066909185818301978579800296183667154821333533862768549712855096110090532864648203798689453153351936932343417965733972165009278468831928556293455636L,
37315670148303066166345265841091297054467620011238339338616902601250309920467433725661502653757171017989497732945796776602620641171053332997258957614532262134353816352246608310085414128517554299099853403605857401190035528305324549471033690282580652080118149270750604561646984708038502749360206127700939926941548024409255308557319414042480076842195133335370393475517469590850275156168122318963343783755497609303252342168680356940827045786055205611175080062983706337497606734084202591116048212277021936016847066780440928859993573937444629481793346224798993263754818038502255339365499702095512536625215866604340909501797199021306822123123711492784623920696941429346924046589608634742022189971190215462825416398839977826358650478904121347601983507502832288455145414550523851552259741102234032912503353435323633737185164795347870226699694712202846971074225856430622863816543357888783251478154896147192586706736377824009503959610791850712970522519756244744473992589170008367503117208157916881364492385181770135547827639100752593542768690161989081014407890195114833439850432432009745488110243453369431470385255284178593672289156134478189942177624182284279940747193045991567772257911493873100205703881265511498736365526683331314121111040936972306111345551472918478406396607181008234766425007533274658947879723105722042483476462493179707665642335331756845944903980824633944757860772892581149160718137647950700218838708817596897785523350981776133568460205875064205790447490440811507686451629415597450102982335224904868536094102237171585503204090570426834238056205331014485607655127980634516131791757403608219443436282226224278703085465947447207973416416410962536076708363714571876881996571579926759824902556046535453224611392656473537216418319069392892547554141771014326252578017725672125375177088634977485781728581083248210589530030413214829774125310467734028430951961143466878689213843874957865855831572468776970410230392932261951629161991226706718771860317756420192344006885267537884482860191442105118540770063314438724137966339648141462569426902512592287449025983539425948916873186975586399641768966634086865010062887952016023319595920965422176260509542397547729559034784403704814211293390118308137943773930375551862832679169444351807988230687529594407896534793333877876636540860424395173951557709575520262710368461639297556718921220542642853042659419026326782196390776648839611119802757719707784658322153477374107105100254815162893565108727162451707700971995104359816758517712212029296186139387222351243000296420389889465950135882078924090307529010645160036993178249211323286562775331647489304359587938948263210294851581179287440234897286288632743712581383713917921135952737243947578398255345716126909731217991856033159890562096930078492042239688164009277741477201701689756923489003515320463716777708606418595176679644821692599811165510409245461844590445555818556620116427694491303032211557102804320663600483432193159690601127763635570435224706737540740435497149126096925646897324872207161908835213524833547712971711813910174505772444294643829961779097940726337449633043526717515889775373612391243657421988077624170322147810817905619920193255337130146506656009628137470566739084115318471907382331882209438100332338479904129924984795911157183277740928642976550595102581243578012418374391872456521669806767031745616405618723482873939395451581950516065621821244316806673231132434824577576467195381842949741487292742840663416693928131691536820923269913884180126018709072646680022075858516785692324342140288899541552973207837768894877717685614127739513410287271046831459325385281665715214510431465886896546295619165939789309002201958619358098139438913787526385953505904658579741972666231118198374059962081968475186132341172673318068424775390465532028609891031443072895258104337441103893638479211250967127222908038966109388731325734194725507462151278246962110404968783710600093162945183115841392575304055571593842447279989145741058441692562807826125888481405599804012102580672357609146224903958761142147735531833778487355199219020491600493561638165709649228979483068082969472430253645372657432347348731230553046603137400535145422140144281164632335923783531219967324557930342632514470439345694101772262383404208319499032368406118760510376303979724794355753575662295402025331733167023010935881915384920175708409685955549696393071332671093606790491570772028118258158165694739885010980768616660076973130365193597444001642051871656465507380608796844587039624810422864334116985223560774752870190704347062198770587459764299147598469513086909395491543199156408936148720320227063872619535366279858825795998747751758209655737362722707647093334594049062305810221170768647956442024004840389818485847679861658853639641861641955981458480764906430559370583744032583330292305257152486908941256871228828354635275257675909483812381591080074811244097082442506397560980360827224402963379487732644302319218145570815318777907632923993889214336011359714989625803336080970581999637918589473556788960944242953781808355512657127942388065874917364891945580631655867752719283116734333373923224920636844742847538108971102199785303009062398567635274915436275621029856022783839420218141128582556186525948891792046829564793409505794120794877486673346115541538943514772424941337567942069247510886075154898577521519810557837912916102975926664634921755031727360366796016799061714375973651531394329187700514986467533836892913985014257608432330356369193512273537864215304413236003209975159277385263412742581666073339335762046271359990420112825237815430333325445182695450029750840319752683388868485357712714518797881837644452099547929899321632889085112809337757437604674022894425792934581395549770162926934834227713602165718078602869478423179742236286907525426965134971879210005370500681045692386161993796167768288640088657648370218120616230477307773955356401039254701825321431292619697890843039546743173401424301940124800347001809686996600374030862703999482566072165164449241424769861198282521133812638578133611504818942001025494497921613949987604980973345919423822626225258975521144327223407950607950827880346979125601452659099900582023670400198438609792708128598256503229968616236295944458643588770487439702854256184789715639448507189053165616779050452512793707552950498891318607998701247652085039603177355108214562036108871365808041487564069222218680603441761502212703130157784800453794179790011300263851284697241556196214176244958282033021350572684049802795513973971L,
59509767025113175549134742199925385269060463789570329629063623449468551945824008049465745547781193771365224128279020663367300590405021155683193757870737715360282549507981458484568516697664177621465825836610731219271792603566082439282659732148286393826720894666515810914189721695431623262439584995907608904128682628807344471278836273575052565127530758228233290147784131607545691174571780021922868418804746774373196187017936850116178131020150488620340128929151981759649646710666031760260793287559154075322953204248550034278224264828662460269859323543203416268594221833135742612311101190238432918985951809194685666435725828202015319281034673910767588656936410315167851350371726597913269825448908882716491730131307654404919776803054311183990414750551623691445945132042544300400274925786011321857037316599124192290661445520961281059843772792461263784020304123158011068901869387961061585960695243884314600123187170620862322804762526675799015861511007196312768600918269162379932753646851266432779611155599198530809898653690978447331433559598283048507788802694552037792717090027996122656742829974630321427040462518684239286976525137690715623451186537355369754748248267600115718978147753549421196431089507233371186670759366261858653865751977255310797739129697407297751842819147876471562508094023245265078467393874085714647768270058620755470287856336955316478679729875270922459310598464277924878724300431460360421197156496459725348758326130357380627738638739818230464503392786585219246770675972129832132662875372868857776573751111963885361044349088973276845881301018404791975236851166852055892326624742763140163216686630807583868553640164267191785255975973452574120260868906774813983734551458140697157292785844148865566978082770440986479962233604625162584442387529526169883450267937193973666257410647904154265314831013934090635684575190179825175389003295218116421841047924444844315459596569874321734397499067060429791295692357091270791912957020916003223230305922144592549607943995142071996156764371072186211776964190464093897776814470768436870219791178307067450976507072813619826045756775571243834929512706621388437931219348748121797972804040400154518084890813303538738041332598874977099521365532165259688943347851860444897153886448467574175561108192593364855556608369713627426410437593112885584680191475595511151161155877369790484057418164093832521448645342821791347676529820487181996605696523274131409517897082181084021096226231141988984025555687582385190783541339193588660073321365616385449214690272462488678453601304918467188946102339273643837119957319683707423036277640978559947356936902769641888317664313329434325481160457287440923570011738751773564171214561902389220483915279101802988649306413933230667489016763121816831351545579183111847352500378153906578705782421354507733675921034645193728458809842964246350690725549844036364612507462280550573623810905085912084141225049843148886876101750677569432568610566210283009425066982143362658092511117857894500868447177889805127675041885448894428081153258971318801683618072934503034337583788233173421421068937950643522656020544068183254282957458541310759477749815490662955151554079235698902158513385236112189095347773532088147681328530015849374595986231967880485103427596274173586741069058463761284702342870181200210864643682238952324387467456997884781491738262232049926502098620503839385810303708837748446162836458543830797003088923986745800869408588863266323953638871692683238791296367406195148461409002724458072549786661664940063838615079743320251734872472920964033987533330659376959902616955157535991444348623802264304119535647921864568236652686211668201619566870199429791914155447957339702625435567966139799482564971011724734578309826455031022581500942555049669033077665475141252561306070840892627210859498319549080816503223252878929107657287721581822209181012139130291001409899522582744631912667652118359772603243541062767812546354676253922384846470595621935874984781872164930564130281714209814403608267993443911436657583548814598036612193919450701568452619750871718326559477806965502046871933207514365078772688470965447243101480272712928792898466607695894194419208643707455558817664817474788100991545075377737640612583464123112993977094426229622104112083633792259116918878937502477240021388033137990178404228146944140727876793950368836568411042427105263823414254191597058995088582727658075266830487006625045451074172695969177009010199317657157287170935362225719581527279850978891996225687326249158334770186807763360833354116954003969770215383779671346896099384520513533228210929148899334696696462233545499769823757234492387546382296137570405186657009444300274408762875023000003126347532825678646767144902370040032710166806990747661168430273312720030239555625803618718266804151882735597987577469952987424118235416786311569305205005044703054818019880801464018908035360064807825304284407453058796403745732995804448884847056993380163702790615707846865920013129497900875092581504054835134711632055360859590073957721683827630102621448567607237990674146369179065310105892071401092911030298953629074166217085145155538414830317567614701619212787668652257305506830947835153721381292962405450527573039250681295165767411010899409874690694834711750472579266204468827977669402783937837618858170906129472132294308261623151477211112316516277915267951629624797934837673363533916935205752780197296581474220764576880090682099080697876600665063477737278925755175648066556228655718254202198012113166353599809754738723398133800417292006878566210373561661478903150174217712283900367760387293298742306558808927216124895465113146598993441569173800268536225629562171331590013151839663206408229239586771127688627576321659730804122841882862059445390848258357519527936230565576239968083514438248251600469055790759611503766089261470632661319784501602154064222888377557536200480277658729420621804080247727130245336859298419280836884931148929198468735343746133125750801034802196616244284035164901112197501889158158900424859500510066011714133544455871834139382935909845022188928301820371007257236120819605650810143484289250221161158247765936443314515690030316438293283399138405431750883248411683468172282514763794609851376037329650143765401595933459913613899897420935930129521371515730092067015751791628017632301335735136700695948067480640396481408936433010678639102197472886599320936614840222945096043019046367448892158110073524901852369661960026125068317100365516588923025601370757158969196045108401722358L,
94893078262563874458139115124374330645975889433580315085075900155347159340466210467553426067098747487975798790207603074124955494862946285530776677515611356048888577537857070448503203346968975856577615838244247359396876167252330005544916522047137030980862540445831678747217351214319785386635207322411218631451508417647179039768880889765603851247590841801235164769784841403578024509414816757080005538058723503361172660446278102191601382498290912343589041676657693420049324509137469818433011499091744691032303462290761371609593175382624994197253388050209630458853797782958773152842172890584335163091063643415149640219542727625112519994155701598450793952890553464190343825807015396872675059395168923216997564735680680234069546019095543383503318848837916374306091719775444661454759053482235522161648949743766538653927059571048508030064682517741143320913045885560832538336740770608301420592628377281102269656580436217995419346658383339567682447106039481069922025927714739239225813909683049712238610750688332841765471245266403962260385022463580851169258929472915102132981331282008662778341445160895653904244724372941134422570849223721470089027169098701986246954249380197638036832009376889194980553419168734282923570833924368672992573299915737004879314779755194074693979765687958684619715597892032765934109782093615173542967913981048039325304227795235409517764149801551720547308483913986351150479359255810097093676516316413675102436114020048817789479748888588906441055396235708814259732091051716083408802951159224161375449541014885677760425383316173088447233155228596925209597062995943734471015003946143614501606902025240280744020052683100228115102826462632969343022272051658778614090838882474552590610881216599463836970675266849165036335298332407102104670198143526877538482242162960365547998006785869159634450558413102215088572284164047987785205248897593478992578528158419621296608406914051459975608341694878431160073735234580176711208812533580977916638036047500708983911566740698656713097646062316340306746959175448262767460560304183132965360316278774468277086791868860459574193509287624763007469071552887093468029091582099147521443361722256378052347091872441289446173570249239037012058032867404303913625501560857655820113997280839869401090372184470118357448509291632800708372493525997780721787368906185347882997350235843866187582518380096958281683763351386363202877802106135096237157269069482896194790326925686426286131693891076830477992535011885753116255889523675340782501908482191449592528138299734230244274087675101042544240015634405668408270549082909769202619749630638875259743336976909214229818651320141335934960934576993683808947156551009161801575927709237221615257620039227778880959138847229409305240644624253048644240787681137059493982309058068972130232147599681285463938320243135573629333367751908283451054526281734738228900987772462438014120459950567296329314074929079851606794213585922471078334687475413535746991696184130586920680926557931908147921740451052166533210476313710760994488105239278086706807671756452021094844946485367028470875776171125277166537888783900020629990211403993186633516970015491739625653277979507939149488542659165800918345782118820884101535874891556302804805687570082414536722363032354052750086565138811003046429166840419755774281296693019138724330225177166802044908096274820452717689639809713918597550595566144562995061615766697823349762560480460598042047837766391018881232798487361621438934870589662200590510104022518113417120241558354184710882219627454226572814263790549139458313013661509782489139645215191825466325749819694945319319091966607364278203495604259959400518028550020633499686730519027736453333668594759912280671090880330738249997253431145701267737125300602509128200697451411129483581356371628582490778251295233746255181820145553043087782722331211783047810404743445694106907466569233348421803222360756106427164688876630300705729576219642700471019421735760412024506702235936671274712655343632458344313788009083129362034486912424290525181028151597740036960438857244877136916798889451217115775487656967824263853392780374061035363791384493451137089260379249827879553550293701280802791991196131989761853081594770402363243581703316356186868791385137056169849137658656957937358445091492210470684329376316667789220526850511520895474180191638379146525463837826123646139627371298837703501291343709721897744656738434400916473221018117572377206253585260598544078187231664248968640671158281223917945950667732600214818417804645847791989766168743618440527620079169495153057753094244934123216109246115773079645578715529817907626227037291734366042067348892186695553461326228282458280725501822717199771777711187164598006115025279066140552292978979084518913400518728208664838223604783741132200193672301228254839844813371562445999272326507149036966888905915639151753219569993051179869167287932642690082539381972165155823113527178282498057477212491612787405436943347937118101104972652347605170516047055568163133637630015792561658023817613199477873124530317251635753445753464411122722820723958658988890744007227284704034589575044654406232588953771912016892240390904652992012642385705134916100499441507194955835444210879238855153065474240623419789508991402835374691132599385342563559327213506259394205589549495361057523443596761115303625496286458719077002108055228841883364690290201261982789110249349903524850821493053093425218635996925433586056940245608814203845620181707747736990834674227278284743686291162257250757348049497288151652650386148341222161988420766488229251624500682607983168783977677251422185433768048153222260652282487812393399097277463052100474988853527147801529811386710473620584262319320818153404322309479743951534716743179248877973799828736558462332815988825926869824748670121268423160809916711649636272892842491216769813421536918758391007854197189285047688010855825610787772442221063246000653059763318860050638164167496092409858418559110548595631404808996734918201468554074995937033381041868861740086952501358262327998905063559420738867631400297389029715258907987689827796241961148052933807324104227157181716190934443722757459397649814489542090555659403996931747246875436743414814788638262946847478192813355251210796691307569044345630345138525053560803532752182750284823334634469558504909945678383759000222478838383487020763097260840564507553243357499130813811818107784761559235397379640001653966471635466658323499380811751317456018630318586435118985072630708725045993594308032114L,
151296934001722698397902481540430663556812553011791320753985647065553759302540014701022285532499603440412289073393309202926900636837830150759162938774533764622446031264463299713243975395971070912732855950911767110417442065686360771539933013121952900497762861430715865053698086329952578508631847439081602460749085598001671201821599491181236315433956563239608454878416336749584749451654761001687984761212558304092611054328480888069083308896425448530213508552964649063697710202807394211549901784892986962628807585649669563138654982892205838997204653674755596792194216678440556856563702616104237658767592923606465637153450572327800734382263709804156808736030577415209105313470199086750307609775781288829519307680421651927459443621633974809335651090253617664434995893467670805663843678749946162340415898025437568830309122066897937667427046641997017740528288343877167074164950405355023791637722034254217605895512719340577692550792125827082612873062925513903685156193501815530292824426074750457938975214513408355185699432011152038457148066916775497389961878116394566415390248655554959228355676251081754771771194054256733402399487378005285905239542924078489049280206177825606559191197950646747992337838176977909193434072778009679685042648278283351891978524006382905598963667944796659442483911109502059239168712472192616163046971881619117577503183274231794000232461138685516920440463728293973878393295928242644252928193264796799436732608751182084711062920931871417841810358907897893068674903401913775787166452841352554099862092395400652877429938102945994299647890997666699933883346884201142914183390410463366130651776515766252852575120633025378210561221561942692053774462721023838273763205474785817807355165352883733626690530138687191474670421479075495747202259382050649156697850840389321158697668940443271853002750530133851862872174797213013355719754682567054590755643299843565363872665122403026396062594574353909267519102355884347340742883418868602156688759913804405054670415473603258982453709346856655893342883485948282167259392315301674368810498092619856406220278793746634069506919817306265154704597925299854201576288490714320448483887468278115254260181887282401137992840356997904459531557288575706131797786847219363904010401495178995008083489700012618432871606951608822244358029093999593207082634105042443297091637572202923872823451137195150425858544456845725679964411964562367806628172578433612015459523883882279199690655463672954250510553341175015266185186046018990303969926413533394467711507214636659150844408581850563005708251153097506122470015212260737915133896656957597274978935409159525575709414674738265181702820059223050894949474191951979943476500454764970011083963131296885573398442967700596268984513620801349991432785041724106970933842348868336266417765771096748085676088384069566872372324163983042680048607303714268810081323256761562002118092667888774323340599470573004260875043231579000393420093539229170400054551754639661081639789914181280066288649704505314865384653894626428256459405088465757866961201529604667768416809852044244935771612028729104500774374585773031532586992539582813974302565786806910932260155116967162562045552119122765003164168056363101269807479776503231208896118987775634943475031810980825417174466672291366625142098611604876587981222129424927017046421859160940755379444376440733884076006019057415692824881712676482071117364103906183425161005828913253627774847173387383264191376074561160473102768368215279460947775346872069854492392659797770147221960955010854855082928272719895922720860317021491039532662755753920371798131991115041144687955308412342609886331524642492208821377868172651264353605592854793556119563201381206992187527373339508668592589901765675243472728022265572358545658555572985440230572219278456017696417714579709735326235617756721715762282073444721776668886102612419920926234141572655976399609073562483102102281597109430572964089239735474276851666231668953326566462096833043702350951965637749688000067478806830606856199999321261163247277162504561348571621668799337229494925930001490642580131321914466645082422891636643979223394802990516671951405723276214874369535027880873751557978443485713397901692684735090342572807727167880932380550780217938871021922204229889593685244307388797656930494693220386398455480543250990358299841059014868718911418763693077450510315956118027432721702656225865739706879457653701098822082933070230701657554601738440593881076334060248360686811755310221555294765106734540909845444153769716452034134003212905524728924837077937038053983629782880334766015257735202539592880608562859637602954958474309597026256690767951777679796951419042937177544895463179388021110658003666999796668123714585981507868289381440667424626779758925044272427042443029450154050518246967045433067396267416378398313175996150590103106983329651619027468264705918596923542129697027848050274766316155047014077435523108649069197141163182598460849352942547074584934472273343280828510410752001212669883052436987484140102793806462041708010440214004583350181460900027776948944846291510278549026399760886989213256701731403333281945023661972025565084630210977019062816803980710661740729551953474433114903183553555476143036694834435434862400206089885818926950561342989662801845024168672683609670654884140730953274709785137193280526837720444545855089686554448960318690779165718307693478151869865387352274635209839994200792451137882912968118924427284124520619884010442962763779917697970900237334677034504931697653444628924978231816355204545748254476764123528422789638530780457801132455030132234944370700981406638657734194011902542985826998101119595630146605134564047770813146585204437201435508595038196928086083506575034148365981986484691575551562966540909179807067228740797923220103490386331810555534265462383357058361125706825864612104934432043604172660464286423569172380301358067371245018403089496950697553417022891551347240095411070695991929639348739286531720463252798911439547147614273429152372024792182503872631381096574164787301976646777013312615922948998896662020080931013989905873994624619667377711637220412803682537976559962894276342128863536761251854013676901944199830275004027590468715711325623631952713495257378871802552193405941795502643891455211974111817839044234990879548860221858071805225381629683188547070242045204861630284078137812510103671747396344183758300620452649358161303770191983703672484476037618407227630490325658112978010040548520693416824529928225478406111900551505L,
241198750271363118851419984610135186370129665853521245677860369374660426521401417661016847374582972399382987489236640916893479531410172990932565108608922342795328925401891795259845917815638852701388624504237049341210755029939626157026415770542650412882511254113139417655890286265236014906391905158528213929606465778264615476837612378912418809341707015579144167078295491387794290376281934541086438678481636657212481518592232549018202977181286632736798264922628059538467457079864300867825877946775061965554369459869216501651559694365000860893925014101960465387273123703879514772645599613394230915647770825761114345769751375688411521579898344482462710223039082215065739434803824358817785626679356029113084920661758961171064673608777764572853892968685309746540223025485641593458872111324945191698296712886860225730073538209709164189874251505778693885435617942543008961718707334090085636193906863608357042774212062210590508020388305812902090335531063202092043709115497526454355531938983679273139711804932889424681259216929582750932261343963977326904979148484389261853260402886777229040933750246859903325268292848109383880881657723701590258775216856253602448386186784073313306281181948791114617404384634120915274231293388954387361817003711625973232885577955241056247269120124413822083066361526492433788077066339739343674099892994088118613331383234861986595768939246851208041954945630034506542410897016326341876314376036828518427115065473573510413304932282246012018039648423197418301807598029520382976782589203713706068572527930552538084282875073351177559588691612777523967715016327583667933462604394665537065970757680068191253208562793075023584395602589732021822907976903448106137213127038422696274823751399768691864319291633659484208749798071785867953846809830402932785314243605637286960975411499876804133136242808206731140109384713801827866608967515567048181173406787832482272535189775304973830056801872582589187382378214933180047653820793202561064036944548904159123605324940851715095395159321546653707912320386138972644658894052912577051285623566987475584176573492487225754565669101413341941956109235587676768648764753715776929367067729875158973727950776225802642352671779829030194719030575238400786718290856269989489535196032876455267815769126727938948143256641997976906837177117572366378479057130977655872758808583325958075563488052088351422239749728651929898962364144132598823051087547490906628988576744143635752086498308600852521985745191945793220836182306942620996664467332258514821761523031468318589618530014486878663234777546913259553597381857511971323336102319882932132655493161551157208526776462633885091795652444712839502455188923850768719536877182206782951076853226777073737763928902510132307556604414260369533261257030210028170533548209404237094583841210120250690934594869292657750893877547554992987634366279582721948127650814622600273801219816493909290622345339853581665365558181925963531286853132024847195934795396954945504386199699450399301392929958563854551078275803197505337937896758494244622123372762336403340745608405852274116692599787156297240556363061869939920180259375792130842396206147553151553390493661485954010781810834370997292288461578807862726711536829067772472014438272508015918075073133735185593636038008758432133950131295580448542698386798765118455182883324904410044226566586185938945430050463479418078377237883065300127659665972445252496442084182384703883772072221211355029109886221113582293169785272823697540574473620488674156990610013988961515705354818244912517809302673593157538361358017294001123998616909167027396994920156460480895173766289027589444190594711301049479350780726586509236262703665325803731974248459626822573330784546380751596794914863999225692115067793209231508967358903948092235727103868666169380494686538880279855934469190182805158936741158775004313381817169548690856151753102515918501118817870638178549593874309701236339157493238467378155113591912394920111256565973340776549688093494394685528584096327713757512974124121450212507692265863530462162846538729937183234255378494167111124948070001510587776271491619246306081701058957468843997107011137594891117955723453358799334108421073298979609138599162619388277452950859929335816895307365065704757864264611770504608915830200541715404195289544430008402602512149403274625157134992469970314576934689617894664320056760279885648556510194606372592787502897277298427407012170321674675102369147150383786656482363565024322403970289395306870242042684761042817499253818116250495381117115801526086674822187433430907162023149842273873671183363612021647527866673466171414903442229201826196038442807861929897601629899929375450592151687378713493936975063615249962966608672055471858122410373717767765636953910203111949268652002749631268379783563215394223160223438214397110121160611894827067142328810581790271354213053032324670046679922414230565150477210880079828032402759052202397844658760592240910054793560613867941357204298204772307519043517610657016676366969632038745875385628416123522190899965520924299720634455572635382637340824655509118425819018788172523898016678849002975731838309601649238454285242158917190418282761108116549728887073948474855502651646260947082258747762780330796825687962435317858996758386576245668785414919160028393474445395330535968069781010686378885004410977780429020218845570969078420049384029741687578846623544641673386183945835805893414097035707198851482957624884650501555099398794817430848073215650651459923352302647211489734323827220635254301341013647736379775968929886391310604171076105149849418715408487016340940950492255847050943777471253590730580383479552751563397289092153570976510403936879453259828508329502012561857946789102727020837155209117714906860717810435029075836695004134372342284193203846273302658162419326573619257296164950941094548452876713150553931221559794776520439663520957604663947976754154431695265699584584369584125549253731264650851048628843498036752519953139324858854310870654864156774969625083699462543411339047149980329283203147369378477084155441354884691498989159726964331959266420417619306333489088653515546028961613535402202535966857029912886027586484646953725869531852956511289874191898230573426575350071703417280135072536775186929374254994151650990431395601567545309668427864992022476985444691097351998913059764594931860935068714874400506742517896920417636239118223552459127178506419753835909383707167500440760758777183087033780212818757783914021109941976141650338524888145872119L,
384476092613488197628989493148649439476358498761490709523750924542081077785090055744582888256015500664839647495834241100814426647255556686193592116680634682767535537615106484474805379472291397542285482441035395601767617235151510644809730432845162610344475146220268985599415366559401669031395549328102037529051204498700893772200144761773671949398179188557267377858398339510777080566789731036482534904093496926139304739736142520768378976989079648888047955879655580853559828687808971379809127598632832253598960158330764834669967796927001237943656701498382779359548618644628584677535798615780184649564054986113769008998023702831053434312440562896828271472233315982130329183545555989555483445144051908630436522673710626443568065644111517675098216114494619322091595591518715524233803065284657445616962329237866809541977786761404883453448003926929002147265108853324268411330461948907642504809222627868917745243626670646926069401789194114968150658142276554144478466067747471032736064177895342121297032588412572880889905874746857308045133119535922410091277841076695762742130103723525231049439652546904888728967765094126835316696103697523560013282906908978808037541346988289408592043028377243664256475330459799519074314687828258469756188799774788439955624278406463447156304900467684518879537686200265258060504512257819440315124186037326563277311865595704500395244457817982888845243753628580747325247862915891941569392893294542514599959366255069093408950519298578354800181377018455239284302675556636830778773730354804227335594984440848314968269339460413585865285138594984421396170831355367154715946071151247543179854019586312888878057955355726141945587439534314562088377994762899079744737332777251213593865581966902178646698837513798663014685508236844426363590834055941047906812061652256229031423935401815797528861814671778597834628482779297107493471137839654937569593907200994465814501329098578490671610126241472273815837197723237856199525652781646824458372078044679801060425073420874328363206123166037692383205049152435163779156405622731101855236701037806812303650552566469788660867414206355157951110555275529653587106643028642872893308149957984890842814686341936175359057808134724160142731581702754765901744288515006592352086344782141261738751622518039044119424524755110362429662474493923900799244116492296550238142047013476021681067290841962674088540688875472064278119255846840549861339566271743828714832281979497445594977096230865609703245953847352895263622481534170051243204130012751482029606248747407374596768044782700094764589936976200966633255402405413101275599218830187833994920820972332508134092139377204149539104248611704927899566683703672154830478178669897010319862854943188419530792408125191807049953488709750881997996144684180165573320779712067613116443686800098316616710480297956988331367202275582752466073513411404942918828832349146149002326348971283975613510933486120097686444961023606864568483886983849727798982445832018554148177947453174487413367748994570148787049479440325813423352543026692839884941080499659346153331363833588720696450163153694684766271491963861311275718099460785298560372098882578967562827130858144659489717526269953335807310726081572955329757560151884374942226247840695368676232335123316507817027569397717388392215823429055483068653753061467907063856323301350040119489147212094586918873006596057655533468485661319640919340510635208312415371500368538865619810322622796449293722260463005182154448991541010622476443194094797166074359406383054802750530502162752951704968430560520006509635578066362979764936902381312525694731728872932688983276319613326964032250628493293557321790031019015083313553144693172209432834098620417924543800575778952976979149950801382333231678279825772242403041789099829248805918834492020848514427855500456901728599837423667499525749354659488666609542455913840732160795753971978564916762846206619329835024117954662899296186363511779047477415545206217997802069253925661431244484997181629573356142741026687694445841066013318997078627727189067778327411292237647872626808035334732968982057555591629579237367280973354342612470665315776559002308181280906228664879362441993449811597328277631791834284397875540497778736698096455674040996170314424514526822691496792616845348941297572484091344487121503544568848766975379416702535744320907161921154414104468853320718060953100158142093166641089265073032865479718109136194099519801013172461512858831043419302609690850572902791624004938584471079636367630279830812175367684835311758280867729904249573311155801776647451058987782290593343489861902569447345749991109018996649030594241538384564075753924422600313738177892566747941907571542788806794994742618742372611066788268920284272281101927292500687553165312488987822673929568320402898690750703519614657307099366978420640317317874226784664338994682719734187880861870869661230767228059698099288304313372883443076650242576763445611895072186350163231441039326688070836846946161106310404148220076355758335381217360732562348717537151054602486224505372640592318875694906120520048328922132905849908244081462816581391018101502872344694839641144826190553115014280382117636214979266862187719784197895799308529387152508187301313043053603265205653329847861344741914194318417679087743016389232487952919202116528554425649500886150027201645234307326668028452638512517978437179183384630894904110719470640033182798311801209673311105359258096942918916632485305915186648700080777297664373489243230000667777152557497419798562862904252677049998361353275082513865540839286580221407897572192266050138197177995279145957090258507454302609324890908386493949975454652461193264318982957167046883234696255820029756162283094633661499231344670978697510195373011752889950851954650130263750340965766635785827679581839579562713691985716928205172411193004449942802852248580545409621478891209432957636131471423277761638288381741123207954553814186590993493949631612730216165551016872184464338973143251304340969318070344441618560040231937038723166187591861938572343247817817212770031834980104030708924074702447649011651331836870908204153185442607569359022968426117440266274953934899052135571506529233019668493502338538756262684269568504791608901810556715896648449076469422119923979296916238261635672580261535069230282841225989777125775717638030847664839308955078896407272165369679988026317584578766765033031092318194100834000639873733442300225354708777063769818785926583032911056826751709573590813669241492809535507992756297222L,
612791896382746488869157054538783286761670085111842176340095253259056750742888821066867887939599319577014168561052804996812598866751758473037990598326093330447246425069129741544950453294318285025527825085846689789595179338706167685029701232974509060026290801090121730642882465824592766336530260264282146794297394594526394452559235887796966469151212548860821753205432295365563739193602532691541587760689916980732301040560247093222228009796720294500111501520629837135713126649872575545754303449331518680503681391241786586260411323761730369177455882110863635116828340500366358698081677536092594785335890308168682322711098204744407844305522058362657940936125414598366132665721399692848008491097583939552146516879351969420094429364774889666040919176115683620285003243878056764561915617598691213719286349366678173589679478962075727851829885728907347710919228685121868844924934966358864186605177652748876055843906772705150363206225473748402149270729556205780248659460705973378866751634866826318229710566593224864569543955167270168474557091999160113134538882047702664546052276420565152800451391804172489766170416675742777903385791992776584378550443806555575128729626200666705871546883048397960877480500502087217466899097282607056602563790570764737516913768634077207693610652856804305220544424992765753089964369522207183012100545466023758894268613254594743286084732003322848478401689078288927841942230242417383617232717828927661257638191562341994874870835353000167861112458783756086047325843150847700834560262391129537925053392535904842930245750376869578427954636576097054461609686655299082562661856184934098044855286645801964116409993775708297989540645716195418397921580141534124748032072853560439089207638984146130512217002528577394930868369575713968701837536660666152823530176835371847993865214595701561014177844046349990642570103680765905828861357211972755664171979961324332018840083879398686327729731957708522528885578754733288744489087037017194990649094354893043305688936492074865424730756233347784881665224292963887918114567893410983018222864398067306718013378847195654802467301418726389014846909669236077965758006346853395869766023668518635343629124107474659883066832778333255761878025394924503068371416471848055585261151343924667619637067264948412097839202627753847224613697363002969064335261010443322273794489437260134683602913224638665543088653808640793421129751999306237861336797924616588464224654010557315708601116951988660442608988534952123761993201277964605611263039714226894320610813596470020051373401612479344459804774564937036112390395299028128794424755510720480854681276135440469539361762266303047337249601475896094793722232323607327050305119800714033925351328138972829475812460755232535325067827521092419443016494019288563017103617930515522646611163839059328579897024327832966058025031496121123150957782857131478383714856778997493531866878503637901494822257001825130538384385992243826375819720897069610197678902349609920033581191221378038522443773976452332920574709161432353779422577075454825456820893520329295032265075925627523582607266140762829467309527230087066673172137119599348261270224241731048540969125929200297737658916358641959898230106285660079601326628372158465365990406430930180070850045566213318754798430695789558677684701224145840874934576981482487765963204428156623168557264653060974196161278239844530101181899464188609055957317805769023609282326190290489257581545703399140891328120915472653976568534352199146954866042554186631440459018761709693086135389376773057880509613142384464615026499750122272524990084302099145249664814674983856793757765714489707646269388434099184819557305121996875618366504187681253094288693750251273311201848847874889452786855324042213675595585515747136665686194450617809661086729850303087864410692342476783797601463836711151024324026534198365439911958428401939120337148030603540481876854816926536152803357948286266073005072801964417390736767172038478771587997097332010893695619563260590889953306817517868265643480796310099879866522770867363231987218315125063854912410410826861543449119792755613526041110721514878336735330312273873310550264729336651851235649391642740864303621818588948748979230709107578835240636617397572911856414843043857465480428376327710840233770752519257396240088642138919964163760063371583960622586446183289341576485571596693780203701920870874696700306094409008847083852753665366253473826064372109810821206781629607960417514963216202825344155845177677402243860347979937541394788511988907391216447414466559449164966687110479362067131288741406309503373754859013118304602903992279004019974358965228936086993801271880470224085017287558566000633664284173692571973191006731755457677211947745408616371268671644220494078104551924350635224123209003777094700024975290814624390804788629017314348541859522985493511759659465179053970657447001372776807650916995131593993965161962845474690625118431057370511048393980363593959826079743693766246384755851105162894212854521008159880694205254579136977483624127877086012929900982644912805552976359040501710266252818460890550889766762592203418650854114973722680631654397641061895768525610847982988185694397929806539150408796367400445735615437447027317437354066613457192971713004673615054609178222132178033906547293807460375830221067588616387437129171806031127764341729957247888687306733036993773492271915634591627033465053207469539291161516005448049647632082416499074023901500968141948366475816302122186798580973603074422354520021053618670294194745860520035946333634384821704362200846344906729103275577802655381085206545284505613168068003404443447119693262448650953703379022531645679994795332497091232223031794187001813709387539621625113626758669063349242600429907145493513535174676155080796559183585167200324770164361448062216248782463487029234885463000764819760913036612871600297343323133769775833517086229908332841356223247203410033605789941898271771103179409715250797794970425097920850563376196556245766182782562012629988426315857533879065473775369609453290215804625161954285159931456134849886101741667323373916620203409276806171900045713337617560355689824470249517305737585842780202406915790028098550084515342658158039323976953382254292720156132581530752896535348267341356119120738870962073953505696043575221542251628942027870444783035305582111924640349869144441736860366845033105331062369986325060056969170722460954332729808702692071342692201839432287538573797912306676459629639701647121619536716329822667451499252L,
976576121471923556376238434470492060707265466083865902422287834524878051510927095946832345021616963975904464527056874866243637732193982165528155167054585789371475056303452591427636240202112637200166238367498082883620689995351278256610452009307730824004187627704879273778648620367531821789888626783353790147337830931881624366808890831528936033719030878224735383958522899421496966141249939438463206820412160442188870068375564596925560877565011824929721565283993403155054033353305630553432724683518586496024866393540289792920718661829980249473099286295463955812400596421929987716625276783161084365065724035980130776621861334209597843865950774094122792850822281556362743939498476710277169038975779635373582253825810663113163805438985757862703061025670591666248806444629010533734530069240884260226886052907742742493948373647748426711335858500238305207337503773960523765902681778607557693397790666014653191625317687159316168189162633664813292384886708153910484488538525080309520543201484839343363828024417160166433666298785489957642455060606182386034687072137215368499655127028149292440245974457762161940051088955640871768686150565244218557870818761862088820462488876032742023561659624782400807585836883692770087396078750144303097587876372426052563262477629620333942068159035671100211617074957119519915776588542775132381509228703924113620670245201965057887459726483588888685684952140351567340789861807672986198491359039512432315441896326352338202123270697358323076720521780013214529752659855035678368995497805282028572573594822163163701909873057883891109049043712779530931224379573818937383238882450493818311349968456056997148190101573982750295609774955567163227133994225001362521244000531007145855626941016017541010681609683070536497661041080649326409782603192610679971177664197361087419442274415086794756296104584507391184716898395423561240091123258872978852874853654274799181791184806077163954599094748458255351297405338356666508155489993913126671088203251768063808741764662964380713475634780114526212842720218928445112032632322229061708753715884502731466432580975107570953533136942319796687371790843582960543842684985733294902192181865679619960152459240679797773940936194989850775829973034031187847797258784537356454859214708879528230229203667579679710475165231683694176225682964629040959135849877249224953167291824585738939234025298897970920195490088339615676498736358075386238864135734404768771441014316922013355308192095126534784412957652158928264921150527567628611593491845532298811146267932555979632629955143129841660598147231272627677116505935465855075878877327920646810633886066318598343814022621669831391900772672607937917448190636716357899400066410946577111130122086961130414011897108493416817591048592662723775105005367387127188803371295129972029894371074877415176230040992251615262338733424091015143687487206817952366577856721621457871178273692193647669045871931275084802797890706914142286138844608946046265961512772506896432214166656413053485898184920899128653770216482621856227295540785695444643480848985145714285762321759533918111328400576270241608349249426791268806859473775757105270644484364453060374606149820862826076878778767681038884135531457650690824631040835263237859176752500146676019954672198901100554660999757747532909062032365693639108959724809758697850523007646384691170045029411444127380079221800170035648024761624025581863635097710717279258609177820078453606653840231019864858653764131181227731537791599416288491596356074230911755261548402634470787840408184380959631537772353678912848347027444951434668819076611954858756484203840119984516114712281942863036665064312922464296764221976693639892454539378312786168488670191141217240661181730680687381700610853146553238751963854230470857836011002576225937597176393750725534081244652656507837023738508599605074938064150644367732132424775617014524430979762587303523129587338740502603200322070812032590068886918468323805740497678222722560800389836751607394209414813393344242234283628500588208833207768334155536361984869952363803784744724686724910343094770761699987579714624826626277972752441908041774174985080385409437070598700372779770521661320363943801339081957665950996159134914268156611969516079728431947650693050812718363558121841398310535343081859088681818561965377593793426417294471751658815199618723055386263747505479494364541476739163958584642169420256020588224303513834368849402949339465600575714679646894918677752174939760873114055183235660469337258831976815105505414852810283107478511372141430010927922550025247009230314061289310611294749308536158389497053737578816101602496050467006628981600601298532948120632557391560735635847087013846368898736762253156072837594630294091212098378558817524631406769691345825200789508030879323680775674897349784970178344299131646574809683674233090234712624205064855895547650276880137168382071135327422121045279931137764579934441795448524641001625110398404734472819778630382000931626082169677816551790066356660433604066020989908671964625541047049460747912542671256074982455460513940622113769058640875986864292287206900183398350169409064953842842487748232735889710509163584469381755008828032251572064042892972429325045251346241459002299510221230407115959227993865644547297652758599060560258784549714100160568030527828360558707485080265984583385717596411978913550989295102787425058413068163621939638157039640734094244779346316362090258656973045651857562644822550705733434063099258322640514706182427509633118538607744780614248453669424849937113710564641449648227890067511311867045528579115692258307983338407259683117113637982917933469508410874607874223549011237560213174720396416543372584363547886328429019891318636506518552813389899374361411634543055601806600746440492269710288770035414491082486779238789523254954727583160948037570738049780642111219542824625196932830436364947645360434020993134623278150755294288997951409959346219039337426582284987542323183787785299691956360689661239692517795824831376862380266728602329481788849791219440722193187046535682480273605079956245249086658570849519732798124373834183225720848508733720932451270739239528677416606189779324478719203376155205164858627401001889692302977284884745516275151831814979598999628831226201167117619304124419690187619976403311117010808172362054895684443370949462398050611673390915346025834091501223674091584562721355008433212725861711170648879867885021154599569013813858312998927149276942099742275065655538330517563436839293040988313176154155921982L,
1556139866383950726153462150901746923488034549835645940283919150031775995109612514450264748408987417819721965136786139043650575275480247350699752054471057449890455246542833463597692535221851332835116027439876242987746009365714278851369454280551960229335289719539659285860610759849916082200340270357104781154248284035666942529257565385749317778123643070560595940435801739832333757803176659567802912264256368356249509501443412493256947549100728406595792766716744501653778623760784378437030461219530881582876996140921526626368407285096572399916015460081326032086994489761637629572955924846083911316275840718890676304298029378523532714702580127664692549931128959329161054329978270738545109570890787626281798045434707596807215450235061359137401634218342422054152462521044233245653808688606774099571660037914395656316981495452955626273481227872066005166232243706619843555074488859205219258739794115005299872594063338542466787798190896334729706655443408029464192522851244588836313037632667705625589521373480222248331064444666692363190961215223578854120036327132940543418067157875679093473392442518300689998840951230202677164027126536771605197420967397325806838934175873810990016102487655676581954397180842122869856890543343347272104558903291675000466372707197409636773943787976231569013478029373699098531050429648207898003767130739193172921869459490521206401745074970794646688328358650677161786726209418807540919371350598786838638851680228489768678705679226867465013133766721414363606530523645042943145124007378680983874298385845404382180331293340901460887737934645854589772296298043740435468800177807031165382265778690278943449470083149485722252778480052837055381802234354456369080732954225683031319540736092353540659017981537341603681979148827969567482599843100974057939727765124677763898940674307262059050475533712472935479030814279071345394459401546899131751907411292443798568444656888660706024946687555942650715967328379427968793977681312479997270533874582803119331503277134173016106837257126931659748358918974632866735852087827904651537608911743936061461332124764155899470517657205251693952837137952298971444019750499354523557425855950085323693081103116491999546274360846978792861165196602754536425401106619576329528871836168016690214840886004056899047943532085040480719164406675590737096251706308351317161915498182032070967048290841888995586197618631599422856441542624212181638837789942843274327092677122339085502615653655823939527487123449595506583489217247596953376018774354134766957574349822495396249104526187372132564725511905294361181141432518329333425596811124470056192364261701479812392685403596647968896512275224057374355097296518148653182812311871575904904547681276146704923622195687557390512754891022122316265627526925359794158937687612544304384002936738956091186497931367398572310449424558831546753632282485799151376876400187002417593168168676159947872910536297255110098208855576284636128616222016981915319356921810853993149854939906998652612446989333127481743875890861151141800598075937485325492876310694502741184128601061095188214883725194933898310513501452970679394135608239964628048229336194690000831375451679351558831882716034939595545572335735738134901639035796680805594460511511444620530382392958516211936102796305238227191388668357841583671837027774860146957583957819131686201973891815340198604003701719231636438920405789175644982410395180447324539690114384943253399881065633872815569058578676758539110960303784703566681797945424936915075055234600078160239389645959948437669966870919022551039507304327860760241267332799147757498015129262767035493827912345953758913351943360385064620783330807347293380017351976595799393357866910091466652159577310996816871769968697530371812073402654988583917289595552854599532429079977920360931388661734337567768314752747090001564581990080872146410241185352749911734777267279803448534581369447478549133354851014040914913893362106778146915072653192540793744191804524639798092017740030106379008921359511255590899636525119732597691654690453214429007336235539726238689147615183526438957578693303741844056138503097428466463964497084076991842265881906249935454919870410841155731497658438280036707962953095652739530422503990333680954762706780796736784469143328663340309083208213560429191490521698895315587152352739338127546422368806909758751764104363677648419212023647528071819596038606283372777502177759719313500892143917619637884225604847276924595302118032954474535466843577526369904745064473033284372424405679639792449560180839262230338331012946418817779389191723547842302717491993778473084752345627993923194032262608120951013716693845498891216423790255712190081980808501899574745917373084713757841448293894216555209266524814627904376079342827474376895285486536039317381643525435168928370616548285787330484483718697275304238650609421154175469885027539689563233622061783955683754229793488308415416210877951480173317970908962514734599600405152813325744974518848225107890434932539565756408309536547167810038250653197547991980128154296994850633369578603143722515012591380086342297980804284712514323294668785774151966209772152312373713572028166904680637625674815302634025426548120978217852490353119928668603035138990786504185112795203220151414199501178521039838513160300662376289574033943795448573869871492903458987313702194273350924762706671291702961542460546328794680436048523200187052365753161157442236409389090749389666323486038293775525658051637736452764385824706636049968114934583704292400002528060972763283941254920621465130121579615718312006495654481286327473163334332439637523262386456490752020491884828768177080175404071850701674568688450704179071982611707669062771151455833464013830490116171768011595740468170134297504443752269672082744840964026578136196223847747834901433552398575316634767295258162506194414473438188906978774878073226727633066097647078169538198502709226128725667995821172910518445020549979433329260255890947091785086162932082544896186017108203221133364551219593491013320906439915292246125859151495465430264070382056044321602385669259896132866196833605601075576780767914964022909704447813858314688108034583383353462495664531575622379642665923506255854378578535438981503529302259244935334719921866620780790943303099609010426287927520191392409226839312831063000706479121521331544711055942662747375931273740579898059874444218306220629180476608663855571464657519036148678511854116457690781354217314861046880950147914680580828358519399441545465696969783205446L,
2479365900117671003949414580397293162558953793725357503133514298030464264324607337906404723798195188455077576544281283071670845530615167308559050709747020761990604678901705358911249541784332712678633510361440145599088033039318896869606614535158857006235605152519387366398720743308546583111118235972984610664658382535368150752238139498176175968052886233509698936245394063522444212693752943448087475233533330096545922837737945817313422190559615190519227830393165275665522114625445861977847446610900748605874016033412276750267818505470805799742735230408245339183250330336478361716467840532867154041909131055620972572917590464512552913663603874878529152988050719407667392943530130619254633450789712880561488034900112229962787592674616695982455259057633811647045734527357459794499052103253489668580474065172600599329675624538246602887580106593210974666392407703495405775571671021963179629689241267817879249714251438748603674610773736537154667566871621544277956425982726049965144470038970233092884801457993311256317636793430404961594673003905008655308646225839382779016092348883370574079000301145537154688612412383953098102946727305149509821950931606996900904422813942115958358919919749782247361277206148970631296102297370912044162354398732910267945883412656526358799255563528948360210543505895169345898766981505420239300212655774903084843872764922614791106614274719493523121318208122175311640044562696481291981942873263482499254493808670725814701248544928833309619863172483175982958857899504477380961385745236215619264999459511741805531830914495589241538361235474876310402327999290751147343717926183470785331334245393120111992225310940799598839967786087909700264610605887131639712665774137168788704085259603946761121730766632872506729616553222198311570867122432627591510704033665517098385237548510798276808957845872639519339665932844444460007368449429621202318350294200953177679242659464903278637243922976190667392936726253598749407858045873531699256239021943707508803399246061245230237293306170428882456978907281513719006374387660769852320273368897192448850799649071026340080647622000928212168566912423710089134134117286551898981302593996233598248715207695664352236136228940844198559895607584057362998060745283959616124922386320232101707650917804559077420356875577179587797583048273545804183180679335978480648941598292291037460040137985348735913472743359499900411932090141623584428507611460743071109031792590556900515225810353577162450347129742425032134968949452710733760575796206841691148528501400027503074073342089257250477847452236405121377446761452274723150809073166699634393147469646485786885399454529926614615478990463784427528115933701765460885902915620527423355321350306932764753793631028210193591552018895689117812809238424016361191518093220225452543476585479434470094682417174404363337201856949288200754124109922572440244050273494497848421203924764298970794993753649718158344322006207898195686375360691014577204530123488233730940819703632025715000302286056169451021659965332183939550169502197943732158485012237245643604078563912273484949411266870420378087599394417628865458034334612957093956026054413894757615977832625002769481480694784710915531898577795345233938407257624316555290231860460356074355453477384485526203791517192688426848884804354130476872935257606551887978125052785197398386054015168077683303810359974115880481854787361245143269072460123698667513645362265246923825053749028242515849774133783810485233932796465955332805935460919146355010571797205710805663983799714999441097842530244110309119739676633592051787126592552302677050541392132912961915541127676935743773400516253148536063825651255796853112274451417799674029518010629088346705703087284318150966488314358393479785411482053507603723053006775497447871180299173735951183669001496129526350718729762700077382280714618809544412601741792373605962054734006365183419327327271394860474445735404530284251192319783737086502492949483200542982847230390784152545411038340086446803964257764294056795333511126203623348390045965403760613410691990042328803771327983592163922503859013033291899832990600004764472866402967070034446495012602714111730757527842412347996867846230733954926743969281617829976336348897012985973151243489181153796823199085304254761875153485970007086710700286484318750818051798586735624598109464463970369083415002735938532953016871590960298918417712891215213475602201390672102403635939474014374266789788160593622043146586269068180596107353189744909697690813886337886186658969843949468730198206025025004571990378358915365197752102405944775376285992833081688084080623466839365010751305643587966021260035173897660039339427808903476168998711335126809314050166813263750897766836871144201900148794438767114703637496785100861457463777437034286947170397851285123454706310797045857323874445424322152368676710456068890108470782416293500647568842786767139419076834472203889739934571311728639386196018146642765357770580853888081880518522872260955323271970457197407132140538467328300282798821412324101683997167967721066796149846730289246210110093965496755099596446569744536400391375148448858859241542520609841209755564597347562137679962232271400117565278790426276006519204511733383837662293999009990440289798146062310029392861172690998810331271013496240761149272082383298811871453403432938273900712097294847192842583681118430944335917800606794329004909085383518112590601574877570345896503062804446143942548415982395136308643430746755462082995643680921956544174985116866891092365167333548650028877687005591105662741989515315901399734984148573110908836838438994176777452948498588176578729646679566667755830412983135927892130988992892506123193272387451418937519864941467965980544098910615141803249314145473065673032221272189860673462082578420986749591908135604986172757094654595449202766543385745084946468837154699104863978355851388377793291167228218723989101628793846912883815660605359643790439612717652239840179791375216880688603371257343691782697250671355347310135486026526948115265284019420831961980454925312300415743370575137740161883494763762504572688277450416453971608394720846257177970026094333255449620205992156502877920813801266216502429990624336961714438039282336226238234321770345119686880854520836741599426796564740678432746198474673589547620531155326009778840521397932537674466801195321591273367597529969962629651202358768632670141198286884070159037299070658898734548000383324117606628407306884025660203329621054897453653213971878136551916665821L,
3949863725970781851714882080584439096743758071413989737038059723580716044185328023454168260139620069107568699682931691493211977185939680268157846596416341037749333238767788224939420970752098774128182243736313725818637323184043358876548785720176816084203695971481816478283318125367905606599437305947508366966264464550892085664735733514691329258246657359153661579275734633120136746763128497671179437164480591933003909077638453972092362705669680230102982951420380965260641215382249801316352631614470048101244672606651962588479960083974030497967210556213179832143602827523461256037556017301120407170865665184651312264797406412810926154525220899913774994263137847466928203567514032535714417039589258273705176258515719949074419431356476941226633863172043854502668572754849684778160194965793792064592808371403930879621455338375587366945781765399433818466912860733916700097914557302353164416105665066101368301681253456539456325081585814514908705116629098926222205152520844852250483026986016800198677089070359708456665473109274832962580141926615883157618581771239709396202980092480360355934626404568751183759752931293478459497566511057558255177101763846369460412024466711402788516771374558548903776320713140358666671301720714947595105966136061369942034339246380077111526274915885836920912716918590387666405568403225310033297693076344736440588431252946424090850946453025096911541509277521982202243173546742062988694852150035775056162630380402199978217733988195856285155556884945013056687478357017072948120801595856299830803718829174727007687300415768826611046631327082436169132241571029422847469465763960060041002500536377779889394430834593363471976426253281856649325246437834047141390886564063093201564417062391584320967810173378939591516254875135881178478732302104008510860873532163660826404969233782507049932923907166224094166744441735241923818793036657366891842542521463706467250241735402475506555467193830786060003822240398829963959920929069391214527894641025446030751817660482171010245707708625914504122089314608710533864362723903752476504240439189289046395404805330333283051547740819727851904390477797232799010528886129424264204291981934609310342237415615788690446325370637806075918387706999948733763518244812299918038945259576669325519538246117243609439057646976700395732302857835160732810104023619968932341684388782120053860214062187251444110441713254171493946417193798335593745961423858615087249963021354436776878708155922595443956064453903519551384343044529159441982675630727054214105614576683787895630248515618815533265326419353770008306772865998107846502635693970930614228141528352907977220305754522428475270312528234921205062935443699243719128049550210090789998460186241612684859414611654331449786063135008527326427329511333464089981566307352892535486782964972652327580584474687249501018358417258945588902147130876638198639657462309364067979828832399257710189130912178041963299323215958536369085945199349702339727130268426657162032462714676618828375829863364610080790073528618553961360270046502830474310724496220661029876741673420826821082369205878226340104600555789459915131621552031984202586780800774905732004130132279861132295466448802730562399242495786162554326466028076170982286790084739463565566461367465908722559203110089662003761052051826826269620783813245329870116493199911876529497545863427541639719093430813103393599146734107844871099378225284450818642124285425141831596970650494015795669438241801381394665636910902502272647905438526136317994987091206252078698261902892017662885363438888235236213322277002237749657683686381930790885869753067864302357421088649289824034169977776882008338639445986453776478034238037406443080775168440457496475376320455773003853186672341317035758119482058371598815446406329157882913217706125195970474604913831266489800474972592221662990297462551047041848676970507266567173738644848098764966548903907894939007749968919788307984399593031435780823207758180868934384652566477042784497429934884079443313563675080047328271264385861202673572893936761178598747382596247303348799768719324764905535947867460405491404662077553396277249445803514646816661548554405653967648149485029576363262110741483809003047658794207744371064121785704276699290808551658042299952984522682354963852923415031699977097225058802216522349215402949224252381507855520553783982994162743952589797712615120911482299719297037457246972856178321477030490182689119323149415550761561827802475174516552881917692601877539611190957005909784437845082159511275196325408332312465065498185636290266094837400065630299082437488087889997906360676066281934031809600982836009364131764754702802655980025601183706250137035831845642928884578195958707030640096842323420027911160621593225208557482088248236361929575801810807729317677343580027614046418228045168607014520005212382678845625172528660989442653946824554953917172037788968959292023393585693625800698310368249368128609468053626974332835724486960210057213504696571403209601129162436433357499039177707542277511485500149650829583737489445364627770253130429506906984438240168199920216912088486271304895893598385536155587082077332493703393115920847023549269928212299087757779657680657511965953215168412486287176634078206909319831543676186485859265421843343040824439906732134443658900131696521695028814257273691687990741433774390347660357194314952010309750372422386731662495612106013763316543597116503122060243564249646153054255125489258151833238472311470746869483718750091410548535013877651588784792661369033344359127782791371952944745302199803624506181610419779911442246299954638878052893636042681578093496678073848658005050495333268803092976048927600761431467263446048677709623799784820699368503293174947099674438812771316040183993523085870914425997037554694036960007256481223456004317890708726821825724802840135485867293722538322759430225496532935380545819992650782158446660700685438556802208525193089596021188113760357072507726428282297840531824942419665246943284193525498333508628641093586978704085709434107131705436361960502549159912513516149511428051554502501004169042111997551389371292983375137563318239910480730386192209477086669176077121425769881579402706737755567212072825434671561229024318429252709749687489461572385503360164391704636782422973394912568168991410707245769814445780652908865814561712389961527238783465083082254086975835831478269142681943930705396943556573328931388742322933922666369439827807309881280534065728824789382024306788882370982834168341847715106111381L,
6291774093596280090036808802114939284543909692965622650239477911246519358817190169315718244428749473445479120984545866745990395993397571673872842580761923768078375257230783626631035682724473291290286271717640884891171769011891135125321981201922571693855044299591636101986054857876061211899828013114617343772559159099329071887695261747821527739482656234238902118527981778226874935424535304266189826439365567723791357308281691457160212669638452507505493525199054429735374235830090115556843553828083148975325219834836767425421071162266656018121775544794790758356984205337418253732277111850551447285620606008087946209806622345226907545122733937795448719775208282437746862325040534549395511593248786498390972126607649004907335400092506574400076620202280530242047262173192172163655583990549424029451978929124278795178619677074574287287431695551111505833239544718004103071885059314742272911846259855204085447702358345218084345479727256046646282463886221448030477439831221192792708126407648720377605058559176382611735874238261523964530802093525676301606305500053434824452432662399372428940761001328618703917332811977461158705394409406916562317119129212248486971294819751171137635858647541474255111002188046547138049253221090509603689178429123383753728977789512581280578763763357363980339777943721242286605983009515930554097127775275561466858722342456222356271801093409107301964521848467991096767403730827421179755419489200552547533927288923112360684416148285306056301904451941985926544365691202719336152636886771212124773442815507949165422573474161118106431920449543623460935434678168929179507468219465498968592614952214719562924101408346265248461877624959023823174152696803095218238430347442608687665075260041110047713920842217294076038237797962260661873569275901376119487251807885847110675145548261858456293594290960622603854629939596216773249476838605230362203146126069716081447121119678996117750220469215825991349283609983219129657303079223027420294205801431697399672072060681304822704669285515382867620301073297797050136831474718552557319840334123547528948387537943691254376994140322180982762493018140336249739542169568193246027868928525604332281687378875231194812872344356054277286045881011282243108851202648530020804392835875456598597937877719210430102506588689995449948505313958246533942539952821638130985227438084888096869097167582884165042559334762179660549997290111727888780465328766290838100598936492338964150787355991132536827348680550153717151257697380607823700623319717409735003110634873767844719619369902048717929642893581289894927925673716242050507923718923465986543192964474344938160945106388540002251617340903400407303096027718876486842333094623791620957532390332589015453131976758935371021696192744786310962434895526939481429621512306618654994325310079805329500142982029192252640338960242744099743259140984397512223981773627251012399441298203270233174714509536053934182671087659010559223180889314998073669196671868775681978481553043049657419963350605817845729026904217500122185637015025189534550745773459985037317099949361773013393631268601806954271831556175403896935492284848522636175019887535722951836789696770741616378131183355151243694114743209816724210701472289099156986468488797515914486647681343203078818091979163911669374537823045842187478870559619120382634290867754128242147787215985322627776939873724467356602843771428115168753853828671667492756037484068908993538442115964017135170349169239496667439750957610551734926143419773557445537569716694842803421809743401388595967992015638503276931552884940284010433920294088856785386562756558903264402205941603231522482133285135295071739265569001107422841426686282828487353490450879698911804259875633066620960659535289241330532467669609699420177193360637153077984754331412069587035909828127697884448990887788623780376749060321027927588030153299803017113153619346910219899818942001717951302387110712645408811197194432816185276553926841852190456418477574446911443523717717243206457428106684487024096316415652913325754124704184400252476517714537876510316336652553748770535219928944677922496208831821128500934503335613258490635128616192716308523998696631430523262483626306198374104255307353486317630528871871432101999855829929715547024759766549932072324064633382764953544052504679143310565913568572414905104667702510331193445777932368764924484855739341379725973035862996593428672135331559557856366606216841388604471508763372603478149338955694017698797216463852736146588364723902223853684699848957486106423553220278373301863603000894808647200555494105304063053383553622187646824029532580536978826950406716648420571814784635109615156370715640259973995402781599772248685501191875019723164603049348095791651936102703395990977540986887196621376525569642027841787090852258018021859782903875418871720328055191014520946474107221706954837809459500880634078495555401011926509115479427592981813293325408021444412902302770755378864855492769693334758436985793227811531908714393127477736862678472945773886731504185980655082632394802736099209299280948401371554853213979616682615469568557541466128732063480088408457695889025492930846709901141241842336680563737314179455651367059899176137764827823530295227877711264584663118309400717449353086841089674538611261513271284334356579113989723621278357447217786699407955806278731539201409418664616311893046672392944359294975231174911445454082428346116492125492342752876815521309728004223861783006010635616378327832520264982258800190705543223327443196070232032967687238348423444815514713799780490175409338675004335519414418357437458991118244937435107307089335592929690609906688882273949320087530860270940105884706814654450625845184785874811996636578274358868433004302381074466603391981444944312049268326634453087220388578433645615242484594419860782185652139529422469482480828535245737083200572944351103669412799164203936032535893697659181697058641085174134899556366015614543109590910312655878624205422925537411568766769817437053624064235517444137102442463816080499364922728288492599627962947070379276171914493264909820934219181548454090930313759667186513739284514385526121813721304026748479566105500089372877153437667890248028811359101553560568865998824331229521445049499503661652191803349003910124898330514324072624761992721748718634079133635282253695792233238661741247941896600911518594307984775689377085187742869077959832862267389014574671515556289431457000151782971355160530061413679934953613570445661844735029840220646003832212974530L,
10021060314013432163352823437532609826855418071256152849237568512646559198194557200247760045799553601270527512589020811780255765255712932923408559781337749668932015625540854064192184626511599505326096943139434599507304017122065913004304442261934096073719850655689071930866316278938951173981218945016135300466692838311755258858382593825237860401300168100215543196027064264661098310286632639608805243034565937776741793271674044632415119368294587713103852872063358701630857767785353047225526821728044040968891500234030060427207604762399276387438042244655078556201857993597526261874489372182936789389951824489946121037665358954709246326784948905431367890131651676431781939969294798361515806807659686717584903059637020185931387991047312481610808792444222152960909069280879896933806893300812353593239256484626347677489444714660395853181487485075833556447017374561570802291710624648676838356591157707466698141504977831523486765571529636614841633103212727152693296319025101383612606742396730565246994892517232168244478472701031352212563113114111860432896520745616762222725669253027756479350879507428232886222517470817518724043285509914999982373275028702655103317119454005602031546026725959513096835134585095337902494922269307496675148341478218544178274993048948481960657075625486803597784703755912571527640080999653568796698248726825419830937469584379566863335660884833433292955567801997260635236949322838927469564407652667751155019308684322569164080781409669438650966139013112237741911848379969250488658750960147892533012612214442200013912467432770521919883699089847691004321445331991371151795676204070180458837372721324862425969147152516896967010831268254747217526414104190098723277269504291776238836376478235125813482010127820597103836385812772160217168985568791211174844450367945287000641177881020625381663921296377239864021656650444414828502545429480597578331592816312301800625193619826305669974220014673505599454826451374569246612670274103606155966922553225181078715605389886542540972904879434391741263200531110614691966011560893576564731332798500036498573567946023721114689874366268851856530126884141791522354492059311202125877061966374373671773209555246449146444971345808455360862123599695418006609387067745516423939760203323873723522683516800776556862099471466122427161458996668019202235284997836766675133106738823707470778100423876604126630929900548619304626956307636517346865043694360099389005427428166924376162782991475266878392253963378078932131460547787385226306506368063706535962975182408983866828967341215782790875377505083590802272471253703613669026362280898796212994495686854317341158476174432184980678502730119335668553296550630400368274019382316544047736129484933137798789102549518470182415769050521729904104795361312382704294722357399791599008864256694008270001561543345599387939914200172127924303930947332033305258938200402645747782537525178133778129534880938917230905221371470725784083081124801020778603797222644487290810023513299051399215370172512211698563488458219247605819282891225951698268603985808825442589043444305741749094643883619606640734312193169226969550766246981617786049949324303990014319461681598624461509842638652059868891813103162989683340322495136774426545766752553062585209577404188159530033798289464279071913084690143657722078636973706077238697782606936179326990718083907526970130903223230985853609108657093548800590104564282053499064295935953728870913077281369380932240153099847964749475080190422057291055128112674550730268894622660003790141803801276758220412110642889057138945021031945093811223491636643600527220730200576270174280486066427254838517507325329244992115275110202958600019767926575120804238929212747274411595144706836026449549279056923278323013081543518601867372644011969804769660490952087853633077664403309510178115247273105843008926878367186102584555388574731144776852005662734144552372200832297912568045032587206454913512421570754999913179545625513422916599901091137666637449097045467690201258601813965949462265028521359366351955333609821951105802504671498356568926851346951130584541636351039979552134881160391854888080723755606146445994364792858605171459406751273225169021790776848668748475291453367343123006441024175784552887074617774990838277834341939053570488195040621449079654797488284145500604384105138076618333822252223155866930252322008396377717034964793141351003243152438686127362891585539910470141236779240726812697471869458552550404629082687139862749516862749920590589662033531848400311232301917439181436017836447088798742124654242008174356813129804906157472207206965315638839601630132087857679471265499076685261842978433550638753609872142316555912016754683675630459104757720605726992989971525048096314794206750255317332087825739529679829186682953712306705579839294882387575755292827848230421617529389388882832911679856365346638516216913064003418675119255650681707529722779674540312309105346599706377525700087034964580551319362952134018061088323842780554538992979803442242333109799819632153828054721800422779094690838871953907761832176186741848060173377068808841904491416825225227320226112628387834330467164323884340595445373586963700384512126628735365443187141730959391200994473845505318195455793954563493947312782659267055018798413718974489514403610258718107333806577799599970313939438522748274740628041760345473754145332901697505455260132872113875769258416431297034781186613553968118140638978594938475772658526598852599154856943631751041896923060219791249725409149700292769718866996975287731468204249381397253646593979494116238012261747861429249655813239829997576344163652635432425263421573145687280966927835710780440692168477950621825462249892064701741917863820750828219805857538178248820089445077670287777850398978153068614573841462174704183717692892104907491323169443695550414477810641725133680070921750968891883711485399976390032820914717739335077789511760420860074167278022064356858496757913174615602350685120652749895315627553941936230424067466056244199364575402129251435887994637706172576957429066716495206952527001022666509745947149753877284297825493846168342413813197335373938385040926039628922359729091413576181196176818758654547540515691458820601606816597756579168789566710982061628655065124401859736268368204882639135272324709625255921973783281517622007156339413480917379907348989298969825160924735670760484617323701133539189883353766664257902707392043111273692947625725635405618976688912015786676850702281273834097972301300310088188961995652989728L,
15958931268246988320186121685212230037281500839192658737745662851849179556370316356981999616637132081805003439503105299597975505993833434025809834829933690216107814745584244524888592413011192821624992667313410546333368416452391128840455529277284783197292067159022482885873895530860768171144480223084230589331270566461914618955838534671207855179099338001959553233526261749475002387346196212617712200842944273155637348902130925762786754308132220907145481159618207930772431785031133734304354352753427098852443776009948920929702893928944771977146577873693380940449409502985497692565882029019871695867951707314439232695003882847401190901745507249005304174422577655204564990350195051190105844684955223746133146033275818263915181235289246967443734963531844834654592328460495139899585515424249682756503490922494775903009467886330736444225306221667945925751596186472998949634174215680806247653375883141290798237028700403309136653715257485881535626940414058712807787941216710821357326376989341367630012978536344585591943354301120222796633478465719161100772091195546706988925406126120601149823131868161706504339405813408823368165819899373256529253716414495055425131407550585870971511102515227859458337009916442901961231295940655808316821767939553019660142748427992835602312100394199617107195373369904074556322481276443907294246363642241821246614047507398998163830222145195057602252327588639777748743204356597480576466358428409515444086186955754962417320423526919091045828757940854534908251952248806922966724793036713711720071915499747769040827368972837536057010426840903635712064708356223309938840344901462968723368949097845895312121157433666984000530537447170113012539441060351243999508635643327293455908766140849073249339139738822723657757627302666994263120466412306199231860988881882951126084650556583596457790681446074156633214508207951159682533575760546470540081982086838814626140781066878589144533539462293374002264265418964007630211833666779080087041693366879684790698451435729499926304981030432789876157932253875032024192213091406214027681857917946539968985759231446480649864183536341863008700329862914514316959256058808912999975490346279849949800364901231274494367366784020831554459364556972677909070201760837428180184102793502212809884337395159911477936225695052915869206226631215478538091655567916535841371885350941931559520594214827306461788388764976302017526262907476571101028919827746159393987877942948490566359694433511056590010687674855412615416071725412828296959860797901251420049668675112512179892353262503566246425156054291598822849420765135098672682601237445619349272625846627490963328342313390993821926183930808425192467393204397705962619317103040353036208783267598335771506222181062052077690845504782938146719742461247498240027967455837716864162991582222663485766985979200932571869674838349090209908704566380871972549961485160700961315500326465652322869891632268035345459396962061295342834097383398772682304673437501507137622040631846817992851332761419640224499653458939884106612540875629198052085642673002773598323876162308881703719840602665981204459610185764011811235944135346150724787310685222898048926959859059512194124888220062013074281186331567531037230969823029503293125076021610676240524655293435519160977447617618397859132302156817552343733282893644846829244724840830084149560468146563368395775936501409184241204281174362383177946534683825403878034119585772461065020637777209986413563010595045889475220382909791623728103416207557153411153173923647876781517015698487888792764595774944649907093394097053292511472054859148338258410946027020716052694961796726635037026299802361550983668243256274304467842735972104238328214974798550443058404316217992620729016155757141874563038619331669116262675284475227732790320003717681333402604045630821799477176359565843863461661148606964619222879505256195158818383435054044919296573619323022585540002207013422658880967836288862212836184529822529323669824742430993971830544046115689848092864933412534796483579922324923364209124085145975357411872206645572029604304930749586145439898730566149077733486098778679905230195760925534345442045092491674255059863735446624167428373754527484178404030411952966536429362577857682038799325548237472338414867299853032684232393662756848743732842874090827504795984011136788842993637917651762204496319197633076520429318462084558871730848674134284781309567007900339360593265808908728052893411489969134141781312390246498614446558695695434136920550930251179059738747290878594314359584340231754350821094165127344111634622287404969321417244477778341013501666262655479467488048475584817246687692369935554839130781455016138538024392199563802164384003113697248860587877568515385668814301161040278108820767138834299172364922544376447022952287428410742052234299634463046527069659937613193982726107346196841145370045832662617033795216936512191805161379685815680919009401597153653801952623485846957774164129192248379734398447122527607668070693612448969598273024933569333514421816873532060539475349521084694439291470943422842858508774123176170247154900726627395044918433060059976397295523551695129944983740482322276544044981109513174888246388632120486526210558089041895659211921061405933789708739971958427002524596398363471693627066912467788314512361987772579053221957115016489543111218321947922288712491848121160290213195013511342115129427175593948938795392822345603596310791841625434627057206392805959870421058692152982077289840647292399892538231323032713799803211420322765283754292208852718294329524431134985178093517928213569123066320165315180078009872787803303144644117405627810319459837460415971504025305117041887694464297302942330693648119565820447280807373372351073705316930099038714723692541118271073344034585272672220138210970736550126154734074261565344714782619554115623093096871158982505832762068834729821294573045898350933834441977979947303443932025454258061844166347211686287747926736985621495054353284090337683740948911314580997547834495359526836642769909062388518478179695028913987567155489303639428750230012856809612996299278785824466448416255676394083269849009859054304719802091774466054226084157616165380394803410875880347711632403373273886921791205882912369516160503440099644106687645849928735763058175891651203539157477520212326139987312482860215353600489754689148226444473099984798364664233573898891750658807266290706234940158763101914068293606863881284439841762926768539338682299521203105059755042111832554556841543345899615422560L,
25412274166745229945070627539833628454157984384657116231975477721250189438178914028144553620891791265338086884060299710497324121203711988139994393004210550299495686950858853472806165020376879376179131837620250785193356132179952462776974494426868682135940228952603893599290566502743479303703306626864138703604235700293397895506077698282472131904918812952974368796751829841308261981292490044624345605525953353998824683324484070726866314469632095393610215287309451771774426108105617534975049162013478903206127029904196872939696429661810228522892041844265304898956584830074648691567160017762464259688112941836742643630021972118407993445430095754910432356769323871059002886427799566944997555082899611929376276903331967255853131606271826331449762579267947042590408104296156212552586472254653482414071946755003085351892643218842680657192201364949273351632267584595226121816120464071698211784650711678834458700778975012971632083277174829133900872839008651998867208409796578219105925707080279957246259337809308657138713612430705806526070427826764372922592157717931108180993042928063535316223444505628017210828956797117815669800056256852423111842009141666090474541478815656920238387296742625993185191830959338880040970125236804687807492973603653806966650206230963443600640499408258739465443913852021895770957031711189711356878616410373409606935572103769639916369121221371038056827357127387710097794929021499932506872403466705424141520156565750098072492590362966607750513005893430179305852972979474011907991504044317054231763324985725917673510757336658293043640431672408822210461537478879070686189434273979625659439296297628680741390744329363884345657084992277595303285131646481738480023414029096105458153139139708268022695810320042770452540348116351670607140892331071039564940865017906973345842805393804396519624513927516866327329784703665209437439320215221106910038381377050100582905823547330329465979610006754562982693479792428181586405104549696329067631437113015477421969796455110150445582005803771181149381290003498323555593254756986953253774394453321120394411619131802746839972106592213325375732696857442233149304242277489041667285570940079990914081596936866725394459497426208731294588138803389271434586884035322205423464859535198626683223995994529797931544426776797231234080871559968993092772324252226081746404073750043142417569845996489711189337224968054382628334262724063603426201047825105096464559038200466600407885840161154771531694500923609114685960166285576684563987062882722861988286220830190995746010100852426611884978508998727145979274340656492898614717204232134092987679445145030412830497207270107769069037797055416186773850371738621050378289199908627225941927745582749182751708921686004790403209541647179748234841508624840472647944213018119922801637641637915485074416821664556589670887895241564549549725423255494126938296524473803810855490096522473895498508124182321280705197340080892535378587150721050948479618351793693352865160108605494443937031958823668573190263507168611741479447090697953668565824151089991635094604833541334292600840724636195240207734602123724365420350245696666261745953236740865600237995341953132178737940740924406094143114063317077223936798713467188266389238181235718990775909331525281155860710245975895230725119774035825844583747409516373597781992821446462415801176891515635925016786806778725648841987179609096071651526379044235136086704567334508901561583742982114284583108512846170696482051116938058306917126114251999119042500500979414108033676278301337303399773927833296520943795228296560325879455783085818797997195944769105145215185121233969146593567558968077668642050405138093764502238424669078835025331203788796461024735361279312536347387858887583689607170724795314284806817874856515879840916000414311222460626830204895960191721225829622535759351171484445140599046774887278622493666561584857271451111627830352047984642823683871459727846832016716780905013285983162182806842993250466836118702106589355107100240620102492507426626215901847621918564353700959084677715711714837039545427491271279569675635641434599130342056161987520296829723770852506886774355483334554046507285693017499274269463670585760586263164890554212215417707455384968086269458449538326043681284074653680894328640078417291053988042711101831245998993466001148724470280895120263734195012021937225734391319169656228985814998687754112099353258550672520473996864441738154223394099908798048866604169785110085695536830438047676554550317895205483689986002675572122801268306225284078872003120124080116925129188054083757735860258041618971217939231164977126296340342650795745379511578562754493686007122295898354901213289060132184087486242765051965184926903686092039910882621651693235610355639905017395762581501297263412584977838439477673551498465375472763128617750167152909522364465461190807346918600115739222969289082603462135673782364672325892512888470916379958537364735221578319634936444624016216230597671559027796577848196008480062187265063526639063350877641598552339793274993701622457915683846369951464730820146331098061360152141712030730897034655740977781691111856391990534180906309362921422981730943409286152896102642648072920082507781119279361778649508020108558355243216817829222873055632357091080259606690863211894911305920043605129049808782295936395672796344511531471463944681471611503860997321716344356928526736607489753191438564839688958011147200818410437098795792927747350940722380846079905595385454382719118170027750985604665859247120592932941789672580461538747941178438240227021089698843399657494527029770162307257458667597900965202427916004026652774371485808214039680370146632276504903444582423475225728166433246308505071208048842951437318285412589957074884289789850353162044783915905503755204051297620504562184976181584963495275309592095603397423673651760586584301776318146400044084457688954240945614758010084125762804385206930529316082433393157475051319400437407195802654362722496063627157434799036764547387899266593532162266565803277881940924099974811968131455115881182000112388778067704978796378947619979187011589273108652481216081857235656655883200700562417005876879891237015934187315443943804703519331238762643728717986262346930532423141176936905140045220163440689246282122834088420428007311616271787071235813845498621120116501644370298826849332769944485118450943726801394875170627452899296595719588271612062743750190492022942696079694519454591364261268819611927234905492877832018334619134663704066085123764752375L,
40460652856879890404627208326045679099022996191590412050190413128585237818384599946550743156733385215513664988513654981568035772139892723907273119482246379555801101914195197590281725066439217916965289491326664993258931031620791256095074907021550874669175993560914962175597498331284125479236591508346689065767256059086996348864169789907298460194768645432101172482286008170230526593835759441370251863902141680309076698816802120355281260448981261958388193092780470564223568930867263311568216926521782668769567448978503603257349653966044786820278300433607618694273793600639040129247690200443218242949443090154796644601073997256375908808751750564154349826757716220294151127926583096705209910238191890770062188446075753658552415478456012490490457965553990208813311134516562289081973967907838437894957864870843280367402166559268680756036993766454506657552769659379363129106692373991496994224740227448547752972091336683373838658738582549501702842426188553608681494369889481318868090357612329793618426330181901634212687377494944929330145024817525469802498124875028205359198580451781258659559366237017190069914738545021158273778067636089588855397843576803214170592966339878596212444279450948698100435042784962658267418938953681013879996458415699601426621868137913318116216387039680976983463171494810761863195985793785885608274835305307138806051440600495168062049080177809561696470475276268373509363477617354629994688351711680230530336913161399714485463817575732597446686669004945114230330674928100410701121853523930961483556987906724659556928575600836314279028947084528953181681515903258503550936245044697263899227066649474413748630708732690420990760874140751505757359794366698237605482228430907956176804473722019578163799074849200717807511072717235227388227934623688597583121563152741629324562911802198074121653670942530533792120535979457661213092947178850706484896243072951627140215379420788456058747343760569162421294922433027873113597264039339083856873726975427919417743388318079302788319478215372006556469672740790931839462351041773414712992177417465486594344651527638125763665561697928228577357904065481524883203441218604413386889296105540340303282114520575017384420787085152148266088147541997649563323024450559709800956601677695246072150122549418950988970567856903972912794395232581087053755762708528475174461435169109629116569537447900167210969990290258302317783867513021709914013029338396229612939689177919830742343085037100669952474074473698077231980396433922098699372668697418460092537312812963545360246900699039117111311837278678652463297002379130943376493584648811223963266727146496201501025050786118390045186239759295094195362817301891688724511602722592573190329936686472309576946805389314259804710677092294704466752172669017744157817221150162320691716282509482907037194981945062402112469894428931945793656642173781933500858646010763895363678042092359993425665222129529858808700800793654421992489251258042246175932141530467699797751558838596750653028758631627871279200211456926941519596019744591021069497451576631552177059785623004515998268570294790886573686005940344390559438344002260577004321732171491605222418497755246826224297676015047201879462316632246062826593011837035087591539403842704395774136082992293829187719127176075938610596999906643966755949995095287229961171220601580318776400999215114598022056170235989733466790092162591991158543684301955607222007864823621843023494954994997718205182931126665798895860310496605417882776673860852397447229864580742385292131655346998487326717735851061810263516754802700528674481644551168000749987512744531987154234868813335240947413477485225716771761804658626260601522101273680684453843596745041232334413043790189570356659552422502994965136906020860758542296436600194660513080050148380160494735231391117995004315518267923631505544601316099798717164242917298954778292554676374726714135370255549153899041639847150374389864995501642384288392626849653993921514737736766294340390473431205679742136246678367727748863739301650646649550282210962332340011107179544490170365813878862478117047946237392587719468935091632147745388868671265647478244254510046555073293692577666408674896941563514129619435886669432832639759842416343356348718167428194993523723368902312646800972397955219247892446005189004932369725585326177822331934804164761504805683406668395676243255154244410326739895769979046816634886333493376121964593766020266181047781520567149958841806990071712013284375782553608157475396689688194037884807167754908456251896789546664888229837342617965425347256354439857351656396623923278334954596504971882003196737036998445165630164028627507826601743739365068418943086677114565162324601323433041703595773463869160826822887309529405986695073817143269904967073852658301491087058542326034069608165898809318416842719745644586168937388207484686105701152995381188220008548630517523529424548052655047763493276998516045517740160210500462467067124025048594334540720099276263272643504104844800419541743701384772938194133391697534201154554952287071720172317304844782748737736062690091632310195230439184177627114614104216893543956181087920830311371436912298223253397493950843924499993146148162474830732123896641516546687231844837332318851518207541783684233456981774277844844722788837226143823801850742272041773297600451726946625321190975598613840694007935352409979605228062901818971319012973752008289097392515052502394668571330381254102614532041010079338512906806778306655356485976391096428792900194362736404286708345384757936202668587893955434172037147369842547777124212515562456200083009812608465395215724551399037262205167898156410680742420508703322343823094895573934930966523662454513594685310202431147941235385231905368389403783558020052709667967285524053276122739293999505531541093233290755160304637074677412888090930362998726736650455900081641109439501313795134706302008429722116641046180707508714174769934993675857379352326093388296206942948929333531205742856776788397607187653273285438821413435628591961378073859006219077495975962855758900206005445225447401266429778600694955309460863457149134873593100462800714810437870977853332746190852099924341567169324925494030166270408808523880529465395527725316524214728178816993341733606724815339574121132917642594521200784329486595684333384444855759491556807737127361638535219992751456704677268105102862697376000434521529010336331536085530687233966098733063805264708074381389646490963067595735269689988370530972422794902495171645448577743274340L,
64412757625307094296466208105329372537254616231871070614322007657710768175877306714597027665241952032043201111060899164033881117176913941508154574967484616742439617549239166114770070374243632547516491459475371144999118856218467730577754389597089214531964334057234559336153388195694198192766986326610374113057382174663584602521963436712214847773248802968408064811849577241611401429605695996657482021261578502755025692233219799526409938924783067136218919718691247563031138482783789408769476787689090018778342711641472172266532543013795653576733748660087704208481066285854643314123666288519949340377193713624682033555227052305067927623661855435585551305305110731381540306586058405263567709643138431008487938078065945831709090219264113008910581878750878991689818547588005372183568203704130954090325029031006289001309795243145503817843610805830685794701548494863811398719757422116646367070130269311419055673652529058344090689852158650878534365499585358173365523624850458651953639725713484263217897453491211388126497100575779820816859765376498719542525472894841684104825274653132829427835331968480849497259850891767568939023007484924383437124861007592712410841094212020030479936420665944479361441145327503304967980775621659994198842752708771208236996461104495726978006300106338168630631961853073587842880826161784942403118880269459283553662264201794368335266311605355456242086194235972622541589201769502341476559544404996650292482687669418376762609795120915642922486836120010703030155076984059825400539000349197853875910973099108719736303664447466459007719243041273211710506174628979552172947181427122947245512622446883759299680546804466813131751007145612117717384917647796520584891703877880700069992097115538662242907602905083079197967764539248289546150605688609278523144757061813559383481218970346620060529795242751263555655238451755427494757017042232022820699266310701115687201332039564920270174248196998318331367413997575387356158650616981834991861409183745813614155038926084288524385528330408118957384110714993216715876754597731357328065222688161427006333417579965118947284356415668998192253698557806414521957459579829179607266334742337325082686888477566123536751801075964745435825203014064396291909497284746402912385710181004217411496214114622492740527459114432932790372785501325417327009123643385500565616387870266729521358877866397559525454103853380484511285827797051190847629013350716680657997803360704102347449960289195150032258666034816138020089313309783947789702399943937781726856114126272859489772266022853430360046590245752734600349438406993232403282744334207246802209033328183131701311143419337153103813635003545901079156132161722017502757267711283405716582041939236567216371379436454399359796135558100278243112845575207894920906790577526019672613071044470971569798550697338891010253993302513226110697844267038657362980724504116465336510398525684564247289979095160032079731112295612524771084553246104759727939225155628855015430810469118577334239705238161623361630319853768178059074707351934759839413561345934472094889072860752354364226307030980138481615581417844146213415248912645223066974126493268128201167342561997276668313169231336534178835071525092757185129694565728921405051934805067266176857091079411180070854699550962835646504909030260273196142191035108511583380900519412398691860869653102091986811442528494403060751334132363339369861921144261098160196292626512810946136323572795211609730589431089729220236039360673532387092501899323836654734097189837147164334200185339377555265310418355574006752360947789132957853161392910223618075904345745297800869201085260950161913523727094081582632413773550538393771763302454022814987078975017876458829940561069456810678960810137314113627748545388034759213655605809099245100278315450961063121426986571305712347829987235847558614558486591081607033806573674867915425811935970823022999173108339763417765394321988514217705989851538091759512434252978553169338851985025946329275863084192901412957980275489038286441720224196911509241482086075568862154059022131146830055401855129305325146006953823854114539626495543777757502858568105450448538510943007849644629487217373512293192677484173787965287273881494612632102550559881142576417227243493627441869089895750829609538495975714767718051758531223624569114600554265510482476217589514494960599337392787552974998361554349911119181802723586902057934084114171483930487727341019341562523880270182179629651904207854510840392444324149791671414863623923087883651768811788950009963064087253439989971167485079089606943697483143415315771611842154540936832710600864162370771441199992125346730402332135927899737028022165300255168163325845049798868566981660848904562092306726120275593490363916383056547557888459015380396004147456933060540747817933247332381361486336905937732927082564628076128800282876671126432240063782727700777785561893989423693852952332038962568428506998221191892233620947977153779011547468286319333703460061359006888292499154815234794221238155680726324256855007243891940043208789473866480551575655367583266081642320895788351677463353228518537063231475825618554963679173356364012432884512713974293940325955704118524082153222712864970177246695228400452049116171319589123762536445086743353090109721031176119084062881921564953882547677210864416180698002221389170741057675262997722263763037376542671261941560709582828482772336729058788879971403179670550526708610437820296377039986198679935962302005071108067561742354172142885287044649814816466364601580575915054116382269265467277422399713088379032066692011707871563918542928103729683889732497232022067389829954406173003586880643640723213193634206648536225937726259698172908296017951849422922832010456212837850383846847087134348436840559401093663910762055743779754825550709332888596823641316305707452420313759808831438045462151920414537022686645477741890209383929217103208637287839440836616884796638242101084650642952815506318953516635154996615306302292789181715851655979814840988996535843040298843315878697113253087191719874343500629928409594239790015394344973445202553125267043062806828554258613854808947422387186675619148784456085126425855909440064010372910042870460424741831217005471141569557534681475533290521951986185101091497131436965141523923024604619197708541830208269760216698181439947890774913839771041911828530905172201021029513107933403659706549684515852100690826592436275031834791624315434112046782309103904364163784310413795557218867644791246156460379079591491734186L,
102532271242081743956185679277317423733166078820224829356932987041719484918614250881929060666117215835112638297626336019543534917867725315584148851331095386288963973560987561611832005868457050367132972305426917707294964151776092084136996625897510675788973319421150179608807043268687227837779398714635365025036587132680855273638278499307671740574501188464772132118453022419301044118900518450811530736766124146920724739517631291960869133773985644944937388500599133623336654591919204474029526248804603048798412200093311636533923306869963944777121606283142906030958333704015269672927546369033467513743876598079254326802746425348184096800236072566424916573164724046950913593572019589544565255639958041018099031429269002920524215606905600620170070608999132409126692916713601945759373937103240152263424065346600849665333218597200239907634405017038057254416936784028093610951994288439997862153268817832267389683750808085372622654310821544946224610811351911478077850905589304563775164198899963809986191492829747248238411160720182421132462119993797297130920889026677191050938505297464366840754002923769400594750798604314859614262709340042046700526125640551373902042172592287918353565467392645529674744918379687630568315913146335055664109277964951540635632168154066793270176755597529883294429763089745274250683309402626142620076724108196398851154417320892507817694079535277375951293814824340786497785557739178288144004841174907571571055839336506685528272592704448186974897361401470488783269708346815615631222705523253954740339083848975254762533983109126666482501396772212730051934303946728017676647624192810461314720108942116705092892710568510346404605372561812251470172253210649994353456125201904944744420254682317495404692814929611547774001796745246891170611142163879519561505585887280402353942336553314698016702814037938483888456196314974620651975147034165069740411996499673841640033490713769547401913859439624566110150315517207463613721214778583080596241167131213604228699003258300189283903131264483171897682687540312250318104122250372907602602075607395379358719665013558131104109399791754282576941139657357882710214738726713607545813207790117197963782213130643342555843757968999762989789209095793690358603918351671095016550073736566795571306418136645192690638730295332471508329870039833539637653784511320863794854292995882790770234207243264453092256314490309720699966587990855809004540843986369661514302369299757425005318352254861082806224458997434024098093036018005560052056757048515169761854417957629589822048847217678727765416086882784444873534623075946175826905579824670187151439919068595379183170009722143739313703613509068905274157474491684784763457279973997642045958185570394987432590229005397471818277706058318853332563083159465346170987266062963471312819572628914821278407707673208797825867621753924877546804909659025493073614086002014537532405772932842360857752052244053679333166608255039543744575748532560009629017575291835176920364849301963882834763198297951086641188684780931537538434398576358334751377380002332320258225759971175682418442052521432666422996915167522178304032914757001295804137615672373674083378762137927216562604937366293363945715699628344723744388139369976230713458737329697056465090183954046681829736232735909553618678260940009850403208032111163253500165033677943335085749632359074258229103561687272405048179208410858783448118134395341266531102294777802331442010060390098201085326844465417656672240307613841828450697765427556370988336494387730471140289010572911019698891256238470474910806406139725691369184388611700173843695987757144522463955478164971868952326248280580268816659417218133895168455590814710496426563423420858682564600312991099817866833410036500568350241681658095716087329418662862292389122615428779105579688559401593732711248768886229279681103970826853166392331870778449319555594338539675498974866812206493035067720983462367212553727118944240992858540949868193530448824415393590246804791007903885202295103260982389709155689323258162752050328458622953245306029243915724748761535087139752791052480562109036937646866602893837840833339878077819197328751963492590090636374801168868672841531989971174347213777961405432465702748158409772594763555917159313940002196532164836734585274954461802760953689443361293209273735097619194763432239602942591411359480809213173894317140770544664149461565130389347130482723208724476762894923260217653957450571082881200214674050656318431664991445165899273509801065023998389237324503482324988167549689833536771794289440885882317350398659497115697662991404063894769913681694845983753383411984211003057132154033063413168127052746715151172419832957775236302467103394628609005907530816873460344014768641705376085679717631086370291971434448182109522179749997541613955216129557483215213729090745157613383079560286910456979207316737278990119854878967806430257644498460721529816245541082067112053501497622084683557802429418969044696109668800015519077789272555948305567182501269238731411511752414882429131862953013827424336426368233949204977296487211524994371349009798206596690692618362560854517746341006061319665644361595971191662077751346312214536622534377671241623976376453827481754649190331327296532561504240787476624031316519187324661547529530497203989688540038199810653086299769885499887595232852537695284689228821926583095574964294494278907889310087647183607762941067407860736186843075363963743754671653007168079580851921824833951295691976673321178850853621543611446853650713705945350306570594686877771731887712094848675761589390798270768965764395876929544702714989862273378068809066577097920475667846546791351061166750493710289020224115942070477080467518500848883652905578011983017095483429869015251880802093692843678602885412229895377669114311490152541204112052335758420875535469027087903834142431872511858245794102563143679130605687936190797866432697328430101354395458026716372051054660632879446119201230176459713239717709531506477603442903793583723710415412405862824100601322782488750697814775294168937051817419970587766998612311598353770172789094462799884338191709669185324324666038836629703093734684320425460834107726613720411459272987112010884475594339951565200580012979907839971542966854601484942288663261950534290034385242623125089741581704450330604218712193116601122474680066704168916092159443328936291946026709281888875605327076233038447961127068184720507264843567454080131183029999316782921910155936688601782219484253726180332115866535553057326106643L,
163192038833604582338184762894071269067309609143905745475875932818351663390917565871320765627320401539065427891050537006175444025668784976210246528035186113716513844524815882086390208236122887320121432175610257993131154620661090180664221464582627046314878046527427979784885641386435275173406317371477973015390281345178363692656838997770748100356926893824986266152531058455239452079906703658944602979534154440999840529315750394536138853364273645697683379884446455720824072418499103180864284230224390547614004832069589920249341273656523536685714093661787416465197108267448891506036536162662832595367688431484311376834731492375531715888409310545214159563055715275533888252982586046237817010212175103610329717927629709997187153689137475384433843872958407627475583239367220456338731291655271320669945968703277121436585429593277208500006679386624991407648187623626053573570094492868968583166119099906773939469609775811150012411702263060695695313146276699626498949334972982553244361606107075328254234424900372245013346923157641528780029764975399133092694860269889018962275305460966428387084399090328473666054575487505549613386240982922919808477338878533501338502431334439531599535816757761052610839302821283044289882489546764607266923496991346541086602026998717549958173336959168132868701339854059080690854737653515129301250362786242339987235524806116114723949720718921622349665351468117464287074049291342350280906337788367446329369882820528319047230228990243675677642436767893525723722269873051337482026539247790695831955098773808477280201402447956111978943800797633458413679166401726122508389802757116670501139418298004331470831227386276419820910911891662982139261127645996722974265664174265767317061724230288287489487084566629659172185304967451030271623110772044929095862515978574553900609703890379269416032922829426484433209127214099584671901678470579999538521315783256359001898792100209794002820499327354025627165973560650974679372298259258421478019885391977671307189415769516134647241127850289001044279251270019365658212807342805127827623273870793488416299642256017464549839028448929591325315220413938732857402781667362512907497504566032555390118283125852536262148720136884177861519578404955199866180230128112297353711367254837140323901636276947641847570407670076305785892389404716465544911097202672074656758405408730520155619308357220749578119717940108828933767432350531778718157762972333926761424369165009299304846528764159275003227140992085093882542913425509792772365190037265610546095592720958280479966417222138405585051357578080039392486596938629367755301557012007236429353184059792842477276134926748021250088370561999332284581049887373054838817292906781711726387918643717766731676734886318000810232016088091527500300849454447574400699206177974764257963913633600477013697858165882979743141751088384014273810951685393541173890168560498926828936272207343592542604743708076147096406482856263898378542785557742937377426990812223827777637640505453327089811357430593737201953148121298371133682707392146685667916577638592559155685950733236737162294766371006381299593174529180117662894456626012329779783722455958774944787832474204182958852159967857385627909872821379871158946131028617389391474543828729351078497815197095498504356983100193170845057033116186367975557757987720332013686132204869652558054600435683965899410223431222452699130731775545838527279631953954468761032997126329404504907165682455549407997513349272123562298937217499085639344460229537171124193993698949632997440138523577544542279126828812864787206582425306190280672551220567255231174528780418858664266585647681239159275193854792289036600348848326003604162316683507360165177138089238624303317568086767237573571960504477535909690830849801158949403726652336487235839937630058908436935545551916429777599895629255903072512879426044446501086108750031360249231140498406130424221611126418353220874724940913400395339815377184673373872522774208934370660593169208227487126129086107517527687616803650245854248122618193097986486996590731804460223496744357889661043007896530958583908553721708624403285200875559586333333764421160487246586219307168236374990207912806736886625608039173815333467288924218898510190693487372571282336132007813099464652768063584821386088693156398856422794183091052354165211138569058074108882700095993307731465941760573194938465351916423063517520972121288014180991860084534350823042720260323677629779154090266379533251835400940532343038495017985345724758280299836830863149205654387457791882959871279463547972190582830241301031946415719789969658954301782079718422585653422593385578318140820487030924563781750391722901254159364722407136569758983080796042418394126163775011731030713431362264495643787555191732259103648356686159251066490881028497591405144113744212269214236374224125645924179030849490063844591924369472029317675709997529175733356652303814175944869687884113030950102702296429435215070016683662204821870232228787687746672972349078947383336360446483061979174806896876811797529799240778052517384442744053003505790705352110804455128431373492955238492926767235803341662384926786256803734380062509498270214460906745958775662894285332255116508274289207354943273972608401013406759603960348847481526580085928741041040148403774025862276608422300843307693271496977070254712036330807226088426420723659574728175188419914072068288214670383673609492491351638675369678662127747000014117566633412318246662579622938565196935831708099339185113341811720243788058474309273883739167532043098320224186244441991261143118026582470163740900900335175865817072321297212911566635792484457481404996104494475476521161472339942523914776817884607432948300915813155885390682539406328906104503642605070344141876371575892537108848247984125123002467720452582889258996684113131206369582089534813521050007655834370161847198725982594458399326054277249954647249447074358571755981548229448446554798360215171965738081097300700556069783642109866790862550112389568960542896032114763375379594138722891176510356835385845693086998448080289676141820011087148925990411222927976530603411871492654229668121084511091379742534005911185115585510673675881576134926284339279134321079096260240727762055765204826720330727501667674618810649692610958742851841908253564182721899086060198659283860688702813151487655432509660165292357038975198449555014869030105264499576828890421702037511198232745987140936877555987093860825704258519466058380185337879464848264350055328841045545680939178063525420552203L,
259709054110917908368391592171440514932446453545857010516475499855977472294100281972441124000973150119068656172189474261232587133480486811261044320262141362615395202013528206500261058723843391681912326757867218786247702151905799750614664476181891199699006163341479188984842649258201409637902612446650442132671642667087849572276157462166360322404149389891895709957955980226711780156152972239209356846454465336047271005612872784309069788734684808731956045290775106698389664415928042895824387264491068415123779614914523841364049795955268336277311605725272381784339315658864894491558018104848990740111892215008732198516995261854301016966513541971931006468983755416426416371974054916726717761456397012778129637394521028612338368307531105376646558774117946431617066435815899425029389794743933953824757246665555703379324832219045924657984428799218299329967276259101216153920043004345131126581309556333033754650063511557437556789838510554236977903557747917258025930062789421330893977942360645681072581974130965848317381402743257065474928823390354329738164481022250364288952824374364175261431980255848588430543910603174113811410417776827969242503028271852552484479942913068845996007334064377903961194478529822718205317680814601940809214461585492731694113178350543145940985068441432121821081890669478131172635123699149615520597093025440158172064346415756486479865984429523131142167339055963936205435807910896168731919975655191664157273737789920051289701724582932051279515929325048022612740590454080635841016453577045062581962423970044298200372345717070980205359848667123444948852347111988560326548589746110989657907540122610945127974181697797048988633721787075493880088113019732400849694881949355239585037805571661907765070213599968722535473039197813898926110407349781810482362341433001103378824682296761078660711966506084228111236901875608258997887143111846861903570436621256162804124406352085281446957008264661655866547597246691698058748168574083154168667104082302895285868771433485454887247559503800089589400627520176242451638631347096628589360625481998800804402782367634301956763270080981362073946287256499479437452084240481205661550408127732230549354418063025634706195198554192489292883838926904594937729652506717548073525940052892238758252453338105547417972533453490519091670336632948167857871901218094214523810821925354450821773251612924144694848435739293512220527142440116488104401114226024876580002780190819386219518138570148615092749130329419436917998632855951484578269215864405214222199819307680485984608431628558970129152146221552908451344956546518072554408986943674342832709210602333521777423197954991685275481603594451781333993949163030651654010978965672940636381624909067790873265393413139245588679983845750629877335518157465922529112510796557891914206826225671960453562245059820732375079432279997306705526628875878724572251620995300376118831756464799946695070769994242211948427060678566888238404372321675765058308437831265793963652274769342278675567484933903086862426743074433392898616191671719438699097181234493143746073950156418997404587298063004488292995369300278466737155715986213780156570774542137348113188027506339284841265657405373065079058160010246599308988468674539708046487957072955238460218205443348260464470723062513813631981628221105082682507875908393949435491632840608797350256318040742018035104917732111651376493435558160966771863565278283718801659924069297480156057126881762243138953918245694996911624426644235713327840440088440733322633652263751759908713327534457831614446769588326696212891291516661813213689654518773794066193954540640678208032821984394984900603888282348498733399330576143894309433817065505031428864275747091132040249588320731588756561432137313129093435070295467065757455479803211638391423849904012804634167365021482694438751111670401194747401888217200934889674656532536968027414613405229365597237002208030662790987207344781393703678214501128274275647529103577651585321472543804736548027488973138160270560594328175934128088961538889169697564983334574188199924100636730167764694161382052174290900814105634904301260435378042036244480044555221252331689188910599960844700519341292811466067128960094921256122027985500125454923785605211428366194032950909971071373920189229665889577467472175485792414984955882472568592705093712049435208414546536899262941173694505097219006600745831878248651008632313048747671346248517971338309900763042339493420069478796950942321577773401701885921928795670647316583631936256813034958731861385432751008755807732209244187660631711210608656828382233597475632662885158951242614385338264627410643017992898546014845467064996128725685569364472975580075395883601953689384705280442238085282457939361931659685655408723126088668718146191893629151045384898184766590736119175899193359433883517314672096219307641123914088871835915454650449472899648997636466252823225993821671113229499532134464920785980197396716315612750182594991624954465926103843468118998359938178278529032114216952936325376271060899367384137625365859679483685785394942149258254652926560160846704820623289335405242223962021385192044865034681128127429050318321629627761940856750167234843626272360683319869478026825116941510165196404642976745084187210574388297453342033177936883300925771577420678055725067508283322482620529796991767862249066360846720851141894262905058247190962436394646619121659934473875294824841757111336865877754180078294334790750423722222036493552808938112219734429003484083961809720071793552064026333445611197846042317113954978519037183498572226218321771241687856574214528169508484237605091421130803381506525717202701643608202277038173254448001133546187591537017167236364216054480790703798853582330848738930798582039896976120017414062194810173349404103542454847553470852004820438513086967874569032993158233105393751051088947619688615018850180216673604693921574537590371822608987155119904231128024579356605053084272392929655587968534612539608964629189122822957996171710452060433711160266855697022864088883797565385328684773074336888926273011118484066421359217144851168461484764216028038199605407971453161982823678741646157024162104232321973482461058110280051464330700005239836989707341287779806868077469160635567073200275367926760389501731014156209635541150917352159171108502429958720278050735113282561476051548213190940275663306529320792768991939931883138412979714098409810965713315689512710933545893755728757031419774961848113467828112618720297201013210691885007630199007505414338689888L,
413261521861606693246569722697343549239402814075752332555759112407733395095142400197103706216181943548133131451005192275618525781464093617253671145908281833136672264182049978268680631975557771361076756944882467611264351520367780907785751178203679943002659998778016763418964515004943592292030450288864607175283779545789385561864886385249254167400799867474402415535078326007191763133899027743283866576538437433066772111238713405182541940480409419171380410322837625455520849546570664359972253168037974106541891365206309758553503725270745565453364978593710843303590484882182794249138130368521651582503141544056061787168440166645699536471187050675149649317331202474394651111611879240329278860847004068925286389831502199718174000423627641815965521503825311993732770075268055422627665227672701957952887687874486289466942424381865800884780666771172961965990270552682453898580767647484150359669818723167223049048526846992743588342124874112343185351697394833663205341966271192113602680568808120846187523590703989822286619588413921234018958062008708598652404540036353940727904126503048944631248411588242661076807109330406459320346256635199826785783114192048421840021063951166685303302917992881340997227547132106150224850142399428138553037705682589654521365713348124509002300112206201087458951607097381096484161516586079503864329315219500941161670557411075214440821840027589429257374806123185080223115867523549493868336239436507313789920887635169853093664025970062035874056947247750139396110641462749797087747922654581063799207341780443229771043638145709362369883941721561478334870434500260796757826427857354447576459222345717812680365362771137000800035967294543412798289289648205359340273846536672580861105224004820590467714129806948902984042746308606842446917714240369160763408671191851702141899977639810260640597378041689069639930779307018889963484894100131178719758124583156524672423888427529973119047650434194890178409083881583128615311659087120122840782576429557163346471491761476903159873474862168693164475183439456234428610193664223953563339589229375538970422855091304501493281991905045893959269636913818270291598592716897159443361002521244975528932932792455579299355503398497203061209792847260503002859363059699598919738490028099853601349269810429327353360891055733372703336023071551353874149681668411716635681605895705822964343058963793186258099940731003480672370059839914794310654884619559416818324562119512400962877040037168211184202871046199122620858858420850913435078941786807440305557737786086408445945818576958083367057482960199979441957681155434942747666322379964271702343042375795268805247382795642522200122826503925746475363692918108821749111060042462536479589424173847237331561748353251493482224197735278036550098582553140580392662219026331887302797819717204665663917393377527823301224570349772268502777733039138057906669134934738759879523163441010786699611098241373714965935246695671053193920883645052894011964823769507552642213023327913179378729579969884969110571122476705492056334673987628633698400166764190314332029338837054359442247567354570285288608087514316809992722189388840470893350451088943974151043983084856564551379544867559156060064801776778714855513630492510751274510613179212650460595636468449349355219331281828219401704552798007223469157201150559792777758357935891226912327329437674992669527735406044981839049915361243979612523291271107818840244691095932213377842722396650301161983640136270683795620002547279149774619872352652158331612241416093877637646302812620990706728180120644464815238661024505939282215669460634658348735371141915291619334371806380608161325006683860349676747534361268508674171154934005229066924229762321114844735963622749351502696392494236890102862589282604975849210891058972774305510869988512273612372317311104130084349237952901867933867620284792622964618915400413468187370053007034513728232535681654483018458586456151728541441746573777558965730780111944664257714843449187960495555588106689437515525196363630944735344253336384999821042197157780847705552123636922885979374762392097274154059550011185515306190343082210891924518987109291923204481355945094123020865819446840245739011291348453588794793639001176409120896166727270977336997088570231045235836052870422779470915757071237445805626006683544989547273961402967921953506709781682056157302187672484932125249652193654048878103493255022266967236753718174385685772083670832022771078075650289682940551117890169242285878023955521718488765972791056143141002048684624440258731032752501184528953536076335879245439410739124766830254315271708299635470032338639984014984323978427738481313857457907802488927331354609149968335743153136796684798224659154540514469068917394609378207524014059888549097119822612090282814725693497421205257567047751757196784032767660762284484169589858204500622838122693682253144277248575446183973538576887648836059231009024440447867561926927942514476248825337299303114902059811542095561249681651612562512344427346602499211159532130709961233100672849923401853350282823494220321490819274219178567665788949204052564112370599265454647483851862201433043886455522023593595663069863236651491350612076194073793162188844913662591255600673862766612529387518542666731756793196664595985541887434127666146054332213660383230086464208805662620737682582748055132882263303919335472770479822707870272834232097643591159430352177571211761068178374865837147580936464254317517380690062130334046681329146479524518690622699923918343983326658098826799989013534218021285052837378822328738394135099709928631788428867557820924706526297364502033097661186651230657355402745711812431008499676381854929841713183017397598976290446713164339208436378488057633381104071508248666051578857663341265752599613103419183464998836533320044162091055310167372103278382027872254902726526990627651975160113996895188998351602913338092304957982880732030160579941048414617258067462060230176281498388857598313024036525411272123285800294222888420362836198503139985355603361133431821656115933610200777962228994530974121116399447800993854302740021640796603524382866281710004518654626840695312671293534613500204073478956054472579339450246836865280418500997236602648224840048566564847087145199746962118341546051668207767844094073394686899997695585570287993421699798443797226561129047874643696945869663028381224325023683401315560348098552517985120024699946626628349349999691879161514948836038235586817399403394839670082092779565064312784709220549954547548820663796807147L,
657525552977763377843919690033542018241303217800521496812896272225640482026587238189346715640831599441259941117983692464241837607188480159807271480057230377309051760344376940291030984005170705602502311595388345573382769719725038995912702127851163590398637280053832025309204298792785432359305501227908026623957520057690257656353853821300933964640623662960939367606759536856134514787000734484187104859330738990231570685512833528059059535499097270951578341249250324168885474447706535625952543298359437104442480200333048928593733647165102083710814015878947983417107643190488273985757432000451041724251586878316809781618673965177796080271836248846931863100755738842279914948190915268673883031890114385469305470052767177030661400139583825683009031306443753457302910816263962965750211817775493782925763152817411175749231762285042046046496030321769048379852492134444147859955044633826192366247286821477203400668802208272710270307823219207159992806363238163986333509369537280979444634178959981791512939737019760777183757566300654940237550350238673227254913562742287777933623772585536266918910178640724047764775057738481999234994986903812703509741112554904882033273985000319527927480936606344474370408780573069661455241531896511845678572979833718892247162457835197121145293126364461377171585190197986114560146226491999617306713029810734409098973798917578677408550037229531338178531828390483744711303616077679408928290453270861097649493471813884985817155689890021370741582440571997053467434910591982167739384468743036411058205792378610544995580567595396524761924714949416760215638708476638756519333378135805990371448555675600840007702178022754185387752422579727477942684076547605535501134959598807911818496371188253789816855776982771027460772677697072813591622759080738333425982715434509659939188013996406987170949055540669583437851426009453978711564934732052003434937789763472364040132707988714689315462932450288002050638307868955925304754424810737599421120369787915429472287939639648649355113668050819418123725227415519951979248082903663159406627647118955685393618530011504941979647609252399347794028641924144941853682848518201026881474458006957612123750919099167416591958053161727508220883578084496852706227004656322459874363980310105046230811682182143519579670054685577663777610462312580344880140245602851961070602150546429080411529217812719969087223235433278730624640936654302748150765729030109734307461385422082886955968211561318813318541123405361123616706467637955190639918144751965516797356906242452240819759722279547003068885368411702204139568365226050249792732746097610805423939168590378536007469201150388339218964995552011561065689746239687730905354302705297700173115277418215677128484895585953110893075760457269886170803853382245001545736294010563890968911308207675958824416998523192052951203675895931536748724755279619037404353496866438890171371764697152595137919675437026903538609990840050246789705581240094728707419714179334104734987467194556754606326433819213764094789205739404767417647927808741660715827133001884546540985448176531237743729330967722918583941065072952307429567850838738798609337240820153388121164758493877456797770459786955761449069726604498863215628100514670074249914617981255199781165562540331241481060624790077586121544555260815874260578436735140432383155264453500162836853860835634418830618010576478470234773865368376911980113819550044496767550809513322066292533061290952196544705056085283708432215474564807540100192186610561841845894923765570554151356018716993266019565890930946332796322310822857343847694627117426408106115486002332599492037902796465197185393888274490287169609671351696997023268119548769434402846703874165182058485101605371433689967320930490384482226127612781544596264108886579283864178519025750852216128012578179489276047516455449339137497203722477852116978216439901077152585637006715396440004862945098957109077199064439477861270701888245170250515211896930134711053938954321559584775061711346431081794370428873476520413253560462170195556312672360546650429181513608146036947205553196428610900956405508400177968695141704438214863603635136038506289267168313982596809793578110926608559915920952500324673006316370966986782188196243406594596252479853665342266552149868811169030400594405311282007090432679102142360174240600336786962410228134687005892428561284748627180955852941639898085659188805049109789570299819178864230621404788827451495832478293145275386938129882060171844412051047141435119981799842210033758000422202914634355199600701263992430401170925476901891150773200261523211180698278759282224422201025546362959226866602842782877107969955649002031804747682044104296250225993979644426042575173625960739464582599549467986129675595166113202227321841202614504595504939634284038433480202335606007561110925568878703915066538258708079835974157277098910228159498383873755812323134440392557856578812240915143299663333571249240171847248433657767273809824525841858594417896974094125823060545963319405008774226130220353101109203687651431568957037292996320833651422907776980228506315269589401561688072315222785005148346704961831314737358612849627551203248222034676335070403929389194453032833217610981955309223235936947705535838817545296838951054548617144898414484870375794313035741650231422774820161347623724394963222541319643209727922437130738732070809681817760300597485610221857766031107572465428121595578308140994863707386709610954567155515772949447688280033311004321557034214360933204910245752511601709896638160620910113365591103174320289566474278026763949691023807891197747761706918330629545446499280100934759775021324552534560667866661280426827174011776698707936004457963931807893244382458817145911892045454256065564947653398097787957395322392445094319805275360638691996784953580285769335092028658024150128384038562846192533999868302085881513779564896670570566100922658980178320247459369207273971318422426329106038845851104942251329332774488367961162289113480784705167057006517521350811119936598829230471818549407166914735737631277573505714271616678537559220043972956219277122688563186128906532009209639178269248276215243931553233162826957376433502429424281064512529272004377881518361979783245618040844928050152546240775309439635740975599897073208243981409891133005611318321856323167846050767266705422889202014898536488716825391408033852144794839379831289546572106034621585050362647922875869979115781311745944910721483683921500074054886709274842874097289998573673931951776879507361947988L,
1046044379524282948169150452505215347309780990788620842708045476449129114372324931065895990478474051442418365073096350162183762000383244146246550625490754160474256327156410565355764989578455011285957882461237094560787979876390624329208694219151650315580129489634632059732708192467958887935145138903920739834856124468810890177952937513422925896288056708075538502039004636684330734145252928760811919371867441737154557027032711332982138637142602505401109147206061258258103648129953915454275188959336229068027199870329086152141126120807512468247023922173163908899388774615664886606389020620017822435094493708376678488869314441176126679111875033682383346496146153012555960571872654547492982404659001013905814031135493505017724889803281741829540415690301790701029368237467486582910299167812982093216534088224043809959944421590612658833862823481607392780650780269576860867216224391887560045842998055839073443581669424705570424506694040438745144258814401021016055911675221634667396748955685601930618622485862763545433767828318348619742497189765927080563157987437701169502377920323655977653816422374363129860094329187121874585778277230183638218855382294705481409457705978487177553615352162531193274660476121708634421529759040251202642428733100683958471414457970128647736760417651384184565881123733392744864844810776361195484988872900429656065659432869151977466367150793407234399609463469352578360565410602838059715562032249185901321088570404219459536831407304896653265634782582170851359740118854943526324232912627007074210115994278496147113747390795800500656346323181158236269727936161130268010288230730931031872181473533263443874875565979490612112690384077703319117504514788106007753465636848354556421167175336927343013143740969018745076053397332035415332145275161175226216401909599935555082525671533369339683143640710461339227693543421468849873077750314744125686766831718014243031389399490025627886095240129362821025337069395459764593095596955185105538630385433854237816881758543183748651931633505687547511890312161799818549804666324775719572612647459039081626103080121263223365122585422055276512122584979096838180683556731251747430996672472867640968576264424684577620854981337851526517384828775306426441616490813453722904039296376560714141421562803861230065246276972382380455227754857651042481477001923031403455562634643832366118536641386068984120750234107245733204489892305022517497872202525644143824434780801454988489623391956993533098477993948569482681670945545011452784797699307946164881533249186421024526122904916831632434428806417187629096161521403520488281968085798405179017802570851395360266949357824330755930871279871363112152113735502486310153534134709797816465733160994732120098080517993666693808983805060689723985818621212477349186587787240776353330960809378889630462581452959706352692273301802754689387176591774498658351270453427321933351993961060402661929064737444688626288081791049299956508121000321462513549662498536793273824929854935927072825785709106066199205797319826145068401615576506509978012833978527133465591517949219714624586209938387778314182020614346108196628579781193282048391304933897262213113946313739111455331253886629569240459817196488636186382582894569147752401419440838331381406656301025420103888368142065106969692739425114264625665912745955677925146548515002804968978374278352104445727266117584237001721947029064224255595505426774324155680592221008137816680129331752153119454659652316873651771590031887485067216721336607771612779659178309671717726520043770044284175599737823640209915040840984324589152258037150863181772093582603230961770899656602024174086753386303080446657404053959978666953317667196966989582906764294702213865419269776395315597027146227633375388153722707367456109367378133776583079570963715833806130998381885424190649441687609129200110836090027038222703452898382375610995327733366277908794300091870925775665977316812742335477857083159344789781872260885817132715051000939689819995636008034759110282541483658614345666347236563662924875917861176519110111812253519646277527544950019858531181881082668186952608852133322751166667927442731603900752787745433953736019674386061875468631366275489988716752884399288530140433362409020254669092839022826692262135938787298317490661313315415455536241439883464806807211977995971512936297862264174475071132496215355740308399887086876578289236505894878577636170637171595432982370303480003172097555880818430648902951143890760099205714387374915875908470662033568595315476982147849394788577162309663514846394560143675693234511718108964752335019526924051916962824971970019430951120570459092494678479394852564783344566883688552009787275208714132102968680420641272595568595944103622333410866306231805566248994287720365136239412278562454773288599998840042208453113124622282846181785685137952942957401032349402549469520901266322223744081205418382620457812252945128882074250736491214939792263317709705061884057582212645717400524343284249491279267937419623161083001162721272534825516644773863408996897119679863663665496512578839956096176763683925554770802293974016715418332998201553053093586281668640279057565748629776900144299120657690751362579180584908231938186828439228809600484550940443859560458664195019828152384985330247460796047850545967630099889532416464526305725207077791184825775933274229186640618826539104577752689567553496691575174728868135966645477846270505590521000500073059164028472126176686442835823866087102611937982383234561609925836653704753395752447962411842850122440592788530637882571851685129563415051651967287973886659993140229762612673026210335492199998354963891873070442580989870060207978882991507347550828611169189818996663462083288797845935104685716661278228373000096562232521449797988187489268683375330436054210851565428166200038852489741377355794725992271936178091462517587627820451428590153151281141434064734557239727841176398224139016854635224944190060968927856786929537873481114752841847954566329759207746876921533522228676925319120577687814473103765165442046244352600751558036769480298762300674812777214912353007116394570267096847665868624051776220634685097719139924823198546718096818284752653511550457103508166445527496457778168790684190002648584938010738975118156562958863426107032048167036487454465816220162378243494520557754586971896522636465341332207577827063072384864951172640556065887747875932740860627075721759662096779905361789845635392176002044762425246555203487443747935483106043565113491967795803619383622825856183L,
1663939081783374869021139998197414054137709348084913166433320856039332648100759281014527293147757144555865555679218732097786298074590021749933798930388030026111589762527847691172937622286972631780394466348380903264764354409184722948439647101918191329603168373007088371104508996723089208914818882818840360921328832818826266258219055173499909827869489698019463672544549896652492694910635204602699723104624078636691085489882421439937666945099494515571864243556047599044088728419042975246734053005677749636591883746452174933940128449757551659817045473436171382129090082465884939132285309361589912716555335953343502875403947278753878843512588993833203831101065202118988597409117250344834878554219133308799539162893734439959921986782771064667550963477286896854523058257842051569707361840665862002332239325923630398740791591736985389879798703589265402405319183988071685333800145771810147694320539383917688836907825046206638520178477957809498622423058652743635127163666833180567660168517297849450504408427393327716704584651129162069535083112757088500417441030524902197219392689298421577036745977694753523872307179557692788446526056425713363001280618420452591231735815603260068690134371485424619935694545685557310021377852068681144701481247941356866878109358836601268707663985743637539693413172375508879305971033825113754492641190036856255341695583030746321562063398123786579650656427668847929853933432316095471967891205536406605770139791481870676424498849667918823956185030057778033228834458310907645952459160866414414576714468077724012265436763249293522159025387510435852776118690677514063684566563546320317726174698559635513273819933834739470081239037077439933866229886531957958090665093537875634945931444809221232671505715675018809798040948470527644922478750190445832168957361970094603911026924808971437242676076670523898781147613048074985624005518738784166234415723897144147769736883726759959036397689445814901088105927705211017411436143261650611821540875405932158756166781057956443487949354373705621152633840907702089588919075306340655846715832841433102027481017102813111609338090193005908869546072777097984517655271464724657752335256507995578920841980312169692599538489674058801565097016750019409417356435568188526050423608075961757075507400926308953705967359130652190893464442848010089967369910897147559568214289991134538042198203487948053329294277201602508277024337515802441758216371080090381605439371189398347601307457561913572601094016459047361631376694894293296510889263475588380540824930773112451046077808565436610428148050144159616001675355296197018425046392021134862977196296100239719370714912403161768994423731067955707324460910769193659822601082638114953727364947112232623343068997348237162333388663709797972699054132738996490112381705037207231137463000102093498997376863958400347084403491017994047356384894311555508606929731751510821260050797304223118466969814306350723530038292894859172424439479780195680071129939673597226570104014663469649028584658652240898056185215447957827374574136385520830964342483758602017874323254601672547438942201224445396599011590439036910145127524038633909112511002259714158246148242676820480831447206893936344076511546200045000451407168203348684030828455364538489200338646877503570124012585117024378881040790568438098084943957772821433722561070163354983121973518286297570222659966021746643056305109315115257181255055140092466350028334262657161597777103823218665100763604121785783432662340118456278654573025675174081612280359013134474574753061670283238961724784156207514761096859727307138580905378778172187974801525730496132575300373981651529534314860015873076367710872907466395372812080991319106335199147370924474931973321878039259759799402512944760657621362721743753693682980786752737494864038487633498274746954140046691936016130661632692009605712777804668907399075781423341515013703869921595135519463282176584735792136256208210573624235502335398188517303617789908306198055976900875314065249027716564616243932814521760886051235593599802427592523832239653696357125943369993797690010127487827766251077253337132689055013200694604597934888126242525821624952610939531141679706386680429009567430114514362655838633568420861801894102054612238561804059666171717932006051498516277169169295994511285140670224870844315575862260054942174518237171192455987541456812733305237956347264544846248544644687058412228111161436563282545118405166403852266622402598805525028812207500270839317958436206005892698269277281272091099510331762454152249249140225426066330088328972766905971098355089342548089043749672579132142409754998678224719585978323241275138595640173309966545164541041294087272650513398731348528331023546551212862436562805721466400358191661001059176332919890819192363087300250376140616019352108718467593669353396359110126030069853455138511466669897700132473441718239762616008597170674587368617720688960296465869304020606431810359879446849010304716979483426088819968739932012445467766026519062130053978949409468737637562837106651993037047546822848719599318546587711741813110822040812078769546870829600622311894311553743976490051784846995552459067452027597686429925454233679405631584584381787213500993449711110108671705324610611458657174362855368539512965536874582400403968340028231949535250185254717693276897923284718258642855460361095696389422626451130800420973387145194566345753040780696331736254345566662973146853296871697400731860258636664146505078183007862362289227526620023653686066614252481336170588405881762218405837665099228569291463305246300899016306369619307536052080342659293207413272414258106695145944868648553624661245124301687195740952034048789076216861535223681364092133561978681922015010305794134376826266101056935661606263401567337797908665224037562777995448319893489132956617085552185302918006435232258034614490582617778306618820104087138478321098159324797319709079968961150638715240637229955904054505174911645763976093932903226805984017104900567774847154938865327700803406457945183524145323233267482257785872241855459085738492281054390551311036454863539704831182104624091851684346447071118355238168663695539592835934545893877814004057748319395071105686626818187036754572767072037395894633835465927188386258454436076417795156015299092551055617121136226188025387672122550116869177791182824238813920959314966282655667363329345621858760060918994160657131244841013247653986393595870899783810446534254125189937300374948297489156090411842394041584813571274526154559001600339228038177338L,
2646516448646583771773874087700422490020260278231257295191182236343024815464485965951723890134043441115633962442108861506955764640462854834821373348138322028007708854530365800560508131813424556610394882850069664038605843008529743056511938699433417716525801543070404353566781017100352932857189178693948328572111549795551153647247459856007301288621713348834066028655405641579062227001183237359916816608606103375312020884133693572368937182417544705470003571308363912734799828583150486077154225339568521728170732952471275046663236128227723519261357668955110774172988338610160407420293849077346753712282796289660260383947410875598999710590422152609952811518280133848417144449217673907221344380017238950056816806378030829750550146278964205976780527650448223324110871807836908361613433669503304062450772912345227377802665328574694472055278627046620054924789145910893398555322512485204881118318265026106044669260865914302239222576059088644546864133399951843371811006280702716061786422073143361988962500053503948227051084595203328856335685445167196265018413127149091676357519417407629497385699234885340180967793631456787418220680674830651610160473126564698804871942494162042437265562395994081598381645424593115308960800843488704355361420596858605220979083734372936572044219666023271826397280471764337721541849816934448930399727381776889366813483469575489338799585933434450123117769956244141334305312474139208378453802157610552735185999138512188329581030497383112639682665107520345751095283409936240336853756698910934301019348569284672444760072349024204299066910036783442533866870042586162527005343096186528505153141333814257879830128505426188605676432686873128527833068369102061105945582324263163530277254528293322730244081137135948765898884597829634722870614406205762870570853568521798810973351262808248059049588569379818856530140697659700817454734341166340651618828799928514769834174383707892446844984324237015211161432282769820254072561625926736005236805431504108793953030000481428833332240187394367992814170214849506111252092042496602696767557266549621474830930481413607901195949916907927298443820386756582870856939763461153906595888814463732634860506788590624739008198787354582764767678725714353519389091960830673347370161760263850046222596062501329155315628175383435244131342953820609968506428306589595559207314230333455926423240026088567283270979557203045770099152704953917861492710444139926516156618957320878717022444362622075263420334474090555209820681997084689191927851766523547088001872210704527431331628164533873615841583555468842938741274963619688081984431966085578793913774917905824242701527214365808879078830585895330165539324355643452294738172629232898613583380765507398214623907378632863186611578313800116530901909966898622387825697277038389572116514143676238595236073653356426541504287079740140399990386807524802368507416484573950597606357004881487131262322710988129368330647744797944449102098158949608603273772649278938697029497951513893629701532703248184865397776176887528925652638257750425463515277065262687541352092800615563427662054061136562639638402304555108091076912886390883020665016551007807985352834448436333305854974713488468133711664310699555377332134665939123057107180713501068605572647195630335412086890934684746543593981457020745651882109135325481151242935304579202880204573130009520192043245803960794121203498766243543026034707036115124823333319985694562499317984305128945818497083868455994237425662501083181395444741516746370533158188846009598893949581448469545742025776345508085022509540657381815580846534056095782014246179250072584900705652996192797395602047891566586608730941389912154585530272026329271949763603909676584890118808202714794392663597674672318121876379571432160898534763399173589438649922823813417659036275634415589930490642901791388135237248854957754632150708763973051577179430224885824646865601244714353700108016185837040362620753045241695563760181657398650531671485148896953510381554552210430719968033217221298508839741940106321626804531666091176659560412784761936992971983906249731762933163458136209405280503889567413780093445832553155875896798528927353395805219322248096188141253521649767420280106987088179001772857246516536165956889648679087752445080355668375280679101089326025496015293980437032811343464438495671579405376663510203682402637459191116186113551826230271557296571529645944435748896036853709545732959578028336844791353261047410034554614859727734525274792184757661428904855664602797850479927864743718476595224961477402459222716117127777943851452586525103583480599632868601660039252843487655512237938840930176293160767363947801898197484433983804590575769919498212510817331695718142504294534632807611325268346095323813774964217648126980647376531400401062333393661331464412761786468980617517210274053534482448902112491968352505500501032648006118216978589333187869803669584001609492808976775925715993859996634760565618383529847046155999750114978480161092090601282192351644947445006442044183804177837394900501579172616262908981433813682340172296199948285772831056187115814715445316790736405301154909953150896863401745384941486658436980755614213307668753426803337520715402951168463427998317687658818422208368162173811149583034521205054113477349674956137793221120248929725056339309913509003075231457651536996587022900621496498567298838538145591067202781400998745283029144044234290165698269466431436519240534653056179530809619285596099803242880253553557495277352477570688213760250575722632449752131685030796664373445459942289438507962036444704679225627670138598544949230517744780482546401920042962239013163075545940888418760044942431240538573189494664600356960534791974241203888182129937786323184313364265100161455808255385267036579619391414670865667092845738839431003811633667166914459075057912219083585599814995751067850062683809233673101542655979572501325349283460826968682371899762182450760454161616565146871587482432844641276165789522025669224757948971764450788271435472530309512215858183619395968206978487477539662509204882857307137378010705442004505762070889250210686379183066498934534194395548453345982871024744968341606904736127212121902016132770075883337040904242872504687082018392148337958609124422200842136161736046482299988906981272161590134677072114238826673458914125550415100241516095232351643189542218222653766381212433636220363027637305084582741677195547204456306637320965427336278578826165292952651751485359922186749310928944346131030410179615934637623019076L,
4208832692096030744078634322495206724174883759217705895488310210751563239693207789175414420239592864513294507391543713024981552486093562454005990216192692961096622803536123585480985707100847960367021422436787472619787576864967544713873956516889204162564745214797975575806560607188896897191919036999337900416421137403974203240314973066238169044865145965444782746808496890046022050247786248987324235780943016661958150105711317015964207356416698290170410109992946752783884249181590364243744861010098916762770291812940877696242521174823619602269881455825495321405520324055800748477054800756595390766652556280611122111895432021858947954380152754765531614917357972318552369973911199061323410903707022640811303620283112547349103398639505027004181286083488083284599361259007807724815867286410297913501217721843186635022862778422165841915027902385668430163193018352634650599696588601577986185211291165002299632649204796552141637381622561790753491005122190842260814035520666201157255770055172781264801538222508882990421126224120228337843060805101790818485382873346453283024208710456355168137766040986549762445174782384313189034935189873200935092219502946800695996285382621577960161979747429899379756366280600817743130632790067416545571774707787490626278953489272183940564489999489454523508470910645082019122730483635202908783122805269469335501787443845497412781857734838876331225689817854868769751820284579347564103341286256390784888036949179641106069359130966964121882700607056757282204123361181757712313648079229445261655463290786606067001978769518700789340056702513718540389547241284149345013068970352984030421619494090292712142266035281945882629854209890962155968117911991650948287319587645559865140534220550970448052776010599375267458833940347844927934292651015073715356195874952551698334296861495593362321591437866267665347083950655560104998220787622512145042651208975224631795856679973027064939163035065671245703903003976245250161902851729657579357983786273697565933149765722371098579846243033471473389366194901803225247438492072293494497392238257435152970180399179267129148863675193575811571284898669485588188280159190360303964400677190973396758551857454517368811364567249631676434770808242913877208426416454195450348969772396068446027791675702969054520446711744272061041597038229423905161438754910590611212417170170138821878296237274445329455910570375500956018299457049472729710640176869519478018913819298252275159897171372811596299842593871074708769588892779201752557732438765370764129356451758955064948479386230987798030182490410994138086147339262623227227133359090789956638443963984038543725130884826623962462746915543744542306364630743778566226626336334537937459421959600045969639023353151139344606122343230520096573043148777605156975960716503166457077089413165199796841679683203323341836950691904184472530263408933089175900847185596610929984054166955315945644269011208738237005962247924210193799129190455862254736266994181398292170261279666148554651873168322415578856503435926804659871849305165686321096812860716379874985591929181172906808493313650100223860673922432338028081650048914682772218945646339863623772376949764857941942926490223957369688603488945889639268236098850032569399331050820548201816130969491515333428972102859193469818224444531580748300542365897729741317639616815723349149725331630986709687741435471299480459473582940181749682958744317355157662698276593175240073085311103301733322017922686969965184491921758565825832593161023625445684189867045251435956668967043825003574523957622027739831748391990344563480218686197811433554449363549593790499256190998262756555910888689346401928059634422619886456831313001682778162960349633309231898516384044700784170489512471106713972208693966346803175064629519617652893094649623591572183907276485333030246441396245153713949134744073282941430233365308821200555022924811793101865838082150348618029470616911028622961977928574931007831197698754575634274131439647719990796504935477823969992083697820607621164418650350989918452135215895669131346871271376227162515751891480751571817606507098041555882008217549667013413375931711830176803208677866643190008633191100598982100255036456456352187516667047437486263983657351113174845577808535618794890793930963138667851856544952664343013008175510712643232463964845391447301203868247908876017987938925723367865757320635954743660368566550899174479559743841524859682075237698477903026837593852613674444683356914520316992287002548551409505183168918908581568775221559794382737469837833149952430051181518066615742610271398444202782353509139708065938903696174817839626103719961571468676044932187365346023196064952919809608410747251713368375135519964210418897856885396135716868424602249679672268202086780714950475140996191316776670620268866634257849223732107449926000978915801726363685079002562622422186366302457896951706197731343755237657668598337561328676776781620831980579470773462069787039458095571321197529263489708194298297463902251249168780253414161099502287990722206587856082829485167324776158773706852311411982869862410035005728534159933138029315466938221608132443520019985097911861618471269348054870722365763268494711402867211840667856532138210200006076333672852484692497191910440194047060477400955829031228943963160980407568391898146973165224351684045193010678258692878696258165334862675190790400681640949593273886293604822993590547208897225405415683795773474308738450758931678175341016121168833316413177550922766756473484831200171217268719218145227279335881257423202612185359426413205337872281485336449148032716340039924883026842755668995482046112770742057899215406755178173377731516345687689209635316341209951889532496156769251797462520864293666133342970082511907424305395996919696767388898061370117200457284511472761496924376759109563484583590253721411506468928405165536721856026381208403070256514472110704243305506440805890176538045703016568538787587629884556894119811190321424932681290763004229911342545351019640562388133831852218783273308790569340688467800952159095903009228779967158256576271616228539496430298627324193599583132452181402191914754438951018721214958047018030133095103947549082018919909620282580808164485514347110171721716370987946083823148174990610758621310839992113921157603057206688049362576339224997496123527457227046643497906107809540480927150847698529906072915451438262855178860622608007642860404565755635077966918754862174947751526743326760458700661166274767310516284963185478900446286939983263710802724L,
6692658148610137421601967499883515019783832322743574548240688062525790415309638379943468563455863133181383242351753935690561225865696447285762114734645479178613626811434260569505395162339949357341031164316217825441287997030766568933076475262318835649198578918464813253932707328123620783003208276958373763377747522579592151879463405230123534992073349271359175439792589425003557185267989840547771684404185912840300964033666685040494476365098464708486181365083270551787815808790422827732540945378937065166702739330707116457301595588797721098181932904164344406205180846930364909253575930874207148444563918114106816425398115249962049259787166534248512235736519606061716567853379883216864569479209945262878043781331673518447074284570670869517008160641762722140580933449844946065821056131577388325291659171014125159556743400170678610131470421495115668936775860104332998355059478319398794502625582441519249742765460419981024662997917614073537708811865916084014697105341992791152984181761179214023456294045288738164131725628787012120863037233490493565394326285769266524563025546444766006948547006572297612381292704384809216889411010717019717981191957225449429511998036861579453954962108504820140333343297283860605298683892603353097461786069875280252561451654910571943769628205016796098257549531874217908634907207043955206754181478340248436369823865734901571402269769104886977493819106804418115939139995001324765979366615499009571838237662260470549533793997055903308609508761763403439572435736637391251467316079275101374192174654121012086438386294602249550387765107224811525196319942284518349873541168866780777837944203045996682521132320126034480179266102214000857591740517681370682729330455226493610174220595073843318617123345021848569301081900138356280853404438925056454792093655370877398270780418853127071525007073570935873817085394744977508003511541448604282649496762510491040538761222840384236826598552386010651457922306822208936933044028685785183949343788387431034384474720356402007785117275934183822959377446703438632680691215164766124997269542876272426617440534874734137609842036230206759435682814724014021997284798306095929493510655631614847801849811938267828542566605583243224846625998637898934352076101512466444108218864485204709770457106494835679025981405936314606201998818997391822006617225906792144647493693443249576671496947783764893812928723549471865952075573918890279925067347390477445280625630136320053620780344634573992645739695492345887676223093841413066443746679608575091619745953945292782494505418907973172131177566772454965052596637897396115046126361394242565763518770898605471173762636830115149077823110468668016443572717689675639869730379990183329772399769186743261289402441720681022109968582027242291971794206922949066864176108247893405908546403388719145170349522613768539739042202867708907527553286544576402488970402048974466664778825683082699219364276107175403267878154769942702756444994892286604242354411087546656344018592321711399492946887075692148942280575131282852696032408825999028040497436774227027447294225225998597927197234463057984332935747403505679455832624017041790461189684897749529016994022503093914414830242732211279751633992367132849950811391131041691398476494105264518372654012643493519969726496116369326241502034868722450676681714951319002526741565525750971678997962606996962269363826857857296973021297080380928095657327355745859737978815978831117446821777405371565408393107318391049887266266890183562169801025385963007568651815330814961227951796219104565793977389999629241217990249515574512423252248799434816991301244337740682560101313579030626211173895599772162878205831185555740232341753526473194541871749921393118935654525717978266619107001245092164863615517457007651438133786330577239842993528251707437921246662481055555328817210385880326189300694753388629655964817896257376831298904647698440814904247821751888287761740512997043693473514986918288715481728908446255042941698618090089936106258201861287683785140077070271768331181851468183778574618544250374510390667540555944060906225859037366732477171348591437898298661119261599641545391568071768471535872594709142233337345677396779528533189423033644309717342096968069982965847855267019784750304497929305131501287729345560164115436262997280465597025367984311924475924036081097236548977121173285500797736039373847524430850080375155161856443675575716973769221782372302783053363835672009834629705356158947863019810620469289773205735145450371453443884888853922509471885786516244080656333927932787613884035912084200030402109535508628155507794711294101456132804315896485739137069628021633093608532796431752206247507969361155458437481977330803215508967371590680555613709284521092612247039793265555860488073588600428903704829972725680768715309802417747083178646389280772231716429376990705072642222216862415251320983133327306888758018013477021428213625855123812876847793790074955407753411220443162451055926913436240745087657476907466888323420058030151150306499600387104398039898397129657108812165836169581504827440777406505219382419256476941789771015996461308370111345347785374372019651440239927827969015287149117900912008922337172725674532517516821405939198386139555823354535206636152467668870360798987541338503178293443079925944928961218602722807031528657981109472418088175127612357686104683671958591786878209305889104294905886426432787253635758413182405693050178335748841314465614393507502002339355515673675971099075336145491347346567045738732215359550004659580830383233146518690130195521842909156097719668033460781719208687213068365339879839897970989717649006949485384575347778904218716598918701315087450362262125932323994056000807651974911507826311573022300066750308895418545601752684428641980285245926412734137031937219479623432913321144035893479620543185619163511490975147398636475076752541652056949779589026286415667197026769029362770064326711992763691057168386628873058437309083003373844530083540968156433079745771881748825703585548603607214373945845512504062712912360600702766085918818121317926123933520010293764235956719616148329209648106145741524894364629706573221233533741466004622812682512772158559341916663085499941926300301599406812918336035801316024332433156881031798868647960508352915555198758962225906889211339521828185495955960690545196902155933512242202012751633586586287864549019722872191163791237753456902619185316776140877998686087302619806458764312733136696708180238408041024537591831071462097799983097317320079152078364895L,
10641076478066772435876337594081887377668258806274859323745771134703252760679058388170287715150173003222306945396697928378968618932130303171382811102895016781956858104126402586608769869770346450712276934869045254553563933974542430746412448376801299678055979200993162427559034851279428624874050512506604758793632137205969070247193762550553373856416405619483605738067918467838976843926430984012912497157847126167951316565307287789509282247995030368074596951144905946889800773893042142672511846193435728560332142975978694987772103669994374537967494060754458539074953735072587186755509720780011886397048419141514306817361073394809278070715165433520967126037527145491990112015664422833482941711047310009623849230894234744869831732700979024227232128241736735512961324790362846769695994019599648108090947953030805249898800392412224341762787728176796939136064933570946477259817892304117826943197966043861715111271593711767634829682869081851180508278847910400058809204189791476803988503086102564483420167225757042242491000976966164207782389350927089938649649413506684766865196817086522889333961029361356591867598120619904311084935471668122775329513342572775168473268597430582206114653940721690881394579451313066620567247016821922136693295286620353334670383791842020640790699125332978935461790184739375596254249685511904481118935308652581981341110299486375293569183674643863309315665365566674397882222540156801932301385375566952201392025256690454539646864804452796658399278751206039851851551638945471144311542596054213653589360417490367045708310032694650458619827634374342408162545252082623454689704502043144249225306879902895529252029512106915875963397770953598183110088573454543248720014118155402964615702611056712345397614897804120145944911609088662664692421834422058778411471488685709867835693791384599964198943496730326749363712904912895359454956022670201837728652133988339754437178006620451867395069235463010984001650090348472539410010917721901708075903581113375418110683548428912258687336806343934757715248630332450880800841857180733738677350143686930492448187832438757200466343799029703553426297517635301997845999964707137310084465951658178312543865042966943917960312767258328349019410394633103671728892687042013103819742801969743633836538114606603624656812870941855314240170088699014067168107314823513209523473332571353156154498455626004843314992966079608305816225615485968198956904809573249576404988308581644432711505114817116888416791350759876655127430927564092995260155914217750077791211175615332334563007933204096913732169169317756219045897993202521535127136574237161302043552183444779305206402897807327544611340139557570101803459392189706025555448256927354337636427551052020268662171452696443065663411656298788197991006557176422848535246513893093004519170704210120220575864071080511207070970565289881277042790818714714359411784004080244310063351650064573633238393080776211918913233258289275420780555898559274523336453085184754089707998847011369630924535671280580008065159910006649158961817566121510934066146587160387594087040835481405659411519710665697938710640996309006500989426808535834529706390652437184814997634568571502504473497393080209911671455488258532810976144189571483853289680909612575193640934065425883235967546175629753078447088810034829210903405445423026969990221338523113336439681249983789182931559421074060854565718938630640508542296945696438671343900765268183109482941310795801198399969125354399739066392239048633827646142614792930716981522921349604579885121501493266999204716350275514717970599462057852625414097101635072498042793144135310172969473600081138808460668289926430362413821125129145353386098341037527110130899860702071268015989746762734712888407112106566980334033177386381155101636622926952619964998194782410805538464750538361113877209244322702566778066586186278940683231088416916453498195403974908076770012726189241401583724335317378030898739954574598263489511363636975061336954449329537196178478315026690435887739713917885807996442291968235965106256075126417068756119515583357977561101973739622503504748832714938385850155323715110797037818983297696904379511397151716230296696486045456386754109841015747406157347216111931748978635111343834534279978078502388281400798391238507500850015293538191831136155149383479103601888536294731354636463427351157543037707868468592460836052672836369443949588689782567443926283853223750813766298610903125154245915389495980622330639755320991903759270703486697329340539393364786222219391819872189602154947201172165742068947743973855282587106808768641459982138367333411094656700867462690214051701817251888016588812418154137310103766082246461922581527492472880447063596630946318895277901700076770411133499640793618555368523436814606844153996956837369235506632984215379014742503164046318143514924089909373905941350110966875301595637195322759507216661662789266167675332342412572566911310455282100662247907979967945783353220331185197656719125563462503329894745774318329103103974810956640540760366923252621165043325206130060587950758866118628500827885838654912213764344249545019901625015680081152058446785605992544723527883067479934829466057255454316056328414779913966351200085135482066015223014907046908451470767887348369736848759490882195508792501153463964676470258705243927663861673359200772156297461404015271928679765611870396335647256043632614751400613895316796029832439017369652411068152144966604511986396273708725090738039224621642269304228192136892341907272966978543229704135822969705098956499054048754418899594283614373031033841885604475315702565445519339022060318488586282050628630653999436381968340494479347205152356634572016340615276133924652098844921575805818949229105640931378781221410676241742671182983629174150993385692066907696241163541094376378223461638563695069834539245063432864818967067509681244975714697135483651307097247460016699660870354687239235502473324154770919991493960685350568354404129322095398049125981448113700514849195601767320710531670078630131833503098838237287342928248107808194229176674915181255815834773028130963463281471867620282957312733777002401051106549247262927453508586298683506014135415274636942225318418200794753569146702731006160272011001435377387369449583850087617745458623632532773812403332081992807115404298975395679958426962290441462914265920826253227918686971687120505792949445950627837476976636816880085318501656157067363894439581443233584266241594949806049912345085985359550006750526800560831284172874312142429677592L,
16916965147894731119884288396179412510546729355017261014949998359053303528823776453246973270943269117427979032016629968748798563998356557980091261335290634874912746096787642274635428295081257209996540035781326146975030902538298139717767349030834958820046913753153542926464382205922770777296503125935754784228325196477087678100292020270187927363676321623908936408692416294687679601655502385225631314559994020016736843250253326300065524944647607210003243358330681035709693944263690598509179111253930390797497171281088298877039113490347028714363438994378208834908849602697410326918267528347713721864550400182444644841045636761128397034844055496851349582970249034032152136887714862341927674214054168460155041638821981052751355492127206417533364083986025137978872057979444043775364406925212061431034770649688941329504085749570990236152857745254629375007737962017903375006682066325079291586637560512282960273370510390136591052437567320360834275972499285491688334146303293605341782915103391187537170228535079052682712913753457509727844856479761318843936655108711833688653361184078905606295304388302328439299793557131001639681744271096444855499961278767010750899884486322171392317491579281705611653181274322212966382200183929226765752756482361664329369435357796053689526010155297719958613622161958385088390303038718942022116204727695414657446511635588377056528013074809412358786200551584594385097510844522724741416190309646617017186038268845781003649982393329665559242835935206424232401587339339315179824183138854175864330618724453899695682128271124499654961929761262896437833298036025932689325780394627188126213505071674782109836836183471154936546432795115557186304470833933155807772344327021990615337366678126887492508964041395530015003857371402013491657900611365953377989793862200891638078231113275883400866892069473263003139829409106509257921753862421918180240706906751772151827859117171741766321466249047157722764677484026127334889210990970511455241808208958336912620123812997716500296137803967201399624875234876451223629788808455567062175643152803389475076285959948278274499014055926790699779025071173611678529512836697550395203806144272232470542719903605700617684085360721629379301813517229917657826977846207576672670925742783646024369459576543096809767615624434712887665837793820857793346729028795268237769908106838141623681259937523147307462251331359335672171681303436736496867141375233988062447084651760321641087348479151629959134462350600672511664111299360191383602787890037556576686726866512584776016520731280622270238570242384022376602808393777700124946207334017710163337563884530832738922997532038135049704524562461017944256463124852192379367345887852212722465050441527381029679420786631048398711890920919353780192783840783068099442718763643309979509358720233278035790658806456356671269185874423781477670190620066832796460298480175924319327597361936942493407110191386320577430839786258854585011193052818714136238467867093686047733383919595453024647472828311889787997685912357067918239614945733479378684375248124154130666165055237764736072004385329459478643884840326632785317708192025356499480333436525255569957494746795328901772396584852558244393214453015439623849173336294045819052878963468846560651696306195181626597543856968958014993926807075851524654813001534381198140227778886854792326853778217682992102624350238283333271160675651911652664076056044451568349856422844805810560624526860941651082222307110062883509365108844184753018026470712086165497956368983922664641527542999449589721636548932035046515609565623727798946657322414794956008325043158871820806469176246819394653931381410075471547682340110118498134412113272834165611245860353656398692351123399043244706627388286962476047576714029757664287611467697876404344659809736336936574091658555452738596714628652725377308845638868265455644666323813130227013653191544155588664348042129151493719885145367907920963194341310670443108013953452006851989799833592035237031043260797280401155110665538120848572315387690716284382160988396304697622542150614545332403172792905084321508785993982237823883156231721144104433827734969409102156508542149810051593361876334421168016100976453858476635925982838762177971514119542533927684809094909951401864981838682429712794514698899543177729357932763844207870125297142924121971978623249993523128690409221211055393955409546830407699515785191258974690465074629229994853753188295414322038441111297558965648616986506918574892190535233070561312370679374490355536901881905381405271236504467773083151764267604748216320245215653907450582411989736989001790293871915637734923475867115645028598230881840184891547709785722443703718994364236678453225476889758387291987746377872603735452109593210717375850080457078030034089132372834094440482771589723483502057158607540668041636581412109205957359360992074446068268412805539166044450844026101671228249053071336901876556493213944328788611328948258901439487806232518054439886367243604811574069581477959804863667537544463262445873648588338498601894809945906557994785096036759885717108944654522199990802673818454049978813630922481626538525458450265969922633736021213953803474179766250611553713958821957594257961287378275301124990785891180741484138963592297273372156230932026602632177779575316472479541801784530794227144545336011681592415951860080971944416009294117518556617073413116442806902561118809942533341726974379637526799044611712668609295596593759417301054746357756623763108918317702220672299628364746143325302716170062033020990273831677039143358600936431199809686938628188626197534490702543359304651283268339903232563139389644858644693711014257853471195476298830502074543688333391127741248757651768757904176774371357318235334590036834840168196139858241266571807302074413127985387298104403999226289101507705975326404502965540287881985090472644793926057330029828034106296657732180824707645858837964459335744616161723760806513172499409560822969837637118057211008942063205928965532003758105612405121676421981864409330425729762646240535219169054774710119272301733324660828379639867194059525096442031444282295521583157959679109677950370872517516882352569526202795743520022484476815979042607445720275627680874141201228911507890581328759779541817057266418046051756346375862839357304288418924223642492270426090831552126662829647949452187734279986595124226742419012188882230313632468429680991011050705468360050969772589858322390160155508758223385121767715144073653395442101730671849528172361549371193991634826L,
26891147745803881424960398384300669132453059339154523186306672176477265275164414568628152555805844756827698860180511916907747180104052972548647219536393015332695801576553998766116170453092798589590323058877423542844350642045945478341848339477833267559292923760830704977566864818159955123045694426492524157169420472388145119346709330236720041678014901215761127252929332566680819429265183363958354998037520434379314465413293835255563078156718369627048135294201049217188605884634779833210671818022841570900877513293632239169901754748997400031208510046033066408036295153107219568858051831922243099741499554965000612254609314030228793521291714922446793519911660569085502437905664400105616242755362659843808465738429685150311146320366166102212829356958940443750307435490242135237784161596973761198395775585293299347945045118849275872264301482545547270483104468450039309186146862612258168958222710314523908035298239358765575618960957088230792427046764028687358688284563876810037369653129334339720706314743475492660451017977651933150068209498452105370936960820122366609786006791570105710863995160707478693477852590036636896404484299067707028558368517853252349733524215640333916623056678506237363890717159272698438036553128437867902474010720949339582988063867888882009344270569518282213241814908420198599021369810117938451099319405385900261138742340646999760688250648016247552549623225442854865352182270980464693552549888081054236135267759262566124866413656641836979746642603200080718273151187411224881950011871133604899242147309987869034772389900577111280365425308753702738811783506883214881413075053349482769648159958897405186828304197386256818575505763409129829769031847340001005373584842231223533358932101650554958650269890279778659118949877458689924682707303851867084216370851174022834087301498560789863643614818842466428842497414598284228968808247975323059011657783819994713830892573012248418370757542857773892941512976686597462734589142116717284056524945471952660344004362736977621745389259088248320252940647108100715061962093809845143033677459787602320108507834247885486031299039449790487878603765147714886612985168653022794411691583844077065560477412953832216787096343810497958809345203569514464143229273886034236882012105807485741781973059745348596642476812546348997721950343394503033619272977483201524108334897235737229189690233591275062868295719626911883772628369889552701508298728375193434182053869244406481300499088300407506326521993316229822544157708429500454550763957035006813176470253566561749726184044940997332021262289533802176827684892584530932364890267002175165560622580589830235465942999096287660087681058897014653236533159670576900327041026504992874431335688781091735042330060750950619984328427666317550499913012477091844962185041896405386551442191348734559253043271415206638857716465083954749430775586468217675218272574803487353058560103436327422021723579216378064837298595489829724062348103960056433276543275021156575185853202064220941128616207317475478024214796406314382283961626028380954529278681589206928673899145389686411909601321923844160376835154665575989452026186352535744957926517256500588456572846776035974980480327396587062699404169401205533536004169124436804513319984252734119618344523166741140631413212833797436646730268845152231841067533415464772096452315244600908830775790091790192023459766316136999323993946269898692816663026366890992389318039312083361361182004620576492723798274151698938406647079508182199051632486356707034432546954966560152379888569860571827346261825827138213402411030958932301613177155059380343535693324644127365094888660966966943941038233861719490343196314755595403356991100975866196412957172223585793170203676800017050695694829770725188465199228119000935212777772824661892815748368741652602568111811327864172217245313224521000188325907178759859031150113497433278146103274041599564509739440736143970130220810948308944080462448531005004975376708156727041220166688357823734104183940441850894754773264417009441796211133063832406238053290402281287746024485752478037738315324665517987106190671207900278636621993841979122750416428394688665127368515594782344325916851115834073137581597910796482116529570655685564276712687781196822824209207969868150486991549740864015586418303256977101983201884376705205271025112389438823961982362333305070293036628851902684948832643734803531193834620665621406364944954402375474433911419500542615209139800837456194590549516137488340656658230145987162505676443217371263214907229054189427975781959073977723549419347751545501933397080282349544900793963323716065143056260308405998459273895277677570421698624394486440507230949578263700383725862913569696943623212064697112855847300611685580825910917137485468382576030188640611346416613873912299668581237150275407885003941954663513218735566518203674994623809605080625708858878291928295906878831917206364400259777432638256555594902760479232301790090911180788766010963705079994570555252561176693767093643509623877605394068759667346785855832069933066652960712959196027599338939291718704588606845999057713148203272618917117889741665539444102597383541474181983977870545854758697522557978523376067020496294078386612905648707912754512166324572528151069828376377492929844688623586813346179473649212241698378339118304414626360304311028078239989415675202016169723925744834326226700124156406154867795518311167735271821053435917000585755928046961320015375322661861030112627455274126426457511593105231773242588056606298350503048625666958588938581445880397536389339268156677432433021192387438781965219926320598212430270327540832193272553137478195820000536298196062554730269532970301380798757211240935613996849528189485779168217366824425773259674080632452780947134681588027877221741488340948021613058096101732601403790107077839652921931534765400556057730169141357259295392562805844661871198259177743338873583903147777806347944015144400138702394967038902210262476537534854521545690578030074091318924019605031406215729716172771988003506772545221116913422275030651484408792088340024033594995381443777925285827893487279446607542091284013519198564895274910225935194002575245266939615044437284361414866121629139058418033302699831613755322749176037914963298347172016224529167826047095373442837422155281608124649869294889293118334723606901745358083489561221305949415625987030809432727400970333660417181191076521157916805501846543305515927685643262695156791485801567185022192001550319828329557217414791435079675078111139117159624220L,
42741153953195477118220597706246892232615423132562895771942695496070374487004342394561435280724794254403127383193556874899971219066815620435391929822168257833370354279443833575140517187807931402028225012204870547956342901726023546788113100753727960357873552190180189893436707869663622075943459253224601108020477716375806430199106681838163472101942381468209189826151215184452468611377539254349152347121513508478068541950059600676238737472609708117471380925646541942629941055441983560406723770675476488745336124894656806638982966423658151469301063617559217164942536141303933000898782847075093344319837629584493098704842841737250594471184825624986439422942740644024587344223908387095591666921596639556459086723629454957648822782924492769673383957822110810918780792765421430301804259399220361739673590790991920288658372758812493634305627341738738032756129658823101368013203351623132233808573772487653952381738237828963729736430609905151856576145509181702438983359648777443839870783532163566014209652648454379300774161379448827138957771459931452075488421631375890017056395423449821575884244406392660040162128249704597000114246182402297868886224818844380374719790246296412147021071083764750990445019158523179070766985972101841039922325102899285383485923186895971076378695132277214970962681213475418519455121912057525183180649870594431398587679289851272052710973420007830264826779214230073670434920696870548525322263038521502790459819043525568343967722543563664678660795070613506793157267146984577261332484633191080182255908436595275816877627792327484525787940874704459409073135801744096828062702926071591054811535157639753652501659498810532297061061391156082692442407702664135863867346690575635656801423453087359557847062599160354491533516674567821537996756012562880460825498235577731009251771522525763023867926479204248574339565512606452610161310200840790687954854884586538495745538304350003626260853797208810645330127035165451680761434152624789939440319281115297757852989437966069077000862721189147520055709639669456222243608483115611287329871556200198192754265740439079394491532695233853386298752966425529771791179270215735856434540921755882398629554541268582309909546799373799752212191321341949021823038282400682010415503171769836086903922238845664625373917190927107059130506618356372553498649700569110449154796818297532848131577662700221221078278575527203038847093661921595358463942153386127447549734677695514291475805649579985608524150604055565967801158381593395217918040445509642063803152872664235501539362234763287312179811106264282950586469014423077079608368440571421594664764676527286581366914605679867202705077800711854816660066421681222362840196978688476683876203889102069992467349458350685676059574019400312329516706763144682357173091053713777297295521350804806796162000917313356115998135814211219135859544837007360477594427684522460182340462234522965152496466638590328761121143634744899219764029723269482829700594457266013716233178401147038478698503237933930351683932578956130395116929019223099044300705347869516806371016753561159090864080434945710698193037544336617175154427924806791368851870136871042120659958117756267269169636373268897878519689187527564400676235428702558661094779856728411945763338470881186481367832251688221193689181509638367958056815488203997508848644382644922384719763717932943929411404617813031237976458906270495504590438795859570128693965361317206823330491060945501164017025421539012721141216294707994735170723417801852262027256348396696313066572410439490035426397385292564787943112508025685862404626322938025032741818843850894211069069900254774541366734212665204819178478547015213950292591464807756245802791192472724706046809334824593655800752345684387020309752731984372392396273350651558889359100412896668114291250903337875798804884482508021591421682834124473668116800850715944615304934099702598587804709139796113343092365226216137713743146749397794864493666068723081948725562612134887544721655974962101870135792069644798898653315123375432143670323528651011651637783413210336966305110706254035530755784172434725511275980691610332065432064065850407284377483451910183298183206326263434230535225175497381760647486281728451523286871507904053163568581180655070036609805922753796573227556661374003266020518343308326511030766882321094971113875231861568605517110965038587321569798302845354249509857614370602573136364368728883847577100589003182216635801559000428931450747108424973916964125240682451506301066870965774475825177941119452556425780715652575583202939799578373145330835789771587740414312403108383944565765352485194217836434388152359183122552785373522153529546189522044495297771432758234139195622968525929799001277608628469918294242797008904357154835838677881353122235766675805158537227780232436851671944526675064164949665946235693715198810938234178774101988998458646593389188748223279849170681430064604310419669578176598414573052314081250962443484340707692978114310407680623941573866297545021185173837547624848482871989053246266258243748430677697176891433334558303845079584762503784025071828554499020416687237095638404076382185716711068607199006926699625634449306506956650845400824974580137858153804851282306803697661702906882748112534218379876690832587932916888370726345890461830964366718232402140291315013025605012687830891192396074722361538280290200797329228594359605880306405623966939240061487119176849347455639529102162287638412536775675788972050510846376665181188920900129829388132487921302919079330111358768084601813316579209328996943154922432626222921067826788881716366044832221807319468949329196843681661992439753177897753708468264650708806513027510509386955116257310718813584411936760245636079679420110740805779425770653715427716339403257555096166042407157658305717998755685193564612390009033277113276352201028684410389288459526630344833363000720608444194381958663204669018381962837449282539331151327233485561134323675285169319005285653574944192452769302964817629182645954010363372612446729679008608258004969707924494258115504483342541363910688969641424234484196071804781578025206439359885879359227817185899024773773200732053359245040389605614870410545348524310691121460277587421368028251055095725847942523438051196905072487061364658220023508462647116672469417711022027926299814994680873196056260926373398561353268842210601544338247503855490105757617668284957389663910194581799924871023224982949023116569459115911701856361938915192885231178381413309538069584668229782961370075964401L,
67925554794640005507164512206146208077322157859991207346309577155581322631228655378992098577259787552479983680087978704354810132569443248065192782840850157965309980148697417670083808382303766418080540475800316807482438851496848953774262274499810884350519529989721566029452624962291403185602142478934324094078599275328494427181786251923051428740850490165112303525119857188736511706253653121994335698243629446004207973408947306757381525117804395061045896415765614785805714721718234523164291518499407688289916028065053115526649159191099556187774861082076333177515807395305221972232126485040766493055249934559283188519000045133052627238308646589117228898719846549674155762355865433537723323233427691184814632286041821782771968532985262466483356180837377279197245683933428779838038758826121470044159477408296303304340757533147942286937398877750739422084660990143696659184867208793842305006914433559257535059882223817233073745237714738628562793224995027916789300404742922302041562645430778314720541965652158168930899262229034006699266537651470077563046911617674525153646267213419229664927127433147401519384001371213021645928837419731746776520815542852667791639004302960815887621699987732079107432518174161507756686990247902737703965502983747320585103192153626947666955416209050681578643780270698224871529176998941280444502627838999546267601879197401231734512319692075781520247108320547895669159448776095905824474850438917713802260702683345942998279532305196323449052816420003873215215348384351530124949916801043931758638297223371790732877086388466993343925586318953103108149703524336594885152723290725059057241409045263609109557706536138349307450454123702415790156367411163936319032749901799432045537777040995877842027123178082935690155768384825407645822104935506295894094884720371445726220216350169339392894027775920293333888816871473938375587212330617451447431926232947941079871841493292751985141274928879113774631460336491810229501807888237203178144232872991480219305284391875243872770003511918425090516330196351350829801443164010117580242792742489325640904518650332392088164910891693382350205785258720922576349251290962446562482578556524057027760398514669626751698465165220766042860408395866655903982834592509993042533022534072778438744024943465426162916218161346041876963714698613104426352940323656143532750179513938434388373832807573716837621646545507526448953400250401449678433970742361682734156659261354701462934483649472740226004472338351138084958310250590499406361457887177530419044362788531674800765137506034579485521483569275052827804372102092802239455911526400828579916194666898002642139644053344835252214761901597829234165338999105272348491360612110757488763304072950250864007025177523470240656581930678484385275802831985403288426649518100482401326733867165771640574028811696204406070414776183502439400926639920476520348668605602877193488172595182344210751461871914474329214521845729731190324588255161684413410753704998420009802882461308981010555373197633406381161810233515841170335687367423449201920133992795785157640727492743634917298823878402508314469938318426495031020950669531993634129028587297538785963818908661951592457480784734925696117574403815463919551586573140310448972144033338755139216071052307698462222086914794562591210138438359490842786034520378430589322564890409892464801802684625942802190057136434461043302496207900845554335908459000261590883125826656443099639864989410834223443174647969118196622558913729615731348374340523244404551755840866438135466848231476588235602053559720423262814139548556879828503274454652262661692289492329665183826747527859974122324169252122752328461235379514586222624435135591654817730130673591951813159921873614613042162865872148749187970981829616392031080893868112776282645836751183337012041513507505063452598599043587480189989745270180279763472668204768472598791377438940652824244072986276186173341790980607052777920934418059686572964377469363419832503975827854311584080970063230933356625978275729570845247453930956058634468023738761802124666904554647405591718916673761190016475117657670479802656538173527549141847142037350307359062283114127145893392035914841104915761876377569593712624933282954234998687028375271359336711261436099998282607801795901449080517932662009915477570365567145376917633407014650736208338784286847577446466870862097333877652092061274947092673820939505802206579256310267316170986237817448726557316559923447753929849825705060386804633872225432967444907369415622766440186584816063118428949335549476368929561548156641326909460432218055540853684517336713595308305009270544243399532903866153403382588070544101407538224258609083979562719015509415867708041500547222548562249399610387743170600854112591687343952060942483999849257844856409264726717526162844355857939564469421934453416715608283633301805636699170706761648897125786318039427277445291051184719331599504287051512896915421389095565398327107324931539845187078869065838112812830819191596903245064261965759525061686014072326704010818250516273335863357390725888803753777207167406316369992622293560320904905517621671759324379757120666936712520987111134526792276672340476817189115490476454009695514632117690858119447005343507803216405364765571958846162447857318579067032028953668870323044192678860798240724426315644317594899752213692642064594266503489204923466263127679507218388351913712582782518949617343330151514906364519312349655017260897817089295714026872970240359197898536112741707096752080539411485708649170752875252450837085989052604187590633458884703417392468628241535938929986709358332127306856514964678932125607824106361510918912524580075091634609882405628357164022796583346909517360477281631596941366719610682658693470282679609399933653595462970999635557942877420565347891760614849982935252616035321963193836397916130413536603013470591885336678004242366847163322609295627087003185317514237335165835061810380503663778028043486067359172916400874768005770479334921097498105993224502011955623991359055093924221799563297655134048550641331369037303569976126290260759962984937940000421216271110480945655068065134445962121148665386624807355105810760268675838705360821932098526158940631811145853137974989827615351476030905112854300971513286845418910717415503552069391135775156250218972168889988782847406395867577697428061846345423419752922278888944103784370782636242010720567515609322873589633066724233775356954400462117548734463701280684564578605836697945480455797070561819489500618044379825977560084L,
107936968834226089813058118682798632931825644521628692032937882229246850343163575262869121179730195427729327086223780789359318864608208017759516557471618581113814890821261876362818377351102006362535828029902951557426763954413955136120003047394166084607407916805009697114325061714400119479078619633319531771336942001034542846666065777178417078490067703477150529862422876989962201245079873140019778656752616675821621544047487393035184855824964564087065705848076715032275436422970078867753557566461971294617705318538640653301257326028443594735684568490449649310994377085517964202008512899468631275026791594493873089408649542147772178327754685145091748451258508671102118189135405077948014651815230706589871365427579590606581348593336184254490409064952083618155880308075016675922820198834154805971945709210478532921381594703912134216741748950496947310685647705037400567778690966115705791443861878197097864413616139904763857230607868530009302442664494202958067113574970171337206454447547069477194225822898797698989450936836248138969917586028198370996619757420241551592611242516266617647401339611737210294036783472984012350398069809792645203684052583271495512848116172999146875840176009390259145531979149532773361739176602959309237393087921472785478301528374572841559798679791743056370662972617186810906910152912172182108452381682978696332127096572387615593173809640069157689269175654821600714353895442129917756433447021159875067821101170899615323686897583306344802490659765829200402375326157708827958490758106322046086979313047288414064665546684320316719773745247933253064466845164471207850108489881676482834206260523304574158361429886497384215373779612569434967936685238583634991942757579744478556749940172337994703850695372643063920075886072581302511713870693335074939786166360458395016414840637173802381474048505478947211756200799354331366014288232683959174748664700900063838859642309760578289745025479003260233033455084564670503638957461084911666850053883081430145500277946014261645062881050926429454431875592931538839692901998705090602111762219277203608758271736856337553916349503473403863368155042255397340611521198289058642618358413756849665652398753390282784763268555018509126964139900068764909198748912232307839566277216811020842708271938037542102616812043518481035655159857574854165414141576250156797240700976945843563877040620877951363701134735600061410231963122520766440294043095426805205210457767350667202110894172554476224306750455069672590024615330188269512413604513106517664295275374369790490859956607594104426551022880627141797665738034052595850776096050507760030019934585060704562565515587767462137393314051981113287795702586337314835611890367223598478185095370224106266603148165617218166601381885736739424056386333304359128721589720094162633065007026669614378749415851513423194749955180733612929095796832853198928031035261242634693974497319603917784884524895885908129360895036290988974067361961330714135742324113739626964669449176708878068095522244567462961448983119833260438216657854365105033505421830289829112758664633902916774806005336585665154729256742059269793311702219953230040662826652535991331363689951554070843717174891909321827910328995001346611830665524509464743534280350996631415773613872062533637685094923751778276643637871501824590633240913345339061696722806064912579849864837207755152820493645791838211853149420240510199663764261391227513599650774169663161468879563289704915118189026232924321801302568602180307507913712065969697765225544495222031442040327870910725381526724490163886201627447736374430489659004482712248663555227711539110590466131067311045874338827018333729722751463641283265275328826649732289956114403681405498746879157346200643839697171755057487694422780428620967015297802478875212718765031833050150495071831012267188569711307937629811563282183423621308259219734597570065226410826213751428366198091835803152530452512031293484949288721195695503074268704758483188814341378881965808230236585085265298214393940305154743071810179771271320630575182746992738071048872006155658538460319172539406949833979521638563021690914404198145763389061389036934967586962830739379376887364548339912975447310694185347146456739923242062321382632303323378368057265348335177916507353105258107703349768219547146999241281785603233936525086631173219546291240085975911967026420067915512534635415353666541362662169952965988148046106375488149703924226046593124860437690350394578961599339274251777787721405530201194238802030757055946482553450141597727182877694137887720432980893622801981840913057713300171663571339691297425767427171167719274314835588861415979135408594098763311822814103934253722331380784659840532186648364114174882495372175332405795982036594344023614651284638535450778600268748245722687680240235599875455101423361764174761343711721575757498630570080981824321994344294739578967880743417367146961569982594479005324426393004592254576305681129852428119896446205089311692776719753359328129409464024449296546706884862863104144121886098984938635085660636082294068874002146326838301140687488139142001398801223489965831897864546801515432322523900377664830843621609454133635696539042021009641025278501532611081053687399628737240063598730564453910304900805503326718745289486182431394434102237731192718016224103494533073743815712124649310323076157151244038503981200443084951818695243819745967844775502072176551244253281032069560291448124844621113481958888632206309864930327758388337601368804645015139880264919999644947248547360155683740211952895771722428337603610448298456865641982791574773057484809950893115843561911595599605635038294469018841024352559020341727080136250305449111950623118501705055390105090376989555458694451521078167713917125574405272562891563320664028521051199293064581357814714837589866955593339183144260391829181467038019818065253169412649738902319687190960649088764445824338785848046016987400544291047022569522299346637890698637050765713688902205979294575840385876015965376673475615977313856051457696817861907104931058746398434754517295703267298794621273679454221220677949317111894977964775583215349785264555356322284662243529387546877911534826193747390820264192649962060201161057228265839059911301539622878401391123725374791250457628604772657401070455130456593205515868436177514770832375005228944254310734418034335842612082695145143845423723437274242707596101674428438354977663068389488239539156902225005860681611081944683556520700004508327857458150602991602503134219746662760570783838124L,
171497320807272661302219095699315179291262098161804699580332211743411777061307913859094221321361462467810819793447330162228396715720466758384164547110233555575828358191759823851428303488825859586793179249083722165678083157270259737836274431782165908155732816982953027661965288245386124727202587677390703593591079115268702343154701317151408321118656048408522192722238964507387914079507374591183060538390222074991881734603753284000278463054347535861754598014242809802359653514711809724522322833658559064567753965003809679510118656970716796698627518373898450892044675899785957879102485634945674702957513950992059940581873421504854099780227071580900295426104548038537495903356026587188901783184659751975274885351719315462156820165641408915292925327046154562825816617482695811058444601667318515683022025885965327304633729637039729092187483031527884939425107001742538880459514805198441193994419631621352938312707281060459487848379499740466144769970714682312963865066130560719559093326776439349480771809693906855809528242663304636487569806757774894448300061165341585875037276207985541261258775924020038170572275726740320692367736954820446631454740727133300773773732525113266145247373558468305178725097299599200113108159933510877946366348806506565902359747419149902810766521705292399098035463047957869394057249728520066033688191416485920339698694475834820413372293608939087215013047417232378405632235914899480312008644562395626931387291146116190407923777363160687354134777333022687912968206562097118438356143315850277882013358099002541036383173743868249057650787605660058884851399110640264646624597601442709375324557720002897992718507577477552125540357355608984808834386334355748504731639987447659803745364332881088711095280638642556205882902766378419584182817402284401691696085200623279982769997456217942652903159577241109554364225435187364079043856353469576762992367556671867892592490774449788217778048586247804392112993828448080203544230402580107776518787700511330366122333979400242164481983965708664558561003639231649270691627484670088541029143295319204288470063525465554763225988013581145378357200909988880554794894668854595928911646117278778360483715968058872790105225048267948199525648794446840929543886588422094068133456182933400136941600550656226460262608500708898513391869451912377915238007736119199513032825615538764170062482096070434770448279492197986373761677771398167649048797829045210232325158569326111890665550137411001760667920772481383238194685542609982233347550559119666497874154782848829370226487385558233499407961591037150702248803539571378052393067059976278016420340808561975893911631713528460937568071112369040673403302629473924118036032066858418928733953273755449699868219316001927800737760205411260199869028494613932718073715121077101901464130916507773721211240673631531892856739467595443149070406146895524586742332089385828725910003402587852014130327926774884237129336160389806124041551973194355881588641647195137180013234295715709086769950529887248393663553924661050576436516098364072075883816875030189351497300384368831374762570505646575047609543162288109975511581706585210285417771044937094859501717078820088123396350862939872143807287574519668025584025784551699786774831996647222802292437320670250144912610591140322880386484015999635022927856151986289876507802764564514766518400881723265111529226454713147581816728305556444574891870162301168642258835448436636081046961093852493788033164772301748428383094870659278879171934697435321401491445729784846873956722934989193630935814242116322263359982594330350236890384447327082203457080478356348901234029295425580255707879541561676713677292014725302886694056674354600070371553209324440147977336832617129528186845839762763077223124843080097183324390079704050603816524823295858195769309362205639351205768449780733686046675706469132588124745095762926669592999943622811980665703282893793729378584488271688530876382162622878924208306646047669305546489306408749646873675937847449257415831507210233709867737631532098423039141027869432545868010690048824424597598043460458373863678470334949966515823003268595231757760811287956700604105768294735993070525874630241877397514474205556436786609926175060341034833008836300719076436784048437104149542516417027457973897425844222590475233388116479426172335137910181139373189330831235242062446766405918041240842878184206075225310242583982276994205814959793370298104365911523383023824984650974014524032917712521755015866622954874960487097042074165775519793877330205102979012792349926517938194937834355593921908002000299615521995755728742017130792892417544859089147887281898208616588385509600451912049507395404554496439375396954954752142326842016624153167572659187337139893340254139093092387579875998208829355408050766124685189426130973599478826887430536072725981002564469052092498881136929256654900288934346556879737077953685286101137763464042760433660407088227241762724624351271234299106961182196788263303633053191964765130159725978469933915657475259182141897024040046282918368897599476454805599435781793970353497871568559849074363246195050074334285493856006271945384207420096958198796188550755579087899907036493197891514951794738310709059133376858299258566866233037784052210281423923421247471536440390833295173636898655981793193700845227581810259481009804173615208229029552827175086891961220204728202825875519092220090974667997944988298298769773275856908812766994081803847657824804774575249354436065905262016353530330697725070789167991326180490193042350762735511844896216784227361491520735663515651072985851330500870298129454192220938279107973149200416171376099092688840771577211469472002079118086297430390371140800190124699545083409589180238619869170354173930173221362318614915395996866652825333025551983920723026762192023246837635851690840156677521011706479471454459947670550741692202185453647920107647113385246846738336601490756928828348165894016457253969398276178089920591226753015747692631430730043672236163929896749621343905365570063849894387020572237761751336762334070156112031619007745100654340176991290357555140352622702679981538349503539670463021453435996989616348927965686392942204223162890177828749139906446743514399514030499711975512428883988886724358679457938325235155509713064685031691337294604402068645410971700721199561913291152645644361701619511028509970679038652780645425660923058912942016187508277491907724309176097182555988676717040129028302449024622232061311575447089599136909395144082390244824892078106941996L,
272454877050090587412023618996726444682964231491135375544851057353090402303639764346309274742144718435207288891051965637303570096113223737237376482256267766858287908094831615943535231357999296256307492188434430666326359547980236207508668344527097374886966843425814791531688368194446892573582366557787327305166478897580450352710208107332619485267708118157822036692567535017164617930040161216750262131807568540914599367829631357971398017707909531874337060206210480960529120473884625102533203144501941024263772447781518390908497839142606284106670625195428838934496785524571373586531117493120803392125226233185774906657685025355516251999882099902042422735963233037458881914943109705537392375897968507809532771017144985886886877875886359135892550343688793474230841365068262406298255931144778860944404851294000522781482392154475495265741978119119787892558187317546706510608510726465415608308083051571892440540223204465315396000720211464484689513774147923422502851822280616941986648346741993113640994859455296154555205706085773756518576417351547824252980616356918163838110217149657703578803068340632491425445917823568825618808211006338889017623417887578045332497156699950669928851604820472854781702261809319838411036144486848506500206874436396356120255987820867182879626047954906072038067519599230266288756388674145659831928077644005800827081208563099963635034109766369614732932626552141072089945853603055869420713894691361421324150136790869407970754247508546584075086392399623953902542727978865992560509339909084831533734189222045173832012124016782834798838532107909792237864621926944749432632167920396933887031039505418198597132070079226494705609619792996842311304769179252128602696369515583688660602443845764358363871058585728551782547493692455589526162505081920785503986229924890203891873886558507732176568315151943725056682325636635937784156286376204717869676686816236784655039303077060173951916483166388007322784303004064111285650574548635589076589710406716088992979649346565154756815621846063482283806094026360692590535792685523599886490471134731026506825956393555430667799787472168250617619527645009492506935847120737065612481100067868956727200107583310215518290665584308839277330551796125414354764525359370451583571252754954360461099644479835476779725975386212210326106186921915809575730590263908040866768085743397416654804237105457721735966490312063844562456840307411128129560253591312846828015106177131936963386935458068444873368590409922598962586741056960466241787184512277778852525056533317164347071460774371640008286306935135082130617382379952929409085510310051747261537101251006978570619371598100047741104590584715728556828685483778455917398810892095519735589323430483491713042861071648664634956430051053573070313046702595047109787850310967471504191233245143493230205155301531119561978990510283992529232576273051083321053558509549794374129415935403055620695794912163697559572537781409894648748759710900313514248074639870267196069511067329507928739312934412211178752480637145310604162017799809130137804496734051687015548305764461689425220850619806004580266596294857508531452304392583400941247603094763251269989631668513919430254080100828983837817378259976410491974236620203623298401305311973792773929598717506713014252627643228561995775228944556682855486503203266415445369344451624746823652622209329249004181007975546760347098188043278998424284645558432055685977823511909074144300001060519302390662352706915428286470997468192006215761435513398613327211115704886916885685692592403387916421057891064457994744517950002193079951605240547327753069875487945513381333306109250422068280232105959108968891303713910365543404254070290767431459816836799271187915106047085581481669282723066769386685049707182648861340493502781978570345568412931620657171396705663107689825704971005947770232545040767008144274256346380691339797674578877127478663693666228101560970117177573456835779026662876594272358250298525339580434563424220752376142121673681132127726435051418348586032601048440172396990848876062389085022455849189963617967756085634171981467710208384885742744464814471735093291682229009157712873275921147883475217999546698914720311261588760703147228856186555486473301361294734676426850438944691808519767204455792566685270631456618773797709353853739302862293845868606082090221673855589837091226831961058591487143031661028150048033362539604835775465701103544656397873863084749804305049126403769111185719023894278800636067365943542633162711149167737342343943076648904839023766299884363420100902692146098963695552619699872188064950378873228189019199460417765214714253053778903075400127767826653271428975806292838544205584550593864101219163982169695554836981429192269604091540194362390019129027639758596951694287010277584977971721515023656380280273675538587408262809626617544230348964661470228294027108148057192355827398741057376533681939420926543117096127984587771854524689970687916143215258971980049558538107559133084908303479150308252290205448408044493343461000779374429569072883094754175171823232772196670332210474551744296835789815326642963967778902168519053465324880093910222082539486484669412783802835285339768521035325889885454332834967022383766144987558380197627645398575607367917827849017280706640596932593654164781736340313352304455706480459805426382203479223186257131971438645970668095285523667483039975244739646628285950873989545532524939842521911671964214556800420651860764200324701674897825976784132274006805630803978828699203356921615708208568790735596763560892447808246245756635087093520709761907707825234357485628519408990781925088021306617976071736859668653735414049525418359851729282398520505436759058720106118693267561399415256491243354819625409122425545076238776818404974232044971971874038738238021837871921281613938770756360712908946633476651139247293881751143929800369213327828903425527272589159038041024958551804229343351784106986247533259765603774756707853371191049972619822451929915285131383876162601414303748749827086200659634124159446716187072751821058863182913891483907486102540150232214688814795839174522079395207638593968863833342588074632960343190128399846793637878084295180396187431847702130189625184111067004103891159152525718375332644915255646188656021474770318059600383699675210035920004707939056018135738557992250527880033549434820529359427070330631430918580652008608750438246794719141253596500325609643871201167406967867596032215657967028914919978584169728882339098185108449542586683311667524766910376L,
432794749689359674692403527542172842837346406242132197589338530896199798419041368246231820521380284618114011792427853265390975299374030518575422174375440170824071452842314946033600197494886648633406234926472522917515854717812382800070220540780804862431986361001049421333378537142720623135983995524859115825566993305756974632388926279735589790756206504135367672680492843452873318748756771787856222626259838324389230786011875228878581274370656544913491254232563986882776161001312917995405721281304861237844634527144613637820900852307134507278019113087527946547977756749295630098024295962150893104300843921374568508383847983248391779760130062750021981461255614883846619138253070218902151390433431589673376151732531545807233570963669567917767674349352876650587759321705100690143545894733829295792445425272912257965634702262715958137219043553893555682018271460620586349370261708261455124399940169942749518652770226458088151677572100017315361400598404805815624112970429912546441137769261922623306083699036109772893538881789756929975057507586164826089704925852038385791695616555943044460649016890683501871920088491108681524628355241546293243428737791661379348209205976499862886870301706924108895001522456029055002351049046272273944142386515110468145196631403193325778246163796868954439222604688120803454363513289401753443130024201180161008210683438699113423758335851833613463181150907389798317322601669534586126931141870584220600654301892891941880230023229675235687620042831732385154776275086119421929474202755108572561633439352742503132501236718621431635635486318957360087357119837734976483040102049110862499451492879030150751203496182408900878589098257444915856765024693545546138208409403393934895976904000149707814156285674765652127353742822628667828692053679070859981236508141469188780421645942126955477477265471160302938082034174648719414573763413000809970531500693730911417895492507359050495205889063762709429364845151726237743227738808104158444004240756015714801284215640423212408220168855137916163446728378518927148119587049616582196724694920698316523842225554692874055185984787976383257648242896650609893044900938370577534387232142659632927033437832062735420373747584848495883601259931927243560533703561736172195765069545726327184854396388521552678109078191061939827017370215304844585560686850322299796093692375471347689596071546332726886366534876281329594082529130435272109780628429249891374011116387189062836146658742775745923661356271207623704680155968310249699884277887767283228166342265489282236177817386289264098481684127545074133201298342455916903109916753918446833112291910089241548535632478557433725896660009573012577826207887819230708153069072205363712714359833959091540338774267498172103592352252700789507049559336530857666040844121680343695177949654144788690595287942886172927310474689248449088774539496196084747578201560926303668180543829222055226196694772389697928752048835031526958697631912249774077489398679544932023811763424387182755914421305632736885272367961151163643251351560197465861972866655004058487251338877439688874429432199208153790319384707414155369168415933228449040612006521654261932864083494945947279634961720274419986862794704764392579042523936052268585503018019712150732406537331245123393127790594417792523300932266029311245663493053502793822238473887825887644413033446175907564952716333335469332681115597924793343348314106754897724050998716481595457124022760351985401705165478447765883731673362280564723812164680381131310507407646258226733858874145000847348375888279580330426142724673870263298068305086653245135442900161657175218615691951429090945743246876001810032938914604450467202492583345216248623710278302608268378427557369018662941654897957095348893670911587992185540941075451097954009423870405108812654066933529171295887237125924938368063302656821319412432728998882736221977064079010189193295017871883459618469130321116733700760815465316402197646402695132926721931854018822338248566394510553472974452507996989877756668373129078232197319313707266593230578511960033553653507958172876774486193948475177533961257548941323659669221456943634558668375020364413027177108987782091439867373816236043188124105496240131033396146660637781680987922925689399716970353361773331113682192677858341553777143458017156733665473470198348853270350341499149261646120543687141209393947608855741339234829601759344550229468393410168250217657850407370036886232253797267324973639845934201487046226964462907592575791256337449277983172823208945968982992206024751488762050964909997309257385189667593382562142063822526102504748103904312609939736991368914216465715634385497358845226381429430599440439394736150679631242443455245542205165202527430403559684294491163054926295061391550235508128051069074331906058881484569231073699309653691628806770448314629452066882313179084053278002682878210971752382076158289944197232170623524249191989231681092950890724522151118414934844990773196912418391489726249304086095302713938056128689471669455707241971882923842392007436431653838232840286957699719112813816927355809736495723842960773852255624501984090954559046038322797128298023297626498581194514194029324915708619317882409828534427793365132828336350247721435262409504460832443763060644282622835116300848345277266691225191270774963361106512290071969853640140517944961267936029951746235543067006749265092365339826905317035228736815586952199789967691229931561828550819596692435823197686045133397864633891417622849649466312085173595385284288072451989730493206537769491914392245975572564386179470933221355180236826910257927276761799823022544419279091403081377358650382638705529305941629175658881742385205882205530234445534958959540947540282321183010685509508544030411088432501886377055789850005589969373579906431433070919124881315334751382428271685646224088129724681212725016301713328963596251635637624887339926332196918610259051890750622367437759774647790144764122423398244548748473426270202409529070477003073181497309779987552110702611236090919920684355255308798484764507206877158157103910710648046126368441603183123622723068173940840075399344639796606719902513486232466490720701736640303323159165933829530175776237105001911677035938155673114442274223463719174808564817277457105648417254174727311197686760095366510736303012272263851079354865612225016475128824110414677697944626512808157123340499428022048083908446071823643252720599020948831109802379239455747753025913535722066709325220259202656142385015656067370727966928935282431140L,
687415875248665380322245156400394576781361668761448328108617991968702811399907233358051901161268013592513003920080256582418725195389212157129547976657984467222314293656599980712253455897299128889321439433567814306027031607464688109050911186159090707333955063109780059588741731910752304272614360579467337082744596857353098373389591494101860209364808683871949539053830499736618299311629463594789924690314187911992035815290229978558384639369752131558862217578764683663922799103451503249182856929533044646514764000740326670575696209287219346030033884038247343283219880223001320343582928634570926247123481440077917672745366303760845227950431567634292075055097766646630142491911135813124641106923621676488839052544277647157041561245428271554221694168943567116025299104789072496479548060574008151000242212843918396002828261693545014400235063392403994965767201383459436913638213815540345341276722484839613691422173762422470733799632731062082039724495296160652757099457372067106670030179754662165786709720696391805725994590972803511343295439651521805385960582760293788020667153022753100484889319895393135240540678815106907456159714306124504091221238189356408926451330763007077557941783245406245949027245472857958958520953464075987253534552346640128945111349053832398329276436872108164185463514022598914162911279856789967107428224946741689708726625315448475486266452564541972786698558805303450409887754226870459687623309126638756315493537456983545552293949205720683825070201617060112865840994645915988450120031723650782213621397964366875369343075012870423177458995140771268292042250950979385844390207944193286024055909941007984768044579836471609077754863324202818739185569550274196947442327843429132674926725762236219711129041035716668260381382270837368779248161384790141794140002837364044085831479034203149692562490809181903325484283983375104813669952718370922027352514917743487028536874755911334165576646255740517968584204850399651419725380999078487718823833207036947170807664615171652971216894558232486622304223554303127235196121620165945813379506558349652279946265648676274062700857377224344073791054996180701341371762723070186029703219694915408480295014042728107282471538172448578935681375623447534411007738379819417188933065551561692544792046498603074299872511600028795014837885010603118551385156701366117622979521188784073558940732457018460604485113092364262766632866174955568113466663157500303515689950127093130516985001133519716816289295309312098495066166468919970883235162694119321004530209321596790905436665219132315993144248337076087279373615997680642008503358333664314961220829963209090768060660529071430071016561020571183900023060309976225858110709212973926346953187022807803971468738568550187616297865252375206417032640297601526402158487309350973524339803318157645071206738230095077824497316415570087645146289535154671427992055963455482859137081257737916103131578867144885646094160680222119152522042909460473401137077626292893051271793250940564854256093058851811826195750729703383671544241540041191485169612649704211375994651993049856172000785109319717683882104395882502861098073561738078010536209583977370426023746726383228750202317127763479520136645658037805793159812516058122331850401944886087472808058416075812603820761120780522518918680117202326828768148898438562915141042917809921667436763956545701658914379972184602078529793364212837360113325118705940010079955054906992000339082264713935303701686624697530579983161004532998299526083048366202775127988162823019338346056509653481239955328372942672931599237506566819960236615058482253213768212200401444575445621618596042899842762733722257959916934354134841654569663425189135762040848417123143936827362005791127266870453089028020190289859174751742423925306055135409537863608591811914910630500424475240367913692014387037149748104767064673538049369387768370586545143351638334992054977174492788017429101521832231436168440290414867784281115732306066559390868815526081987726302510076392452656384322915600161239040407854326546272135785184687927361337340402884248338521551763708665528317047088635994870017363559112581788732221764162430324109988450265536615367027652109980471812019728052636318804151963069914334936815449822895704715191703563234135236999364214712425018833951832924542689502534449280619768516229555086621896032726666859891401772735547553606095372985496319585472705509172998647248775494347229477041438056822642601484288041376984512632876516822500254687159627875511297397897427162630483686989048156897572968577550849894227071868099361816529918262240336379827300384624532988922802128748243389591627056766709587791954437214256390329025450925520930775869251920283716281890107342653309582219437006566462405260779446858305643270911503670878525881982121257170723156737949897629444782307940334693255706128426679991951478438105268215973808754351733931735381314076977448400678976877694120478196649037230198244879316179758948551686276976449401140111136964100525150315613066238540301071664627115522463563730972836969993511936167487317814297931512340720165085167879946614985338115087469332125125856958782730102911738586969320232490374753840967250128621016878649052730801489511889475279288816500698845441083476312557990493875231931007933617373624289093968617492823467191983059125625039757613077656890711088447159088472677504158754196711971938560391437323255533261688887117492889851966212210409352582512377904758449740075855928057488478756737664362150305382244333439639249897430788941204127813434793822619317246169946213010889207030720246005953032025848588167761269713443841766291841630362318612912993536594070678422295792921484427874599678013157800858783928784374418166950861741149892128590847863887824544190586030980098941668694439086993523567316360713553052319318588772650535742858119511473509562679708124416173281944851972947506316923558031137042241421265362133167188890139232239773333558042281525940976475449987580224833267723504903218849766848731735160097313257226995644007571306180680511289778034869353463673452967245236669423189140344873258179315913771140878719239809436476567658240720779934180332495503374500870837693840313305978590646876704256739887764454900638898594051033423397475800850953213811087474286418630967450063062751801486935430050200234397193350176582452035669176748330936555098449311227615335736646096334547750777046970845038886074139487423163948890849608814432606625927287104671637844795837161866757361070090026492617847451937826205232413242180387548304086L,
1091710114857168127163479665237927008332046100694241350608581042955121775895568560301154592358511501805170914288794892827854723150161343003421928059984334938260438575137878352774229922640845365235786942018265215330434282807565337193848391639130886842759338814228477071712155738990118975365360141675581650001492243104747545238946941376198696634031944455922745984390998488439860163276951988183721408959006298204374296138880657404719469538627359379440293725176119975688839664123735791020722772403246934305303250395786520559669111371971213982918751187241784151857285113931955601279930250060712567573726323102697256090540119491634090582237449264812889157610161010207612302583491634894307974470028668863010697039187211324665215434086570069018346517045109840291279300211629145467608126953561064107022293879067413555045090453554516622932099234359386557568970559937096961290494876809488580329465628680756921255680031655033787797128706261114177375657429182854554724845662814447584493757345006501997317240201762253791152792032279251787738273619375996351198408771700571339155127255202158860991049875270954378562165631927541340653191159076594101604547173257118631338937624656014583537904042041329615704008752983089359929243980704322661706560634934001677344375023017599679879814166572706431204434287542684329572804232647780063072888944589692791903841704485968989371568679996895073413187979837212055628484039726248696164112686642913936837432161947021775846828197241937676581759568769405485063780464071029830271908719297413191862123713286566460792595154818852194507361849318278036775783421017189342059333884823117394349829103016014739451533083048433675231423898108682528155552305090565460820377553481059814396135694448172978913610025335008128266041515791933254260201125334734753915199495509237316007584272054335898772769574667288261633648404165077034350221634784821873959574173071854800115832948892366832213364772736041480265173923794361466832484786347947477631764789464940571456414793481305565245301376662058784644783938955514728389898963091075302463607015694468514450854776919368462787526883100906596265337724798918244727099261163897177629510600542977600827889875189345887180597118039013376019115205178532902393880802930395180460773434340854465524340608573949511626292665860011313131308681477333785462610451572657882764177321123792825540583385445323880316030646440433973541976551649402893292659990680119992871524357275727010313928057430709420779349337300029412551124853110533358967345589194852074276664586832257153375830047662601943335715030036556073742937591025890473329476807134560469658838463127753854341196080611902063693533741265198906094729112585575434901906575750715961373479780581304472179007375984531401549776559428369878673949792339642315089134720012193904854381128230181548671075969224054564547679128741182947486443357032060916047453093696726161073638066456654470092041778506121183804018858973453566875518151840293231214734690447217503109512324713338999939722375232220836466717408436900293441741467407228596753781647533388930563027018618152149199459366360038781599385519510480208796605744555462203818834603155666406350980919515735412431018895695864380216265098804457063293202793775206031634222224683749472218612604917108346675169951136441623441641522463043683535317696976585868459426168901644536642566945852630344060442521724338210464476125792727996901532376046162049970846425003398883782597025627606745741769752762601781632394557402748743080886548622102254424053292884934229367866250014709100594452231262574026124616678041197848081364691712837949337492206811473041998201013681792732567697867646387136731187992654336871463175533931409022470888351411190247133895215297508937757913689755568809879954067152453185336064437929233856526702082503219550655958489287891437798846604464728969787802675654206131015759498205683304805248604515879904130527756507863665587295573405890477882148991004401965518520277177997427964212162464705543379723682191500220996246682133216817271384006868834593449600041661646000425090897231300994520088560053292693856899564243924456183325627717051962618342020119057818634103449715401652545959342927476719973114854268628192335452864120711017633126367490461033546811241502334523508176799772503556653658429006438867204375047106274652992089221941876129555437919698391301493723290861739933140720078676332344465484825695267522662492794883792294767357982472661342788491533398555623511130774912189048223907634576160729200818445546562418383976502405397917985503267310347513175161681804709897675725784310825392308093246650816841218286075664189911612821082736856321279694828860661664935491804430075823256914561904383563901118704326251171761089898724129687490628926751688005864146382684798229828813145766314119999891868253478308918188607832197708412810452851064977887541200786966414595269025402633526763463038310730829316666637656153850557600706802793866916933670048286544181305747613609398626604981023301328285354861966706942206868615212167987974244896102789550012225497856730498774626266733650110353269860928815603815320374421922986105311968721960760234302277606903924767790641339164718029819583521873948639190752834693419327440074298484186534964475142031197748480849507248679060097108269845150327802761107312646532308092255806764029645255510103596271189867205157205296191042517535426741453773704884685821232872074627080500925191886819515324640209706028338941284842256785824444219106735140047414596708250132054481619081207886194579292353993221000114462160232188371632427232863179595213506302719944827309822723450158766903321720441878627036139040122074768618462174328634766806717906164119822580273852508192494746077632056277141029195698386845478954719201536389478226667840358086063835665442224304461329927608545722864669660834303186571164038401209183848456673388298353251874801474145013355191692125606282522790014448416164840835758925570922554162007919166692164013708469670332972063355959127290041741610040825026810497521981375089518943304171570253902968967756635754286936777927249331013463599192774181275627253627645453564771183266234295451346592726944855851988474340774134427270539176650275900528067430285463212963815713446156742773174663141509853297880191557416622109303116368139630169341470847156196148275991514202815934132864257923188190965895140494964762873290809768125814744332223037559059502857261048759391592846978559478283095128399590388280645029510877508104268650357962795656380030788928445763389149354996175828811L,
1733585793363342619196198006227472790604597036342603282479608223273060451939758514112613100395066912029051600192170596852961946578861776839919150522711846528344705858905857228467192661904204614864042175588034911502051788492998262277629399154167940612589726006429679268558281949565844360618216804776361144453401076613145070751628366822701864377620353076746872144777070984753048310918828237289779107800046453436296431396357651600537318312942631779108944296749699124300709475570600902834985188662284047768541094200387918021977636234408443210174422889251996209880875087640086367117434362932159781297085789297987259045386675405401571302470623412753478740106210269707984990352803876851267787151046812397051531241988507000019813745846637115524040376781826934709665258317672763509896451888840692019437908897796816273295824475356326216790397171265335347618112771084629320024045677460173566265808049166906184214125538529681385901927275725674255082714270353092383283416368706362546236425771671708404273467779775133820962537376429586137728352538760878660511175761324243274635691591859173231507818719358406526136110679068365484772601848357492279592875518086184160398752493044743034784292028137789600985306817161199624919330826791488723283061239347393268806305596628271156910772636228950961211860729939171991324792019819792933389634790483919523409551103656435294277985179911011493249908968416566051732427902877841516626182311364819236094130788726683998550963855808393144200883313783393380444026690766900508875627026724097501776819480552225279687779893458914194047121178868903729224029308052498264539408219858528470205639717886466334607364830439210323022974855360588095738210726748779246211520125124989762781786232445428947746685762992576239741807511443796634358350337427875262346859706086373156245403870450258030048994480375010072461892048610649975896648255801197747413218742624144847421493708238015880106678086727795851276736444618158709769473763593545598459543628442204385142727802310182057715547857824215129991113096070729717457608707094824242490210673202536131789216322714968188223762814556833706194290192853701567457832161836676147960935058249539105653188810292873594257491159164133944918975387904749961981335753920769611125465055004936621041982246803597791420484655388485790939596190282804432550837453945384626535224762097044905987889172451443252242022645484943344293853470831091135137825465732248867554722641236300116455239124734522187220477248136255501254034152608667036912302003116373459320810737031219914361438872089739736736774659765997783032631710696103384386165015397017490220588751266411286892821402736953489997314723476867106157925560341801059867311066176218797053096740781659961519016428213389359790881199767344072129013872931672270533396110263850233046021783314167590131047973533166738472423193808215845671746863019443238621479255431695488588521669249471951120248698462005981341363013121925263024911151178495335162525800471256628076257356815488103256308445017875357087866891603299175799031109722345839017593236458998335859443072731597366990982809500956435636650256119086860369757061332826976726562389659135691960129042012517879544346786674175887742627318141825068948648502273795553451313057637360915363324960094816624118489411320021489948777667505691397597150022239227729760939685680940194547930819987264160730734923206298199854510302223132760999222081256351744727973065047343349054925834068287426702800070127690741578555565153343394968555597515483020820178940570599219488909377336322719156744293306459531710412758203844849285076400017744458532676753668226628196980040918848795270859015801586908066598813716117955186896820263371870067461175504240142163065662632509337937961585791983425776764287753467520975394076254595974687770139501032454562577250764840583456443693010238782936365714000386976704360326854052184055156655992113993309459220696721571559818147829284790040640896943539811153478764435186694055807676786076740613335211741866965734212103047779623204267127681118930343701789690316509006315436914004435034191217978989423555096977886785108865643314157348356059204921519847900229895095245680024664055997703820889448930745289236249659204486111131021705355768105414744733221167047760828627783548829841749640709029319287365441464941157486294801308232361182560536655112173316817264514462582203981075623671420267008908799883657110325883349997291478768136191982837065884524040947460712510908087556289597003078668643132822059957626035811586643361664723746344107155550336567486826404296143027269234441874095643818820107595305669862440795837609787125410726906839387037117633533663987434224171723164093103562783932254256361434525050094518063017121185889116559979298348694955246402963683632332307978375399011826551003353399060108411659372413898960194952916457533830322308422133585321204834211015378264236710329295632067446093867468280109880963114005312485493198548688017227866503461423879758821076881183604302938371896736122026498627386278479365145681686240779624934214875429925566924921290513821145189394146225098377855311512126957136888124732031938708624350827639702958144400401384096191897960080453219664564915314958443164379046237490289313462474545057068149883368479539495490134531477958283468335460530616563753991444011055986946835564370543731646379511865713402753948131664515047632746951874724391019111954459770144834958819265305299025388803348100131683709398759597084100279676794601571172181585840319050472204728233181268102062605955597154195329564156011538753504053638202496274445259989372991802556904450395242460476910572310605239073240375339516096245508529713486937615445358291265994390341725870220299517432891695270700203415301924138567171126242890558433580803729302288757460361487859900250552375305316300304673727357312976155821007553330189448556293395550551580618449549108247185743203949858843738766722910646674854975732194410375984151884007633592000741511627189157797288201091009688596435991583787576001117795618996273126868551425832036552970481512257620854622045454737894754947243863161511462550983814605124645376978413343330042330717508155457877668813711079998321081982215543749209550924726383750505158261963028727805693861779758105276565946055295386552648239170352632508490355586483714407743576318572546658477189701858556714881713250270946840818212045988724600826011390392643765290266070469212708044628846959531583449564838800026672000146279153206113961744067793446074392627527991062226865376134316561212773311798957L,
2752539747556971580569853665431917319990525321072234900739257162425936931036164306875595808810674090726878347212104658616199499435441176464559463165817781210580777707076711731409423482681059679267022334704972813612282240745717627445881767740752279921136645063694765562827524651468360383264335353284426817024585018152921393034121566202442861032987471475103947575026345374646514535413742872039958398417364906721726637500927951052231011355850898125058133150514373020333225398533748225819003386430180946162658326977541390560808625419157116750058410742212213550935302208348112812174884169848915808637996073512694626200920769945331930379386323813436297166907630138100141670076711693507974386640120715195420710781409203403162169249012781080080423917103864017011640294716703215692942865791025669292151351713919810302546080758166219744327989389441605933858585923766458238163777838627576116971621531324464585039827228936055496061530229303648514786746189926396903614194293502881587977099926349578748349456294403881528525116717770074960501720683673710281198349762999217433981145135976406217940577148711567176036047092665734682625195732671093168210941620436634151613718912821474734516253263667091376135288080271246617096250381824555985774490874121179068158139527527816315058606992199946058631405843032732088133410152125150779690207759973834243100974929300931635437413575362383791108458788818798265991019066343367501987639935659739268076290908263045807116356589826330792233219357042838905500462284191420087085613943816528795890743099261058995075197614890437072402439581516006048684215484351955232575326509082612359312051552778409125644452127519678983296043144726442476953146094422742726039437869408020020464352264015409068099717622490158623044152335197003663006280288186177357937269267256984096918105515911984284180686079728593659988943926952682610948485768903614777063769374955627369686755000977803881677311292939803267606228097290288925371083528980326875736022186314130040040911073592296036760054873526575597471554716341347391775071560819526623239744659862680021971574164897433703442337478577790116770184756380258097747818796153076585732437174360693815889481516598168507410590180332967624982821659116766775020705356644214876260620202847159287245344797413313214630281124811538831458976480240877783872893813840885157185053038347326083251004254510964512606149611725802908487278344427848531937189547586118352551985067358868870036547939422193988642578879579398448555498269453704527797814680847880941658503563252537430458490922246577473354254189865302148197216781593140027057517954539755229014642605739210728485707424587594851129954983560712922346600066540663803662896371320151093287855082279092094587615987712315704264862653399689483488666147220791683689741323390034194027666433133252443247119282500355098520170175777706427642504316558417904027007271647505510034161603470839614153803307261626614450724751363177391621216807671762636703891159973932040730827834774976609073140612114246552961779816017556645755350008655425040484540043208197762985658931491466974110721721858505463112899459404565848206409651038754007536084854726913504090037607154495597744597634194352628385046174046292215785740284628063838845276549026770748799056953846592664169008529297886024001135415193930878608532046084073606216317271695607240836386154650022590362117438089622861767313064338130949027656846209006274818750830286171495124578237634674464688719151332723984854726081378193201003731377149377850522321177248855148466922673486988282997919933605396445637209150128629744380154365397817637129093504216655314732604977733933125148414525413144143682539142985116973892377999859064612193819949453530919218560886929385757922293307770018021340750013943257543313151654855647571086712091232465744103891015444140821015173077935759522415073064944498365841282257857938428420825088637766181226829797709585968107890999060702306872434864662099819654647322676301447093611533135334751221800550348857213420992465035585079653133809715014146326933821839920148841283413539069807837448327576150633912058549558202088130374810311903625738113859671248167294182710364395237038890602231951396383127732221677362460265809621162447419566604775854561319548402628733592574638743501029645899064840289618440458434491704117545726044561628810415315876593216008273246032543987053438546560159356453637614061062898249181686809047944001687540240348679070389773843338096942406046328416142477059002673265193411510790726768094715886240355798881289183184148441099452575356773703234108239085654467575447707050016976656555464869876718657436176161928956013164118191308905724155723302168029261606493161279755485266776734135277955387476951446273387111672124169737548481764381451260038200623997557591589292845600136207791763623824786905588507217284505281831602655243115314974759600718957803780577429220963564331619876135581075687341636593881778922621430467586521425313169398022266784882816789457947276186911879341628943788157984729608863723472436190266237954032230354271399108814508781687099616892211404035216987699341849485723421489679493173193470308813542195143290740746656139298842564042278503753641665278236789657022163830368391415444521497374434831085840831413286336639256577661685891913715925098481090714537374072421623028684385663837526841998291930883823856492023087179751283494488833371857536340973918322189526177401667692379192278574636697269537484804612313671896799447399916243296764728961417814912752613358622133639140755564829815957694421945164672983428963235155413844772216961201699842708388557057366464904494026304095692014736090838898707501898699673640169824140750712329649077635946760616012994694171196150225404894829109392625280196818537695059870979299077260676588248031059967594264446268925248021214040853868980730906556362893397780258625720328650857138434686271565933630452156127970439253958962585935420770506445018082854583675159811524853545594603123317204844579934296341486576769145427825144139120257765260582574332927183960181401958291349627147013772827665527848319364820922249645696474715835319183110480810819442946528360267896619635950998732057901085502650737977367163949105589964945532817776764722257809190029905387273724988451862758962274505659123955727100677600157471021736195109771361975533677079854771483332278094827411087834000489487358278398409423159623904114575785361546355554329623328982552359249538659262892475410155453631325379938037411437144775487258029948483417990777160977864296419919908L,
4369906444578388118712880519310163170756933607567723268381034968847968482212843518956034146763368176582210374483250507369797638842664116961009938718679328093739040869093798366960614229330705975427159621404480162498532909126885604696286167771320642614196298983047618777083016428671473335962457158485611343836815757940378706665597320302937421904875317762877228018654727463918506967275387353604400161571701532703120322938373654596032278460086033884449648896249100073475610944066260652043989227566344190573055537827148056108585922050391436995031933808061581327899690490187953300232353296354256328239610774002317708190465021513288918196720938486157633663177960421137452142168155695133052481248606948023790664410520295818488940003539105332756407577248759336533028304519334779804326852357394075906950921700965228611203521408777350794753565252605835988071413625619999794813823804543604231493589908532056879754185627322153503096918373057302246011695753891015786552426693749575395667612881181123151347231247392800644536124294321326196069338829060007308612100381977176957265745814552450833723873188538212946844526258415066149200585808293853487754365262373893061468625685777788352559321742468338821857630250346834309982976924699691314695657725767669037817405988483851582949971354619165489230031835238324849187381770554828527427062578935522778888809408400821988355732624016296137928493500742017795757382238886167879397477362455481732228986844612933763290363043732012130375274375934393517182247474099339069260259818454287513712261191375442896705820209686281732550816733126466310520811976363179100076796240345299362127460329217559000095071239056977025422919141778993144861298266125451994421117602969433328935893062164955128951749754976006412868260712191461074163842052080873205454121957558843625948475967508891757898242199632030664295319174058320073230991035185989564756693418944231950007280482317715357444617229491653205639117328032319907597269402892060612704285787516787481243010763017909985012162491662813910060432523834962648690991156615151174772058892283104685661953939794433933904165643891392713451173940946673985435503204414699663314486586281782623096331343595239839798618662487604813486516562260580985698884226472410706305744526200115868811422132653880610462832705556580986008610386751454715986372989543611555896272648445969633048084801330372317332708870393055945570196198018876237480575666886723293801241243030699553249383571138254347155726403991291261145457431174933358342178625399000930025616150926070372709030977103873490837729478624911000395582937608635303111021647439976744275608017782873046626825045131008510700212958654956207024277420089997698526397716881137141750463640500052049212989178058623787274495909162809600239293328190442468237247125457427493625600090826589659848761899901224117935431520825482186231370863119475273539978874001232327823403273067992037407781845478754751056713836864727717343408963357195497896659523477428986609542000540213951704140895768545839650248242634667773699205834769771031059623580390076971089760604526594335948271529240680392420879646649728426067280846660028076092928648155658570600827175900457315236389666025493848576310044862719196775818301216657905860020573694578096470654701406436620802151285589435366325707685594730336962513558276488917534705021006393000639450798237577522548611097903252293727691883197535975073582336240359774539671298445763160977342225002767164086717499669144581280786443096378827973496150588989683918715303773758135977467948097835918911158512514421016991352400763864114981996021596316172295385731411463730652190966489552397415011040016975671043232777833741093381811064475139502918864264277026288227232678060233776720190028992134235066725996466371713729645786545895444495320229538190095629160330735121380187669387887237990903994541788850057270447568990592740384370429703367803055157776632394495276799052826534909884265974167524827607601469146012626775675378243180163672861706315989634191325828207493598810403771549079980298257384754038860812623112627130638488519013700482995655688866520710168030890643048435629681093756429552697421610556298868576470000475424468612956585406765335596728698231407127345986394206101202237502915537410043650974099976671783815444240992443345206484519114190460540568836980642668467157246547319873218592560679315679821468490914012899189418366231829432090612808542542969880458219818821594225855014673057289592434665399196100550932849638169944532241066650326329204318792803372795377071864130415651661726730810252754294032935642176025542264827772590469577262674210029925360677111727084186970517897964201682968302710211949889819901321611542255081322353032839142362218215019049246560541286194619279658074377621489566367512271194249235947138265287448545840554264617232027685377752909678630166729227849807439806819905484594805038169685190287794191843109916267799722255267448090896519256857744488546094614416596634777718190327407012045798690410400073758595025173420796524288338444918634827000786531313779304596421486289077871469178974103095842143772431985707599481445755438017719856927320768927816314286353896927392542450312465008029760303617009153307634690760509527002017330780554277963161708684174056487943677666791356580364648120466853862784751830036362678671410247511296121495609627346174741233637106273054890687814737338086354062290880426175360659561089812546674362702697409836450270993505929365830629454122248554972250648067038965987116749141491680519278958874619261056008514458414910788609588727370985680111335279320329255522447705571998138533130297012790056307937770905746618749954589484103819129527917490009700284552069473880079239744976025813076384798181395276502490415121426278999063344962867179380516411398447148989281415893114692213373522335878496317706262442263033546765539799315121406840455954049264437219007470859608923342420609547527637408665501651725780776376263946109507896803090918731877117895599655851336831159319070372647062514356728815402191263237031753217757384467638655662281071240127371035117462494700602754896151765747520886319381477291341884248216699679703122054648547774757866185614806379494051362985202129326028093478334769482971610240196455663488497635871768139527722277243567212889379566685614272597937141969167368780234539729001407126390247093636758567919502390510994462424936450613899698866492424159927720027009208679904923273268470144675752474968374968296601983070522937784220043305110205672499431366190488323048711286468L,
6936828952313458489604069856849004729709347645605876434573636124587393144996489870972952906138623046233415975481339776067585763503430227409019226649398920190478702021862618063501256844050063543565939751130302619999300636642918029596044972205044085808344088534521428183799991836310897355895029725735227689242565700454246414810897073780366412934999122064382252981493491533202603608943296490378036270703287841400184955622615107156877469784090356711381936407475686725312796524552892730702833790700618425293313900834056602970514950415277428018759576243983462742733112593771987373151200943031040189566915096241049553591705693340429522762172182398050748371161396817303615430845132691061739866722901963257842003601358241230851367112833996218382986137890995170073240945730413370493898154352687740735476460263415906125617624590488486060193056821115609367501581789293754203097861046157093208812920394474999475923190057366987093486352745945271128203580944930971024578774267674294365467813309246940224311823132751915587581252142462652855476428717067057223782660927994904615864292166938331434435184132754644450583071485467888601551991547946498607635290247683217315153035104527599029351477895038145711679051612848062494492317346152837077878365946265314399694175143627835400553635224947351595119769586307209746144300786113372859523460174373873681824367031085535221715233964763658093190857078087182264529010652859095486434196551627287325658552745041448388462633941952326824598955122081136836080022833696305238567688648811287201151246815126976888520757026795210123369394829737526543723033164359281443528934438883872244756859089650482620651842992281051365952752264982801649166661256257757910081832872506361103032301028020534800602430472046378978302397349169972962442169280793902204271809278405009580167725969265406674066446912886220220922559679150486227414108871430739752068834010235016533529308856174272804539097475587796879336887514132667444654545480542954452462481720657475136375765890361969040548118688303959208273691255446670740747168066451284856495339905232358729625963497854581812269053731917600127081647150734824761953539983862037581814168959483547885606974556758483529492852893313034680089230142637557438995313245723824852665171897154669611788568499331187524154928524549557536568529394929917841025301603605192678413920351716861990806122987094594389021571387213828658191671715201593621180267354531177498742369125284205792124251178503404887360838860835430212310767014953388252727504616284835839813863133819849296532148060537086947107761873086142632073497292711735858960106395391651071654146523861310130727036559571585392033275730496308358657299872504134421384258048105678216278157298947261119458588719409166774260150697582747269940360364804038476978200605344129963922561655606607422030207594512443212494788661457807520509984118736349482904669331244876864136478939909556433241657259155885124187784227356192304686389418013686849383925433697840635382811214627640694552170651251378845944185454774277524075146059597439573989051262394791600654937199971763931792423141154724090705175400222243940719720511736013542978507435194064166195139750315979772683838131764183039204416328311743439847045305513965885297992865873388843263241609156347208071650224818338055173748386683882250241149667415127185724265593310568955931408515949273762905437484448738184028883360065203120339687520977064268194443546236959268354022960806341014762019171390223422380586025372050109080216861962191212067736006493839149553109361882498309387181979935006065268170705388318883519474877300823875153452068669377561248967710178755111032383065917466277627151179375960851185620138987968842822092492775325920764912121341645866630908877830935716489013247353055960798621194946509795541786529789893524170264058246110181004239853366991421077263915574284756034766183349942656356931843388157428074000942436944093524514340789512311042861410850315148739356991989107631936119134838196350465070940871729937253196449072948358720625678677634522651120305443505134286010562472840336460846477970181403776974435815743575553300846042780757281584965947117600186638989812014088597601800280509240385163331500412833299770010969270056233983589819494741110166435625333246826198236078454386219390663251192890826865722054470261963192273370602415825712611852893015658603010954060820608081226959520056650781692135292882819890106372855870720323251940092511284426696775973190016850205853984319070867775531666244045570618021962193388872043607284784357074106062105118533049772329965455440125225691012523217004786960685414114323004485511408132053901521501787130224857249563811437589494327439716870350728824373466716411959974660182231783784346956140370185002703378653142120740325415546648780417200114520467505100186423139541165573111550705565730458585098846374003280771138051878994507047217211970071433553253334983506952688504230450319190350212333109438423124324330036193850510019164709009467454564516351629040859389931421809780746186499021214235416485370392009166584840742731017722019831409603614880782944431604018071351455821589988741240398494987791341460757042483497698827831367853839902661790994849951727943681746506580639423447704507503120377623612665707385475122767286903234821481245714091727468401658377303912726396166251277294875253504696906913108885655379956193695239883153898183255187113578491192179221467642652181704962076422039649709236009187964128782686756960124530097835525136041718690905498228188534786821608059525694527931544296189047116181775558397396220565810936196526164745822840339320668538471541320247584915118147707153326073769672041982021592705031106849819330092384271472808121425658492743206853412398686495774004565428627486990750767973593068369659275296029491907829655904838082209765617477649712654707596109731985203856400127536319469241874201696143286540374528178972522845528227724528581046845591367753033694114929584303893963297392344029400239914177947992159722893547655842273682135339073535360022153900295247175154325622752659123415346124419375930156382926713667352961686187529002616638784023746214348800608128580914153378018695458183948802457605823570117477274246503577496918531563626150294045287108587776676231721324636879130077383431797692068297230433908383538484349219299863714365336803678774958743307131688997865080872765154175087419267917214374134501136749966987732506609429734294277579809882340555392250545957313514952287851234790296993096486980578477302748391246324032173378864285777L,
11010325662495515075744935665104942701808634227169540466290006822629979745327197008822317415160803114105922883562027942325146437110893148540645999655606145801045695447710190263760682515050853237028684909991250237539524754821946083029010307314912544459838191810251472167831490755960890445786808049110242631537506171491572022606127651843355273004283665220572430776938204416438516360607454312197623395479485063230387528481045815254886237657356555497351004920664192725420693387534002975386018631950194674666772788290617832812977785767689425235368768888634111579190651719611697232019381561132186151443961968237355126539127295343453216204500887199105707746067125007967739727339264551903757040901343575993240529461873321315895876344897699921267530064920635565482556143490549753141660408448776786975629985199538245210553829854679473813284790229496035870740921481809562020684196238477577049278773045630811000742193507835594476643087924411978287144292226046622137524679682575329106424372837101215783132620907325156902953873310721924296375299402617506613402964195411901171398800892352647307829530578430158436743758401349013850291735191633993015060496166147488591406203085426456818072535419942011325018364396077953975990984144162573456874753194103478920335387153683229604576606280091427080051247616920424186767099386560503731005457583560733536998198278474011988321490700922301074081604443563541177726331187985860472428803414982365789027667813042320327425137917635038261066687768296291413496291152628857594155278026541555706715393624050954086897261922186294362870057876447358780920942687280994084638092476461588789407230814080532298651679119440018453353541203445140336335890290965180435891328201952010010541508738511424151609251923667920682285247033076296766332946304282555061347160387181978547043919224641358129511620096650948208215117997094155175093416864921170078260737130564593060824745809282887229053415985669580344319376230341181472832467727128320601376620021878769724191091217086208344186475224402629333214856772275673148705556744879511011486641327679617568113414293639896862020761636778325956951953891935411379186701652222392019225864043774546818570992458461187560627716503222491599845142808643738531686541742626311513036212763276927180769822938799488956118012142971659600404971742369771486792239210962672103374896736084303018914503021776448183425531180185973711261289591654606212356658374024219063876458343521373717260031022716345474382984561601812105738347447862180544079211468550530791016335336870144931650802683226173613086179650388282521512242775331140726694877873178643350660780290142505729427841360236064654850551880440293880908014799310302330085846352121635244165715617988305116670643848531193031427445861358441039073181380251945794569755062739889388062706798790423278334713044671818358555995020436845860025994387223474205033659268387286953079938358963852592925951973475304879478638918595329096077813169890294624260357036135262071428040560608832850331488407290098554692524056549733353608814231681468248149108221724700299984723531285567817335514017720622604285350842437280210382792658472058985625198865396964586716208126857371733024974089722015461776801841863059996751912772939608099290917299633791172257050859612953053202296086828402119759391258289849208300648538273133330625196532408493808291474382742879175291449288237462750008654606932067517937714012400593338243150693323631190864050548243410413582495016133182847268974461898155421181872720116527425684476635552420767959945465915587428954734134884658841605956552758800892700856637814651993566764644295740604964169089727600774773793577592281367549147834724773561657688987907769287016425315053083859430775384488736420845838383175708161947291069857606287929224058558784177430525320998479711745925509867846831094185105575715781739792300070666650311546100570019745691780367982007980026388896842065807248280674145511658226838295197255876232663875803255357405020217296229093228493255583590461907200287354248919725485502171907102588022902306974466404624633546158164539361792198580960930676854433723132227855911954456647166969586878679830439174062834303797034904239250336595313203919405041559527275968566779055042020508644537301807899977947099532778082197042306860340217969738305650166187412613561314183817817089716822294256053594656781468223683111339008767415587133335359006561916472357387461425109793066461715095254684128868017721955791540626758001500788741661375342760263184757936200295591845549872005048894033362057571916217614522705448479990182227517382174372045091492553958275294656170231298794414222790589338730971395215783583796462223173222361078598568443810784909328898458292351403242016404277716727741772131682924583116549463544895487188129954210641423967795636340577654759480817442757285206568655646621008884792581931073092718655876108024862311201343494393844384293096511583500927117933289178875015626009900950372129297594459791887947999620836808021854523158859901426801577320107937832358116333049201405308368035160995927153978407871137132948236429697528980066198824946770288268628970161768798879318149367297027389285357478327819798593918635429891864125943359992840682557068636020049132186018198496491304456960106358729576707999361970869324261746812064651774499408768128828595467475250533518637604237630912477745160450771311205575070862130332972755707891225818983154277081120413343587131834021481125327304978055550281983695870534751281675000613094242547143766845377473128590611877737685639221167142575305090377497748373194575454042940607406768907442419774987021474249452618603516042924392389054886224018101392864897551993360367711572281107120887522753791718379623361657647090889260724863058052078262198358149017262184567144334746600224421862324340470130814887680589467161536380065537900507658212601263478144692365160211118954336063556786223478794979984107663246400399390678796612546892761655104043052015825702915016037322445107521569621615877811464133526796308686917402564184104942077678688761815623278175169138452344637675653671381597255528586394496170208142853487475459520672340895670192398529215066604650921411328747412972618233620146332299367690722484774679683836182785584535235185748491868274782632331417243387055373900909688185443418989129807679770234854803292304821610116273843416834051005177476801105557796644426197679220177599830702386449685522110352603427123978644867517474951143840706725337624893304735109387951529717517520784661708341682132047324012698471025350L,
17473894192686057685650048269850513218981562090974206024932944408864494409040133498324101468787400023494784795994629130620285370885336294273345701748210088175515620454611095171138703946687727773179448870550338801680352579940478208786881127715466426595091885641420087204332761571703763672896701326669438148591322191829331065270250615469003287377161789174513588922967888189658168782909349475454364171442272274177355639412465146163268520351401953881201756060863551737793249327981240086666643230735724364421745522050661715847353097221433562754996863813259371084954290169866612248662767866778108006184467133213654975242215110987347609594613930764757681876574493546100715775798711802660115797500522649498554036026203714751314801037049357105901549325776673130417613443577340085804409309702807780364542339126651856448838291938308283142867915981676975069248516555922902183225413426050140533816758228640444254762535976387787522611631727247189363747177688542603581015840478350139697444289183942637274270102746246414724533329631543363453512487046317486564024667319380625948145174486898778870793915642389461035905851045878037325199889156223696387227730816334356152579150067452523675348289982088615751254642822615886433747537738538380386583387938030150518680819881265062643213860532426919900135441256665481613493369250226835094548083854244378148227721874998300107440313363593528979223288702093360868426228332893807072415100988624436472407849801633520461415635159518628866680094753221039609890446623183958769476265441236552451288199127950807576253949836745782165100219143998701360753974699598976211753925218318552032361097650338624008980158086850652076508542134087905170607296633917140128123660724411904423552027656759530427237626205338672996223966546351098732765184101486721776613258058637914290497448266915669166715573872961335112562990306990543080821406188658251784785750315395459415877757132591948944846730417239231910146513891748266649692132981028261728921869925498236614106256361543003294081763120288825024835469657471278227584846508453939223492958330208771884638738058980221699257196411164946410653698994705790508200213079087577869226520470619621063586908427706903919988544926372764321620200366578286676831624918292326981812825736600628402052769799251561359032981680011185736788765582141690161939477747669038988701771851128563594660088922518874633560996784880071804315579184926653454018596690971852363760658749321482306572734286395372078224143649599567027698090395129614849081670637555759843579547557574250329378232158619754653707570575720985468888788572352941282455154286453029140618034526910261626569693420715531607922059582614176052628316637533159248626210245529400082709963455005316443626014593319050091233158330997800654107282895186827594088345750104878132614957181548762959422724466567680005835648272406402499377555726683959767599186935971271956117617456546123138713413022730242592807533750725827091238658519222032419345130140532202455542080921078364401979478943545678381941993751797854482390123720175585410823644420900455428057289865301229995380058075992966420861593888596577639705552245969502519862116437682984414191684592080829814086297955225414525938863712888613129107379878510839867004187821508903913165552383417033701149984929854013523516730244088439779353808107379446735081183988686962457303263241553075085638146569037644275364425947063593662927269716725629815299102009781521709937043308944027705643903495058789692177994207879055349845234228207895973585509879832273810258805911789783620583585607292593549372569331125864453332506246631911594487564115386618809247499438474839468666304896698380478115923933694395759786194427976452642010435089573752996888216183467082185583620723057784661329168366268016885461517137209331490610424678892490507956924724398457511953122864364526042206397515807777493717581175609842925959081968586707057970432338855179419366070852750308229420731361655214262586358636640551229083017311216873834474453457729522465585580275494902071468395317285462106336449594399978147316820516729407406559250750564942051742955858442522760000460726542824433950592335792667465774332379768874433227273088037975264026722350789887020496515773728008295406064727969047118975097095203779680760618345129368011431153827596269293704155815711058418818405205266046158979487627487965858662958160472516308131506476378853939785669565539347337271776301729338945881320844190669243054036184315002001119797339323837715899782966415104206805063991475220710420923131103031223972878293837222450771692079596083918450066885105985099855479419978191829327739907023602332723253423487017961039153608317741656046624243651257956585942717446456401139225121160206551670242059454262587279786279118148811261681644234339639322175241957696589615018915443212055642630161767903101413403344049015871603193883987515895488589339857466206731482831315884891352433194133517082469222367416630685635990596982459606665456416869392554968920503868416442924265460468515000911171697823063676807176212388816292852087590157037200644822909584593208759349948857881019980578837751380160948586404942470095722248097512306759108432653943734950424023749167694312561864516022906076304196763378785348299806905459409003942956506035766951722674364774136281776498800591189513068728212747421784263591036796604921146296181783181170735322183939327366901722194170237546676737253609138945191271084992792471093839951375057472786542193327495512744956328299580325291517732331249038061178204900246122517885828872621354077413697547974791084628264627122481059039653279604206433864463707060606041609498017390535916364025303075039838660722280469972961980051070704884089000186646294524245210138630222926026509327124768987076869230358105870431516876743355839782854204978218443848105117096307775682538448149455635386829796128195211579727018503833066274697204202064281028323241349245626975448469528315877980601643481010586808202847808125897915167169405156131447562062786185328932658579120562993870100885516218486055734404083857576980034122290989819654092807525463285158199980787165778871173908892979229927400541359747133257338415447283101356812240516000931415388196515295225842219710780689027870672712282254101324263476970821567043267556432930451931900724606768050869018128484800770921154119664292007111913772525413973262389164033332897976243760226524840479550835613389931404798203141379396020610933431192949546937024133647186125509782829624142980208114750484602535269768553645119720639912156115049872430L,
27728707246223276797401337145660215060197240437525664385256656229789159860085793316319917480145511148320209807143492967143379292483260009409025257705476045478174411140472720846604361681151727393180266202445457058004226488674655414264058924417964094992551827500975297625101123568501931592263446159545957040712940472942401566401976634593164136194116460373543040379569992439984826346784457955075200737530212417482472221519661093428566165202223674379597554183234729860874241466034298571483016511795305229651861984994640207868672081096946076831295781401313102048737739509648827057737273535194623951257154761786464174356688579325777426526686014432778062933693776317278130105291174087332263630672793763882221001818959798117970708904781724521988646909156086345101282151184404187178701358677225971760664302880879216557164662599256492090785087946394036734732646243195574703728239663077013378337254008509371513210978341885613546117874263375235842587389398080841145662505979153692420025832059862246319227433307445373473020561963017954912496838845806276455009629744204691320974526452102647002470810646518622690333043703350442734541713451992990210581026070747793269041266712735249679911098577407451561630527488601923582047232640793885302621823856604240728809117092419135140587225220453205818282566276133050350268068883122873530431030440776604237075623999422515499724764752999479328099407794002553067649448195457829979235832157469002923129000654089868618984117503289868901318390385003926564770379833501328484263245442563094272434822657259843732654969322181367171592373275466115111826411955536939987923593693242940059006197438951068841223976780532276581058994116210209661561999539980956576136402364820283930654018570256256032831611030519282344910579788957805193553547314091952848753619428713548695466800453652176717649568815553450100379846010283994188653356642384380743193364161994804827424209015174564893554927581881346687485462645441085621417640875584677069383460232118756490161262604472551259720327024836809423862485390918156445458023936666732428188391766856104964686085098532919180001684895594605368729436120880725089337152554703258477498940407779769246305964241742674537297593091975589158122695100781483015476976807275222079825495252154886186558609931047637539040319738154229511778483413670424513760876380000680808860659027446978096038512552778159259076274955679860104453298607102086937916648234279977786267214398034910659018027088798632285006290083857823469495048687252188124601212834453814849245036949914348239719055287603026765133158491074341114161436281796167029999828840656430677334811154534832161337784306492705215335280790663025659179792664343986408590245647884408330275838415343573610834081253369947978400444246246304844149383642751987108157309029238443330264406232733972820891797204864285062846075156713658359420287789182315198078667719052938439029800069813469941822437148500415098197255528686681058086278765333778291101656930303062299210289295232510095506308759280434137533804258300355562185045229010456029988664539292484467868349250267705321480808939314366330918426957029625840890976312959942284383809489355999828512691158842722715317828243390114338960593685915049125983014316309917494524480256171211797598312888475095401031887005594901080954130742363530179699552726604824144441242017470986201672454525714302924972604944600988917376530090705871553610945757952968874843082136461006804877053974397631085837115805302866641178029473702655493924669807116395009536188650946572714669076736240630012162838721183459010715173548326173071229583418793521856279858484201442892635117325217261701540012676931625494739282642737239869713111527913991267135193384486644470337502845373913969600915843408407790886216286753485122504625922160611408216577512576054109547036737507146535046869878146294649731055154236304457683610392845140064495175841460795409309154327797988687615033619044407449539012403080263205369967845253386397856790191784373971527452202889623755645898441353073406688578350769028416159001617924461919709996129846526407569684343979016244218235490701529053365912517907314145098926167716553890961429402642545248300339772935057637522512687851695977509334050799216040021828117463061281968742180950469836925069594189402823476318968913319563309985307605032828868576165659309912955993689532973481096704191128988516035356553964800067746866571217914052142314607773858580876231759032601098201942651976718587798573136544911546754351897467450520473531315212214332198741080269086344152540715225652937531146332599749649798082694419825875894345011801738641124458353880068350361261473104800384606675095768460414957869599548413279282568409297697967849418760626455496672067923375928494123392173547573364866841490185751698365998449669240980686033577833354821899030259930559020707878817232841091488523198883864897391303906715226474202133763382958729553453596133551256615243895137040482858968327235187284746972897956079460178227895754398702292148820915890023704457794461990888683558528706569298582377358634400707116558320418077414939136523011320478346378547030025839522217090380239189721086279657389393157953032275093908936248879889622065514370253318987746710084332081691433434828995839513626180383791337658298542109153648416284079072658595229864121987645655890466071162153189467286654678857505740136472047380749715065849325919499970677696199338115858893193610837695231244436913076689066208060865493606495485980572248121578298276783430392783545838582208879192733298626554613043639517364490644594822800184676529887069894748186736708383128810979113853546704597398510053783380078343923644720884815420533072785589976421499139798492785125838109566999555939792244287831598988339048452974853517813092537263946620702098496791253380152599177655375328902365055227566775511738288033754902684532877170570889088911916284171560894336686719809619450887411219253497991205756129156796044634249890107460516432088911847897554260730119249539441682765287126497944539157045760016218316188726808194694341374959500173795889979886144503681002381402722541622425800313808126451526364137769427906483970354734360390748060810574270012528856321233942353296403691035388381440607547339852840204468137048339208194095606867368405762147144369952819035271824614263584308206188928662793911014150409687476883702986416092576248937475090815225155248081422374066242339815561571701440714713273322660767514105934797021486345802221652086985811880748513366579764323347570123335706882247051018764533738136L,
43996684816998971176974097812655664081656173487534344591011635758969353720103675744245784447999550050025859376102623240458706793921569832546202543308969855349459454253712077506589327039807223770548822352360608801759579641809512460618476596890392592674554834034736638739841842274717748614116385822728633181571023659751230976775273391993698515690049379450602688072624822265273244176650238251695651806087721939150743356778730561732644802206724251094864167834267895113668816393975045593181494726125003750019148483285346151117036037345632311467928769266694725688647726213121338584701698124568688558056790711506131588161276429032217601315870552951505502596444112721243857181068557099654429519287121101584824634498220329002660360358623742532141527168764706780920746341619193176621975175893252838295429348721402675329495109969665029198417538513576489233844746679291305735396743772437779796647584609750097815357696021531449550529682365622385824193754854069477500266744934241957543775348290327903787138266378487075033188072772285020139961866909190367625022686168002415586873550484533329946638878054840841918326509465153313386514365458831648553075330412564457361008774803032638951972582099669569014175508750216249208806388416938568806082967076500958598173214149185518066795341709001731260053230531683305909541589412657691603977431464742754038769370765267040157555446575930153855190121949081260327898359654088995240109689250522361751379278259018147421185297585382916654160305417652443765062760271119219277474519107336434874628882465986426855398042812384199050921867159319678113739593240224563132494019805930448806946134456769332453235002713519973254061530578349722384817370114035467584437992077676573571664814484912816630918381255287548752674379334745808107176898597332658826023351027062271198690613742704480482802802818151781734385903929646798814171069815545062526452355310326624925373386397711534175083434338588284089157774209736360716998895248003857423513521032587247145536740838350917858080233132907611245921367718209055935092105217625559246595753427912107989876658331699757563770898758695358847648796228022820092317049648263768474970979712958140554470465130827214574977102348886864013742875501639480372010469779257069887657847881690111736880858165091502664505574606789247885686991772494261865200209764137786454821745010244550574658406024100779738832777239091026179919568223579439259622678016289791603506871994541336320144856532251677590466418868190322309205155853959936515451501164384263366278667974898627169328987361554005012046550876344832690601442278998048307759977702075371189444621403353545067977915530432810521439944912091336154584819641415112595931762553236069153863836269659278146760118619709081881993290229986242954101923522708748691352834733418293195142111358180199747548532861415125130683645597509709853749385634747902099518945349366872635977582446317382378592424073501211334755879482252571342857213630423083954200298476377854259683058500129306844311545227561967426490691217130782345518678595059519543070399224776311374834694517499182997015768720055914425515929545705458840352350481714942293543524308262104477828388022742675947555639093249783909856214611936845827028193064158563719410723688843780993875441720312060754280648703577131141808503523402912922532731047937966254351310856286946254246051327880706553526139000660484141000230955427307292815290302749914635351910698724436937263089730122401450781383585931104120988403397220288763166143263472393351457170008060592777739130702693982092684497518454741125060630460539722570821895862754940137087633535687670588832162200776140485545749567419885629336695158449578615428120150482049962415635398400408832676022561600705979140254418721328014407422361865917340773969274596873120273525038840936969769230271172685658818974447742319941944282157080296954273446277589932197737128071356478711643332559327944257835521737184990962184976425580343601110513569785974428652819002118803201105418588788620765492655717945300083301466324791187863076917459691918800685599573502000182196685284733074963448274985997620562267893634264923203474936511575103189079088512270709706286663951505875444093644244680178598620186699027220837762490675671037265216563275189855367344978961796838645267282751944619129477983104357639423576085385708459771085364065173542992792916162927469521551000893306005275764188255363540336063938683958524976072605953596947198628288255954319216193598878346662661558897715013401597548416654146129096655474408592008569534198349357937005644278887200400757615055983790416703444703459355751702816709655946293394736188760829826779599077782160271654473419986278439108248108315929361959082366144524931923467843582693038105747751594466138020126828001569853407071242523921028490116659433144051166073297947970710692990434414003218528441384539926613481066363639904892409067323637882598628254860448277703653557527995624773519850540984864971613436623412938492568260373571689582366718139501375023759246456316264035895375567842033368575393670608937721752435443370861486774133800436017171893040405635299870940496935323046062680390971267341364091461897066928255515039038326372986479056039206666417255232782104081875937944082720958159696122065699945726912681715461739050608332411839740483431030090706931338454108078509180071242829951588226762142364091547179646103606773178611045523709484697603314007101297914090481845453523916664036175451410609230890952251516370909678148909665946814265897554992889991059916700814957298535499208682755171011143572187645178523410230761147768012126870787956004076679717702299342389542953793021747585587170425069623822841887787522955500898373834785368858124022574082084758949932614257849236392787661100012456279981392513569149176683466356658569130551291507956956115041518592169283423869980692107060806419431151187805364316445801697433439160739047166980618757069942585606679597550119495023731138351329821442934260652435145599434083033457102860181309435893328311815489154179508676395610918209502329009625267989224914904756572964447595942245306661393776537459672297713090933149876545473141635267744106571653191309779452488024742056343904999099223500563650651049115650330209894045449735018486200053087516886776638522753798877821007578042363214453884272403111790477380586271127428628417521610030325175732199754940901488106143925379533837182686807022630932350191025543157935754398921243946966466631091779443986561402323697691711304429045790348940304478529050903330611197819655076L,
69800851337561248453243791358110198727306461688616857906763879265097251320116698364731028458179892023472106598762646847061446085689651275971938530000181064617664857894676643624527474424273212533653467616857845243147426745492197567249281195641398258079752372855823530285304145974878901003636307059698746039926937420119507447072184727824741255681700851822739971067507565594439547239422863648533233993761517311881331297257869339335659455198870214101594840217892537742025219965416866912544473700466826830186819091248332361151968836652558198309854392674046878085380378125067837253295972831836504910299757521426054440777277837688141477327194910677531503584473503596919812164040175430791400000035631680132153850474121154979244774699055209655958617217880303348607120459381932989271695402097930975209462428245439711814558702879954130885770959926375340398836107779792048835918704246796700548692686927036883950873794216505578884680417773288488661471234777567639593621834474621815092213609201880411697043146464532582589539851339023333473050947810986277386969369903179094890775689680208874580479730135399678275078148927122884604308910583597504606756958946967072558468508822504349969149955868774871291763100647024981216754801272893941425174067742274292918199230525990031726159452880965971794292180369136358261715090735863721620745756496101406099437077372465864501697999595984767809759961536999667518613632919544679601175012422100164427182550280376986460133732489868077697681982777804058921323649310106920998976582412864169974151441621033898074777497721969855346177130998597646481583850620941636293435637639870615867747369928678806353982080722293740746812382120813925120557302166113179619045746379587770369448206175546421035166803452644312694321728329502871911750401087350137308087492215200049893145343320102347028207331170521566856226822714342431467820059425348072669816103425829014119021168863900728942200782851812842380117155700497817008217560472004880430477869460978840982907090159749381072513187800204374634820309074298982857133952330043442534423148112519969814935944555821475656995003921461864376189991471588649760915726835446917032367341292735922160378623668227712969437573583570003155254484439712214949681222795795519505815233745397908378891836914741979667564884164753157649494248115443379429317312143521796824667160106663097486954174321876179040748076743355741279781521839498980894407201524243283145412057070272620169615133602605664693564340910095253874692530720383955037987115920866472846432704606032461714627705596612742909330611079535405111578403906737517604921380911767839270060997840027226817983283706267298714481670313111694713263123709254723784631264921763258761513355995593544558215009516405206680720536381735898775297584381802954915267266826239293777510128965753165738122914295830512778790260354952045791127447333622930809180060197764613920917141716168953868856112088116595281585464923273692688838541588720206677022590206561884666652048538297725197775554503854758499302244723965057590632937099972422593390236803621026518031248714003980916191973864103484314195983216671722671899966742261442816195550294859044964393907741228954755113085582162674658263268549762661724103739489691649093955980530085678493160713500648430126824950317729146435380863968786289197425667731006834183735110409560808387768075833812497103465491044100493107665158170295783022206833353444086143948621673547366198258955335383333928918594509597895407635761502806822879053838842620218225923411208780402777966508687687403133289247281869260937804167774248860465270893074901322786285941411086886466554807345009343115508824208853922122841871339937594315365762172082547912551351797542535032235440910382251839817420023993897836489853387225180839867583176504572317837945379142106540233537392869778904091876837516456701946176044210676769210042730827805422003737813334754288492351969371891890366893944154924545504619381456499488160157719839152370112372661829250165084059770210749219782440846144977821721266565482929770003529250453710563955928359232411187395718881577133909720781130919871712128771014749303943659453211368340072828258004224172724319586543477084436872560000546433063787831762597094340253313396536791217664727171620407365770085602252881142771580610598605292450871804317336064121957001244134714731919164747807153213971056195031402724079188922880814112423703349217074192128315999000305394523312095897785796973154178793304512318373261117010504296955455153221783840182462541448680333937529297546800471515998034190698373636508137742205446762218481273604333366962121317846089242510779588781957498608024460934578650477369313752371289923438859733880449750454120778403037467006744247652206700420230204615585603245614528546450876376141675801978643530969701557981145626611331317732697077413324671341075738283453347317594577713485583937174378467792036142012177650739457990171187021974521279981951683271893234295956723361287901977028399496602968375817344162183092548676244962475257385712996564590981563408826904469889851146134607400552028328846441714573903811296123920722987331226522037894948142460366260495937929755234984313180991283960363580343182204394248088244776828625953813106402387080375243460146660703063279419228063350379653656773703472477671088865841424423995636225511340512439778134574244475144349062579916696287617294048753392779860092804426190190036692568435726671374626956457785764125651447533333875112806193791928572240306523252915691590111582208031145317682302171609983981850238531126677365232036986326110990437888570721371522755693767528065078506850025727653132755426692236695553305332375764556532648846180293091336804896037005858298722862700175876657496029366607546183301941732642784796040841961852822570943843071563532709216873004981147146281580987610061724205045832292580424668038641402660147331356047196425716796053292055864675654187789759995051441700321478379339513095516886840293143273215037969356997412970220259506566248354394254728261540587734914318218009106244480152195129661345414648450441886809898839739795821143744653324008651810061683124317227993795108631911886132782825616031857343222711003079241456687116158215645179466650177358870685074911922644793554316953393068464290080298881595083920414936739405401801372683644966476260104700743284004471660375494105471900557957924481253912857393634884763242558867626963920504548403793036444240546398836486929501078981373567753579248967796240923397133043131635868414341757810333704278327179989126892640L,
110726595586707513489358033643145205179481024103163489676761125667162240419748495040540503768403406040174486478182894445509329633104717365979039536476141302163218159750346598410747257533687211318896378824892610701052000168935466287547599860039906899434703257475926615013509144211195491037884047711026250151237188847090116801528025474433491316071651265732114619862220692940325817487041327572105899200811957926587948674073205014645005445853985360355411733706553652763744979066053239575469626569757225701961090340604182682350835965267404317142436960229131793548835574683506350222677568835121095010011268208793122076497344508898130817467547892343373140096773691407514789171825276672004042006126549218198618432653131191458356181227286036200922100795101310855501113548913646606818700347320580951751034534522488919826285977808535929188768622861299969384542950497523684716501628311725048123774564563582926411979756079739612879184060797076487900113175108841471771960922114724692983739446306831114644014820605307813197476307140680995745637250852677850621168840547867583481736468082305765453058291775663164358952619619393249368785937157171984022006741161374540828185823384634075014118355138538744357731630230408051837077952236173758526436256768737813323182772306383800806919936674097585495038869450327031906786712376112176736349368270298461582305598603911944768310985003627824039330983551140273178752080154418061143088876611633372906317041995643179351261930111522344030111365013504571763720198673534470719054557603381731557529396217211503229387066762936653811828500659481273985056448693318801650691105739496922213166862316938455115596818925428938539819128013223133079003453559422082844578548657861669973147075034025339544087310034218503150116571186699702203568706936203266044987321797182110463911105374797623932615279714854512309373449425247853917745166150060862109068236527675552843024151797295033715298952485842172008637920281769326175560855779023776989710798484777101971542498498523324682240799622373746455536383594482818293224288370007018964655801555811272088604401906031006267768941122085828489633807544708395663284723572129305144344399263091332341869331471912437575520287232234193506463295402381670635616976707669150807489555483255678745821773668079812563760971552713053251342162500145921330426246530177123396839895380361130076052093792672566699261851563071770588899383935279500195169256840251457121361404125881706059325309775630214104745099071489591133249955090130106276884738361838393984120444409512944897658698756746074742637562977531272155014217491376318698328902802867436301664681916555997365049909007310407442767899649571123206431264983704158843263302636803009003702165175010974063861877813006827928335107449012402071683461298939274017771519567049974095335524434590247152686728103225041791969338920557273558677270493816360228363068753656134642032538774145215215195695057184499501885528454231262924279895292325477245374012204059245615322778199742306534271325435837936653666172118603994782268523387430277890847701277216398484676586949316272324232458344685471135505279243970366312046809361168164954636771149534300386515952085897140088128056102841089884709323969822997703252474516931327833687987370244728266153532385003401930198816970241781098774013261441496784728759366991056206911560666082999702794501987995605404429524705233328692448429795043035919795201900939574765265990587553610784612156811394151947493262677013838996525091118025895593972865635998798540360095996273712627475996019496868678456499695343309718725911854109437641390421303561473057602628960559573779235006300340431763403404371593347630085272078575590451451848695171569779239835524887084886425464095992451876319801809609229835106666713032249841608726605655841359691196681690371626435953191613755901291091506168846563291484370190718199592303488242318171499693044511410485085635624910734097463502608586444792312164736344388282333387592751727633934349806867455209988046007136220910517042992724866747942966179852278707698800243669492417060253023218918935483582282006031153929966993976399823022859133001025753081527385006211318839066012608206077520754460085358873193226468010193561338272023129015156212073037774252822203607762349359704743061171564371230818182938883737640872626823465772193687544230186863018803122676857788281637286320525533378108237400290995662548307581515862490268636297834956451676073186713464439703173553571984345356955393888421027747598232635193282298949629535897028250471124939581690394035959253106614633178464003993941791908928803100111886783626685732539639857520051933410593816235092639047885790151038761593891027291610218757432772120151252538649709916949827538186285971441061909052881593806804520281982484614310651181036306652858752103160904612042590861361028984879132703706894499988415217986227162332669563297636969325912107951048311603798607116940715753569193197804613042868865388516245469653377095516322697894295112405172523733377924227400014122097469851255534609925735727230141145682626177473978179653267260658413633873586786320069332110325453553702845783861929233888504870503008575352789183665039349819982924234674723938125325336285532105122008007881559886768922762609791070844658603470780721421483012081747345784372127644723046702547099771149566968318406655996638481207432269443586582084042707038697769345417771445561747345466335801675885552357824557913267934692611023958273994186936039530850517275464273495636283287133118178909210988721309657689665831441483610309211291367079287948642327332555461868668161524005695563627148671875528603985151881322727254317920258296275689290763987261782803424721834102974517298828007492840660372825760020821428500374118465021969457370300022519986371697104090737244166077091574826022452030207278421468247677533987167046863246969789342282654529192395496168483628981451525047435109267331671820820072411596916814493319314673353267002103349188811317141038889732253231972419350936924747712070091226987032515277351687803987155769651589902446840720428105066953225244424725182870296509637630301385975131600262681848380758844874725891693207849026854237812752829088290200666536035222658610868137599386289472621279461967397631025645244279511295335688563393170544629841960493018728865076496507592646207743545546859645392215781445192520639927446838292504202183058634534060196322327029799021878933933860280803307597418023641062553631475735835512500170468555996041780987881260557556538975009206195573476142682777014004516276L,
175627962097708846123900924886900279423738015284834662414906040075947171291707371839004142943917545991819811250810102019574969084719826638326138212997641911693457339740398158932271679360225463918274891349613257053912283625285339835975678629589047224493944219657762935092681569154249012179414369745214035099229067324615087682717633027513067207874284593840543005937980181753461753731334259457520904486172405947608686484940475362140052509297016893417828838983419324990066695616947972440034816493032412634675343701472993930710597983064516504731219077083337022565400600809099374509648604296833547185880298325888898590848439279441294982875719089458410037145524875519883620156352592268379921883483688146567759864881978588044628132946041302633944467660921663796000189091435336124355269320811823718399619259778026636861327340795004001055844369459975751211680411835887898393802413310351652163080331399566202693679542157342472629706525022888528624454582623655083594733130012923415655072230306940315757963146748760041510998465056505355440253289904898093210712493265893663432346848498931919930747069230779352901372083271208294788670815925082764767244055493399396650810506909970946832755219616194638460900423936216149337019585478862190142839463598365649144046363997135854257531424248195341811158378763592370361791459794262364355050557688633109024939998706848671501689150173893305176758276803989313282866585252034880706558883659155490910399246090382844099854224880947211507595769739519745210116595778959529531152290617419505770150014021021016411168373352302134918146940177581762013908414748134658214612679905252023034427412102686250962137545493941879928698391552051596494065183061870656937015924164615137165129152159908737562884174874340705502944833236641683659743813564251645007595451122053006018038180512809532230850276329170498642854919356469954483893713709719513715095171521701263990866166730915398806061477283142760015363936565740822374814622937889091629864290111173092124452274745474105668568153294728266366569525707223055551964244155857812261557714555335621530736535743469110493879222046712391110836260931596129561879848263574249067057952467480371567876420836647148243010936396097153833810317582294803113568266645398163989366216050609902283012230886328649648722567703285704327733401018627436545565364566437495252011558245636950273475840002963547908534388531416761073812389919682067376954461781948983284361180638219998725528697528882544756026055547163782567072974619452773814094815480255486928664799981224843067997103731036340519235362448767588028938212978861694503148367112278096198402897949059938474379261117509634614380498073981966136122243724181271529351208863077932928431810859908668177635947955252553943036220659219460715971716181026190930151251203673907921113349554276796284878065123042443663954790134609066734499111720756103729409281283652064554417551727013320217691904042206640646811637222210673164262121631230358493564894391318713207177750155245803012596238732732088625461342990797647777800449317301641418202014634920080574365753682053117918829728782908479432514240485515568418216229091591987429041461856539408376964640538381737104637486708680215754571470419720732746763771815669086021953436630295043420087999943114244812765081875993302591963519111407512165351319032522270594494463106113169746080090952770659371709612487853756033131807802228665949500828852008768746624314084132004335295068404705121675736431575231827866921126992711533102325410953235050648328371267789353518915660403156209030778132072808150973485992789211485356733577829443686274107317730462988215877108061257698251031215780352608364403179454542946194967056900742091494266230592845765393516145362695071800859782866303014338203439557866200827747141521061616300202994674628106049059065231356725168347518612184987829321411523603478288375647115020736620171665931462781562064612137358818546065784323300900879232728413947811336168822008525172046691873548599147841428513044954912813421612197538521306027053250858620975322050364473429900534564492883237615559572524014122145661934143323683258520639744143470578642292361268956769326267449051971437991638741934222913236882082734161393009852967727632795875176364877718247817273404577285098771976328347166440442677823408325669752401928864397581336094779460171543982167470204146711587856845301063027089782211099964207775084150063357689814613171921569847655307811432979846464168912145995023317742175826067614699190510460454476153511364325202401504600942102557523163408945941610052915107234284389073188507511215951090078973411446199242221021094310138461194903523972384636816080957428016699821379963640577133151512588881999631390440930173846015990237461820272520868756175071499844701902511334049933760705385771081934728660635812480295774900477240933794106017630020646582562208483716325698430496557812102183141846022507879086997572517830417983835672114152320957622370367080933130803663242355460432160257302750426565042482011196843547041475247461668390901617300850063300949838706030048120771079551696073809155285132707620939901410902957097901353716672995802409759863237178974473071677618574075160776395663080612446429260404511541470581402564827084384962238211389056271225664957497073514505314416922270216943378725217335040313799550756968952084953081419683978849123448180494252938881980422452255009144528098065935981833590245267919742197262452836082826516872148180495639474237798021630070204903154470684320586756146486874343379621225997147035390484872275006660615320120132860535469762863629333505714650119856879066681259825073909810579923099859775068983335219213098390273759897353149945634132923113974400210694771370643435191087674112711109395766659585468624565854294532316476646781638241706946168026950586006180166574709461477767690890647740565292191476977668181480679042724538575928410065131673030337589531214829206308095208113158940444516714821864961930772074400638444274344709243836195703019521617741897047963984313742118912525840595258251748479982420302345660034642490565211228552398344674830827937571645984055665301811818805348710567185588891141187793958639964929628142597769477262990736854003157574840677167073013501476193334051022505861530757493340813305541718143952006505285618129939164341935569726046638235079993201219371653731692589095153866321294621711454818059959073469208300559978229788755286538689962613060884723678405273435534692099043707761427032846239552084793795676587844746701576283166385501602152459712183210105232L,
278538921468426080529390351010779413688370063488867064147143968140799058207084699329036632518922388670935187728636677321957875277123335265315303882471352187814073650599409775799859479670380098628206172121075541615786009373657922455324186686124503926986627927073373064255287964988624708700333361036708394782528929337050764003733507795339735908987523487943211466391079332288386503316614993187609706621972211196167842610668336127800222204310872512529676416262532156988192970245671353522300151942851417311267353691666829677462116017007911696717465400405234079330649911195957848625560102428057860733304367455827636154335035071017938939607323860656949460576577779227384609479975830718204570711885232481987274917732287778621813721955521546000763384397816283706822454827856327955466019986031716100380084014354007835204792791709292646267747035298426132271245478922473413759896660967195314168496886011560630386975967811083130112675935634728588262436615043595111280525004593004836005574706312119399511684450996877599016802905337058512461084662876336484993014154525319257444834123083835467641058454884127797843269292542965238834703788558757596523317224466005955107115659963926979113147042414626715937870414375671325083354860372100940302306899354682355210563064684458717869530812158534413634192396417289815013518604701003306982853716529258057575249490445446640847131644373398193519982387035243890442141965566459022571815961555362293180375138685488518827320598939343051433330015625338880194631966272906360124720012465849052872177238838925717748769427117306465878707122759078578439191411413510079934742053947759863409432214603861738786836589866102288837743130690477990772704360548483855570997068711442992597177651063031588650129253444027853519249000771949660616323118488311361274080976867854684113300535994071936534804361385184398126317680957212301250616985094010974406601632135060127133581042764668608077761968333757753650242939958619869891665440744507094596958763177847112028924566274770861938897130075335275636998916563634848694642692920241257134237067278135645010136139670419462654518396088672113165301794962825372632979070847254333121679845045313418771737754518364805436990599115091020980189446982444468963986834334228250260369266869238753710703433310470576133504080387393333776723385998858440519487211567273702768386951317123116172809003645405401647294548763866321249085113089632562606303391358462797626967364939290431681275092141054741964756548775493587386634010994833990577283426402500510256195112504842287750893756110065570497933564552392760528620572494494976306197635964657770041102215657704345872706861602048807559385422027195085824982447955899754531114322417745433264083043730636732365542951812939319876338396096767433219005555442395283270188790986068575199431336079531866931073555960022155844478930143531218504371243755523739812358953688499280848003183969406851915536105018889487606877947951979459564414125759212861888315617918442815332369076574936700978303020062612882741422760424083495825812672993873535736592414885866383657966442920004452455423145475440850234911513868000856266574486682005894122613156817048687429892729887218851167757322371229814020647380011421673670231529681906133971049446284650387517143233733102903045828107970176440004205750312024728035093842623474099768130165722771879426490337138413220207716178464848850599644783137874753264068874044383679524222199908909811003095312416042340561446727060008353110230533294865617847656903858176243248229170487535688778385785509549595197431265107331429824903398282088050394280672649780394771432334435293199528797019944772234239314935077966798152940928313287493290272685711411193260085891204513692364017115256173768538478263495425407320400732113782863656449361908746653814075481541981122165237683024922114827937654202269792466630783536454302465716381770535444431153677471954962136587130670490416453841546990647212325089450836440042304610237800690867020678363115570100239183846327550868542527377181458889783152733734751512075105086838413519471739149536216604272502475508842784048761936499961472608278644652034648088998538975621681026528149650319453628378220488738004479312793141856824610945052274921923939360414202221496696885195038329429452539913423161622912185510074213681936303290589073653641599986556925438820455680997716411196564498079440927579589880809138258020719823369471644432960577702240429326969869440032340384405795340318661568115685050192373780762076252488067369474150876550694873018977421497928993205112740806324499626307306725236191238336673503500294197135946313298607620095425401326554031442559106476132160987104915060139959100507758740271035129031998622573957920439665818422851368727978021529856248766581467343721720904308151828508846008741907050898151946914101764152711234315756805014212116260792191510808177055615881472076723668680051875069177190398604456730205903062477401477697974908934354471141889344459129267534634851959148957926960214761014265172297336181250207339933180344732134118286779797874106411273997073029658064257608666504101751150223275585446809170290883343835039348722740630105041261707087043879044688100556723853918529890516110084179210238627911072269288681543841348148071317936967242670830153521132431991161223396065743585541339340956738237156342319485885211995199208306619177080771672417952123081894709626845460231176283726052560776417813796246733549225348137262328707852138148094447166112130667715228808074588639011330104636551118760338567667243142085747384579498726093376557838027044540112020559934671239542998217555939843817718571672357724251087178431478851145613233226921453848612478314218446132333005806547116400495331954101213401653064627158792034595697346513468405059832978725850012730962466770728764325988200744460149016359766170873719612933751320353230358608348639198415974373863827437774567854434948876031662193924221954038734484311044712207143502469848486815666421670126680349028009315201258859931739388012852033933505136481179722456834639844200952918085958154316193135623151348852225506374289711266287817433152595918089781426751413739375693799331943840473694707483057837843875214971936496770756554483261212323567072419989212294487140837940171702107047236793496228334602305732600548060911478677558561961671528678220429965804371685425063326264062092908607410418250110747932749653577312254368820155097827915148184276579181106116707948321001026497168366815487394936416375530252029743044370730114020364958998395658520793625139670760527L,
441701277976710351277961682843608572041677548315515963851779261681551080220277512036898997461139537469823925757377518783861868524986620583783591848619581339403726787758801439048492052464779030001316631022750917804550024591350097294348990600977360960972773686370887169560659481351084450956880032490915931612487613104183114755124843686549237216850021501620597495458311698088821232735777954935609033647956761158593290808770303727616996029444788339722390583094265008465908718744514502255055469773377029702924886868042607027832753543726777078344850305449668693533218318589119305069048235206286485810726144004598998980653542046974401629079513010317597858162208276087240077564667321264102557714478530171394700341325883452683613314572572748309545535779425843390256498407064183571475010052212413388404663989020082790017853985778779887539817209539994617173652450534363690551206568545033937897082112091500116033364983799186558028774082050596620499546377117649204926528031735154207186191089276784346709853168454631752988488331333048698869056597870345941427888863215950386694442832287402349913717943776168548788657654594544966048903300552423421196455249493021776842975156157151160876852775512250918833074479809701869281962580627534927153157748905276988893978461908211134885685158734007885821016846268300163172431716942081136339360104486134717253235529619298343400213493276402521595165609976816783208519237773073625199210916749650554577858147899277377368384971309316255556344497771873471518880806954964656844405642248248419995309248743588445091737047438679751632569657280674463321557273686244331587945668743826303708406067433678577870501007982960179065705906729434599235353365049618230560483653483103627728694441054689149574442467593321912685283411452735608288951287146203757714821564289211612790669556533806027237458391588081674291397498720776983733179839335474614856346773522563011570504550905538493106612552283473363918291915518676376641747881313780991795639859559388136105444406489369182427194800926072368807220007731509832514248400627808294808294324475992526695021399161063653185972203595197947416857687661289071269517658981179717505881311782594205633845016351826256909630036095725539897868752610172723959074566088341094429001917189070528938199179309237141401551385731354655048612879499195173743858634434849451199086715287907672736515004144855019777355673299114735501157508420715420495088040295089804333289866987944193697118112776926365220349068422449937744514325184071347684922712311167802249940127555079927898739641760217718947815035234130582744334628114486888227312743707354507429017733555842425324694246396217631069732967471568637960526075950830455270199072032727669011901214750638648346627137022485117445405418292007638729797657856491016272657642858704294405167775720234312641378339777294033379893017376639799131992870734991904932202136241512962656745177719970472268204889091320479751772477981071921721316649797276865666430453722622400300866677737015043825546493884679401279354526202686233581588877239335081443059113480168711370728665831855820831563289352254705477944212470282050726317172463701550559481262513361631105478762812322574141157176635028151322798918464071436294650249823386903027084745487188474636174992092950723416329728145227857317068721957340328318356849706704123549769906610292435721266983481668401681513364685142714774374559700005413426243792125234210048750365882069011072077891798186234392193649912511736330881454988370454347931085697116182361492596490682316291088020608022715289234794905489360141916139928473561398142406246102361152345712114189160066489611424793267463238645692852268520331117891842873573489519262355122879493583145007223933331110905613521345760292906733486277129237456587715273507970076664529335969126873863044470982534820152101399962129026630235576276941531178096302093597395194215323019013149601821064183863249230156234766642199258949942356911529407573451577578285061980589544498742074183309601852489805810003484633332976696334037738383151495839204715208583990559174447450424003515451034429044887343107440303348506089486883219164876110154290601047410656030549013458447880921595159461694515256813928456835271334642448614233911883413222401286925589767004366097480990596232816210445754424254119657563103567069190712055129411852539249711079678676068944525285065206317209395452826580686949569973825448031135956893934826420808128174573842511957832053469847104826491691510765988975442575828997512794858558620283294063677260616424819309790443078185290166353185208346966803195345262165770619692523112111464843043753557379893535582672131839700864820822437487557978123191977043528437400077777262436308559653164459749830260604670425647248026874606618892900302088783284809534402539360625620800203237149024694070979392042655365178452209425607351800607567562931017512049063668370392221165227209718627045614355333643308459683925784933716453899516447247009417803846787704170783812300517862892791867098363245528116062364581073057321600426375408766245143499079005098345144854858517204001345147783800691842326117559337687322274410075310579499846852637908670924458089845422861635716179831794119432209920382531925522006589742146926669384586641416806476783143507140398522310263833143927379221205056662268847940713952984932340963699614430098682961740497569378457286988735023989450993328194870279238608290466000564106967959894485636158219905109982921216041290908554320353577186404430051958990276877784500600532890685253201990300203661894796206253189129421732567688316455555798278240694748919864896561020018037171598818028554047607109805740594229812361474933117504318636756064119044490699756119970753997183096234060046015971171949385240524428822557423835888014533564465935116996737192216894711047243057286486846232901681325611404151442746077533349401566914495079974417341182804858152465616635588724596039574882875091221370479292527073692111572658971941675785847822621118681439246083030033389729349860868506250647797871833449444625906002023178777750767814071108858561739645857977462328491373829222116584198324767533025946995723675887416511474753536744229907176345991709573713804495794912588657610450959206528952709567126259121062829111074843847397109682799693487143749403936581790064498931700743692869707196605315363899980596002887881101478933469269588197883438043219878294042316134341737024215104605095870766949293217366645275977332135591510198226910018318794374284837737127185400768540391055683592670368891820479571560131732L,
700361051758214551580136780710877609526383918481251475883085339554689304697491817101204113799546512566312313030743404717104723775026945892353182050597726104359270472842877295480154178791703254304451275549839130477905952588052538465090135696522678663585829978288474730402535965971375864028990844380288310277482279938604745251150894152784331827799885197405071172139049328114218185897946102014481983550476946434660522355108029391412056693861704183921913513725672219927109283947741359218914306382419591231977723854034759051932419737713528003954984385701352489847572483995780988019647434628297891020482602046383761575068863146924335842634585475593625724279753631870070763542516871720338919580961762153912859561456852510345052505390830365211866479264247071327888902850873479306979026051015024341199606962702346554576050557270091199953403355862416075399537736442536157977522522665459046175762642864986338640501617380469231817799280059588825995441042345165699743011854735214699595662175333690915769846605643528656659105464234758945968935784899585350494455765868404410576799964738284415267693767303871948615213328058152589557278302802003462916011636890590017940459629038037299368831014149562321690399574647097510613187103533756985726391575651780847683559318607932436583195424461175131937053695748939336048569870931111845179287701619401735178215376574983077958130354281732927972753830212474462668737944261281790538179557099181519594951406643466274327717583871508509015131271028655933178636396087042878823343373426470458768077650655271726400687607655268605193568756841269003068572972387171288125163864319862223043284634276683103357307409905695819419436335439548659261497194361778007808099725721282632115303956433241604206259600290649043037308711645176239994259132636023696100187410011883391398569764685654173391063991715345048152719162479922150403991264254229654010797628156288917155122195290717692160921472135342227796678728356536496915023509960847147361094781374453489151226935622042455592971173241959556980776659837819426556709390840859902023497313789597649211690905700507841427686544952768949388332843354046966873104082514383582906669220210272067363993885871874556527975699774505342326602014693025391344645987005439149498656566347929504585315415044982372222282409249983527892053274688679544744222534976478780693666503425645081066172086591005622905826521710518334560644818818356623329090245609670946508555132889413309120873716863748351941335579275833120982638235566021209360560451745350686158994346943998968234769089884548908629924606488411231402364924697391362927315688460137655277390048963784991476786510367602130981080226091470684519188442675501883071127093937334586095152214718066987134080625412720720232757187406609607699719756668881716210485680184438133601114962180254559027406816194577186795015598688145764198135699169782323298433653294894995140826145231594815973344285106238013537554772316050426513546113546377703591880431879713376365148358420654820673125050055384075079051236353084037037382462210805746908888575430774603199309505376038312238738227926864795658087272671499970480599260103013093295126557228747709898950473813370956672323250041801653060064325820116548468815491686926301230205970793253726938835904132909134036540080893197149715547405221249633739040125153426241478490075310342844421090346833823934375411556492911564445426927455213577388853093575432979803450191780156154954751620318187692089389599841755473820514816236643015304206407128361290820861460462571940297327925292799812012552069516882927168020614217025986408133661785587217992538706417397029724503471915547783983680598508910938115785715569305050834908964590359471027036322437613745538427333184417364245386798520532104378564128777871280230624059955298547868799821486785414638020582325531239770976769140878909119749563048425193488739060794984763559705902811242632269601138200747091778882657564418018551646335604069908710451291327684204601366888604343946199579445637980026973423696617368533730537206378837190198475946114103157393187263806070798643498748080997773097869791916291754720571862063347453000549829805538950086787980321535935726894272750287570484330472049818054822198080419615674862661087870761166517864664896597239399229299486420473645091536930077310232879681637942322852221720128935837279034091694807986581231666596285907462184387615720744050167749518650779438836743927921214965119087201108630124826297438228246723740103862296020192516138772833448518237054563749782868776211117926446875237990397834927330342013065122686268127020836170414259234140131972156476844474506932244688305025552931698700159454024583740913399485001871547799752747356201481154836713900092070772270531558975320575160363942715263708506436653585851750726821743915980977666992706415705387369100026570888175072422249452873108900758685115499712966996203344319033957444250619764596256186189510663540272082800002015442876839851018455207595966142681431205220527200848838963345502852800495151600996543697812484040505703847080119364293853501814598656188493635679050050487725738385161704267270838215193471801403099212302033271207865447612620360207066128943635816194460453939885188721686822991820306106365336337204656994158201698088753098414673162037842886832061062358401388603839378479203612349634498479252211397650131835880994068074341752817435097678737318800593792181605959637323279380188599037483547564899676884377212993636723363986953140653465529630497320620296597251763975959683497280805639931059647811885482556413081735984222030403395564157863197923075137284406290913074128291914791395817349515028835016218401791016348083289034233104550645325793575609051564241148069298102232902382432423925589536514304127702426176542926182995001587279031835098553296670528609857724465784762186259053259686471471306434264112925574371375016775766471305666305948617235928422358379250254460883272707662143080095144940700183334364861893779057379492658619716076538985301035832441345706889541548653423621556329492741235572629387633178012383428029314928221459763583201818689314126072625359255666040540804026547151345648281137208169163366351136565329899164776217437721489228068070907785545536461288020135446960809503612776991710353523130733227289445513732418540651597849999040894677663891042317882307752773199180139123957416843422354548834678376237185796877268118588557573500571738747357740844066127711380144965437941699342918349342999993907696372797244483161101342309414002100916315354020556366559672478604250790L,
1110365364993785807373316294546563569213241075408125495666122273951997491439637667829023814758548472852187593651533404313229803144449871683538722627262116903043393697120199610718621005379370711018998479332347728712057767502067726744741747078264678057357655149644010431368374382758005638681084379822598451388178605238823798746545045196026747287896325124285063535505036977175414971406002326105123085777056595322004280603395032466358505230509497602379561439364274823135253337396496734767778597694022385425985507570083873252488847534306745004924158481585256745968558988152446485147915545048230800521851499099815238042761927335692658904168754272161533251887841019837179615106779090695417795156921196552419680932267946634185360774714800427919823908859306497689231779581010806843985518244311776782998979764916606554500064412810973756229579703285094557499727815390386017772103949705439902473479144382327304398467345679073586519762324251920234709670511309249479601640967686100813616216954193787112731865938546327813325953299387190055553191923387391433816275707019222308056479532144685467835191994696491951957340294352139558340619512657736475604454557763225091645716669610374541400130514991256752180586922243533247087915389199835069588555683970404485010829245584883402235129861785414375635460429967156031536540117930887046331038412210867040162289376784017309270849444605731600281339456865597876341277507456740980816606699200614398552086831962062537117555778555063399874533175464272113144656481392426296960696761323760390425941042422106474805194350048724531346569341607360790394317074239935330956405602089397126286233378733000649428560704396657108339138844816298771563186538547927103704019607692744918809912071656210632759896475805478789768041284175815462420400866357531996608847300665132130251102777390181618339377435653466501222518367209263533848030095531743405322863485488541496604914862482917314679381418624235094691638148823861678788845866563529864140028244320992061876110439660738506468960582025022428393590570158021305284504371333888990937139409165515366761562754401262417943063326329161299076273798138439992807035386055251565789240160370184910558081858078311124879180378259597863334562118250143135315732545309154061792014904509715168149138320005737844613448688269033475148525945575740245413388640823562338060551073598110855725653960959232864379292111538964453849536455075273336384456972482199522475841029067080844810401002436740442231193303349648424812562483552875043955880131413384261049959373868643796531952975363586112550198378145411422731343819615896512029647727018906594589437434037498307000928114485036710111053486093631212327204284149412841484271471733276482441287481910694955440305641855605062621343694398149782879771124178131814299527260166896707442254437171907996721928566144326786600778850790480414330097089116352724905050626524840906465440887560444048418074587785220212016890682089539774173049618039075927299113457219599427338795610608161537248197468092022079776191696933226945225320501953543563876053080541579257065121777232466826016349749395975543363975452802146017018551407782358454069518056016581828678923501209551520987478406002497215044411441485662096708324632645806128699996115637399952098278371519314006877253810377141128445852942892299540307763638210355933575754022555853371872325147669798654368180038033443235219898189792261846352984666404134488763655225021352001563205686267178684120056550000455385830173854455258516485896029430381658209334676077469030149820375856870788376990893573745423991359457639213750630891828721384319909291373778311262662959742820803426845453465953393617043213413998089565277448996761972840466957313301881928725711116740985944742190553364955119860819990490099386341753608195256172903173301306962470426709904891664188765218036367926308804284938431911026021026985364240939624315162184069233533459741498432021385469630504112177410379020135916495027152008317557159644964168968408609643746912882212696493269035907452919742199695248873672614399414876704813810276785626875706055355701719821536750530064112958852723211252363154231209555859995614932405714405093947200225633515674170744585842883908578044479786227039875215146141344158648087573387132662051448961576793913263746713427787906756709981980472693983066310384230077862353074254264573598222437058978837192360503910792995404274109724777017123902632978739594013983183365993498193659357288769236104698914897342197053690707266515942388869060799046582797212078031396437040827081085260348455711276500303004675251921128230333428851831997209162391542283653952210868803014987985617427514892715082345436972089652273477557228875371245447495797079854529856881652202448943620132315721252861216575413802308896555450029803563197460471518361792268638684252051800140532989402541111927077142434793824780910469445406175150720052459461764770344719891372449641193071086599294514129754303187325062687840572529400773913575216604473243359523388890142535750190543719596799567044895317466307716878942908045126339480614956626107230589413563249418604455751756024456437150497779324088336651750805920550059362999707374409588823947764790118281917147240924035379242488604988396631498760417070051929404729807188229870945583282081097319858906649931395659238464642585839725562476353445423079850266101701939443622660651919934874462464671075111600015862605849689122622038401265844168532769004068781496453083404254414773733967279044738598260871524683910112362310083496910279977378039994708146794633374805251828856747101226238477665209272421341249232957609650937974295263078952557522169502242040544564659140482712974837118972255843901858287812285847174692184299991458482790552572003952617604492283003580042053575165131559654678600392161239724069327030696388208478042125468134188083687217720957224180771944492801599566072707752119502307722061015470703102785964295308571114791459479955941019425199061594245776793754162300660800959195920603385672082428283959367316025385880624967319245572470014575074238862813394334473534897567959702104380009405013249551416535745099255494638631797991958689146295436451446496828927000652841331541381957854660579451598496157939054558446306418960939327070841242848259591895802062575781021742896830284126541794276893447358511294811260766302458528303866623817925375170903509549303135778926343514783422984462984028653880093759362526549248840884500711068129097213777248308768486123279604087370743999162259868428508352149573395052681795659312809326377324209L,
1760193620247105858923898098159237303071640972882073048861863632334561309716352929381324653749238227265904504393073469682285082739800562144539882436102450476132639550672396576324473993238706425221690889906463173222908309983904744023200724172308814127957485729978361976076171283516494808332343142044871393135945617688270528406823055632366503112526175450220606635516621784635964156891133732805373681778809350341149592869667622128673034187229352617040982913852705986238006034128062157737486036014218153149557169003225173836940368327390989010277254749770004576526635228955776052788859305668127486879081379387946202089232029980796145555843371459601959946798487132729831433118525445670815144796119339881823736175720563734657887352423688082635719183355748195580764083441480606622612483015408323842367662459466967161041378268365129709045892855189849373760542097314913739037026546882311913925843487642581985790122168170254162520616116479233937627120877548283059867231988346271006084768716322531153037624923352426998298573473742390735876765213650610882314188723196762115689333210342509413184849843258438941942513820277568653859903432636606887255842970685419939081983133458141641408641778027026926499018924379698714047383073941488855677582421730896880520161600007460978722401038328900396459408381612411742707808463457291018921318890143933012918403561447007155997147893152955329001815509060114691810632792587840058818623891159151961483066551208503409934921955971590074834264178476361225152304862085656676210387461365060729436989302520098426636105475035598064581071340730281947938070844173867593324235918460868106944915707354843170146377943132032006023890731360741925454951925040114699000700481122942329315055182332878563436620683631644415976648709770523902732605897756519790812932291301128792432276975185352921416087918672748198870782200600059253207842967193686709636922987816082796686062177950765822851496256813057333466025386466535443849057063981235861031399084865668549177232849234690623938947803709169703196221721794836818702747506126773376861136487783084791811741248293191374253839405624834444083219939971033636465817316846548558867256968295957307358614638770981024864984457924027447643011937721642467741189528161854645041868997688658561184512917452780147314274323698692451528980683625985279446520380051127368526993887745418965013170369136695549195803278808100925085452262153657682715082301166784013635257654429709836970126356385498261643238543427342312794007136661442047613468639829004591563391193226514508376899613191311426526583225142154442264015945048033824266661086970685417007295478329286735795429361464890122965353703412068681186638511308471979820561471202859142542223054463108877516093155806042276038701544878993374791810918347646981315056338883997138327278421828971001311055561554917577801744797008834284600889716013006406801681504705415372008298194776812368458114370261426372526506070411215622053217434764445678700733217879612522649980278448105388265126525639340400299705824069712147874601044007006167046633315193461155069791071958367322970845616869299581114199557685708425676867198330990665089972297230376602644258906981104942975522266909039363016267073898081650499327162635622830661589890428869913116779839812385431271558699507764344777285196649210617411408508755442260146045543192184833503629446882790710939893211386939387765870267830666278039898128053735176489904568978490187277933445977021497680041298168261361961785717982573425197879952509095615861845065779122318542724337913009597419366016426792281380703590640645285895735168940091515123146588603951046141436486086807449024041179143262039518648916406489175152370601112742432188092210701522842361742800434311630026632949343629629611054858408150533737998151988838483317259754736849469915059521239319948830087273857256923500815165466597242319459524216168972033737663053601199167293348986592466932154108468350691638819710389480434703776598626793784988320450794135553275545575345263674121010176837902398832825251446057496294074560923351070692180626957801049013606572526790043800508369281236443756235161096273899881491536679246231440388080576926312163702688700398687702338664574508355997607651519436131979952956787503139171731807636143565989758082437723622283404940996891730535334412886857701934091006279143889393506980177888705999067582088672426808020209820348696772078028439618321078817137657382073843793932103465269491231210588741550189448923875772039234157870291881061381326970264431948221413492794130472550550097638742606069136843533450959972172426525885673096260878769834767232903763929219386886101745173817119949728612634626598755306892123907885207966635431728145403156203547574495856105792303413004736795810446382486840315167203610917358695492758660865844200050858590174306561982447492908608655047717077656070050903394289777746235169299219575081487316505074871110753458601801441141786786177026765920293047055956101643245313214338241928843059475417179241134783207884977467584074374022500917904068879351838331677239027691396589613520636781794735124601171986472382037291856833836002552216773603210173640525111513796022156201552684015829787138388995736140096523159249295252003619809003169647757449826522804312481846794593912622635737940778363144273604037005750577305098127078209060797019264925034502209608586953860040310072236569166734519629922737678388477159225311996007128355613026320238704515905049924296146821475124886932096524623580886462250106692841386270611075648863961261674940370399950268394215580473260700785857674291797274335574085097005199724246479711394230607232848898177751475246178015827414658148998805842283213674418320862518980343286674901491722518502538634571753035677174894219819126274759333240714606915350445077803974739740214881197888082620916499474124445551582708609925991325832076826230652347139146318251213425443068178299402502822641623072508430765132611583070497207982480739270260997846985727467023622445754997905274097851819919238262862488736590234427277829303611382895683481240922461274937874715380593782670784635814063424844097740046159145989674949787919671960183897580807949512189840590435287432173226156610557186139467067962927042145355725090339367042211316667182309924269676158738028478939866821317083723961462049092742871485644424572023373216539138736300139677918358879854352972079269602331706962668338792705664890437166677173460815214237562543501561533018901707731247090458361892448386123504917237387705223411736044634316330231774368593788912L,
2790009099779896733181532488230822290025743441060535665043879983294183105641601579348397827954532531850646477177533762421086578270382662687786899904955307051168243398493965683894829637532278024393324163742161022995963150770792069280615169292936026797109433042130596475142298979327090674593315732350174417124982815899864819286991209011895406157092882801973780808784871727772826457215048496185112159510875948874198315621124083443338020114895377858202883194596988575221519435487640819878188740183392894086629054190647740711525219686701055032952961379783659014140602378149935735919640552372464698793508671347199284052658542195713076912801446747618697377393713822821890027604811994910847764507391395984449757143083039534660733049377997453528375899588507261318217161612909299780791429294974724173855162351306120282077345551312349852682538386378496528759453222788347630918890069308701292379064323845159092536691837145367072014133519498190185597247085715585506526191739275146570275953556209866599606860485226624008952042848164742291055430380683758001868402934903844067017743419678150879783074685968727332722208264594379223620614299665946536166355329762012287496692326511390956187546676092787661997756632619954915966089662426984670826834241945803653169126491618942233915015457291366437489638859608415051182145621567599836629770706925624221999898889454250303860890565383276888467462716304649078292089445895732796491889672592087541559806844168671135255430065630021471078452290944169769021511605877925183204808566882925484246145287379926620616840977815411890943730374448543329103279413520169259617532677496547320149563174093317737208502130586069099139322095845591778833271951741005349244962913031645467847027950863623706837711894198312317066663064352624250798368841906655757091128567989436834455461052655641409589460852593372824395584758897654297271366675965819342103202282315030780338206334412717930807092245005560101386937339021163419480990295132935353387538363504004212349299447996073868827870682142649269821651170667923702372924012326822441528233586617734806983608676487684426526841113188287773816104666072902194590686641171234770593682297188160193364663609804921201993743434818557735348189004019482591114457977412282303010284416140496677297141602183857138091424291376352422415909314763773339298837391163284149868563611810196711552871728198483269400322690096309321582498203651006129501835217326239794751075202166458005986524999091119542882709672068414242505148711684323150371468058746136097209830648841614726608393838913609831768832951090694606781711376027225613296006221393935663414474440885319076587187902236085954232791455114673518747990819782303934277709645658772671876128837714572922286036032695672907097625252630988825107579898979269450518754019611222299636668858890594173638187125483775579479685752817604572198108910891483676607518011315686480659628618195702436871619221984658990105316506553070842815186991042290598341136074237710743324327848224830194348239719434592130951997569268750154418280504892231937362033302971530350314516007119951687031609924057508748298691152364442450661572348590155504893171898602340833015968662631579329355498866853553272522320843121053698820686299922113695451517895582863057518763755840252162589217318402167278755989146049879040815547508889565973578007938921457403582101928326825920176197710358121266191582108582542572263017693188941156556581401817720386213183292672233875514974262909463912425976104797051063485296098688721848729928131740449723740307234593168299095092059660237236881491950718799955337679941367156472469982532014274120601243119484023894310751672050565710822190509325629513499193678197777425875919143145989647564102032075118481507373435749453687949600533876827859865628982311949763125919079910064122992270352783993738988968265351131210427582796022504137187382471782864459360497771830219899927093623580356060402347092657316253106068990845581131798919813368097972926598469542897341618720373106167949930064789461393275273661318562339125909426914950487727988745838982173122178886857587930605993353405547280344356710698162100995508302059440881940119366528608321930132427392868174261686809843419496691643350516036516509197783892865068784383402909393386508794658952494990792498828211265430609803191260558097883925003474990788288069698490281850788516650176203713117728495218247073049429541589421236096894190548285467618108101212509282885461645434056980286745536405616027806649248115759656860238613898416640854881706365429036679387757646021007760293126022353701256383031983902346999225608504130478633779081739270080641012381813382024591540905886509243646594240772826062371977323460961156806707670251135058617544658234313667519174281216415066195230086010670264318099666144834372123390548169067975613288865977280118600984211955069649361776478861727136867439036408322675539322715789597773256225767597296598260658310615122069844817876301798891143022834726704565048126881875561719131272449374121201140061225470630946054179340676651114233935142977340121786613343311921106014621627056393608045834086417517269529553471585750104323532550426911214984382821235776865471291947391936724285672785870799389354787790928162721709199486949427544786971966819910174871571660964158068940943400537468159152689407950912911970620714137175772512037384846412818281964728201808902588802347270048832103179609661519443021797539701921384639346492915227939298364701923973632163572943001772055675560183050893320999627135834694664792171688496895276818490317215781804478898489274896629592569150343998183099980005219928455727562415585528762151834410987175105297093826817988959395911758854293927418405411964266272098202658575577751509457384049231140093502954713739073152605724849936497750510231250532459104913681386404461420380861184563773102654953615440335060522598015650833994140796038480659980088528755754617515704165644002027603851026672863951621953892100080768358864684373320661602280716912263791223237433289337116114143533903121142101909032468619756212681813279487091974922548558794157783027091371794045622060820185448018225652942484173096703915975168925225290972905990096925572014575588737549872064712583668260130551686328475709585024162658510587270427176904839201274958467273608619148813155355340545336160500426745160570917480994081236059682550798575847931796723604437296575875234232425217208022360111769904588053578949471491913553296561507172801260293796261533739421953214771347567737333321724907143159520233649142208045429422L,
4421824114193231353799278067452949360646102618291228240818293716758575957018310249203068781096111265695878140417910417944588294051467198804232548296361536975017030778002116168197057686744191166007076040411053368766116208780388278996239364725025875157476542429463439656616438164985553845097399271730657472531177086826490057634333658793544181018732783917164063739728414169005408023409038885617530896818684573925227466162525254046636694444279763105608630923059614657139344358782098979636309872010183231478143908415406034403251834495749425806227761652486746997144160247033470439747402717694359591108308684324494630528165116158101707877034474789642935794554241080361551566774183684065476462167823121463963392229106528002453957701650517477271808217512082790601714711805808658600952031917816660316690305477723541019455646638804283598094058100483507933487123019101642493878007694130958234838349303020249765514440667618373166107242414166895384546824842499931879758911710525780946060613820415859508475644504311774238899431848034660158210083199321210109465956700509836921009257663240877949754422137425760746007631115134131668004107760342036424710560135518240768784407848074860492447373308113993444493398331168236365760286313755525574870792394261775486889433908826812144666417272818952832360504456433497011632428088703417927734796123688111886324117561354997170113942845138813457913038158714600026797802707328070829862422978695092748330350940401327997994477567815797143122452114780098575932100225629646192814422633452528598971724308431236683429934347165438830514122384460486425197507741303542617820079955572395024952695321518022284749200498625956673517959636050297308971497393060972203216537245310882086271959771371420677357406019600902352371249971657156748386141524902111659253289081785559834764074720217320894546039808151301441277191739996112646627371050406132880994470438773476104481170065684491132683520535591449452355654624300185473571762420356356515745981188771675646274353462405082613624980583204750629930435324002123401735537311841100431555125884186054350934899042976038696603770564927024987927200777625147605637840995505631039275415338778596127873237376138400082134692583617851182085315606741760754900492267065092597738771953525070238120687091143855099701704126100967286113557345629375461147821865756829210633790882712530449408572215502868365319709107783954698322253100212865456571611401181399626890741733345276641311114972152029756058789093671023180608779545714297768134539990160458081171357089678843369837151067356895800506309160662445923690899380184535900553133437973117263818212741673709319250073167761510908047973765203676239769246923036136140926710703889241594436598584763082793406592087680474670025658633116850942153118459502529418345409528858094293333173717200020715115434487700907226735942988921285257667630575199766063109617762738306329895286180818989991193274400398845094933083378853892411951749999656614986142288897581195180167628829423985437209364627054919205571014927451189536973196578848674664888606258238877608322491692232402184558361288453317045451190213214907532521080253399798085541244766496886308288111036029119882001393990416807234898939216354780542552899533406313761100152326051415334880191037460842335491909990007221270254702878749264682014513908577105989790562540394287025354852579309245112837134956100259253570821895739967152452734920299756121398597264737723191782371721669082065044523581204319206890389074522492485438926521482860657286416047766854956384576004358638167957943652748290775360408632702851189823960808690134827195416117535574578228429491792818968911707356094189151461459868669655690979166557585295116641742726560654641070360866151115762803876137171411630010378503214354202335662778751778320721384672457760673664439355498478290413904755721263344028079002140462198573379183923590362645339560992724266980374489925695670517939639732177365398148180678345995042362856110520408882387944896216196339872420104220262406527703358554017559182526959738369692000494762002462198285424924689292649877152907498242442923765508455197429480826474348749552776490408000349929814941371198190135677042575247561817755491890255843668515739772851591135058459739938869409883440758825194364039837843060348945108891576038091420117933617098014747167876009416922043301710088314673426847928929348909335317341565514910776988967679712685324258105544024650821069438581099862130810178258699634848014323761456002097642323273196465713556366206562728778658806397867106734878930092216715486590025399352810664486694217734987721948177702791142573497923069315044070022142113637585056317848228721869448431405236638295181857369743943280731838861464358464373834225013309137261583827920911793081114208527450049172333184664853297887278731506228899675110331864823690539279042220022270100394506645547157886085694248533946999271517431978556571177238017447331058394733540452670029942508273523859324544196174275519079736908641596802396537664586532706475078315438501142860155004246690362652042995022956559626425708171256791076503310026017427674600788673621371834094000435821139346913135678971020449531954484005581648320508130375858332910176745663567603687320414097085874446650705237767154937759044284011065379591966804217904242955814630993834386918442929123531576391247094696977016986308173407711303708324472908870205535078552458472213478646776410669060097960394913190847199307144471232639353522424573146919913796208708107348815270885296563970104422999024932927317701067432298376855280593154524104063947291695043915161911292086631849216215227557238217495464961692400254495614980112681143103166552834195782921670027809655824745351965174978974586713840246719740433134659749187011554364099916050856755702955032459404210181867646235950617426113160669452288058477764389167654584912287550689035183127243101988637901074069519990030946552098836534661409566906698689963792984602312367588558803607092172774686852687169202422095285562792198612767975665780877079915070482003607670998551453395569838008993706981555732293618830609295787165255782337122541640502001335176188955857281446897761385468222167062275594637137207584574452407577796052960682564178004231808087513347209181781645231535930896446464515936450871771837572871948915447750659694364311624825775453394107231777677637363394858298980145583229011494593341905309618032793463352022676189182669819600256830986122080158628379245494400571573593288330052541418468656138981312291161385888695077828454943812093601442L,
7007256259552722163710805047189854741044807154676573850316368874838507706818315484521267231033673553951560743057661815526458012448137551692510960654042792817476036130852851336041324759267990292808363899178538274589721350596886980474251888382027511823259054513202268954712817405513407315569978187683060882531898511597660148727631332198743785818699633180959127680867161235941067110534090790969020960369733255424269503159649171073115972998501578120928238926976109474041159408693489017462998339777028856661830302474471055068911010468015236142914818840834650910900298721527347991537517629979271205079297202215109864620144002704971379142385719842261431309677823355837064580731715443643018661237705993448439508794183463429281104110647572402572922956742849839765178809774059819511410802820507630806045118050564822347936250424949779415960244893694479978175204931380104155050384239954060357597167814313730178211356993947572814774060760456390850226038532608938071657617718800580465811162742814300713219676989035385763436997667510047819846856693459116157396893144223837462440602307517885263709325946673545472631578045902962902271310707210382776662721526725920119926812795063826945940417810241304261778702493750046490685683180148154005726897169437262257878843615865394183351590486674317397308878112981476267748657103390344284877817819315936848644267447919529236375751671642998481274157349065136575391051021530288558779040171604211562754890378363052136271645651749344656067468726241731549913667684490866998978194656420590290341309897916800363873324027784075252302681539302770618225561378742183684213323097993988192312407535069959640539319332427424629706012004437397468072434078470862477859412352148804343567258762317766723597117170999634203610893650513495336873740291845108202442016507041960486251173274121667059675762717446721539210733854851855069537684415923356291252934567299554685963635716214121278241847874911401880403068608276555775230788002025440427262945824418817079831425976354652443599144823332790099688029170420034817358020026923607280482499876073810889755899964001077554687713083674822609116462262148481222835318117186389952422746872896958491034595469438882526651834926281039219196757989881351123302585425283908956984966815689505671868370107834664483662523268102291715516262942862029320608410102507914121131153567367136706047841064866396678172770998158761280855564176487833302786845873848016539842474594483457129863184098653556329378915375095686033603451470242885357616835637602082123180236897772904726661191774086080179160676491162418370274266701004586415190034886554734475829142512645714236817030312917005376073446800665389950440271882608034201303393835057483653839389752744678499949660280723374298763448221591037298383044402405841109753968973390195436527184619267728227156662447933019080891748106043234528384243183500828025026108022296430338040971712171386471324176305720424852856665523180989504236491991737823997636611364505929613681972520836477847470390808157061652382229391403179497387752184684103473119737378222222590088212067385495905734121457311288629428338749440322875482449680845376844738825377427728453948805687996857656090398104626849926958775710674187101672345458413877591661873210395409517742302302802959035993209362744325038623219016682838318526001352485224054046594295977377891962471374522799110366062866492294100649938694983924049583503939545169328966339037941541810882802297112964263989306342152112844207157518839997684649976996644704798734922718784601426289134660941468929473567237257173998564016130943657641841059739010447937924424781505098193003688728449821914575696847729686247307751792753457577648711306319791975864845634628427691541049027009519600924929718701227760912112275662778887808948035161778084217288132800271973204763282796399695749756534550192511462322436883456176775455031198734946639229185378450054319655671606023336178362188532281514880847186212439452599843098951782665024400573947909667675126395669348805060631554582936744863619204456321680512055640386124247138129144085515416609582591624589301110482312117847153585293057908779684434475896597652525252020910882798218264035512675931955763167972907651206750783046322515498824413393390163154977116369098731015383518726225966216763643283928215404418845986857817881877667078635955160597899165819545906102727992492873282139262040815966457496530415761229911015172274983238624000750020804884378807656245306466316294664805138600855078742775094014921473819235836814353589536142682157576946494966393690638206876936913309755540502655497339486240591976883660254318445910323101085452417583426722808426569467495386482255174179132760634832255740231076385326241471524423505057017551812286636243159182354542191020808634833234492874770434388302261995724403457019108628226385348918344447545081825840577973787602766317894335672658411643740735433239178386838801238459477455221383220669819137316752937886594329139760932369421703482930435811656807744911956036073033482370658295135963653950738207587493105065368418953271185308563320602041571575212669139843389230412841109078017804679221683897643651411824755619921441670096006352324310025562264061214961359820801074969691933254205799644567655647712593864502690165410107604223539218048120555364335768473325573936265757312833291182832549157268219583512871956954595038330836820737962604019782544097015767239460232278380281398202945740994592357094065148467060874966807088129810256843857550738425863219071504652712589553938947029430207841071209634877709722872516379170773040509095858512014604130577799513486262259563602832972454689864792211781146676742789172386487518327918894079736241065227293867572846556140658920265081721255282538076147172608710242333184231479493713270292712662782258892571839253356664117559324993794602398838184720240090593250738249852781619235276378372117218476834133153180201061413989707031434469720936565186585544193012866216457708206608202074608910742073640775022238511660543481391606583887735519962898290624916209520367465411911560096793686143261488659302424263765302655736846355741059532070618903449765768992816583381141441039682766860982125221658061374058910830977447621655814858545925574086836030773991536235141273756327590533321561159809245245664366201623737716787498627041617182373769936735190547717378560260844150281302811023235802331590556594537844151638467510295577741488304888425041289213789634247158201988794615572059735443924148305067768498071893709507833930381122424669695563645704586846204L,
11103125650598385968840616531847976807308503472796872234559352229483335377561391026375704600421729313628028807693220376779230802659972432343378880671954032148491890361736021507353615367084041333753091321845387321583072832491158990876133650045113780375473752036976189735908612407714472890370950659214222325370344360549770570229659704109201136452683906287849112503760628055212998426221370545295187153175292375050687605904845557395597993966737098261492175991076162891504407980273268538821851810492147700416715097191684997440011984677907792632111774397131709935408591775026163299440190309767837230810838469406145757746884103034191724900810714675990178770785742910684338855020072795536826628900417934911432918172921769842689328894056982896964810573237288443215258149409704830785197892795492076433209422564810907109404412295085175691227579959388764129054035915294031015216838176280307345921605275052890760082861958306994765102633845497606538354771291610611961797835647119519835564176007960533410102150046378300779006693479769524522958144195788659365870229318288594405331954908183871766256389663283905809560661758110463862029372474888762856202038326720366773281893176286329446464901654140756495440376704537543937834806724526317612230484913853506147834418458945694409502943833424597629453149335406848822272635936204936436536363969320314459187669983964528210321894284502001294364567722136502111060579685919249889446597594460977815670166247315774893123479493729418506613457158040945976186372994082221305791929654257625444644231665792882415294717185922162349855527078572948864182724168908002401748752085981268512479852841457657165078625548822990357745205091241190675061349070420320673820859254773736827044104037695975574216271256252123293072043106333050103731338722013656706497159440315686729089338727459843603997739934201227351442270520740231690251899917749840494971899857979015853638376555333655146706862521116204333991846483528810350874097542218321909671773891641376684919464346546915496887855020977029150077469853588616263915222346511103021686462320932040575615807588889609763794474970113999112835661490838601898583272704490420033909920433267109369719955320137306642591934698063787630695360817125396563958515699137132872121536609333325071300958213338159219552048120230468977351458277273987586275295286283095040026950650612546244957250400390454092316338015427178246383538843556487009728384353024686470936747514910059585115933935858590853004872458237829583911009806132881148740528615834773261930766755309505600519996669498919441962273037908762020584359933160747293768242962990397070513138729538031877864426243586417104172621946205329317929937678590130633641383786689057242585575552896024145430440688377959966013871192723131437416992433769937663712702662682777619791771846181527876521212306758709905935511673300718903394202825681802320769424411537802749820054173420444910134496158850382127062208157788071423305744730917176890727406853326355077927799992816358855057395963458659901457448575419256878771479401503886215440679653009279297853712006743590668191317931519436455566186908814537099596222461013970637785234196409858470568189880921320406744078563279118525698281808985417389019834501369950346620556435057296338841912152546279140713186578326413158007462721039686076764308591778131445539693716246148668589076219485357577718098154467110393143102614917950241867482332246784979967286607960985699786082430967638866577204541928930096737110744215060011409104135285217579892940712527944992675741177623074009040068024979936177309517584549094685537506019569627572034780566119526448441003521710690625136951431820170968235112154350795253078020513036987305967250480704166985677466250010709054765646461566198114220898331915977749030099550742546873253794698663617825282332969335785727180290560122723856119172354586092438954201896649487750741356550730427289504833185136831478825014781689408231142885134137111028190177901253954886524547298132109532180971121661911644282941144555430173877379995827184452631860620036280571183575136886381939491091104177628449709362083088806574274563255015048176063395981614711182280450694788623037331122774275195107008727854353072307816360046158119042294259179374019468658219175417504328547925373181248589673674002487042142109664429203951878943753639538147066061895400000658929620272596719231565771959550804409837271248144263549045262282586880696345806824128381595095109067590052784330396306830398018583877716568770306454393834560853079377043183599998367217060483415268368786025823134861345509631520061379225812449298216337164395287744326345206907831958886127969757441662329245505741727404190834297745562205816957241800627131132213387679965468017303824175815171039155772096068517665002167225435017370812433785668767950793519362574698902114839558946775557087806183606951481731568470861867467985284668800516172500531551657476037693945018105908311059710512425404270901081567432560857155786326456836116620517498970625963316260965416311587221760601901956393575768619186347028443462570867952226688733577208364380716593703905408553420833853876944871470617534342786492237718848597541462200943856249147123992687961329668852389701961897934371837509377013214430569059958568975600886629307529932629164768521697133952798773848727643486430681765870512891340226022484446354004437887797500543770966206328955432058706113295635983938254660966734733315190826840999699682668156235056200635530891615557487094760160821510184720246438885793712054032119842633878853805477118661727050126122544392880238997417722672016582703199669846627266478158265009394833556230812814618519016854074938960860314576968532186972692272080418990479381304509215604375645096993314173509199188710864815160364923529153701821273554001750638016290727594394267974021221641432364389404022497944609489659526320774449234288338305031901014023595030264498005243037309120915439268754365227824392215161039927920833216245316033228249716954839562913857650070606786648036023772697518457609738195187262994376537809732766442972169109615521379132574604438095040949652488340046313957610563978590938815607460451934140535285347929928724880186931960218297480966881021673780400742345413258223719573293916194341114212860528636857203307536884293957667506819561132306933701992473527047294563842276988541401144836233878005260904232844896202575107090059835497375307008114922423040261771938433526657459631418128926809357369877102298262621502518096906161194753981745622404133057854794674111842936858948671L,
17591110334470322982324095904922876742975344386802740671986691368445596578792814037053685605751196484316910997983309550752393631859513304346594504892457948075050811712825873333511200709929914581881242748620516562058460281381379787259903090695093387634065180398329794654885130252124590071688763451117574533864252971460070283264245407258046034368394425333366103603092721480704838538176977432035511197577267032864917843481482479127141924231742890628600167523585383437294783683690440031647212920247065268270553781075234218048595103494542474001130162024798188742442929885718026391502918791478384550569395754913078716184594058429151235128359974328688215340316082940406255558327267277838604827608595979440573908669452096538049377097782835809764589641152136161479000287743028787382567568226834682861923355355432476708079133048988237362177296358028104608045207138139453307674237239534323367265437594182202288111114623303534504466822368972598631454427800371560257937376186524287073056343317555711215499255788656323859248865428182868904882167028407417487041010764105936238012474984869200756091751971038197331330911536334498584642542258837408356988012204026523856263697111148608582112397201025811723802001368686171278443795388338723587243958537018412925156826979561287299220341551168365820548161790988897673236675663887780589371486025720873929308103683547107695950112085879425508410943683719867858418760770352650682834147084473021693900383725856535155520602378670460575943376332666774310492969981131482682310637932255959975440251377466057247167525416325189780078835026479133739961473671893129406182029772567182580062319440793180963262700808320152477633642336012959839922552608461432428983008391023115272267476303006457394466163715734573784264816094352220649216862571554080161749007642000775648238652615617754916162344399283093151058048770752036378296713033418122839724652091406717184468774402306493969250967587692313240796972832203438151916865190246814466857763716323434467719923369528429331412179205677256840635791512272570484118755964175079508374743431710119407636372325292596966587620051480775119042646403920230781909149649091689379850982089918390686289072950758871945597209962947263891971587597870356140326887113484107453079955275942933659834051925003864871190220350569688973421720549059139075246439523076176099893094615390237626208935577930073313709747280606813417413207050300266636464379314761706468286209755640098744082485325747389631422604586930978428531858680490127696642422627341910550644366346208772533713516459432184058432879439067195926051825747338121063415159242734137470528922457782492877839979118366811803922210292661621390197215182280149120868076740105001955977515162668943146831144676559226242932459717345345958820919541255013310371243204358498945086344136415461398328260992947417141287712193636579835534526910900374371141655032169796029492542381350581813735556373716417837050270958803627545669711119598049295831115952672669447294163369480924346500803683123212001284208819509105566027135377018279965702894662798437408955123946251744056587831785292433454195260220778155291524359050866936335021402731192546733562000926231479544627465071679790485081227333332486017916096449413674084729025392949089450540095110311770459502418442463581191499168634034879291909145293939900708853397533655852480689908130634870981014848961928509736764734176046389060914903352099543503807426391528828380426394454361521085071565366164182328620910167765375427389989268864698180917634734988028304388308642698362372356006251308054237762860027224335092700188879430692048164978499698060738472391880381132476324890404052987979348178322967035800604292070066715266398196106398237554586693666658915544754163910103690215056491718379069609027967356710835855968474934081250318063783352878900372832276320343357193693731425948831855403708386407144033872295174403695822567257092096087705862270615680123219993947275945225253488353656948732748732423331586108860378622035287869995374792884100002082513985661763542096256921369949109561669669836487396010715477018929572237728092596216885328228163309613620150845524117047286755588543716200114560231122727702491403529793470769533765201550177108841085037219196517686230638227394629828516471580247477485412614952782019986047452804759089985790855692112208487780821219883333904835707717856783325103353648768786860864449905094368318387112139886755228033494589553230900049927849888975771769466204644059654289912553827311469700119228768691604469320485879142432799059674639638114395557932991829457619441932643249517164778765321688012349298892317284173039201864238869939789430476221961472422555845430743869730193220280172626767026998178006065726980516694481149313252790127452281430945184932198177702349004117128052370791447679620767566052993376155158704422545030749283318939476002242776640636731733573494083110512019047824686296652477757652837716629677415661978714229596577850760443333766206023628447272007555126476674254531218723227218457026672482696650583273125951124794028990870062369041539363906131839652706371408740752300135027273139147628730639343650977590328169810948947506038827365774814061529922968970957647013611058126059211057363787982651186101291495670862535428904440394796710587050231908208050494537937184776336595644450741608816612193220384135012440259343116216696297083140037480526747918427936617530887040879476985196356511975057883346948774981372052966386840653849529481739913848643671031866656551392911311874201276375833279246733686182586948904424324176940496721754755629057271707767951278746393926440455128404093456147142593325674036654550349832325880762835974138011624420847582081241406588560427700822202419054407587713632164494483022098762187590227508182467965095928090047977958174175237451224617430144188483110460923713870640284410332089086734133118947539054044791375747849673174782716776900871013774795454353572874378960451159057076158760800889064406800257031712909884642398592518820678660195612333792892081790671170787911173153059846656572352132413817625058809944710323178689084291491949222360599632628080905040511618506555910164407473279631873719480832347597006901542478171248633622116743146732991221042966870458422525551403678588317363071649496877304451880503243695963657291807263895011851403250429591595246242862856140840409370253531532852345621412440479894948944900094007511582326234247022123402887907312607861754998416807260167388147986135385153756919173330554008676194816887258770415759629501032319262483373L,
27867115629388934421129794622367648240948235603908714163332897877214676508030523193185249619796372301681869532805435174772702885258564763931102636217151970374974457359290144939636674515995832088847023498314801317784570576455261273156245712065353705536821076832134895342804011428485281899259854938456860131144576476823930788353708081417910078479295233272358212749404460087532298087161951421348032478059527301210578141268675256005641351681438388412237692885942586341237278951303287990499105668151524544640961925270642359315384996186015926752565654722009487593350228748218966811489861930631119294128074434558581886700911113375981517873042523279899882445603783207893292637093481335718266344528197417712199729311900505169843266574066044814280035135495382752961441856236912550369197248800749225547338600935928505961075947111674032590808844107958252424536141264479493154520683480957373719349638161438609599647553228094673083168656245952126936170760343105978396767814252304081768107556997211544498832694181727408521131037061335421017758099536572948881695439170212736660002432084624604892855650775634674528843079018407821869181918362994691495659345702209977926593914485151408958078974795952954420969027692952186699787235798459402126339546845102001250778152535448836651731299547105319807635095186742503249877265271719319196845959297023248912511112542176801945726864602376297429694001059540752218565382117570652211726049077867955715307851566483692015563019671153968015636045112899846104312764007754522851921877896331809915037307148383190236872930140467987118603115583467819368455795217235295705442015003719259881407853424361421346964992506879299387121946985691111494956407681775956515199854972541013413711610931965405226493736758278319213835865811982650984930620703115988642002135981161109995683033054643470585326739461037643784113131656976993624098238886720239243324660350943917707461227739305837117827040377871241697783464942150256594847913748820412188464275415483386304793037351822739874581324096312258857200829204340973391802033937659670764775737119084886760039847482991299913340642796269941256200332707885928939013360448920801914055222488079745279412585540832488657513755352738219976565900461605589060648387471753903614954381097838013031399816843656840720601727027099063492094718476457816711390862432993678998090384856857389782664052713765623387094527061394129134215217005830350259008840305809796296351249137809118198033087285317239055606682802365108586389274344810196876321568626366272315086508313720679628381963719406344614710439856328164446478590475568096475294748415125459086803003646410681409650701947599269035690186873012333762918513654813550984020896575093811148036911578323405421991422598161616259668006053279337296417801477189837388173657889738488956487596177578468587490902720992131623833193509942689419843016901255519543911553254945795017783038296023763354342763634315409616073798038778544769863290076159311762140602690517613172265252613004998158715377637727730539112761081367063768288384393691169633108026347051338565346103150106359697440075202827212655955056881856092538947952046495974910740812534286931461732871916021240038002746522206432526687971393368546953048112086928618983646029493223375237066575258510926199307085467377593411301782763755208492658040280731880060025149748783354659227574948888498090961110984722756754803245147837773498245898943016582476236252094967185743417406867270838174949508751108139069089661640293411326865356701316687373220769273368776969630688256995797171113668490034566251798960475660304670939820335487593308285768907048105795361887669337822096757474230830686765486477146542268671365041468052004037466679035353739867297257765431899703756124152408650614967053340539607377632668120933695630447677723540347935080720742075615280702051107190792780566963305600694316612876946446434924633502243686197779277427677436921654421798059152108227760350351607552919439392653985413239785426603922328031563588772017391692720128160210631420730580275305495196933209769764399773615839460312881857921606427077420570710389478212908880995188363889852925016581569900918989912056763345228577480765170211973568301704802178200056314263539525596171217663886119613737159703666949200914090642203297888696698968588362777139703887296469961601475783443965193225324632399772090205365730279466673530322860393656092423683048600611890903588434189406569802337169806478707009025549334600699770983206024071121129348751236922691960324862118428129839041334736338806419116227826675455515425448588405622618412448897592609311376543413418258603876959283091997965456914027669013461928435970171318771164494120972862650330288318180208493289593057148742179188107173773107319399666984227328462580351988796673798531058414817560384200484088926868319662781130148168270615421617684991104949886464762172580378565396217043071205570045496557844959555298175225259823734601357344690549206513543314335542481176236714975005714531264226756097272355410114302495314296740923261028951474670628687252329254726815579592620366020730105098712972933889844359155322258777947711508801049804283341788632536711529259588572492632400032086141081916402726270600201634369675826466286772539467767887913776339079875607902388183238320876938799934320179978565610902243269490869794815056503632997410800318113775355892449608951537063589890702777632218339197799155908960332558587944516986994368716126852858503594325203949468634458160999381058790170629449703139190499085802982616458129484995521494370833045737404691461111289406236544682101481736128800499574185879436124494995096350450848492052749983846332600458842864185726516588312913204450159973663398415805695455048143023911482273654840051057993038365116192506947553949140285530014413452429270445364606819715182980568049615446102820927719737363964924948534897868448737783410844488155849907152725540102805413128800964091390624718277927517507266465024088603928985013757460457081183617626894884398507257930382369690578939818764269514271488660796815155019466727483596612084096412120901531915800564910370461097388062986461506970663407278172671579009469991468621753113639237472617942957492291068187124952151071573886735979706931809575985851843371785918850575620028199399157208293126171541983497829342735329205093810172472688202390288176394644056230905706289081719082135521945446975374742608447215790192964528852865950179901052420140483255352340120952086123958513642288794246413882943357310166387977075303766496951045721866988027621759896L,
44140940390290757627122830812376289557780318043635638861626298645744035102903794572654055189123169519164459786755850854022111437973605796105350401112537784864139739091486832228057871922395936443805061413980629454498766437935781989334232708989355612990892131203805210856870017158080970983154636836603265389020153067966749539213840913420553936761104661260845042122457263564475888758876292827008537916232150370182335546824509194393657675655407497071531678350420822672079745042938691209316189692572537794524392032184150550263564622793238004951324809264071885588106085664071466461480686851730280921418692730225125710327183754709643984685808174285060928999784927350964755610883020782578769825021716249892084075038149370192540736105920796347049007242254610110320049899059051182284639646598312960810290045740931486127383963281414344367121231560784354538616680672545495187872279361980996254730503140908618734485694562999374948099349620516532322692472911275098877066773906871350544489007124184815248177172673654705692417572176584098123418116841861682633365120988249554688662754965703148886425615189559673464831083366630729175973098678329603607541232829651791282408052958299084592783883188645644015010256704138258249757417545016621198471004035166926102074698610706057224021034678355184600467452065831543439875222745402158271951947406672891119831158354019839532942810155985126359871836857420057103193069777045608596402516573686273240340357792899240217133317561893301887387848294866961203111532345564286754168627972247086274706167548875801195688914377716006341517239703245365649213924987133858115360717137236718088214019203029243817676347331881944240271729224204738751012809124692258813405587413262932305645429922443982101691641589111661300051011690537487644449869832038499320089395089955382506980617530377655377513080846893016067816302005004823507675828414289598874254156918162231110990579100537407334859862403927873625393528268262330228671006634744433590293142400081394381435983031477708856519209436062313129797496800096133454820221454427872290733235249302915960540390535927163413649470360287589817916481402426065318215027370403087521400760335102276692400550377255310728959181001274256014818771230124471536491681427897896044528082906946780374030980042535445961630487469005059500270129481183809902978223544528943079995254180459078608581430157340831547015934652681606600947166710542915760970828151364695511653825580446424568827809143913511803727752872564692307449752299815833903962042039998974173540059061031045982376838957954463650127208955221537354390857898885217517604903580960497491263328578617198581705165773795264835664934919619361219563385584695098426203724319000198940147047855101944578201490390883384079226269292924314883648520089188026501719730731082839145327686802677606518673066654963121708309366434469966313793503588184555919920662538000581140243026002851570860653727395404009805932092635569905712945697550321622796253492232852662814900198001187547388678671907595480147930993913868468873402116280911590556462977263271802147038170011856378526745539750721053695176969041978159857670316936702753386708463831937485533057329783409058891966408134711742137813955540543319251138426062270699506161104232436717764160032683841876603725935753741313175230411311112509350626875503309083296228586657141136184808355802069081819233781073625384264652124976869024149430638277954822009773553562319840508617960269669039666805070192524848884261625522569444388465975474534813485076126308893647548661932990914936299126589214603471535491252530223405311367032740053272327282897183738236252475615931508587356175324236894174906655058452605910646996697893658134745640045240985769033472128874669669018208124658451789491661431880368958957843346225734255425486931451073556491110946818439896510672986300036906441016395792216000956435152421142962317755169312396391385783217312991175516799695160934558604586744527818309522890207904643199942014094793643096079825101540778274583373901168978169583052149216856950258302793894236902258202410672980372050169272900969876577694028877255705573781240319814380030012532814769347491423343272776761947567199567170648182176970487097369578073946975477929755514288707617307966275842821853962225702536090194315980676979374842643019478794025125346445407888445423465929859253161123919219814096546341630779343522343067441468363733223996972307616469974192475840878124261509202007728211073611479672541087045602949403486942735441375023050387118530799604939010949070375677294989037927943109579536783690132436248418549937441928826728772500328228365578774709156077828412910303787952926329887468244597246587001479155056100977998779761682986889900696295537356061176205907299394907429389042696965987380223865626628353430646651316262253489132290755200223387655945971159660319082891069820619829475965132578077586941421924573492494777207352802938419964533275322620147275859467138405465898382841016806415133529419580457093438896474183634930784144188235102412360011411398341881065068091772585914590971113934451677021392242476858705003884281701596897044898405111692320921003187035902147150796349710688417941643410434175655973109323529974758309127111390948046420937150284069150173521566021484293731800782976760023509221544798867989155827161396992489281861736574962877361947275404814650613315545012644868312761526727418369364208529762943834903309598785778793670587525361686382938301876299801082884965371668434507599564723704507920191025751829651165507616460916653444132348069877098340352123036809862583760397186096650761755112176943181812734328651063620186481429545765384989329987490240777472187770563799580696081704690379767845050343773109407346464053855061576740654126583994658949551803189307796752335355804300096250607626535461027447091288484514415767499607632927551566713113393530063455146581279681574594593353904636058459529267974741508354406764148960571317823060039215881975742446584376190439114676705337764608983081546133815892688181273861345148171683584652579367411237918346354961231973734241818289854576145830088889596698571965412889327663664074747678329262924315549132289380483069803633312850911804921245760521162940159172214145214174265249548202356758848659358831907778981875007470737014068241843906631720759798931834028101654580068129996734190083328710995303838935030361665774817981175872504121806328692747985833614430619460693090928479786203956554941100880739666003152121779456451833640736475015487355581046048345416588106790775854628256899551L,
69910428322421222987547868104828028925260937044847209791823021306379184694527732844516370911240120639086331837086824762433931787516015866724440272889501035920245313487199551884068712589265645095375638951591006221802942147075402794400182358382878208146580276298403272107701051605513971917670883245860869256272738891652062867567462631029643680362319715740330217831714459826437665204502270037142471820721543493303487928269499735322239429222651824968153963378221015848976942780595111023300995039444954724289353713987763149220515109256092449597898075897465411797002103919491640431957967617891487646059263194429198914932963966695866775097329292551271665474770282753549988821458872991264108604389692291067237445061063478665513373126025107194875922408536140293953414765721970640134052070628885393765940493460257050372865418254749974729987141497952190995904635135552973558261559212689369689474248228397842233899830117225754705509464809788348363131555177132598601211919015909729024728958839357775418607721782747979352690797374314454179155215863889973838713924147710048267226303223393116501494106021594694939227998698285910590751393142230185293049828367805778540061208669250068547438713679166939444671532337904377082478240101236647227853753358442554213288456799466761175995043027054505124681014772409190401755094000412190947939549017394182825954251261318565361662439263624937534285346743738095845838705389937743271603345996352076622537257900703513951308863389825234657926627715849926028458667985693341035210046606959817827680054910021734347501923949399758901172881145867845142130778322572743248107726856586040445904023394792569088203950202939565739472886449537626267998609934039698969170577000401359160406390121127909539200572885306707155338610996373390945369336529305102402958867683365817198670876356179431522644913170218371248200883340851788344241591716542605378251808968772674604127466478087556320785079717199305635789065281599125454130219429159060192343821315303444640620997224056380879487386314923548323115357201909303874447101017105053699390730416625600443967139311107689396563514451554625981709965067941257314821208907612499224303300518591123240731415754683345597324010978546478941316643203878313739522230045588857171923207760542765747687434534794665420744554662771771515356453357681986657674865686575068826315870699088321793127130321572211827644714396176543518708042908154661351828307866266444107910595142176390893464838525151475835618039505087311623267493410278715470867163155183855403737093607676433602692421113971776612161044586120683519428319200647650355248393954254742961417001231688490031691057054215371050225273564376277906761192667644758941366983746767229265377346691522938085130962837908171069752816180493002797030042837164280934428608823013703389199821618484416640159166027829683613147046046878225386656821419066653047109695766704985296750299511863451627935273286403990689596489585297854711337478946837099808246013782400590692415991952491339649784184632416119591517338509992381521047599182362948308652238812144436490965233117609860018047252922074502533972948240893746095382031849822215764355908379296918267728571573690706516354476334626230296895879723232455292779481524282494579380893418794695643059975407514679122172777513815468237553244538573774628556443993756071821695061532881927491878667995481954635814878611103522846472356047347643786107958883572375422837884711985846587878647013459827054139085147015192963834921299391222981959755773153809578830720815390162290429109752084434289958851662791941182862801668452803921028330730581885128635969857553392365718716589250379547798895141319563466928989081505483371610782245972089067888410347020285304126920544911216406737979667886792268003275074264700976306876330579632148794033526844346102268426785753749204301360548619930158292465186983292853629637055283357569889184242758860717429518517333852680018733746398048309260419787346645327550324247727191699538471833716794026518139762234971473717411116176013003470749759230447975528336899978608219310875051458927432047058003853161897016500414996524035494073337612941796526573194054560076312994521059526436649964508936394471793026532508322316876513988635614909192429203305205881156963856296876546530901031449201244648158648653846379516892390163305154105581523163711462941983284955920414136387589993957632936448189127289509196685921584119279910630471691374903222436479763849616298327565812574792948558910667194941353640654187511169335198916332967480249198023625564520843762263978864042432633959150618140694712807682345236334629835404621938818338582233367005339985939142976781910035467690810198836952997351671437761582288142119276661951264365190600574903664389507657348192928424219269968881800336432120587667378054722020041673903991540706563095018313514022214663339191338605583887887901332687984508504191287705396349416415750785818119358196310414556752524135942261289925291746138147790555566765276925379724878139339525528836718554670740050484235220472218831365618406101845941655285744362966459360669999898596817722626440824630431080680065735853606781105646436670933013803273051102955630877889198732605786715296570094273401969728281581523531674067468003453794352240505410455928481109170912546180939054500912872791427489617480578455398225494035601023704459396043284270391181523887665820256330995088800248384165971473245996305399080133794283550069372052724212345500196114257909579955998542230825771240777823096216189163266777695848812949200082473557106427480073901446087524990591475679324413578248649066146938754864889071559505964816349512943278396438157548230041628646938810081192197853672735788421786340241249956530032027735109330348949718576179003833540706773094735023690461433678699116890717746478906089153089708351782867351562713386655528195067738850985963762174133251225215749961411335791341141395538797113788354378113606075528575777318548251807746778873381411681651203606833203173428256634264744546119806836186355455644406767958002247859043709840881231842695256983883711138005950079561684943078474123887116292481472595310466836581935135941555786669806579357912137111732668577359327996964946453818531853742212449657579622106597221297150432679619882932337500005386860604807932451315775343757137322464538658064382660494655436036158125361664284561312348993317920367676140235892989834749173343742043858561782884501255237636872989394053693366314384793691757724873178880679920057053356943353454288893337343290909264959491471999530334383692301L,
110711616048699945674722685978876493009289298785259894722400747591876361423210439621770754081342004846466980946813803043906921991318653407632676808299909720427868820103731088841794080568477034952805359163419426482880374599639344634843398003107897482403280052048769653092454958746315371273652524546815976139286103390717799802845715112348661028063802966476408224853891303551409170334144552535481572635497067235008605772004953847636540813327387266660811930296768550141673561972364999440967798973862316411395926723464092148062281950924898404052094828346365239222510003316755975531344362479645097794089259109639353355492406394582399706526273779585441618574456958081229539681037570746351117353953277354063893527107315960087592473505796843719528361020504928352871560673055301183293238932169149921987358907262376618145597557569573956189276659635621784309411755826741160268472553891085840507047501296137698989936984865808317289980035395559940674794071104658417724080629081920276300041658921985366850567522228924413504834992824875483800807146409966093168906551539381775701800764659157172441472586920309083156334222035957753236229384112740427579907974212670400110227900826026334546978154366969582603741293014301294296908769369914995774172417586187300423209509640472861024150072574956526735794717279108309941160207324728196692328382489474271301230176392645526775199072697014877003953206081689108854763082960970670921726696986527839056781684989730894549672366132190406360630326759270104077459153243391277019256033174741657971278899728885103008646239683465042708206886232186677148640266660610664925652313457074686338402362696344938404341161533529335187192575495843471866185173241891791973393121887447431595774325572526191957452759562004159545912712892000485293686656164504884648319035332559021958310029703607610074358053059477897089435027199389248663312153702708303279045951275846381186753446661026120080602430622347979860011332777481033765010887370903374266407524626317599573850463145043749148191614933046312165114606955790342083757932845267988395075769340621470601198515438270418063500232102619145268644247104655767430996791237660820650205357646318535726098212024662570921002709081325687363597265173859729515587863454330779717388492355013016763643781460117185091797258499296467195713008592513599074977841793167588408149533489579983707644353749263872872232515307946766149874838875482938194527828070223869304845709413988606515610457988417374389542353466643973027015578998831602570241851123732439989160176702878366073054369963558305483834377265495195065608564513346147402023922793111576367322865546861544846615185366832270880246834669318089443946082124715894409183800804929324954881000825605039256679323394982460503028925948083817250045102658160498186918671790771183116671747899363283817951752377896672144695422794539203079270377300840723891086472124033002470516457116604882738414005113960551825219567912676140626531371491778457196466740679162336332985555325280526073142279418649436923375125128405842712881418375768726308918583116152597998204436752126300869056762288478401981833811690809328157983333191073559373455686263508047016302704684152740358105721346401530365093498849438124809033290449251766422394091664142807412122412273730764108836237843483778812189355389871100464594910911221786877454871403618401447220016261014548564731029435122810870901898727110931689609659936502702226293661130343091718957892929377573481769246348527959622563262623816124157831822065996952043373651911662397399100403789664378652917849337136778490638266450182978461055538810327077729365740770575641792975653360575435910366855717340010858655401690761336796201551035393257383161354891196761423181069393536843935270809810853069655986351377560692449013388805573635827712333184390575873526179462631812266419751166154768486377775055899938008990549447489697842652910796474931931696890842182301468783750902247895927730707189941543234495735992171012436286428229563616090699937396094963397037437627068346565658227994678343781202332377255579441829570097415263091730433958418429167803639017397223731385546527817626931516515802865755488590449072782861582364623917845799620412727377883664174346026829450830183349168075957035408255000223451700375157000726704715590985676985217876352976153850769641985747690571602394126180782939281312669591623307887387159253467003061091580986654946690781492025141612693649501207318004836113977387356552721071026802817327917809636214840759046102977577962216779254109896368051100601323693874255163868885472267053916487282880970403865295832244179216557088511131673226097129003510087933736236296706491296083538309275994627928449893795907154967342819720349332409559829238880737046756233000692578946455955291347508249193469710760202361043920580763578748818507422301829797346644074201139334931939525664779618954234518985386668804638446486407110872409623754035537082320609460125238901250543970538088790726856953444241040039982464739712519395499760660566231143360643538364890869377596265794103291288706512189477917615970164559805738027717763158455235882226764606790459320090305633660751134478825811531926988850961856988274247203307853613599180215918948590214811390501188232625562931251779239398238023827704943717167786785606709517896435991806866899710580899705481023333776299643355608114412937692912643434683703144555758338903538797218566129930376060612032398122229526352958636650557379186484788216430519577994144521421537099638563780746167780297488059220978875369475086955317248101256190065253385201801213551437075554636688063959420879458657786248252977330432326903316400834152081059323573498573164604572373481482715812030517275611456331019945285795842245824844595257973572808087304598209506994477192521049698550658232666397756148999146466445071591788097048396423329554158341504621243566091574045068940034603410794056250547639435527826711890264416575035849358460423035394171938583802683188593120514468403983298986986976854297825813885012361091287664821406588338035577840518515062464984560555698146151831010374679622817859410103525434716642763145833692158731407126331394012699649168844151387368574337066158945407938303305649597993659342624764480244289130057136501866017136795976510854773353749538321895393888474537769743413888219952152908761058967050673369912355818085064869234361395350148828879101408853896400259631787854570016451393966721829489768394013828871531969640277389299164630290212866892057659534866981426571387124933453714869542503503758279266061946785L,
175305397721372423232731871785725690482923189596329581493912487102249304901006331737100539781991717592339381947471978896123915425535108643827997611494517667020136711993808745139995867298507464365615514516104083959464088625687029064601365182729478236812784600969718036788262218262273199637553953787350249832991180766660628216829183679970743724740718476546268876553649475254553025808905388766762327841699290468156348938706923110660087497931540672321065577513956797584333750410122895663726082033067877421004929212375823471250655354619968823149605479534998496241532217846000515298435959748438237887462221102051878520074983461684705567649377839769685928887244383600495160500516861192846139921606421321924336850798218439137471868380578607098815514350240939495666971799673532068271699195957852642215935413428338618597988238801809517363925957018112700235534977017838233859053708372217339914227345151511122884192347960582931029607622783345498866523114301890599680250801663585371837851682508542923752510893965926006233194724069120122579612492546885549969290811380199631220981963602762033248965757778704737652237310306442921238700984245399810425912776443370538359452364665651922495340158199133562222917067996792891423841508701786049833496819538786471760050344392423084168863640710449059778011920995694444853575386887837825144651314055997426877241093501696305781902815486870623660483627934178495678142818846004768094118691777439856138065647778543610779169703271692057290334374884893479824003096915291780466515894376319619927882027288316675454489224206099912996771915440724996322211314888375728704963042435013846308833011033352027578175443856870435368925713441202098091385044738568192656352406382799953442632617545681680565898207211230513565815965015297437513506343186906490002384370085103714885357388890634646963153853095045100996085719255042425865718941405902793773638378731615303939870805549956965989393383589689876336747833736169167898994184399021033057283128455174363934458830241853516798726519759086210821386525049231902651610855363000349567539126145703827374487543547558821937817328195900000482028778090694160150328970282771804846464064701142849545721608610830348107967730461691486814473705352006532943910648456834050397236407076723180750552252668160121449424513750265417299823944048677904696796416542736767885677746739837774129308893828416408795124140150193706742186589567103535537720736191888256221545571891264724310769331266609743446322184535295849282046504599857657507026898949510297614647641813440169045762941974697280490524376481460873987654144982828425610099179836742512707027348035930515335299380282392063860115092153858835445429647507103140219812982918353482039771387792862748723645547686669171848330517558790949893593597406707866324412268902646653039210372547787336899124403506034729331821991904484197626116994876836377957416163283857977169150001683972463143604611639893935721490354461617108275942156693094915048097281456125182727335052054864968502722007195709264883095146192815241090199841289213386349329219681873094886713780311479715339700637559611181222628845671717693190919979726471710574958890271566477209628743245740648020170492646859709816632304097780934186155983727528136590279511646404743524295059201778918329235010490694701682880014509029756645945880140995254681936055634083555489387337792561279675076805237785147463102959113300111406236657137473178332273976745665764557661399138053867750050160305862536293300000289229678658934782545776034628800617970650902882839169092997607079725383923057482037936264908852418481669656820927128030529859855974562973527903592484000208418781289900165593342230706647240108048726492556244850683789043408106134151300356857199464375547666742277526479451961468493380668061897160305624611449346553336361173388783696284497468944336837807165927215406877150979420285513511250373646669210337205153148818085116738315800992729268464471015696300463936232875262475919385589057984076217236109638157348590536809379850979523508947347675101568238762305994598387059415395233765848683424342580106233839760064907459642146546014725915641526822287870931334842793988916829357717795231830504945867110686151570302020043326532431025952524314369975942948087650809884738311439593381063372955449454255490548686508521018808279058369799342237213151998834947164218300253152437595654646196049623862701410606935735233856531013438264808271401186583604997414334650838076947976617393392883288264513804845627997559940854918378091681246165994706458741544329924514999259456784742673735733294981962057389796764761786737865274118198468088531810814302418254800759185811918248166895012525607080346694112704926355190834952838453499160566572582269837034888960367502361293499136989185389213690686588766561549454802742991711289695284700972476663484657098682752574457998613224455829968420676857831582884650747797674998835232504887287458694515169252378597323918416769355220845534873283857414517607173110889038622672659258726920986068165561538701305606327803157156781910227651096502166870878677517758548751139919363427083899083619320139475837497750772005240606896082281021873084722744930615603973806078494951730703413883340344058151880070321511193488254325952497062599500974379858940196939854745411365673076364492808582092944624401722379175944724081536400351929076180310572707063002740053424857003545659173556591822300518694994551669843313455478273267495772813892489992011406251926447735005485824588272076314639853364747457688976429354717328750727675679037901502493598598172476810002694611011714085495556292665021942441014577133639417233361577841175003404579619636348074081054168684088612892536657962119124723814456311026811062224068784839378432969557650209819048737631440620592955215878707209587973602805584378622295556269300127242325019737273884920994645824064725531389247869731450259783020066703713638543956175489859738560220270924017424874423873307370643568808556577215987025089869428780085234546032712194820967381459317043773826991342145142036888895898615901726071921095063843337364522613692403376098109453779326981629248559262916727663880449937414057173899166061250799778155812531718388718452734041185544452867071897894807217894379889819830914586032113849879976082979239170338362073934034265779552542226837574219451518388944878573546822818506010180441536158634120863205512942648132390473603909669520724188065968590637276840563700112596739246101826069765093429953357410756867867536810186997407139502183261048372022835331262575359582275L,
277554506438459887268862943928005818717294205196513452949997992986586039586066678958363638053463580506871803214643520054510454654394448566190345765201744638595801598790525978894535830235996351003297305236509999203857196154149406924729569614747958847532409328345065228476024008266196698203101802953967498531162245706460313149090548848380096277088497859972844295549371603695590012806051957947322854341253505317353529526262970112910659560462969046387569035013083444306903583044425132733333985861760065820607534103004823105175137991332521795344814823099018952094672923948592467218750958731505488751509206941048065014041803964408533900098412892293066894313223005290006780936285286173992572676046690789418633856487613956653907971192270732137753403852054428543458339240399995911369177450856880293476209297881545774034070827489495498499899002314866206968707293138601709334960430530351966016198950868619585843071852243396722443020888751093857213725157043591293841274133578988407366747780168734624807383018229415534848249296464241087629894273286514682197897238351039242050177777529912658473557576030415474893099114430637514665456603681879829247905274177867435639751615947610042327961956468129424075834201401898686603029815657125977143718614116851794467002288462090645787948071983981055932164006629382217772351458421068250797257630945881302068278688943996832426431461795972784125624799627244465299947294533791482517892104433784595957217424477868646832760518848572861355501407537446047606906576401948271226834861794859073264571758007645719327149009136402986282909828333676551198793364082426931276186300379251530059402082250750586461956406029229768305028885778337927717135151013938189929500396977543409998418247857688581458910922935549899509540346654608345220610220158388857055327461990836582297640029482917722782737991853668222502327350834740180108549936205543396425510895898293001681776496297143685890053249285498404200694884871648810496626689205830368161074266198021361950222519359922202219121962412567524690543116247710518974012846201285979587357929510623833699838115751099655814292588081531539406584000102324597238052471913242702290820458551865789626714229040300868537852747394295574009588404209147019032228409059647906658372595223344310320997315325929281146405799085089817184379327150360600877717061724514449827290220636632348235254680233092461658111489160420836857063517220703577977904734676308873454967481015512916933884786887049379611199938661385871553431038191596589437248829416163763986482433322714935100200027005125295244506116501184887527047513146740720000808098818099686932882349656504159169827055880193884965023568795214711635068944351948985246615226104931054155655126527779256363358987865159129489983781156855871509845226944160243706732711079884816534360036977529143754958000538567137252541341801258654947879705270687116727446708869326915403027765496868087956517507658185764859920937855530066513705057085883572877488609485850544623671666370123283838947581602610474427197495394871916324808314561011538455871782523067166087222404733476754202979725528185226722885474561741799372908548114243885033257135004464561238636214047126072850597316839270858324925901876562858132445596814993778967157810029744512882497403898448617874410667770111957179709504722843066064502670215962607648539440123157099088375900252533039923479154147082084407981393880748468652049085889607978908493174704792126183224396632537336872834943865499922394808331089520831173709537048427768131261234327920333491198060682518243699042592919839028353501655263463936841806617955072303534440380990595740247597135789725488928350377207155325055502382009004976027231589621573616199652419534075938189877239483259282768851778928376400064121888796743656076539899512958061139426790471885389488154339378761191439709370871840329763195175477807197890233487038887035454758505319775066736023124683624594136056917583409988681169649738224271571328483041856112309620889435155276253473606889540646066808248410876899915218765305699232638108537576699840164383880139334586642439543229804580531203419327239376277287438809063469233871848873675730144046521566613835247771428634043803836426309155075145040213628237493747923872927885339213512977553173930918138343425851357065623880453133030544401737290961410250249210318893849588116156838744718070523577857057183857845924392617958676216470727572379115756034149468906240861806759486488281552529813949508498783940155383365151838765182945753400495516604003441268749744468577226527876762635575280421696289462481297839542425579151828465535210416454563671297293717306267798770656634883057541145258523722088129204579303360080694179236899570094195709902319394249039783443491920568231544965752492866954810762262756735451475071095059661997534914530433807589388837274616295774097993350514400815225471124198795903799163414572332947579952594122461555268737362657144904382555657314605159566355869034662515816455350533996960842266924086489613081524734728117250133067854856016661886788486237329899844361491515754201083547006287170028351189114661512844701467380291177055261766257427085451197437839584037428396864470722315016055112437439787040649108792948513389683814834690366389278228152643592141342189994766209422594508265491065887119512042818881983499071693925467636506916889865595892427627343144977375750788411223404649240068641991785751867999369822949637263101733313429787027254062420596058011576697065128066422898331214218228282583623495065220371405109191432392021157195593229038530794654205673063895108724155951512986341448975273264006604218718877009769374607069746669980947454415541254987716195287813893080800952775296449859288918713129062768543743899172037402135000797548059441266632101311951686952419026322356946964435846801181989976219301366476888748051014167318433336801644036776514578564555587121554983357963332096210855186960216302861420200183596961312400661925207049423665036481309661895990199609004215411057704096699324420083321163767291739418093134329738723972207079013487640986046676590652509318800038716268437270400375081730260073528404340641352200199442239808000694170126003870487545544403705326367044780683115708585499173822580872398853535202826889835796783992369023066090577147856694098160897610502576322324579352193483809730858073704746851754021231449953638202881588055237794106141128042471457268563944476645411838263759849809441807521192577454992481268261109871682916745484038071315938741498031796647478287215521395823690057868582059729395008350L,
439392054651990659824188619830572502152777911057072627092012057231424530230051934044102823354823992619782974936565403079706598898159148924849538209292252671997085614361609232020338813824250205082427017063766523985471493426096103404823243591131611987603661260329339857705090811767292275299117161328336643499097564548155636248521521059664648673190875896090860043040651602471237081927275949610606930321801845411369591209267551413751190140059929434493251669072205345318726841037299500418075115460629764592069902882074837766300817772234216666155385047022533215940335350149985587860266254588743086347602898094436857843142447002467173051303532097796660987509197464668637789664686537703043172241501567128958539607764172760119272115499780481013285057350369831124970300564215293600044760736462699730184216079784007922260010303818642317528446949441706157524191834466102005519441654606289876586287724925029703689379115601296174689938646457177697583679509945912937156885218894042098112382080876919358586262442190825603281370241597514205378680585919459596220438043314215899197594643923329204798011881674556133369525712196056093041881152337909620095377150696803452880812527037002476324111674165296189945951345007425696914424765957044772292196967220368398041742385016067764833863896209777501148198569657711411218846158697305944584775481580713949895247441278790047349906613379480998314143025668772926902352144325012604005426100040413009852850431128515830838160268082032550492804075655163791969946249762928141830641651269583935233612579621787410190502591415214389000057482296285320445373408726045565521918626561039205144952247206892848656866471318179916477448543310208791706218011956354289403946146374739240491478770523677843613274024976077867077180368516256832368136637491547230253358690198434965264135278344239416759104121693897857450010024592974195148826866065610676361074831775970747567551442584353644788636567386094449537763438646519634834346019560962561734531225387878099685613223744266265686577623450709303022140433696861228933564354576439234843624150236058246201456622423923885853731963410817237412201093705761044183771793154396589330274030113202434201782589854628499505218361047998406529728276693742280262178429201139965695402534518471049192634861152737303196747553837982479873718668312847303841490353673327015397520906337211819200828261851874894074283187166573559589071391803937480445047912084956550722402872959418137496432832660629869545298597258033485747962951926076879283453017535056064975160278987629886379118048221958624178708694457585827664842479912441561904856438254177358802298516971402500359428011130467461433795899144733169531957203679982957176492514632773914426809112266968838240350257626300982515582313216675374661804175456745668022171721484942680499458222524245960540051548364123219426359867178726162695272746701483952930935905759668568761667497838482514752686979824427326929370495372607175442043864692985150354801385484608895090744815696712372998512855140062469528269000814304507237369615343697633957131922974765561810209563790340041853068072809647782460711308637087494233951241528638206952891314783739695772937044650028256021733521315985345192162198767490808167966804640799183547472000321950925169662665592021236467284177382176088027034903790422648787180086648410541925253829607830906234300280979064800926095184450094993478705743250035514108682254271999396319369347812865524129696339739139820298908297897181752568941972705367998098357588646697276204975654064850600318962246585611398328320012916406867919800341800321365737398143471783813181947498407699685192013745235564499933935661569226157025094613492355513400191834420430298583581146361576610013319541874365076483446935710026433919942737689233944123785260676333198378381419958151401966213821376476825030294432116123028434128568875647580203141555016690822273267236657490099014103160835529074493952391229978153561954845332654356168647418071176373077180407631243706190382653952564679743158335412513002462612778708346558320551135749440443113170533568815215225363248087142808510083557033621515472687102982596683053021765053832301709946946455076694524634340024680221408412720527798476058154000075111571117018763551295855440868148612630731899807535304300435769271224245223732154305928332665441766909052431012987886119103149632671531665049921533823423747823757014618431472461335957623968278480615234170690587586429139446177306239176978343907698972785482601305014560886245238263763464961254801581767324084361775785476602571273575309851944039322024470423535835120816084994779536100511459770874417715594437707502635976540065948978292631634847672355148024446992390062303723247029020252703835794533499473342714875451943117983916382186524273230710277041490114394857863100368044763606476929265888535217810267625374700455924739160135427243421257223690073598888764854625885702604942540405256219951932014634815169729323549941597903971658177949551815450832207932445252212576278258301057520839857363018625241263870794663130013926538420765237580755667168114863034840433740186084837228927897902863253531038804144784752671616161616455718510259254466429883140430552385228882201863215571704478096611953638208003218022628084632063530472204816720480594558243708562626473134768366385635275323594359085634149439316627991687961141048873012409788826956226858918216276469990237154717622101653380006741684088934629421915756895125893879826696929871947492891256646403459955963222601649177966254947517004534874017948856776645228270280747184415743106343295308470568453727062586604396948943471027993762954251631496025602745090736061139792571515719263633957128107231438197130138454345796308853579725472933003905999269059213652106654980156067765718691957151507746290469462064067534957463823477323907231540708055041822062533294641484192984175474597424489375467904872689838574505866678131088092137294439632027049845017412952383309130479439168387086282600509649952719425292006904732800547350612745791635095527647213200321446741979993489229902440066025654016847259083601715921900368685024754350242342578237046776088446078517407640227679876077275188374860398374453701425108463720116736274890021149280497285867610482414759304074938237911323902476814829791893140373474870946727604320737684788260982752428281597291527142453927909607628061798508181590437513055729041900627002358255278770710624816000234450119114909496962571430512690522700631732952407743875352788759488551474373145413491090586560594481711693493937494002126938L,
695515900669343933526818147526907049126305555773839559280748509049113661533842018447720147174560973518408065816108229028162040221895365834704749616081440582997796407687284714801269968106636030975188007506485661487048571995127443428456250274789711553456244994511201378231876217917652583002971315333369181519402526241908619206709424093137113804650479480329796889628005069492495858648663419981829820860956549719974698863934865176225097731949339078466660808941177751928082370509692975070370765501910626864262753510419834694720527410051297956529935651383494445321460448565727248769423817427780849009215284263289973285723517882934751724758528029594767360157915853828951520836609405156869335041388241921494484463921132820452400804822705459719213423344302338889077177666490818682168512722367198629519983075256178021411231959708581305981009635867428909238176437374167898670862353766679169891692390488510688929373797851574042700481815348969227402476224612470612945070779678246748007303726347082251883282331185205319439282050528277384756229697659839255451220045973060100166233019300761255551752373281521204068375741669333537221115525344707648729099330011573352883960968744650543580309644036662670285811571485312644076291821431876303468887750411705872798658345967762561384323955860594078620173570231188008744423393671981057600705042190019653882172740490913149231038319269736332205548270015730886478930844217878630994594518826977184721425609401224429106971680239528981521303052812987986058907379582963697536073359986110566684332488681122752280871715395829667371103113812165751019650309179402311012255787597424371048171566735322212939406998262918789827793291592496817329121716489866406565701091443228375782750381066814757600915133142293226860797499311037223837989195989644147821585903435511376759753029250052176364589661214251112971772736950797905474052233990889275479430522046253232393829774923935839379823413008453945522360260780067497191851553541534342047865755056832015579249561246667569633408156228722845092837712046894329923413172733874134679588762582287638202456475790653339640757702051471728243476518292651586797013263922946837273722415303624503950932076223534043816666688859394348286991714617262654274708276583443589111640151790635250015167190872448407900322319886752264723824015432535222750202165314237380774203022666010037093296158370119261779452386075582891398791805292703376298382895414348009823220796423809221411689026595940342686188122750301823237287203036612923663314143555781427546504327045641599232188412648401803893663731768205833419318291299210215862794088299369026618328464003895363932836604264714323304959433795947527789965421241867458070642482390350165850482804969769325982396661591228526338562284782169152328684987004108994057034742944661324154338405272488937666220464394417576660666232163608988595547530578532431302932287453539941719539384506227676835982440319684651537516260464528006373738452569730766869930136674081839496071666738181653317413515774924899391215905620677811646648493916367697746978328703445690682954687653343167266907663480022825398136296723647767148788997859306185510277744232590476735779777819842454487481747906078993941152455217205009535460287499325819326071314950486806229879967489603754149569979576685145364871578987093567825656440021861056263531821580288817724956701259276319936558486429902389713795838471021149819720119657264267978637156301118463408031634796722415188772478336183619457750328895813825718980966282230898635847873450928654115215824614612567518564458944178149302779961186636732730504349596951921315797958546525132626419677138840184760840952464729205031273523076388481250170553362345158427365043754766099732075791444919122485407888055536971846154682328024121157586190391744661703374908495451935375234102781631077095867295711757534883014023568405979622341988983041912484214927631432273192595008535192861280225379594955247618614026956567218469735341062843211714671392142790861095552464417987202764271153412308632779467580513286229913042846534134461132311832610112351207288316754570645675619162794965304371428184284743359198660782968021502034227140001499946866058674240477602764581227525379916232236966570108756045240413505783626877159134457853490701972643004351821483309889232624091652539910970469971044955363663436573952237318851318652605095003234919943452310415080450540010260460386607981013078160947080422604237221685606039127523869002058868549249626754161618781450905883804667090033340478075464238158185162176467525658349938865601206005739092169791869616459231434851967297473528750256476547810019193218208312065034689975995672728066087017698882809019801868749323067995321011886505964188452197520699963701153225720731456990999992202892409102783985280338714065218385556082529647378685940355328888441171931297171020428174668429159754677596424221408070990704778475824213362727406005725408001744683424514270006784583524334233991474892854207735297684201271682144376757704391628931673722053696580124543334134645820400569800965552093451512202795075006073343351281995223712646315064863432646423234081661426191160292071357030187352865758604685294207292428481414611819304704937364691785042866027098650451109756810310819584381533648210535680843990240732237543159980750115353117922239780490835984927790945302714673882460857917760228948365932224307716264302249301116586779572515406190961613967298542412780309204009079711903819853187612900935771530085772770108242121031402932901944097719972894488572685790478788639580490709708855633861094577059131838730139831657042366005643179577066131015048184732078548103126871469491160424961772531846274238867906144478293982709095193035243961978352691817142139514978854979116001980410708550694051084364933451458623207809477741295754095112671269132083285436931671894927481894186577426331132385500281432453255197763516542654760433865985923902585843173357976904193918126529310246735368365496272727186769993770109604239634723883156562390333322308991109370592745299308478607700383550166128188347707438608307618214315691865264232074978239735734283991625604676889657350905425010401386927124273155580999299754240186197871967633803115219181162837307126483882191720386895245743849078116491208407697419943416792987247006276217589178807254632920610177647760250409693640381623617424186796203182259521804736062028015091978422840159231578454659153513449282973258170329363138999969898852039404585005803617301200168994023889381662305704698976057838519384374561596339398744377141333L,
1100811351630367184764774075913447071138852408493434748091572595669550387348784271447083825936391982574215389051535660624622191795488217320703871524519409590164160208713775531730805950372967744682531458882408223535173499688100354062871964374550749402841429130516421411105115784453651556311280453663792643144892695362456893895398923382314783536246233172006736981336419706444835827451716692328528496792869709748613145477946604876877511154119945079486789322892459778466168208144210306497942402672992900722693934102813800457570862853490774260460411989503813549328908077403759560349627008335097611233595260751051532577021229835572628993823501044467037334080825841120368071719748161028620500774085320975635333265727295718136127355072858212363545455669945036842970929015583673847961352037992100594615986256799180031076332863201061354484139873130477387702041107695292108658658788697353130601362799547204158400338767088197586500745056129463744940178538919645484625585171343533890214671393433774790471907381192998160122121751781185593637693010844461656920273779348059665644449389268678606186470309233388125726534315933273910505161170591478364858650107873966899031006261009216021857420563563629189226090053104139565708300394421176746494281981570616090170229140008208186261358125856213498390666309494662604069733789283384352623851690301702148297010193719371076705432386243630591524948920364683425712770921438422987339976919563647375204203899117531654516873493896275128810384826716485872405115768911318158344776865877629882274551917531982968924939590454362850935455750475112876959468191119601897004417535924013521846121499594851141673574300188160817676120221431388857760172408697019823543286237392276671569502103375941481829365836777366907484213403366304435836867334404897997368724623939045671371708196949547323916531026976997535800082643968182600431521265574010333178742370857847578963553123017743448485464804625691337720407673147243271594278706034202963940367872257964914657312136190753451158264958617337787364889150454607849640762015554994101563209532845999426714852012238067267435733308413996701479130947139580185875663889217613228306674657847219950797931973317038840603402429796933840501226060438310888865403466078690829751195977943896046777526214131234445377607652465143919088060177265783536069280761507536198049507226793124660734338039055354712502581426188440230747108800985782319185894883615996528874101458502383949518899346805533748347743103377313726763064051584334142351543146350531725016326277707545495080130861011740914361144073976510495572210499012234000315962594526408973602919218513085775233558445466367656706251730597150308294168069726088833425922892272323725351259224126728880367870745536755358557389340273386939116666692791707750349674234057623804433203106261134102549123040534362651018622775850096525977643921081072545523099694277364106724033731471370340600175486638924847846379868785964100189380982862324812281684685739004479873874768582560886636913104672194557017915581805698096239994012717342411523363766840973536956408209361386901721636442012726043443935997064514924318421265875424322779570806559503143580849036576864471589707506082197574228945855391350962956155184673693831344822743608096027711532490012100682780940922510173150617086965883708533598793212038740425154919857540829335969684607444739297163444475824108941608156599012738959569819673804662165000440542367687622918130678603841541383384161147950109021471727869781104245923260014728592287394228575164342848403727314641355687344334171240090354590362419268054074475797253535331382168480104838212118211363936316939323525448913928156014258313105166479930203443847226468694395826748598576841939664929666442192422209244095474501716358704535753168400515000604386723154471152110110870499731179646298138008744925617539514878527489049929825511965814260401843429669896568118237660120486084928226254789869716009964822994689343032870059873121778150336684178990150297939202375545582556058099803416869343115077030319605613617722594084315453004230300663406016566596887892968826319249585581510798024831433086166197118409742707218363324891268351331184597514613852901127723973015800585472004142292105682599617501943205982887110754966859414455070779688866631751631935493711176843260843392060690596487789386238305212879470456760423646351878140551957492236164516260973861516267639153814097903866577487436315833420896504409440776786953431156534484438589079525245817602075601598395725607001012453235469190077587176315212171591898274585576131377212772452754421386172469190111370148301276627236658105251745610467790988037994049103832949881992944305087980287799052913687328231206560984327174200976796007685818629458292998639445089274630779705887005848945202186013810256022931200812089772657781379394085773342637603364167928630904367040766699214564579404649529806521988032511917333630467661821996847947559227638990475206022860998508897861971904617852701503065580336912933888390735986393635022460206136858543143461144793373173867281752466328803485528851360665456300445634511676138496508977729687144532043392197535447870935848108662562960795699616038123774414551572505630789020634428585793800251454284327127582661974480096620388134272230704438136095588897123968866435580864366797970508895066960513122100280552726579414645727065011046423197207767481433112341827378273897734457441046252395891133716215790934945873990549898799798151125792127230621083753717197607942161361583944534163812448550475921635453275917474369138292710014394101591253073818815633029999506648888180316627906275093796322262267867905746564982614140484358656935533194529745528111266323185878476314099153238890553459251450111515407779116312687911167927639017561723397357023987898822433522299060262391006590413885581607906954764077521478882325099505311486457878760344712823625032821453303150072220322704321067611436292746751518286138837647916654836015813512479629123101538318633918770238492247286079921870027719617355125309525463807573095072261507440128886194777215762883013959324249202895032901431061374966258760284803687677640232497078014816226276118449063520935759400698835751645035375778891170472498384014404877025912797073181271346860233099995436547203106600465944112010047175170120744234616564438006008279947200197981371842335294216826393780986860240045702815640701688358219389928392307251917644014180955535664743143879234453374731471341604672918999618054137947292519954678196284036799966278798378476809789682029300964691294621L,
1742086573267564024432497111533009427878490647731672443828879169162706996967867702876511595616959735250025170538211697110640300239509053495166707887561864243044345754652160792463046948204495157862735703589826435024102651801097397758807889440097505377309075621499653135437743731415816681270458979995446106020663432275811849605299608224350457854587054155750003324069033553941099487160851117458141589626974112776800952927040213042307620924523629246145339421977777647018515957678605483489250568429983270905631165295565095750950623048372426025773954747189629311744844398277044875958434754624928936966866315470669143168618727729488250706853206614149947827332647960727390989475544479891789625706018000993621850688219056231174328087491667444538086730219471115973117913617119951777887959726275190110742719489198473258343002308904626938116486768670139521221053777661276751781475208755365124959219887802673070134088321945051116408885448106009638923972433149081692628113150745201971687755702287036715720118548814607556911453507415961992516258561607003403923156684526097307755737147063696840693639751426270460948138147605953146965763226578062471813295405664086381338510741522431715656178712683962802764869804595288050470684327005091583788408110348364148860332263670016513721696681742685213326313157418682013794460889789166356284031089649238174168236912167873280605973705407408146643849146022021075767030649994925059346760134764473692009773898664196730512646517382441120624758736414790742891066682369308273335758297802704843382770820416962569323630141628293196835369065670828856792362951304780383048212932737059878781740218923837665165614836299815677885851065691596299195498486064619878782708499074183575032659705630625665995407848814311649676230032838958153694717035246764771976197660520489302892939977150559653535656242598331979695129376632947259296123039714373606028146154965349468673853392484142141659440158409789642547960174906386585465950136037482082129767887829406279100148844994950712282515570529093754100553782374014164040477089217716656089205859404116407697307856802356122586273234933468877173328497735861813010522974246762467474908278112251099412003120647362070976389307056016490888628234805755773142669766774051275604114404857144307407422551924524764763821106150239722764843253724887269730588113852703719139804835283261959900076582867502746141794615969491601704087936316436045072505779176397359312661000618349278816558938520221053859367093252720389473017121638625099289050212049911932094956293051717546850659219405218518341162106211588997229229050236627754014115521144956760671581524630062678685593723790291749766369886399655056491549823152323516924623589720421439396914249574902527268618671180138561938112700967157344933544297988362359978607334402411160697004288854330008350953552610685352306114148257390486761767840660669520990176217934929680392997809372861954263974350620688675657060048779459641183845139311338619289374434613887724833981085609434095559127136432676337349104524166949382722101201712008202044218283835237605181683408700669711798470024636065982260747909541750728168945766852940470770435514574971131462625382048155685881500278301039040727262092749509891673060657264194801744784816134201641875267861572025794373132033409226634712147128804580495162734410402457989129372449413795941416542758336780269168638974912852386430510249245168247742360632966960960250965637650944132901467550025988976360557936018458863349426328267016989128414292896493908356200423716216404874244837974138591183141098542116373160606813938610720608153222362791940884055952602083130099928210646202150108001618539772058105852826780677374315198151561883518686742484734151413788641811173336586213282712271264013261063092497550751927518890181841345711919657776284328003437081850382564774739728698856157716499520801962082747004383348066346567470579175696388807924591712957471760514974503468588649340402095899856733951486523001026216745908952920906317307187998111244522550109827562614582681445227204795792307863132238789066401585019207319806595007896115356682636367580242754713020233269379793340749273535869049325310838119900800016986369515217430297602537114432674827997828694250463075103074620606644929812614186544457047647594042400570301779943025010816604335190345504322211577670623005257297118810912347908304644140752590875106605519171263952140313983332642259926080788249569854104360057998640255469439627130529382587415534155908221609068863380775866085546818790153668754313266416120134129968510027736800476456051277096023630929677734117811939684544657565380070422767875955106265380828004655767520907835045434841380202574221081067976764480008095814334480090179279858594216208008767056880961363775768886404266400351165170401141564004847193780144098636420117115601572668376080407565886494009648737785514803331062670117354551206040790510362249811056118244159161419655596631993441282066394249888019745823153369382491535297983197562792028120391412715064531322719213180315856802895534293077760035215183688266380506768948067668507276399514962964009269504612506092150590406499913281453731681464770698274382908289612366952600894454945611594627141013473999054759055328236215270235845401419659794758849090747996700119166457638915188784366717433057042670666798460817996999766286002362434606532485229689107835767050406571747646053794576206069662516082733848072748006367720753573996894046214857960372257490301301957131739203269746907028171962304404160845947745849413496462243877180310348053918869100786216191692278113992816054477755545402364364519341793357638030090919608344128695289722440303546282966018567064644593877674182962438848737946254338672408080349523698601472398472070725348118378298628546614175235982395636385103246059560318416812897545304771569272683591560319412862522176555120354092432216081815720774371488710460443580664677138838292509491715195221303467560547120064561859077784490278836481134805808474587507122480628806691218210758514126049378500178020166425173651249948511122763434084938689825789352296844293804662815794571475895783842926518533799755179348697698145553548351121284570839264907928219433593534401202268362897890338608623785037071527556415051921318320654984817419018555929963328900883774655462484187979850604847885421685664015638062280344894013731117591757994212553200232488063253301478514112831735235708071793326247272761639094447687886131119295404490681709231294836339530830158334509692047926371516743083755256761667911775238971743922016991308L,
2756624368217367978812641673573007053338319252644884133120986030355059027564717428807006585475379785281430932866164325259868116654194580246400134695501345822002467733660295050465780825548728250025886430110958699978343470095106579533883058191477168004574444405097622074502890224643447376639335404192918397852488123349929959499625093904936475190896385601668876972387695908780617932234957836930192070306746737406912743466917263402468141308974214147549069825121381428256251243367480622885533301841809147636294033511353287009329349898046617871222660271477435391324626950743399483976810066138325327513109147493869330840630437644266580734230411527203761426129755187636261552007167354030145879839495145472682429123528066919318438286073395005692212467055854911682912168511301605861957897118538262347291939733607109381320197078319365509938255300165285764343344281640770250232548600739696326344618178198080662773004406984986961317362660276241926533027386066468581391664940077336294159827747527815755357718019273356517903616100708840496982275150580720294684098416272490714046884747721999628460101677388141695264142342351934697110787105738325852965012874250645137440460899147901571111578102085391670736246360445964456865935589748338950972459098960750896552209685457419127134311955860659361275032981934338615809524123524392530812267952076441564528609798654612304111816325284537192122987244714815104626574309326337931832294147452442480976443833202482926315446200809686577312383346684803089194142984802033968099357803789451611990032253152175020866204231571797298803812155992670393317231454717278951909839358766774930310191864457762166797842520909405734681775364185497386791671825090475580313083689994677392515653382138993639432560358036321896429810130037791453716681853064657276927669359564472710548669709825888784514097447212828669588519038127096820285509247151808684880355733573413313376798971591831196921587563742661293568917673967350915437485670845695678398551191922616000120153562348350709128025185429812040901489646461234560846323183084723972705133931754807862968143216636026663504640492001054373890751973072896537151741268015256870071031549190095141796854676327357538417000458626557033427635845838039442172839804033051035327891476087432495535944126067517269368764734973552302298709518003865422024620057284260803011749305779069483493835055929609998910647177073473267741087143767869703530106842482201716757757285294369083543680015401090633933442385815863040226623511316419151151546306540942642234349943751943621391586758484274030361439823573680820394270099779607483401161588025221290091397591446034700376464637347057149745373925055930043944089420172830974423972812345594984018005449440186787039095855633795266172283698869696343200407924074008231884573813967387885831249756880613567708012324422877884071163690610261071796153052747036837026071531193246472270178780301588589882130834539250539051257395708950840254409836013811153915040851120739243409089601396422112308354434777809207973701201990515846243783377781065257800453491010594167579703103529688183868626577013313416444465182701145599721597805494215832007501987717022409095875444599162958930181790544013059511486467829020159359714474038548075661085235299494562556846285639086946443769234221676394161813220809607520498568008217055387223585612911050844467001163177704591817712664572637239974998790967154565540864363416215493521754771440773263221893731717604875533537138971029912793959266363290058365879941316294626677342610991151091407290205697408288160665875461269762061506104896860609521369750031914351404994758465484380217206793637368697593838084534909301655427043530129289915110089438050432683773689702524732532482433776474574978469118402785192985967065048786166353343384245701864867424093872795125378367191314110702061250264475366648330672202100236933732416066000759722640388337812557066232491203118668239765869456173967645951278012068769597661010773332922446665503090539688054918156502818983307423060845792475071862118488039814611083886903317095463607409512751892385622308428818608015598524757399820050858417608767846355416777792885952282665447607119753515605388219128721976928193887180877342697847809939489244917337938459243839602433290828886167233668301060809695807225518624889245075611683617552315525100780585417820824275202549892168284363702701669654367623299698537228032060177811036781517206280490502634672898484566840195220344251034375915978311235704351765453248530623526191197138921631550429421762325967586447550225686749650773617462139759702771243764217409966397726195991276538964265882229927136536774633535564343489070744460993453122292024410894450186639801843502940453697085730304924679760510473887200581858230585502912778407189032287204427614357168263370739836505400754152979389798108172309677809244127089030707938065843376906920404315873679084130305525336561048601517083989601856268459637606720495565604873242503385578108729926884003241369109246441807819852224898591967662578785070608596443870063226766320959009143168541997216094980186298088888960393140602791327060828104542219386767436308076939884637307024580703930343885920286538308483547292117896867262628094423364807435144781052331679370251297334777527331932203581229598743574072155440957639760014854245465491802439083544790674191296905141997284436275945705768113019331515637351955882808938036550435052697626916692355035349025465804599563562084501561221817262557394481985947397672042210231740660662967058277215682736715101655360298844148181662364886401665202534009205927286810554756828528789393056753530309410907388285152896659919336125299835496370534785602259502407305137346732126337507819593493713889086677227057803242881007367615360900405138337365630624930694287327235057905396145092522228494269986402648651288627248883723804175533105452997015420805716858717054875704797417947031287959845425951576441224716707148158319768206275173015111917108473579862145257595166919141230076322851289797463684431454416476514662398907245069367261838686276481969040946839291099967330119206273823874204298171917195587952351119521682054272474679651859077461320051216414148721445399532977383820153611672297812330000260810592903432389331634481801459906209261914510240486429745613073992806249762599316101395491877719222008436229258392594176140337505023059035234722533514700802701399537745991138736711983636335937851955509590740307923919897664401815665041177089010054236515432225846959032935634307694510860856186863336129835979500868568830784422L,
4361506227329790971493337254886675620986978013429348582364416660040212912100271144879570432384168466207652049501161275454356160338779522255259115105949256504629466144044249927940043320140820965968916588136634532540178630311289829587084901694295047443955013490138716502741071429000245814193477918568822715017507090746559844061646156536724545841965680976697201768766879853253206821173209317886306862064100869137848628278125551774859229451682871972193048321448415500507433848362397430598288837853647797633508999089340308305870066447356557505950153922225476333629315708991170688347173049462236426188736153850641228258211270533894610711598049200731415137429046971360730192727853190253925535806806296366231689782279013449881419513132471004874434373494324334114468187176039470974042854509289947930933117843362739496192148871245709880758366011305339426201618665940080913273268573229214987243449710133477413332621477697846375918901859371131608586289277801211910037368669063877005320714244175571154968010915414689560674908782971962114456489791262193832311919362525490836816367473140157264838046660301126159383540632772746184814822101467356765050438839398092933372536299822813256622159389827531850618054055580043764670856301638354749536967102702397875179186117481937776305661093991202768603339300585324866103019485203358424886216625638242660515988383232221324642008794519060123512890195647122321332543691681335870510124853108349214608254744396868983726064656727358447757497307097393416144464519285593157918609434987225740797275373326634181259131351017756809926041530154268330007775386442653297628883852293283521356566742793721899363972497236809044148601625652282889404353954503166586753957514010354403727439597390693618446536234147795076367880333151296766268072300428473840360151237550852560083554439896931109188488389703264514735754841299390499733141866467952842978004062751551699457247202862171666500979634740903208098037714546353018427939850663005837954781010350706378080074779720482783654525141227886746026334392866780115784167217984867598010875930649885071653591496909893268983627660303074626223264391554706260729593790184046461019159945342653436332938668900622234676117842057332673910898004674992030931151583963940655566280583325482859876126051335843619030943417173719847275779071350349461733036069465880730417016970392775594989096048679638859322742892691206209220924337235653796935036166544651456795835973545194510103385845283177121182724694255010713880995924568522907401593171987993673677644819870523756514972534883721743039138737046998747731831829013236969459322596387124597446430089577047385694691860798133024369812681934223627787251270489628625031141103849704109257506186127491947272542639288232178289843346804126063936902605031403471302898607195503794858327345049698914076468428144031483313685623460538298795444497258788427282176974729210115330421507913599863554445787064748593389415031913427939858156859930612405910748228209996484905689038058211376811375777043153914087688756750914838619570331638256252450875827758898263872092421803671759481188815036954161799755167434565603472940635109759303520460684830223469517950435271273932685245899665612717823758835203810215235902503113166463269641822400462885013023792905894490142408017970076777178575929677188596559330729375674697731428516943274938905720761192645283495720086603994605890695750554945972247918546699188441071929331594072189830946351858916117355787364883829429373080322227596051542857831184585832567044721298318373713082347126677863404885085957041429885055021500652372245834634901864460150329416888800984309031369909658550451718536418863317022218143814963274866463467451752949948170416029957541482133014641579467718003553275257744173054464402372040471815568433542066482303362304169836082064150863174910814720304528243335075453287410902466472558707055712195705067350627136663168805426789716232369858519126310008332211179313921978357642297179524278302683415633884718788988998774429435673436370048279610205488019294608993053570516563174184174242227176154567959461642158381923607091978846879208677747291542967927717004333836129095704327452041852904758299664069143572115244194252238348232392452969814782471355340413640039848674043649199315598145282170243643660509517759700635231618675991013757599487405544242858946865497057264281552164871434240107828076807595548526326215687765378101834408313006102395821625209477265464149656820549916403067065139491955787374375819674843131936335330204734215710877099798532416450356148981309382723457411019592035314495988825590286566963372389088405166251964816846077801019736896429143530595088987381340724559279071141760492839028497654086910622489169167802227582000903792310146776405297002109032533390800996984406006468716069410852043751400272216621736041629410551656237307156276702593079939791702391985184362624225916663495595489152421472360456996089656480089533846352273688628020627792070985284672522843116727350779861626740273814818474330356753433307056576308205076842695773199068804919374108017679168522424250538121580697428596844063215839961176089574842704564985673981049852084354665108025035561241957721588808289622483550972285982951566912406164350132536034206983373022140321923690154507723941178502944070303622804146041613589371628371188824732887791826850495466212623976036103023210368446878137050334490105349728572415945029235488100893610211132630176072817144962816162254874000964158966264319448108034125532363075826988810569957513244440674987135968973235973938209274116071887861231685285265006476347750414397359593675298461267536935881747825274795979005501517699984616660383397082738492045551496837872016301540025321863641217175525020451899638025619462658876444093826606420854936690937158308504718374729350827902898812675245158018496055603556704135827494463244870383070365823642135285488721927987482430312150012856610672190646887980283341034615598650274103811363901554343365290029557216642684306914009267536124784481426514428409729171167716346943734699714430189345267790147916287646166092283587882268620105390958041978807366628571036894823705550049765801419313265533383010935068566969189450440219283503681372286086745766448010046141001866046600498545637433281028998075524809025484870819958816988182638468400761559346498498152530841976398075263159527476131125356356679113941625640945505173830963371585924828469193373805320876272153118742188084366055018324929274756800313390494545130304859194766621218324609948815565321083906780342584044722902L,
6899958468458839761271354149972508681723195132840025840935686930287794960564826083456420893345144490152280543787860431226529582485134847375256004250084459868976811523164578848163956357940861931652019545756085636029684239838899136859075128802906907636348223828647694508314708736321850373330342496703067900142645240845973988615318206459444125557114749609285883099565442643840751419626174209963849184672556940223131321756842765093556731990808295584348565811865112805172904164582697936830754429686340751773407877109446165668566911967276336087547773513781652465401869043279829152569573574389819174516828132778950793703534239600038154396034377310442452477227239794874929047786303165152472788477692282556915784627133386004071325041102096209229342613236238387170115607572387504137684477437745918415267058170954022013731464676632256670203549426964553169821488623220169926858494399772071032972777819070036553600986924777297344144149417978110486804179318860558375851647338310752395706443979761851957589262301093177414525048704184029776114732033320248024186945450255198439667784022768049031034618399497203678311682109825557581345228533911290032507549572490073252420003685401945836372494575410132907908220566424858994964621289350606126941371127163971917478237449636669251019004427802650911739924941205916111137423629461425937476964866796527557130978810700553789716960885300423572835679437102353508877066248406821428826059542160817731171648221373285949191111114542430705614100321862272797634191152284459131580614643907361660016639765819513448653037254393194857923331684616086742400517700994789761055772915033059965651062384718198911781158855851040943952821319499681084326137730199323910027093131561455550654838119990477619207275072779070474101837079349238250579510258485252769823261985633021770679691680590397363950075016862825050926940352798130176580627903728549777769667956515030417597003320475832027625080674474021119795679970381269825726741810763986878184064261575060831107614979122988960383565285355001167220150993759314749874817055037767146981638700875111260788348312158523122114519849065710212387465090357909075118401255789876164578052899996108489324182933752517060584379559907310144187572246832749374587173843593485814816636348811578401396500386929239299266057501887257754861806503664613263135624164216251567085391868185286577219423438573474532973370673968369347008822410014028942923497857405511757731963761959365293587577499264709984626036155953727225894945562923950564688312560045668102391834850264776442239205250993640722211651934279849291414817706232418246379616536931836200512752950681429888888539317540953596204515457113218933365881420271514632127775890666703483118335814948449428871283634136012334322643944195876851532117788558118803023831081325617584316515253120443418932025750163537110671769248592874994480773206595427451188102086646465273766089624824817847333392535955026205933164887862258209679438898171700288850863080983593763241450026125276586617635238503329103492505182027879772196797876158114468822863969030223461645988059721381024054105663375022819107537732826626575329592347144168460829224873864690649571881827103312534588957338025691969454876017342133587745924816493152320959194813271449339906911154831189358630119463753379068567275110535759430237518729510137161508000340508475256762616572867796426908896217921447944517310515028946050080923649808081965103089271997173398836063783911682194368518863626912775088446828292076144066557471748147949792824820367286744833453342665842306393534759016188837396607904989102617750870051953138268289299985991777338430110582863355935289661659785941349911221990351528296560093239507648311774676552171262560827503062546465534370081099343645018060887197235704098303592732279458326909892710012026794786321032573285525628458130934128382492320545434639896437437895599755502770812844142625298458423300649574012321748328300615121374976764168312396558832881368931420146138770402261588895364628852453409888930914694611535105462545908477192082397449094134689442331973310660388436899808011982016669183171084940273073645692039092228915675430603998963790495248717195139789932903601965126087495278667869518880742807995650559044033288877428297989670162336099477282854980569460302361621123026106681033802445619111588651654393599176404057569881325619889258453268585285588054679819902052540246273211631450994570698085996419073225926345390007896433595971486958207599591589628247958714414922632596286473338596347065682769941041161585961579080850993006748124463367229240295766278932754036389902664238428999808985109805025909692472395956532634980536104755793732843800383534026170575979728415570119367683750944243688089573557179910687330013444728390979350722710088105980703987398393403321445209505729725054159942342735675893568223921184961186401526940022695536028996764297669188566246358719222390406052260915612918747107305055222500601768968352572543604321904459200022935505596963674335531554184202219873740359297972655552765776036355542549429304889368710272674209866371978125161765087768328572110547441681425117292384891127581171467540404033357425359741092780471323295884764282917257383808032055914526798287540609254050916881180514723837190249360353625578072074528012306750843289893987277212243646763137180483581082525736439711496783107817657330056929936458865467500498067584067090088406150840496906061178642012712386011021914899479440318548600483234245689717514011337432414493662167240423243458398029293594550735711320412299233041192327417106865642953655980238574465730122922464111058734118404353831006035381935968437116631755822948871043903345998228511443841408552277976022970200942459035886563212401231937761322437349119166664026673208860526421307564704970148238025155331402457473766972968316130219542594716323259418935544233342277558981535586185991126829953101738625345935560755327518723857547833977131420798180537914919547722492003188052572309114108014395091200418675543369983172518177046731682905553352864333281886863774705613014954151842819066150725550016941291240624138575083620464408104995104371596169436589360653689198129756781455915629386743082054484233507593209433211800613128882034641292521516315248451023996351649772456045158486575392392675686360116396521193827119722629772294732565225797550896202352169744290064723753411425007810997428476174440629213732306106409319991812297475342478625784896111285661758718097289862281401110630964642255340374553509569695733605426594016488393108696568395476543113L,
10914593247796286168205530744116085294770434048492018569724904276253527814067600886165101057578826515379972016071409892649855034020054616595182880773165685288807743190767226513204095225157606564590297577966236993611904097158660587365324029731580928138852942749888677433324612736788134717065317948285546321958326067887434573792532778711201889874861027264487200161553975588859093908120646590768871443923252589221517541677129030493868035813874626558531694201951060760091926051599805038652079505626323714494490284728366812587099530545204919437381754410880384785467223571677788870402595942540588224872746354476408430522458866192196889200317494665077689943695842268513550002593622322240104588995809715861843825453421034272385818033930145670589495445663056513394365029319639781049150947092380673766669146776505774105806446228942952300435155025005041456057132789884665104781175116259967048949475127346250025232000913150893686446006994111372829301091363541047016416299436993638270292477770802609744508734463753042211121024510681830595426961621257804152961995021009096698827783374014271829588200560263826820037546404042905961383532358036821482179066681188291396764080848780722465519401141335664560181731916511041641054767341568930628596995348082646142469187243896415072785690945535319346217699889163491753910011493440198195661352806204339503770775844189338300776645713955523623187942389289755616087144211307869723577991622612739527058633585315905172690065149237120236532444569033028928543640268312859563525914599263904184284588878255935251620616441585800222266814921214181261847763916572025644667460019473305134245245297416093859048106437129091608476111458957272790340962996925219409695322888260156955094182011029144581713081619503704109831232572412319575041047476836496239761078933691727520008896934143635515116463661639609282588240611800507379312405528628330925893860625364453108924221519392628848821444642125671721262335176992843404416092127048220010233559809699595639899854279979656622262385674012765512334958344756724128246854415754467860883765757559118774427660573445084572196369875116109875719072477836097378485526666493755979552778420109760910487519162760292097988633620601343391133842103402525566038654165964323608114868271329664729708183542294260784779510681990180777827760757468120419654327539041876633849598986091269696068738183311405235573582160727242518745410134486531959955807651248529112366174933051284429134486303670941093447036962969470411809435769574378261808920727789895996320051705809530305010290369756385214248487624824304642162387754268281529197363501926073359443681000033573205645903959141276341171029200745342791366775309053735176213052317689703271645908702593290611091707636030939204327019743064914610878644221497529595590358378267344043312065502052613366851219407728302929439849817063599653579361583846316458862201751448097187775529686761840469117655937015522477772557772713494543641517741331366300466045466336613918059855599039449293313346759058165928702415829216546528447496006742919575193382990503350572885438868347735211395019317995883185349339129100863687779616962921590726402594700805767241060958616896437719219184055981899213191102998009804631130493503422822354765506078024582771838858519585569044612547542665715442465873567973055902116178972143465968361804659207087540274555401901567754041176592280133076075041622586637294956777145041186231461659112303736809106090983283365884487847117812262705603552583668964916082134624931064549083010098982073275384185080178542911171100179351736045776106024954396613668987643244261188453087142219820909100525509320618921629731962541827004541792324466863729685725439676920618261456268040951329584824837411032893137356802078328211333593787665699893401234353899411970686337533170609983625138499422050824132732534417896326778000192553463828486809117542198115127522519184067745633718489996088863720719144120566981412546632397029992071144367588620054119957421923065774694981993373460018197017842356959390610455248908094216089129899199864195198179664538126270914189395988260267910842781781557193063737961981366688714710830008934394801591977063485346315586377460429806699821819738425109684574617832378464671992847587438149539237924884361424072109099473349004046414157035231271970472073961267994779073451387602935970347194028727907782504736761105355604603469544627211669721585881134838787941154228156596303114007661433320727383073717336682216980143884045962029164748899269788685856887864813505529680537066558207828707113776500716008821164565136033073058222502052664554534408697965030499644755095238711749257265945704499017116419360053621476417807738244432740658180475325135600408655365825113159557008773799159684683243798893462015811200193855722361555604490428919593290722814833617301071663649669129883258296922970726044954656902331296698255704714756827818513882183141730436257607181046691404717690632606712713252248797185869132430251008280945957504263846002243627374958107286458051479571611366396456403982010654025598951480627735873626688229482046592590952317147696801814523022894557869574825064102574706497394756258167042932579574863915069027023926667565327724056737440977530718732059500427142592188279005044254753795082526702731541913656507090274480309664215170317232322577168047800887391171059034772842539097582810096093617712046541840929478160179922361183519908145790620209271241424138237094216440892512878070783676196121391728761875244981083817519127586153924188569821733706661250131963807024448661426098966356429237589622936644049545838738506477716554878282764752161940893053257522459108243861122902973573996458999018732665652080852782819510755947926900511926400434205276717248565488963634711996279401115564898376163578229281930213868958185537017477377111142717500124280747281408334603332765514464504369167255491322075887127878864473055946844789036574718046356915627079744663282262627259066676025415817972164562571988218178067435939090247503360944567465148064996018512118086279437047102158014226188849777318821820929042731211941976024606022744282636850342067153099766216307124897436012636558556966251247351376234448790475637547022927730564442163009195189171248133679988406416929677761305575013161828732023479276865148853257023613741247626203436674974616256419847816673947489066878260707194450999233060825172313472131912046257339927501031542145126261769569227729855918768467362250520776137582008465649184104417838307694641719136576723432175685314098647042068817971928000179566600L,
17263138657633644371381770148625947973299869052500352327617019445110980680278127719055097229489661298050373342011694887373869462102243424702445870099128352398339617010536571537986331060621664195534268497448068293574409971361544246557517093152404472027109752325907300430608141973319438809337920362797371291389163264438571033688781498706747737187571799697547122319397316672107627592262423920316605389875632746459118743796514265391464914014224707587560945984690491811617836965524003430544641388552457020870080931399301114046506281477032557740670275434666729189009264247282687883670062810999088769222411178918519737858033778660253283278977769792159570167039634696818852610292829838066770073237409793675494206723359091857924031700176319795424667307876990379596081354978418268512723273552708489754474065998841571530286375164243276397814234068318082132432148353174770761246723355930088611695582008066990060482896278075711928607279854175977792837414587814625360346656644078096864891742494451058986813454197470758088874528525310826738763301311650156536969223489241953926167373691702208815114425934158088537743231362906207780802077748196026320712657536244762787969614964892919391979723166934340918495610950155230426960190651420458356563067974416334970806820447829289609058434931164319057142133109413453645936304575655729275341594131435225615677514773024014685560314804484078391485920344906979839043123953992268345175374032236295651508633066757912819796746526099362338352228339167970745843097828156485720815068888086519464423486770690907776724677499843045487830383709645804164868439874491395022376698021543756707902258686117840371868634517883963596582900631231023550565031324210377392616422112047602176227307867145871048535660601093987183519687711635167198549700634550043766600589582571890256082872643124960175018614633144460557966574662951093488043147982690428488312316782845456335316161622636032285949489562312620005189682889146264056915207318688645040841548846242711832337364308227308754835090870636504782336347032078089297729978693512944095787006330327703897759931730486811652068266770058361306941391483914663375469227032672804203431390901319880087219350222618258430268920273099545325589172261912702727781484828410115818545208362041355829527776248381153153925524968921772799792955776986175049042422446019708660087129060111512187234898272318836340962979053964170731756919724472395806463520652948715868506266308727255526707986465229725952127567554355770816815549074542462585907733931306998209863139944612058344945972922513890622206780262885251402317653157959258005742631643554760145934413115206943200669812929628907293123736616726828519774972455991845248870222474004509633377386367889223439629169903543519343461388380332907517918579584264639742653223344556597802180794766385355962577759666203939325483452875292753766767543569220264513410073064619884722258651376814202073739975739259900315991113898963075221152518181675302791705173136620961323542735409234717873911981356446625543359784882193734441469791617975657842111006718312838004836956066690757132319468983433348404670994579010613084634119962974040890308864340103351783254300161440598822594107251810591649129146593349643282094462192009382653979448071416909134545735976572316217026957692576220793410242287177102144676101498408609905822387074211163416187156016232355187341091630634526669378680659591638182632799021294202286685589472105122536667104616890566627977666140068419437329948355348649796331337947089782153696837333643746919249951544669831092404803093777799457517451843008766188973621082262277433080339078447180443816340849521947539140879922940361785650070174356048459422398900484447239285270460118190208070439941467441791307479088007496721463372914015086050781817701502406734327821969991052173883413147788219728439825100084432958203997011335309845292949511292793028568954069026437305254354395671893655534458265499852396997445161322643675498377988332588935717541996634706224135527920428892472572978567294660167366295208094036698449988069138839127564104049706982193436039325860338679855825255945872486951213633853930711767601271649719295236487082335561293740722810576946939320814967338166218725013517511430073903930768068983658171900576345649056636593073827752211798527615879916091399023766909036053517083355565167902139891019766200100004615576265313797672247645612502156522141356834235948852929750619654743575392701759653367954642827572945235822026965881085554571863157376068209899011792848720183840672493675991681896256714602117634800726931413744907093430192737454867148815993935456182067095481467934199291302779816824571447548740119608054224673359241072425940876679976192839664482138898149433141202293783830659614500206667025533776162214098649255675280950616992599067491206683363196411396563322515028001751739698232872190379839003389395598242206503107322402015436947803000923982123217081766855327560937929605491469605337952185175547831678742654513409797541030416413253435326299350726205528404077944431931430314371689554741012042729989384052100728625772460339617790378749754683485480265363450232997085000114619336293592389913749389459094762587770745814057366347939607171741362485985491704498589893992559263957889080985572127489282922564001192811013437071094237927336123371842648828344359653387951256851947146939177039967344628403257430218092629458187627429260633087913820911380182510304846917736069755331691049800609300128069086984467236989711357808068450887669365238869465692804893714023975902039426977071693641249876725959560748824362926240286949563756580581122173742237342156394490297308982865235219246162044110800658183497282690150006989010860658332970831375418311025592915725699375987211223327378342653935909996810747931509359595223607223936046772643720916100147459079304334329127555924126898592155251784629016332592300703346836473853165588008542328205241766198412847555469650805690306833934668885743770668967277246929148695113552700109988915288308546187041228173820240644404849974312485745319587882684415588352123684905189708512538183150942451603528390282613175748952750643505252344083999328769197526096745680072221147088607662923470932732676902021996375996339969577203369217011776595977369638498085556630201599715270973185969983852062458079205824221699976546577564156395672668067918977491034613528567408366413896157470266564176543641445035596550147705878007450590958055616256649264065286173428727456848492188242149414806400287125437046279603167044607961933724621769977256114206898L,
27301286444709895149541556614326888638240136281847458554365873827276458391092864015571445417758899394419158995215873564904228528180036614111197615620266294034022643558164111632626459367240395882316462024838336912887646293364567442276723829653258219440006406875680598839650409017705036255166994920552552889051746237463317984876697189008252467422966889313932283647063453895882944789151965371532501430396189856529145221949658190592281121189553619660987575251104625834290262432211357479525742426447766395863426625882891956424150686857386618546877103510136502513233543404407102018259058586836694532665205165485442038174693844864370073530819986409546774403113345794731773800081004473405498028293774307325635774523633013406845019992850399945447689082364389609330287619538824913666160488373324980483377626068916159875359177452738088285487437222942236070864143254366759695866223252697889700496314581674717019835336361592360433658426499661879464050625769717253910242439921985215588160952834516506678600661806211471782110636116312376893305289669044763665394245357255164397377910354685165927219527177931440530966171029057488252160959584388538708395820277034074065269902396347920137913780060712732761936613452259221086971823269644813604643766947051238782745463721182348733009162874269262378717269799623083792099727319739145924959894396256470638602806458997051174134815458508913579784495496066174266324195527016764812125226809444719554753286896164667520444282153923374186051465929025018423098486969510505375920664009212781143335295327805407235294859923833657574191598504238445423736878607381146318605530538757560857170396593823605528187516362429541116204493429018182154124665769761762660310412505958759475666263680021583050799723726820867613237956426323469116207901203149090645796455204655030678742014104972165728543989020569270468638417281263981218538989133952458693632234254657553251621038075162452854129218418445433934615524169832799025625478098987599422884157425184656185548674216012416144074601502334695726594953517886583608044557390609546905587804215222731878475189816242205417982729516477365730047608015070687741415957727423490917933608405661037557067516793345380103462502930896873010371792377562303319424799754682169651138616448224799485561362915935465708286064987057782203626719789719310844507414807692220945189577849291497356491634534352547183712863601868345418772716444868519868728933176076963994966383815869906116637111083486611806631878673036224958817594962129932528404815349732251768362497596413920377089488248443232211311339183290912566200231349843635523346791356373749246825452415802998880749447870415014165364063990494789562454677800101628536898079335523746160707021174529536156166949918161442547285887464454984556223483786297848531094251627499536395543352696829591602815939669564273172400612198104102777094495805544444228709046282847999086604729325891904988645145561937183280826609192788214304868940490055068584455783396607247395178705191200135034929834982286199896642560350608529156041500162366222087739262759094175437724755059645527624945007914601437036684784896772858502479369854574699534887173372519993768809089173093123521763701785180537204212833968135709372470040922083436197340501717726876835088432270585407191302538641496822638068919260850687329000483311054613336459333294789999563911842525550907714917992152831384024056603930867033517057207373418984408417880275201384189903368666282846028731876993454210282186397249100273395885420271105775203573853566191818946793552063075569916232503542066429752873078906507058156096606310885979517603306090340058617424488991501039716988017054721513969865695928431057169370602742918626573107893158494316763188925743494615110047047628124465374883676883998198942137122850986481494010939677478828130564185015836928620942304256580474389062139633476920460114606256117593268263013839888039668571198339858555189828593016564494698408802859486788785815409554312721108902606804134507181805229320824143037528506878033930119875830775177891709814035003515109848799623958418831110480750037618911097779434489161590580161305777858745824907879482792344928933689706180662675922966619116242237010335249891099899719315799464187683958999741625693401910629243758616023023731779407315122911038579503414800825898208820626280192329969871593975005044864054392435173238631032072207730118990040843250600402045908269485704727213155952596924535166399586496327053131252310930186309043186712010215395334175996912998802672075590673918200331961928551074319871726389634119395112724620272963526952171501222479990236946148672180585410351811201234610276705288974471022596621566052756694574094332373630960458844081365662220802506021787961328587804270953258440715729584900312519275399256778232490292417962265780077601195539724785980279658534973052150327601225370026630287043602368325029121978082846365080919820658745732570263271030063720727211399249420276353813160766312897260495087093964143578889701853286852231747146141627182401290942459253866739273863125779485822747545045709876228525368204676307557377520501472763987239965470158770065404529884832179229207900142709111930600616358800510512605335590969029754238693882395910729512639405555200193950938584944340214552799911378548647114307004597218968261179361442050050298980142734030870666823706862573624505065321544491851430607116341474950972456599661390324014508356533264489198777658093865574544456580562494263828245778987316065800051889034032938891810320233149700433005188397211730195884434619888558759156666214296890546084795440534730160944326708553014049483224956803366126481090235098490865523093558327690582788758712245288212166599347271782370846079099141258068111789813186886963594857338260217422678404197495285799991652887124291865779679921883226151943127374066771696430568943649453246505644971900820096846422730699414951732037218424689877100813006604637655036924058183153915105811395776002459712422448641056616437965886618703848012696248228054402238214886734173005858501147996038940069665098305686012016602410625670724297281273373298180544656913843043119501851037446785338876116452572632737606039473631262595113390643881051003171487226853484219463828611375757705541672544586979321206831140311059387822646853031608715684086989834096472147148082322681602068597233626020219359150038963235357822245456625923747380365903530942910190241127798588708718745852951765443964812989437268264533078948551909823208183517612800344338371945071782874159907151199471395128889219141272854730L,
43171549766760451954000754918314252298322022479290622044785427387498235903704201581164174291756072268748632945858596840897831907191466663177093351368943920500695255048609061679017654340813045633765448973107972850439493849019398773393477667854797223929830068475005442537579263848376895374159098369666307957366107911781132871389038655135735017012977369783764931736188094165933652370551575731776064495219479381665746398143494672751777716685939391034112600391667737264828661751858221583360011841905219279421885269970105024174479067914425118054160178538904602227660882351225205295292643406604841933884314960989134009610817581158815948535065380667750494752881192864075435052289795320798342326126944595376225461966726165545047207323029996429852712783385325161064986119662457433407015990336310109258588002181238267635122260289230563903337145030596599072885234067118089476925549800622888912313189217294638691906137429140271111529064866427595769536011856493918285874995663771599369550662585881922028175919029346021850817293190580075972469945247704116458740359904259490834942016450198100989302709527972084937347635322879764493713308724013809228410061774088466360946679224048141648006661226173882086636761681524982471365292623505934827240339121831562162645380223477916413917311758563650396161839306241258943142667709217612568176258303610168262121590083101197300977333082842624433397312976382920228197128657337144038680511591898614592297259391744506439658961741989930960544494943387740933912313525137721218180029583008956406338734231808597144047965268727224439443394039188066015812661805628271708431045107148927518782416434374146667850609008233901472483213690936706915253868656916311038859397827839128359532389881172280275539351230616623875793028325181523401556647430627409653503073944801524697863454327165819230546667664627457185619802586876913987830766123847690298628612175821491104386595708227946914019188722394757847258307260936823556608921388387266787266822662366554354279186826135748181286066671672874102953438719070323643046805854477486700922984276749688742324982697020423085319646980453190978395285115863734750269722566131264876351927579822477007164749832315082400123749344444275489977491260704884793446281527241485521511010435053833128051813083438985234833777685682768616613785343297852394333486003202035771017143050027592725235493346311779881134576301733244699287977229639992646486931343281571404600398631228581800472449472649018982847368210709050430762669720936119495815990848231458663751739550486221450884385017087908796464850029911443218905092185124997283240280582241323508080950135957572492963922933654688991515209772446534666213949837688210934893000575208837793460655296091603704884089273145989253546467589876647521963777369251164940433852896704169727001786881436194450055989984618018904385513652550480551337199431983764558456245868864653923159707625650439809739054084661600254932202285704832456121378765123109473959611910856167839907873548546774925898316867955955143331725907398711195856243023304703850328450172639184291385681826040765070066859451839708792715641240896742972490924150362713896565847498628745487480708546915024161520039991485160830713359504392284868379544020317992098194781750484654824220336310455185268090318730516928800804557476134393803429883205737229987151405153129245245278272894662274676124215371455374399154486573597673627964789657716138823754536158259232011949516618513598418945563138394922799659186532263801299170728262060015600387218993477832320952934015346250171962678981180262962145200957537901391113332438665898039554725939537796604839790947500829471688834798621020086043521726856754634701010921973830619636195093569029449297191496616046387968235868527205088429239864836131177533563056289685985436730073579818778091788677649537066886680751996569584183607022613955874715616025977561855267142798281158580866433802774197367744039615644566424152980921946229171438744664857669175992951995864507880716915337258597311504870514025987453153416475072756621659239676988131849647416929165296982439532874924813280506354352783417399797916706426687108343903144209550682578683064438750092584940349234599093060489833190838344602272763037083412806420839501387779464884565750395355350655120234779070834042066656511963149687233073142691879714143531453482167415438095902836627203281206522275018190135046146236880631352098099987412095995114421911162251605980027001830064872183620968449434504760761486429751226844112010991381706465427090896297864482514654805599651489134707986147247939864053598239316565890853181429675685768820237141095940851748970333443322738695115026327676395910092465424340938141040353769156380431967151570771434960733240030910248133289538792458821235167722764539562597528980982790647566019817381883505390494843003242811222511663942718600385789569149131747019895761885727458466284458463943048435253275047727674812102274821803987813764422959287301913289792489239236150023199167880609079711678751577241552807959046059043053981169319757616484717234020604114890500988332417395012921367492697237383397976911473637586950818946796766757524990340420532345279117971133087063238667897472155462767292611075407770583908043766589792370660682483615884709767257253390147561322355149867740051804617815059388622629761216404064092497013833397950561586051275818018176164648750161863141173600421269910886777886721937724743755596470829698394953089962979060784869097731295229213270626373244653880987085882849113923483300470673806543076466340803120291889425488731859945409676313630771445478243374883727486492537716189242021385782989273082666552745345280281318010582971041483875795381080107473109798563819441704773569420837521744293379136193598626843234918171601279844939065362783535575718138797553392985510466451636356270490738760302128921569654940762521510977637212656215912751554597591419699637016648173682333892900349886476904404529974079293008568947146683602834981181201521454171792037750218208338085007455196169978114683987456746392231370302110715035351076994886286357101199205835695811328496148215557251403727025444752818688971989454764435188525874034987917237692337486894002680471649749618701253897345384904872614252817816111989095280533992629541610781698730872771284948946881578219258648245741862728682226043590074142476557130591039705242916753272449671467363854490280775788994016622511846381870371245945331584555918911005954654482698270729933062755248880407624491374784842736352494672356262223630013730983176847849893273509L,
68259541488237359667720935121373734888627890319851302437071390758913098290735836943452665643537723201954857378051402522608537345865692416293343718845163858644402303032649400014617000609076583398882762861076955057299812153345570820713696421509441946477204933101219904966564970621794474378533828691639874659206278488920309821196990116850487239750628367067154878376873775012190184092993272118007530542124012289591671438843512948035299734230458503403514976563721839885925453284250525865461951479344165820605573720324076421990155872131988332343603632504417957449544296800807203374217321644399474382890951102842888900466965756478155346426256031180087610894211929847633799342842172842908391801796708505409905593863891458324843080309154048194617113149762185111702328560869768116109345403616514112113847052224443804758484942045011719270190464208947591451078791419530483513441594248103601172912055436925711847487778895923590917450065572150002283893621109854482205586274531389130044107905031350890951155013478775970890631565351544965570321991547061023471303656736660398899962068855190702837773549010337342469504399604632410590716867962799000553158179784297682804544165017259163013385637236609132720395941922229586434641852528781299244349580365434809428183432127688726798679127689244491862615964877918962592776283898617577054387484199535834201570827478149582530692823018942849817295315078008261556561722468316445717600497501260725265609857388815233560878366402724010217064540067542781153579989918174029450829138696999513667844153779745042986490206856682373326642637941630031450619422284873935282821804354525879142237695257598707862212068202808469673089740596585285056942635757001345187442978414674857380384372996997981624679288650059840868121504908589245423544866021761632626003910989329819504007009954780378694194510845937664358970278140530308803961777102347265541973986796697841163713193436344102187647676852383262649333011108782851164756271653812964901796130295146911525661950710172327852710000420682293987820348177755555430357347247708954337316331494648132958387611031954408975750374332099393186358333729544131490958395318142755082363184084382840211070079834588656329554110057620660283982852634566226827413774466670314377899687907848929552598704563258383686705230634097552403659194405629077244259845470606542851010338655790864350601653729956538957765214829770257107147603164676924709404949689715234079675116653190397638682727044079220128160418040843877813936883325147036914125971879557018681783239286932426382053500476571818931078443704911205669251668459929179132172282053885524629452115679384139273076341883322977823275077078601621175401410586830763529303586384250957781439228306159212780857388978202104323704435261579999955210745950690363259770713094211770920359036021714442494859576086184881946704288871546499299711560654109168055542749433745570275022371594953230345157560895441812103413763348031736814663757208220280592620141036234311966361761462327114056032939011177976723474066251956943401337983487894885022985511962516347313402088430019268485094320148250715895784021564707220414241560303937615448120718138532328393364306332561026182021495835668370742251675311057412081477095127799352841889815708291878663759680196421621668166696111351872694277512931237377880504303571383971622292559439402040224664855365984173765634123229157531675451587543624292117920145185075003745835940191320700472035948766818891764301194622975664506593616497239524724925421604284521046585977865857782197037140438062482122622442109849923431534826496556397859488360682304208883386559907218622259316999012605945877397514360520291743828446799386128035930369592500363713491360433495990953774548848290834926632036845042773614542024043356550660936030509479788061896235998485542947618873289307332652425210876149335609349437684490031651348349480186896910931752540812035167320016568913396828147386708800492059181909500273854451913587934257599222721217298807119781879122075568028202806991464778530237935976404010333670122279192230736759110586603431279947543112827285808065691183862180488049461525847834195691059990880508687851901205174348395872430161721083445487200459297412528258192173338606811230567492073741716691585278801082855898457927864214334973641075971959923070675708791852708593443707109649370771071688223285307520362415224206312391233795759557152335000784140915581128468824808843866828965918424691621217907436378829350532612306503385248530196842523981115591407556900415703567675880614739148459117452119560839597998516611299464913798219046510288336198574214349156143254063910690823372176538806232409039370178081574016731701892027784013388004233632138983397651265648061448866934540647024040634470707150932120701957234685878135320517788332049804420880235981666779824630804237365257095792071293524174286440085556068229064292887560143378993061956841621460671804092832391158190264032368798624429355005756998597961547011175501597875105406905739814136384089119533849019539780727974213215100002240960272716290603524074105775935618159297268229234687956249774960910046120192042198830379862236686158046353754832087555665613075260280302909930702067432473088364919588553206788557586458822550946135692042300963892258500954045913968529380735139589718636612401340145455884978940785439297152195476283259625916011863269980927482118152160704849255703781350920456771046612248710708653060583989099105746668088655108230568672350838378891587207061841822941167961187244778475152966394212975281198595164284075874674618601830103797420384349662421505121100641619097028598881029080313220392935278730170518236805711477699053626263749907612347222331260264335063205831065513442716685684914914088214542787624288161967741758964722906192119224371298854534599676229598273124204777137152198707832829301656748981184773227583527036152086613219827916551865709238788636841412675039263285671364022840812087686973614576349519866724640794799696974874190592186296196446522438894497824356278560040179671919673396767082380643443231649683222158757951667263985594846162635228151903001087784296086069294522464418947615501704873982874463590625619358628015314778180009860391208567466966597949746481617145530916636087956410304069751266371741893508497514357705515157654268303092317844575668701455673239245501772462663515578735304098009000425352529294146158483038355812880854509144439349211552278662168459021170466989177064731173250680164696749778303641299791594267184248083341621441404194058279919270014469061494466138301L,
107914628345186220877338880719125020264843074547294179946835536308651989455550607769870682601762358594041993155344379846692861893977138720203175063886528018683622201667024155734636935750387491367933405716985920594335915168241973980777743736924169133975593370337286063898092750592461406716042701050230364915301716245002576121060709878568310585017291762617115176623019975984168903437571305818549071196098217268441981195121244163663000524397631165095060011055495183873067730191690846566649893758020813942404836470555660870887443502381588893426652427730943565255060401146385222578713935687758054332906550273431659215117111819392656516355866193284023216694499807591226621085479101628436159055993307866379589446905728887323374950084709178642499891652925359470340466031753955571472492097608802578911859736726142916179936501170274940445460319437561290241075154157976927127739364420677038380064067226777371424462594827759534775394230054312912055944035811360319642444937806630721089102549443629555827701058068281059346297833313584683568119167768671601444831288473300602205540800069929988854557735398186011734940630595574581563017376574620475978642661038628584567852465722081656450887474515654928217298614797566562280866946369288123497653831613851422674116367464303587064137029436267593378226066139870443754958508297680663678060526997851778172940250690307393886150404384394148300235982417299296786036598299334227106993366739302635197687298235324232674805058971914077572713907700076636368016683274780398766571905419045428502124779346451718183761955996471406834268934430653816825012668893347272448850583164433201220492813291284132875922979104397103332406961885907224195089084576089046128270195770313517560200802604913252555462766316986085802920577836944123668513607318522899262929608912744587338845529243065104515795160106062887987228435225665213273183628297178916688902080071070223503410838709603758198540981896271691754476872671351623652694049422655070045376797126206370966089291799744205877710869760719068973323685148508581688227316563521926213376146825247620684682833510099811314867522561519019593666087620504767962979818001987387513331521618963901056624898433056616204726907821844889985402876310140115320895420356258975996789438214876155448789899439010734545531648573119304433652236337415597847650115855707914492103247156438255620771454165049762575222974936342731753874402416495479139138194747796355425973044209693221548205879793978148824743558921920348437350217809554244081036155723557013485847620863697865305995684634441023847849165567677509305672833932579351858034498021243707327054359035715233298245281998862228435584466742820613146731572252500758174348356689793121465448837526645585754343884393880451380894942082166048377290142306709224423748878569030771912800927526893057037012966633174424464179441555194774370383550465618410602862129089968398386564190969373712346286260321027611098636275437772001983779625220695826529920266582135567768493635008989546045150377303466570047128940901328871822376897915050710338502919916293315718343681915687507614028335247539138813068628197984382321119766613905337041405577940864601115068383136952489926363585155008547982749749195251313351906386189780761222517535647697183763883136089488867347564677489631534809442451099442805070307271142125125360848209490674530078875633324284348018957516304028005762544030071893241684095575343006235846777148612788567033639916158416653709224448504401209189343520339606492809111813881772091540138693636709299945086353587031765766728128703581912774143104833809267271888447622265945026020898139869730394338867228751037655383466367487059646223838648425866799467746209990365320669967649217458954525553247819940691509435403819085801686968270553119276627872410015580875448840132145214548766100763358931338496421564232401918217418583668182388097509820876954088134323508803681209265074352308694275939960104634629167929169915663969137357458783391701345587157357492539661448022908116575721321601590438158497767969488422295971620689006187403948508761346915466634535735400801358017707170645134752241624373626722393655838584039181127011882422486529416669097656185393060170453778336273273375506958074848262426628914195467065674894796879219613623755379116743014686465620740586295375003937606541548354476437047495626941666676900057481173735860563083053363057793658453667274569921985736737825857612181270199911898484893376042621713339368044401628133977140266077208196084995316600166296950245644890932661102409329217419109350984447717126925991120169626121392673978787962628142991294073317545084610383084170089741011848038533697254855994057311394960401916760327485951866369515734205269857853037575945510947985866995407011813821079964304304536669299441612575752532996141896869247398234785282042406493673921541736765685758371594274199955807265486200501598277921925939861423052576054180432947899904505877080373430190420292439551080111091927982914136900271851803567902361581645659062273401202530258406577854942160569993060298057300935377156453277337047328949741552021904006242301349137243703005959971133610994164252544569469353102841120625783489636719172343842882683752394021858387145778018248443752587919496511742196875258515092091324634436382670650883593421988103515189370409169418552870401433051968320531150169906912721758593499000223206965893896985836003465793881239148027854244485089119673437980370453297533531120751504422797202629538164326564755203642281416585540915177887930094590269917815249374002238346672066826054375944478456746622054789685445710743192001755557868428657994425235560546286364646039240769840554130621150284238084328066178780300657672188697065885166544910553338954394079062481806706804130687821359654181135610806060160866837424379411009729548194768783401989576962387022180411698162919573942882238120809140877142027605100938091747472401528226074108897643917804608119567535367895229842438811216953162785821703766808522444311591673839320944851821913958986511107382538317323281723326622432924408003776472358655752038235683387054214889334864422322420461057650135986590806307799984482401144718850354622286472120391434070128273362924413524663829986650183991270097159483894161270619466495742453722607780256752959682342960476473022271938858120923526008119718165459681220988135006482894727073329477140058608974936915335266932564311637522320268124609708062318902167960036406198590518568499774587347976624103124861866600834625059066122126738187717457981149666696145096112402453368436098L,
170588017596731772334620434176621760237176126718657471684301246988869386564129800695236073687035387647688152488036026844933550237493736494861573460609195891004883139435526120509050136061452642913456735107403591420030642919170487056882634717553975294849959312562413482223167236410950377926077717558407244543416859657301204084304259045156072831043065276147437705611139582072821901074741586575071331462468267888714253244742879524432889580821112576417857475630549555101525238718683279304599389313021439326055628430636823304873181580433042914191033474776652770506903738216010704705789313410997360126142382487300747703124513220320709422222173795585495833934649725639549584450343861137273402833626625598323116130813042339683575401385434073800907160661299875762910229720353415739276541809165821759413240248375596678012951419072134274841606848677722021917077054473443341433755159502594568724998845320553946347800338126729288463531753688511494378712868398862269956925089296431466769986181616038469913974386360247434508319457453699392355123963215351335804035104881177103256885116174467945710868825722224829774266864996930218497843056371605509432171530717607774545028272743501417350943806619089751688816662619088078726976363219451851348858252951051156354649769133945931739281939025264901696859344570630465550525082427305809723429161300779991090930327511040811018352288503418445250775465976914025685058772134028294811609789424196386072771470191104534792577126072705429044130957452891440184212669353866477199762594467582823900239626554030926477253146412113146825385671112190357181168277317854236818772787157439512002701959202390412129190843520133752986872015944658539820912550574296247550324162412613628452481885818586590241306433282765505663530953079553177048122937501745749556210730092425755762432951223647307956309736576273969445606169451015337739584335921231170869806607601063531296335673375452243754543288215853149897330040810552038289002353251945496329754554226683999849448440835747930497510047754125985964123770327228882238990687877266330003003134566659498908053568568060802929043895747580874477931891492869206386881734916911616028719716952933925541878605461691783114299956621905394181458115760185634050837073969928265019679214833667019252202683577973476269194776473877999084083465026393582224599563927728039253751719537548818955375640176629188798187635521752019425121564243402272016723448634490783140235238360194016364891298970506893304249544281809101862448360044178323501244728352735063805226028276334261524116805045910383085547523962418579378780333706692940225442375414997024573959708668793409913174678068794376113022529595920078637627016741448337777608232886390345396784948701676012714959236580896259851718964756674835391449945292889979344820030484763082468922149275179373245683979022365174144391032251316541812089670052363668105066692994225104915312327733529817291318414596947521237563088362889852676369185594231840119831521170712377124589923255777085800820005625053702872159513764460550976939565934549148851989217711587682105428127109627609496476980019438037622084376442352758928574709313520070911283675667789201718167529809183828960334338586649034369412527309258245531231502786654990776831062260709874440336824726269909699006058912776453733964624202247892856051279777219015468815396932544238785492884217756520834124201431772053498258111976294084396337592578629697397001188503298061911760590257028037450052881837736371139644066228875598771259368118267657736035768583787540493850128484356077571928253561245362278145178157671554881936527855743812489242230339090064278776906054322678165286518642458149105567432372492366359670588514392717102040529037257237989036111686616840467080477568628716059250809333129364483036771344708714534187095319567373387782686475439518300958012822051292826098818260320896871149443875790152921051282593807058977549876043572126539838135432158071334376489014016792653086093023822723655904338985641115718573709923131137799176595956121072241664168361471405199495053765428596769898856430917071047372841016433595147431124844121248713076501144896447802562933135998074616269065347791791748060508940005210658322788531492899410880892119678426572768807103305000591147063981270894997081530590002036244795714357151056405484821280047098238304369296823182953385537632014044539551993207759627063825972292392051944911810945746474183556912200989633628531906026962980237076966637746258931087502036419798955710233895167133255781836648097457713292683956184723054116554585145859910794588548039248542020654693815001840077421279750470308304778086998442279985154225534440110542490887938441249709209624922830817625339874536809818541031446585344941867263726564289350906638597159804716931889052524653978645983950656014059147944616854427029072165456352930183687010210982647708566249385814463540283901769079547520332445402965856618276783222178734096360420621792532240375520534284219486968119321690087351524839897087627001506526260171850397650422389575222847160078422617729808159402112476004502411087044904866282970186318242581946004639526599735490062719481446697803368524204446188637286208423611852000745261760633599191122478493426388505601247674577191502174575546107551377642688039976634727012865597908976140815032586413905747832107642441215222040824215772314308306239452045740971570573055912237740022355029551791626823216126510114381192197607779417922537556378044373408589498993004724746432909072583231143466076167437565255195411665091128797144171493052975118090745957634167522839258154200013859033733964459572800484414515515104951328698657548485276157683853984192338604762989677587349320648005342450484622080442797405503424463197618380744250325902179407016859882493358390244804132015230820635522157207425967044790740532939651470927773076803219407917941346229696878410504169519642624214046185307755753752435915759975551897941208596668417035959401203949677040941678161850685237508324957618160368744026396939416775113818165403344924623055405296368652189468271990488558244150158624903094006240824091997871995060679061384770923224562189780565336226608152292464460046602595910751925451038174459598389408236137538202367779693695306530461842162806945552852862271553228776389541964374635449635577399357863718749425926212295661210937778652288685782534729833811604502770592490333665285840978766162037789809362876541212707092126379788865606019668419208591387139325207925060429645839923573281891966640060305005093236382505315577863962026197310412403736001L,
269629868932734409538902044980056231811734881543431679962443959392963248860989028870265207785742657412110981318659963200426047373317547162687624009000224505505251728057192092856753253775053560522553566217253081528929362576781434305565622003431995214948061998593982871909308527360586545009540193323099079595084134907276040091623698347057065874961615902672251609543917326527476504220182832566760526978063497135655409717633372917840873997505111180050082522698823013178622255180996080995821124818334926207961685831147524814532191017417977368963702387087031431859906477612784857296601493748715991397222113585587881392418314843127727679930951429211205654856907890495064936232275889659141189092645095398330017038478455931670046820846829030722907881962408581539422787986548442909751966223133320898241696613398151870637731071328131545172299874077911945125827074961553260056169918492564766734259798229189871799464505543381661327345714789901171207300738707297323143742188601803641755554913522690167294157620219707029052418178695648162462385804751721190921546686582998932883603516339114897917444285965782320094578871661246709027487091289644455275516544221988176149090682789750568109178059275648488380119354258219399101083612758222159582510466887496957820465789217588075627359988591036224372178893372616046005439675322247587830484560123042660147947611709853095245686605063997856873866804097659429517528675649453093910288741649814502144717392607348817754500097640280012012349217425549650006843568823961705627251702045643711035212179104090639180272706403006453839417690619997163175052665015004819888000320420168421748820244961356528407769593909075852953510079766388409312411863913368446741343268286262940410035468650044477049789934831669469769024280358371939587933444785887232626615886312629668230553985489753732312944666346747670102343288534296627308429331472081417146098433807991013472792669392380361569601527621072851681752628998148042925248347779972967675579635966983474695914930052678101905133440738253904499038060413654175108839504872740678327847039233545643753651355342746538064267111056294656506156863641687056615946407514492627278560351899895312632292874318395595334894285532431130896920720175226873971837751436212219859877295398756539329591638436059842481891320649642252236086296369581789911792421356888785933066054029744602325615160234204689720759980138052903270916294459609039487739793141183680108957067911757975418660747247211369522372560349714976229568572888138164542779049020637144837863461095881770393240090061545301196861042330524900821102249116653787142756621169724802027092155993661718007731729079676781976649728504403943614701881128040200899143898257637022453089974075322470167143841664537072437089230617042104922925554403984400770960219653608361453938694812687666781214698718082788475395480030957638445732480034864344155990933736019000654771743250505884847059234812467294779035893326788957127224453879506721511337832352959639880244026828336668896907583714771971464767141449680756014534603342983420046004483560852538705706696148840888349506597482845884265947053993205093547146789297716645071961276959204730139456418142210686383915975401741823617678526900986665068514504549714634232418415222110779829958697292061583322631844669095133342039415362680435471268239168313976862589779326104223008050701861639215028035642619434522310754307991472685553858085164740334132487757007220563882038693229794028008446351361392412904884173686778312825547355055700751050206518039784411407167246188095659228615039109608376484379632761784834849992948705947155756727307754401757638147666543862731466946727523411089202692831650945448281797124890740152921610043524577472942753679563948287392989673793291570350340918071230295264002529459235807987471454238296438244102234199806000730883819372196375498628858346432683549575118125947235493759030634453289743600093983015061254132088969232801515456372850955490616833563514384941468689007992040074500981244140176554966022876164307814661773683942655339750463682039136302016232609832456295093614059348668695965374276191790435358745485411851844025505135022063088019811285780816081939275544466309893905253115754509503727558548724027984945411078444370173794703037706230278265984906218369371040925487789225549337948339468706373644301550354164452325068767115550133302875584657076504779591907966174329705007039542585062023714378113350461563824622474619296528981069948636663081848873969841264039608197941856336672914402697750997978685855432367681209405752261308815968814276763114049665426492605736138842741324861093907607288165617841826231123740866651384200469167842833883817895708160331384458364424454742113734031756303757712819844086723758857451647243935200345506288246872290736026897321526097432848255222034002085891037828030268897083136594849871039540888487039712892112279806397801037196468075590979442738899316582246589332305310947292771675977798050374996714888977837559205379497786555568688357731395819504683329781749368686118475239248788206540794986765250773880870161775861636910294745580990589425838986868564972044491897365233829856930002842346434532346362243899962910712831444977836474207670363015968742075230484763983201161514914949792518901706624733767061720348880213032724720417639710309427774013355759686693530184053544979758939988928165780111822255065540858412925366045023121826582455823785738839657611694485892918529590188145494588737196383812687480777681303029038704756359217768771654024217732696723022033143698997319863114292665984037964664674589806887951412483195596604892975173755609307364882259867199550140740324068234568775456319919230527355526514719952683031721540089800184917007945689757783186910913321047142007273638332215206663985274854179346683748188823702478647133887471310345652729363044052676528851817354409882262874439446751159091811472364787581597758103703998666732407535892633469543034838368484429833443143189853417197818560473200102487477847126246707357405830240321913185782365863131953033664090774832342559045372387458201927613760077624151223636570311351511940136569772224196822762474127753118940808807889166015570696306546271317743498075648785092294901041053514662495423690127958867786915455177948427848104032159095737286117798644645029866014477410430789156752465894116388769292292523715129654514078374253081856215055154637697710282916779394576531358088580323459152339919590407071330082945956047567771131841651588660362614889850411905277805703188424444788994731550262576205789312994702425L,
426126731964623937369761986684633861988165328671875681901319694602881694693053549890397881128558083546331064239850177973744144807010363168209508148930351371247142266801636853196203664374938218783102546834356246232999493571058135540261223345625851699666509410411979755893661195694493262074121712020277389879071791456440882915822153819845178963698326995939373898435589173580947242935420693673081828808909563623246629084313332148655756043503455029756423101644484471275131428969589826400780183793844820636139327967319409917619325484024946600549407800806705664157488074312962183479510368083662747699612184161748447291073640407721397546294981466018070040751439095693588931644366503839156313651403372325624827748024507633411454270753673119159552756592579902920022758476831190067806778744843553735680820376261940111526152105270708893612704135326683036076813295921221023471135471971977275502105409510206716280753264894143066476571753537264443093675244144083889533677107224344305500686274780398937368664730515110296472230561198425042311522425741455020436983229536603821746158991692609257963059969878713293897149562863326657283467369254426863694806225982996862887853721250079238576931815610157354521362359063807944419760864996823880575327582102467150716291858132176566608619697868725307207030329518812079866512388817011439419309126477199838189850634015120182989178215283606052347972364155475595931190284891661379608371910153564115239004460308580530245082089622317429635810879147631027207125509198230635755247479982301742105645185233315902802639120345143712397797703154439370653154821326189026628995384345178279006503369823194581355663185512193127516056757258539905721734577087705303967515519347911556915516625160879673434714386961153271482657720595806830796983239734589665270107518918707047970876737497253689818826033657007240988129630614402763362549191239346254269041003112316480710690797632632061925664880032431543379716918368533029738038074691781086341227962807116270055895908101801847042253533885423498630849407211280231403940869230931007255046971629320074239147890947602940248986588985189939930209494590083386388055262026627843587882110524133939106337847137919955864473307092012119227507715021692390700597224555132467537175256187764701780704380863422726415569348991088055101508991745836153943802839725650408945091255066034076562527621641504531124749902709982622684098867278368430458578942950106790731942930581712498495867575493437282543660606068398972441726693405602833896844358247867783023303088078232782677091193128506508867554424711564598626816153497153652504852580688304192175472104978658465788323842345415303904638047124956682196893227345126341276157114982674341910877085363872236184670517793792742180593464021924266776796784617059704261589954910074911764013103982288211580723248361992982080054262527038088374521533720336276272945682623519924705815695584903438775296692923198017140520600962530184485299351599282936633800701709168315324730819992715683958177541799523363832857675437161502281277047503204279833270581890160756115231180083068364790497010073950315729334082188278985999239610105652731968587504453504672157776234530529287515941181347180571500687549910315755461090686533701515037220998385101758281171936328571040307840292674402077015274594499049402926109739462919382961980972326420724048071095645636237798867442726634951676942240363561477139287703457784308943919301135533913482511173523859247318280807107418189517338618409826310862262308498481055718506215702313624679256688002758585370923722252574324561420849730090863540410342185165572729580581122263222291514742482269526193378414137454747720316727920506650415696350648838123702301911050695644799670732217342585464441120663393281946001249108208370694240298177040586982396749442846478637640685936630304835029644955634755392729456033784274898701899172250705908719271388240987372196580444990767995402627384964604684760041201074386511255654916872876225775381376448827159276701734041186441695385180642230767358184358479549188216646410529209761261197894074939226655752474794827083977164087670761566224399010659763507546154850096768996341196044476536728221951971276394152748294246100697355687680936011575744537206707528501007095611330344411172361337907405074525706360667934222203425825584636495473166591586108348113860839232271580672013682676125648655563848787610541185562587661238260039034611970407498742529552179237299652620592458435641873889993687114709149548208647072054401316034182265805486380754492691294045263928146465917970376271934520927915531242951264748686642008382962217315213990271603894677335714070854009458828305046754787657811949277013315643033349812774074366789250513698402104505024733514498061007989187730165344697043843319292145875445575044690953450634242596468581390064656839810009449889898397095887276637533349621800439730006680266033101933766875570839056951630203394601200565998992101035496683109880546984151214046408603744166860942848914428484728404223306591742056452454775717591465506308649176094381531827055651613945187878842617189307671398514375902988035376367419719996831860247346156503610587454639464616127689509391518572120394501675725848106591205065734702482227626110568712222394989040654058013273947560103888948132639767492013792231963185535808807144212524473416578227332780434501476433455714501171681731197306628807087928954388962948919552480463826031362071375638326937992969839030673539426466872157501791729490021500634761526707230562214616000762049361576824491384972759802762253444205168540482219000636232118959246240362757533682228330303467730639957771170576053478801876776384684973351644054501846293759105632646644051366225830781507677001395034380570562160468363692824644198629617408311531159004267464511738396000657148868783939293559510503299270558087490877077779729162223409481177897395094924110797137885683708091733157142013684889998714684782251872435549263755424269634692043875404555078354080325373669358449555252110847510307223493018633034427417291181335318891449927302450885135374854552313167642753553259565257358847237175542233465647295457205503421589820476115086838013020678424098965423851725135516826610473400717372466074383299008586464438243873371733634215490817386886581717534764109548540536364558363628491181666627889177539557529424660253626742918582701557074998237013654768876499354476028126624885347361785442555249964325041534429784508363723368588522176060995056832802162289435605606909506095045599542221048466296007306715759022073712886L,
673381039587076717542856391997472713137153355376352166177098388920033208154865183711849573188608817393789658801707075865653329447236199738129942946979721183320187952393626239809243948154787893958240258768049760555286980943949220384958358922672253960163868050027465454745821228303483623727033537030377967662773647962044752342928779144146500549786039242639898452356064415992085711393102828640920231831200692495398561894565124047964224061194577330945084604319292820903394330734143830516485646108888271868595852075894854895742878043925508796834519162821483510096946706783427141262112723547098359727702462800161434934215849274390235884582077388363653168877840615504752557266584203614582167205613440755232096313722896656796424587632710505746343758461558087270469110607720243179243116189733063965591129478540425879599982186423216235932261164124797419484944459645205632647570005850739843973220418093728449627606150828824913335204286532255441417418567264927664912937340355070135332416508372171867798545938219209896233071894786906312949457792027374477863272322283328283976342982997182862615257792280722307884687167134691330049785999241976387719007090886629788345751929488149321529650791851169587470089910488998476713401189974539127701296439768249849764086988081992383542494212476736847476531631723196505225515289997991261511402508297725504044264740501239473704437267633314313417205154343222380593246098830831554679738564299640639151696087075000236672513491418770400475744238081726830649027515561366144598038334947017146211875057729335076843520409231635500241064459866919883041579121466492650711508516782927081967149835342151489375913009561748282362386797503344357128365316431389981499328723202575841658951767641555597679365862128529458514709234869202152480715959171534297549361114384710530612288206774529403289377155141130895412353119097716220889423755792329080297726078559522400610992041930514713779253695643129724821933092485099771498473355476852528955907098753785437766396134247191265659401589248232615524428005412471265551341186188566438948958851544332768036151064854667893465977169613787429503287082138664776351764620793691648296314859686499382179484023319693706144462695864263007556605933710924038597937437375491192013878465485003602753057569564176948205077143853284138216376375690789148415177401144436841623371341895635405059676435001308413286793249086757308592660838499547608629457566434300269056667998071038539618614886045002239602094286565830124397606133693115819448303470427895227573914720730447944728050679982123829856900373272582353614209054198923701796425552952774035295821275052194537053773996569355674753646927962835014408617001814637156014033121706240302768660928912533335391889178191834926813469614998386374069851413144127988245831842069965379975371394340150710993251564073543375147805394778078811255904767202331637349575818165013482306644022965577571201928649604731274659182563498496328081355773269241964732823039827256289963930101642064787753199640641436090456836384303620005054280013278379744416486559986447852435696163979227631291003274166627677914883239452502438151997010574556207694827457366592751501416586344249315661069752894677219914955216643521638945890183123524740511358079403996483336548149307975537073332198524873116825251718263306640190211104302295266614311305388606356112540205768042595663334777341102133805772797955677538842990223556524161507668428280586583059433249951985083068730895248234195652676763536548007553693573778367140240903846824014383352787166014726793867183148560607886347237134324974975261806892214111022810867018644127562642591678707505643773107573144433302242901117652589712609675109513933277618101032427931547889286624697817510375984985295658272703032994754836618603629057845435653020005585993287494133327637736166909736747670578949778486480428447978879873075878590381999553678050343772543110719171418273622854512553016519466431612678612365048173293515729763907253750517571023128326313307047022606327299181427381924191209339902594095391003685872781051280085841324278420322493299610665958553476587701893469870519833035246986457526517875405204998723221243450696572785948924972707274010284857105420514488395512122927507055719951160054648354317265902367023727028234685675354208085859929304674650984509362539990125579974559323060093433844866205760259374888557382030614446958569134907037507054286616125085212612155820948716109950624309389231231020995627405647876786250724502004102089048192941207569261163458666114445633462615584539452265012296937546708619162465196460177392444792044362126006391726471293980509958685638486100341908969253765579114878832836729050455574711887879858933362411753169157299483280222993964286737116463315619728615444198102458278251194499707464527920601830859808555691679659607124175366605759754114055530032129328760386135923563748016884024883587431604551060579520538972218886825128497222519011930954976317371567261031405014256384537779422419142020005476253321888202414437765956231585541505076915255059640393447002916644500896044159314586546201824266560156014579561393188733544912487713427294448344605575966304160754349707616688244931186714590400787488987709376387846202128969101661557116613702220628929188692926447796763384400787375752187128589995305642454647466140702546306308617575946638461242383876730598255373714109071695912526543873989452288331998498809016692932073067920080911797605609325556268292898299788599113939082392980791063057919951819964110652689205697448950642621763719066938941720509189933759542760191123159853588553705651274242804478341609563167137962619829043300487765316135789336950384835932581519544085621770595090839179213130143575822480868046379879839793367440096238426135430766667311553341364304072144861915890409194724603275008441333582795884844133564620895374191569926245402040641334105023774217708144636050977737842200593245124075444333117564988180618623880134508726047147347657840613087264775127135661626075044903844328101992456488977638454177110627986436900367811526350343028350172908927272633654378641601654148018284509351956847287816865229017132760180106154009944451322348853998941766613752451362575851613986773927518255844652942499575165547487333204159833715689094572831501633960432199592749694499601154861887906314196558832121321219847194004588614198387727437534111059569142672429334825855225133162304446435416571924593401613535040946951707655256538547869832356478954215330020154229974838958171878094627102305602357258381890119277884002978062206L,
1063982142061924544793906622473223289244950030853905848017637629781005244952319112463533567489830164328078634376748316519702014438160195786407246759537651207775995969545046721293263832102744001582583072074591002095995541159043247864444867680375904750212825070040717175545024634943289156846457979050882995088642005871500704885314680287764243252432282205567560543255251295998020897954178686604370785429836951676374245846670308301792538969774513462439086106541680033880077387475788055221589114863024379020292657154529187877693760396070769159311224688312706604938308904338093837599309714374043161861864105283546733518513730057393214520197928134443663952048026478677445316938620273406077740415562179085383739073351399863389553431593005828219520288945502968900539126598097468828397486674942462778922754405376062828033018412608300024996629739865583515387651764000467140059310485930165722823757422748770811589072788783192190380044634707523842296723278623520785011173006661827117609060191524700948068407307379884186611481466579690805023122245630373768410550792673040806625382091051989575829690435622005867325935142989395933691500919503410681691693927608131232281715114688075312199630966813914091000975574130723351881959910110761419860711975709742091809436609069192053773638460309587671397327666671409461002077018662212540884585191181953977946198532579237524435252502252109650945114595819537850764843663392258396359810003118788940331607170084752308999717080550011774382721116742524345837100237994046087963860606994491001550241828683527385595916719330364158871142924265303216440550956736926042983999600929061167624961404595563975623654533032369090809973887834372145237194598524957240185723355241612559589732881773562309008168594490140517806458316240008118162251281665364558389872537045910617856061314008279428145667105194880106151389641747009026949673603209869280214957811573497066169336681788567348811245137842838438352447890900767765828524140788051959773812986480214028661461818176901720660147564419612110845934126730819810753922331056820149067482162379036446190968905212816518176512754495541611478535281485623775691314462409377160483444242588917046379128615243509122037613844054055941726316269878572837972156086589243508134175489520013774447518952629252842664941457455065658949391681734635013835278453535592669598034563307172954175117566910283784116152867685570963325434626595607503860630494364432073576554189659252934206498577872642208317984239278851125850948956054095680613365925455783490848454176950836023761225628078578678061831102169779287881117169386523920562147931566661956301329798928719445818506945215511019789381248880596470202223689210494831473428297168017403649448303671984526248641572355631084001956530465257722382503666113310236424233553651816733790736783795746010668683262168734731996277484942941900302719684258481311301519216572307859189520623989266705986108223434488143049996882814818440113476183087875872711002318003926806178127683801313340120758561198268999308054627011776793089729470923697560317519370571735635303579811480864852006310728790296565117397524493792609080799396506909328217661619855273217313270469050793218309321474910744113198909971089820835414431430139086525621673507219790496820297610175553796845799162443769127833449077009802308205582341189613394318392880527752848146937097893506631643048311033554143730118720153915777981461133040793946518792739998087563008771024914776069874474554072409680461337306371251550831332569818216750279829687125768378771315801070644879767854479955150984879937573679664006188998016853989929340975791714690935951968231389995507180585048290294854818186599033717115583497236845993699455696553691619968464185477543471722786317352386437690892599914257695477711599766718143453197983455926622442006466538914003645603491028057901222898374830792482247686398863366581725219060172994898274560535984399405955679150178762386399456243089480489097173320542211856618318532128768202873340486937312298831638695911669814663806588021776115113122504826369451592062211512492601796518629757595770972927610964228825001946485130597059260642692424323420783670477714124587039559359268589938248003724023605914565181957169708435794746199224301091561504725038713232623638895023198601005011226281312080108422273841474626769634471531397716669111653684121383895016817922718435548738035480692896436064438950055905117148767532674370838684752780542848019467472671462883560765481343117342536096527702648486612742026246667412051791251957886829521019742474626614584606360216013943679193004148099632243798239880583782118317622272309786963289221070318510758267972224565186800431125940270820094648619678736433471729380318143617507126339447294591749551963154509775260440510780729748368540382936949899893277557561067406260999621287937469147222072163092503886198228140778902425814587669888378858463018095932930523844000332448358390446979494833289979148718921554205096091583798381104678004499095925023216341112526222481885991276660763668766360646525686937735288956972899233906018249881314222287752581708533406666168217339320391354070319943814960601390692562676956938637207179919854165514900987300639955015563633932469977289491008891213353618049178745366817926288703809599884301527174588460310137869683556183299461919894254786040881181576481716805339490555930885187449512260555700864767159966544697283971866341266226602947873298086733135390786158422110796865148420162599425831576043926243005429818330372642685707808627002871881968408963266421389521375616232473718439150982293386106186415086735300685267230236048100166258214074999576715752374984524444777603906415144123960049917014625448815688152791900210428672931476683787518542803991734513439187274735557889484617740686227547777001094112321416149969861774003271248124399184820717663622817837075458174652688091531328170335722608152693840108310972699272219906271325559711586876174697345358569408906808814533069574697112274536315651121361540334904610696865456427631464352463561859697863097023941125558235455714811134162538368569858668628615165901602324174928673962134333260301626226516488799712084009580627250622378271061271809774258997156617341066737902584617668286605992659458163619508646331147595104797679260027549840675674060923792974143838284287226028859400761187769307141064528716197273667817485549338240104841295773080654243689824300771609578638099957698076794500741998307814118755045523018287516900026512817020623303941335872797183198146279421180455120625512938567360512440774L,
1680966929749156364513576608747305041319328598793379707166266613756384885863405597434230728838159287494214789778291127483359332524425552020317752263631045989680026716199258274708833976473984753635537256624104602927809931550013047185718419765853942493998335984213178202800110725917528431098770457017309154630737275637479700770157265494064376514250348266437158264123458179005063006355419546771213083914374810940025622572839154372321257160096654390273915790940800697968431776513857850425490763427304105520798077758616547421913759104593527257450165932565193884572034838845780414569424618384940508555814910083189546280290614100163413513249569157953226757645556635602733066919777436293057764097094980958368253691264013089036286733035925904605826064873890814179882015674962976488774081075749067706782152067288023036993272615875901757212148617309740544148450093644993165374382175026657691542460383695564110406044607398836321935298761658818431279833641958019386871355589338309658919282147374072204924507043228956693261998315780307177912688087446579190888968347716977873396728678129017568320226285628598388811680231765421968084875884991252017337908651090349313306792687109878419271718992367824250838786103971564930604899681920285461016739483196455326713907840432298608943490362261871525376656188807631937026564078899747073563359145877952235467054050020168508936868595008665709136045466253665097537593240537338346856674618116779671972194022922141651001654604098914805285140452694848073653040584852488071215904100005609563541261791072894258117199831646680899929152842016966023530996641956781003201189211650543181702465157215068507049110429319541629003344228406811206679478510463662109713862037294139611388168208037390818497581216078750907746739089152552612247870363661084761742792044585969608904463061296593562342700719954622985480139739304021182161608493729934382909546539962080441574134685797354146018923018471319975187509693143745445943233251433029336524805947884294394988878507204988097416226639101011243238142507710219129621860984859350522163166650220385069504129611171909084970959233669258664420004097910452338773464374596325064702228536053661607059759233013710145840509554416049212047738560874423227630277292336488662595579341108640358462651729107006090513599683142363731136132446938600611437447847371835099279157801860080428523904683949203810127596610805499341290389798108559358375285127859897449307185224533619194544737712248904903578093486732270548307491958664138146441175029031123107534423046600864649936092884049724094632166625480854259988098592040520853739378011831685670618354216699167351069213358971990826440161281780742163383467132576167106322143339152997538189785452528911600169164658045490469345145374062181863695374921370207049095226540660325112571500778047770639085316558752525412601566349224073965216737135900187628494695765200594892390484552642137442631992309812342360484539785279856102095439398283950580978569375247560550783319126989354832209904062885671261164580559071003214867374837157812402389108119114730718084117609477758188945418849980076718471815567267070050156486987519464473928059299670757836646200352531064833612118113085812828604650779967602274520141729665825688243631968191707961008704859232343960689670178053150312954208267642374089172145319259579222039560851240588067559855668110092538041907106060577427471809122621579483478298401890647121587461922808509412608624110942457435001155569377752781651998910721821921407348716497617261912124197705183851454389836713918017008624678662390664634984177980369065993666189286950289016067715163127428374826352771595385144924485037366840971146442221756718768681476588452240108117304544455238047176817322941905335713320728560953111680951783750442847587512704617536996349947002906456726703805297286943394642404571548561459860103970678091217202328745345770131836452903835039195770453436662608378466181826324102070175838257471258963986230197225087432326434964337587953473952240843428393726787962574560126556870041489493562112748503694244800434312954694285910947708577468317624825487735872757993496333392390186318612444167466149420974950612862892872294486464398135926254363086583525579305989671615806434795891211110695666728707135173824674278074205107809421249006430604701315498773719133824878851647886491521988996721067159864907854546917582303439729101792483535718240908800009335998105248885696597174962473874799150499602698486821797653983014740941144178754550053534136436968056343483303470656126470180761083856989951826051805888018462230047540883374057472248607347620757520095798518351890745051911440136245148461445029294003066398181045507561472648426495016124969438853127583913393983073777199715563515097399574353313872279257445157198449939376186615667246426768507403675567317968359709364108458844559436658549657922169732918775750740599178906911960166372421684617181452529060511237204819903606639603063032948860563535712807529569707305490112841936893511799297414910960114811610483975236529267921085834450542188729073494225785100650779897358206430609321734764558352178509434214519222501026490387563275777185383766926317363711101523752437732966264093584491976433974300242357714702459779786293410645152970916425608591651388488563201591798903991122087421846432255350535060108603096922399226079001180529494810616461609444934636409554581907624718352284135162651404501966285232194843645755032031067062394716191426041627646910627303985458427845313022179929399680117535078950085823691965304645517920750223007299493932909386718064412764119833644396142122114472285134053339472934097612027408726883257891862663536433972790431155868224434758655854284417843950167672442695870772893579675785874375706389507157856623592995189432829257631060683199765640957810294279809998342562476524008043642339836955362669243548458291154768094248574956065782085338653356613479759221790434847788883547539688542217257944907534240028057284975856517480579461219096152150130483913091246740322440848994085548385924397328662362635349495168768330998910119265220497497382277270466059682742392360785213049711213251774593447930360598540384827481553709453968545463159466193906262521672169501934749426729520715577082708461128877310424374605823729525925714211342528810366157640229374557500803621939849972103347439225166199118809457901953131995583170594872390031080133191597084460042210859375108858680645681894057256523818205169155957228013910050836386039927721872967043475207613282001231898475904226854374884165781058038230366L,
2655433322955013204678749581880143654197003905565805990351800304176461898911697555792536744851439149889614627112058566550882764812266390193139128740972438490193477876831825784893791103363229208448570972409501089022011103342354525695175942910215420030586118752534686743849707701577491624945564305176500776929464353098406709591513647118414874753484411920085781398823246452007727454420232658901306665323675884977790060747226562404019958136438899189465669204244209348923627607939859713941224561879670175057121030131916586258053946383440568733190915746294647154893675478601482710882357806789614018572066412168328496111959865614287682022769998326347764010406423247734775061839386209080227847727869879572702233008962951790259251789061779951029332969904629304294273238094882491185700400312658250461238665032221564599483432959869590965858437056892320520695789417220908539796073468279513665272806411763889316765388775136453645828517387014884802194664247714901863621490993880971188265034178892807072217350981412655790939642956971287635748919158231390181822620150746067546000285405283314767606462929347657994617738510844343997163353253873569947102799111157818403805423588766323355329484113643859801715703763767872060397601185380334523992104371244863954073725028115787680043475804090225535189881653863142831511070885081543996975757420003712095969189971480253305635078097652408103004682415703045355291888434035902472700688019137390137822889330238754600414971892176404156712646434237855366742141086490277397490302108188501927342799099130872703111907914621864590853820282642515806345073242895726252989358919825433278855775873243477004509552773823292736723750282890659064547343892071175332404454381613128073552394040770738355755402851851330236245935011048248190694418407743320902566204141066435695100298332127074487958126963050112249127963392117228857855824801550715376263501439744480350323830327011982211504813800366510733829305591037448217098727665387454051876909114247525734494922206012581139590367931970674673472893592086017107325114101038054831964484447403962449981922333309966840217272265950072642802477089135250247250456713651470420644199062397665450366451267432590575633890414645723409384985661707002704260204757220023907074072673622924900679801926451085310655579064199444248713086493128201385997933214361292535766825509974320454658652241315222167409262546369102366482225232341417125724962159872638105335329303364490800565479139843009831435315503790549977201398120199519591915700620900289896733591366726293506632042617651258424045275475323170795695627243144448524995989123680322510337669864442835442504260755945433462091078228795102728889010423887576423645016707425068876125981723992785629993400425469740762291995414612134312939971093863611409107185273038090388878424047466377652050144247748053459317474328502707657039916706253540706477044381144240925936033855782571074828064755554492393123316732879264777476269925976078303547263140911938568312616133797551734003810889715555684518930880468955259282513013148263613421537458169345597796225505761834011083108755131573422984063922529779226989754671375159004328637971160038815563573196571140987917689507530977479102421669194750560589078888873974737432878209355213958257891816045471433054354857231563997076978553329922173733812083274587833439892456184653364713643659457007910841612522126180914120409002658833182460619825384993320301955875734489542688179446362968196886711080946640256201657090475774571469383286521923792259100330870820257683733641368374153125510439414046091813351496846025071065140676156726552846835335238516750928919295448701518934077798074721548448968648548031225804355709870031136433967368044852584347509517982578846155841019532584068960023663832259258411263317543331751718944142933324585973221668048929893010886639705126058996715677490473472455571598811152240683221239525786374109426442773574143540101624778040738448247372887918247777386109474050395573674672485527697668610558449375371161978833730958776999732856732853577584542062436013824924742024553087622602387598265038634199499772006565440095860249114324813843577021645010243765718992884136856572690682029004082690702838213337535706399754732947526730785106287244878652907808719315871096425938916788396878449654064043454387146597567651492804046045600949863605392734771794446387036496480060940621033818058660591352925124374943746261570471442716454422088399376916614461542485960083349095825226606205978179641990604833767120918331211764943956508299094252430714182867476421768366074461691391244619874381960600831696316665947114864531710998395728499090019720642579142785951078066871762076268466125198757569180729130806575508843774636054774450571883591880637766375727334126570683515355952789716518014417561577476979357054054967382680787306702989214476934861974060005473143949800972894478862896764869393243301922668328450405032899597410134693884552704455902030754360445429443240142466078536698390387861534119668363319943659966203753806018654778350378520809109576437328195629202131388154214513643288970666284574278563908004731753129556189777541605810345071960747041430412675780563742102674262295213922964083767527991597795145958524927953193721574361398391185613088729441999613913052058401791516564663970680254223898473319899452451297762530482984466854239494034434525371123232749129248412300766361574010612208730948415078478883667589825328879188698738352503557696096513105002773269327312187595125376256013360445610005097653960217396539519915696726528178447588789095369889524316353940083571401207896579686564456593883044776749254016617043544424230943247553049705260519704887244613877841298718396812971044573349153451741896107087458143467727221645334064858795035295294622170582834949191394845687429611220180650021657455398480668880064507239773236911518164336158377588797151010082868193522242034200211586034238352690954003012109693118291530664802197562301672023693323615951367309421869124626026135392346382826986082587035436056519583949159424255548285319173758078711211518486117128591744965846293999199270887417147890814471524610278738325473259797199316570531654888942855301375997138322150715224195438883614468551803654356764923667302589413711865243617034267139441711166554347672655904761902512134492327319620862564126821789972204483467399697086332340798189089038504096018740872953924770425518189558486367984113458468338515190529018921166461317244791454253830493507620858551680133813641752873551354282219860143810216540192190928790376255735067L,
4194334454944115347575895750566412293226166047313395516907485980935208923467217024217123374175265690996502352867154092944704992596559034201945397512068499412342183488775365532789208595549976780852481714723849234263638069983482153499284963197548219601319138389958557058375758765987160607369236565335552504793856698155435234398351086999525283301676422627671493896487030651591772838594202738074560740199125886019766461421397236378089039587414534077052307038458190209572125054305437345077508942046567760195347281067708765026814816161913579400824225405367726036587727433007595098619384519504698294905297886375599303706858259263876271507842356936824001995186486997525763388183987999284993785347417694664091935366072586127167253679496662686049416610139388643664938806201842727392850093262360121481224375642966110224773850308810403532959866176343308755117968511875524042018866990464585538410258309114267937706345619934958635704815147667414516986013786391038694378265650151229739577584526120789869003483093014034499277687207703830896593783667424602287494045863476335696244841939503757631720710189050009740916006076355637554916221353768650984643360004859122978552207836690901571894906742221128429613517154150790681963742357186824359795500183845683397605278418676319413827292730641134843697665345688360865242008861567843940297782882622893831944238649698682009577522758811628664616209768526334240666705554219378471542119530306265550478178820353925985443779509315592086300578141728687886475610551615167603873600176079611681501488306824584991742727967604256955657271623546660992716317976572543172546441130248965209750068358478726303145500136868317669669227507863431360311547094682129384526331122855100374875419392735529976377509952868034720746021122598165853132448594101398575250949819358505136552014958809121040931204634569328676834175698941312739225771539824524886219515594760676144773527981642625577570568731883615786194330835630751884868041902721247275375195705048105156083225588458436457945657454967621964795773197703286979669389022591502890903644851298010756801060840084431924795055283078992394260297445324317896882772194639371265700856890757832288630112386927038141080845352736071172202783648521843468293782028747627540562743092135594873728330632691719816937255083731482705662884782445915929142586855355115433282192041990365832115511951241518200544616884589174678459790412133935226789765721377490697762631820149349868513968344935440990193072624090588173411200785139023551755965854960512778711113108267229491128481968331912752859634123711977797319105906799756688498449087058791679312779242257107312604405321429062872786846080935611899099560987328396365550726196217083054696061052190987964600654559500863741563186531221876561707854492739773452330330653753229894886324351761833902975947404827489714101862103176561905762042643405932537223983378211434382881267535117732812002286545360123908057325149509339883717720099778138275206129704294499245821907541229345914644575564278903526797842541684454780597749292043352474146126373337741605041051446516816549177670001296777730323775190153522441139905464781337552931721220650360328052970925997996790156884426547760573718040159384149063133894266697230488459172771661451437854318568370728076368655837254975567104324369138123868319344608838401744086442138214056748486873403555961308029288520614595643754848307170089978195789639717976868999353718175546662974324306554338243263970628923551092602365572023070426354728988964247330496064184747195473740031722506962047273298679092709317536704060652278348528240848262561835079287042817379506327436936220168101181005157707081464598075236993364630056157312756431523506943208533548003994635770762116441936541294439318512627310188579637000320603406457100350709064458383523474478851413899996984310095525237700460911305860747105219875579059014861653373248894808604050639566402017255088151252469319422907874778297534049117137633080612580355872513458987427593444821428944929158537128117450928899611359423183265365805616932956262867850585709519101190222573613907441427386056512148665756508387150702378764714828477760609386847759971529749889203754902023166289956838331482185785837346054863375227574455035722458013891221917576232779716399059913514450356335107045282016141602333525290423304655856439477327728823695733860489537974026847322871180541014776725666159079697083872221647807674492780602363965485389796693785650266456061583051244321425277405595586687509526066962701045853624723772108757527375759855437604701650385940750654256253543601850260113511611592654422383348197903412439174862189123340957854808997742781699121172566909344160750655401729243689975960743482310316993764435171445636520121859145317822721232666512118428229304273079381491945825484473675122931116378222366731862095330275817177159558169499219460449040704654827857695314415032233411679923008356108928025194311945138118540730138543759874502987862947094233191196581443582211507260356387266055235381895608803501722263561999028969566153658033992795019351022940514410988494374417194283450390816131289027610534866217595630738588701272440241474196934154279692330899506409000870649877494100455084147438637854992986996852787279288987630310255128531057467536724491173609177172899765903619085234467840301653806353817092180987435470756828255464202251421298761417055037192091883643349774521441905737209472894677230630485358581964632850417003779463895392451677055244894165392064421811245217422269955182240646258946125231757692216407112142570400745776134354736746480451380964095016544567106390915532023908295331942467314070102744046523655956929938907475062920561236446385482420578490614288563970365926193639062042420801022080613230897889303204087888410385021735886552406145871360365581300609353457445263705476832124589129722139253808642450857349552053901419116671108434025597629206209290670800597031739548008170700545883353356832537291748332248670231356097727538585795744941805974541197208868627786119950626175340718195259046086032763330320133637561171557520466165318766790641141370864414319987857419036509541595645327265575796070511113366224519635745275731241997058969261667294461939004367352561947217426742690514234148748063902260541699823202350090007937512469840912214663755170912428691746042205753934792120673009651668339865880253514746961393108397119902264716775432996539720968981951435893531893022362329755611604162991445541096593331267196086847491830525923672547109501952130586794495604730006502829527349395045247988L,
6624333150432312830845925225488740056355383858755170569112113718453017101616928114751563942893779389868215180285272861668779208177236848031235286999896357853827341915115207976853636937104531345011607851143905316957315374852951819280425846730054874557262106173982348914061051300858213205459349431275182888886637779403180209795896161824586427661595622077736845508303478362226867457361733132473139138166143703657673738038406166537385878580916162769515947887509381279471311818584412122716557516068217746688830663520511340508528918640426889975459094390012248158063153171413215561820485263093886662381723886144535261534729685046120917821424118012765067444394747226821098568137099871713623896491962972977009017901047619423007389905241464080279171880325143438652245978233936131953164917304019400386435305419165938545070498990055133699333275648064375274415587399051007658874970398910552113484247265974312049190142675276883446046779612907496565567538861884539265682943302661044643421916210173126174716989818747149618522890382562830630026283047265202985449664610616896161816321575457683006086568086597258970802967836639000981180516551124236152510349082611893839840888518264807656066473972136408203940033921059618503674665540133448386340614559361682606984937540435715245858242386478000771989965972032292907632054229407228890109486122136034813835595885440609713454562949406066041704357375946568403951740308364916211047512287013570365267660561309681265340348992280412675830123020520024802280879298178858183343285430615527039672213602348720902608282195753015912301420098893991134027037689266268428567860326251305713099785935007947681859195175034215139713737036043856073317730868760460277041629680059722871690677439469842277583755635006181616447191831505001424775325606952077974089118932288422025124928261806273479462661369968464493579981972870643965586343842383103504132456162387934515470924045743834161219074599721190783841714557203489400992317706527810945462282928278332498545371427262553670072245617165752464296142534340359798794387394505364619715442815013819271518085556102899234604237914682739723344883208496417676871212744231637815557376008087939166245829333470132127132812542849202992027155781371325615441093565338301995010572237221947815341039945411344579322806331584924120103304622522731595895282830010037553775752200099209170457007330595140439445415736846936155477458614800832767343953406008116313157812208778372451326209625467285821454782597117461581874332246622699421800062389547594165701444355428353903364027119895516696069840687989708335986779146181941242129903820871376715164834148553271056981922962122298083963479836622617455046549742261809624386486035651079001708862100060688497577793260786663135614451914560856153431685057511749183131206888998810402351600566125637321259171088176665243128335635723902746399384625175761492837501422492061888354376034531309137203222121288869836164373736745730306258618863607757275576532197153147967437152043971744865290556215140392923279131808573849370058184925918864867617550203145533435060367080420717697792440995155984260703593638903775308818542945544186006233229808667948771163514117845807226082272936768318102255219056728380067180350186961365562249419885138043348433114351574413239099582344119914276706697375430241090139846453817368432054950129401923487794952521593044753082891307320241333523649198367297697735218201094280586315731826860742406392280609939600917345384572932268375638829462038337749328734049902536526200580740630227542123356685018302075486529778059139262479483934042283078958797481451537696134440364691193706400418009420750724899582728218277560750812018946111044833081695585532489580200204181627840421698383817484135022824575400667911932424336832107495627387635336738081401208833149124018644686588860830150003817495666750626947650807905611006815584238930687264143608604682762700291517262802196095410921797102094087249559389062011859698239242946575650094136365757714283733684185968844156269267916469832191307434547044942769514441520996660817208556439971597285033496011020543454919852170580753262423659512447997980740378291352075811489529260771056224613839602632720990122973349972764557914779206627623383425190367230745342534096178528881454857935346977278112285686542715226909951609265424691051924512174672617583273574590355789244804463492607603292916918768582086383358964487553388318267462837433690646160157344879121521461291034050908444150353907340684634586018804433815056943525695847219963991965522426377898741233805898770688251280905647639065927268889507050907542273971786466407923878563311191795379472089850402201666344021953351956655204461072842108558527379151526884052256487391352833195516060805290063546231102435804292470700716058061166867042491478953914734945543848468990647199586190197930714241607877389835911050399201386889621906176087698815805446608491098438767963601613945257362946189884036255402677637772574361741560033513119867958785081244791764117340120599174661369064481671748107815686989780847437210556740839384722380826516018492937941511264062822915189686228036574018280498704489889264453935543385555347195877280513971615906914449278341974975909061323575199501018493744355266297490386379433245106075835739066829349504277193076786181123932818568616841289712824574095517095331172820517915959246264419831409923342777816221057833662478261286726868694029365688884758070269781164828078237695353148007219110576604070239481950942566402496422624190488865956745700296111488795667788664377498448046685082784635252148644637539453034887345742192785913761352645244475597479777723152280704000211380559423385798692265598792665232039544708976098950273471680030321830651641603930439760937306129515191988177666664733435877271675666924842521762464871751141484528507772980078415539513589815045073673753538209556800917659937232953038604835476174008140227783822993814965683323444176715537851259713413517700034426078902264685711178630436965251418155524610439808189870762379964325314495088629291759110885623098615309429060434046073525299176574934816490237444107071147439955357391632565039412288383116073302200314032025381187710075781133221251180001607674984518426774327097138074588379267702367578637721624459823706053585391447411989323143617573054755042563347770853115968718521447887016308311588886359112141921570464220666277708317343043432629637616451985977315506904972975264733722432688072118944179233069853298035624211762862568194134439638510624820596074485563838053043259743193981282472254L,
10460989093297096675181633097399917363524140406178329389233189128345527072775813550861953620153091740485218751388263599865477838109142244200419255043567236915356947934032786176630553546967347704165275716261563333852367249749029229761662783368063402930713862367080803950801801799913755314441706144899022007876143906129359079314876820681049397706510459491724911169219229492962177863105091454104802476282118227292646808496823656900490954996887768514662806297574437605824819703557469501485327183717533364144148985453244448628796324678871004243905329013440545771004855849598588880894534927359687699128334622666118196839470291174283473286445363179990661753128896016378480537071027311829751614403877369528944782938336644309477313884717845442967081964728473988129236565094876894161222703719434110768804809957438930290078191971959572052066292613844572363834376621836798087291070031390195105786290275709430453966808035685601723583282871732169430513375798628411658646578616194877048195191537076943382124473537129828323430860623944679408573712969093067677543725085583265962986361506241804869802822689967430217715755247506877538197394009500873214113731084926207768734946407652526465898117951355419725542117013707699563284757706740518247009309794485456264770480397522442510085328452495252338697539383024425828503827843807337240411852056606305871479884509709647479913632277750001613987175002509247216053871362275569745515757242784832048782581482476154434267083012961493603570261947223289492419414888663141481610009582531400890961486261153790256532557340481111584361094736638841534442224913342109766636428286635681383891824160623502146212595090815698482791076178468502693547249787846841256925531609396991238155720217298597064344255665544788365381691886998890679063386181180957777776179639423079632310617579889225861396621442345377677662554107521960590090817384491097266188844698280132937302126590491810790440539414605047504033653396496183677667015662379914627876953306882283272222484279471978445231612476735999703836491661180239070596029495135843410164859218843415633569398391199017965036712869061501208713224004013118076649856108113030832219730324536504584717077960742514303849875705918791507724375924990443753107819608643311407381132468774946267007682879605546504279135587208495952248802161912747571620706899350862252792443709839784305302475083278797383531544391633500170181165352906243857573566239278761466358288355067874386611212670713940365563450061353283747959936432287712103867386588643570845373839782369203421376379786136417356102581324315401381590103802164305483137610967573352539878794162314194598084076610561882638016803020128021908707877741085184713597349902054925623962163894371527813847275759420833933034218500134983035997233671735340580210636290993760798344778558612346213829629898954637369449896380029158274715361073752214201605704107286591451642827192010037363151719745910690031817124981419704478028099634843310932807883356633089519433146942860823099844913438262025765746954288016203349123388249089910588052806881952216698159948281876156890501251563351332252756570431825237048352463398867384885266171425431509786603448144843779108306582172889826639496400676881624709022367021144984049692117661437980840836672330927811175451139922038198005614768362302696556030642063590106322667326567747208175028729618025762910963125358133530726490990167300623329373520917569386562967256148552232925482742312311786069487549599058033294328992225997637063953613658257237303818894433692192115802226125943587897931954932543127610470943697011563129801146306690238177128218998908046562534017617908306974798223970495052245033914355270694572153406368450564168352810704765685071887412564007376823108191380682812305010012976196135357619119537417420635025881617935822372056208937901276143194245119242679712184512285219221184796374840175164747725901542558302911022261290900639987052722531598203581760774059154316476315369100477005485930891698470926960051964691399750524135518256436659493498533303962841752271339445398967631203699845712250078433991030341864747428883806950454198148549788723595307483887541331426628550429059804568755006656894000592491068851203751963170797313211858649149556733979303322250997462888809198487034367060478685141156649274804519638700669625108878125118687609480155782085576806509910108863491335026456141500940871990830748006480055501448801373387827624590902255246135548621462478518271133146454054924059368897005694011514640388936564774778842952023840184531057178063720100994287716615169040709708499084782075881740493591805574949130638966308840554068703315998770954347575130478591443827036019582332971505107924602327701895173983183348404389126426056037600050959777249892257878540987800617992091586817990220745050925143540386681109920652271290427738510650759646499481552577951783916314697249262798955232677414176982025076089127333701189826208224438073153487057291712107350498665293800062445601063086229778336143100797843668084648479421845445327535671067567281826092879433931511266411271205932247036888078447482744026940921632491461235370781415071953699428258336681220857077089648456128995823135953977028632688026418275786029419948168120072425130455360240271928299701919460312065414402635652692200291571195086853216067152461386749965242845629482108624531818628842779527351421671066029961365781452846000062768910416146325282210769533954193884856651552601753228220750327985762177755009626644064850808203260282802818929167152898168182884791498215787689749070024727049102558086555990624531012396169133490956157163037681546588626284543480643842584189578130180860494508582032996077520665576125316452075710858984049087309617462989729442417455788253113363252328628588515926542966874550150016701413049915694351857219329289413735209187949264284249711130147869933981220043017419730957187326389388758954753051588508631186367537205405715962058867234027403653824299488262610678223841398182908341244421015525895231155593929365311947449774160832114172579170588810009657831328247354471977987386107847144450741638609179102708192465604232963880180145390235111473067330794009402778476059217893374332468741450417806545642413198653945062672224271597083827428480552988507215675468609081939896646642839666811198709023856149352575825741669726310980403515771360972337225002207991568218913751195232951325019484656694815507645749849368797574306391168435943699302201936365806368710812714037324161643811728840534994844369250447988691645056186655873233052708883877597570744183L,
16517900031080204486926232361343090861730699320851730532464326433145268454696117464527877302421162000030383049713457026777733589431718456133751741651281366651309986486948819923166260917130513829532852107977914146048328986458259496283929979934672478409669898335529335338450844528341908028034474059056484742864461620632823023065592595224800705726791813996313308663270894096577414120552167463530108617077777594537826578951534960551118019404356183799518847172818569809913719849845470128254098013080097024279319545615277681577452932774744933009017292525047526359041873885856306836706898640773191199611701515035894573441677911774777372105647691076690230539814768764746010053494126908088580626777495225843080289873727138785150082178787319155265196177256542860610693657537633275610292637537487075905016832281061584694818169499360568640441598482585974967538410912974121754071060239944328310545231213381871548400624240980120125769966581080425248884752911391395344888824323202058718732109857453049674987589453643057859828597329236150828136599996225876891139523697470918635974416696889928890369676024900094694926428850615235257743481968061668352240487815710417183674471526661037081013806927820278008637731635044856305050700900318966803682888457126314617872229786297519229795992199752117262172053871389888078425220612963306144691555924726782935019199732662979439770475868168711644858745170296463504964363994968191070115905686082528111497871271176569059332742104899443594124093861384731989920329469384832902883913875268114931383758213305236529377994375458384739655272366778201225383032834663928909715644635877283464904223276032604622226422959893126772015127198832501633884560735407789143287670055280093719659919528983351878023202133039576552156491625330364099360177170480983207776551951239697533034194459659916427184989739329042860952285931719280083949803575007660485948335092890011420319135901524574145060459049573027548321968323269237618908129237448832440849808517361620188106492942758610624727739665919528410488751996255671932318198230679719954585178136361875968618777472709214294965893636319930060446803797419882286100912263639938137777841267902574837058001903738882760438176029918876665040190550513465404431724860321113685822889038624434764165261429999245214752773346206640862126432921154781234571188114457662469894263203144032385642162511661977988661905088717156675818193416948011779140476011189338232169749714475587795881443418300799184798525840865726985009139261943181057574692678092861881999694265751180749976770675518348166083377869400539472449498506594098145243511311484051778158581417162634976768288564022661333441017692671475293492601607610312741851736055861248270954945207031494728878058006959933619320943351914292381893742467686383779927856017133277729558205331111650631591601742991806918823758191221303229432496745924212649749761166570717616027562614013785286962578971741663512495503179090687335356342076033075797843475257201994783373707169270453081837990437005072681266475843092551413134235055953272880115760560762874639431402587877692494188948283391014069749330318491292804202122660634100072182049233351609044927441402431883768099667044546215053293691250390418073285275361605835219100606548250945990511943266326424003581598929413164791419980606052967269682029211697489768280967568338151280535085862315320527352198972642549235478587427754581416341139164432031771707394200703051667557493014949723351870939901195673291614019343511446549882217212696152209788701879780373826040874863815934499929850232129078419808274357669187714125320913903224796133574454215544831191598622224203107802597502971954518371809090555443191767408221789573591115278734948123519058395625574418712312435030291090534374769162192330462273794927399544467800652971551359589152750052534082172464756176052925028141467149392865558985739612684435177592394669025168417378002532804982302426347340180301123256437026482320282934320729252053738949044811307520068908140907020777984836034240566503852445697292781089066025090440661865504478620819645010703244187821741564160172062746788019060157541693789803421707679371136961486731202548023234859557081735004285838662015175490518236748045352192986761411699853364252596887575262827500565992067446784497121137617507777386919061001392318253092733304081570000769802987116145551379481257676537093291873773505054347989415287100799674333339373084944022608388099021776496676497521900000217602478931558513283368219729751827661852423383856990578977232695038892102641586677947101211943939810757755261108695787869199716340149826467112228127621225407045554836556181642729824302297047744432650746508287557535475931376167424507537349340270703270637182751219668209541155408968573009719371850800677406595608758558150436030402954475580199412162609854102364834461121136423563346993694795484191025567130813337730889484148306441370367183547810309992660253316477462666231029065541841124963344760915862656676714251658830180313034689817078946149553342118781720991061555256157489182053181971999131443729560866148526906290324485897480449025991896955071958023870262590832319434558110593720809260472173149819217348894653998683466612851729685575014214589198041432830718447561413441877794728187925202171115524744535315447368986991666296357339806030780312812232498326610312240130528975143951855964749115689184153574383555862161650453804500127571874568138858747075422239757205106272876784261030790940802554380464051500904178822151640740180366854029902393703510731695971664329160407713543222132553672724810797640946109044979600597710380608827822763564202136544515668873743225728180786819831206666431560830431717751586990696510844512079530636580587558207706591733043632986651945505449556355125400817141933713303596339451931870851281573137509115246273026593246604371996390757045665354258565965383228894211348007481987533405207269362045574343889556682793556524183054907942203017615020864148408626543993319934835223527690262205097978319691790038349268690946681708358442526621794515588346266193890573423686719069050381789786370094526742680096105166123179377552433782918109815268867382335244447138897135383997572367779644127440658098109745582351059457047814497574381764318348480296323852300017627872023967852811863205230029872731618108170907576998328809582386784993567275492545399777457413751342432827364879015198993785600383366579464170141031326921450031907099724480509185796461859992494904519583120028820515266213829715601545700571593527025065875391442170769135812937344L,
26078850395054011808186614081429954232567880026113102458719846903897544077905642696952932899117529333013374147093531384410359627873554407381765380272774095321279805832895780433896034391981173403229458653200271064219590607838352971936918594558926008125486397091399881514953027196938854438446029708370672782997067873940556511601405593053419732107850540316896241384521341231503382025483284171930447864201774451832302181146357498051763104411890341733255931175938379513793322140873374482367636199614948681796341234227972734230227995326247097963381760552009145890118277368680940082990086668472442213547204412310144124086851451227183829988760645832458753654862936101636327252078273573195534721256775633690292836998726302931603000984488319516544010460040805199529531976533091172322857660295515557289981202378589937564073597992291336234462574933965120202063008204034446697729810285536396396415887057830531371115505507164934525215647378823706306217690812501765826678881180001350620186544207092008046018742735163240511210263999606764836659393832428848538556244603437814030426425298477169623697881271439207667187106063902422020121540569148685320180145913652222245869252151312190174316699119662685561944129070503765221165460093422365344936949582876348900439049203515971443119697585255783589043216819372405457032497615103248002474101084071998551424184039511177194113117131765092411713688196467880099540544786175659737960148943282380353925593829908199650036804530075862604964620637411357978380859034368570748765946953800106931828400889577964004703771255542999921690821293271931960460437549738725246094589650962380527679652880987366250771227440313522226561886255221178936832851263839924433949070184702721577021237638970962222716794834531810049319252749156924739349626846788904872262716654248477722139098758868939208526347365436107364376644587984570258374219694371918805947144500287809251134628123242051883718017826048871786819019407205086301233741974739033173122348086263944910093561849480050231252441303122327966325908395514651470269818947559296113601209483509011496510271094569634515791729346193338197988929187704886431128434638775946482373842644844603975230864483362278530807905254181550729664180597257638359301579080851195116406448246047056179629935949174276029165349459469433222409160397330486705275639041962037273209622476551859672344295592748974113873191780043245072094641606660690555933008431782615915337956530809200176762726500572066124079613010886798049632609408007882104820176616762538851069793583973681914917517368783387501519549175017589448417583398585682595913011945493565536764065633308665693897511558851881831744606864020761057213482888811038752075461410090958963622376173526846383824257278288220707681975751692295434096083842034698672706795707078425723842073658088823647856339700098368323790258474249085495711910645368261486772990026175695054620481518606365526784123086638565538896643646240315524271277121307957104820284204375684435613195667721450122498727529887081230969365487756896091444895689305595207423011465928379872661026544283731914530633285937558669374614671237462657318633239368770905955524714438350216232620528275031435369271349578870166955454818714249754042951227108301084290516648222018628625747395629445644414528998379277205151975087818456364538065841710446921320396322742255473059764103993205112647190274657869743135302460202929814557915890527300951952939280054676024785169831640993310644253135432787500380939627046721689878841046895946293655115080528355111003312037044499811840996880266009970433876414982668873876925523561423088266544525389279852719138437829372376700088830029872459299727375370049084904747190449930382089214384774490942657593879348707607183838236506771615539564590797049151535806504210135818464493267745393142828183286236007779992367320453830165893999120934653807131512988691882572892188977965593998015452935893396011162668228683450891154785585840883581327094199465949619724077017735379554889211750075861399063169811194508033023125679743830081095344550677963807682565085476267882368591162050048815542324685611997840456607229257406393005120760884231049983383907469483923371348163945408859878405821645547787472179442032845269764568590295614206809089643476518387972300284424676960831356256552954972597168235555704383217544361563269448740353675796588095746892797159823024780433470575447340570660157514445789526379293304887611851641523794430977169843824234858421201487316885453235671142623566716660229675107618236461951072721725183341885667451952666954686504364387793233858210300619427149471400019473260876586279296412744446998223380950913452229961989996137860455443215308737791818177626993895769566904194437290400456901176086616332550297460715956645103636012453688689909454756785253245135792581671932803699179051041429190766472628953536900283376916411338929549074098257924808246565855827260516102140377987634722427675806600912203710700480153616336980653709940475035842334145121771964691312846039386758482218379817959867520326386348460276324355987604433571456929030183569111989400101418968412474115085968896773522764113193635879896599457254384790397895482463356369796481163381591945221111764954202907463533896885605804064047130242715431725149702117960819272194947530519809323560828520076461591222996126847060978744951097511899278917876448952027640131455852960219082757614815005352085128288151054699566595082280970017955536513158448835046297941140819438627098035401633814965514352495202053411625477793176206422846964314895463867587677627810783968318289920332053946549624238454813005587416876400160270412126053182826333027940766260362922229567309196796602497827073458575058033965212704886052013799940453401823324249317506316076464863361249392319946052678284282606396361013065127804122612932973213278634507311124703813475208976341662775882993172096133994595192693932102307176983420742226551348351097755548140589109144426323705991656060175199510180764420635667394160190286642179492753580805454305607700291337303413501931702207525800776871512527077038291533685003453080864578507428396236323407214749157468306012266685825231626774287819011457679009005795163588071789719539258372742474304668797377508724619304181893484206704887299129696982045823501461047279175030154759951712826352747814222182813953794245945938143751319065315663189537906328618310869510570081076680465446638936702134176735028869323338225364712681372647027810789765626372210842559645790629505676017507972691564558355449113684081840991170800282326737415L,
41169311396116430730385256041742930425306194178012899029000356832283668075470036627225043471820490126221393027910239669201192890196686515433492624290580489675682763639683279930560132129683211937184840869852023373883359186187909089453020521634965041988010087350732415902054565506780838058073746977067575985993929250589655082510948953011629350431717995337295022558755827786014157404840866210130955782628033468625030500243540856933171226201419263840674633721509035463454902773530324354840500451763983114216845958056073042652799220726133201511715660611144362100367875066103065042982316377614094791878832246245071884315986976752747569790772238864743196528604784332391185250944249024669769093643345181852904536943129693561722865321783643789131334311501382496389159124108803321828997172970889444058051564402761967686536818525759749294843578409458286351293953578618955579163380536170767102993370654991536510245495909623516000481081067715272294205759126897391819875997165622223520864517606705394948153269934546311520582395210199620714690631994504461908311157126556271239688671910598679647431770686210488981069869857685718153619542071972083368250320131663214009548431103739439449669033469486924366166773001130336454374157826664020442203012266054279051418334113903103004112328038150651022042846102394952719036714254235356789242153064406720399326327549831620223697187619077825706243017653379910044635893465349418906962302323093429355134167201980589855346325034521435594855359437616347976064563336596783635796289450581669269694776499073190985067062146552793785538065259153312123842858414008502674289709352713300181255357298877343975352014829958268267174185036410801860418463202520773853734596105968672145400504196950759787529320062592457599402301089603490385324504459324223993205542489902969069604803463265840861386467675039986482586516041886559160994600339407406812712439353437817445415972291044840531004458458048539043458791679778013150185126471583978410758924898298833036595300466472964527336702796946425799352633269373094246313401890427146610333106954529564990578192359011267929581858517774405152715211871031904744480932252460149765948830040214535763938021115112266321214973096929279008933111165103276326595992025570214750334830658890080078660299247284801755351339192610237342680911804439308877227572040376756927237666480730939161300637261879832867046274460722085223909384578866780219770207694423781034426368088883373383170967483733706343342884681916231181556390331867737034988971755749974486342985075489034650471347960414739585051898140478075857932894257110547264370820511683144433037189650935918632050619411326022805962358214739800438006917806083902478608393708942437062134188590327357263210922066043071254576408026969443897569840393009632980530551176009290213182618395555053928692854525158647609757756258567403119122538839874995209477351644649317558881111252830602114422411137931976397403767700268849369187600412959703959197368783176558142491730322854619306230530449084855367546775837420392184930025346139975361377487416795474233373817312212885438846503992805067921886440357899470415556182853618666393380276410236979493171326526224205719442825320632717261271363937053901344475735404511592058629052314571775053036872152583347455095213346775446621413565755511901019682158146169933421565380383413722942526728443175796365921066714680724241065204122539819194975623546919801463025806330196781993517391719378164135269178081268792780304263234877872283155627741766582987634061360978137435727909138787193894266583896933720644863614324070454069121934579911166940155237457963843269870849609696469313445694585253384322332443257819233664319691868079097848987654819636497196014689653034983210468893512381159429125627172034563748317222371926367156191683601685377470217835481611768155252478829710396502331573139726425211690717602781193030726037256682017592657260312068546757693025178278678285295821839380238713894082758411032600590889821742154957656654488750548796856915232134460163388798279256423093199112230069149516532384205135562395594494334078616055752901086370438873525104087633139831393020636877767090449726547551768804360153017489710249365779466963553925856195934038590379500332078947478043674472460625402200472052535309308884914825744019427693418706800407448080269157875742249401872825460085937812542260789209714155148106878461497323856034819526148969317711755319324049313534742522237591458639231718300384288352183705544110137244602760149455733987452018805971367742625373466594780277283065661976320639325240230644680752574585718479922039385594699913775506402756516192786696824881761025964230862387367856850844868063563407301283889201395518268917871838826659883700495211010159638815930409280190960699211477971700820369119285542180968566509792501919730768253794019717097998482043018571763046852112336251779736837153878304584722973643443217487266111490277524045108578366493254541512487779523756781413175946574190421463380155665800318423359068995544091681740419622692721025894493859234999043123376954577305945567413336476325144559498507591496957755724480539272673253207098769932705101625898075875742902641438711389111024376229793893192022030691929545071218729887797351110350353329931402301331754373296595859205526399591586594384751167835879613878826279500180296541047348930038945187165657971811645820808862097402724993032413015853825382536176285334749854823718049758432391885512133395913700948734245372225997847417625998207642615409658797841673385285557792118603615238136242474875022450293563436495483410377378730673405967225974867167732116042421443283774171045465612539603368665119992526286748794513803142588125532235101031105571219344700104223851433177417641407829235139320930269462466520169686458826947981299546909448282845457832674388218230720073703980942865896676478963794049473940127395781789175360646825859628712259840707852109927426282033279413222980596736159558395364418627815568840635694892891315268279654703725413158475849121691543334197107845867285204127897045240221826822991468360833253741673036686581466947699582003410457942902051444435230688346149719688234323895294525579824619770665560861700259175415589148670238761115615355771182220002194888039695333513981305786089034310497704321945520755208080118902112852197811615169127356655156602965868054642133363123848649599529431043800113298897096385688642701372510815290951024039438029692912843546896726028661520106265053025868351764756392745593081384902485549378064038127895754035687061457476512575L,
64984583279566170771763061141310845497318530778264259565762039953281200537599389749839726134093224045190915737810091558314847070421192637516823877531326967470731621915361252912122722595381260794098243861926661300527902608861939968462849985355195172799196333956679678273635718159103255348900003617892174640933631226837945142437366511269352336410847379692909435143242396945654533432450884996357623944757985119619379997451491325360139538082879004909057201279587252782479585927462012012069881302593645115534879748944593856071286439641486202342822870876903120271943930031794586902773376728210225628808101099134664049534743809089377587117403301837103751573040430244510998235969898957347473248255095985623637388963957721529268427493868181342764291803684274821327734267110545744281840152030545889477143248479237652234618901617664601940914844110181987651019562789764777049489651935084786124844160541158550100002692496084027039864679983802146852743716177696329461354322598115798087461234072647150557974435056310155308456983462661303260443287654218793460359636650434092489684361674474177664387125896133780903770409569151654647384075234520000683895320702273684022583235584229880677739399638082133089640866704661659362945426119080493419664167578205712129003654804062048765982039666072031148178929090822340910561794593286495366938570827547590614812860960341048264720791039707395664817331873371614941045953936659651457234315870033310970003055282474383457809083779109157037535864763660411019397656363390074969618334360244684840956222738964000547114578252773134947561914562173583553155512812981161366553988115868189430042273534311454075045381437589365685831854842656811629564529152597181148287833947049049183721981833308242784765499425578192744794798175234511833227983455491566402977083946420771655388056566420140187608452572193306396441281155380870928387457286847766827211470016818480716847622265148353369465571731130201838953430563674323352526012334460017358684947706651053931514967102532184068391473730335508796039908909961137808060768299407357488611854445327096341815833526669889261039939998380750788093501873577654412586142319249468146362583991578127699591757589647163661599008231869541043469273255076039715620760034183460013996231528829651448078243504396801072453325906686721579425987346271812451486853715381226042159719579908467729377067462514343461062057739167241649950931113880547625942320140051575693254837277473806699228278400149268727745040037149791611732702019354118839868619441916026903129727107985412975618024598490319487814108686485600797782643625892996685290964298709124235775760099689092255643455450867176737923971629444214564044197849540114756331853263572737678481404862632594499232449087314642491781183705869318884395902641695260638365883514904774848020342136322171452634985733249238152753276865165848118307499408475130155481647601228897498430730034178620164010054573500894406963790231205612044484414334432870538329513371863568309951427549988144811649667572981574950638983949100332123986493822547174079216073135797178321977565348720837090500739897030816403685506444385372921853563464978115413523735095203217250843364775894600300413425159859112489366140902922600597923638870289871515051863853094930608093794256153888694887215403019402751404891004065095195723856524179429538153192687297385731915335521205443868396861255732729732467960879586828926794620766148600732884308663948147781194697367178936271082821438916728444986615233219784968407078638735704406493425462462721898018137828629170593496109679412284412595593947987173824405948487173491510355457974742958158584464177584210477661975180587036766444582575534086595206033909171323533540440206548278889300212149311306129245597634374572683707061487402838015258637172519409230334671775566761806442942411949960677905925161614525822809844709337412546519202066977283574753435523704439175373452094584970347705734081308850171399538996615559119756308085188421377077945347082178376058670693549894061451875718525409827815051725652006429380694531228485406323397087171137160926763015728889830322681216416305523825978249551034613965165000162173651733068155778635962526148953878521648172467098340856176300742647728632310280064704950656853477862512831387220086625736765967813158040333387880842584695482191858977142204893636084466078746031133089381318216475621273070077794644107942255363816359869913323163744561039406781002600292440597792507938264877695996986130000580743080251835347940271110536091576658786633563873061315332035593173131038575135923600034261576213295423305870592088904157078467863800042178821772189896402701404491513090671305217607884516657020710753980500112860744609482284424865866172830228636168944272599656084934953143692653468972193839410939347446581639194674879833450021064649385557829210651605985327035006662698861320954378074391199749580553786615166404166429051577138876048405456044285701683651102052846630383839896013640335133971511902629643709371059769183358292400946632765347109775350159014080943020551354643697501866585388257073801310203979218838421793053335914746245235941716604594561547026143577323974209991475506400812229858089764913429270918693823171134073987716586327522588757364158779639995903062443558346317478962527820870541353684270354631863315669825138751293833228223732445238453996712376749240411222486714395347053851198143464056396821106089380874359790057203809712699719307716603685752384063834580471443731443100845731088423974715438232767605060276563806177608490983957507415299748268907297793533990409960415376722614839853442561256323815839646979669173365900211834795583368108511380661455529930662577539913630190874612847696095006808081671959149712909516222665866728950140681950926617034117989605063420667302821510116912500647538491513139751156700806175223858170024230640272425895941584212057375639715332055201422513556491702481769646228112867777866849383584033194536030770955078563221039512949161897046232421970031757705449557475502849176803631491411209886538734214018097530255518003209569452483895365206482942576547391539742803151713798323153664977795649473483137465490262338497481802876314568891030914492571445633252320068121985169597620858260835089797826749124574825649508448128010990492653358962291718015764253324904616463991410622424346360078550845328341062200321626090038275986561293804133626765036785826043379486664757768065842856573625724798817449363388557840206217475108621447172978742363315701090034223861034572599759047414993636261383255751181218156017L,
102564879432924687258612447289193030670585522702617892297048048904981787684610657421667887019517950959868349042631629305238069138993864318528274295156657030550598268371200113463928651805532705081932230494274660055564166842685600101272649408966877029268783442825185657285239453624359522832974135264875968324786167763003306518566869593055857530702341070955820331840353942236387308044735347200793413393103079743296544830006697422816019122768780572756625473607229795479080029973850899990624285162756046105686198595282346133751313193340635412494845444647869620515952973700618219809908088287644809125708870356118590276082759223652946088443949388034792780229902854563602605615703317004096092259053880776974967437102335366438438590690747408360351920218344582979924080813650586897557095305370319777585335143825274906544616746684667068752345240099162596592080060211732332967793480351553902026262896989389487622878059033358152722449643260833570467842140548811493145047031727429023661328829644765811248395323546262175877510196943063967849146336162030388041441143310125525546332525969969836302242914308649774897349984494160524021946322337046245721059428126999449635115051976820393245475283878878847899724736969369046574766440604867293225020039284578585750227065237501821779923669954513843736274230001913460327610187819336239127563262035258770257474824421745525015904218951165796157084018887143511059308017132237705399713884723053543784460275145059465251380467754668376430207735019963730403688900506846152664338657066869916999378283688921930595514164062768860854915033869256396326395938379440896236433196874505413702010943224367367078166103375253669560484040746788283139209198977082876610911009601007517059081142494934179830132235686368434670675374058123208858479225636846152050728345982436213001688190746714091004953229743086899317665238606563922674902446726945772024281745355459395615821673089074811699391280752737487366182057515000122848366235737719774034974502997275932189913388018341528690857511129349809776780889955677978800732285013832393217310379448528728667134946088523792724978828949413541803199587098484492029593706894216159084231885371486901599684448009963362818627215030506002259654314243309534879553135656660314094773559690848771232704310482258577861704426182476976430037262965400182803315712552204289201657377988703865144727099975150279697339916167321522938647532294748399495269467705852366693576378841188730174216537016138206417505473335336163623984902687872285915257123637173707647903453682409651805092098326398919461727590366887248090235971600380029923232328722186141032473964893862861471889126019498992795035422776140839463557374762324030636005976641957220120355088873985930047001917779395979870741409744134949805397125684064717107823819846612148776851687267695637058312676705356959294261107542006441520887594764108469846554026709588700649072971036949108770139901155917483211139585739235806100601425004634118037247264013115300220704078068070509931601336691347641658167665366214044445332726613742737249915921214731937365494493272960286120931850520717123271639892965911081250397123574429597897825698456952178686542301378944582908335975788212525792514025172884337149301119679924992047323516605904871469322356263337176897496522066286153298190887889047246563897705332432826926646036721690974169126838135769761769538323474779949057358767571835501860042796118509055887139091647320898119547578733760535287351357879423124133955669156840884424250303104254840823379521208165177963763127311343350661777965173480574081850555502929850094413107801696024607603883823077819575794005246308767295549392275623370597937765638622950270734257910725152826219784190246903107265650348951199253788739985794202624455183253415157245982580338613617817002484942070099109549192813534093132775797590032942521596625032045180029717994034087970094193372640836294887640549768299856871433083020001688650535308861389154068609815034732873964531752655791234219303073855525044841815218687147978619761811587731085619391794270037698164934889415003091878364964102142020144213726585285847116121384218643628112447229776740123358611685354082869347106089700267644274903763327194679050641139637543333113666298329180635485573972354259473901383557952126471898303723686875406449880161852578438561994492076396223900766022067385404630008563806967005464095015683161753962555119700607720189858785331482236817458136398628153428253218652519324780923450242810355022052096953722897463010661689440833060391232954748622121200041154030135342473349496489212929058801408319796747081718024776790856790954388271415440631307483994091364284174494142219577222028636516004437779521284577545664039463608066120570701665071500898069717984885238315165388777020708909163011495981346860258979698750133142932284638436665934193005971991925314890474637432485420434640798569545364669403447095912691673546649074048686221298989853609279294272255128828788605269395838471525931583507972382143082149629476238667399593684254909889762606760494652540971864498494880456611932085416335124393526806618451325618299985683112260011396154971262514171191043064548982376369729119801902864846182231115684206768269120254405874123767381813105629297816699651482710182931335128385098452918196668396874838689502686992649788465529522515028178565638219928293335926879557729087871596743215639117739276607559667083673267643662890637413188509817126200817435509550873314006305787726528669356115243158526326665025351561509084024411121784168163606642989162789177065454253564437073755154030128296013492420921202637370112402522554067551777892040201074553462390952298276655308697816444573557848965856799559672974379822429514063385596201204803377158115873512623622717006391296536411151539499214966444575537620014952540516225384058896354198971863299838162757892042932151050700607318412624524831659756621698859992695656637428069354920163170654020302320053310814536060316276160099816747495241544658622441568975927076309659493690831069804285092679095843451087184263336723992500690026187527833872516763552825473876192689614669715695989753481997703843833607836024982686058142322456139250165941479721453050710237259541437000601662424552086578073821085782092279329928288953133398190386816757422498636548220557165327403122349860255840543961191414396216140388395375185254168216477537285758394094644741487235195932813928930288610172350314488887977071706479399327733705550589818362667432247368695507216566644907128265623216662047153854819475022983623344262328570759L,
161859663948443951470091759089758137654904811173133915736393894820554234898069573875312192986795254139207654255000414386358668625843967887020495334237030134435787557653164888428993469747034253214294047605413729143359233650113890369701366352180646569341307608479752667691518970956866298602354954825565723971908786784215973979633235687671738189954925641022820421893948546427353382388523558745311953711578087167818115715095872881308885645861563575050386370736237936803771662997667410656983049543600791209367534173312278944720393969792333357059017018055518427398528914010083090740522088594579849893449781205096649198668177378301320116813563077752798556275616173344346177516676163501323412991642738940040016682392976382712370170949151934329167386589079393126249925851270334852397730020698148970804757544873184106265977581419327533337376625651235528690981525802869680864486903317098090528222565381833531368590881609373200907008990974770100517390256263855579323536680735445019155413079761495018558544670573913604474722580737500798493403502606520599540104295298886791406079775408399118425219948883164124713364574381724259660470637688989228127176732376240971791386985534547908300864513895909297381219432411353340069410775429400602204373978974003926420228431469434349689484002521703819544348893111569003412546942288214352986972269232231699392930410902757228463342505366243521098764561901748039136285798373448822675413263223230669154662882307282539343464523505085060860176960558083141112871364043458388890784267408743580143775493940097872164952813438997091322678352256333715930397182115057101486869229068325775076065680660820037780860697282953691420128341960891456512093874362779807369546369255964534171665464862727760567982971142502226729796467877694878805073664829249066486717235147691450433124290955444019611113784575868461798021525615432674780454366794473080903921212663186629610010616977439359120536595533167069374191206928399759482345374775496469399756722522636420753756156199272757331261918012787378497086364076376156905086934411128774830986145075021213335121401415565825737867803864430050132234574701793069692933989375072103509509314713475689710705390955211407562706714451745582611411128215674761120140066082059510575455021751098045824858027248357996610325572529632680718484114970623117401283659975199860337967602642020074024138039649635571549206327693996370709468083245769261225958631805731096908370549390111949262106684713997760729787769047248335683735175145787625520597007414318546288130085631621667825917788637896019873264956710919132175762708897699539637705602909714991961781833430043800323562345487534657547148458067346871169202196825825047297939090058500312926131776350273144176005572565336954132572288608913823921919849556110233188367753147372552236717210718174291073255861713352810277384059634881457019570992248330141679299028439745464101190096592127181942519749505841087528735944907546952563288043880717834119330549237408070302506270972698989706698483666041205365754026044808320708167559375339369092659506327100642318917216491654061023156880719349459569045395487362944771573016160962450433904134401081787833492748725668451480867048210249448314579471172590469672698957536875937851428931651057221152183652820692059631306078694013550446541987469869916496362998182999815242328800640544049995973391609013120845270433564927395135478537441937461891416199962609480496177588636559716101942146125508975610716385090298702024344067347106023907515329555384778798969569315971571853649839186305531518576960024563061483769292704587582381685360365931982057522932170745603530092891810315162813748257757399628719587041421008256208926344580112529534508671057990820589062432666178057956768602286065278378125781508986151746671341276701867431012378436134676169673760933687229181839245566805145811690396574484575925913401315552103612434497704881065724007175663169331712579769840464972243978256202633275697336808873171394178785867148288413968278632547936122719923926948577039141401630793302746824790215053677756168987871114852417381281822628396611480531594826564664057699245143922070391938448711419172945861619592187636140955697911431123724006933718336059410392492736029740071480743228263677151698873107178117773531124663378627536408357139118853477151300792768345837115297752475977068043725550399816732384324407087820027059077162240014143252808014585765455526758713070112727603309271596263005430078575805900083917055163127766009645505137529584552264492121649438704327050383270146993723760592079401997090374639749409109196026344114395975525484348992072726400379623132527253361647778711852012625705440652926926096796220703784642163521217457074566585797422530208149153510187281136158608276792474910952511465318518064485573464104244602597049146044038806921838848709172466312719320225827287238542627252202533235482438325692742990624515627419060246357780661481043753946851767518228160242823037506335047364720710064661563124718650052214093315746943434921140616758632979445820250894752671003982865392638448580952500263087815914463817303291739942266547950690994609246846658482170020727608154240145834403223683672061663705252524058898751249328981772502749516690488719889233951146386007225638213288287375069215277970456882856013714879225160969641182184672660627315319857018364363868053648839273321859281718552276131163318912892930672956759551153002727053250836468884891239530377134523867480113769126639342763448374564902965661085451837206887010925837217426626676887733447779859506940467866075973411990624445498007613732130330389446545908415414018102470731464094368486700576762414555019040315370909595870373067526325015124419755609205529275872383771539237982901705806738808803914512787488434478469131466933134132894455172298702566737928405892394749569728901155825058248359779056769474944822595854558110636517841434076068364521568731597479269537891488154554660188556670406021078924062917308354017940208716628011771820126525522056419269764298961940208760092510607871473359815553011208953391261751291687355209375127476038963966300017872845316838099074805098531357460288319537856269433463490171010886187731796937145532721097797466973811889403202315204232788501812059102796099418317594432509417924605271423484739766101624839619838859309739971411468989199219876960381521353948773111580693314247791788498578459378763699614196026573571491115373596587766054483992304596588133082193819474087055697842310783411419423953786056855551456988107149946080748084468758693769339935551165576L,
255405499690858757748509570463238440152934482545442017130536567157724607872627400759953857262189141377343002733861416215031079009163438683228803563159685780219861796437605033446280111007143311510491233199201433235273209751186669423017204962308174507124137270818617048392142730100658776992058779972211427334222070722282050236364425272867850965759676971288378877109764872596672350282918613092760909123728866060727870797139598703597378581792521146756695430495501275984338745078479266301560111776713472052065504681548645113573158493529400911900597457831108927395777272042267525948575891327396408921231242505326526219433975629211473223897284834054402171983024787695767694755215682026705687927068261627818650283192023167985355079790890450938881471143199574148323476101297551702137554548431407913121982730308942592445558539209318136611446139814208801524985759491540080726603815357080660777297621913288955720168943414120489721424245832407889899109752727825665447883279541400380736265021626737772097877764478754080652513227872250758202470640160521061646924930629272532441586204234785192853363889642845973303897619573148372601490286954678694619976379850709454970864462709690821383861443897223568174046158128163184437855794612958933403958033402828497844307250345483115776008591981122537979855547514034434299387851237377837497494179874312912381084707824370175513071895738728172860102903509380376910156481927956674561027687187496084429692902972291640450582324246635513117587773983882017925695035904606240485257367574547886844700112246628532510604331818230708321146509717792239323751503468787375506089955566689058597953523004603966330300326365404392290595986880330835549576091244615817511908934807257983824481999591338518946099527953192538508713013668099597875662141987987995219191057961318295789744812438330634330557948622210838621766467152634777112058657792698676268713998611315170428240473434723866118787881799634332489673521352462305543293180844743328899499788392857273807362081577729681877174832819776019774579371829197467216334865613237160732468605655186397204992512004970997153635748807866324009842490415754341068772503591908591959366659647003642803485087719245657435798426447109758934188114679098044387347554841859318428490237247756178106933045956341314219714171436500578938897383058336826215913708629577487988914749697601998938176910801263681480746074743214697285842647755381848748812400876580387301184143509120850627625038064947548959696072187946192260190668387868248459548375392721931524891463060645261940151673601384157047209415069601316800714269537016408047583667805367647643419539683923635219174901055345034031807903269699323073733367576746570626862709189084172894894331979401812797210896053371576697738860577834623706291221552474140603893306051153633367511532623083970586704295881202858514142560698504270434901180591036723840978656735004960013817637576104426739141996075856465345772348359235219845601402126985527257251187646479607557616942370295310626041041572951887646145420773170945897502999601367954146020920740820152182208393793249776426545173094291492897374062705546986768949059519086596069783302360550121592437559847133920445656660050805405683958207634429706028458701654023335708551340897401038094388747077879889420005786530885980063169969103806837513049099912303696123535860965675734627837199142599905562881088127625117971432743993185057945459602356218072896384519655657704687473031440288291568218961704694369656317402328925716881117737063693633084350219222194123442540631707845646647046106680686292469033057414696417142985648889438363565785525784499424807110428746934871083407939014980345391032494258626009922797711232410829597106958055058862085006001602396647913740892049768721172022518639104183433657211413952714300907081706436301748607610853029828777903657839765519604984570759984055005691614389897403820153655177238556383105379723812060050655112100310830651251916454260161197551274498320626374373688020386205705198855903066314145944917725123107686349535163282476657548837029172561117988328830281220214665758799045203491746003671355032597903702124032867537959630591570279522815003724390999886222214258404378652171323719281239404859572908305805163984387168481094848633678786220830712709954055596430090244549618924364426719493292192868121249602140102041643043388966149022912139175486296884723636156278769347165141031668635475666439251181583152418186489244490295002085902210958055923039010849738253471896293345212295827355954804086277178903788365500500740343580445441511202576190009301584373171526363968286948778361545125646739682958881663965275456752972630546827409904813435353538627804710340727967097741007088054522971329786666105557651497323975405469395917311337794136862434019665187789933587523959984387213949060145763944181821303195192431470033706332333801473193299136667039858305996154314353326057368534420189144498673945966089571267554698420933672520371093548931633121139614655534786001510162601473257109276048504862814020279827548325722473327994290763092223068146791800228010351481184673053179174425494825817926793057800786552724965394774626478662045914519553434943680387628357128405144186247046415141639843959362919228583563722250714772695073942278764866435353976564547085546332222127146172582991988755949342529876329360937029442436833238890818958872818629500757735761309975208768034952293899894377551397033921730926268696680772787678818767461736468096426167477730362708165935532764667439272515930178872238245659012645544669573764770734062863428477173034525745731457318551458511411204754866400520331647679361107658054037074516347302213849687140568446877844479565846924371395104325566565263291559521721634470895136166948979782954990432076847217501796646624539740769111883906795902501308324779691654369163720343075576705912269890557674624858802201347408187601593819677988960754586730976931963871012982667371800329272438754692251240716886339122452218844086680982382737445716838490283755856653652080836403086737559549659126554443515189651826353450399479025420074827100488073566652191835606641439233848269830830498061861120429852223325678866076057614225828365098227839343521834926014421724221250111123461329775853268432640106675747255314105032923895536317583245762011849730480825416910978921054931427667507899921875031929456228208732765607675253568494625142419727863825281484796928880293769403345920802672558132153709734175301838579904601088375242475236790860927638530440750520606398158410057048834920857122498885758243745917221L,
402970755737180173762108469163607483326830420238021877431522008589537743345290914047363045867112488920535322497566016091406459957509805268174165100298351466909467185261453633109655002601522784337160273422413486644438450342855310201673297000563067103110053365428341719702715879515582044112312632077663145039846954782645646732911685250944827961616781475634515894654505433864849788241546320386655386016147723704165809264995085855696740170679029667314125574668063573328836999335382095650989499031469111793225467259836671988730391242348389760460525141389258089347956073729054813961346112283569636866297053519465072759325314453812972582516999047576405345456183774931189948304394775476658309788273219041862416876609165905932313856931947440567379414529042073992241202722218895471661017472757895092222563681584350523993869113675928298450871927246665208207846768869055861837676266854192603088603583609040752412556096114451442945690827854365273728755003604165478446803282397387369679052754090817763880773333840065351557489842839830790621520055243348064927527085085541920269114352593553107764071796613333795956679128634779058712570021304209017944552283779557250415627165732063343007318410749407621755989371972431112629537616364125594103372626719232816525456703832348183617743367628335695516071570127234263557885219170906539437513407454577565146283281820286751861041180538441928796949548379723183148560418225417052043051067915060055598314424359608983431339231707368556525768933059443817343271221707980997408430183423805232752311739480979777396921955995112202788219198079347196551232426191798350768229429145899185683426615557060087920543546946957996430130320350711576532394327233237724915054484660089549818094640125139324047887561262867743332503377628781211236841632898804413620343405210673336993402679190551583634184280940881442588962622881178002213474395188890159887973557824809193438355810033383822417594342930254639865576197049498283766200676338280007959298308190310363937407392427148238555720098908153165948749585865438855462316877249645221248314511432801277075876594767612501985474494607096943730404548660006043804876650889644800622655598046460173138062393666771451315497039790727745121036986105439632792229143023679937249209153123835475751755779914534957789040520058631773117905922250014879857216822968822934510998379427937955584147208783133383904837665978677140508151767108266909250844772187202041699642595838162746761278318214664646822925910476296902989186865326574654458145744828183827730888055507489088817471852895023813646316255278779436900325809937935419517350752155889364642305994453478419162710206206313658058488264985165967268082238632343393552763257040255375741471514994578872542284800314265582477050799388081111919874644355172022393378303985303242688852522469490715001266014919871646809012621757934037965311062719728318948558998864267075062890182020487771704903360492770855128627846436212123104110892138694634575339383001859287984937803831540213492407959762182566680620174816660239744365523736472681015538191088599157104244805494445915403193281803442253515122305755837943372120486485124812920528084463171102473873932939693591365545575667918812844392069818998520075480863743292616733647864896700614858882788498088253417399710872327919301865736505298322105095669086228232113067039367532422793913916221314356186297459212382628450138638231677117155089774634518512292298882220053703323875308562349637786547128816576624673454093416725968143468293783749621466149873166981430493956555150130271202790052479916933801125796782042171703982413296652333140677426254299750396216371967631516717341762227232840179094177280101556611454481680455808258604456475445657829031073286850063292557837526657426901504386934321999842740106234210115490112423031661032699258286132715094698657703035891889902621333892102478419424825909735610140054775326314244308735534016752829121252857341657941490295119612880858364899330865487752734145468806847332212639181167943972200082390463379608912576021783320213947618516542489008761610088121555678913729226521577146337429449861474652648001487546647702586783138036070466202660797124916437867047317451653384232884471817032719649123926461676324260231728482811397895134774877594550455589681816489978080282759345252697835633348142603673524988185129490513225261047083660620389453328701654605377007192532268040141185185836275041096885225242502930941441313445739024488776495009538116356491308853020776670278903282295416128212140760260120875760330324924995165275292901328621978276803766045144599722660593763473980871841824020181947732373356815706341009878323535342701046225289815464459558655946032640534350333373912824704270466481278346311316293106345513228134306438799061981516092199133175635491636210316953100799237761956512763307393800986937473843696487242897292635475223343138777223220145033418179495615316166722775285842442809454862752516821362615546216921388279401921294442199518254228179864455504696943615747077485682916738373960142211345811850350191463427220525107426495094248221703639232480636427454128011228668417993011311794660875914918883268479937365945304469700227376543057466193409794087058083181738951083399136738333545337367053336801350689460777023221573949408675233638916078879036211938975727641239023828104858985952938357634639413019483847208828252753929992590303422405638993615355163289347206954307294747438668292393870738869923204687714961728973062725671419438547427659796585231398869840845876314682849955118617772379856537519103065122063833963558655622148468354274920971882017081754360977619969322541657615867387654394015278716151297722235794509661541652559385915790435645623739520453999447349526486240757472475210226224807054070616593644088702299615419786164198312505569096894610232010621362019904646967375299999018405632747915130104318464853718189096608386929483957988211005974678212308678997409186925920606827081523984791067463210883011823501965940620558247966949269538189668652846422258497816701141221384772385750708914739096196483416653108214860577555837215988303702887806646783608472038449615694246806036509295924784002289675719904949718815982166520574618827278732236225389982994146560871069386477781307979299507196128679634376092199665951649498478799868204228339803974869822936408806135072778334709965017021497033423213056326831060311193198008148661587896398717543015220216281305050949030268244731069595562416645014673683858099841242663061010151110040915569802572076045176148108396676260959577888436481578894L,
635723863806222145982171990193347985770262994454164967791537223079370869330227814039531366849389182272613927160707552601678098599781770742362474978029657767199440371447061148946257201860816900163322910995479827732966720098175681778234918652724883140462634990890398305311202372337229598105203373813206404343101157823619852567507001752938739087304768041026308814855163524272026780330323388086642415187475234271150506466648599727070329184687200109181320277467364314067041144662960001142420381901257548113199874153572726594674920051121530832936362063681676933744265464722440458516752893188725896052243410386385907007753903793290598555475520878525174441090634419333413945986848761702297538635569339448625584125761104893034829202497003904855477512777263449535161410420681442627870022076358282926604954453759117650423475763791911477303751269444294258218937684472487269026430357458825993559981742318646605152548370182059697448476274519709465312821300203072592587522198975945406987294139213101597017749272222829562056679784878344757251355750522181689618702948709603993130681135840438502877606550075493539616943139356042865438996104020426624159010901576956026148963468227094305968469588777089601998171092670375305902661289598545592034132057053070418463949249242056570921866222775273145509596659488282803830938883103048217094969253598545621345672155897841786654015820207454758136330990325208241290223750369033379746950332608157308352452294191182693774131739566309784534638778096510610830258702867471899415055354718723454653529764468280590985859220599141652367156304635589131325771273893317301740234045543142923223380313067345044036338638097384294012580374645192196425292155703701515494398039484074846879467165320244914569389595676043306716241992759114699342869855525996487590188623337359334612073206851584374080206367732700103528928876571581736682484229465768425804870147289279617722186295813122154218882549163237400631258266190477262983616165920959571156573555732541822623291833195260611574110717413984398181835343741404565124659882565639509288548402488447658741348049855687374453413794594284610820565008741575490911060346310950518198951195249841905226468434612475574093922343720553381944443316001911812444596908390398443371440887609969001914311875649917771386476017892010073174986991927835210893597641281919740454605618026008651960945644849769485385806678790415197784857689487465802106007741600137926556341191119842125898393794776104302459148675751202748593088655537561564064059396437883594969116990408748302846207184015029958772552294628131336104200252349976521849084282817253184198980057364948157644366583937556813963785556869649354003050745357846305966263894470200040245127919182089287193913752034657680895683850473209744947633645749025313845117070181264123063232273134124205907438847711669157726168249263506839026832493709468518678819060030408932896842162583918103817963650491997565983645812161898963182413903746804229769191028946835163925316409702281716794739111501971344271017555101922998981066546429163098621484091097824873863748646377603414359854885914961280697418312796002811588223262859890682937659108276454271837875762563148699454918234905721181441379268565500928987758148879671030077481206203929635317743377946264360802684434689224643738719668096271097978501437289384238395062394811879257243305920368852001248728682198083644515470926209794434003081779125677400438602577908649916871670671050504777866905851935416870840143466376976339863579265978393698613970254242326213271147483950632501758259313052742157857088622898093915682111334186093640352709514111603957071491232548385386163657595019240610369145478295215734521595769616589962436991895734005047921856337181061095393616687960314794970663776262272450146074472037094137475969068505422661809130181287270584288695599257873888907519986127387373537185150618904269043753753694048263308994111949989925478769776813822212249663414595675004880330155833406851990908458937178627728612832147789206059786277443106688846761956800575554558196144007246001814353055445598525838379849718609561774637888163912278430904751204302123244576694201594679529915383057922839250810097122823219342917208912786804705992424493691063649770288198961598740296223540805223512567430192088989982982097540796308615002576296376753023379995173263148692989671643611269766686712230160638567548618193566298597501545657826168128084798863650685314159368441816048091050415538832586564899347167301179229919221736025327150011842063815808280951067002116686168563264939459368074247053682308401080298340469571139193605700228486813659596310651330787360830062247749894139275794564482310520212289820425149327831922938784039611221704077821055784350303373210343447841765724733236093594716723285280865274859864254160651823646500345653803526773012969206102777613760670227973129660448441215526430210710680915721566413391226074471638394815343148525114705782562704878534835939978276111796798450599854255245137753395532165165636685376884814587274401930647984588744693542292460400109958921925070649032184244033684290478762906872301593969490975667010154240928197143342808307581511900086234368646580900894442561813858857262675131840570336099071797179214555105202973627186629610230099592209014454451610803300148589774042620724387534518638358333317600847699084230221451861758205489092017850481547198930676615155712604053119343460913076819178233881910655776470789271863853357209056346249481825132256126775067753093473900048628556029321077215752666542130868815841683712058543282900248597499588813909708930009040114670566175442816738946077737650635721241273930914179822943490519334106262180433410260516854025531449619778434237659374356985531076345485705565196906841426907875292741060998899432705518402207965673817336242827647194642523308089254031733099812392570807475595972874890267371052698183783320806878495263305862901817679854386519429180863449376203186593864032770894389257794909583487490066224257171570529949431134936577625154516334194255878160529439374562981759353204085031700087256405857176518255802391063902655611973342740387779642733623640136038948694566980310826824377732772338933542052488838874489466848345934775498082081747263190107708329332532679611343690889637394156468890342639909545291895790376388700692196726287381709924850778175981440685461872757755858098470063048799682831490181731507231157432245988378466294232797544296349207026892153335744489399870767100682709597337815985323495352534995437247871536240368297805747524209928123665160247L,
1002802072779241705236140195383174469354120798956947249803747790956806163115573241678923845758837157490935471597455180425981088802459149719507785156131337243876879240995233611887486088173843077663584233132685082592539761184457591073440314248969046612154702249099731462920950673193895220463195967741196099898904114110654646500183485957606006833130700883325883077307684101798964312573413988622204334603743399586886536202603241051137036522161328981034796047086863907909056455957181867083221551657939450461379598382891273706865882220485412869468280316157183270199048516499844633115369962076119604726568543626315477653308959455910423484215011835562859525515878374538028367717699676751077114252134882206508446533664853497187005690788764985852882560209703496573942014431180817245405586893577302486170462353068806325378212936504476406813143065107998694553114146139675520121090720617440148074382080923708044664205445174015249763934890144366868941679218179156304374768650858866439820635917993590117700359267573813133046715301601031254629302325609132916839331623486695781877653401892762308718787514039620776932110188288582219227560287463203391096093749790625474617639403923669192945836267708797088002707274037404906218968990521727556852733196546829527131663376386417605703123642638758521052478406948553219134985430700814715075553631728517571005620116761092744811191922291225635779527963805297497032920468555317445142026862143338695634199652190329406784099915755334890979770129789710197455678357628225355651957197787169657971352188643785158775453437186677828589549291195132288543313158150436571432507017100167630490127502252879421150907078958900574466098003676896729649842659752611229830732344713721573569606020331666767745015955321952739575009141683980715071691791424399129345389219632187793480458532939321480204237679259000588968691673314997861887188486851440413809349354963564190982222151840352464442096128746427105360583035351782299729965762173585002643742043448260019684341732382503976724753992875144884471140757989222110243196758099511622177940211357821861576561661424533616904420181771064665678728595421241574289431298374533235496749023554921133030956164648098044869564256037557106823153911921738584077091418803536419546832750857790794384673152576020635273045162747292908252480206864669675684498878905843159022431933087152946998901824129865588400054842945373851417919316878042880868654992644845357943842145683938142583631122455869860131961027705939525130266854952369970058129642340086573550089471601234075477582733745997309767513808278480743774761974338286656964619100012947597562535338390322726935308970072624893692903707464350164311390503779023922728128618405028321068257545392853707394394998514455344903843192342769703889847201010736241876493099997920872763208741024898805748100045444863577119852648064445614772013810859422110184776197106023638922840628316650671976235919984298664013998224933144395944479810498065009754598159706528884574158251948503037372619900709068924664245650668573285446260097796351053777829466305606446802471667771452931464068614674999630500850638872466413906564943266675264433858635425442771777259573556767249122252588799993389748712675122792201400868985190900709957176218899978592231989413693096729220598286590284553073442167809714468702324407048813110211191086311288219302660078792763358831218688782135126501718881449377970955599219564209124695312398491790864049970709217453256190076562008349109965534373758054900095922212304966005153308277272066713638545415299441163918198033110248909981658176814820895250278808348249708655224455379193010357546574382920762892843844609225632438086990412406214369628914476279245225310516643355194099746540995223512895376766606689902693132194573092389747490330266025979358761372600514852050558310479045712249736557404128820921578237350567128852779868178361189263823416206276051446940366592456698376858785949552141165796142505523511024523567812182894763360429317296489925534618940759566485801763946457375135387033020543639002519871259474185922209494135199760392503331091075853045772023662925762521095623733283806054244868557616484210889824438023706019666358891690899489877007459901558350980661148475677382752655700508128496506997525732449493207251417855945161401608485121056858935046868584022720884100784596269228311763891031400633234008088841283594156043145024530124771595139960117232245555171124508820974586875419175416504764781055365456038722009734866418482111968811345970524449785701404766263089559346184016144550368286225271710030115640495014121226749035055390013117407089075796408767068063356987641734962886589223696074852883457223022673125803552436417769168070804997721887064204637429675339270289928158372473396494998996364662719836554498577543696041814203615575924841086947892087381828405139933019104752736251735529691476584649687843977211532488517302947040147649083425222736947988978362491062063098402538515509091625175743651118371712243082169622557606729795341271576404283168020118355537337816894013504716403607399167559704315867176779692110329200527008497928066177502846178379482356353454712560340503935725697908624046084068346001463741970887490371144555016751826505650511657559087833817489832821622754866607931500986428897709496681876726176513219201951440836984985368447394926101663686148520926489035724993009016106656326434063971602433830841956710002513999952029051985114647581284442613365133305388789379931403550261928678449933934908347851188210370755919133931294949716521147615407581853512257701535535344521007075292345004902323053283883186603018538610357886523852583922130082962331947584669004239360174315119340801877788970455028624720874142333390699646884398802394086370010535269550123415045916044618016880217000915511903866273431187162281279922966283694633963939980343484245138798525833825462390447182878826028269967443964488442048240585161135278716273870051440139757462801350457283198395832802803408064384358153623509255624823130849752662551209170370095558439462660104236395036867151969631729047586813859923143248847847429259057279962429151942734037942419648508984143525504459986237402544970388988723820094249641204913890203533361022257127351696467762880206815376965898653212528576047117261692994518228054645803227434477072960212142563263159158677975240144035838568714921988789804140194028521655800210186402442060555856483171523672863200302166343688520629375549388906782173371713970714721137701096089669096720401130283103758821165404154051119862258823378014953854714442L,
1581661999761731499375907517067927957844202236822731218636164508563013221117433927822861197924655804514176643517926599466105381930558245270592735420904029518899883077235582682165257880237038264090783664986717052756680770112886063153287301778846992270597356289502303644764719030852520613403905358594269072188000046426291432187377719281931935955142966438134143136373974137409390937634110357885749242723952633081291096706663992430236548699403238274209707731816836711306426622030177448041410939473743842082664135227843693580824137636116074904004089445215634645452466413197660351934037485568531570333136366761095924395964714858162631908606251366201440817920652640210684341768338994130683424256311605282111179594093364624254342421966649812668293456370705939991491174782357169201016703915976077861789911543098398606550307393629243020355677929168040599210148455433186465181356847974736381914482784608882051638719576951861998378519073060862738812717831279661992920976116830390577329223330083197954255745636301393889632445955439167026429376732132998416338559420692749326719551406766818254135415927078782247100157843091455972567446722046059074563314429711165059631222364767672543003951094102708956697377244815866070815203741916332881152775222548379535995791913434718234380191720185452776003206329640264848240002278249051437985073399309176109205882927044280818338160877575462980455119752557308145181853994300472436898353457902212577363028080116087435983951787953326723401505497026283928241228469452809652182686761113604012905601574384681771712453939337948683350063559884340522562188120712296678592620357249179855300298850618624603784724691742527309411056835680023222135106997465566266300225620762926335533312814749024701945088766337311542372285708641402974390446812301088515878684398252568912445109093030913035778978758242281699949089675524222947219293693897629951779572976290900649001205263260899498171495025406267200289257354855411065748783744254162880750095827511636719161558287536056936288658841656653881886803492466530620693694619501713411563623898866588616750074376134533629618631945731778554916067820400102647509341747535914351972602000823092459888023068231304368985480700113411349808649380541156303652262604877314182484260670396968814491537919905134165527196410260254333032023518952823126780531035737990265347544843515393894988135864797830409754652030317023211464484107303857032439559997055574093280220631910958583888425070970066072519567334484015060454850825929404065370857485242068904843867573320874635052103162658152096402915433251425015695894723489894452307347391428090895588996105099304237391877542577131759999469643711125599199429288155844419001126585795201700555524396211176525941526264310661543425882674498601071345156721707430802509689268055050956019550907812180409655801841958186010134755120637480508969404503586884501134221295042432856502361671322139822620053737949021153950987879051077070973678131389750702580242000206051315714841251786858331180644439162263775197902708577334722432329592702274917226800369340943180708140331941046156849531687737065265454817524656917213629664300688802425246679001868318834132003283915988371584191752985137878940921799409353327399972019805101952501306147843652830925871372737602288890599755379306965204800775772980874297376395667171660119653906236139908011284067886099315966999117962835447035009611990031604163708419151722401465725500782188360041476549899522039223506572412109965435481644195607850182031844592430958913468375883064219192933899975178015074754089456659478223674700310198465013253207466376445734308691953562995730452904052818525320760372630073513753590481770557824863377217582707709730756207566288105957547190955912787293545596014906052477973763912309989607420775507082904037713882395071725876793702549360735806698251029439305506250073107665767808052303032891923178393000219512291796548341827884741826897951879417962012881171078073847646351152681698814382612027292572956222341652191939289438398847141003717964851113096424764000887505789842943638471676945305822711830464746496505717832421376295793584257220249234609118256328494468364934466377069332241323644988544391066088136754759521577532616138487845655235834903832103361792171999062861804980387334346865000692013985320481736466773058929813515936526690645328463445780093762286429897413129531305688382483618549557990445674841020651837962354358513556463480436609934316458760293201639201549061629986397864761831623520451925953130011622098905609734229906230824868090855513462684512113667443930981381771019521266915189018624047401819785258794571454693843133817794572078729147537611843846611158918917762805626465386518254894372994829034822219841446479086576975280296168763728537999387356496454113653851928167635160024638544033143256036291065282524044616091056309414268867785346383493182340796317136411255839142255983180434759601573915491407324686161556933138336050944419767327653271188662348296881099870342632523824508322719810282386933059102910591014759813122273741816999343906704718733547459237985314763952633663476079454459796977854779616885610891998802822522158296327859916128561780712588925889788275730687809170642948857787988098020428937916033557049931964193304614546915002697516699524123925443635327346811477847636840343474841584258299718566099011687260792130011661362124016556980608326276095561046946948458231091506862469861187850927286474374674826788983216912488600692499767513344662103538059684622086110899421176487469691753280192815818991039640514423303684298311909676556893397412852285273531117466341292759404632942891376847716999905134505882767812014479986016906149172027181911288406669407679703058585612397892587937718225667294136157152821739614829723742325028480150629993119999816913895064591241156764062169504487513717797033823651023841210148003655898347209393048229481284797721572583897935487833004178878996057947733276530894792528109796768981831975607928817072851536141166970754961053307752256120527383726228001578927930314947672927474922232549607753621056224828467098638512043196800285140377346745956835872340089748164337653903769258688775630930503182750659548862177487098081610207920114553853972574304738561097554502402211973426037565962515184273887812253387557910635431195820806433720639940289529258674115560029029361123230197221918004486021464392932218685000459864220714176269667298407758694252120702140276483298631226515150037866908227816551540594452998294426852283522821695922122383753369625811522040141800458203208398152L,
2494387444976349709286225812513696920340082983196003005577642806334705101307586688830113443559365313627559564295695775109639686770169353023427947295156650020064141566089127980067785891381472105676126025860298319783194602258965612853081329055156956769354317485975267705575047341802583705328294661536455698859937561356996218253467181805376080779168961501514815551280687294851151639659601932346751279277585545875251725885483115274325242709712230253527580742257229813614208905080115005917768931053774554506512025256257760843341093787503361503752717500483804377527384459534826176801209596968646261911515061378673149619963165725193938784451950031328757157372669301743500422768470590124060646890025404352987497204756514488016980535588690165711017946010891768794691521975077508127221135005095682316100860366677083873151350729108562955467586020602063498468821746655002649711476088316321525468576030467489095634191640576732349963634512270960842139475725369028619657769520475776790293458896719111866228918549223198031114130896879265929206924906867095722811915456394896465988214181057058482560259170286237988464931196972915307108840569207316035946089438496544970641106070279492390615816359133288783963793395903142940203322891497223319850238368212946190008871587900910235955003549604345027713516343434972694068673867848822625478664084289388188334393232121831631204665179338207400944409573700078556970386568914105683378334182751074993511413840582366344172524905143877459313830321224445431595663877928581470466540023340571064305603898265835197127150844677663304626390290844382224648675273238724339797677712840895184748976386192855681951664060556086239572842841804477477778881727012975330788784767147893787590724367415726899334682878790776325656464490886185819980148750901521367285765436240316920944338616727286871578135089508569584549827219107236809361273959928768079754260739940271551358793245915374848654031926499521582027475917327551607631021919920156962436413784753424453611430170045113076425539380736264204937066473527556800578818431796904422923884811381515120510468340904708106606899081061314996234130573450126493807442410181519353814373680226729506189507577660348557020956427424173258638955824147944191871589425880637398623063648678651650531587582581510203467359612923536825330651899959381989529152442559825813844022634424929499112801183698544377821439349407339897112595193809219556895573162083214473180050662906344202554979360753647701422341689856079208174292876891974817562304146638849445142163744926515300213828158028870816343985734628428328382693808183480034769076002831042781754170739342824996106691250815999516978717594263334336682831043332119716162592166673113881363512686938395965148675334306668660871646717874604297347179581184120943074870055076203691451438565650268826957795662554675701750798576003227224553829344417956647462990736860671621247897674309858972688077854485775324177556497983576681569057544591216650339365309366144721772409947116195528267034697152503234862718779709490403656872389104317802665027279221988123431526477366143394914664997733809843056680653242928540780599453495241690663558926777616624087346859700606387846701661627047357162351608872365960608110207757608954054098193555655220277364991435896941253279338542901367874724796507841678511603241222266911441823236795479931425555009318738681987571610360401827825338305712229397581783820742306822490641076380360594190849473116854985938077218506335245944769921384056626392457400258475873240002276557215255909551579873766492854978285560787902003801136600122446522335883577753904914091369191673965853045866354810939031756541401962286132510344388887633778570779144889462471464116499438462877896727453823659524973090862228656155266562714082785877175054453288660005836542205804717662160793964267233964340499008235480993332329010431724632446467148196956215039808151964156192682959982556544906557036670336719239387313164178159883803082132428527616433568962809876015850098291869826546624297558543135923490560740411156769226001963991237673290994303095253709877243172578415827335794068576747030332614648261561341401873683634558427680529628356247455012990469357410123209734626498628031243450405223189361127582606636801871961008808081392766941916416545503564096906712242166897223827963548888357935622335003828700299945155537778271389349447093687436928478888041717044673904665808153921094332304807764549465295663042209456251656372594378497714656322733405469163282671983858150054338230604710810421391912610668968552446027568546424008836034807764748655789221711369323245168856234085687150257942979392863936631188302284676128392941304504894326972624902597522668654940002587727334254735210416377258113560023949105401681621741993349859151225897592269166040844842775067092939088239661384057314955093580198228670269882236322081457194298057637559605042397803927403693757725569528518016479944328070969275528511128197954792614440037200122993250009713294870347781006087480890939839356683656375408287596167174269706827734849198360464794142432668378586776286152317600547088680831549040105531675678907933004614061368458165738813199993181919569496697053200015580228532321449131711437058450303597189926316143379528740791168372366845967031276810691916460716928365715674302933192091371640473196254473356769131340591858312820807694252097267627152881248209475668652211381501898374847851445904886736081378741654691278347190535737289386651790744168492987558208694463879159119849961577348623144154959280992774694342987652223926623448126417892767806203397975430793395607684402865455479470414361323080478308978808740483031387075231902597805145430101293685244287258974456869402652894024798572089089464806048982666579133120559657665431704797612329419144121482139452516557736064197105256646700277199923432705375019109925407606207677078786245539585562222283658120749555671526192628507420932432678600518742790763787169374847423711857970652199859204849498914448930810212983331330044323841831451169419536135830250058941147502154962508347793358269875795549506711760466702236277077900067401418354844099791687870428295238582813121051758417251478798160897243365402283138865704848149483350675186500562782984296785013529599911013727255805860906998175561166738835691250358441020159320367798079652242491981608542796681532226554535670565671437265436681875458700196230396418956537637697025453368564070292104704163150223861675245546237843604300261173328809078690466832180882629395787802963145523527691976697444017783396959507664242L,
3933380329701221025510880799849390416012138184062949032314693252891382655382800772971896459764770563548832633268242962502392525831547173505306454486054312198424828308164105765038609771657493745598338092836285275013150779254205331462927011327524410407084032240636175045819525397914018052356150787451357539369858811705445590332405723072788015335705415873888149024382350003592026044543502541527640722350469100217268980152834021573886300991019046613347758298610551258878634969904315484447180642635203234342591261405808605425388475506468076223356821244104069596376515228688573029583429295311868540286996842413087792498305043202001661346065627974819592187719328655994737529294985400198021106323758275814603962706263112017192956199994358343095987113858214619409130095848673019503424056801703559381060990137676462919531558167204121749574379165084212890456484604519096643390300637082061018920333114068199755831627617043818523213455030852820985308050752737457115843067807574982863597654401769230740470502921142770351789604407862658715561681068186648153575472251018803141856252763514533064020143494883211003978017494502636551027180107738590652971654738286926623921953311224786714817540740073161981553026595684761217931927581280183549404748925005277174320581271452536557825145252751565663524519713474875507040244530532372526152451205159903291595332855194110299238116238201281919636542016605036239968118240167962854977428965398805804519994649516171566681455643421442302420394225751547816094584476640668233260266032393694280867428377238020799192570309787246648420187297655642398828005829529047619868793351680137031063207540933346352058940281784308094424448973713180158253478750800757629793606203401654244354483939381649666237899702398372165118465671174060634318306744846054124975517933886763998009927028098429847122281441267078149667135148886316872778176361550706723795179087350315463736083000396619710588567058697050167287668581188096271427771845718672744983315108475519387325766356542360780049104987504234723795371246078438520829636634986852548575324927569753639652913857393265783714397355093689248335934644278407485868705886737565925453218465557122599921987583179638562904418800418213561690636359466811296245763770026952307912411237764239268548688289891405692614987888581912937466457160823967389299432780408560465272099223696622030617966620305528642742895961258512307169865324611236721877479947484494849237606327844894443958821518494598859415808173205189412671591799393509236372719489461561398728519100128483246874650328197110845321307942051199804248775193385088481383925418734793495833721629863336182370143836728756925367293237326388977644217916590394812450432496637923041350944087464105915161394382274533651626079159495941450792736732546167628883600660680387313318266713075515224404523098804345685861603161990176288467135822327155312267706243687831457900622926955687984303524424593542229856257373854285430788009756626899146740437871079396105443273856183863451744481305603332863946509040356003769563286665952535980236091771468794844597624808536400825255637333176699300317492610869369762412506679533891648134804272242104716026616485524259192319875450077524877423434051840344256564906555602036145430097288678827861453775940962623036965723537186853486573346355374397328817483316630036141906736901729554140763753610209080124097410194445323374488397774776418342913551917923106253304957118372254406686217061795100266966234178184643170068182269670411954511237459056752309435226838297881293019197397891023417837202470617898017967880989800778945853938630983832526897227690105624053776532021406907868707905220378705856006751209698886822410730789276180457697655640887363591383094458609008307742626191925747889762020054410525060303679491061760315134594383307519819971754590465756941510311028674804072948349453888107188698617577856130253101442895025875518207266351048744242504365111058042521132234907129447020941093856809888696453943018664333095372545139409077049865066372593727042598226104707818502785204656835448323426612984732114537483041835583339418151954602037531716447688379534430054562856177739140639942161368717996196226668804039189559759035763224438395769108261897433395367619518620985930032285380957736278706037307556098704993812744446062280838520338652635333574884802797368624779459415939990686452792323639771750646991869059052331368290726170730406559359255315430337031198545903189973802347884168413038606453123248372509549916720487894186931795962492102644740978719592487957831058733201820793310036113167517125676540952369070237578334849611961408093333301906502199612675581963119453369996926896108871504442906757873857220991215493605198392790287311239181515141826392567533823436532820134477112105869593471247842605577091361443194040301934379371017445160996740044036782182213051689755398405599227109832009568838979768294146166638955066394842554967737404718608764023711384772511598375543889695619635072579913675190432420037803301818607108257356920105102575402575258549525268737659104221510590422279203251804057347317320597717187466729366725332898163623819336138150181854536333143335240438296566529541322951701255480940945623040154721839038917474787396620318054840766678933501200388155801700314312662905200135358973454823761834066767471508070151587039151595837971633952065871057754944687123311784757082858352528308237772772903544971353372253789057112678019523231878696053038858560542014035990111739351347977872462204690183307991744055646167612567187678302703269880361916411582227427333227312145208736914375607805475472961728858436250082980108060787781562577747791309630179654982682244282523323551487036723183443087055048097219495686540080251369341371987402459882207715887693661119923250508509305896359843248274559213127220747467054780757590699662071910600419288966088335033462275073796966226436824707493202263615665127753720597352321705429523848912427030891960220083177104340834490417787599715223050676218173606568031840593884272778389396518717359323681413953661262869958738057960599277288881292195376029548638518863605000852247569999397531142024961600743190804654003095351305535114080311008067436330531054418842504022749688909784467409868596621704972967095341406250883721802362271829632212489657793990670935243858262087380623364573121153290576398647846434722066084419669910448577910494709382680400288473969518651194885854949591371974369448023381832023747330892086822826956323687759132383284931513960764741483390275633495850742638310077578627059688121858746L,
6201829098432130331244934285750401550583619278083811414769842186398132873131269337372030529851266581563582035122824909165149540878374901727325444932215843033782244262330745429515512345111849213540823582131682449740535336136354617780605443697619755986301578353695192049335231997165254911953881703938770399175744161129930759008471179677033007065990340722582397822537392544257587171857893857366554879497357774477932787579168181592346532694705567955408610249171835762980554954246314517571079118402168304771942399299866929107681990571501917165125189012201235021714624242235778082499484253801806421017356213415190750961702350795050078772270681231765503431683307160304794839516547632509798272824010569550077062327054359084902817523609066805561116350547763656822923800110154913478402434374631217140788557385975662648174069166981016681340944631167545053924740241426303327331895817741535779429646794921318304616730939113471577190572460244904703010205708916540519815057730360869771658600523199314543453852441348443402874964686574476012054849899147490489056796800269736992929465037294040083350044803243163744252306282573982379558297363859173567419786164447580076801636489754961490124497716148694653356491508097208277554808846256135254599753212191063262824550422744585939034983759605948533529291273074353724841880176855046050020297489644110063002787566411530684179582829971423917518559784539543225341911276526493211632038463261173612411829240818031483365684389036424653841019063188951323625345387738456362046146285019869547199912662829736533126639850738486451067615801005033546032448999344200996614499407340648678561217309260249696001986061608205999629063509565706118294929286259741114656003168708854902026905296473402029088620862139887659943844616303364078700578134023690950441483168474401721097140612670959366902683915515148783465859640586456733397075026887665110929744431482942665144934049915767298942658507080343345095789247145019070880878690174362977928156589936244533124003244575305570233781266606805856165066653813550332061428062068638200002035744770106392026579488257449761071701907143274233636613929785933506616834987109016511325567590381612096840582633801196772675961089299708540638156068116626210602754296548345296154504684111683633361765993450176355318847575761466810191326281111824868566930727564448959758173032950140608597695792600289568570803422997468666043712297952407283428582869807511152351302009123248261821785874302738045773815172217169475496592987263221850520511420549226490471935576976785796849496045727872068322192825801635803434129155247654079514309676305386973490119970824241267477148940537680186983995881570252403031853985879881894249420541475021903101875903365479516441480377048943350423665683734840798584799043147797701561506842838496642170321278197830574752125083878261289857185038430387714941781830502454425966584377264225856178866038044023764359091692768344442003116015580397225441169803679362214304681821287024796952024546552871984014974805622750155474305049683856586281321000531762172675724015041408605778269559293533427108786434702190565352111045743593121952565221709257016906846117818346729038341132381760189671225710174947276845766664114237096774033026881836241659592550940823063985390644639611480397008522452636567201994228452637204177439429546345422295375235801759657446816617815362938315567781268894647328167608708291282861229755347724910934338134190953435858925877951718607514405364588953857684384035510227534131863154655032081196251693839357199057428116970914719317269658029073418222402602664176966779191254745162333272846511647298619966304262202743383842617436436622648640160103606612124123617725944870799804089195946243710489177883981137414882763247106242915910489835376963167936803653722157014775214911297662312584274425895436772681257682674113315743197616738292508553623347603899526171111368181348990574571932329202320484421071553691790004686609335139675166048434937112140621044870164196366113866355843067349557344456726264846056634020219955290656085422547260474845661599102601726244152171337321053256446527267769197657841649192322684271583803510615620518315446002363741495947037734101887323867952649616834997084812487187282225836386895064937196037966268739482741843722006980188137036044017665101576046575248738200026880126193454597462824891579383372579706069293891734590555241294657312925841495417986989516395435493985150349055898924544854290052466598452448922358117110992726333488642105078532014485102389650108546166359881650799503880339546944672758645301509830951368061346558578957875345696781598479041770486951283738534998134929018632266004164244575668334198510333944765594598103430658702930557887510724045948261929598067989315620174885570568595723042075149546380983786581316842065714607122951779513894381450609494103235768537292494063637048910077971554487742490009419585614599752284718070487273818823754061824921465681102030529057758415564381589668760188269864942672081694634174237889043591275470900809609565057840133390539469969847142157022289730913332781367553100230067604500490391511687807024201695958369552607611654268235057357338362907240271952728553643885464999860770706984997488217829364847752569098812328196993759432013825172999360287002866843896899278761483415110125494675554248637074744759153492826865138953930024052222060660768578451423991793184754052906829303689524318456754351992560459071346470977278287498037022535286800670892017635929595078418023666750580668646047971811875721276258812832083445259865255412425711450228971064715639230212056038010055309867340860397789301348957037175828251734527635380713489659673483135266934048653408780458878491196803752698085223507180798587524148844786029497542826726075399786441389918609445898417613830943597465392486866625509066970984558550930382652187139510182315212763837345630819229306007473022097983901192772637280346636715492674761136790575730055930129619687506113247273943549636926155481579621585661859017637310888659839206467312151178149490998642543387800736880242228044589844434348297740079907003774795468261058982651393409794923221670540319503040064370878144119654907356357776235942878069338348911336611393209832274574927352140505963996585032460112176366973218286126825547370638224955462710819650158276948664869879495543260354977027461847315735831388008882933155254938057564680115083557657841336479346569615647036433786069911990940923653155085978327459504168609416345770916287793892587872466873460447060690174412788807947552313935493531925362910L,
9777447549213855564245070698455470726379116645690071865518022479182175114298317689308855090784269323507477727494850518956616153294967066774588822671153051895839517407419402059044329563947347558063758161621498426273021470369826401168937425444249942585946704134439720897591979467124142202101498505535667877494238013003472428033069940373812579579750207740243605367242394294640244654480261310824660721306588382586918498565136602883608173697920602596772004893283140352902905215701753679630263803425373595790383641307303840591200119701937383656757203773947031444006868357406606562169055937469783863370595041780187220235208771897259489682905616868424359884900025865556544739750959835197402072985396842402043473232042019170683730742408481908083090072807493368391999805904747460897029949766675508631417295016470786047188043856507732375485980956363187329784217830968311578629830460397160702943345189173856524734891911973241916390343412279021179864541254548396338227271112212495340421312671419562758187238824926875179612116256218267739602732601729997368073550662639146333248530205559323855425401020845330192112561730535068363147723791217574101615056303801300033338922447498340938491347502121428133676585282164103215174091129968157727627253642527383847217572807531079418950231639730138470282594468094175965033656286332596540481055736515791392982817584626433979435205758829082857122619892140755987202840100585940908034557594300441855016101084968946386873536546153832158557944631134039810093537325992814664577322332954264686786052357227386187797682600930861466437507870209132922512975983341465667650683612744856037947396740527382696442867280289493536790891776766555927068018247739446439196817683327876523709389186871089309506658899236147773930197967343187004430494308615659394222808496766056864679837109321726593493155608960255303098563936932393689011445074352424889346667610143826588167574473123029965555533551180148658340209911169922872497033191956979596678249617814674875817886526602755953690502700327233343376797674685825191160343116694995271845021835299855558573729056927933491918884706862179874853497125167864878453492157022859962672408791174618683619703075452426606905689383878189234516359242480685519898773820416059046926715130580527491542604479711937930009478940864656828987380427579167874149116807116993787253728112657806080663033095275794000325109945771356532983722529646741147015463080602040748623274919463835869058151858051297990434344471188394347917489175703630963225449662683053512477851215830038157546340967088414834375886707508901745935240246358707300013270483230875911547772839122311103343185183210575969042412405404171993507576448153081878697434030649032810078848737987930264487468623695320015269583479623773842323495178607284663171801920984175396611638914808658603283809268551796933832418353654918887530295150855786982674884161859476624996723798694105761403371010038781488912216058916075418501103841798953345777921325565060863944064152329713064176611528304795987083165404107766175908217494498549623365018375027182186072207873567778674829025875382321518708017038702801800602249047953310276193216457174692425922822731398413565990767104405749842641199265931250949107468875059505519974755761600490512831175794839991026958041019096611285588017282679162336435399890894866950546436928857482268864729505903457037956543326083055744555163492930137776542819524702778745467785847816070789152152881908611389190857844422171153287068975380142724857925844572557315772045100282202069104831025441807056136414408942039687055868145831119905573149400479245181133188363910517962257748206396425609045104880821176078073158524719998687845463732042487399965013107021276972602716087820538845067588444367408869879214225530954875947551370947037051473326265278220088277946926396284770111083747616278297948188849055296262051423911004452896887159740199906687038826132287726964058697260218236788599300553560232955778691642889882241449929545830025416339372452867223087251248879510888126029630227037243183848926857476975740047881563310367567975738893235337702937875929523392838628221711905861226751720288802912876025232606315084202044684016841585542652344498169226823977287635087430855040928942439349386011420469784786492842325446634935393294910043659448468682702370919973563099512249866030641426628936236956609857098574348863381637024192527976949934936538747844636197725368155196104028909934654833408153619494170440524599616633738587000825970663885860383521488288811439232190050966183301997030648901795044240466234930046522994849633087430093517124976637088967009827081277565283170021701143109330880041984801903782298075225398677250886086526304678211422544205783943678671886048675459585415420143084357140697125908736325651578787314244651893005813294125479661157644559282961372320841691950841362936917942428213966828283273757233646499622416020827185490560522726218275094230364123507778351914367229466588744475791690096090274272118096471852257251904719960109696278024397501679457175545315153089359663474092114050717720567405294139219720211701825358654312739482895968891375465056421235468762313517361587099100877927743434579142488559904093500868552736407000813896752059270260002707623126706054916453933655108960394901456616648556330877100115690967396624098846550652073953261604667244991933252178622520487382359915642088807687887437122741007993746080405780687208275319497529492328663283979670185018438142352827796372421105965785538333192835583235276960109756902351098810479428712590115412703657952770915967129580695664091996607144342243242133380520303294820088711773849420978033919375973370431927423706947445933258368284728135339943578766707159298387089141145222727797206293927950384998192562295728852259897020993125105464447925431870199127066013797990194432374446185898818223760628998243414786120379515142565669833993414911714066984588289457079767374094510350645355588762043919541517643188264512375095214745578467823147986632045861267715568521379380747365709866339190083572288524585341657225406451891037282893719707570241372159364252338563573038610999667108276026419638238132821894214265977774249708840824681913364698107081223317866122632254026617794690116718956789160820213596343771405938906384397014538948831743640738201110289353658101022057274464383261206918650114785247922376290077359493975870257376201553288438293975971181140034909981200783872534342461657797959732225679436872373658404443980115921708834079844259238591257810655556464736705916239703665813697754825267849L,
15412854114833533479914230110070793638329120783937438882911896375503678693074583316744089356229353410204278094905604047006828745509331487827317093307285328480971877552031532447634517043899146668024546791351516195356086970921816149336089388140409084498445024293609166417455184165038926778338124066729301844665881508653219676440876204953370778462363615598614794394862827788506561344466371496864800398889674968917832212905577469238021990226531268247904684871242332904174349993544074081017107791503359104119293059681580513525633558574709930423369719836271620651934317381811576359739126579119023240723495436727174479764601708707655063050215723547108676349945719345059964745611279918728658476958753767487821677754805702049599320607262142749606162929862534729191632471136457752826452671839122232353490008269096599819146881792172286221217218408545481817215097312447647352456745205804114874359743111409087681990842950936465661656118938769588432459716264746691258215984854826262792606263986226615397020641614916342899686577777645078483549156911332800800099615369339735246619228918000008391912774651826256026233804820157793869715273767328433530518499290229931579465384944713444936863637968474034317582193887282599666477332461058120100333746365813529439922870890396284594535887845769411324210019955677062398144102070569477452254787604566425117743004125957654366917683264670097778488114084893390930931785275659730068411878823293795975305213786750053287724422634329737474665401004344163467272344635877172795134163564785657679632849652085479465093136591902852560675822045672523594155581849317582339278278188763293949250580244632367260390525567205103371310373775291205105089239203802143329764394584890247839504832023751806065401362387869935522976455384685367115428343225087643501667389630148164255971118356474988309190299566075639569863421517149912485403482036089298359449492115325303029546059013447697793630213124862261229232203567290826527812850689574109418923041724686071315548220918491100146944519886746116974827865770876125703910336934793985645160218209232530197649594354936496615590547544975644763414930305178713431624951082603896532211084470451197629288707981719073252593410928127034657380420752233777801838703255304815738465055499849824626029440954354943008721022828770742496690591444889594552530221111850962115142264493287682675585373000515779037027266526763011645336742005556880022133183295848765658013954214896826403717487662306264753058592882040892229679302208429799538506576663637999694937414639709659395568995350644750486718912774603252124866496465733525205383790521521923345905136213318244209400454767885835648458997537342865962386429859298048175881489406076619373874653738959303237038531521972759446491886772290963802680940041731606698387256900524957252589563601671692322129497438522752037903617341739041281815918142090406939737225130041181686488038319481043050992996804981902717661309954356316239239913004381032889010819099101344033825456528221274369687901644072825436172048752676632649210306075598458448058511604390563532328271419004565687520174248162156878018292504238150224150689100243139432676460442702304251585581098424932632813410409295940226726260339405720736301043373348895050517198334088394473319807229306464119266489039574560123725620772109039022212929188554420833594171824932305664374005020822222389556707604657613602457443087723568456963383284123116571386002202798994405938834596089247431195596857377513301568102835370772881433952813125336906617971740828083932891125126590505689250111214089346051321091175073409247612441695030276260564530356380686675491873336407748587210485966099998526732024138191794377025931448672822987273453447609917781632611906749466099814060466547874982057796775445700919095010060754436295136398906487223737463979396171275638868480814168364303521295760624251250515326385616161829701488694879993065165553214037396180286830126892892186644368400188109407255495500739010410680587113020156847703346549336691571723111624211493720417260436313746374316338321579859645365121982690425287423712393895374106497435895416328380075189745781531784935228763932431076915686029048201518906707303901336097856443607348800052456943471124081334281470049979386741956664207510887850589543715137384427546512451481509396491705403338854893783240132228450668747817072271744207914423139147844046155357862611643103695007529972176706527334962707873983134892661951963246438285966309728064139135417302908366641668080031938990418797536299616713052004983687439431004790824587847899659424053656010197523078044173029839566362314175126347048223824083176693795909465082635544553467215110405581101879770454387856384948083329960703482941525740013232068569415131804077929393139554609367103642827394696397858580767772821728838360837666118862375628048576502810005107640994698844896940972659729236031930006067605446354743805738653421109156526381355111346292566076194185947211679633019822389443635379216793384771442520221113530324574115594089063902429999453876704832428157534725423311991818789235653067175538751874860297203410990536198697127594629466431591346165609994090920764785557944160758769133583937565063805002451229511537907023044367176581146752524068066347490449950261255864906280869380806842571307403162492765979212194124794413224205373298096448433033184932296946925238432717769203585789570780311502074777817591042491186528378457099381362203244211045769162153237315304918765381182462502152186004691859672567730253387463819190840906985931931405338481990929679901541650080805696648004864513507251440274101379128760162002612896564850917980434872777952926061127102858587947865408082809041680207163307687084104166690253828426681411479369456154001763858168474556779447102124303842748768504456593602821512248333657948246184915608966279642423246888961156270183919155509147529462191764926089778732568597343071894932498698451982918260311366509762363329238645518670867703328975599601288984173845427711001307899352728183745249977035125906500670971434019358517272397710330519821005504798290547532092299092832642623206464617567020607424011095894126993894252566685913170357376959898811201486881064302758441060109857524159071779427258732459015235702603990834478829605479575949095832216560167869248769076581538144387866726921572630670585282609177244664511172753403137060186705111610188712701088274311210783302236657608392645026849186373767230189899214966134738658650839678959263506232184457341164395687489777788400449903968897183756612645691726998298265782461072L,
24293636987266533630922718472209093116901089484949505091570859607530823681350105350721081530582718077423866845677502686050997333905075914701664370524078709134638570843261278165448451318363534707192180448784030506105154440456064181277668177773678502604474030267735511513326370276738340496432900841543475109047589425773172916047116315799059738786892349394752406314766275467315715880157347216039331509216050200366069845404876565185110720946293179112178928839813197837182504808714147629150681691001424083334411840275709057741363895892410405269870106835853740329278926441871574659166554673280809389790169543199055893968148118082677245246567771396125321779825166529517157868634967009623557802971345326566539167103308965956190973560737799659523890577512643139001850812404367634464187593157656081651290405497987434975018796682344593604636053857179664290749904147260649225437707749176389314405542643436939842625850816248166365425351660973185959427854511776083104161324812537348114474734548382229462374781731508196512281467545668821286027903794642351861890876825281749638971871162894997367551744532553276892258169623619297371653802322883944118634958945251383340307770051597002283825966666985022899622465876031754171052327687836683633434800828105143400444631007877713877737895523724778539177105371691592272156505934555625641662007212285217791335546312126255484778769652573916217492130839215923863437794414242848051824194937698089603456151798715003412848192827922134268948637655237325073203438583976065142813433772729239995644853842369960530190192587781172053330364035165962064206852006036481594546514171859312555510120268165817709510434958430276979661156968721163670273352352043892532970352728500631884485782366965538716605726482558561581697381985844569579547521993834132651739421483915300628233489792938351614642090707616020041978069672699893325977371220328277990644431509110475660011876656259407713284153600140659348589165777227483632034965215595575406456119538316111259211781791831207701226521321017513095640178614858280165578575392706116231600216178645861052582761504101557617651947604218003049289285461218739611676088119518001999166964964629945411126362530315341051873762399085821880439053804409736403286659662794448224395557086539707654855759857198171539900192430102901282075690809636949945273099268931681004884988198781465485352391742632964792086279562465757563187499507233515116747149522717981013443656893114370082468070774430551394493400916691066272627598112006176746411489814472147242037320563807009856860040692886644974030741812985860252612480635086711298207177977806095085868836226847595986826227112419365190342158495461304709939314607112911680433807237401832727825504573115453437139097991763057939169826172476044882919691235478582987390626933878913107436804075250008649455640182624937097422696748531893259547884238355923377291921997274249618603963054860593293639908753471841850894039975052119390580973392030052912235071377859429336499517692502417078337128067073511632478972252279820507847990123567854698628840792935418306629192515086346722655303534563383770773359720532708797289948985752512265785977329873311817312550089272905292386415003749890942067085992569800985853874854105498646566894070635797283717304885407415451611612295372530272850985432859637029018100590112457428314505372943568093023652444485434520314234191123718024651122175356573740447443798092728352049914857386997352509436560393515409534423520631415849932113032140791028441933568064029237400968030103918928035564719200954986216760209886602537396216983656906646663537269175465236754167340738478002585017297149602061890212996885569811969618803171093572379118081455729530597556770625340013571369540066415061228274210472992117456852425295411738912300096857221863593383900597533769477954072020737768095045954441402470526999008878688213074440925778714645904775589378502204960166549640706931486088514586503513732359098498053896340395234625544395089057428305687837941448656572620508960698649968742357718552482176918929176905243328082802695027332949299087877913047603576101447566815813311662417107834656066513733339164382131611180976762974946229528658895558579758633094408653254628509716285478170587108857861898098911092910134435287437107084038006729374933195954282812458572773757891154045826451379944789247870525923667929898659342948231417163975765986559845114225896465733988775887443487404309869510127556475602970330988849718912380040157506695690146923330236530328814936145851412333828117270268815385281539724492743520325381539360396106124541873439164335771018496685689717772495736855558767681106081091633763612565458791027436488465784361877141119569389458933782635073324004464661561391563509633163730215393380695620872579449336756469721195605595641562292652792794435900512008977602153538803786431132672175620757143198413578352417001822889721734618960428611857889848786567384267090707696947025664841153725555361048644062919353236248657248995353031624867891318113430563500065348115331556221716831117616438229684803335765920882554830971768009877076544459816327844138323366925665158070363359840552805701992132009205121055085763935036851452095488285479796744136680179864138756331272139924613993527063113977635288147850633123223382063900656586765216727780966437769418137779081110985580759780204135128327672849909755391464540986770434181053682883265209593664013498293957031386631692491759897524503297141367414290707618510485597388037989816166474273743047263275070393385971858724134397895637074717826330591030005411222528275328700498700834525042168335481482644484698305955626116063201368158275871895825368626767096269729473209253998235442734984118098420669207521730812348756016825912454532565667637957318481361964169513327311846262091433626103135472011291431900643188060718674576646824900659287859508853015531370514041684949685289270038860879003436450803991346013077997826124322156443162005220159625746983634721192601201674995525506347679070807670964869891047639623352897931755668630734359097116523341398245745937496961516173963358351629200498397362106155653735323959486458742443684655846362510665668643795511977523013550860031161719323413824093488854555429924818264370358261012809873110524961501691221116623028601009941534010314792309419828002242798675512565064267828909869775040631486090044286971212312338262750674569019135226442947887203356142876427613866267204938059426682618887766327922699222744673907223063654179446931093852970370564415014054446971521122328815193419032630299955208616L,
38287228412558944187603616933624863556480027091829121230526782180994270073741516585075676825743602660336034958523278306207473650688508470376645225862588780697036864980979992438097018571645134343862199270607623259178505573201795167728391268701902465515313164102060204016495736902541761420372385763583432216274769187149753284725330802643542097606124750795089170033599214076379060215332848213576934742477758738969822305237643914047932820988002525188823765867862375513476591650638626227625789383271163756354614463654390746040037218178731016275050945972978971116385133643145466569312940552525494873482622139004069409196913744557979068885888434711778649610864935412947296474819867448342520050070423466524609151573064122474367853954087981116515082244310944379627170330783473917897293620644036530717458765980958562973832089643214146031479394944958616971960087837621178489279932616524387007469174700735773357562516000872541602212528612384171461444003686842464460687894968586909910091939561434019895017784175758413749855130597024619114815444545149194875977786887407073327539563295350219164986684357503551312214030095998438479357736049402158260292579428029313481181784315459108742052903879585929379114886915740261456767634464523394858389110132064755382240185406028784008123500801362321301995516083736902748679811199542052709717246847225663711508277363150734108148087854486209852267102408442141875897410933436710324135346029398363300090800911327861577594833028354909702190532464493689006875411007966855609260810115552607308175073279897130242603985347172902267005851338346172483910506097832645981793647802342078515592679654584811251440148153820906736055952703927968945546955098114743786351967136086174066671587404923155773199538336259365397600588067878185653569813566312346915203724222994976820698939267313965765329810661027092796603483925210358422629007211229520114617104898342501084529873723555233800407084772689585397196903767525241754453825517226039382970888571489118224049939376065786085797619589522350221431614490808972245538810176197427551415231928516473855505854555807498901727443171804106387626302161121194003018165793089250331995940561510057460805917755029412591604547179621781741383034138086927076488586265620537304341578755416034046553802784337708346523456466758023968720554940139907054849126626008442026607209010594707969986997659501242758643146744922104771263130894755184804624828669897114555349749120604160863622820020505609958230774599331602222886492956322312390429130907604070895322079229565898647053310986820659975783817339765501960263884302903959329509759080182521429332871622529872973771076843300168744866830028974670524657806433982039134086587649886581591330434527850097546998095925619516595405734070471342488737765443344526903285159693078835341634182378768064932773586524448951283725264607681148035982794505945251819380559590213679547584724696541176487325435823872936746041449122866702730769456078048435466538961032105021589431036350412268624622612763152155952539884132411881304233802508976086028140583262222694452891727661278521170864184703162558281150546334830772901318892514317576311255903266352704946005354460497340629995447889668587001619608032480392617474751118451940070560915130073970558928189501064307806857742005163098250543843701821006764095051095227966117006869628282655922362460388637836902501215402330775252888189648288142872802996659572508786954375206735934247563455720537348186997909599000552083106338152833322554809222860212117140205632290742283047257580506147927940768058529852288806134086746009122580602927000611828150615524490641782043616507551411405849786890377873857787463460075593078467234553702055573323637803181603463453000893482087609763147954044647779927964864763490093298763340313054884828795162748086767874361854352381711281683215568105347433999335568245726846253892796803622216929594269825922401502555229732441633568129582081576815315334904708118738282401972645638580957964540372986582876538720216800323566548987276828279960437267714715526604471268941821622679564771575600888127974592448510041563906253596411183748360506402347041538624970533089714768159643624825662820556162341881321929352542682348613178869359953888114127107971039775219582508535846619751243255672360385193157003031450278957936107767662521418468274454337745801037892882159902047939737045186485459805672100510373750789986600312951247682209077127300906207368979110683750141828980307333377605234321707573223213622689447513261471688006246926598115386811055288735545894592051978741698972726026267628900095580839618141662368927576900548920433743907353207507220601054990419567189009830012689494483884563879086109066533749338662242322730811777646381616871441318470186071666457579557104698113098852338038978201805406571083759865538707899197936731665828245660081177898171588422473934220876427081003282978954271497358367293191080186792085984385089492017542970225274977390428289128460770058287666554327165837354390567505992514333585420511266461513116524023908580670183103244035048074181345178339128113965849111036598891416238607706577273246714131734162177214075100596794376468594839366958634990371468235228168729843352294103243960038859876745682046353028635232315427087891402677721105287317577594575148943388983757538553415828363631981215890706882082994422376470374267642244564407492189378890160947120491772880195969591572354864389160894453153477447351780357728838735714680402912774664442399103222723048427911483310477913683291331114395155962803341564300033037645453758309806115952697018736884949354234066514283779280168032250251039036292608031392762283991157921879729928651704934853790495486150259637652720319451517420726792993258913967225478847686044780389169080101995868968360403686784280597606853988253115747489053945607864245770327046651151881167037100825263063545315164128192835779523249191880771433020749155066655813452899501811027857985455061754275972868021650653390966628660119458594089842911374385774267088913427644995425569767186105024478514066185554978905600238218887804158748924726820204760711339364374281612356281213304018412451976288001286965520742555247465294671137550828861986949964407428347409300832924750483975343034235844729156704370319485073560525583407211885240317503492688456130031521337364275489860006216616331358768931129544026646702709232414656134078720286222268098112687544889724702532959603157320175668170439244889721628173114494111915554198586262435006633022077248032883977604594316940952041933513463487957467191735765542L,
60334715182363510158592785048523547128144017325599134208555393968878676627455494264854547347184957528249488047025791637238247317424181983075561620613269551132857020335007264642568107090040103891507934620744115061076482723943544325520982089688646704882984665198460347635053275781988197559190482995371542039734263992046605376747580462669242828912865988865484384781813017002484091703961318384409615532854808137668850413207080654595033684577501995471529107640681550992284324300050448778267642581350656969798129749764593507240008907453887575752272305678678626166050559352568289630272977739881546168327389667863120187500293359674109451085170443378301301137849287046107215745085974021926366573259346102065257113521047361770364609301381120475812022469624623148633012531778598649598180870667923655018457764063008371306597654966912000189699545347419945878130028518038509137169151824319706194396462868961781802168935527099995866537679931293783370608940863976719606381212517186719423054013141806547981183481970008949276555065963353432744886067922946569957409358642565741861854101626293089686178098410798678665066529554634359129639096070258128709968467765287816752651246462948819023664368420608162536980873664436281844421804622848961704748531830416913265907503084828571151158578601565104759948212704065598104970009009247877272372380627866720367566623474134814945721095176967835546888955291137509658722788338482897694036140230986368500373506063687750688489529486205547455761133655689126494583024647988163404252572379897122675361306793488223979835621634661678494694881016544215577828568312315018006793861907404834666420707480546640803931926249096497503725841383028239347319774170467579086082205820096292380803133940769445435123465719287172014835084829275367191610742540744416498279442318851660426271908024146951543865308605403842812540524190205908763139858502618142390133523777244363652521994199079808324884798602666544384970963760874172045634367631442730410292607363153061945201304875084751752633989647586995572795700848237745058815839335584706943308971457245573651119503159872345731152036683146075739329029779300966873921184362291937579376591861654781760225109452326711419166044600320734254571978152294139082965909350458639038658278748763912779731088371275143019535154872175348476120253074664691594876323145781450057751423089227790220772004161993074659388389837997799666190508287956342763447776690424712522069025015107979777376042708299749635455533947971850957546076328179343658407705299507234759668049210814180047618149909406660587613735922803462397752918905502708972519180584103171556042788413497502492518696205828644909680341744577625760832408077458180344437961195128558410606311922831129675465049694881266315499345804216836058279350957688905754160197197900782696697204085524187154370030123602082250819185696062570505450327923225620651071791348433241236625989125937127543911524739134484851017278559554025337038258681929355571946791773333926821634321469691658779412757328467005742120744367118842623976959196219816220732086367720025298495590460482033843949937042878357152452401836315756612005776644840069867883350238192358947234418698678445880666902456309633749833406588418370728230258625309584865005946053715253009654498575969528908893357703968185453606421130611286063978338179186344685339510947480574625892216773284504132071234554831121448470515540546640093718813950380456518867905480246994777943516454914894830687077667001610003585710425665754655047133975852936960490628237681136198151453133398473758643236801972981675994127775589792491448301369488924736028200292536483258654168035007008178409812298910744005765780522962690532422488827318107669524542326379638828653792118636570021369457955682878114777527226896518735085150497086411564290424860605846790088726595700400173194180463774507317367546196920643717935438252381633040959584640979467195136017267950310661773575388269437755161533527992894158231858207019737635218926686350205541087724062652261850939300819186051287439899241727469046526046484132907665380449498941114982605105818170469272841462719237070344047310996155292774913551157773911827598720723227186305264051938163322753076104372263445158227341939393438534043113172479085657911257441346050910812718302786156182732580186655876099342604146963052975029200590304921198108628853458427057748919659471817555625136072507231376003659409634842674230075534646976565738990318484603114486799468526091590503129662300610147674659286491438067510565122468537271806607536710743789520439355946201999403116335563631025718280298164491965619275462536565246699014885477670637215084156465468207580990010514723776268236520919004998229568945346278497774067261262797359373465412287975879924644359376249720411238128861829015779902309395757071031289862343527667983225865947453285890080062041027983720863899052412698725816287636503792480599562607312324139032733072655268056763754623777057305339416052696221940011313924401362869336643784694167716421997184781858680830623443610049084425116541468269421421571685339692209049109489380194901507869772049963957045522313038861753283932950628126668010695996860457136328826533806196626287043431304782731979893640387663135140417142256973114425126754585019546926298873702213639463943752484139288206693841076042721225201055339613702748122138597234419316845760211911440744274402366865700921252231453661252553876577519293308527749942733781913403626380828265020268407199064471315932287281459958881985208124644744628223147517570428797745793350142977256256008777261526230149744828182785545316840171173294258987344200395389124388349604322766169199228035657947606321259411548139743206770795562874286062612453691735756670971550323394994062828326725313570494859152247885738122385604313449788720293303913819690783151336587806286398233115974908919426623678728249845074571864067190103504049714978964403025010915719899857899541950629530081769977640595853080959462318608857967333407820066587740233354021139009370020981951511687357254726976992497605375839636897751123304838525172156817277425852574155698672631165889965123807923894587382009500723852812991738862630881665504540716484729709824461007971041952635200630062220623909127832379261290981408444935777791976099415689528546610928580582969898269149589204024261153825578587098598303458770527519649868992409843207962190319853197740120869595290697906518205169495396662446900672414376424707155396352776163480549016997856163149203493014612692345987649437840455173740689046932745720339718611008082973469L,
95067609906350346070544128767245485181875125863161421594231021542221302214034397907755744461520441558935620627754442387143833909540750568938975895888499240887984053506381741962138191180966432116026854667897331791796788320396668102882245290466131158513210023646257687914043040778052900604602835118737026422146028507491012101465490637504949217112777048317227215439533570234761149085966972890743303996424785023184670853632477487623669607164582805562065185025009443855149288215145379316969992513976944839748457808843509756999188229522475624171211269555791842622194934812099354695571919732403595651147107735690838900081427742462293998293839752473682753302368191424390757542485248001742057107951934531729232989274359788944801706303132159208400423302329802435308770190095687480339723366910010301662552867551036835611605598388672858522850256956976896345184645486134376328661277573599261976423417011881953546005086138578083931771736227452826517954630423101905768150775001042928765291626224033610275602750316437975807272601232619599280246728101595455947740247682177859001720510044995977132586357931133174026751517068352473351460820806581921993528638078826181989385914231881571084596998325298607606693371555082911931252587263998581200662747921942778412288999139588331935106095926162426804330547103354077820180015450716865514998518418683944994916867214925450554388844801138947098528259785662801579066960999737580718879671719223813770041964222857024989218874542206828998783661934218864239593801232032440476595954390995548462983404989805046405359066522796410540602321539244962936468571707750975349533267971639517140305927416050543756144684156954516004668605001231293786762857956955727606592807972579594323812996888258660507647184833554407169625757842071384621965014777863188379853193841889736225609388400948967402069042034051315059982226124868264923976535203869653728527193398937104649269956126868074281313643026883012778195661299348413221462634499967046383837016815821494463093572934570789580975434493969434773238326106418842327174862585195902936975398919395692196468645977558504925532027209904508644242567371821250760955614812016147703271763762011864257189613222420430429810226012279674754329694113491895254979454523556202157748454953584883387785901708896679621553925156560989088688218133218615883422160907319686616717552816117627796025685562258252376801968520127657224149733609770118431073585762922140464114339573760465278239660039903662168097324198867266442817637365428669760493222092482662644028212281830912237368375918491679912183878789157622828116534818524511989650311962065002473071858214078164247654540897132191375092045896715523627263570682155951390638718184174247618265242157358833776992579620928300999378255091300662958478271872877281843465311224647022194890424728660483970458347275058500794549614276655114470849476760610887252537366647899044271780818174763551735820255495274995472773539198603483271468379596908123043024747887929825098544008608101512233232358183564591518493328544442024000532702521024330144751442953897769709652820473541877642298574101634783032373927030334944208168603071361827085366030036854762681271788815669186053889881615048948969323496812736944526217623709456756567511242347355548855832315033056620735779577138536653759740751106342717614336819850718687498563734465706036817521432482342124706400006196900970529986523070074191741731593451050697847090198870832469072070029389940784127841149021652877065271078794086005219215273795350924303798942766650095776004633943169427236242056206107482242486909945764870391232961407139796300769185781470905726586739047501419547832564510078830728869791508212931616683979208958110352942478793724621774088436009404343294811179650158755187967376759141418007695923538314556093502368092439863987526493805417928581366486024783215481724192328771301644058558578829623580790775205262427470382875624865155917440761037550785059275333830179655417493778348156059235694997073276710127880235286431686508358792329662006181800182591521710884727119578999559490790034707190747240049547214318557498142337836483650635544735478163912875145974440337224864261500931491381264466062945481810298311314966105361755674346479322691268245723775740637185176540846071038004665706854248635066469694341991521076574872057776637030929331654621499393122803819537281352212336707728582385498506647605741594308543794759055241183392517025847412591328667656190359459161915944505876340794459841206691967785588415204719485766949428933736902846655186076393157329346184708118531706600484175966626415012201560244728845089530051165224820836194908192569177511922675450710367275150023870098357579149913633428778210823338018698850497953841650218456122128205114137228113042090536331600117812298196309932568230510438607667528560251277578219801820099201099852199499096741281993517173223170005580444523247937397236544261720090053265493874675063902519084469842012256434281301855037778236048901728259880384487614761792841364504565456432635044800477555757808052953352598585457543052214921978042362774964474993724188373381150069341706553018198388155454666308471026981731135723621168586639239831351758923999308291772545838855114091000877607791980902588073916935055866944350425096788975536066339729201450501006050893426342202090913113895776713430685270825514644323901688616708688419276510959865133089629113681736669128111703104577919767371584033169803746034079389462553777648984931235261575036933638533664008522781200117279192176818126383883935035336256436438800527238729676805230876274005630548426142731840779346850389288305001764908701623006505717626010686273760309946694278859919064702751665922062896954745555840544974790283535651711992137837258368145071622763746212038042292510246134404561727220218766652850623125552076818917113891398253570745611093470221943034407370174039050448810412221168291592066604797541349747315782259266356010838657140651808061654753281818455703409648310967911458370508929685211598479836141785235361535315689606194769119751956032579078673269499591827052576891357751843325438846419395880878114526103510349650170619391697093144804257229539916853116754511576510800288483183186381112938184740379764631812606188827310070768306415438541435260920075906482200737731841951454802066218117897839952403079354616000121186831898177929377332442555531477434348613894888821535109908288502670907448155215490366734181966236119901910210814923959447110233196412089797869461829247157860175397543637496560845872656671895006304966933527223387034924L,
149778638780986468681961581727798261594103798703457490895632324834601508123306934911954020775796366518466606756377034347863716953656826032463727223191709391580722674874729318192184873775911497016206064437830465223935370077032349979715049092386831292964629783961112377601414082812185513966336695447960173197888897299251918341582234762923265030652946138543316781098983197373586441343970638257972978215551460992917235368838046041795782413812326571646411244486698026922820177789084034502936631595011512339235458220109490465062379209025102346985973857889863037695066185238927039710207211038945472992120956234092119149564161324542314329379548733486813524068010402967308469447752290730249828010781635746730344884797768989751873590345440481636756856232549321383387415489890323774723433723742476413505708053727776663148046426354489757513458103886140856322393914122565371146548820511587644748748848052000401572624688721551734573014029702346607042084376122829339483281806592979241529291151722743330817165328971272861867015301104857379994793330732742894595167189857628253258063864397501258476055996503132486222964704455140199644132958655404336600287514915681675695714111200941060378487646011395276733918706932574527900632319141678637488163846411098107008536581514496702595969340027474667892731135800620343977043833441252631550743094377032231550191532181534607766056247418328721814881239975531740142180409140665597822624155773031187104241084030212593406134727478107157068811858018171129697717676010330623174212947063684642473124860497031382115041444773860201503844694292225027031080706633662897595893205177384974468868642494575715195770856823686698630976732749701441140238955862221191358123809895566072360627086249395392642590310723281372391183660945874683885115405073961482841965865948782848475746044691183147555339638283543835849244113469439416395349812801152964497770162629608159429156601738997573253498822082969018645324584195711926932312213170944031456733072203080346509681148072311720636458471098144032011900696255541883491173410134704196677217344146734556841794861845807226625342205372281411600435356110003573577772636396477279281536512400139594323846440490330869387195709395282935528113522514293856024091642745126014676837693306571652075729538988471783778114294940761044579528862568512325359136451109764435789661046277158801391120516874504405674966218762677412383779049845401281638837557787971083983612498916948599962262772376203917111865080827872379972646856757252985466474328042547241926206935254896004386728342079805244933703654561238899660828116369300110789585180102175571049809436953055422359822020544778385443073660577754318467777566035531338667343514634602911950503128565203983157131150117146347139765250505284566311706898534505945297296153708301485413381079994358540869574008148927425699479529436431262567443205805303116336793711887771480595802139530033495067412511429750780179841314549714824158889426373671859957781108565348710007746650402208314186347786641692980640692911615468725041700235228982422584388268286914543004702495488875228137538631005260573509246384534265879622844756966758897939575683344205719652930100561982298755392950195218024445203499359282036030591071732883093054795010197264835127295929835228653135043651527252263590169449038019472730776761480599384992725651884614136270753589352591039269931558424779468016288703942205106772703455097347404485833915648078566078254471124762947405797070728636084349180761116652161117073639361310655954821012472377013215403108301420230385335950526473480849526234755434243349022687738544686751942317995627756329772480130249874840269291490988072649081827422866384954317300024338770515209206191617031071394709183342989045202345361112305015194534607945738142951562243295085376725423407112804784227153277935766676384563838767970634161044825996187010037801214563660445580236125444264629626427329500549285956189943680868528462145083017467302048878725581196395945280400624024480965698763165108917676460514542259632817774115890167584986907072108858480607994211378456923829315682365535909651085583063463987084266035454004931356698082073604764068912470164925718376298798018460573910836817424488314633744063888188376263688145375256173392580049224846322875690689187262802314792743379544507938188685333743226924127707010346785058197798994179529536167039297237165765941598300622912814762091468886153389164584447159901071969765047347493697630615381634274410872630333539581387002117628650794233054431608220360505022477791485890258302899928376142587423392425351391853951386622507139608747646304226348459672737984546225395433308854205689348842235178106150284016569204161954114668940902619179117996940783990520260440725467004978119408246019492059752197464346322778462422780335641212252374603473686921353008571533664587564867436733237846664266602997425500286420579471728579492538151979645124214799445966289913688154231816927346569547681454232824248309421177301032104518088411508175830540911150533942587544978357047926531500984848549552631225049345382925559793953543305589279178132920289986381157857413480576421359574414746444573099872006733061664772967418134508986880870070128893280024775781808298461864665137574209578286211412583374067877828722348906506217331458113023921127232693773681711217603604255513972564590791964117671296899434063126278899440047761177029093299455245638881174633712537191037380504651009715137613975977576782510273728282235618862938359010856087514063794564230513450667952015630834610935859835619997174063116180142036538296963654177746488104568350374929065791939752603085169937667197884776518525111796289637632193629530333814074839101060912910735800151608301391656847971673242266014778040319759189924159587527268833204237198552156950888013690566733197609334397034716759775454534966246757087853811333496018296465540605782345684268932279020746760425739898966525867224292205928205243385593220065979441024587354665408511823985538546379718136242006653771611568702394628987074597823580146044236160531601474067966802170924714083803286079934206201002178223918367956849155181196623844784012144041403446540385310318485510935139564127051069938465915173828089246735029458639646953891302014396652926450107134529293426457232535036021307512145706159392950306169577124661556076153164633776050608470694347258633880183393894779114376143082271811268352367583269299336173015670019102424716847575087022128986889407065910246061533986241262850443805197123851579625405891035203432664498118838384437850594266683687L,
235949576965141947499444562731862040197474576323508605629835563263432475770608796572005556029470169916359487590247553790293578808081950026755374839424782725744735541011752957962976516916340643764310602274495726906679263933146401467311212124523273081207503286865460299783588969589747865476607464121852605224826756498393485095940611365756804875911237254447097837403508151676065857126434937938873881847666927366946672961202234022626598079647941934711214337843163970971068205238416743964480622643643778520155319319410258224297832992575843756940689959471648799696700396309170369840845248476909042200642528745244743285114117688937697484687882578975559030989049088992519996980584836824653221246522285888769828013816566947917085542038985946038822860149242694616011650754640162014568859076994591626764795195225022396577490892246352165624044377456554194722298954989306466717320415537171484723535408789262420472675389193979461108555087513576183596789618419376961179184604213200402202891883196689356448516331288662898094033224422744204300059030926492667480666217532153029791328305902215855005755631885972763201305737372188666883119400385475928763375292045364901127810229958947184409639431356663152952408504794108674368700351416116962482016965102876121649985869710024053215032627234166821463522751415511169555466514241675308835285105989389958320608225173651775121952442740236358884119541656499951622224299025149337372952090151713927879202485596020900341760791024257962056221668795601618141078748572168527117829224508703424960181792237300628524161892672667560910909596461246147409493759074638471708547042675342154392624781741004267341173846402847643134447685021784968045889978800966418495665066898584118503637250828585909045615722946038463419282769310549765827686130923831414916494015358331612193552461795257130578872298715073128960308517274125746740287049261456442825724348702647045661004788237165760920784035180934304501090425972370014249276192017624094236389065704274445481909427165455373078293832265939696032780612977318739680018964870661137694091509733346887478332007650806800235810469810935604896159878084460298249240175948324875044861142957833924947089154419538652113784216814548707574138154950622275176268148304996407651943066176629044249904354142153110295371236475314590776993854617740870837984238785497761091008784285158658940872738946267130177647718632720776655192876315503861679826361493188031232780781674284151501028422038497086044955591858346114950634883766507681794797642247129098821192518716374423441590354917571647147479128834126941329092629194557676117833236202490810725224410920583964411124039459783551902459357687363838500533731721306705210890669312775212027816888472444500407626654500447776358136329338556098345523435941100732915736721389031646838053851299258432868848179171276777266871127759586674331873415107170240182795082154340760301578347820225393793840080621483228686868226885603287820447571100705639840821513652754624201995271927336671403132316500777360907468261889653998218838093236971301859735979491243115725162453825705792760452034435348362662497136798475367502743203513447116251102706342728439360965595077042388322670255445089470785220942530383821067999779917786338652346332403709055404985619090081524787822823879118032714432079736186772127075170134108361839316106463551099337368535125773371830443158187038639420161598976969580981924405190538083548392524663393165572429189498634042358392877840503749450434777659902954365421445427767418479607460112658936574688906197974191705605871859036807354886745716113699301554777716834956863080764463340820718514340180454333394521172280343690815585515556824859461573236434980758837451869985745431724278772645742130252907813128520086849821438146448677522894432336711653310991328866105879610215071300368442676616147976254366147850624602730220169912078647460071262722999249259069263892223259926877410662327129576578158076579576150788410503993108709801174947438695587495008108109206502920327220447021032395554801492471784073001789629563704242768947181991792149487017050786137241217591023591729007054939070997055286577000069691839088901494863083570745604999897218076863634524717093344319312635407780831410751518964974070756963826065079645894975705793083497083858981696354670171794713142099071011189613877541084162254552873616920627522430925619931008118866236521556393933901291520943739557521876678969728173534398394686703802639534982093015356322072704327200490724595245872402061773102877845446494427102981004167194608364258699681705846961109208545480613856827411563858962803209899236338362895813393487481993575657896231802483747545317679831734481894344555179496014844683211592596098282167774593110552829361758291766154323026954001551338849102571825148187048689611171356875367448345463382276109066579862186869897466169942767988497116036891370304163647313482541049878387756665065987226573375127540184798965253771344675184730351196036539781167554072075010877672616937868364579265211183190675941836933348170639236209530861929457833650647943420380122110007228616040792077919766329246565544643259419109951039129923453987741759719647671113917544199036351914666186235632033534315741716925717990536217539883764466888338216348587734652670162415762225127381658198448464375083935842804719103921381382711505520931910404464458227327515700665105092820349434862933447198473117864448836104300623515082852832940567452216222053959990863492748459074293157464976570673866062838465742232408373197405752989829478732153762165308498761886065285432490231909700447950537947293392558671486328087756165774391958112065606993479703223318807044983342499037772870020641552594318476844829964895473357754181349535531476606930519422315422549154246320610750637259542455806700529310118123937543501069637524078668790231637805499994403641461783962262206324200505438581359699772933359043036835894644358120087207100263574362225233235297489588087230440686020737001731802636769785263568738471903820382852746451263431305457546191761189430263871193063634551164862027511017682625708486955749447293715729400072132823982548162422463803038857337124208154958337532924910686319802760047384206343233285420261078545109192478139998836449248669160716306881519478258151319929641508720791053898647494508907526012388741541365604908067361205446438054999776041225866965814766314171295087889041756863647484584461417493999498898135780930820972627765976803180047222524502944442975331165976170089170642765363807015723037067425968175619873993328219035365950992L,
371655505963729577051960478680922519494219610364127564238658665816104248719831469323386773739708398554101697696464519358917843271280189567350541416623667762177510429362343516496543699967761645112326494213217810650281328816114841436576934157235784761960947985964807858169657519040796122345597414637122424681224476418981032442063246433264904807127817547481297013761551367876210368922721332683115396898376160921240171843150727418477286836741821663480831041432651144464104600125538234225954635276157217281947308774352455506636494267534584278337879044481291239721663096543346735058406518281733238490808901214639260463518796172139072073376448231384732948066406452441864527063369129003144364824601045550860299179567336593833113964109400139018902108739655641457631121061510279229117348187272211228904765051481588967786726968962745730059036136425101478458908529432831124535364862122640984859076876706454239220490632608039491510039955621324100161702885453056819659002393162276887250086439628835943911831193825525446167223159959037748230244972447613704317025653541960900900615130501191455912114164383295994443248357063348139294989550869734982341369618263600677395747775599077831863483046796837953675191990653622789161942879839654637479076744800428537480937177897977850897891873136999448124212654785907264248733169592191252292508949824970823803380304804543973903140791244067250309914956567557198743358665069375867538722118651515007226608683131653380886772659701769324220832173218831891752994935470566830741489830798111946714353669204811843895568437094328116030859745180428378425912815324062622562336004710424020873186054622522501995477376543959729439687919771509828195498828490535419971641353073724488573402665039197548259248597153253985215936005247504470491431807942129975018339079684674289612235534479305147184819338448356053303166747191214214995892957927912659400365606569331086158654624187662114486096417223090934640632320691787379826865741102733875951601458017353781750906494228409345288433008372449002092848432680450022428186793040509620217791714533422241165407302589600066610869616530349904611736271638728063072149472095319582192282775524356790455458497359364501223030471621029634722153509139298586610330377789769580503218095901474375325160765417920467229923540825406999268497578692204651876794847278497365121850982982642381637624231028138028505600655446443662186933473336346946126469322941796509131627392724461398730947747791956661284212805691096592319079921062565885751538103171494712814091148063325417137227421485413839220202713273462057904879437864128278432472896330413024532461785443848663405514685015206925842405329923980021809354648206563780477603448466035634825931060163286674416295797749873914815775393877719250940025052674563372783927426992553619029896387094397639579345513534734361151783638450325763651156682231612917162967363082817107120498325170750574561927060623391419498476988518983189267283583491699260600431595179453741104933573366949956596608338957995817323063555242589372613170359348289978854177920592990189931194432102645793993733232821201479523970882931104132496946682564242031203129983060130772914497957813249083981530661465528885557925658723018183105014927601078836771678595461363850218946771608305608325587213780851231079747190496982216152843168516062147334159211477518711397228875843011770429944745246672930436201578791722174306964239030316802938392423070265734295389761595841240251249886709619316662855918949388946032015708948914936806484986298078219906750027133841002973026612286917301887788896655756091330234260450717678584130075773111335567007162838117113642980611425719890995847690904787342881478468452111970158019648075244711776807984805448302452371707882128172989651772906599607222943003074788401749519710447186328705492332260277768337007241135821014634093039611496624896161816032959923660841040859429808781399289606920794009501118398402983621834519062117159360308906209551431148627043217946438399493336953333687205174683851898643695008799848555583414150808064587013045062374687741140671078758864173485369458630277310717925619901323033430754397877538328959498118110725231565032356034954869168537306843399224085165263847724196751597629375283567003022102756019906686574123449214078128898272549303490015956030240613407547578667584662537189494742616834866640294561783797724582737521842395457311957112004293596628317993739846906403605265442930266379097923426082673086909538520196658853488681579371762551252236937604477780975394987169443559317111762014460626199831938680290552903892950029330969927228896544729853366826184248975002582475162463723464481340947644974472393420043198934536649123995806253128785695203166481244597327870130769929349234967986183200822901911499241890774439266373941702215618475610299659604919794565818197270581892092592723745084919444413761404831211370744594487958461777540591959125840630050760939305651986868003094580069322536823617202241161223340037573296134916664146965417264064055396965711245804282644460605420147562022444250389987473969659676207203814861614146976122700987921732055679662157070227870965398550069900807947412578470105497317918705626513993980126649838677397489944795886444490630311108816538498131706935908061469914100567153147291336615181573644112992039479724079078564625033747677536761153473412448332860617109515299044733584346409504185109789326016402733830515278465255421989140983599516856154185872024474769178894078423425482638751277395079109983026753392333790462942936428835462223202614028575451180527627212356822744204848277587448558775684317015400815693758457675635524535957460222555326736311494860418926250810535478858559359710751474527121770225005474120896496486538640829044640564779053279159592068527489471863124301318555770377575144090669719833886659406729983798036195830706007268130744845712967302795077754347778509281890650094020951729291653092983494883523120761043523692566819922969423560139999404091574864865941652066349216839853590945744465914695204209411870038804896121173080937057952414197160235240937144295069060915418134019389025492062757313830384321822157529017101441524014815694775860748118482375030001503630304990407755134804357431236118001155290137439790897507855114712037991511997125044315867806124597287344363338544334725813745282041263671401025198389744631458440223902660885257539699208980811785309118699653771154556528686202546652806978715224207957729294956477568270625005307860251157330561806586952429804246034248016349915600959714630751674168491634435L,
585347823819112431053396415246145223140005820224445467674245511622609473581951827752458165009728251378166620918086877699649489103865960742516333637343213834868709853055767901562754949056637034522191219526513389690707268939492927434454533326586187922638207742773474503235442653660763515226836928769261702535505072599445884487257502805340524810227906616413342794234002075258505656776740806840219924549043852109378369483566982534653307550472648882225804153139497255470657352490397748818894037950697122485415460855290269478498505690446171274021010059139153785417969030573097039507473521382382422645363579076808806191913593067018350120463620384016005872649917530615381451507884643086057990135970278058578792068630444854545737848844961634671493409284695645148724236903042331375505500052290884740293611192770583476430182477725977916851538317824003970533716306178990505784911760736761940453602356938154448858521471816894742975677226115389058928126850785619678271330788125295611517542053763040282990246586323316566556997210791240708216224351909504126863949085796162918899618025113304347602446656410884363137168762955169470688938033489706154041228565774942060245471918683280648244393352151192583371299095225359061886976351381817573857547768348233119853479748729194456950875571282078169741039033630739683751346683059026396788473247771612872133453195527081497373171959579631017392601550799275676802728873841334165440783546282246300256222274900802656806260202025110968903432240315724278517652084508687288741339742760845080861630939790997315481063837459424443869249333558433476990827644739159449580396658289682480953329293298967035756839488375018654897353919621188326731211780460123246948330183969378563811069433964585863508424495316109133327938953362056024734517221319996581116049056489876460811465870066310631505062665164378142359217337793282758273006072007016858268736392277516872261931264752744904150681601276509612815828841699452933721005787246634285430024137024277825766253748519835564074199679272141953448415359767551247408268878954504879204331903606544717634424110571192292326815873652878902214518910810455466990726836925053178486786371815856331389203915977694952536117099696295369468520334858738002227100270255868609556068473287073679139091828253221972819776184461621086048711717447300171050210993849417349412008851213004733597220992087830088852041908018843272730285269681166697917724014558310618549193069621064018560760749324075921058338715006062019197911992284299657614039253633378797849622544747873533192545938765446568390148949003102072661405499242060937500729938543999683860051717510203386983513915887797715251758986653185999819828891779642554384989707326643749446564104072427450728179314971867256111249510121687239608046379389941266740399536483998299807833042688718474050824362861064991927288243466070884139223162335048236155769117794357785548490142840843589455522612278002320385253164718066369545794230291800954549315838133058373354220239473602054018732699472109652706291799341446678296591627823864027160682024131174507006074646540858503297659700396504469217768333748461059554273779543828312423390990947185900586940152646781004734989451756739520799729694597844918545962553161022598694113433806519738110014576430106102101341101051448718880762386662832952180123430849964163654815673378315587628792485099060145145295672079159323178438777668228411839037492592493424667087709267347853639945274013233857252850613676872524558279775277068922917588877703239301698088074294993596125712111098322101347752382393654203126186444404699659925181887686444977918326179791897767911158710086691718343311377486757941129986448075316254912566952662831796539007503322816875879430006776226921332504444934056050507220742697409495448937885999922402031530837167577580731809397325098233639087152699281645632987616814770851520067983389866580697476737229044576026076660525282054963864874636222111097270981060939340886493748908457269589760937977735137100505171209920321442396937862955263231194784336294175674870966199665563875992183706778282648915761491907993424480388327868353677980891337371560590645970061462001928872628094412752783876651088069788803413258224341498391056944473204273071587162607187209263116664609723818801530147843739813068433176401491291842097926393506591313072435159301880741324797525056061372479045601645470079832499844188403697197796200324049893503571404207511389646361840215649508841767517699527744362667898710484006712591707655363014894089739161517664934038780138619910003473636262342642989848186741459912670591510291197919296654853561559404462088779889566232438598205765384919655962249613070840705323090774162778708106449449449541311953531648960439774011431726463876248087578122800493213828127511549224695776656606167255245477173056303540253706134795336156844460729630564518933414367707195674593150764829324747615729651326519533173276065422997015087739550034687524177859254589555195252673264495631235296124088363472225883630316864734072115421367301871778421524654633166560790668265552024583384331052632947051014334565047776744747304953722188721735089795845631054543309811442991872879396601511499761733783994468298517841855488594345308028282969351576406660439744127910369451003827392489422397855270199296684723121779606401368236106151065314431959210576053916232137681630029096561963941853043736313729562659590398555599175754774946598218237444077484288738434144307572560355704801995080531860227840679214158815359432807801686512585342777527297323272972950314724229748760668808766589510176394538300244618214450364571754954742480260042514559077127127459163157229405184118795110430308869892043543811222043477700601746843313016585829442448610033770591054872773123456332700199518712409570218384772437610527369411603467429027685106185416019078091257542684919802095025514404814436354676518422752316095523097502831601638993421659493369750241483927708793792071578132238541412645339778725958176688789092079094801683672311533024702231611424211726842503257333879294428822827551412761341310856746913302445162412688984287283588936325120459142638546414540952531113880261160254524396369673324082240745857164330420179190452600924887545529833624099350414368531483990204711882098272685682047496771001019296839819593107792539190265194783738606410286957742946163055026343893969992301800414367649283293839315721758089458816150165870516376924789932353342760642789853137968433858964641060358025604533652819938630699153337409913815266573451370264272057136103065772828690228737L,
921806016541370718728220950626771577560618751497978963542677454485477784704790374274311258574003844494353606473084537264345628426085822444551775899053137546890819995520352723162060589805412997932926026807877922462054879769517792233828716664581691270894451688795014135686153226327964423293480033710981168684498334380152099488000100983108219957423062202137599565880839841205254827784655449086974600130448409486521121571391602603877291870480564959931673849553215143016156597172444714966435342118694414282933185537249251761727829922170986287854785192629268985900804035058418222330832255045332407701977814031508865001962449543276490137913894669296792961827416346490236788629992539926465720436828709884028942757887552083522498209485758370358102230674894625717312328190142509799788717055211950029914816912250538152335987937402525688900415760447780825342435525869168952609262520586539016528189138260398427348811085296803636584042285745328803721851367248853637330222937474806702844577789577531931211703729615180174533927817679076893580749194623485793953537901027209039326337036924546292821532051068704405916842072864084202740547817882556218791248433961372541214580687624904685900378859215801570928175389024811555287207402825284743048907402869888765740844474681575962369100643334836193670961977611850739536384023199334704386230911168821886220121983074742805987892709688519666842669397285639374085888011063408511348570271442953871587749808682354284607337947413524438748923606084372940348994940184716594758173876419315035198156783794908230380494269826281634177158443736568757229042207533569703791505169282013295730113485880785831755824358866442372713337835463926346338599844545747061458118408777777681153686471546139223674489557847260203395382258389026611491972784946649596163887259763184896852462388822031010085004649740557203952715108592922901884284515879051868407825365396724823023317738558715122639029985869477990985696053692974563922773578173284346766864967545538757158629044851817223740391269295754192730787406006671365543941821645449933464005046729716091319421623456504744501959026168640427113116674062486821367543334257914955384378409125383858565508222781222601573672375340680327938319190137665247551836429512508766246969122258782847609866748297068752303959092387151751071114769357704532246786662799372264684172624749243936388824833783193285898876988514672560767903221001973416498320308841462952459626585382165920108164138011460337538918739499824712875788668316690188115982251358560291849685256824254574254147956500932235753481093098557195030512386691749816265436767412110722639435276637025149925597550050209915966122530335227672734076839474729144866394355727129082037516487700993696947579275375681884022699960793004398592283234488779527713006792727836980769872582324705820396757639236588450939565313327384063277543624493929663710579045624288127866650621146742642841617561274575380893540209701638410355828271633166654227938185473420056470058778300029713078221676659214201489906876307265573279248580666671554536918750690967514698482132402918920804462175973908356279431345878603658431445510773873809687764443222604141487688939256631845682800755478823075491515198808239596258337826368488684544097819523375591812039563952885951181603368154912942885317320380518888438169064005942187622799654633924172238466601553779253883490567075852681288173092486299605669438919215935267105258713878894180015289948277348641479642624702557235943557209443656434931567969621331916388121963412439772777485467165683569183919744594801833736038610089054020138259774824588500655560337848013265292147639041691815132280809677527225460630983640834802715686153944118162546245400598899323440082219428307175604398169601316900039583013223883294476259033418285424888041463195413874559886135015262550016939833139633689356241556386119780461763084895357202014481595228722286943758527640487211371110551995788401770102345076161499390315047327853629532098033254170995995361074898474892846436985483829628407798880686933472544901277326940117782833532249517439939040823821537498475105679125938818294472266424875367548765900618116315589487216624621281490660214530595055670917435132532311262301971881095132837911580652643545310672355727570396499649480181300121036784174997388606585186561140383688692644432967830717458053012718126303633916083045928849651877844792590033505484946161569844055126261049382602792390203549933773418782268672784154820037982790176816615078600618880944882480692520613731963446608059201950609446697296548206036230993664395376255901805063053639132874970920072088129530178700449575405759688123821229212499446582618475735341397809812849460233723406447504852268869418559462563383826038143880258818116707980321022287170284023161294936276553749512292150907392191701593679048738388335249988704191376377183377012907173048112995798046400052046151706270153646075366353506067421344976889834712144866871719447346177638530999411906907423590841317964321397582138829103595587528257432176475674301205324229468109564569849697847749860170208942523607030970895535311833010590767471234861657721605643304978019179940097172569369875073726709790219474043213007070100053755435998158290149223694482981480726207480392191894404414184620732827940043338285930955385870619149492574923087009296973576788425365101559704201961713165210458218137967042188945202722646735277135796188413632775699881737523676241955886487603623316404024745893253543946416695627289519864019192896745904654341375594393387153421802338558423022056227585632225268078721445502539106100696302042600908776381340974247424674778206496052295259999494092718585963658281431587631433059596839934478779358546795954373115172594200136627618074513491282297318543424871572051150330717423841179292999764581423423507891267683080227000541036181550592435352526603011293556225448302219549977123863306475318440643687043929657123258897255450789777969341197235864399574338325623280810130546132074821194371258687235093694140259164079818523515908915521826019586102031589441574809387406787355403692186342257463878595120360232852374326911101524737928051823660770980919705154357043645821598682177358839277987813175025550076119310541223680610500453738654591871524987074391362839790178406866339759044742762328486688550776798814831424116533038704093496817834848526738416431363556820938607870330708115325022809750433782902968024843345714679783304016350702556413849385284827538475268883940893674447940717667511061913379117637332512879602808425304662027231516657266L,
1451500489059565753108058817308431516566859143795692863246795135047708383882961375016973378868775298013477878387738525726872121249217947542886994821339032285631242541522967410645826744681403523061881751850928376400737607521622164009153318887465464402230768630234181260814594827800828475419462638297730023707943894226430683832283585693568600224608764105925126232353031880959261505725426122919876679252011455117099623005856944468037458077424337493068578544710622374318726385837282697528285131412167433396566274657587508535485353093220608264039303953247643518632674351274390314588963789045599295559775792577679162366839305220969210543599754210012315421219100132146086601749823062051453398267941601944131249735277499597892760823827744872093560065262924266642826776845251007835385528651137662383369295762968866837407585688319128730685628234894215311392739501858095872981910763084953811766493422509748614514248934574694059335598115944247351559668162125465054269433106045155012633177948042882819882135434432424005174024763527600634926383885600500617834588326604436636849163355801660344770661278223742827402733821491761590247448031939769415767854435575994815612720960229285355537021443465303121771346077031624463173464238201104864308633778607094398042371831731899532752278110163497261654558751578998606664509269687285401523987311897739375782757724487190541866991304208362172711836212092388482000572753937712558581566987689066250686799503094190707991048581007247623544000328743083573851647210065360403852787415291471757212946231892793049247782052105114920530535751985962638736621493348154244726651554489278038444737054477618456806561897102205062996386951296395519440714624244709659416616710926598720732164512489720313033529534750109148013598701183811879268885094505381751278705044230038910564647537032554965593026883327229425923952348761053689113011149317248908400094285782582632852789854798619572541450363422953503130120862310032345772690766505443351164662079600098900245968807113164334150394280119027431061876317476031686396064938395393512121761953031155077709074136081695561220154971178096838639659948192434853770224950950774338129616821754850339798471314563932901313895990678251313985932800589578434771869906540003529895982894158307705409839832145542920694127137583664959261320104804187932657845393013643462934293891749206543120915250286196974378674235287251180776173093604450779191831508948700605263791744429126952470210768548243886652380438045347906117940877950210490528184105824227265869071822829192402381534091387743996566922126731738583835519117267743643234309983770818390664145001802157983678118529377790725974643296166230265569545520284209036792648383785472067701607970195893284288632617768054787789378854706300263641937452590045531945261347204104739230940280836592334115785664322771754028438068980433119309251659525294555377365363243728093469349415941323359335892182373749471424043592653554144585962084372620450656681050163897744753828741923571333267307212563144588481683195758655183766837061960140130065757259767869247049913325111413774528564278018233401221208694903266917499378191210157110390980152558782715305322082125386066381612410815176144474497384591699124148187099179494189759865646069225087675626216651278377559050014004767978080266761302692576224760062479238880542073686448614066386492888934303923150960869118931210031929666715073152068372669180847137134926845338897917014027545373091600616579520776236567274475308714767250198419362699482364971162432491729940419524768641152442922049215258544034961573455778749606535851202775472692152001804154670252934774193775311148442034317037448058856945735936395998968107321009780724769650897946541353346047634616014840107005335989499318296763111660713795307500935144749960619748138739535318658887547358735426836274938701116757316495714472406976966845077764063387421586101968719683543692895588112745188082033588934360125326486923492539615751618560867195395605317422907887735014504200413926941167371221282904436670868101562398936076421979266204148272110294881014190377483972968066310300972465459238674919746484704827232938995414395458438244962061198829226755045155730105941143804881276000326204333292180001246142538075061362661641875405454293783870901849350444350721410850777158779363703961923961064729484882996768635192786277580498600726215431241870826302253544384459686036601448102095563827105850503547523440694036971092923761547117399304810464798484132603088445841489285825246762273824594837170553143908069650274599444157725470933929919900796120747822081996250736803675686969000447142251771019875528110040508981260448758274065098554033073889374205754760333104167066753861862169347948101400124836647634466424009187718100324399778295020942428532167071568972981503017337158650313708834031781424505640178221027656490456908931430254735130181188968099069148442769242976732609990978255377838357372210317625900183850261387264984396764752265185337897966437149831147406528094216022616106825066835652271288194405718445518205229798497425802230675926359944886302871428900708073818181522101121615262798910113850849738767937636883421373695476999744416877514726067630237124628020878114657651866567168616273948476234827329034820772497329942576227446912850036363871737970295486056014885132569577516829488206200039668185261427143468109129240937415634610214882344384635678907695058054774384094430173887496269109330468873840073248430179878741096720089735736942125898686922762618748886766633306542310138477793181411988784382929693088187371089219061762443020251227479674727519130858183795584135602550772032161486023966579029821785328101531522968258187209387815775388712367807890154693851821594702371402992991967677419138032905365521017763075788833777408523148032464396853736593313435063262551051305723218609710526243246766622067670096007437411386982559504901473215912394373203831303654066676759727104358492141413962233815122569419668331213760111021622708363456166779047779825448008726523441402939796511529021167424930495085241342024311043170014097259393766989326304201259871781434799277778205683046719833308517337981893708506354835352418148687042062299448835330751349141834940410417479306313005436057728835742031903000025558597203904291581114228572558144426825262846287058373665791298031919977911343257459859539554251236061625051923080790393158794254458280293016135788070208025910965302435106160005255878516521185000209690832334890811496702967158379013065927733146302983205216212771193448544758790310036820442350376L,
2285319770792542567928155525158222303028823460206213019232717852116715514694778879527718659430389845384113477044696961489634851119237263999788409777599985118443283770292886268785163919061649035454603516334210881252747429013794371091638064694305509815437382005649362123854596369717619510199556543398541477421781110294903053035242990831694512328078410083223237926679787076717042125680229696802896725237615727964291534822049060097033245394974390879875145787364673217785801178231794491427018932862472110479465526261591079885048200101767021464563357203582151845703907509982923699392657336623102066232477642932802072060562860815908588287548916201380103662351338263583083698333241905142209567249881595925864381188943706313701854630108070439518482013423775922626816119420790382722423122693952920265309431411212419373781381842734428989497232910188577233705523268964420766394778537862435820068626606098666561047531494682601665132374131478790608550945060771153994345603659943895954508992178262266689658492256802196974136353768212991604214522370902731148318835862524785879342085835429692654927116524631732147902357870431364018636247538229482022897343682053485992371441602517198694508017414184738892780665678283703148952822938559355768157613147684967224021635629843432243956237548843784199569304558719684556574622401690766522889174506793463273946126313311365480014961677398565125636167614393433588558020821638714591947577399051393656158019722426606322190663262036999416094084498418420415722534311007439116388845812222204161324074322112453314111250491009713527843352020639022991366287164508267940878486488417906635553012713584431114681937207409401041616153746543025467222486650280827114000040935744782613056406317914581872950023682923914945204835697554746529035132972628822235316927871723267472954150570010239437155971914434289204063405447229979955782839384798232569060054101625609050532958682970575496528170373378048017263131020455565533607354031462821664181665038931169562496223020622858468563693484442103184547649612411403742784083595053719509761934505143614749712275343651503405488298310235201891386506985135892148654405708670068633517814767971253625517302622265377987263619183868329984385123825057981233550772665713005128357290166413607155123051909461388180684145743759663082879974851026861660497693471771553544644038213067479891871933778843435942826765406756009689164410014069496359697480946258272227247604163003057281238256015578915034157155378362392675683764862461007368028134699642832155871988559783223781164511893848735893874616288425549771305559868090002868540700552364347483810630796756115354221621805205001199016665903168716639164845256439991544780852794168666962847045811512487800047761220965909066987506442345727315011626819797066101199929575003282195054843210775918048759963608516616049709740002326528521983796780979377765301238003668057696180130042225321549616471550537544944247555444747512501904259495533437369197062665319912498672219112323210892894658223949923157329049611079519945533908126632314727321144099860634875320675795921701351583921293260448551232127203302057224046057895011791572606742202232875651949522903598578404486734947399726086776890021077824467391483182988790733232927483093204235373705563009201948231849170276698773748427564104264618810549792211471709075700648857281368672438730841049857140707695574087709950638332940472582743716045278631018611512708575721666327621208577507730686047557235472887406918044714892848921451666668177045863077146547364897596242390339669342050258802692186750500726443499316588430186954004035682366792160627895609781837243090280604553390460067468065535843714308640086456921163640078428633196978338253373732420652487866308848839854778378946026118999858284053172541516251720690796075851918208059776742761909611171416055435326982376907735266258094221902324760081601452750157117645298400460416066189631197311542907028430752149344137833110711347438545458190324411994005227708798766890657595996263985439438587218199224903931030955501724746825952301849219302900307454580376336681335086836264990329422766122610215152406372625540083200727081022537433574507711902480472121518732424130290162894635869405558016552183869167024896045304932996549588768154439893882718364212183160582148628494785047395842083432189125238096273623345900300981479901309889901273692035748125377103825401242819567595115547446204119699810523124684640552326231232116982851573330767498309877826518032988570539511286024770374423544719603630254254295528476888598149512088257314093945288482056051519521644156856775957938642323303273620921270130470327171805810939971066557996112768681912976433500752258688160546870469584130707171559330987434815239886991157398480262611841327323936346115725615114673841618602819950521111036521280797934636631174104049176350761518236101289599680252399905591119974218697738040421890256489683949277519420406558304516665905173069246764120120024492756027184217282685350021923424912207318837190497924471744493622309992256955764609472618457543838964717115626814652315127144733591150526293312394934409490271462171070392711969498480322030647660596095493554852012063465034326506876490060517579905788800823432608853758319507847910630165027767000337310180454344407883733790242938453021485500951426186516900090425477968325754392362579805795161294537684341537947106142527108446057831360280286743071924057403155530526128620389707218011840444753343401876256391242385085301481054480774634029462352563563014321637913678336363606115645144595032760172293849818219110252970924125936471545771611228532688233113753042083112352885004784217198162031211065701475782886114251208229985195340088806691383774482150774983983644659503198802480866262512128416792771523899358991953155406988957700686525828771713060193835250868902283221146094836996787243423480054252381228410975426407321823825429341707175062356723231029419785463885099780102841184007300477258897418419773841910710686844052992162535891241187823843584680836053352201748609458704376580902604909241914842571208605355608498841150834968980698827582555115026102243243810731347495440215208279190337892261901489639715683101729513886276660135108627364639831835731137312284712959100704536972201107057796863287072880659100177806620994162066488804665183022340907088986313941042020404860620588851756891900446122111625131219617182554437676539449586935386568466352358635685798424929042599191595549341488231271971437697339028084975454730199845500563246111300898853758233427877663916963903412892L,
3597733033621499442477205969154052858805503728901868625633700819023633395160320376592802354027219546119535674812364783992190930037012498456752862613634677844452802861217511893289690184378271531249863057038833316174568681287413614697697561256152651101458741457020423208489761419765063507854582787506551296624425736279781011567885725631277893453289307594221151497173775314098763183597069086298614553054419861375410555584668199000790514526155263597551913652880638651509796489498978447078179442166265808587393072790086656005565508919624114984889241241886781689627975673399734377227585153055287595378499174797644943065767910002591301287502324461326825457599946985824943928356077939542086522644749705970748085908521132612861131232895022128655638856802431258453269830736832040548565289519582879628683018315167667726956390644296762071698138056098239694757273219064913150061369627141715537530952028165264994888158083102579246745483088433969036874850133158349483677895089405215944301066265404738161348344621328253664604220407169988866070825206276191278674072408548106708527994479832944306485548453067149746310734526681760355774832298292400885554822997237175587335740096898365590479269959757335878991048319413426422277932101351304135445144925939563643390890973894035577917185405669762070861870533858089883529868293107726743747604996278211820342108002200599816640929629165952538085506268104580797090469800199833411794408304205510135995888304806995985381249427391909092510037578849706152602917466173660806462096594816192937106221128493153092054147947837282596849166973360117948269995872503350861913306752488933142587065788757482462666282061343448830895903623641067547410400827897603056524542735115506510306044378516689614092624364301696774499785811891605288519683657503946449914377059744229065141964307161018541646977628372371570592253665947967482568312151800651338374631043979620499639717034121526578277198783764014299582730246230351753175372309892403686649453288387963601741915109342927805426821748683356090862789850946883718890151195395272322460263673903749524636090813187095620623121402135713926807645735357303624355997155971869387538464613813212757552293647957036389722109133258226984471969754502447359035509923168131449427217458505081239253042390342683792198713339274834388449177467627595412992085815590050742272071703612321087278917405633232090161496996768599956768817278312845241356326960952972284597376657362489052783964248855358277768742665562173313380948880291885084787154720250966999452995761920754592354240293413687477206181997572210964987047945247318379326868344189317028567489608065759589727459673592200934747627725990786165720695145286748486564847302121252556259444106952975429940777259229921245167083709852550913484131057975868268789191449213543655208583435218468996073760633130806974725676667816261936651667270247735645721101232561912530068785699378855595910333222345188578498261446813453507963150375473537771143426838534585988405817361544676847699908302884849879363511866639101885650094843403299615810451476759566358795969632833229434098601375339239552828046712869986375317658195523918289012907497743183607431392320659705960679300643953465595521805712733205910472025120221817846167016814259975455382993215248101008490709570411368946075436869863058552379331386512300535950105654931124839855939007756928157830276464655417184077829747067134214276084568887966654811072328232782002976842682947502434390825682648939518684811813811800285323319966668376742175840266812184230328509359736270109951729080766077899582688915678219026695406610305099358918299839189829435875088480071745824897084577150269047061645576056623187287252541586362419492758300707242707858999931174302853763565935444810975896977337013939260732739332820778380834931831412982888440275471338375685088741012762624647508718957146915856133912593908150769617376421072355426700703692808303270318987140563864497827303975541243511063006177667395581534459667649865473148838801447062618979241993989087359042202783148907723780520573042591207266725806457971597174863111528441459030995546015066646866545041495719570451983499496366029572638953255824620129981971433298034188088284769466883870863210674765976241145289037416344750996625379736497749310988533553107095102477089967360092104813090266294704460925896046900652673281016252503726060613658360176990435438898173906023748523128362833955368419051938771555041477529097393140333111320829390395288897858410540501249213066369461694230860666946786183065345978401379354442638423616153630532682057127782885820364327040536231211867960983411646154679334188952981124512744948424618477643270418865192043609624571477431234609773492525841257986195233347361964743473269105209171432804524570985273070461290214283285608383559379961574739148270890512450301182037768453796886755840631476862915653296376321127086794519469289870953251882649954248626499243275502374766108343303897184568057319080266698073463267825763599926987123151475744397385374557369928150982179560898587513305577422708504577950637279625100051779015402951191653899898573839235411718953971233241517317319077707717921511958683027398299316835863260939374371918791163946584221231355969072440924429708551702545265595981765373905153737961736644622207050371073818762974031363005459874477942801205420225374951826373010988943812610668920871167829820631470853205965675221725604997253665924884658925349904716057332610907122970660870564880653244148478292473037544957266061049632774515401820966477273399398880077519505510660590103344834168623033062095945093232042930893079167575883041074629681842065457072012518583006647648646702925825782259942227901712003652544961582616606870160859895029364786012696660136049628148419579764494089726302322328562574318843531315772841846579873548283515945768482378132609184595972247351010897830159301945411112923016626181670596341578060919751724291226475938696567500216919912657514822427673372294090612814466660975552984813504042819054228170611497552385946352890708670861996493674406445220163710548834559489354743694926073906850346461506843985996620306771146181612704059963206622307161677848707906652877471741667503911035904099669891668867734636777269220521425071588074771183108741837051414888044657523760060992767696369161891367575504247047989018213522330064372339947906319717644832934987967276443571960146609269064650010212658937142388110194809849928647074229785647728638831211284061569067458848934739024646911829907241834771755998646808332327006244127271167827643990219066L,
5663215419578366662566522533504793532690442800781726152081016949811550383110109185766581670904367212883156996534441260085078469034279509780357795440897402327394410531215317655420408000881956709439142337154499981461955709982394148900656637404257862542744393456596382017730517386517144377740824788597892937633747615695956083308998419257859289127324995301274196423194712059869554595471712792323712429520231440078294849633732050126125985461224279704889859722547592547325464228001178513881902981179622723383080969971386675428704326345414129020942813515342381062420932098902139776253798271041308112450549494565318758511354415624640099940656401237574310583193109520878390699316464138908427515708765475951832385932195007081610828877058550326946888424983033027261353880499860149924184780836917048752073000041325700978642134835803016662922879787811795482379984181303937140302633553176155809097746037153049277293504275116826737281671542251525872488261136065401418307147842536881835062012679807317975043982580434981509559944771429328856236688851606421420503892197159801964373069074090001230601052240084953342835774419131951577634036263311040781825572500052062139746823820302321976541671311584292854801132777193181814880122641567774354238381544782091991050299053941877211367647591177671322504657010123710633368608099716026822808478101672938355748680656225797234254298331513322043171460429568248429141272812353156006247227810901909209344762803157202239344841899114288423259347295615915359104626574071397190837180440590836476019563350551862862095740275640749953266825863182968383541951202495934989853554236141550085797721458629651500180820616392675669188130961804853181379068188604342319728469904521007864496866238162316761742892777314289112321102560927586486553915939535830546365959192051377262971405509418692237898367854711493099453997765503969747997470773958552198104001214130790110453752483602712942148952990993015778274653418913962234233119440027729385358369966921739949731066387523431624170246706722948177704349942798177276757537076106026226634146221562026339579877491091607104784623660676021334724869063085329449460406387754303643437231277651165660763495342709187914062997694566969401214040050607669656331081240923917159331219668905222297936127735642556702955366317743077621095225910807757514423489539608874784796974166560888240168152074015929381488584412102335418495172505535976428940262201135395671228020791733759502014957270311877889468215808170315851027155293582189996702200031176151991674040380460689866992864381714077425927846903849184282681281456220140242797007382693790951545513777695207599579788442823751820947283037056374149146711351574703208309018651816519133399229576993589439286584850420235178668159116113922710874881737018450981570306515052654194940834517807447417417137598981497265006222636325421015654170075911456568023973595782283294720968603351384377357026364291087803040049523600054366453788141322578070855244329012718729837119912516665410310961855991692024518734090906271128250515720540521785645295589357923352046344798932939126373068997162997286605368386896066230362380092858491265034760342982418946066144882381725691010190753837600215485807821897898452993947312590462192041454591577223219464764148628318722015827435264883699595792583633294004061213724874541819290878472790256481940796207162133702116612211026131464354074921136202316744114951727303466884916530374725897954161987857717262995241153904047049761242709155862621232390555026950610770952797701927921078780584481873524608799237069652310538351851317610040072709104756744769892525168438950001094098242337488208625327341997707131141305323420678872724081163723750889521382667326904919701803084132477979371107534905223110906495198249278675785435839769141955559917067768095157620439615746897537334187432013908061950094487292569066890643384834885540665780764948473221039107386000094698227956931717595877433711843300571620389601189589376048469978854511260307807238208702934452283175596017491921535188126728722773941839942606588820135969849739035833422069946793983807950922663483499151896265438196190633961199008215344358696071189055676678729501199456981467475896931178242275097980952234534598317652293686584154812299635321884399384819809616095628874856646261257419857352251029299038291425369484026313960183692956663216537960443091570576237910362360665418817108459316728393797076658934192190069923022367062099608740671641835581984196094782800794382410399855302853105445712077081943341502710570208638718391808895452466516527326835920891001106164323845686339349909989295719124872337939264677395131513622254164068237133023441534366939281021955577205372425224518413332981954865874052326649762457820188728234343316352372711653592640532709293324303632680085350977654762615753201488687828499107595072476445752794940807055201958337127644357988956475503384755327934776974880244349511952287672115788631543338891338940788642345984716238417367066013593192954399098988266042488222539466903355660347556485148677456500117212512313558712539463698243368030309410360124177500444214314588096372983846157108751685473830043141316484516148727804616728642556745030269247408080606665990849599458365073069370753939203031332137027179689751174477083912113557641014408144654693749440615084854639484950687745102636601505490331275141112801860771190517201086480115195789769437449989515980873670688548595453715963141479086712619370898077808793768592572562187789845172531740478452682776551063739217797400702144597590203481785167909179985497316717577916173378169994368777028696768130977152828215856246973026060431089963141904429362198405930225070888285046855989839391447446211040373745086308555400122329610171514469615346335832605852577888274064095208152347349643961269902580692339475242821697807472481715904160781124653712385355154146665109509421192127582249164055591612652444964099290675269906014408409414700644029057773014405838090995996796529321878850537162971500299374795344080564234210476124578114126209634297982902461443240695310064031218660411835182122051857996765530189658812681772749715194891882059778915110225321376635094316249711027429957246799626016319054692561640197272764005735719026083200736534577600148496205143974192246395655358544672849006821754484115871607719656053029550506696030833388655370524097066827077648707551777518371262895432166628905001735152296777158723156328456410048745845029100287523220969842918850031283811232169786884911657332903105046554772734005325944369693564989926848080714413L,
8913524144680462143173828404007719495990085702932560184047424220590417588576351972232853521065674736654315228022895371094738799646364044679169160641856914661902055567578555134238063240919721900911146116736400940077867238111443186959775816097162931098256519745518990615729488738561728059702102186967941827919308934237085406770754716776829951601542908481738872193650119781965321794355464405827907145680116175817957780873829041227725056701940664230414317170802834159282224931772753603803244039558760240446592069110855581835101214334544122977513585138452277127283482586272508080743784956018466523028250554588871871786706983663016101683899864300909638709613532974713933030998161082888941136061443463642773967242799592433115510883019359043647987394056377941307043626378550298820519816015684332778339602579012188861615309017039273738145722177147740722789285328539815572937664226109483429946641308670262818177528192331946393383426376339526708856767740291065443671460238551332756845905421710801248466202193863819568334987628399709485060512915492343611230141930408804289315293197215455179625419823070872931210372348588587609659129651519181867962853496142897200282470845395731475155481942493452584299142210771799561920939146409418686151548798726803775863446895540133783247162740451823561141157602908920292764115281060190649620053248232711024222502753122766412320519185123271600068501106579792055805207006988289593225007660918066904443825405666173439072217073767644692701362966958048444267672571559455341653461724813109510526072760153386113832972969383314870795955044563706399885471999974228072119282739214517972261464463881136672296689301334705808429040968301571356318622052752271109203669366864446459172147105362793549193689492658311214200085194300573545774213546221244844341651321745995497317202099885791909318249217409644384796480537543173893138162957944162048009366070020354835204682124681845223284330960233028849434846990023531309836757056291335376777219034540545017968217651670992739593492096474005647227990664299171750625278164875084715986107719734134073927539211385690428142205048631515470678424666920606721848944730966621819334622138360324611375321562448811609047335517881423053525899124620807290310240134293327112612785127753538864780259526927104702239085137644786405667425006878000801091104014923585544966547145204790625794721079119570797296207321539148063391540334747284913261588851028889174004587825343517240532071362087318136396398484768145902763287790296052114350810617437783397185589190387269700108211162595988562890112894339148105748516231215587789060500421028033464707496584438989511246833442830114519737364516063117467270355587017915767554419330841765425913621748874463080062811916518371245750125857032061804556296531612236605074452360432130902288823850720406542261985466218520437545197529955414578879734474130820699770119044678348287735760140283048266644901875861579293768855619740096472388674280672524348972589167983813138585612418929097965353123679290337330181493880302742692084690359575918908048403438373359757968679967562323800270397386463087430898659368148010190201310364007468269571615577320792738290427381426113671420968852872297185532689887845547674684330021087912535504066230416242131009027056296578970915130142141472984944275841641753636275841249886457007837031396867206603497019339855237952380075483440841321553432691763449160151287985226336196141434984987704971559691466585486119219082281677032793615384364481129177098109877194352662208361879331901368825929478594969138736042902145316641517512013199070219735384385830274681290173219136839080040439472620809140107190375397207847192968048608077420510455164887974566021927924181407119989911156618647909438081648190987501901301450737220020168449719281553978584106716249341882340683510455303486947784976411330474042467065895303633481268081078110403189003564065921443874086062428361542549750709860807461222856535013145675963886628297980146046596644504107913825237900473246069966595547900630024814962988569212099787129822548375467703114371624732367126785256647455745216694183111138572775275758609555831823584141589003899859820258973526420860596554728410161491270083027099054184929061839687012467317884049467836682288331334941262870638516378917246560850289658613737683257143520726550867815226367594505768479418897648522429468029042600248067799785051149781053869916528817219743528486133540515786621517133723084784440444180335136384356453585853110083010792833226435560549586187641893210676322764223927129887720297072010268460467624859300529248107330278483249293622258725960435075135574955925271167171373303198752161460117062941234054518512911634573699304029807337491509532529191819628059245285472664081218170897120404405733347259324479135843541276828467439838500252321668617097609802502986143435074741850426830091206454895686263815272604538266854725755650658388715621199904618669794629341452016916244122674299884358656930046640882718909200204030340094174152910317227178981488984542068106608016433315899781736989091248955514367911485402329058799406205402456150688989695021855443744480039064900788073893895307050220447256512915222855298844156836493811576405598074764769359554645417356702842600592645614094201151404566185764776385002044709988611861786565611469015991810291915914529304588700346383700309476189457278290565488806205962445344122397922961634832231815563076310771478166133244634797930859717613213880455281368137684042109537327701550928937156268081754525018998821713100071749057324469916848336480519851992481466828337102991088814740853098298939202599332430033103570765716503373230124597882293175666657216371532281650802613891064154258767784356873614405477684823908436713352743762197036928891039602468324145269203888058046492593360316299741136733829475990050333832379413971101075183578619916695497006544254475442916418312621335040914706234690066715013771743287053569220589117756100669980171491419134138136522452698312823573868630088024251618878449034046414598601282683186154666035982879318667074986583312294927164100604537675381487735714564228527688879971906887232668773649962149391514651464227335777607110389828876778681093765971092863584198530670657215976440503548333573098085548751678118664639017061177096909037414373353398037318326994185700660066067932131457719613920560309814234775603929973604991456353884593905509413568251208679226324003144318534864681021568383244381282542192846346526306681982603167734402608884988205581040970503663066755644083835591906914745302818663023L,
14027751003177267214174018357382646832217635898431359856618797480463647770261546364367799435503262522023563917178788522833911791082315244429584352057237209872009736196232950451930699004835472625614425398665930250567346174928437771375668555801615153599013039432077372240091014533056519340012636554764694517551722041972457456006394739844165154395673499983955354463676819706351934517967510827363406323340061282049738800296682093093954669480202055503245260566712332251553749965435402459089596062621616076715534271314970219981236803207239101560911671942015024971277159642281172146141708367348425624432242926834190577483614981933409263316864972653490554600337124575367156519782706125250790881200381499318955428239835882222558100030980720309793011332086233464531131570050360422510377423270947858105758130036310090433370476709009928515777506811212163344968575188801073078606406853472239678446503451299890385725565625925312573908279282031411380359440049742665879833288228494485949837081309545672717108776575474371162564970014305342928141301761705762109698027203899445420724740051759297963587430510808149704101940611405701868881013982152905193929159527209671872786911327125132568944282436386719527016430359985135918374146014891551547959657587716936047598825617683096259616958114820356283726517432358394564937427958766601568749678363797761546388695066119371772722221231366038695972322735003666052580222390172474560639409086565586723029911800047694800491612253491021047877452684451889537196671422783836498307764193116309929429092514124167127275835537496924596486318335241565438916311704161571851288237139231292167375501828052391395899554445825144619800625044950422582587121245199892587280765411297276857992627084049047044673525223870236260719764375778209614527646821136077420209307992664809855279873654313962844045575419360833852493673026405249662549353109793432035294056872731738600437144764324051025821041718425309450195421747501499369040218201843465879746902517543566370813884087438021108380896520158539057382761786242649085584732482940190956772947420029279680482990648482894122376301619175511842218680454673940923647100987381127926282386092337370827462246509495033520916127915185455788873779231739788276869407328574987779428827691027922914248671680392223322293038970818314136683311981128285894101823525182909035442993166154085848702976676178371028739507039987856109876956985346958025313617230340437263417988818595313277856888424268124160218570322731015737255671780063416700982309003556782461615614661934053934202485521325292986542660418507121287575695449367287041229601804289936392862351308657835682194096587425414471356405349028372790977834685716784689934186541443344416921115425258327665438258403369663219086200649690269517406457918544621195671413142539078246481870372993206485846571321760318257861342816812133976596500491418312740999538484382292777558451066533524353780413812577960466453848496730899569153489455713317725973361340677177982756805457608534233201919972299696043550133757633258351039379447019256045611799540054402086037447359573121710410152339601949699452213141187665535696248255492432115521823004929045783060220001892407200983848035846596662050918513786503408741961173787635126481053854580099488443167855282224621737294315460316710928583581639269945834041657373066229037379331562965927422125223620492360169482403671442455943221693949659475907427389981560674371602276311691128105663383460512917986800181186508369205993665605429911867315602131606696014051527587205461048868278340997118896715491012775727542412733530412524843680572230667058705836966109799313615759226725955276357000966867051593295477113724312307734963857621112502880794889780867684447413468820697372152523755784012163455352996838749506018840664215239142953585004175859971943021141532099469072424010406673478865811506698956880910590048296783852581391738569469097037165683825988257883923670252813911283948729662081370315520243300310465547739509034552684383666159257625635466036969172888075746467026392779776453454649417148194352031796918267624153240020836533433899444541735247120013140626373780722599353935817758452048259810532242119358164309876952576243606626442251874873453304781482481336767981828190122177886755143795148033185873616006831637509260165655586995257560028385748776933279947949189247641747349921986748713354914968536414254863116222559364651516413275104108180887815390515152434182383642696357113351996060930333725886234747351742708891491400195506926957992655077072730576786937191425780166428316459103493951819165297052093210805232243643618471107964592435251142499990320538145666483051146766029174850860867624138008016427185524897108103452298025099923280129867992362148877758609886428151218643359060229363610537512903376544985284004910517727776462274509648247354535308007470204611508819790518363323414568749204138666860241511662927036985566410175681615260761691257705776421604522696059240135044313841829909235347361919940756433290785330786213336301303320472362668141019491215605279261404007372612978818399273569661445418720565548815266776209075195541184037218597205743899061382552361140825913687562244321785893075016922512204675294447388307888121494611591812192062232366039768743959585573826420203963522537184053635653115537981031313321461515915409162982083733475603377664910581676732324784295827014332192643660406710873637820944350485929454598287418691466305738277760156431418822983802417253312347763129983339549867420748689249382163617526234900356765119361155233744731466016093002244652600009755344213421283157119480992678923865724706692103723573355468793426944529605377646749309772304974804985471948389349886809735494971590789009821706743550698703390789410990676867032314885833849625780484050056263682961340235314884666240839025763139393522029792364106370193207802411464708976461808757952869293937757408870577407459531773461354247449685416179600641458294443231242346985499987481111959400516359351530038178285762587963338084508689655438995984578825051346748048211583560597089892745409112410337028817074520202064285866148214345270255765808335812182832879099646739779450073311960220465889190588984998389958215034874512385800546198242899815488522861031399562285790665038486118066818466315418885501393751240023934042136604341853506092414457108166514813147716588543585621640505982654475521599048868415193535813476409849828263141074274910026726710040191104731544711245050703564534307471963879273934240402025934921860851394983312346144317992503522306079186083400133660L,
22073892119804265395670665033583059604385702464941131373937142479990266237949344694579163475556010341223550058212319994707458733708439165157965147278623029841319608769404370927597172425308388071672670685288819545139107139525506864672747720448833152615458298642106451642454700286862878516630904690577728423295011525051680854057308882291031458109824499030555085507792940471456065746916967711165658441893911316104669650118867310212768687969243519836426505032974073672601586099766643971977063461097289956262986867405551641792560339116622057632635183834150693384041994850779313425234898879372374913854308696439576937513407842725846207156652641705931091405139404487027225056571788382779158459450805374469876565406879183182162008154222359259948503029928062918058490080074521024873493663388684666477735491307348031761543320272730552027149878971169330970153991265267837232544833376473822231485964285512981450334345597586765151777684772964212551130957798151503470642092097821911641100027101104045240680809380384625612575492721048182121903606798756627140018189971231355387264890884307475208520191386372367008305522084857675056680427266911767472842339785777232417036590382769248812802989017675837964611283892155025521050610383656372638054197334620829556885591593900096067716329115615020019838355684515693422009209403534339764746621764793420289383509235931820444225385710911928362191956597247096258940286545679804419945721480258176433604294610723815784545002164268592474991226073151882267813578222811771151116696175045985234529717299306488002223307917502525126390875910959435508749179893038145931162133755032658468680111804544581355389481708754609201157565540311961029156970302502975383742247355265979795085972694631373827939623796825894344906071481380073685205686545329431544721674522348881468008315965819250089339025479594312602045585384214623443552175846970958738964895388533648070105378865283324760906331410362247298745440988723102064905205198052038857256496344044495914226378883092491954876004700383537245312177109717108799976342666164600779302717345176994525962970274368457945424067729885713059356038066457519835962697708725959479700065437939679807639972015234345664771749515817954999278313061068569957057185109580697671101037850805796965527941726390356697458498912567826186962928503995378126582249220700802188247308011908228465027885147043497881503426240104567738058160018609319041256019774504459223488146965047476280642175086039881690333479439509820630187816912100580791634634619884751078764304831738355867308718259982224312543610928322525595182893243842345967634567083281682409166317372724374634361368052270433358347940581152196197881935423767126448648927860329586634138056688188958685333519764991410845956983539238555619775741737732745378981920392428850412208113702007838193105584292742588526474256399290605786652089244759180448848615041656211655340919752177686127969920732240883869407438611187954879104349752492210739509563578459114578236281544573024025504942332059418168384120530857595401592539636670231734093977549133659056505382132777664933911735816611955068439012010366188516733421174513612932674209457047817192124536174256416602751750110806417977395420597067124313260336799061721972026998601172062028575830475074400787390873099531912638721712947448582517919877711389644606279134734591329174166656005741722984984288345936012890924113823663629663523451214699799301531177217331590063894311329346686950892993583438545498423132837672107379313117924096209761191766279541102190668971179451785323179564258640346886612978234444153237910339636773704272825736639411190629780525839185192189338916771339297212644144520904261461693174390751450243674195521740283305798714583107576118181470626987040340324610050897794172538672618848445178364499061188872329287771071901655304181141774762062080589178233423057825165755280669342379533179306018022617570908474900420754481143597780703183088679100146686801853795640185692342797372947172236398935200569240102946446646957225974880651088891271859557799118384678626197787233622700059740187503973788487237882817816363777553528391196551854969268023119596826735048231227009923390479446695877668118664029053110358326556008424417536551365872709126306718874021767022304480462870224889150700920919390207590456067361471338405146475103594173171035144435536748005226861060511678755918258248765140970668208087667281205575186552313688804310385177228391185406682764160978959981741670580118755578434276663230179723601188942982751763377978967179602288196187100446971388345443263661315581998030976747562357025483286722422203907857674138837023344402198263444015185220836115851171335260885875082453827012849422235381264122849761068529523907660347428412246026764892161520414005027074497853587885696379296797077837117060894953855595233817516346657217470383719143067468623051775058765788613044557605860767402339047953219486047336551853192614378065299414759428803699376026259207469405180357952238132834646203667197549477135226305830014086059025842096984735114285379845203999425328363480477344082019027769916728878638602376669626628757175269789316360226831276755893787170431452542178126961040197665604145888202275256064849673001182066426436765083016534724474255354448489699282517384335985537468855826795300594208221207752125534485365811291893171366791083148283176415181847328797303354219944290353613548625704052744592771839685690790811481938275012127835164482050567874857878779765036469734733522180638007299031389513710244354821448340150929281855358250999598204259408093451856782171610594420239830276815433835161618989793741693853816750403538392293326219420619502659598491975457090893156487162472020972193333926948954920011287826456457510220355732909335518596760721200936672638868889407613497896890110796041743404530304441117085785074790935262480506394960000713291641270211182491436421058030702468840622759875308352446735232396882070089274265329544526154497920688939316161564814755913025202881750683377825509512011292977317560818700284422576899490469865588704156076348870626256246961775675159186648485556425951521382019511302199974183411550996853273119970129700969385674515807231080054402904017250688344240724498130269811821333164404592658485948183318637666141892056864104254311251948282393325388833174905700789621443802064165357005254067407770846915253366975757709257018516072439762738317169576011172984308685971364124994039078533282288927959962578576162481983564732765460725897244125818506430614260703850824026659209171131965020462720909348L,
34731382539203747570068183661054829418096521852000029918405972596940220797582472806837096830059114828687441891148573038475423946698076460921500176570204356789630466842847649582526129219674099476781772715550974229229500473220962878260141848303845633553382223335575048008277129430913734624617238625148632485476958705682784676894589636984473750186263386731978064412754726295443992986393747773251395801627153845722791872002444087857517965328182883642942936500291541653071740242810827672704436626898487207175750726483041210467839294673415581065157938608850974614258350765624585858206217320198646782459040183720675277062901409198160595195763479323219489356826306198524787867261245956467907982781967438560553635942790955677917194822660555584160798174713932142065554815742053617834564499575502285806455602829966272376095103868019810801890249284475307920835244755392939654636471356402621121795478857392309811844388691357795284333571544476955152285140531707884102322272779021186252566221012857321516573489176767623426096952602588232996698186111524006381283201221318347703803490159225847596545215578452868192742836768688206528022792094028478990881679569228225355054065525608024385478448070930432910830641721071348748866149656004322626719115744800489598977740932648332464695590635112104829901559030444784568955250672206399257127602853772327169869483273414470478771256842506048676550626561027573970371459185944326535234837332643270178731356957766710655099452170250012818259834430184024254755744246902660052521447907762414705152565634981138879649670106129552709029862644296671014465702012313062521847415140936066562837158517248136730863711530857951610235280760246149812671135750782606668263890636250935389084344005414358325504875419006888241652800482477306513696580507435778367607915214021704318166442905871504913410938639168211311200465991231299775866321716205343278729970560790009696242567402319052531168701879398727511988396295782526803465452675051559712172360405236924025643733776717688685412099464933128983904018799658349919404409870345463690349899125584405484157750638499956009037258429996609967871737122177013600368689963765316072811420518815936982800836966897572182309345890037529825991278112858062064816537087479876994793223931962672697369904722728399166522829209325756549257134310119643568284050188590549541925403766749334673584202915216173023927619500715521240333533089412587650009303953819374961856564925928396352895200535189040285823837080194478366127165176475124400047342826809370558634575835169210714796712157343073429526986760464227368677740785966130115374546976763040960519691184318594165709057207347595772409569479106469729330290782624456040653425532436824941940085024175175619040675107276528787112292691461219569983964834805897859699810164779251449596475219657690571496835623292339740655026804153496758601198063567753793645525723500070029641356884393797445812464523013441582599431427485638249419561241990862485343756505619385515984076610899478431146029114451550388354154420695775419035235425269349442712516256493525647524567091058254266783079854372041761446872902649695182888055786360035738494035685130074154787343642056676757275114915900796274833841356533493599612086927253397647692014954315748091713776393807060740185022940338560138410279389232048015007118835820971357979623645240111729480742742288598000439864563025905351174761215851600997580212804624961691463992940095014825831550310581671800742199596699735205317533129798252342133387526018797316434797647395860067943274318133648820118394248386179560980730474588164818948282390378448546400650568581095878937602590104672165787001466541075783400510893732446938608179664638512017216243913206618992384007656874214775361105381516152523958309083907223290713012726973133209804524136920269929942786414616025010090068043128459461898295257521035696756802909882950636085594139603280150708582036492526303823558736864436711578303598410054798613513223794704625902549840307143289367710986280373265924022503203834529802180622376330739196020171046709105616147939986538541840547839324520110650730457708021592026989932453253319635981748591923755972980408434537817659634716617043001908321069722833719240277826676314275721795078597737265166623987262622462257395361718031553487045892191905973431864273779941422809979298512616606701434252934198210466260197941355781764511398477640743652992476048133458463687856244390322424446971092823564605094449172752007072543017805611873028625811878962566816815668897590327621605435293834044158140784708640922524914430923519440876999714702571051808662523836027459722179157096861972256970920849483101465820056343102740425621329062122958471850112411770443546703516358176610777992620212245281580303910852506436166570625959528690261447927690429893597437490152303540245216647748039038973152984916319100201173643089524740611240826260648331920942879619784431631737994663229795808113159847272710616962752360820077766214776379396280235213924881084463588800010711155764473857639480565516903477337188227145854027223548318896183903835642585999798483399476434343029538834760040206361076359867397196611646314379140307025799049621114479427228292144402630358439131057928994332101358621507153242176000241117368856870354641648162062489876462494124983314030960091231604609494960922525391044390522722306809544533707805032063085928087292238816056579056710252650756820085654125186808880883937297802535690056219556055086441658672987095795019717859228098938589882817470317141197117580603694606186109795116212688396880620427987900038376898395433447313914394293816836378035008430306027708080748162205546866401083582987705711265205402973160328501087882532526801208242534824379809844257334197343476407819010459445428007363217462669866593642598081521949786024779440248813980296538423421461057467570398861703129177475851855273123617985660943627510812688752607740829080571530245851125899319849987201005199061152633606755337367761023456384444523739742139858935026747863560338647697196593599613640228055448228339230938681485003598592616492615435517902637815297228655863791247870169250060897750764433806222318411774527304302339817720415783971142034786265561346097288095506349381454462135567592701636674729411187843992259974949209612176694468083484203669792690788962421268178544239319040139428300158979709067500232168088987691483530543112426829274470172166487293312421785833275129705334702409173814079218024488524069036236079395443568448539751845873901122419153163472463280680916166962796369532825933375683410L,
54640861731599045844555759326726172343907522735505026439191107686999629878677471718135324262009659300809674353183551660107163762402184802945655458061409136417371063452951140480694397045444394215030863427373933639680629628366745279287999564089041544542187027159083978817475645037547984825500169609288279831086051445497406881305590183930359513715617075475227322317795477417711022713180891604402878383589945806942442159772290263879240453812900232291253328156657849008116275513343261339865147447904746953187404578274970082015109356830766275562856058853796788296336470538142619649304127674524707677189203659635542423363117667679700017651842707634411766203842356351642282611360437613044024879409342550496704832752178205676612007617215647583813800633888650218022712883628383292700920951645355585440507316876447560122928619166994973630732361540639399033959795399122768163743818549428152703905673476651953301130230206497301773836805213762886161338592173506568038112379734300664354405614319944644835324422122439618320020206052018929477325845564350009298288465570670482252669905211947644770575718216315734861414499670588321074356430455924380702275265511687024976512977759083564576354445436824058688681414847261265854365672762585683596708525994515497977932909314043602533757184632658994865910887796478883311922975231368321371992828479496016054804598763562370488571206872356486453359387119845150276602373736313705408430069661958281968466209499751087621891074195474150872807087890943800389728479440591309831670581560729778530991232754281515693976569129800859974258709831106531559822337365486464905314465237522403165579734480845163436781081529306440606161506859341256732704076837563495910297110963604021025615521613046438733452757153467510777606623472750169068538407109880216530163098127426778689846975887735490430465685885250456159284259239422887454671143849874864816954994288834934399326811381192473870063180795098567381863270664265517753474082299596190763066544588978901832334227707938001307312548012112600865675949111659557308684825541821709300176776335624610262936438257933477601466075725210610420165668082321640524555392620258820636490975353872028571374792587669362439883219495581566116276483293133481084576445171905666232324250559596286092952045057264406091453026100190417396365192419998672495492845505588958373342514648935549017242820488891515904592652916700944000735501723759034955392323960950600953625401352341434022646564275732795148612560707653635895583038274536475794465997178810389010789261265574792802335566904307277313967850391429673911247155177699891246642882460602341551780025770506345229014318388546781572086492206264092048378993249196935332929230303236756445332291752756325877446255026389405382412462283267362657178435733697107077269788900476444870412883155657961153048867323973698143590698605595919363613590760119763135845713341451068278893430504133003546761654549527673903984486827841824851404534219240415398853774776064979387086462751013440662361261073982077409824818666670148155632827853703581731485627440623581895455897492469008669256123208758841792425180370759385530432484607576825415598756707984514217435939178409599703292874164918175343005263078531389592687765823265734778814551419116272238572992159078628840399043305242939506165009723113964506034892065484562511268720765610314021947471688909812128518287533593879488235797734756785531436758795574502966689909898313539942879121117516090889676516529983988870490099485734521722922063301571791609476536843651158265886495914654787869764651825469181972292944012733554098722506609704568579236169565549526505604170038109046245214500318865940182240051218174109300524393995999655210339109072255294411112728034416304417003963484638544848739037486623191951475125041207100867101293528574976014741404356427231050711379822297868901464715750557562484100514591093211312351086510133305166364688963455562444659309628634850340075002879651281573197950949000561665035289913978592449147368324773100453295068098337843658874648005162913157753605728772185150104445469350728909766360955810024970440945062338976399541646011399178149230887651777125970749344441961240335714800710055677248387889723408762192102656179559908350073351904365426938091071494657518608477623250985554174877090522212012261299045359644811739759240035536833463600606197625886648187463060849204467844225166583518000818342606897832255336934748073034120002555439422337627001301760392623673423713528340079406085569140910060874588383023858140703197685095382313440805148313706086159265898361548193800082012572149586859523980219797716012491397064628291554838711292816188026182377674914371908172843270158331367289881032269525089865717527062462862852726752325672919749825670545070756290371574547778609664942259983124649976900744113899139957894960212371525459337785054082344759533725941330969973902851688233405285911220325490114444498713476139404243922868783099521023311758669311141724823809448637702392315304404672635093940093898494807203153228193835452562447418354297597948510326841980974506414793595834205731820106983513063773910499062528579784088058768763518934534423000034067513854186888646854740832565778752881652215288081284106647965294279109819712621006794348769037952926229471485431356103463843465339582184196618272057381030393900444043044101929909921048316886093256563437468233204082077829379810375889234503070774721214639320797813207705563812349949836266057613987555252767823202812871134341379868367351065520455293671849073236288849824178575142278702547895823579942016166058203769526753916361566187606417371623576205435821890016465072077394948080757482124647436489429501780037974530161448008372609673264930608090716308333623296588643379601577116941874964655495110832387621162355483995520868296393127349191478910159725991490540809527427321709054229054332432086680912661544649138261599592476344970637568150952162262845954140272424721766777120321827768899130843851930748403964219646638797484846503059053561967232280212127604000017978464550216121655769631630136534790628837049756071540700392733600042005384623187391019695148048360664745264294031769711786005122365054148286186768190569709969908850792034299433727292382665779320337727238335132602053461212656783460297481828428409666022122448631367454905336525383367037696966437506167081112241197955449274568620536546825469478905932841644311737820207390325204358677481391514872673478123255510189254947633760634524797077147639102947901822114841861866001443074373543892506618619979505554605653655538L,
85953852221451994182134387504583666509721516527278229814641587907713612482743989196643643185929817708915733415112801272466895404761693272716242698882936985152315766162466893938080317556068190998680002832381675929986083761361908391300918347734611719412701176315272671230224097368565229276011903257780793060797702379870361064551357925817793897935833062459062876144782091390122468921422222575970393299649422287775436834008342731999403001579066042474017927826205214546319572659532964564681967478947734018532592955358512496436455064119336289199253128951783219963726640095031264564214872007763973079667225906166327191272819380787741432723252518506297383971605454058934186995380166421786415988486710473491339093232448864728127162225248010549699041777341300880748225947914414552148448767453710125114264141471472243657796631968808182814326208909215439868176402800730110434336241537187769239678122338338549208338024619205967191631715673297967201132641197092306096881003736963323692956472229345833720807546342181178029305979354047008418938093762324619488597899434921022272791293766442755238074404460081326257434668781447143038840570413291008729102795410839388839441986230011675252099441676038966407203291112810784831832611009443110835890979352194306906319968708856744554173991415416815149878423698165183360494645514900747650809274252994513557872541046052111764412637951458456578323840084727798322597416673920213388420577681301672215047343417553036994053888391044987115626860127875711797203622328059138661200868359499389770475509163274309905658550223731420121432614432253421556502833325899743690204055151363717401683862681549251376149015282797902357616044274534013306180887606534226733629317138467505119788619957551708739328714889249119855738984841522908911892807077297119554476971037005697377164421401413185045266760812334372145864786248371175606431977350401539498979419125902756901234339045304533645284882854519863891847138492988933038699278705862340289820521478661663410570189986215816825038668344420647451039214432813123373762893287985248384024866177856897001969373847255754744051583499684203889828443472892392211738881372971795550209380780799922195641703043479058872873611603731709627540973269665232112782960259433924240550440428008390937293387747133632338295368560551249827389032227039715164700770512522761841504358546736930000340765479213151702439039984388008096819115385701567622416965401012625976815254320867670368630346610971086856230609965171924784815019806443967150324715977418705799090833222807264110353338179866213089670632823179354462925207234334948122920670771974234822336552520637183315765001682945880367397676100927070872583593733353727804528085269083718387812302370168201967034165993709112180899688259494320841886971481725033079166593941540080078887816121109099879379526800986291595161976030663374344725110812651630523853347613569517061558596602144480951526555596789962905172875061225648449717803698025843569267831952545562841692015117858836596486700492422111549104861519687796727486246031794658407410001754051243746397824659241109171872823331503623627712205160725264691080471844392228463479963362389745021220745588398721181361406581103117352831910887588797309527362080346879118406328052081769845159097938059395627759267230724025361351258458475518545935920005698855376151679334147293959445492854322742173857189870326402764349981753365831466019773754553324779318598053964594249613333328276228142779404000545275209289125126593595786094772398625147623572293845978894881207652066378889688218614460277756487775233347458966802439315942658779016550488837596414540504367513793734316423733795698796301601581869882702197791840942554565249387229232751795204153934750565114079786466270601273433548233961837227008814431866191205874349982142571048408833028696196305289110286691238536997798149577750074410349547858681308352902792309163416839724388210444635344695304094421664873978070636639169393228077254132730139789491426472456939020891564767701404043266587016603405585123925418828538734612528789619321624015725021964305222731488628166337924312856272715800420579740407244240335799493930705644054653780287084553217696368470251792530585300468533059007564445255369644927617047010865307149035999497510880406011891269013324688378643862928913038359337253081456227791209485005563203006946750461424545273098336764976991372365554863800713386153318052545627659187352922604105661255599063134026795157309806464206888355444812151195811274135080294540368649079620036794994915032745854661726016861739957316500558200200058152965574768229000212317526110757643260112343531336313229977349865290431516902559567000116234088386291137410137062495195944412856164619852833196317933340804490717475080663564120314513310863538400000143955318444194670427342468508801888641721775882089497877961554762777253498865022809987173199658744169341091371337007092452231221016081032880180165551888299775215573322768234568818990466450418963481696938843861699268286900949370153332881359721587555197472602905829787382542219532768605615893631696399183414112798301477969185467304757625395938063437170093611290569358291621093959584123706767671892434167718911320711634058081212222396469666482560882709856980604490195183629326079351299090615209781299382301434672360474961368773759346578388581406401792142100115886128826016148230961029098964785315334118354811853737461781096597289271180914071174660170801461743511203397585607700874775269959914240809029913535009845504883069080820002768727561922660533758017187470556384427915437253686529374113164853116886294901451489679394575017716675353943205248497418271680535434966054672945636706756156711782448668934503474997318106190548529294704385165518005849300706831492557448474348863201587734799858850528209937829725333726674629352776835074571743051420452128376923738381729153188500201320800206277553206275457553885318866459728866046207925116115254428687644682250466749862812832180434393851506440532534552540660958457504929267620880849382063189097934252783518776936804640380222339813148290504935076915155976855764128138436213138992818633742402714937862334120220903392102457710382632791685687829342490155338050575287342205221028270848494760117962206036240626704378747521689739344015914876896111226896262135001570233991311739872877407755320149272462262967488843520163568670870535481863900621509992362396061690388874485354452713651592095782093784696007824444000545907747985737167904378862193244527128300116011147010489283343939472010498474988342049854799603221330L,
135196519760403564243337176988559623313005837352647730226216885534304454240462091123497078474118268329217744269600872969771251351769673947887697716193399781714421875978728665541639782501912574549080636909819928212726448173330445758574396455050466556767707244586180334566973945993874706555540516419608763849230299296504149223302801572918958421720522788682264842510895915999078208406854522056968380901782439195972029448938450882294196719254165853318828441062980203577786823994117994930315479412553025957170943236383491811103089958585011678697194036496178913951478602290623289964939005566961262858742511350511980592909432281943581586636306797856121024202417572173647933141220396833054663798241496531116988475607742493348733894756399437074280860607425887570542639229972449983277308441241226192912561206008851632180723065125406339114360632800551552251513090044283030496339017127107594180587641535400829743411700753067556625945895603734631218502539613089315136110720463658110418358431605704318960700741730037399424996843365828567049720124033507499901157253908737566740076868577623996887187907939256981257769302095732760946032627074533587761450519187470026359953810177047942625932137429846951171522232167125414235104876082947316639720362415574500135509396531143351439416702449001316144715276805437412133505867809699086288367143174787031493481222979569506242415077989771621118207696433663895651007855104449206052881258707530856482505641621772833237263081825475565525472810336934282615326024274046530765029770253310532356491384892936603959787165379202741334187045245428178300071121348572162857294006020671079474855092874492612386142709104181870072647303327091350991964614507957879770105963874031335083632905215936209503963130420370179734113642058782890667049209118723088150418620144966464384914331588576983790495480382939631072422167265698403117765490467910369007147517986219993825826255867924295749807157337065609298384985973943996553431944192667298698345387577072363947947717914243189082260147650731529838355060255932696367643402295132622860567242443887214010759818808561985873600475830393766017028167175572311604308435434167084218027081222100502545224958653508211745870741163765969280666401265642491370871186722442967393954121384406463726879601617002600823800983881512140313475088565642834237943286067297880150851252091596909169424746274941815054611411744438925112179536542433574864771487175733233185133148610308792546458545459238508229094233085032126783252290924324114897399759809200165514638099049191016851955305320314737211976568371599762180048536163827955227244867393295879055092955570883663246522096360642772914133819821020177766038327454667354665728472564368428701468322103070923449153986313704458663839626288942250359925887074053873917145377849109396712974503452122981684539511141840037021476621050741298143008994484213094630269416176304687645516298086404164686641444921867277230275603476157506364839866840165477463045183335389049266396425229145371839207193245262695744810810673626255839435206755781528434540521737612590407576430033528536249708919857888432432431260747151417127519003779221043707490487127287647761118358002083723928844091960962810433187273005809418598747234625644276197895174032690062068238518957289888006817642341117068507692911051414994183805272283092559669270920613280326993203344130032552492715103112734752214126223927476806303058388556801207965286128148409221554777505948873739520260066753796350357440936734803504491083404677930475951457304787667224993195645412517117857052679808077767144779477165026471822044894180978583073139971233566062489394537676451239530051344000411939905337974683418718597520700965519545112836389513151383564941463970234613207680056613091344638200221345987098825617557813589299237893161714853188120604455381976488427929614778529942216108930164970394779077380409850356902130303413668153141833511967236250510851001005402330143834199073215806708760761400887512336282596125215898388323149684730731581902532218334983046380655455012004647561693310771240923893067837953563327993031764481848333690273658171112661652090726329660319557133598486105476718871229407246213124696035492210306393034300024083932152732180888321382607781503004788917895185206044213810143134945012464007401551269216274315292638040078882095832439529553298708415839325409507282147764542214449946507169556143565762800561600963013697169642137374569509154916257050550014268513628413947155016481521074079550679775655358204595016005756997647420231615597947433005508464961080316573521303156779676662948338831707404642759595456282406014878197800846146237672916531368559051023835797066745947664427061824816171789924229543545272242104275825176470035563190840183933757891898206511337180750737755906144754370259364727372894867754644933930151823871140418955558940666729681929989253045779000094827120397284799171485642797493511019243997363918806512164458092337521227786041103361932126070591083918322997832382445686788295943497950266928198720607705282679552817939759994789736107492529899365039380973951174807720836562957045063134648862903189843265019888405354377662854004235121879909914423315609107860267785602464487352518657255103157168320196265975860005492700616306777066083305944282430477439213604182555005057815450694780152507456725664122256952126707867401915368643954246750760729256399806966724734070875222552420261839643879111600924595979466795145616264850036865110449433348755316102272599294489147850905747134893588810128678489238874451565796846285827886213781460502956091251008190627588675369115012582123818899040068500042958191519595531301212862440889600801042789099383761098639421136040740851317017750663474879284101898058426477514038556557851130220064730249724556834762606828021309141669745952637502522878423262236288309167112741467842001167385443855795662050841701734568678136219830175282627884152471964901141481131041673793329013960676673139162741931352902234704554997529056792430629842569838914258523154222810667563226870295604152958956888939450029031107316226026536024286200746209591704064887782710931664300430835178669635907106448496197880262384672578989330972055650560919544661387110820935483197900126613962452373459755304873267975842108534445960543946967075472266296488944578665719534337621579817299278636468138424431859765080074681629154033827466633222154728262126314403991010010721679100609479163944586717660204548485972177930231607774862980872423906580269246880641662521619286247196963877171274278512572883885800319837043915572396483L,
212626829950763504222894227631375399450751410888273124145280053936045858265767850201947835902441528570337689538883239741729656092713202558913723879295287563133132548901426887195244994931807665467772105076745872651774030420713972790980296412717790140316307809247736919340532411089355002933488228960873274306103911249876976524942654678499504323564888885380529894846512514508234776779135200116137553570590542600513438955280376918496327889739350480794412279348576855472191430371416300561957321734533323131891586641475131279278446820864966877395319952555579168512684504491914230688072288150635935272026549577784018373012902518173303062209022305029282626605870943207119591915668490273811279860396165272527229634340686180607454961970900104657500987855526439919555648413205684964303317294937884017261815720892290033118755607904585479376335116297947667338584329091804323922705898582778529061972543716725968972127736717054124658287646014941512886926658035971983135538751030043021245124593705040043672776730557910016687818364118024280096461054987905965064428811263641814279036238977058394109284109440921827246031177396510259613422956260729908221306661204738823995111938980762958373524819906199898847684140592419689910708849584697705444532802346867985095010046079314117141426894010984923129621847282640666605593286588369572462837797160971267509775074255680080770935359320204075838870922051992537867480651093370152607934220223329555012534961658726495989171777647535079339060548278415696119018161708169618423339384167191631751195321525980573060338460678090610370481165912408381362062447614076391308987133706588723974892848239995038146256477715745422621831935907074239091499474002198615673480268483692282346895259889717335707117634626119031601267062812456203300145825609590785237604014907293697314987336143967912133279213714401576907351905030626429867165632236743003903008539547936381828797900022002337216443909644075931052076515894936509793029222153612359704799918084115393274169529212659758353316886124891613796154501562954277006696507714326351412023192085734366185173409222558944118825302594556157598305139222917939235933179801031989904312216256481050560447976279092286906530584446238468215651353550356197949315322248658680714443188560378097393241102721070312740565460174723274750552649581826665974319994618048599233896920055845932087246004280268816364874897337564154068617716120428890142091096013406139334754947918104813918951738800388124169937946176196827394492626223619031066654223541788353176746731706177253472884435101239785684185824524137815983852556841850954458620907722394736176176393241103698956823570304243602820429950398501964394803813588077388569483906042815986637906012084532522511123128465710564732607457160214172382628246504191530657434149979838647475540165129831344228165259972478719212578661066461489123475673132936980584704940326305111959847273314073354228435381827568606475334822881025570279354112126913174693289468081012924380707196993083004597942812605460228601468756975581032144080260460082857306030663358115201531826574798708263089553711049823092065726888827333164046657335547204643695326150492620308575663071540396413292618170424503859134753410727806573265441673722706643957747108849281728559410141722279353254488684228002572436289431846295985885831589626924024944262403228031678718193521251402491728505670176931863766587096462444938640220028462430764209482574877582763380137442831361603328976347516909079737090449633655871205916524131107050850175136445504154539238711869815416188473720063590899617669240476979945070025153773504904451585748120486908111747665505995470792770534679976764663822239150405101164114020677040094423530882825964480921553230707013891581221514611634556279880446398175336411058268416009412604652297406683375449718241381583682652673557389346305122862266367778221697040872147992764562880093744164022335090714920810387447214443244676673566505612491638981975384891053655482166993689446183182748136579941402575203538999330905891341848536225892253838727677160623882190195386580090652407926410081515825317006696139902042040758113160557591302617527236037357303287012458807238169409164911137334991274804085054128256524870914811074716641904834318238667775353530065392899494709170883231280716786712408065137615441738152639481709020895780195131504866169559825889594435099353774856355987547208496139443214453532704825807123124923739790968296058736328422880123613275762667510843963026972935371562870821629952573211548432867200063821172713830475540707073902362971813297033744743969334985378081424905491470022981093542026163119601106842488758819878376073258142004077505474722648975111186979150964175197158123295703275265268102119663589276393358606136370709080817366707916889427622051342484684904952987653924040833693800868491451783985845421778904984344488786922445514701429014753030868378965851482724465100994456321781226560892361607053524213653262614503056413620974957243902388603325501003921374501032083136056630901172372527030304429761466383717707982978159539894993375376281883969482241686224487821117468406208385176842936154973593468650181360144239112750883750260190868276279816591212455889853505717526434330570305190318573126416802428603705780352094742495432563790118170459570807849703539650401571847181818224780234793861664680117531437110756431742516057938531233864788159952449221547495042317814527461882811640180156436242659957227901229607728495846336266292335068861914045495682565882702155205604364689917783957963989580522124597402413204919937772719837736337180376447834814476562576590779045459166422076428419559181305941451314102267205750603955422808955877213724018537067432993431919632347180338397570039330806207277275742651188806934729346102155893445726545709626538677059439719208002534054168254679070860601621458265463319115263261564084149744165818153724993941867754755998409888428024819293446452964621796268059652345519984322864241597481947641368280665656733359226789074825709543109339153883268410549060973131570498996328547275564723897137718422930429432802661451286215431347495640664638990952688995012227977475982591659498521171553123222459970554948104530364382429431592299008992729864206628524565148615660440258349988033196786892803941681038638132483092043498804685754793415255595366871998940623259900256901981712819397076181575809050709469974920203670990434553911916528253464939581812208665716166683073803289767123532883530224626225940924498470128907451205019802389484383036006249355875232454292524554895166523318L,
334366705645509009991374312851226771808944965274855406215414729184750730264894402966182075098588790653388522846214563382295482526447976379289239004899706549015319903612591334413632968399231422992654574118556857477071431444209573092184435821071098761427710102782827432524640752969841880332726657509286956843974758935264411712818513913977798478921621285233197891039278575080769291736425514177047744855141194828035700008183058614960113346521071266353414894560191270275227288322743273103518955799077969995388884513457707545223630357720118798475318547424059634802671994154793371187337692352205695328037467346805248464090283200234890663800784011879290041482642506794916142717564328600408427379870431460375697630993140332223917172679496579007106765282265131516026545072808360540841306472695990990693273330050965081156078077441774312722739052743176572331805708588140203418525978141555297685893778374775922451614297165413561816906140569965486102161454316546246710379448845699804988622357166624534668969099296529332646780978414684861486876070752181799452412078765087660813450681278835777584796402919231470926611206526762732913389318083935406933132593179448668120481592114403771035120591544173786690149663631535363287797327340758495792278037348459976348925621801300705684482279387212392728349271947154899649122059234023704466923686464286121284948306788569291749609556052003219291882062307792465515485694328704902358061744349645914258516670469561595501070578263281170103043318703231489381431012454191276752576828550483745003551952484987744020969150488348887690811973881618856024713368373920925250883874791838789440054353255979953000537607496684636012567438174215080294116342982723824305947741119461546712657136949738590797907301930686360129081064320794037496102139499431848426093734853879408926834924136666259976826802063371732977392962541181611047508269998519909715024658785642402442261708065835111113784221850888088114605309069321417823466424470823306074415654689901539753848073234303689446873239066799131754237528286146863461903009239706403054767166182621900530502396843569252599648831484025532739350922410627678211540558390501898087846075125152972062059338805550316697485024961881556300389001544485318978412179057223761242834715758634285049842964364646529918656305878906814914085344910859976671006854796523041780137159922044038920929771920145492473104602039739505518789312593192097145705900437862551158348362538927361667625871855584752033615335426929822343110086999112929542584059618947014444521446474140564603256596429712271319025339540429839049393656879185183763401331004663361152660833976431258207400061969133975279177244811481325833916251260479028629199657677554186204668247755420425529071339501870862934841799529905456596379174292275851741177762915969237041201880164007869992222425754871340247446100316692758648461701520880610390079255860926986002404453639514486627221063254490954901934502759959326093260869753780063104919924554516691915927546260929531655969830752302396687366425899224715359987609231520332281939975173939125642163330147864730473820201056478744282837194824560204436601392445696876961953255219470366903931559381151318390339140456541681148688734016731621503767011195283451627662997576001403013791560699745150495211069100585545516790426269592426860540275549030934131718467860276901403049437577192001346021404549951285001930355271244532875104366298059798202280740336824784878380312585399728482214983798327325502068873362013481775808702659943229065506901162816921232634821375600799309263243229697540717878740724887224531460185707197976395827676581121433880034901399850844021539800204604211483235194549429879043029830630279850386667664347501421497978759886931586595751335549240726453190751393049989017539787255459011226413922518463325480654470811666399979335857937280864051033513207961873865769723517793892695460199358833826518173954130175629610489645505117818090260974549204906711905254595618954783958643560191160143009777391504008991839610043992944360856591527622728333049430645052603508761327002752180417035956946729272432200599606971231789763722651791245223893594334863710203704388973063496459796343631524017215510554037951722287015873237890883344090096417026229483052132839369565399718639315147265660111863502710513085802694862364186940792179346484139453219892593217928541111239571191217920460714640858828063477198473984992457555254651293292235207285613069179429514170715291617048353415817242762590716971841925193040958650869391757533647539199598142063229175249243070931177813833384594475679304774610546010505708470950722520566804573472973123581071779820341179579578024984411962587343981224907791546472230678900617416554290898539243230298821329220719389510992445226153957546444576836691096918585821202612107994850116233233406697664444316203758241906782798977627620424254389819351195061758789386997477066519365755128572214379063022712641657878623413835117381467653981027194390682612148142602210198278657565429319765300423445595092123931757598192254623493240310926135688992741400189636952663244930626743103986996833118825846275836576160807387884501565945911859503443704589215824538597064555220918650961492676268371971421294862683354932082959298556162016372571181383972328274475153520316909939873160357919870887561088973513837467901641170271966034627182944885056100446762190508241066293196970677708015337257824185391197217674768787469030694533400001597314251376282709519594197104466822138049609943763846997230505198488421836920755177417692888351379367117165964015222915573046900243111191694477920780094865136961788907554096545099983228485629235493588244759744163030801358284319048259556610420865617249384556852132075338157055926955836120548433819949396523698167972786215007371897231856710168130543784685347024538899770008698227935072211428429164900263010085457643612565042006699397194621650475514061358321846856473030519845759897126138228427773039204552727867181074837457042699647979471259307357918985599648700518486598352108953245701948510945341121165062794144238755679716055185196056074515373578204593903916549690741219471322358730972685442605922046097065389101175267998126551001839969379532745906137261376468575511700443612818125963838079846245863562243175357628515644704598467139272066323241457993917330633559751416708243376893462306144705007892880323195230952628120436100894660667869026910174654099520733349414215453698183922739975185278811520083884662288446914863609855896923437946968770685274135179743010273881516305564371825572413L,
525751381120567392556709465322607219277233898160467535380315522742932767451698438888271160680111278515124448592533020759569954140638789705454381802123647849910201984196707647622505284446674444275698359977720458614055012050548254199507957620693415037274985104955770546539352350752711545230882259017554081425349340118252702669785917049685780860807561619375328703680269730248496638703294845249815752599690961023930825772060527324190732612837646086751626166469709711678999527468116771047642429562962379741786463573915508525379153065670999845084373491386630788719174443840065919461252205796379801752831479834974252381251460080520203841604858061680871605808781245658942322613965649482226591733404646607879717810815904899090275525946538762542728873230846999147275277754097675241974532892873320356474418751380894554466447823148422704901613993790082632523932529732770645617177048172920758242057591072608788956377315146940440857482269339644278976763102429338630217611735785170102669013933367219030919955979740853729657374181240929215706561239297367255194770883140398257914210769255876062005774803246327391096544662124186722035122349498094825756955414957790661459031864986272054070064798425179120139008659056499295228268315058316086881845826707745413905168988266085370595262483799039154843585256151686767995213769973153986650231731570890951657954470835888943861146272508269359788503832033177743379806683350987999382680953251424374774693807296569737076832302932337349755688512986196856941001095719846395458506378745450822569463922644938831642928930528256992647977217073837446561020863091687576644242421215955353947313345803127704774316446780788055835482678483860827624211343723566881414501361295323700568572911216416473024224037700314158605438454431852279336275107524935626119641164452907468015717891015921792531993604733306831849098993231691067055416052602321708376169336510816358083623228308633501464345756646256345959676977150652810300327558348007260187950810289455622691792271716729683613389904938952734289503499833401415567904050578136207427792859497442307058911375199786675368958607194241965511467564148106718124363302250375763105095271586240618294128617181510224210375929806808753247445502737844565602896989547988315349857660108237704311773668466482948406918758702799904197011055857830724352225114485910789648595147547587682404197640468008422652031337027854607569622954214874547330310175932102872680881698405944195583047490385836942795678419905735562334048460998827972207737007942084541605936992559851819779241764944779350907889681715873039284900573873163597005336718791116628480666965480763541749081670009620379898576660349610499251832251849877625292812627986699748861592482391782889703999235968001770626717770644476151554806349355752679225851696308732180080188483071915374983555493034703920274237310376631219160328146353691378736245808501860804547572488907945191703022258351429290597746292880783944364148076364541579543968121418321437430974617502403902455106423656029844620610588727676201468065819324505650791509307695165965058383110133731430780198747201150404341442388572825839645035700675123782751386256369756905971870563875655912418466395943388705199269424268822730628203823023931277044136781465844963155495718731039050361203583247517354853977801853047728637680628166164848692504487487623563663406544243545130426407361981323820683708078362358825879084845566191817621461731903396570573796341271577137716316784944445244436626538167756536463142477693619721092601485012201300547462837316369811997643116469478167277550871267103916762600082317293097888366417642918586942078957655636591126348863506422477838650699974669782799540809410032282031636075396909480048080611238978670601004345695609691909481594244532983869954967415889360866517780791570300535232253881750388602179070660240076126854138598693368685504180295516626954279041674555545149891613694277719506174675917276209127174184335585179472672522132445329753227999525449870264012962736198128053446007791179012221586745104224080207733596035054324498684111238844955791984490135014164712057174360952361606197559706822898085903547016393175788692964461065510581173975125569078785531398280106289305124232323423414801613363483972316116266938977666217794414201852062570531990843740411176446687476424523188348124659783849889631439955499179995216790491742046423495482272484305360737072635389207799116107927845235385034262151581085324198316903078234688718427059302581182255181478585349529728037828603610903813846798953692319627393221884765202484249726638171217890837875654525969388236704219198441963973943919034759561297123586071640984504690983217117220970265133250643825179188989858072289779337193674033056315221261807167815051061413860697036800535034679508100731194188114880408244674352002102983725191332537237688059891792892973941352499983200735652795333270843885104912519300779903484764827028482031360313447148329314954694914919632563241346965064600867494730927365044303985419030888588118433810076859935649115011141698425017757193267267052994486358725440524070184574924167853973004488639195400860448710848052413736635603657249157299376722541555141557983923051298254671298034583173941793849200999150419737654276930475948196758096165688402252990904739805173099641839900772617578584224644085817170815325293087149427289765482965072318127772479403719799298962451067443910954350955025081581521020536265612001111988127774703729412653642354100578418340765895746014330085201634644562571434610780546482034801979748030949660240097358885300368621428983229833538438401050473595977212004347936342902537773332460166650412890224384657273247793312316653002722291490166839231452667246163660156150665714885920579651846437708015416722059889918241557348659363174679545821554363117275548122989010530483199887600954099198417422311355123750014749844197882301242269685356537119041674410472168494994480017427071120934303867126229737915919952455033903549963618987857010698604574680033772872334689113798103456264584017837462323511780417105563929969718078864457985361373921378194344817548851153197717432414851229904179332536215749500488787125870153349923742610790480266415744736462716601276220819783417692894680265264784123567758987118438984993771333005976708736649188133555836653872043157369457034623889620077334317578218136460336425175909114056335687770211118061986583610989471225700163048639757314570248869485739133099658542506569063446990876693625828290650641007937152459287807920241998287455705412036465247955589079270524335986301L,
826590246149719588090546836459924817062677586385367450542132645653383057314714951203278260800776327549614950246595452468568687955418779060634734945775612991374014682261397917631507415488707766976137651204798034806236350317816756978261539569104811630407228996373606996994481171659120171350223900376866539489889710393957305744092428187795710570793799023922685270600522069407795488733062275142272973367477978294516896937009484594252437636218755956176270142127245877403439989045054258152293867796342573221739269559836937980894234668076569155714030865630621047055489723269639013413477406454167545139139106969357843566036383103481507146489921029718116472227566879945871635967483211673008963986396185800378659594409814312210511838923734450268543791017704453298400622756991210800120150014468884983876929612011261003369498776142109618352534561407162556611211958068150175170415794991911699807411151339572590139303777232089849004714808309569270142388148996910908055255507362133125841378267633320666157642547614564105290823260251400406507599337339725735800404090666518299101306312574409622945629148777387917319106896348849027391963613475078831359599717922244991648893715225543821485424486021425444445092642179611787131258972326827804204757909120077033460068493057565775932643230416033839812868398056418713369466510966551488677909702499532306223224487253089126892939609382470047361536863653479624095042062554547337738745965314993806555269834822377170368960421614057187927763137269663400799744944773307433072943833305820958136567818517510169389140397719516517630548894436535991427193567510259113931376726192984750338698658608025683400368390022041472241521984167594466786391618502507884112078674894876553652619731603234058970939262265687626556109074266088794288517910565657517384957321710251121494330033346334116598155092267013350679006391627154544484988373511683781124956221356499486430854685860617169632743589149256951926679982442326469066177512962749000708478034441256088964535436731524819058065103579243724759314634244148006802388759453298518456468708353163370797704202363182344429537530174820269921668123776057446041549861591537608961778267019159654783889305894069241798575331464891512069051554545392969296982549253733347044147259136926403220516285556285620966768615256662953472685077833505788520476674786172000583810635640338525391086762982908341999516131338925607015816815442258165577875936913476525477550949889365224708366692929185426556073863401467953442888746488140592823201114037701510496678204030122070663247019157519462110195392808667731368566452453888114673898542720573692455617150345428122037293191376482641998634357993958241611917521259140445758364434592180776854997699495934901702826158197350730191661271467111559150520960602562145232753128258994263283641941101236145979389086480676231652405078790874728979952072617815107970232349635290877082702213360149882878156679795047913281178844161655560212038258184305134146348485424797412039611930235921568567023931598295597025151991150000481500250109990008837234430214270006792225969576608398973619081713913859733423940159376174051087158972020216827628677834019613831347377327064255023027482755053432483644549958152408848549557486495698306822266448813472980993618100568219099192741399134467243747063018552009130404433036890419190163036026671960988202072105205498501601227827174946411892006671387162104357573833135121226224075939370233518950343777975995933742312180389319457590013047243686804517481198154547578740311360003714818619948361968133528155431481640483053828290062279900300255264112140929324293785072549416755462538197014497283031354386823014253736119868993119147005736212201535006442317183797655197180397230291751229993179592702889624141399475328906319620349344533132030853760545310475048462427332285761180284734390350841707451458180970700141859422712725603577593373097416760498660905061220540578398141331515418934406498117922625373584331331729626352119711977993004261669894902998528967649122591519951094513590507578109981434211411992697391275308407287088151553344353611836242682073044128928459517556191379803293009746303275499590659702396148629861973268613087682382585149687345541254644721958158630433471239164384358279318271609612676210821941270949394198612059661247673141234131341116928534115434360471102226284215194620968714619753393033601388274014855434789831223418935155246003663054672725575852051596345289844120056050807618670507958895228459659656354798553179069598264099894902716666156610061268888756740703306263504472156036185430073150882316210005947818837273710190367618509674200023079928327953734793459800279982853374655915420677983832678211868639723180066293449951101799279465474360604589454185417414689842051131377921098853158030423314098760425677328711566082964722382549261288189014902559409726288554271273791956856665887531446175626269690312295441287699872857593767109299083554856457617113471481005837671466762579632695902325208879446752202986974788409267912381684818603905259871585858650909210721666380782473805555736282976672299426000418502426862919738276262459781105086590882392889916921491665064073285556230408550050989405397305004530532331763158731707583373856973704075173346811252113467648860836683487317538532584140636076579892916227632050910416805527900603649263687626662209884373203607827908414216812454335402168142141306562013626702072538323402482561717225038398753185118679651023913937224584034725587986798609844600967894460266172744171657066847935908010875157522564326769699896773800504751678146475634964177478947491883165740743081301724356409633414365229997027708082399688917768847396904081849139861647286631010078938482399159529073615973587868829290085995854449309814861324471784325528935710413556832392899640797831776416433251682240714121125613191966837761464184771907172873122017691420242642750740546988531488548270741807487582701856445223465545425561907569188230674698552893027885149955088851084220480000610386465377578749415713741901637988177031218618970625358882577292731576672390929940961759738202691246334657239942080837100354997306558198335289225330516862142219989069056207406688350320440919556518763062310424153120018750565814179292598350151522322234849244263684239921404686505736258103873250370485849204267009096712994243224737382158573784787245266417306360911522643983071734579957723832786475108596837363774879784816853948128483449748429550279206927739331429774154584414720203425269250792409561202475055507416157521236272397834571912249052811443656603126L,
1299429172543019286583614386502691749283363081599877890253190609656582222443745458654295992886936040109560035034819624534433223172566552800198485573374326422219288588380075750035323081811707931264836573153033995510641240196087054015352544614450129917171538944105968656808621294128489248345496433797722532099810785461580844231040698260816571499150176473128476462601075962512737911179875758245477901443775163040193356731369341061024794680377726513063731945307317596884234684699308345005547599055882919710346317671299762003671993697714535530819148913233760959213220376479594923912815779993703510340518728203323504230492215652477074017257973437487654062005955325553131164830995805793980375608398682651395622947769083133494976438530521674347755651366170696969653662333977230710556268098237154417865351361227358521871064610607511849939814352774374544558825033767653517663586926423461691543721097525965109197621960451378460841419525862082006703956480018266848435323197734494342821223444475985076705967678144504358180749388811144537126981780119997711550461393201118119955112310882219617982048156019740874284172671488398879043350944150228788771892568073171093646807979483940192184335106868745881940132053402728133013001717045744479205126349419691126494466603253645196931868007596582584212111200644545414120881645712624508733420515242646354808378660106931373362003764353038930233005205110288640239261915011028900302374292450777153000881954071333551059649405022753411804693796200044323566021910338208664066711187747818586042565568821577278805028587668465211886664798429762009885980562038052933136105475234207265324631104694452983221367886738318900558218564089740237410035356061501841681109135173129883452466156819513570478029768313872509075321226085816889687093580400420680813665574200595996335126056503364306755735149752978496762654825696871170550263640810703791706363172221656268831773909097974620917528837068549088013908555578081808060740173461344513875718975163365020309344219468960861540981351652791609155045411218712393890608857230844619934847290518921951410019662552251473986598719923576206880794780541634066425081593646612511900695706686727233826459711983379270046433229411347858144450888511824341781451095665473517308833277802362475278270443387678842019949604398745964476000010413224415188927429729386129236906690721936118808268609935062078988708119423678993829969592781825104096793426248541595331697905800278107871512920653925345154727831461581126767820757999710409472349344020785440712988678724175525242459412612702360538945667164882851415020524112658585685114077607496418395982742782974364848182544529184017434882477521871067147628423444274322655703716023442878419021558238229369613908978350777030977195688661245431349740046762062296072828865389500883349504318866835125113956924460516306026598342216058625545702477494067967235813927934333797667019741775377127353674715118134746568435009119007275462901402676265138425028382562061033884416816219115015492167077108178740888732396359197147154075311658590461212032682198624052565545386958584188149346659648786620226921962906177834340698711842571184365255059184568573558345134055063095331036904861624626528859614086088667155188140493816242394517523152099929846209106696901325365602516038112815358213216585310987789030139075369627615794795957074928897378944598353997991747969006611517183906586847040225205499957853761739326370529419631425303451660576066959041297795959547917293690191248385622943212993245344912310807917079351881485302436502811966479308518023694985016427240835360960460619493620246408093023496665943833505367595421647579416821069209097135452924314198816038851274571413096883377003162114453530269259685468078906318715110210352840412691754474785500941981788430425710633035112553521764785040578484692168125815607658139620478324017668802651593421016717516349313367633551225067565093835341813573542398404682417601286226102505965501026077393761756148123702847115985562566106553688045821796623312735527980074247201043591037194568970079555668258036242542716024707464820377183080783762959509690612298106923630336623233268056842185056423820252077115653965234873272827774812363976907067022481797116057279689386920448987621288705022005009496511705016101265147923598167350590336991637572927362494153203288039829188379341281589749707332358863321246230828470601623465498921629066479198585255248065174664546949023000630441341490667986128304745809080848003787943424989777846537025968166625865142532156977363003943119065860787693954003286906677266908911698839603842426200575781103360598601311973414532736241892222618994337131617963489102926479755548285814382562020535760928297417877831368515464338985700456735134918134232185790364345363286082464790231975156758437964411504667407251093914160097105298947282136397212008786202354369575094871423924884911483185096277094434571673117395581096824985986691037451208942564302709110236432713643887139440792653800477064246057827957147511942614750780499224325300520640537491741016343084612902881248033630097543376909481670673373823610275418377842635650958102892109684228130435256746735428296182895816486135775497304216433576789040156853355473060250590809866473533753742744579743953558785173794102707017952337272278767410897599864909353471099222506102356912812186489367975421656817986775254478953708847701685559635149193432077879292317261092218036154952171672582220266626020498473201790068609049572784588113002630930235556572645504847437379696495143219128060779897788189108099476606094875419247017408952463542302033086616424984929125293436948736070211179727330339815929194615734923141916355780319006816796894523476049445654656634776762090420573228440693538651054555692458349476533248767316366000147409227246285160139707572814179391972960593719601739755233094360313036609615918932084289857412267354187586177215093458190861498763871652048182994738517213080400678294586240032786186812015804468950267821187829510669912567793365695990159480433328479817463360196348164823510495947467878501151114342627255979785048629426445041974639488784721610324581578034121326181397258057648524557143194306952629686695677060192385923737925152682042626684362089349089083187069670432342760079331384674910588686531575566760433798458842422823367109562951348315375327122853501333088049196061162284381193242719927676295230738249219252022657141180535633908427386976346528802706986728585220267788764946919543061915148671402745744419032680107498345996664085653666292537333860286735236917575544537089L,
2042525350007736643790932206730383838143392306361767964802396312285976701828993544094489171724186940314652678062306234314569142892424045844703931618007978739725448656371673446707275429375456452879018500521087015074075633206440609144559789956819846262747584384634725959263097682857239368857826993590155620593698456048128264583435830728646901319664240309496712225447421199923617373706935326265061350402431239299962739388951124636180832312531369914672083793211481950753493439264733811037665867174431074273857050753331441166521683478419208758905063140456465242442296786593104922401839364977603643419488465455393403176658930170496685018402076785570904773558046012881788313164935412986072313817010846866842468383691763680596458493887503675630442399269254703289481419151371546021357124648488924889929011791675554291695139107965302467033835783172825851215536599298859565932643152829845125275897427829095733851003192795191764286137764028706789100252792821540250147186725924268822824527214338320588874718356559086414333122764665891074714888604761888260487593109381012286885543250593757611033387452601605199475934328938141784118430670746984229428990661435573115246306568132591823953992293661330190475154261355926627003422832841936734001959225615873525932307568741914699567566341889802829875896263471462512107145214528601036968509216454440539317942829618421175299272182008964515397337590636394878276351087748798666295304374020112653820424837683231950716305068239959220066422981428393271527780349378555524379671802171458136923627077530180218066924496436629979006725461261102006000435122171135721479289156500020462254903910481043011236278221827547989572673889757251630706271592875003494920879665630765075829035068237306368964772168302757340820544523798711377676656578147115912765503515404071989813412787291254382356069005748983996617667574542881074318787778389304043541627599422584600554589952022215858640523020648527539411101874252467083284107545142406957728700143067278317952832413280291737432684947438782336850853042673821448881132574505205924872980042379134994217414025570905999891414472036139517275964733506139394315193340211287966211530345621498307340929042142821999188284023552382413665002265077199127225742532580623223227103245926166376703032258827655238296843814752583988320568841320835735961867992494325993558814864592397064066920195131703852820230431703592220630901613155881520359323700944566616125617321030101909711474804247052611854737300351583696769003670884404422388768228440114924431898284360468334571293509830664711097292459783273923917397518351097293578985450862161167692810731610580563401851709055902144506756598677400002608068680542405696698180726252324420435227942224555094517945613939354423609057371160494274626041791927102343327589235326821782141366820272026595557452286080174506623265698647726470510750269775705299165671954069704650751440265985078375714750217750358492790426479439330394206113865925768196768934263912595015467023377985042851579672002166561704291305152128796218557904678392817779746455456111276247020256051918040170356192701231580062540831645995319930970903034980755870212169130224472228628396143049287960489307157542585933202303505018933602937452299878472885955750617404074339299441374536044315889221689677538121779149600135215841888556358303704459259117857284884298743388231727179950429339830255231027927457597300684456864996687714362912746093662672804067982072707109949593333300253817488475606005492587149431946696725698095111552913884481114023917401524433954923174168527309413913065378875305619975150955674026737605268380243893796017185776743145663010166088014570128007750709951140332912903383690294483135532725373479350041834884042989072457308900013596042523550386969302700747410929959168002353124338040451290663708964093859046047375626042419550407661415396486596365310167410542636796833484394307324646604793615306940370546995411549389893378826034070097103341278977584288613832249786939482611134258080523653025233223174875557943660721738945243102126296000154316481319564058551017325252043205228750004184202936624432332798019206858181709065953422512841668880094789979732840697891476959010570823361394898232436656369654484928572600331412806606953586520060019459390660079737596167491375837245794543307463387824488360937036152878924801872548092870668190955184160072920046490924572905199491755670563081766385052189091819385461041897928325018287689844977366675439667471959687800851574456348435421012254805345608548273426312352961240329867127258467689406956604824010849916430835238258077763875491007566691557832644310189072760526402869343190213801269261511739626932516334902246102353957678354028633510245917265763472846253957855433312279230730834933608262303209778542327508244712143352863057295029869634485705389642147353463072158311649198644445338459401720398892741020143020934731222266795711816286000852329245449723055324051427989961210010713953353866995363239140779602488883235371050383386366836818214506079425379611826183391835001272473760708954871318859756101533800788935332805380768394966003956764544602086864932407207155989648860411410209854303943840285192262926015584859304356511665641114359234159756449811428213677870580497744290663556582874690721656357506070532839549239318245902841007431220787430780615668512084804480431476387601775610131508063964985664095066957828987717949344662842187126445304073518698962870439622337598373313643205067274792453090246512705046210542501583813848313218518969235827985825456775005554470921528218241662297804496881550929282380914492688949239723173710886154075614782649123441744216191580362872748080868157201764057453587500068163857697096495942483717144293271446190924602140257287959439620020933472878125638261438274883934782395453189477705703055552662741986008633547539239040931193377634541755532931470034306294887645769691286770066294602003260663117969492732628412394537966534216332123639509415663545286275071869082643982632057730577594845793593960541525437695014748908943257348152553486912404702275414325358030491659154076140922916627744686828538605636973235467268357256230174447221487875178833156143005973693133978436346612032619609821593605715808482823630841955053662021666042252321787289774218201025303536340829448888450990400230497655079321145343035322923851273950895813240744955645716785237210480002095696215145962293169884336188346452910533558998619310722182398714931223844625138990231105823455760400216329289649995209742504782749687165329901244397876018659329497479831568645L,
3210220240255937843327508086549960851741725746566100706291983758180943931154447354512045919393893531419925044710764655881705483440540886755970991365153144821028113025746305777906421307071660660028514619063061902299121069727169994631310006689196736352885068168623894395897953152018370112397210611778276204998499338494421722889816342265836304090336883357615980614804719734133268076828080445936644289405084369613976322263544592230569777265454637509163404193001816878842209027483681570580432547682370986141333514710447931689921326542349635267901503617336938994805242463846629309225308574251120376258299710094227397374381250316521431034152748938473566859526747868933412100731198727654904514186270951219168411432425822434124315150992453614824643073611105397024739591923221022981519738667677775374509783742953310034959089558957817789343254469965087509357867530569235604583919218517260029557248246937172276098832019840552170682142390008092833372897201556782309392077530072964974499897298870378272137296480512076359731473169176450745962784988838605211858569652471170651117827574031779345546294705012761326085909724339317285234779638812410940153074745257517209661747820559114836350005335341099313782569360065859391234424588530761647053157499291100136929713624114287657661569887577311410411367166250381959436581421162210763296512577230485315326376735770835471178392609407661373498449418454303144749560824957815188857249136597275539464607695071645303350096030943249893994071371923863563735844826671543492915608954307009418131857749118888996527642816426111540995550656084328592229837681226894179868954868271832137525746353135147504139637116111062697206922547531867396563666362451415773049572593911333388278225698208785227034916047606773413253200258321709838032287829830903274142748736146103241461481946164657903152768111176074218624850493172743772788794568563210874884725955932719676853884979199536211386763363322518697486439464817014997819266422933097696395542106193757368872624517845458214731413068007767250492840706004273911125538234050833771347416136628046719481638339534984821028276932391801767623503812057836255920540376577368161941818692484130427508680981484383011820673786470963243574332060542233255391649475896849830399636401573321840928723254940569354444979701747135517384280966244651490143451245377269143023488059740236003113768268767529506197531373427836990165777341352859226934694405917501905761560193605438599479429944837780175020911514509841247134046085589821144729121403264540639355364722102897833496846092687192533571355740581478695654537817023577927962291708752857465449066266904965874801805545580969307638041854721400494981282087172330940128971303705997345628107706755507102677086527703287169647927592539108818580556032007174911327768479554786136954260293052916283220017458975896483074290037097130608061851168206801834912074243962158425368018846409467331792890470307222266133755625518834336960291520719561547693110014698739135842468449714270181983478017821094299316594714888693367454796254584427853429368650736270396284278811732513549694391874023615097221238439509402348769155394202526103883354407355839631996693057116248100893078916044707094657863224681878743604662430843315191489801234186145016658952687146639970538358554207381521571877488811517846369619375926723283933952130322102379956194237689631718936428842162491262660345694798963568596551288526603471715787133230133728455942159210985454615179525886203026547815116165804084283460988851279554355652443452023553117978577131751222417726518213211119167304902941311761431556951290637357529056008380061961182324591289534826601229745184685833783882449419816925248436179678732159695467548142651876220240284367296409597596836757492161958718583227322954938100022314290278069557898954585195100493417653202918769865568881030255646674482695539021259902604274890272889705102518362086797088548710325510238968406334262135661166719608888461887541151559168183606057827798530319647047483378208784043703344138612803361052254848613679974124901163760998019007050214630617702389412705543105019885795329465657727020391281820709483527806530027192630861786371863048643752475444467952188795171577950742760720176751856894768592008629360417113674719137021166385355353206908779224867247566984154925627158936787150995108322187177977353512012833792504606680703544036630282470927397429466694254016706250629165724570852648454180340597049573901931803314861427612791599217686584260915880122107757142310199320208548505459819752003655975340533946781178738381011451669541657166272313036203964766998543035235315280921951538814171190909081470894983959184633274300478797162935929580652030944682950851898251660705754276110898276999647397196135872301041615491508353045958923858380140325146438740211291924484926844996528878691907131324912109469656673824652120551780646565257180626220918958252249547066819334197422977018771451102937250863874811253030632652935144931804307895099776981849996734432094428051741486653352497103880263551486015942880034737311641832653788433652059388071581872116496566197245567478977270483204212327653569949805749415196468933135278874025433442099977463808993195259970042517341620733152751161400902718116325968938458952118954309290385732089713463641843861329797479413139771966969244020221566986502671178074692333493338713753335672970293247986819623146982627358418817118736278364572922150471641285119526685771424626968951691073630721193236533602822086606381662392177484785212894294287497877210966916702514201996022441704143425298389339147353939699159716670709706028317103471002439608933129525083594332703014978347798091140903353061019745331635119853777566020481375839802418064601154984376308183561974811327555670425173551193416124067049797685143997379774856531951600594759104656195031404598075212902192996611050291396071949506671319008101525781770868246216033759738957542554915174550897296456174073883142292386888443326987609836874487384286426429067090748974318519737917731368971788912595858850518847494590494623706535836845367443131777557810488368472305622670050494788467577313004119496919832356833755725028154131994604838508488460954558712274089530623347069567105542472769978966088803027092789347287176403084192515640931878339729765684131086443192739133653470347911830017257597286011681407590457926845741623291611063229217078332320484074457489796538335943285299545680059205765518965816550685019856927120132251609456210564097881236386079289913648573921147132629389686328995643370930815840553167757846490965L,
5044925492252898127623413375065636366967831040538831770343895748612356753909794643838310204680077010083765446023841955450036814451755714946813351803174497966629373529735363420119403773784434600856569005941399550188159384303073408914730318398173212857238108668818449188206002057012696175980744525846865584110033238279855873445844070941156817598316962453871686460840739769434024619542088160167616892097890423114608809219400190743831861177537262547396732312316500499776959542957723235436609913972589815574697620629167596537184761484014518779446130738845171122471851246518452653295876625118975176353876060021399754104969893706363810050130547539601096684101509498843167586710110130630882384806831728186886798259374384912023381879476664363512243848734088653839386993948016831213178201081714612147982967180279784032719048020327699147789003985998490405734135902692791264351779100336218043159556974734843573737039232530247750726354691187342771523560456837323052662405913981676631536511849321681351572991880686483970154114329392436866802453538084602382997167044610458011803251919022783401255475079789365844650795752098736677599254661163689873636512124846835722465278225688756015107788398679848860304567346978371696946371183783226662260623284705271328252121675006825126149266265608328782339089503670952322616596936717977375106763853337719067602019051666757809155572481582539012099991284313570966854898990370012924504576059618401425432204175949219160185505942774923098974869968729663906596751026046222228034497248819829762151261841802320980903760656467212670170312594966274285865012110554861403518973131343610093852318430436592567047951849801585794028946708626870077560618372252601580713605830463104605425142230477572009765666655922513747322299411116811828759556210962517686833972763723783730572915837120208799320892791475690570645462851013990473675027029885850011231641305339348994823764291345597069855886055733807097939549033428942602005049381342234712063276933726255309177402906755084298532080718142759336074352288605500982216426993461647614235514170569056964353851256505898135906686531109567248209118259698664885435453376043634262696819857851488772572534873806802202228611554602632487001024699637388796787787995328445097732864655269432358976561408269526143283077338976688989439295375152789346628914675315901549600055128963460642388010265263808465542892670408164909540330514310976739758787380274370684952820794733922225679308265646142322794942056142068566632525730763432938189593957386938307609863599711090805477259354835736930818014756425196780585120905536895908714189209521635371598528376067595744361530198986451989037625958045793067285505710909096581866624147834347866816742018974767669384249917084151545066535075319729485408809021677059084548749140471827532100719134911216707117847668245353330184907028128316271853181480295250951407170275936954541413756639670704159224952955938129822023047993073232206197309041164297398658124689436031234870160523247355248440261050901458590530490215702468606532094018210096677735860031759738267572177202392826789315796007412847464659331689839598480592004945811561321327075963832840131912895814017444168642052833019801999755812357668361032938650034412440364378055258274544502662121264339012207252990564927940975455213425356028315092685722738317389217995623427986788905945187352288792096330889902297257764569376049384102249635606556656266618666760897828242583251596538666551426368093329260634528007303210034305373066182900754813690407758965465726752582623503944563999513171635650303745666905522075647400209994638552705336801016679031845096064246996723120628409792052138544183142422380076828419890025843476238201214606167639316810718040305896938933280019086723244586442706448853397897259533991662267652709554861962242725794343515810073041622721570707066619438721168775037897183636467185945436081398527091398082881935617472315167630977202135926898427150288567520696707043427229516335097964315347806532651489735440749594987871219947216150124961324838541270674861907726450379664952928494520130438538390558454932539760329685082714869457080156064416862946475874353782788636723899369414659936949905162767304541152237207614771584440155754464337460546633648653860519975178172312987104972742132943625763783937112074384668199880627399011908852052989429883108850408130490806329833281308500355790771810227642161584348014291169534676271847192816098021995385273472377908341046660083647140541912131541532968871298367848112136567375508068164381735426488236892598900937724025697650208202128124162730789203598429300400194552847388307021690726014127154256470495722554075472275583835235169353710192682155105203465606542563825120024136908501206780052001875410772082163072866306859094924529765676484712926604202250059439975701160001328422509668294416256470391855822258123412921369576436149719539874423260849275375347020697244143233264535262884905992719903191636955295536999387462423037209467944420476207561783697751422293090349390860178492222879507840437230665416687032091865653343863906214431078382896364499639628340607943903327846344078585288314285666357799436850985105021965131037866266084476183987097503719149596373129979076447331054323077753844021870572318294738894960486906207063617529558412049965588156931340500034722985512819155992566053216099421768553886409028749163784397654304027204458563818439346091306798835208889738719743626435206278857575269143476154943822497772116612366193438247123373920912529457249577940059209245854564115963375413176341491004363705311296169260476409953395380884633486721038806411245239611831831379297175831438007432900183311083681901841620046939874820307627658899371537024548260513795087635583740721194762773215136978675666063791774559522038877569644455410810425575609634467469236532870040024970779624642900453199017323198591828135237829558296225826784259414849681052978253316550519448550769930025083905367735965019167509443527475483108659580257883021087311830735616606045042001256099039724621491194873744200690999949557341023605140211427904824965900051610675573220325693641749842176918197276426218204792410385409539319945315335949893658284587006675057778892433228569833038366113155244374592408529799385704840005080052792239548404268665126102330712959701421569657620275241675350091933563121789792310957357436131234508670505373387672519087792986667403066315406052517964219193182639202287752896075442153237007854665256723917710227798391878778333836035533192885281837848140691514493491328408875206637551809179470L,
7927335948359337800979083238481686919596924402651269309503141571912720762386520140848901059713650221280803598907172164111224083924941600390758654465929791753365256322322535349751549686725183187487452951836126364328910591082416410706899961556505704572631579097518319608192371113508152294799134149650865042471302489031094324709739130385699889622643915360851190936883803582712642388513838894076125091414638933824743090852646743699043362765555268976196501767162872510055807057298542578161695262150130746049194799739120412437366833285924899935779262225815931716541073518131237513139543349337178485639535133068864116904548864911907188665295176224180750937533681354644247765128413669491891555884779716870088019819193764273959344645409877510094599078935491291124273094146704617878478797982444170144195192834694415473311071015920819883819830605458489772666124208323851454415511102929097364845009751138256372073423199112770941957923142577192121646194894335517046643937281662725050060220165853268113453837975261859431759944444933063545654958862225726417486744358036053294147194522532297254370655932245346186579465116762253543992635239595992254921254449889902376871992397556388425889782225625698128082293163007637424032964050228048863448248838896449193540298705768899425386913926230185855487845705569821419876170964724045057967464937156621599575393325571087086952865944243811512302542298801680625305930791248889958418937638093620657807370090129871407285171691524343932298999211659004694698181752683956841040454734692231198795290030912051335560693364606888538891531211056201966943310775808742344930779795426661277373671747658646683434449788839068487165130193169163458655433539646846690067398089027524215889498810530833294806959278035534451182966339157564122791684709909489258407741334510354493975215623897249738527022644546579363419413980540447363424873605210546145044097585342337414260795251694404662503734834938608767669862707749845056497855316243608045682568028873209295454167064329150917949950217533403436651952479531204333658264828550478990832227505939232225969083199129305069572499053325773035925681509611765923388271428722288784324755876852482216189841304063054311336472761972575017420103022694731367183099446155803037676704050487191038536018999155541678062208157092153818162689187230653614767004628194053901930163439654758185009599825751273009342132971572380553582299567525159412762068293893659579900678356235198857380235015083777032772826720274128809452176096282717929772322482761054467286325249650194132811949304290088152240766002761303080116672352907587206353323733503542005680198977935579085725680226196759320790549830929988243599015481815605060366034358650899138148205024823534803952950262509113318655374634088125598398188347890281441298931494615854820591208862394751125887654443114790101111539712772133384185398136485965444143576816523255933646691964282456667316263523434239902443288750435073488865206957754299265466583534907467358024631433785856827650640368796569222400616211808612424271453040832173712839960565969173664765921244429945050785288961407763194942717772240310190670092248881501492656468931789755672609708560541420131948728188374593484054279138153785334092455691215406627175343862050375937300963487954855098328511955172223254211773824365322369542712982107468255743873793339380005229471746172848431222065314443917171936759526871396123871974181244984065179281031174821070760092091582895534761165790047174726925120303944487336217486986936389352281701182271718635530270766872830896431340964630824685826448358878695193719331607263279787304141069655126158612790502498503966274840142783943823592970381248196481414670716366616955926208830696477658211542437629090992938539624743563159321410473950916578521925499181742989368593617158991180625727908558712585493885027505444100158953347467147946461967917974817007839115092251895266433332893599052989455663040711243222127499554198767471432611695799857712628661211049971146078220544350152749808783620890662765058969678475352540579555127454350921044016062996084026676225834047179674914874910834007685158448072861451539828093231255773452567695017343074823018019114064371705509360927181116351554615188142505501605517955919024520361759314805152857072482023298226341737254427147684976870744083341057385361388937758151440639313273335674813901931710898412525663519431095512434315084977604210677191338751732849695715773820931566040264155208102359177192643281254158385479768193868311090717762229913097942294562969637717674760360785259298667685530270665137733427824885465869083660767513468739771454362283614914198966854533893986026669122229964921754165911485019687524918125916128259704898439879169301547162409776273974921531595696514323204296571565449832621516999107099993928864596322289944823118854916666265449890275500928555715387068659553545529823989177592959800896089096182310453948698564072810792798311160422785774520718764464825068067188983607919767848315809752050323803974416859430285875798046094312241082993762768879362160068391645967685788185065633345648186090666304395444909890746829851372018888768005468605833677543694723598573047159349827041786809599450572119851010800142153036109047173904567091813054060822823437984439404644308976341414904195221939084219314158754738712591487939174783650053901931317166843886970044669422972427450549812642400550156467142531497899261662063120781323169085780018193892358212449307977769545188203867306759621771653471358215075402130214713077127898492396072222065235594897866720374345723851241573605495897913294416479687628931803747625174687646691011683182598668299265026071601005028877146797181334988014050510313874985341530883174682618504631327961811135323256625007018086974150648230153207572589907129871561555687490329365650068299313814077632640425894980987765903151100160751296941441492062730940297535639696261653921343859576232894316708251190522615082536525900191375401127186975589981590757542684817024056031578379666331808269223861564375138618330638833802922153514486998218879320811521385544484906447430334263533292926240001353418849724403071962764545078363897477052671787907407764666297371754259901781885024926591817408557407865222022667573971406932305327607717040952194865113532360645933222869512212221107320442140181230301526765159500482933960563252963494096154592262456972900580566309210743626648596326337295821851844647778558199111471427462667389584899409699026105908555593686604769774702282101241555927577824838365865816131893061217321669411568533659763862L,
12455247815131204504278338465001804580574538972586134793861552559511566422728859755084497517778226164959082694879901597625188270628339656362625469413574898134975961014044727709295294503690421809146548847812119043051427418411217328932701399400806154034566140132117359267910091735281437537321442017947939771459011642820894251944000689592308201227909098016522422340881560872959364448349754846206762637591445213454178567074492636121312349436029413108502618451281222741851407589933364474528212199080119187243025191470049165113570011398204719320353412754894997462550849946690164119962616327304596142525098669463798814914407884012038672325265680358003982730704793849151670377263307446605086241066782864511300763322602390607994516050954898797871097336542831769158210964890760416612045074837250822333447881859029500671073225187434435439813467798530482459512867641018350907548893199644140385738645807488331912121498775289869595457744241998143237089406131164497732824481002714032697491678245500833732791511702536495344597092550139336573871716723005962370258139815812926720335797800650079292184515193106132879458293615264398730817585052850263005611454970192900114176998823492427110452350332614529202505909328714941962451856356406144388202851971833014931344202976934626841543725185677987292447879925771603067442424644614726185341291183186756829344304843693532777884866059835546561645205416154117146640957051220857472030821752746189004657103008022136490307643006973624607146964583987443338757611677137544040957186796332132753016461435359314511135514781473585991101304261360836289984670705121163798977886928392602481171925020941519921823951129674947853221052369870682661482966939399064723370197603334040349242673502606100295374765041326162084171143964320405771716834051144782282566138076336653581304824292806237543173023616440620210345360782131783245361090451696966108959283499653743904116405585680419774149197438928516083292828943095985873067270604249868070189262188254456498573104877646867921801731166356172728824629324423134301615391960310373579011930910874363915842209470743839064685752292867992644187882898776203343880471789332527276425941527333856766925058182290914794885125712965859477209359540012187434718754820206273038754437093611292892026288699396452745190613476816070106616590642684299782985797701642045338304852727433804394830075627160825283538462256687481121818405719470871474932095859755811188238027810253596743980930478736045825598744859676985919043072667947347812803870096545007689111964438691675060560819554332388263061066359697041487137072226896494002790677432959021286143879329698311492379572089880646759680270855817373046011056436068769020147590242131413084557113500085534919630222539524860105488766548853515477634153670362802250865033329346968964152121579684688959061702559563560169326065150174974748058253667982192344558776642683559228537461704532448675944373844096249613077650357575974937686786545475520862689878415180604127082923957513228665132930018524731666144838223943227951155852318761294211248154420049762161738009009469125970403498841614534982238645577495831997510389879405244277833589966337057051568512057683844515105860181973483847026414057308725538376341516749562752058449895457057377172461444215430012284631557717023128652631420532210340469721553344112247631345478881695449111036403504885454094586057317459487508971847780924501217615799909014919564923158570078349401204402252978946519070010925855472264246503983899646960064508991593773370018872405049659424948745547611753375212451873552062091053034554224556451114049600215876010538448521791925331393502260215042062917357502401252808445947435990261054561470296827918709380970329765819911523683332402705576812924805011859254377311668489315091235234192722927237329409334546323303119446135262810182694207877461209499162347413771613145260475697208777745128444400698414464256893287546923926615455018874601257198393095955490661877961379526651963007451616510746977589774451958466007394118136858690379874047275113766034247931597928549432326975259600388177051268031244728102755897131130505618438585604206085957893230615625948712819064292664378577150609021768242688498321045863547699143999257300612948545909929004234619041677618312053270413938978212637809725951563040246417406700744967330135892556572737498862057420884113390286672025977875505915400736356773177264691989108355073954031895055479015130240278675441405084192794565628330570558886196790099670036193138596539759164125013592228891867801526538118374044930649833693339608795837696058727368946615954953643044249292916211380109603625567437748660976363544803526899536003479950077767846099314828115808539170729923233340310357040321149911758496052416910098727624928286612504657023342523857479336936192535807059049872988973804892689963007953726517863899760974465020096593820510400340596387670209806750253953281413868570716217609690813499766252800602023702501919952774754764637346953993387084202058034373333159843666950924637893933716167718972564543482402131014036972501825495221796064793202965900248571872205257952120084558746897403245464112895820262953246829322690368001374256782541736049290431089248093711720301900912090892133603200143815612283728814307909939205196619618909608352154118614906330473005406566418384619867878241530680507820752943227196472938041691035654864962322685611285206546213627938247878042850354323095857012248126527069143980816256974209719717545248858700209125539043319559033531376023735630162328407997531313161255815030904352232184828917478651907188335168073061979290454470031307809213411599385313872288210907937141300272637791751557108004521144713473372896473381080629146009954722685742761779149051168331279536357028201844364438594613262070811928641245933534740362183322647217655548774816763714773155757242491778228836478527007506771890807647194392556757684919572663771839252185016136533633624934635373618559204213930676663198240805865594449596456658565049856293225867659421141352272092420753383104620293411609693951060337682334860445973680806230248845028783342521612674990036060426819364579854292883300062227369551952705844396647185199675966148568589372630934982892857042982650040795643104486857505540899041399491126010160158504322661001368160585362248526906671544633379760426580234466532064523156188834519017337822248853968123336003685867927608546475401969067291086055065306220944945696413282765902010505347355088751114468917063518419133520652388067933969802698761407630529960058529702230349730685410133983188000L,
19567264215961037092438847657197140766834715985081641861776550069675723675442817949981182360606142079686472566745449028085466950904008623493395139343781900953240002727106261000796046595802021725986622333780054978483404026706117756658192727947287378167689746489722928670601677241759281293103916369821973647075850090102618846685740670606533976621010134624637399064612045915819944920833636301540205414360057611190977752606262779943714556425809775147998662353863666295471733741568678953581654585582476723281812735484547029485566985792322184660589931185938316749993939735629105910028250476375954461837316814891440445227151008873741212642362893258990103348160050693737129437085869832923993084152555703662379619539769884192297311236836980065291709712129961669293152106080348152919350518323978374694542630243985387667110053509009439640595774631893568530079038553663313335989675925377713002382196594109607749247869300273597726452247491685883433333696530440723057548137701600587766626409996561093200489799215912616277857050624651383428607008152968230350810888511414655390101921278798300013625086904532537208380600347583128436020402932431094093442907188293236480991481640015799686046155291762734593310905288822138373036000384337024858577484304467933828008667459841691091593714090107650281270313181044547942167420179796394946011069303484573742253415659078848009728180503135050126083082063341540807190878382797324366275515536138218547558087805436121263882577573168023060919083657081539317941759334793709473999202239107712344111554712832820656671330392557541197912959722596901575464348275891356474991710930594584565918742576527239315527933254907381329395295763805803017809181305290275330971498986962313562807470255796988226070505181223229901452179401078370836299055344697762135831978841874212494436672761258033932892677356731199619516630567316176162561222729272930165767028756493654838781535594508374852395992733486154075060351176255063700965101963174307472532310227297167250683635232667761218994886324511123287694641623256674794457284577285380669062476528603465315727426872612799864300640033351213595344318189934911803897271709736946081210241939426757252926830765445156843777982440502933929592831726103550445001271139843564154406050126159114757483547442285956132545968294913802014877898169722137495221190495959878166564400584738898933850666488539686363701296975057735600579165439906797081456412732821170293611080698227506349769624342996002229698320177946267030104602614220881904349206617938186918517094184247982673355096200426640788331388970928017411921665812967656371376226452439367847482275652984045528326242270199394772196112190055708613411835005209875013325982521400526339142915907184133995802946130901866101714265657567038198143330935024818410870286314829637064738451149026570457782518924862466236806069146556762964240831620203235798634650765728336111063591909049035653027597695639116535781542490732464880511143320296380985412363056379125627576308872217717768686680220104940379999282908955348620448589218881849346004105416948698890424892901791231160367259105396452194723615051456134776088941327998617113693369460539065645787085814176642034753280780969603138569053371941221899080921752633133584606742163967655050170591479548946392510210213972052184113856839283797350662007583190043149679707543107500721431027816768331809472114221356040936090037526608475566579164296292024864958588447642032145073719576371177839357660663276578633060041529216091986130685177756344876564729844454724272214900769851950100706588472022887900208121693521770518817448655904059791569463226406287975946573478148525370231224195772048737293090727153576417702979336815447497774849391301336474807261573032173032675858899613654759780494459666839479651793275707801397376100412643389508097078969271008230244921442738366345885073251571220093811815055770330910019212620323095003597846828753952146820864944149746511206255168256815917170491234380593017057715308639258783305868852974755987642213887104351481792644105705251858791943493582737532779547268845190393026500067878286352341042690176564188037498996500200072312898704117264851746730144066873471393279592988835006528949169041595288899422718845383530228673685035643170574938566783449861251412015209691403636105498247307815391389015210985836648228980920237123453781504366802875849568760222345066855768253105443097305583819114443702748662384110464681725206452729902397501821991630274930335839635979430806612889504081805253831733520535397599876806145500872786972224221446665810131826573535233824749693983732679174452662536209357515861377438707712189300491214231427764051100641357667618783981007444020100625571727922105753964807239653163909385945770487215911537812136047899884388722153075308749779468707087714139236967007460880064463198426842233736665960594093311885930605177852347501226445049828679227625496784660890761458261593432649881960945131045609338816975874063643693149155503406015704638981577825205928844705952226206474463641739972562937575166699516641902116316745303613910836622538745692838507856745634991494110582682431316491688889358953010360287270876559125798949643272225701539180859023797217687417569383401839757986309165976277784374744886603687540768947318457511605043403577160460126440831095712843783203347548916156780001485990726653425403901559379851702811178027893969347869738536365171010259525225984474959027099341081189686076123925530228705177173165147390006931568558419951661399683885418258635201208752736871594200070543526854777320931629731531072366563441780185860202022784953493299871071643248025223124367548718376847713567078975382058726645257688716202816236283927508451532934314799027608737211260284345746062212083675363136975124299905303554361150007829651185573756476485937899278701320336048031335748373600717530826117763938795496624202555586676488459003987192472252052487679156957466765603824323599161978537588134551800624638898426909985318518140567122010677458255028671853460866079444097390449432220923472977234897196513303557744447681030172854461777704913492069327146377947206669463910833139708921485909496786321548920935163218867901005532482962234888278304393821160657885576748278662153736996306988909320798339160383281338132549340296777918471654792488082877003343684040172544815922683292087189426915454615519320720228532084616194407170120693220421839583002167440384708069582794565699351063729685591327682857564850025162683032772584473152788024288154126033704825836118018745732164332902073574444171179110276737127387L,
30736930608091550802577286625879526654509532989011932708832602657830735726787552148251812118602392100834262346044171184268225579376735862438176143901597767686110696531278952755137501575115363451692360091224881703326712187468031962057893931048336148358194056855493202085279911546617874078516822600753655691336898156607444029971297472385877885785264339031048638355167496372828766009195113603354484100494925871039999148607412123867584340187720406108835069513901237956866789756471858219376405581055688316839609456599003863792887456795006006708946036661333556017068040127891911784197299937380965804903633962730936471182793633679022105195201528090269418296694023742283334109688631694232782857879224862367754302903610478900560200832627282857983117263521010915169649398248124503111861002615165170087219363689679318356850618406917088193602710918410491737926421754853001929055624251811338276305161261722187228112495876402525236835131906794492850322338201721409818250046074394888667552874217463030684578236321625840412532678772758006101172340351019730083188177897993869164822662202543996234461260503155203251193677468158459383762720067155619386871916934036942753291191822150194257414763296170321886369718977257629684286182422291759561981557603749430914658706800298354360976762565546200567090163072379259927569241813813406235446459053725859406910125369109195321244116366689598825223157810555943396504388488117486480878700020126294665050366260334004686694189681170710898266295844332013507606835084418864371174135991966934831178705210298281285897672930771129786370539005286987180328231607527077005923554073935077248619050708006089020778176420430794308796096249796791478675468487774708546670177320166713336234679505575082136738393473405888197191248956681574999050613845610695172766505187384168106216566253555762486171090646111331489386207770887272576545143222970527036888284300785764324731413355948179763726317792298864444187338306255994571391865103023071000286028822128240319121734356257694082356624129132169759120563987196603921906221924798533117701346470958325734758421675946151323345071783528767494597010410699425244547116024440373223679938862448707417647602633359477948112231221019346179345768056764306272243461507458462113526694455852097650107588315599640699604141118206193425138941327611828151289892073758396102609620095146477250777813758224302879471442822466994025583221448873753954045573858990087393078745346450920754143726058359277126213743090548148597147447290498307900891774885310286243287536425963244744418748975458807888381714365173013971260363722617059218108845588031066739963545545824178682332661790765462914758226959886509809420435902626232684878378714972784606103791912579955393206589260864050913046578407992818221118102922254870836243057593295639056944468471799944564633842220836469634543862321725566370833743664322787185035599165146857124228883765365696399331615218474945452958652293163396245331305596109335276307617455582455254821174383377010948288354158275383035287016462615660784053442558360661907004582801435588021828377644743253508948518837156930383907395149501999745016638765066869832425039078901808136538978683803815628776568833302410006806342440381290053951282701729564462761019191921089118978838533311965854578254656639387926096418446495092058810604829793002130055274704320634742679845040720284926412661349824266067900792760451850353107617736782557567688324728419092217394751379788430394330147355985330961428006268359718296988502976464858861625862730753991052498734143408074339528882408300105821207751214511852408988060458269118790843435941407699202707452474840306150150176816464832829086440807254391668439103835726013851562060974520946943387179353657478220654280253172537422248004744395629955887180214866145947731526858474164612255411679113935024414643819473411341536753951838280521039532472062718061106746558062035867867145424914932059231343150849196988194776163432199764942380922962031792484461759117344241980195580357934812737358185832082209017381421206496646309243146234497316381798098308389651894362691643788313162504406591527589921846524737357003455749989571474971124358937336080316062792671939824267753806715070623776108538115172509310730632589268643543291093980482610120947859341594345361584964498832532022474176110432975654139501955043497116412361198620869477975524424144141358381640000064069002816623859145985544517631809652091183044287718095187263661058085686625087321477014902931824140583346495901661579086766265549460339983342456169423761822230686955018536190205314558190910692918028084973215760915518214669591041505631203572697356189292744907313037776518077933071825974295693319966471022616851545215545422156584206338103446063125855856090807130700516273753463086343832302728154707223387301135787326787386179099688521525707447310584371003406989038396933701697149569208795673618862933106389675474264994716188560473309458173278639134104815499347181018772929321765186288342840815445906537492819548627176933464487016313799656797838742883142923570561345996545129979819249730280903863301029268061937983171606747036394727091039463522634983004787474895525009693898430112304866213245353796946729664666308880413321693614795585976876887048991378144500855125255945689146446046208760158544244150317724637398585588532148231548953659806164045550995272358597527444510031097327512194501287084942909853016175626195670246175705860288870532514837739088881837885109603505052644600836671133172215630639459604916880876057548069130714563965148569161482920465082548729054903008851604830015028836675773066493503470340834190400768292227988672882522919273360064368660301015091751583782955548251760795764272043418730434317070999182002124421059520383269230520621761918505599974308262482860880297026086652763568027882871697102703499468430065813332511192026766291815732517326297708846900361376854158889644862821337458321783212838249348375670365467871435139859704454331343377843366784695324073052382035443992157006516979032164860721449139672947178187300683179309288558695147179248800048844138820744240245482331466322657711504042908246407023949385212814164020757585861353606437391647452972699489346794152987488806045516871851970360058928873459181718710082718010099239083773222144180778964010505746104441965881105980409737846446636203976356170679342368197551146396345569557923210272887419111876058206475883936121081067489980509849272303604764216439326619518688717877499144076782121767298649578823502063947754966459620952689303215581736598461434075399493522L,
48277365093061192688553496210512023171744729503635588382653617907145310226153486763029634220351990780299311818140263552445323104559602260251651991081372042442696206008632400466977188661718728197086526094917544093905488154726622913440139773103689778809616864576706682877159803906359348485394651669317038361401267751053232740707547942046070079353504455790830762306653548191157972514390883451004542442624048157663039064124441462992037708305143015230790311651236632011301783226069977185918129592338423526281620538162806594872142799705675751208477036667030842471159349820585628933082579250487016420501487193955057881426891971069000357108849158517610806912503768768066798308336409648018462028418454099424041106661584322545096272583217621101733603941101214998059751525536910968965629247016525052960918620897572324178921973583859162710553051549136054483580171012376191031966377865522362508637056044361224929056645561480529533522180922824609523948528248681243486071302450436366402065880623883478391536809209769895120682932258755167099978442696622332326333161288260900254080068042492733184835390764091172419874911367911255355726597362653716416254454156566100294551344631913620123659404052645277887294810939130822967991134247745671871632254496682795140186411292297019987747525226670645522663933656321026257217174989541646739909351472245402467102921716453587434983796622505910421519046841698660275605153464197009827926365482320579891517678691625744511817431373556813637735863237379991938032125160114315293252979431802526014115814977006036781287587311711161986316720241616611483236141073305345395442897836497390458067655700569795118013219482095803997387569392123110065751556635984320414165025771693524596567529417027103407757607509873103563780269929817301990799417377742241248414458481071023546626344253178379701176664465188300240171181427623559592440513302710510640901616425940733474495107312254440680131031618351644180233879574674317933019261386128450458804379369669711564017048137079941074473744266482277709430423147378547446105852415294165386903810794999062315747250165509649632544102227577817864788937278187663764797278121508471571310997138404868833582685028069161272950254150160627802203973741931135203784354801603459067900067928778274764901224639493302347312633756929403127739961995822500007225035451866659836589371596222124591076384390601429206523021016192671076809331970337391381115569163888339285792125466009346297063618333561930128571114764793688468477381069904703791937222714850166413641432638564285307244400933276533161157038188869535912186558645018884023958416332266522140681901897102115226388660119793432864698113474782032021009453738256244818637842856075532766829348132552721658997871897556555847437565169656629179595575148623667602538278199732523201687891347829425686284445859110847896607726701402967327527674589460866630342434473685372307812517388229260263329263365883025028625129762503480903774630864379578067498355334649362022859878063110894762075530992101460636893617339451236364550859275596136712923362524836399287700210476388618745373699828333571337550355979700172734353389242077488984842385058689586140875026796447546552369423069418555731752015648282078227127128490815471232806342644126529118140070913847242235744652461027218383094103986877124207033288934771349533181107386663166085834424858635765579119856470788593899315910652531403771721840128564809349242633053352372852682017850371245921973264154212915453969448570170499915095739728320263631703787157771895799175676550561282697477008235054224166195788765098804139146621414929014569786561690338954210241425049223166749362575078807212402470422235283281163822425409470566119744312228747882337742223675870036468025826891322265804686501264215207121169230192464827445783563110259795622281348392391827620073180600863562113442245971935937946548952476222513525830829131306528168345778888483982151106586898216019566436049536003499957975889496256985319441763908479840810881937499794349228357986280421326183334485882675664867244126256161648043889739690252072150509402646803958903198055058278589565628499328527194665596644699098173961351840266673928137986153782731296025273941773835124138339045252040464976653054301429019686078928190010872671243439505130335983113408311957259159477729976967723656526908481720046596259240804696222106608423964078628342489777255672481480255027105799847469278113591931917650705347243792658944059403070462670219234837951849384232794218790765690175703239392518779192238640870492781567131927641829996626255374295086731195772001715615207541533341237629026280588390772256145249336524387124326745580235291957964977409088420879756033096682002546825117478582488911501625106156451398801697781068813326652255529359273197239472417569354391973829259564624683088346180328269529456041523876082391350928847512241608975866066278859151530454579005203523140982046212298309558290582251861456267378723595005528602268867382170141576218940133347750713622608730887178882309994795945070849727189643809388016761111031753389705159399516768364192903283283681665761215764087606335936581544093920206445082984298623588502254685600179573253592209760027943697857929463702003208384901286407755053681031430065415326103101604805429284198728556521737683342115550254574844684133987105964197442843314825736291058560488287056252960867766731066692725713574699289970725109492374998742241375903779929130383747782744124756337077648330250289201895988089334825907290800180155254681538992144293445297619615715757661864495574667527760099836766464266503579105355291764951042369169512013057872155891457275600489853761074532009451262891009113350586862160513628145174122216143087158886157687876195022941834895028915714305093404001653131619117203272903762870027576521756813144705373718699373942094094831789363230654543022756946223015277861910284521061311595490965513176942449345110660299849965092079103706535279669050590124391938763050696750492011078210382253788455321194395472570561775845927242127972868646403525195127280306640650511900729765960299140769619910311091217220347908973665560138283601626573849715704029536377798076588012667875414264428831732668058669702515834136750812979135555247943064950931525523523251118234485501908937710980135699896269664109208577606882824870085080629387634316619030733643483403267922036767429278664128640511500676293064176402095131678398856938683442801207054085567985315079922689001841353965735205099797486564538728137034089371356635442558936208706134837752457590196037070987304311203L,
75819221372375954368473520272803877814598808316639284075617020845327948889613363787348184431071368085676753204787943167105861962269661719312635222919324042338327289524317119206154665438602208436611402235290766562316495212159035043657753845138608475130744318256130159155218489016454662548064449910970558198650603920617963627252156296607577541894328960455130737799763020235409724525913543676454833086424443151167665893589279150291482032803450939596529436019773858922059006124917531121716521208817164775598231235697179971622229925238028718040170528013606347829193639067972624872165640988027135878400881778592375940861044100062957825938426239921142850805618449250946726096532340163242198019928466512567601774163592642856888524492541380969283036733358108948886220892194288076678370592820810180011000724934523273837213896153413685181794353130616493296967831057994743832396020005295103326009563978011680142751574601741374722910930514174620958155567997082218423293080104847994380415162496034755835548746428383512154198685711150440858965861768706559953391523073246487710399761705023994240777873527515710401959404020850936318835789490509747728772181096383416677361734192724297044304909463968171585753276722477467551398093228199663493967960633235590917923226311247445389724085520118053852668059046819476085438814211197121376153432751872986279426957433800791394677622787908599838919791484478127384803445260249836457564264424848189031540466028670060019329434087872240484115352756885865951247294933697631170450165177209626882165522247061998055437065454301363476119133778360006390400797365922258926575842649004492576349713934974394425001937685543956619810218492513320072388035998445751457411895317342237091445423037867559550031311247682635657956063761988260325517602550600144778217133080598555557358436238326817177344757923883890003113077871360376224811186702469774557390561519534611627801293861728520596376837274297050818743688825443571259638990396573762754619215738603969756736377826127776985202418351927890462717693236463102536036910134664503239416514692778441062618893750911626293725450052025886273670858740549493978722036486201140564445297890576334663655915632947354231960686629848924171990651636343852677937721201818736605724581775506288332450712160294417031918103561815616826720142990809353260186239839505120000905306038077655058611171856958749339062557704222436300413801648356881861385418767234985660435369101924053254605390478938832194973413276784077435580074563921921780781770018585097471269033508930559573832673879066752284498703707523595238185036216481093843045239879039898229944166038660524226266117258364309666151507052367882127403246578315408031970233839405714770349237604505586360646281374885169243790456029338934764394939614347094007384016261380769776091189598208586779041885574689572143135319661898326348854435906375055956541108102335962035995539036672370555890370035786319543233512028807475077734720637656571273012610817594018886659880718748842633391693300685998846749474234462480660949174908960292044013962883438945666677342127981446875214300321535221590917902806370551973395451747652957946639653401842445679199563682215213463054475182832421422658054811643589860454948673801557853950650563975856603439015013499339091971098568315664720461507502157495461911631009550695158263953416163593402998854492936203595283420203110341024201035597398256516239539046617150182964297845801046139587736138903383728073099185514347072931927938333171295031168236149457978006910229444622397190960587076971925784020265948497452959779099580996757584034387145677324051078407125946087912656828423347783252124431515698965374992102916441025115739793330365112045764504070020208412468654348927730322255436509903648106285068107793892320960907828464152338593850052386646737215046935010814454355282249350767344281265298841748883191697430130474543489089631845008251905816164201852672610700004099840155509817381274897375525080278273714145716147694321928115769325253148231919390427141363194036465630882966726581411361238783082883612255071822066198243852471276282525882368514498464864487616246925763503708764699417871388326226763037056327687014754857372907026455001024971664271684287676859124801163742238340198752164074031251355656264938601516279610092388823160774826546549189647263654080895007204249162339884106344662297484213398191559906970329804028867989224730001712289502332477943831924016922197111356466182378699377747466581725881541463912376682325132767360286329179619896766071779634146549348493023646547691365205842743935494851158386695748914712976362424153655440103382649432971019658819213933692697547770547868551868698585949496607426345672172861964278899774396348345263251925637210348724468477498541650101556137035177788072521173214016218305525665308067144505012581678372988823424167211265043477494191929314160686681971686606383301477431122050712029723643100744370817350591496973568103888749311004328122414056540034023950651348451334780767603311209256994215039027459921424894409715822676484167511931728445921712375457153674222465090988455962525582302235710587344921186181721427627800138607690333643496303261759607322310643539130435788463705013753029813196699354045963913099934781464576822394999015281935515578908392100692388150396408950676813027715107941370533655273685134571891853785658081221301806771764893937489458501108680361378462534913550354940450921195746209972959187178686971981351468361978632195660655591317845869305432843896386797651258605643599276819883657146277739841858367698870491260871240326962792176651752656536885906594971517135531917394382085446144424514332004486375847227671303659908066357858582575955297258102921331624343399749402118738672725803623092887560500653914299751298893290892157179667658068548822694815068845439603823115259961955055768086824532239352783070520154992070898920945318935835975585702517855848802330212727060657615805630110880157724805962197880200940864348472276177352847720356111870070768109868384924776824294261852597677740480289822986818461346901838988708444794824699270930853287568418068695402945578471504714371729200590948448804712877097861578141180550079854870235825657649297634254619853640703137541881603093093222418086661899507677376734392703262700911807010388713956876243906337898163202417080301062879880950138448342562996479922053527538157775332185705993837861729931668122422667743929281715099426157669299576200059481858487242358271230119280364924203112495036687942413775001416510318705513107673616933286074723197791634256L,
119060528001562820869187892998306408243080929401157291275869589963916720156273908132046432090942172429225446126255183846653388477321792336922795772886605895243612642755726485566740471423551561397593004351010734590004397502855674239373220001288595540988318533380011654649811395352834258294089818423584188413150917289969176702315186250695654147065551756202102205131606731269267516969328019781555201295404945457766493806863074522166588845853809417739776665364308424181941489577343101458350257230398779456263690424518637367908601145916033050940264507445030693526143105746073328642540357152936006360420019927107523998442224491999401769532320343483086145087288802615069314489430326993854518865374723613031081545639320419091248437898466874632655957935219484779674934017452483937894713896406693657564845693840145915950556443463807266915706265537388642498072322066096341519602042787222854863658290631796694094563940891919009268047650834263211840355530076078010481446818508457874948286029497984417084359455451342561186662033178617328917099887191722475085399602254562530944208063638374039990533433413059426818153696454902946749130586122267879765566871175052487463235729432495968744147997543482935172594584949833082839612228494129510588727424740588672143480127180985428244445937669859657474350861719487920055632563501476011914694820779798507742560922741131160623585242330649437250562727735050854208496229143787989805070924328975668351692852309372785061259916765375291808212166273029655962679735806614949415919747809432744012900419132497974304007336113778980852755749495119199375840964827971256916304780897297529848630396799667821944190708181140202318076403725702319215872502273866408099406467955176366376313169298365049002045314087775541379608387652362400061316524070075885172175358835864060364543234294309992921906447016612771920915403565968277625772450839774606947255325067190680791275917044804440683421791182041699231416445518462123190963127140926459882871036201872448842067242152226572439516988283946687505986364347329972848712044126967231782280129363739153409467148436743931595789894938055948965456470884922101295548614362098255714250960739076024358550251529006915980923970187099748906584046091120139049295642296750729277270811084786908242543194819818229415508349756046890955616835805444439683717277581520604703622344511098854641027584663233690970426460436407398712616244185514985329500680618905450594809712717971624968347378497311009263625057488309760460064322128293578575662435207160914143942743038921867602784476413900974899214656676003974847518969689061453693103271212629377271458322268416424430823925503927832570833624030967155386787080826327434094713435218568091154613376894560579572712658775945941468920836043515611681035033131088593641735926374249271359490891036733813012612215317935995985400786791287788212193433279947676091896348700501331156393966007644749666705737710137571792148348055021040686236508856988709456981759664436358985890616010446376247207825237729364435108532071612212597016455155951293169016798756192241818688332425718835513280140651622482517977964809871287845808387370853792654653619134868094164104808039067739411140501232334053214320123821783311597085569868868948808941676292472421139880195431534617078458140651007729237574060532682952205229217900292920776834203509473515376618687704361351903929811744736984949924399376082117402383080708715304881503392690504593551711647808033961460536861986708563833748552301969716007413432040406051630471984988388529558799688253533215571498422198206975527577815328191716101190892773943998710241666577278071354189752882642207889403006450341523023564974079069447697586254564748139254300362603596557324035124354723757450234582121262249188530253654572081429824171438533638757033287391619780429752176999746286490485361293677446722140433510803864929112666095374758074454346759618971433536865051177705408671894245098633925995708488130505757763344477364662334151278046088725438248595721158698366401059091748979922670276557244072347054942829159753342082657727269596685561603015320073785058199206527268475721311551477073245312822228263011221798583278054162015330086740052511676956047929845402056809690663476012372533423114568592886736456231084150373774801323877650037022905342954123100300045302263332693691930906730407500747490531930433423745275562335575371158905807951023814779333202001797345664966162334554757623755823382537753682231916536466811306235331020173228790544793769898809783783740170337375940509163518502059263844720069847711728854652994458275059599208391730035714720521014416715765274672799861648935343013192999510412952551981055441650184146493826938611456411612093397035579175186919686038570575875946453557984664660725866732002503687995795457005206337113671699264288158571355834351806933426113103880474306074672804040736150508210631781973114238295026730897171974773927924419826892445778052794351817170605828549626036905483483119998686943696015380495117267651537734093280061138003340905170776501209882506044399350028939892928061490182833364145212735071341061575473590323553893456549358346598741226816880904368694322372274228777450120148691830323194354001267010826765811072248915592133972611919390920260456033401183819429818281853494149403095459046622817152728792780396694461667481211756706746278165836482399303222517703264300043917145070521983204874733423332284769406373986707631959373953897801878091322221741596494017000754877803538883906089813791262268856254279415544011351730198527967218630189463428837835882792244575010927642136466966485026410261795167442843803521162103972568244949252563305890719209689521030466345875970201924229924378703624927279118398365448878144627418163557719926634447249597700461959051375617167667675538615222449775404440327562230558630420660332603288758581969350884654938411414976779556412182922545550028006961602746446945477020227170570880199520706418721246485268431405825529357835795214605112060040774547232438917664629979160527292182355285475596610345184996787853613218820366064579609024022692421424613823045444210043323126989871859803653592402676732173486509021894976046683763504138754915778306346927366098124906130077488905187191248067110954697501299520692297851706319376163223011135280975525982787336732590506174078675339161568713561395639185736972166703795807980046243485303030148458997841584903422416103986726001301925748159596391425629820919422116010340264358067358611348612580734573884847787338075625772246298449787283984222941268053851758888042970940293L,
186942925666637944944452145190603078145793969797085725186618107312067664905493058050845808607125623912074247578765448327208815291868814874810066660140113282011491100165530584983178428810746570358114007761855581249105109736821103804301894080096267044222340317364450805970866303215949438504636414623332238552546355062491708329255373757564610402419678252403988808344685460559196089208773295876680668777298970804154824082369797857331938372118301414122645855056221381738893662072416181250748871856261288554281292429411729480105147167841778676862330783157578000141715143519601180815041387651680353484769189678362842187812113495555008886514425751288300848542540852009719091507241456969935138377508589706032024606477376163476900657541651332481400234000233481323800422699518527535879962301585891114082590032725038438755021081124745889181711194839411443740320242509516916120632395545240690919587789888779994361546857094572087855401549480181809537056866572526911038041026023774522974701785990101519766023101492517430763119416378274178098392671147018800724223962332974644913385896491587529086854980085593642194051941721038104579023991626493102883859658465495970585619948302827729353089441308551804168391864806975028315031784022661253194115192596355127212006248393955473519306118279338093115729419224540324887307148234842973079045947018905810340784550660599747033942848214956296792379913268176771713152932067437286772576903926851110345853763399132115190228134916000021473842528479124225015705315245996696007551710980396215195638176911477080351125732577064006437650504234245777707199946441084162317295137279736396716044553644331944592525728569467955590435886247808280530829515294831845821360822766802190346597858709886609374180583208974050940254398311381337408006847202290834674037517166670068684778152770970477705587869917760993532281225172389573617836875026589351255761244307155136117840231983642400438798669509361430649218363304943850340262490013812190498767257060367589402302845707300712230150799136780701023069750262353338024319662576310454368920512769237666464764054760904177804109419933947127034987115331025769909411849174769477167456109200062444503009235259240722815664538892897922808664848884204568136973271169476263988707045733850091924084837660184489146220449886860989537472849457168593713062893706644218057022107236527956344029491950944399473706889331110434395880582736498595842962624635727377428885094100301952448449899088025965920984306560463156173136259430934677156257197134840860429047727724355436283680918041799088193265535335404586996224962146473003651076837129206761306442037554766188245902505363431695526586221680494393638111460178641392311675094129589728375347153316838389128310575678975266741484820756631117040584726926150305615678027490233031730837205218690108123857435224082781679901895966364822435228431016809036547519991249910409792147465766714227000077811720187926036447959358464690533567116019965403541602193741661978922422801719425020897816125641975347495976175919863815078727716306921448254107421936663476696454774875703168118854702271711323125415276041164142135519863653137110883674375990661025599588011214033645142204264965848515274855636801382718949557126849475796582382249283388703856246494400835140358630900776070715155925832108451505513543297668966125250401870159252914735739509420269069957603705882566405055187230112932101414194329915275808735389436189349234291387401996105584757988504952987185397644882120349921479392900777715844657281979643557844439194381163708374656060679195380942838463378327073519666672595316906138735366333999550933233707271219609458653303268838533944153289585339330014212356863594931808483570035321049037691734637258288365812394560936873498628511445697014916497429382835700588259101939858566577795716064549363030686745658578003610366484756717305501832703368553613136836574276273264566785130283608391227614250753285428451855013394049569217871265074723347971840734867193186526636587170321839143966571077469979528077093890280341569406253744556826714007790613997130381233380433696876213307800486339258710501168168639970675411340248704680822096394664010623479601751031716049967409791517645959125617016258422475167699965949518490843346960977136414589795367627313010404291011857889590242630920840807588347691846191016611801031754074975334189158233293262816431957803136123201184088751742337653768420474189914243766423668671777055749605491129314306801350371528431838269621643213553447739316952164210797976475364606115211630329022654019262712638426527598069341804539695406255301648455585869931216831711435541645436859779700483127231551739445244247552415499913836280103722266777643317110304689748737989424649748845339060186543588089809753225479071673664038980355478889899720045365473599439180515396798327855940849828624958833746735456129245423574198176291318847473479436264000448964792254784805220825506840608797816006751858081461654622934549813004366773741913549317952329484909488943503452332568184413141376313578603135581138316690659409483833635493900189486397941472556243159413691882978858046828112504584261691752505314201966645498713240507991282279537953596464890900880250909782767321768922497775540789165428559427805430786785191756468005478442104205770480949886063057671378683958020785045437655267741171284822892703918334647634175436033855809024989341592003067285565916443362574292259321322948322552645710975590757785821604173604372584521214129345820854282590194136272947308766725810768743227053016962713362827064427184261466973421713917008908824424353638944882771882461021741223347868652561913423934417919280550949663405565207661332107088081217237744165396568764072731065118229698479851318412429752485372845137749015126781087443631497016570086896707371290531512107423202432238376832791255971242066072650955104635026159066658444629793488646417266066641237937438255465586048326574791030417108082563869511524925041861034679691361546951038787600811088021171909605932207846500672537224336210591022397745064259930471963036221310591708882962542469189266109870079092134205433597549920191974334150296086970800508010958636387776228470662037591700643024651421839686200501789761475361270669534926729088764961698111507933693966228604730157488224539810760308034700237396981956816600993633265347964594465481109023997669304901019332307925101482781261468451222750491991166505936703140555492167387112631505229750824427050700885095332217006018130230685329735089395175868070791171553705796125594451106152037586299143726937880143L,
293496574537905100157606259229461287627406429387981955350717869143182988458183654783449141130333083148042623277123353521706949968683020606791128033135831670053141094603171856383735336425865206883773525064058074601880318997015193330884580343508063189333848010660324126346107169798383265066786530662051918738959874753103465126170269562813464399441131115015154996011159070776110791283722224650225281423595925181376635861362825601938053690402816802259340926768593483630303710523384625444278380243795534535585488796422510786576452940903376325800514629732108053297691344336440785905556061299324576075184873701551426691218332725057557913433866080316291858509718892524582271594984557540325612577524218458310797027189816617223667257563529362877478465739579339251560892501143117948311467785031298284175345781820703097802784144495734461362645571388216658045563405781985301577010003986799389544981130371371152940887195535628794905124341242367814272859899757779443169747979770147905893832919781609466057652388836315472531867086611302539675996320195802296867997831584882231902293734029336104469581208824917037781754683145880175324732352424676872556303787815335378654992174932520417625281403977176694442272355401432200365056760048234378372595742517236884383288840342265230498243361873514937134880004902522693697908999876458157476025700436438359758527173631602215044173268348564765102001302678263095212363220652049699947996037669080826754061518478045857976171526918991103667442211560420927213992928460298490704092278279238754446004844455976060419688859986882014528325638180356452189432813908209975075614446731015364094041557440696036019246936478544752869606033816828479400514215811254751909904480642186292173431158708511420246393636928607677191188104381646586679608482538507874532357545868971842527472459853855674541563184327821798340510299689961364484130862825696709478826336328425707214430036389548049154304852635076640250423465228461802719989866311632882767649124114175333541110055517280159218498239644043856639522203903656991396920364010809311777232369335870481375439063709679365705978881016079744065788291333759547119803473635473034940830552823020994791367791909651630479960487197786867406867133631708226654457914166372145708941092925180526951092796726018844506615656124727560910967961272725642636441737432884247012943755364679041675482296629233626366243448210209135545985272989786889431584489956027161920864510820769373251070197904790614418010422431449725699622426560732423337973910751007329985596633850417046165164956356432126332401827584955697298917005268736522812002602283912216705458192890890937443803879753245663265295072702954301025296619984120062032959081350979986435922784797048134646381297835270023063901304480383086196194907919821580793293043117759138258619934662725548843206946615596402250357674830820888036440763608430419029941278306023121091914838272559708352831972194603806450925063945235211204077134300328158614855114753584235277424929781919443623271992971015481715760305088801379501707871774500785903788841553522959225883183453535243072639759984463825623031446704325225574614969346149972420881277723094098004874024357211123937992616880858924826041470770587552179297438818190994427139633432678013820231496595687282863833998339374516101757445131940856134507042034798236358919852812807385997666972769363458306563034976910314958677532397749030194017667310307983712584906669488975852279790866208733492491607376492145523828885952304724691509302942460923923823987476827757333010832297167018024736369074830411049103742084608494665343710575525201492155667524486664191188152595446889968271046857845519194073608981841815004516440265878584769002396883672910371916975581375296932303408317747873921069758948193385656429032717875536218138088038677661483091875676292968986018771226943580131385632204546367929788443717137631980675006551406183930582345682132137494473870791200448642935876928861690940144779083350540861831717826391438582307607360160158109083129848441815582242128268124005799968269261766303089038566184064516932586871500448344084197690724858301800204193199207414769089697508264410795529338288162166545700759141303326380291787637411189826967781220505853635773675651638805961680379558833408294980609971198782798600617656516667473289345042669328807446265935456196662228482224025712236842484638713762920044465627498792554283210213944051314907580164319910052350976208435068138261744909120076010282001045232908434150662641228630000897723734025956196578460826549591588704601182566314530435649952916230720133742815021496019646259003153618051773431293489629391653794618110183213064310098934000863053057552538751836074676372312087018653620474379787472690514317764301867921558934284393622510727672177347879429124545832565018879195095182533350233563256843884622969968205901410937603042048541795000293844893183758038753947665217369027262266288765046158567962690362579143385982085293868892021031356343454421946646520077020939281345913104212154576348469380745172422495881066903898353280719396062524356052675482675798896198489282428465547347922405590974830968122912308803500308054825786582016859466722069557707704102855901529991876268647109512972364345413084186755354375796465967908853292501726850807859791847854212408713167700665292152044387960941970081822876230891270041942943476892791570735643744838395629995267111486341625892563560425314924426954790521413702771025504781622846456421019953877458490562045201064948341159916684545653272277049408643083097333677870537931053933997469938487797592707069152816594810824036246570640242813348525000192443935087836060663946638433160331086612509998479569360002355328506324050950182309811975512484381148095334652515528942819067324027689088057006516258363970434877715478374726438574801685153479179899825146644475687913388641469570703291239065878155110555193254403282733902380872186631816852755848480715364669784999488515610778292094250515991993883201960391053408843335014365228287846654697654897692033570764740559751223306593988972830793766469312839798076748645045796148902031254409982593540565002822397056143337070894673779303182984970479166980035649565562704095650537878416148746698668306037350967949276773959409244174271491774672721821880573173925165645092523648585819736711735651570377023019407138446560096028023239382397735019561893786687456965840366013462426350761138928143129103085089970497801550520348674353571847295088087665679262231344959443583094331216346688033361191642404025668319330688905994659936240840987731L,
460733544867591899660274814273046273516194025261283557045643039043804188260896811560173965754709884779986945787357182244555786098214410813353167052789808695260972061634179923536012413272766321677167312710709719704298801581631338841584391280003593641929358904874670317332921128646018462755233927313349636793438114496062855904447051910552596563143131684557524709242804447288041125652923973691200435871618778043805394711109175001853675802127736072541774660621214147427647625134496514501346465577458068035931081795361826782759109209843940062311068194007648156836022763431839684051271292471169907088079036291852045596682685967320825369252512324247731508903896988840230863706201418276205316557628597582967257454914739085295761515778788169740877865859061596227810182268133712537488406105057179301638483284205995346829302086168986744553592655476050943466813027668723217448063387271950060637602078347874369670285885783955211165551537985902918459162306987357607021967293534780596106191402732267930928674999402664734582739941135821176803662189523100111180194268868936346076539859543202957152494510730678900019969804274314126598590833336629215353570483540229469935348762814409812733041513186061943541156311669809441529409372788098800835398763296355365818378669755651431265417498199295506031095608360814136690409889625816173449352516498747422125248512512393987351289960906034091941439748124986992107160191001997910267231070007769262744813299239672615188806035759885402376016133814646818113080873003237943843237107013448829864661682312037407175087449821603952824423954320360203423721246008068008850006280642483843865628575077139645283552530241587063571393757384827167175630921230004847438923119533362911462387014011654096294779318630767060440928913227827140497337761932693533341260892085556706087656307942888816897110685052287001936011126243076849636322042891108492493229088537509268130021720357774113638890939333692553546150162281720947378274589195294827742924778722852673049257007146456819650142506719742141882562447482665365708784875078117009442926989096411623096630280220687088224255809910608402470128105359083653747710585434041819234082499337635639067908640923998379513508900754576376117627074942781869600914134258725900373562790476392772336510584326510976414638833624741034191606114224828417132586666158719369307812676017020538101807742134655970365645003066585894573008459440815232401354075871228430205814491850994777846642372932385710555049533729392280078504495285724683689953277311126594140319930961351255157822464380069251128468576664423633076299405003898277745860885586129235191087569095896349526388969849303645435104905052533044415246569046231412309156388381601102314770036362704097192896546360933465891082478801879103329974233634551076899534802592097382963779315407382839201664245663852570674447710253279162127021362601178408086140504511616575773411993107992129916311054790700313031717075707199068856910737885791504605075335627219041548492042831059937093995028827988591570889533996232506120774841635232996463932042208155138233871146579695709275126342458197667944026457018269552155745470543356617006453506592241953475564176967047810365878651146383725667065041796100413631122160010667286495219419538103726819912195877818554770980804869979682358712420002856845125102881639337481451949238468714636742314837834537127951640807784292279386948883653487869682482232594992741164836751531413556203024171581415241370308268756405221847840786432427780205936637739652018483395746150749242786917278977643247404285320301830314899096006581627088852922555340539131420454556115143843868343761551881805288509151383388473581272931080996882879809759739435654150193416056235414024060739545591489867624781445058660222784253783621127178758882794445893033959398208810665801774783846343103056212244109868501563324333940611943441865387910444869034865788548764818223928833875505264904563689038813904985354681095148008080970149186426904486812902237890503367999960281668115013314150530185806497561211969396066436619035087326125778246963110092358426383782202120356016364735680421293149251187513368663362854328517679403435566749643537373691379784475782090974446517231852386444623294384750266873247722261737541790557054610125020133353111323059480426586860885532787797220806460248173829395869991467298969363527140190436988745190599121324856025099158579529186691046946800060544703547774607313134540225700124480239156944238540626394402782393653121494925859493141231012991215219502542277955373803132388469602476537012848461418905441159735445448214700155205820296963587651192600529364460807332315596745021578104050849180334482612102056749770234448019163394487388758833979041910866633112253233065115784103369463624757406336850056579989473075891631471369689813151430852041152594022719652615407788225905558910524154011746187213238107749723549977567082335914879840478681668217814293052984181224934530764842133052191549934235153023113641492890018087423560246476920225577828127122208561096417422308179018022259989502338302038087537298029534561871910714331439077445531525347416418952579865852881234080098735969976908202000780427530138644513991948887201171877377996329974271703270520822132873053847141890793093267359961757976859193841841477142257350215222756615028590159909319270142798501226671601193167381751209554816560481218775510004450258405987714571037651039882939585615509482335758422160738159526150281439944511268670490214810739524318894188661489925199541926333647928732230154709498071714299080604503375630731751682966432470256730743705346099419305837064617211653675712159648419003092250482672372273003280816218486971915989745938444885254734461507932914786759410313662419984417854684254587936472085951991490329586263193839096153394469462119918550025623549201942557549379234640505704405923793468761466039362526757801594938796020419950570473098404080148339418020496919181001742146486144964854909485129512832148788905785901525607800335858303152872118125932168745069117502460950956213629248206614148569395313680179124948823617380750059669489663148469365207156660687931224134691950017706675576524647420165623701458454675058745540541089155147919563915051816592685537268232043881104407312257614937564376701863712292975387491445815661026282140430001085790479749647537610677134516215812952073135713114186646236726037319779614451891903179923434989163474025699656893525029339261529556317656333121038318524827701217541345089018490044363205266964247433514959026369246060749857905459482759185024269009882702L,
723185064532982539845482021182167321659847809651519441757803529161172971575642643070223497747275548294971487344346576877605489564572944832121269014489127015662434675324280635747245294436585307401967763393517825882697702688376813307935317976919680333134296694747058176294636720545092051129327361750925780462034202364181159326884181029138741323193048927345974059857888969010679394743687171237107049739655038916576130528684115305772219441083061991183065420671860764351838092873052406214243401300934916610915012834522395133907628584807672602888176250283333460920168981963751013515669149367139742051778159821305850742159169320274184515261150642704815438235920199959557484082376007569507632885913669812498013791589580474065963915374806441485999843198979475088505604995230236924846735727987257803756878111374434217133881869663427516054360504315853433272024146435472834540623193690262315966418154620618353218601746091112347326481838020218995542260228405150503258846125931111698007296900550643432902147774775290132888754492132565132563161235195433225459815189284055549821713985660346846718702514768466081741285589724753984894710995839419601944944943797603003439171000611084463776283253980360108998394361882499496250080053303086216614885684439545826139371951889544830638777692325237521187408295743009612339845017760011482159068280794463973090190583231501283212772174697318422872699684281294122967464518923968463739328982803630251364155941334555566141060077705570637649173817523948396864994657727624820725704053979950384813850157230156607333236185663194389276198460421714905342177540447909731514216726643354525811632680774944846431058226987404030091849916433714355468022573107515373365869637558206517593720823954941821758582097176810408886661707194392338117865493991625777353140860358442122306150925778353921045829894242417630734227777130957293363691264956615081091021072959694106849313322709244875356915063027088983348845748970031823289934377974787945502023831412184869656722293028998164337118119412140514230725605924747577005535687088495270790338175771471713838743535720515187359152633703975810227366625519732888182970471525160470255496669558737810115709981056480130123032405308532291074490663677943442154450822739893679642396708146952510184828322330886847452614761553536174049913913992515037797355882622352964189459951722147982008524137204844401648660712944868734405033730919934749073732828838976053039367729781064868081619153363733972093564563220191752902762070221605273708985550319803359350732461674975454030421144333430336713257052034701378386771465993344681280386947663211682628140647228153055834200703862659864582538956279953590920876898318982659802653928266692812702942515804396415465467166588898245870681669560683986944053379520615699659159930022526374469849875681622091672773187454577311499114580325168960707842922488408266180432856507620049493999740559572430324528948163933962353832310825559986171396211922998602828580438165808050045315932388004252328009679913049926391082047409533651017740346876816829780455917439266013913372325075611201235464518379170665478458427265415756084359662471942486401081402369996963679230295147655696370073081249607713334093880240320728269965723743189742981795153103429503037849962223413961143790864378369594852750163116927797586367745243566269018266645521881748126995681693410449013327387677694918330043650099380651989058179471437460526231274599426134650240955580482261555335994406089479490347879641266370441282768561709722089312424534055341584963684997881590350764873179710914368902851821784220089175692314272902221102480287261223480744469096002360809844918513278323362564973886170775119197782778099334606575957615216461378355342318407050524297742378568844796216750640715927382803344582729640960492595127799705917728770405046208246659442096928159680922981202455369190694291898040865158077850486068077184066834316723046726105603731967757014646390740137900704588519905517410821025199528374799570909804222136381752438325998839280970809121391887643631094484868912622969468895165992832698299432024256363979894406078964763585333692181026769535959840699200160450357450509209843653469157667656712267156631055500116560036428855126350987960947465740946399694393445114615057961015574162405776775762725422784072714269113279292507529768964083110416661078311415641693467168466472171573522563413441287924918725181893516208172054288481153679311500540142472605430047265450031877973169549848210061743766168518761104535989713945715273554726887421187663892920025526862325177506152450867730494997215356309132115091950829580623446131980032655211159535233604552425314839704073515899201947410289757662992215262970410490543900457372194746738898572899079565155473469097592436701270520316446277229082160761353069308859853127395850634411181292265346253406980795367320653334191169125192504867699782983154122559737347666324524190782614604130092778346506008003581973703756083382585333431681135138375469877146997420930192621316250081858474807469064596782520181085019913291712434943472283453790445778392894525429680698382410892721246061268893297060179912044952551337141532510172926922054624077020249075336493568079314166243468285149816624570186013139327846636939690369590533625243032192661564758874026388492004977577729143970569942867488438893589924009373846706319874907300155041952230072624211673196151576817199000435188518607463752157958150124333935231222900913941434349180545731781674319642432519229829271556051062570720732748366817638383300182717741887085628349230650855228636355335936129821318093702447918490279656159684328854553430981249215339671954277770766781861520364941944487064559068805712802173002935285793598530979147496283761414354555020492775485358714548433320214805492418105864184988030184517419803977301141189396290497377101726695993002666774247464069519843245518037054521343118965660531375712818197689434564177010737573603835096892687289614747311188795334757329614184286388285254796313692615884750022854401988138176554487541361276051405541140722100170484939351674304666346416021717445019418932818665524453727579174253389495640486367925362700133774604378254696979703760642283001769851802745006886196127860088600155504567837192758890773880866722818321313912066880406362016099236785065469680466212851869037405781921476034570103221342101282626402373943124958201857871858306979518041028153772174694706181132943137395228838649955084010315845628000173186198943025218532505975131694672591125690430841990974412578033935768790789107136261794639L,
1135015796690663321235548283818762296005772874056548497739037957134771899184355120245176166148950718690529329228890598076844216585525841837008460926757529590985839440819000212915324693859982715273382033275986322540480310189645232193165891325577234781673200466028807175370875701680997813303315051417139027399478804751517557931119799579073533578987561446579873424978655089247494980844234863971661509075713690671498874083188569954989089660005207025357805483399218546704242420819521804105471652280068034584791891985125045438609266988022174093376581792136109448045065854133092800982493465561452441575954274628564574340733657269438059626179271063449829021133499532555694572023896793625621191569930603311261424237299879347338224483389498856927799032167667212258778211797339212172934385895974990084928645562111806376618320864913623408429867342728895657880576471919528219634484174642936768426992673591112766520813126156219518007196946579824962840888569107155643778034440336492564798102876113215670982371067005899413766515284731085615662325612847504558257468379025704203392766098904931364368338326873404120870028724276168802529840011284320477724386273873256992841907242623691177282734633645576532626167809385022505785046207913696457465434572171464538653160964707714033035500330915176402614642064855439419275313183788808000502568366624420969522299280269577969690258574410958156802148204825166806017247319865517647085108231512547923729992252735964837142658730571421318591449299430636639350134534044269834386028540565785980961334622321010468549320588607282618231662499551067449377214578208529200855475500547188432750836230533684969657976847522942282280033937196996493739814937794483627796567935410060590452773693602614698445548142075032701242895099590294118672643055739424979304029545661891049238229730133976936450557171409203735227708457097248844472055637527730115957902505833725787642255450850412368064248758333659809004039463206973564235900113505431851643706129896947773928522892760801538567511313424615832802484068201817302695546621807964212587937193490938625620815104655597734739852155055020277219509037050562772162884916073780050063656030203021317894666022586767448358265808396766957938492117615785857921283538143957843864094009655479550222911773079839688489834140905645723770324713157570791233959799821506574488388085502103351159703967063178568322351059409740781860829543829402651241205740139809903371639215968086523012944754594990800474253006482353312786331745107053449275498601309405678296412047518930136206119381139936278151341177889151685642479655535426765427992835693730343282177555303976938063547536748813007464576067327286554287559863882826104291036653058454286051786567859996482307397984168006882244499386259361443043781021867263341585520953045028669822792325088843226771704736300560788277654583176617339929704560535203003679046838597478870360941934562677002454515006864996413328784029921908615914126702180971000216838215188094732379907195186151111441539273667873014457323717231156103177761603222806832691831259135889591529841090389518169268518995187877593587491416918901809457186004065464869915713065240986553279279856293481594901179344230462739060485148022378940004080475167205615765723875287210294801355151207428440915371132632082351004730371326577917654102736746483203982620857951230629109568360194361409463814121158131068196401047179012472311418670351269833019631803159046452085034486810248086306750751371049166422708758798670518715011338684081304518817868797795150905953652614107240123235857706886405308811665022939633267320867998298545969694730333011536623941000112231580588635908166298094561061368778677295248152100322138415189735447986351957526826199036842635843884862709506921767914096512586636938338456494389079044868612927894122153753619038065843924227922491177087576724859333068010738736557414647360031676751381173395074591799676085164593061375801331763325290854100555954653025079423841922614764387954028456072256786744832814871251702525285764894758939979844866009534544499089606143026754673314098006883271817816272628265473141935428411853204512023143648259451685969156341234497783271052913284142965831996325706085504742724147922909277223311036341114686335634935015890606157987031156501949256780597593421577735966169505079278872560389445876846726664223492578226059058505287231527061842784774456615574762522347670618440500901592979531052637996138297859559159234215303518254287137093031629820354173417672223869418171826031402520384418309287301360712838147988411822776342626018050360458643314418495203397036974823400257232828876838139046878255584328589886795201902947156953776034253524872220498757983238756190994731250654007676584294508694070935586180796247257503582979995658512752010383275887319986164904233572376468780934791769851416308957601925994413360665367095653702571709648463209234233639443005266367584279229025759586542458474844746161782710835062649062237901471212795127644041104140418298771254448537233277042014108108323027940020918653540022867820073194565553871530196939284600433268218237760649904506793724176265770880881105617268350775166943881736766196802777012607861131202553447110321634809004455192109167573769754962624710509551829395286736016483320162031920632552678131380560330609940282264714008769267886229550437736559536792440511063681673236874768357510962528833679564044346886099208292433695965777179301434255408617824877717566623514935761111801972751990555290657302017207834385022833394454858592524239039679941770405661774043015279973571654045813293582047571208487319607851110862696878021880595275044852408864893629644984381354580044281148065758975006914502353821033899747697064674522445582865246146250514614676485927027866175149774629068727218430630078551778606159958509670914518322842327592345716382180756538819492753404847180572339869148254500295839286780388624584188588810110416142311923478589126219613064688154495878898175301293387020309719504122975047297649127097832025101170902266843169685937697832127920530398501051049065443368956443319419248168786211680713865556193144274937720750927136821197135044107432873303226217128954973324193002266784880796555753609591506527974171651706332441479531915563332570994559739177585404008939769520813495563847991706605835476034499005826331729099992469041958153246607520970789570062220293212303568387628110527755725731072906529666806775336577743145522457523350565090135609360751520286065587796306162027946928175363706229431667395479080287325118562665580186374135944542664517703L,
1781177620425524097405291268021473097111338489365485055074597693304400995171840777320423346189482770178722695113153330328553557187506164886978696260846293148932889027282407431333339971097468214160507590962642022876614001911385108941508773247686834570189375918799213667337545027382732695304567561805466834729814904737596874432936683831181973974677984564573961693494994647979575270395947053058875397059652948028629861828490984879918432736796091353147778557374013992777867162329552792402759352930031150863134638839929311160203072137825379265669771484477629429846554500547261108880329050242410761872802349502456066101628597239076835457577175364831115748118450327952525355906298634830543381227124684167525466463124569012097570223581045679895611267281249273314339483257353068571429279124001482186244654436762510377430517311725547029607320974840535022244465429955657787180579969702166016721294720501199122159146250149438423937400171195816516308336437559526674132060185805733612453015313479230638054605316053038602007591771415773129254172540713929188990860424849077572435173368418418260236012568923692284965362572516041209987303168580442509449152976968807113723970083666316971490459641193309978338244310784055734944980154477615477564968031521044919936895520279083746233250954685496526411707840595957671734100713131309441020087073918738253075947572940130599040768362427672305966733204756367595126875961440416452416313044212844200206434859168948239422375955315248213055813280529420347878283406566923138589167125003524326845607907151230575674132761502899129893112051655045387552451175047034790258348899746854019743000592214817455064830152042011572495036360832999880789363056341514636152675567113265046779223996645605171170718854565868212945253023735191809420257052057573951497580219195792355546089709194526218899470187293492997632300404044176980955725682241240471331516020783014454637253412789751438963909789109168371137839532614025997779858940525554530920104888582679544805440650356134328153085014322970390981908652747958645905509932180940526838658173817347371434614463826591195301776538247486446379716882064365177707398112582479502043224504107248542862596934254040558703048014934767564374992313391898305500187548547088814200677693262531426249951700912842042484801716054937517098559550677642944856014862134871686340260260366385434700228759433782478933620618343088078385226216203759438026013724724120018040064374886239331547939307957767405976157053551780142201043866115217781017129712901580249208698791144542689267488784830475183040184351858782342520053549798141151027421510977476451451870111115617309849987553306323143755317876924677278253164679990779923125736735042155297878039103291230669744561773753335073572803957591446214730218432233252163143182194688139487456592433692294956263111225602079177966247347358276585568776618532117118230420735617918326624299496799080152677289172228269000003702587027054246908676862734084240813240739544357575816664830771842026988373863046441291357793707840003476316369998724165469475654870050854328675031730048418317713734419581208009521451417758649379821787998124031123333867759701932963102335157046659437216589494658048418228455083312426819290525738812781232627380484008692426633269036014893421498187872456033411338406022896035667732400616095472886106471448752134487525672728920065753674569684965651105153056421999049884594317304721276557749059118485878682921648448552090832273870851809928363833678874181065793204548795720091099095530793240151698512529419762751930066927685413034743056867405326159619868447959617514044350106531872392336205963721619395121750634810579724513808752554532510401186936481317087213257794880140177066894433363975452399663563665247095998766188943098082211312893207854925194718177259737130286722426878398984690467444385435841955001624878172983334064505280241079464216560610265188566551934194400254439061776263493078053210633441568289169875727080017856186853019157822264013930620593527617611703619784600727462644570248206156791093883391707262743460317295720804052008063361554563818989464378792711606334175632975866645251408870221926040901378580828125928718987659379521135124279677378358765416364799534351719194342787636600479863437412197515256505794260317093126039374059667589420274623333964467619789114771967340873370056338709333884821391807251574089542997615208439797959914172891885976819103624291099568598427836652021743421604448675826600062097183338383655625363351642094021397786563458980668350345475463410244856605738548102355539486493766749977177461644195689840373138722782972845948346400806565750840441831877299059716412294012521271989776378400466784188222627477001118784283345111898410532402575319651018300762767767125871853338018371841439240156032127848569745328881222305580757449600347470545878336526520769831673273318160539297277623004867253475968203361215986815037804702700174827919629144052239604882656988412740847668969909884817134277210756034606617748327394200401434876816382604009565830093059279103381011650728726732267556662337378674758184692328445485975759670813555453500347101223414615721963784146142512427995622877824262965448348456126915920795028709904552077589881104736310819914244181967412364667445970425906221634689395719929021541240529922241209048043103646686571805238840555461956796258734540690037231855711677707636101401896229387530306858590208571040649244949067697788844297271959830009804495947485290155263814645283721596097272049433988876186006564344844545397302450590640326756585292482415711876012769617885430393956079952072551439712066583051988314904901449905277119428179834833120095505251618302590008801788499141751688387243568905964355011402545886730827772870839847675846285413681750949543129996443377444919968752663784157471954158249407378457208830994115879732349016813402599575224669990824017606373591277750074190094001929515817854491145577566470319649606193163589860480951132470126509365600316356461609113555832686664800011313331636858327344922548486743608001434156753665270901303484721618417236051980697863098818867561217103061943714160799219375081052427618419756055176625490375291826686870515694802493984182720283366689957769393463846586561867135767912822499611958579305435465109612293290393718006105177749112519619902024136708169626905420935850463320511364191594219765426836951172127159178769262671981380572584209475796613270104906693495651265707823972635089244955440854490143227392840195072195594553630537465482872399579758414637010900780388852749002050110254522L,
2794894660031840270482192651291635664084264366492725790246053089412322351656340805675868757901078136262940126974054875040738256120088313325062476194263766014297251205339046471521766946667051107250730841687741045109870889400792740989400984673246193173003994307383331611078199229042501690950313293143732752029685784641076556441000679520610547234241203843087021902649795487831490537908382823598869835303563399699855708998379191519459385990966570760452711902841703206694813076138240402279275672533999937414890746054708559053436316346154370724102781114449183975943156780446010456279523481342010471219150563073264422733927944245365172498471678265484401094241088200559881416975262349240773471612773755731481623173981073811777041586925699555346042030293162874067142306341216393756629444297216820617168411817471184957131744744227261641635551222955211678489464026290014887159106006385527035746477715580617851335196572719415666744241933064601378184160377693923389058888113127689287877624990161653649111721540286702769843350714829178774950137570128149329622942709602419569240663866203104240420213613878554072465168380435530888035770302125823176527459261575897887003228144932976369364186209423576237009568565852683356167949292451133379441142682924807778077705468625547508001357079889032054658819643411361437470867417511884062999258684805853146234348078824738384171235653133065441551365957755816851623999819220926627413870545313396335643097002318832298214546223783749998227718012873430233097847798979183580483731164803666744018840408177981162865108224039410580206197692536598628507881471958906797593872239981130083051446610105563287382897679450051561857390157970980796286780306506575577670857730302457428113069664202180527673044796735233304996697483778727162822886824985962673753476921773552310316212321978648575283019080950267368558266229371716576406217918220255977607697819907594243840458631144170818011797981785897391876833650795314085685385082074462645770147665830372865206761159498971053322800650875265778838006018215744702929382329637631204377466725611639085478494579640742812423466858941664975307266176129215274050930158558299893929329635278947799549610582188865266953767593145202019815200397498597524029977947659334028939553260770713776993318929014926314855340232196901041807478039519083198737137530687837236782132792717092719688457444723741811909399730408195012538742811128176323012022260129030515577772523272906733494588770758781913702239042494595778139963979780036022040369305545512134423779510793220797646957498180096288208540348230430143783571420511398456724142687429252646118723255860334978310989642980360939863766755862738803663321037401535414962106956513589463104900505015488251147024053479869968643627631081618041242448491612179144872916015158922388652601551579466443548688563071990283636104690441263747152003125605233171688124618504579569301826533172844764351496108634573855061752855942452345018412443047601677438980450548588656484527498017984758877550687117316380353910359550013779992282138071133345032381826737696282142445302834879628883965853470587735787401274598230599896096121134161487512166034225779041341773926664555408501225847729351963051929093363816393380473307199428203253682459916276461897600865375174350848477178187529650195037172265724408954845081796602391374454297649773194273413881703980897730778063127077098504280065024133801724173111055320226873993507388543872525023049589536635492845103151707572856279843191958012267517071326450240670130645581872183398342710144534427961991915805569899596240724686245484368419257496049245573561825500517499051135875376223551895835575420047821358604599312304278080452076883239042303934412649526709516765617181619290243141101074713865976660398528548216313234745675371796369927074729026957887170520913022219437232084018397688277669366030152806398077657811232241278455923684757422550268737972775538594707199080751914733264242864669971236553352821259648141557376586319513752922638640313892149725769472998933656426557019716999282856426455721400666299027024606308488527198559564583645416428688761740454602722067006232229823500571778160181704053358856761804032947781281824590644538277278471908915317893977720623153716543509316662193260864613772058847597135873530396972813114646363460210199197500412360645281701882483552094510013306539796519851456084992598667964281982509205730511625841444021606422279623288855411907568269383666911497682792318389613579012942494041759953992828221501090731083360804573673959179346469670488435472455817545461226820108174966517718804210623503471620977181578230585641372880047163439791669751296421595154689262217302199193753140449314529768927132599944767364059584450995090425897031279354573010484458737223646721138461241215984760715459147165116091001383438251142873432355404992876654242603116483641773542131144112567015131064845472181997553905992093446877334637625874347381340394862327957379068851421337744217601345503389253439168230751949746335060564139615424810043558562531781542749681719239023441410107165380728368568267876313609252596274295139756934896946072064278557881652583921378738801343121672220672267739481726490339303529817849488776726971467937677266438367629884679293170327339956505954333001753570499215644239319022200309499274259284174196164618354621077545562551205593658495296848802428309660838613039335125617675085745822922411000191401230113167175321474946669556199599054670133188286598601382966105114289285591126860344728436001313668773743673787356216433572455797109192422078496990334188652590266071911059354008555093688990412767453492849530671623237493925152914129555816356109143311657085043329346443238705988825612980259808012741053054583536971568719775080261360944927195899844830713277103341158193550526178924876420999593123479345815661357710230533203836689585691921265184589682514275076071223290613451887062502294598480429525863023844870966128188937701022279395749155555195234795231135784460718828023625388199869642076376892588389983489821986619503934895224616751153047285057543802160132980859498448941599344942198564670297402968103103725860410000634036659706790387099294652509745361403391989243763776561695154244736957294129269332177944091743348440383859150689534079339455469424997829594129466574288863735621751916036076256777820158525452922560322181501696479249166223016151338381925447191224128762514453209728595584023108354312048427466440910972495405699754654486758472346611165286684756286937324536261304321368403130914947643695328192203560426488977427L,
4385070419329163381495677372272808800065620266644909091416274503928457500057629767685314659261626373111749287153277975045394177985407012524675214725687837714516953561226345308511881399277291722821517094472022794786987962901042829953800534796620064367571093457254856319657096335499869862474116529956463431927610973438205375393311154100080031527982658573645825759896876976318643701503694795525047861575643514760984428027837517159614049931112282671693070817243421120307186493282602595824660535346552955500243791599932125047365204966743523116281095312614743094794433435892867744995164406783576492715861514634061657191166098323599697532297469892600871587884725462335168502247462697601940149555860841171312877074306040431182014525235456056535030148368896325947900433908719988334036047978289708901873788737600476542024891944526845336557311890774010050165178554972788627840752825249635678219628483165705241206257989952153698532088787812441320110406060029617745807689542163875996845629564826736308924084783963254079239316876771573255624363785965524713842012785389254731808442299802181201924817953329639122972708290256276332699481331037154484195057161047138887236256163296599004380510700323853738923890397959266781144125091048271917513489578773760041733295530902996042674761107322942523023571923948907347532641714817929191829107426018644788484653403743599422850763142097962596153641515074325327298542829056175866403498474197034348369119226549308923539678047295448531884943525816632748201106825985731524757508741284023556340071510936505331844130116498532156583149364419429423807722070448136507399486356387276533337966159632634150367204731328864520890594718951938063829690883282113659656555956893220298526901039701622583492062680594121474075188661944302542614453999687765918111682081246823891043631615442013553494661888114879295572483806078461346612441025443509386239262293876536676202126021220004712612321081562621341839811109672389341975638053064287765230641650403007358952027658590255946342898853007888706372777385977909033698186361550933282747130317311529300775038968290524094985197805411766449939212729840087701882884950283249675940224229184110384647396391523911004474737423320811656061419637297065843928578525943391938467588106971157204648625077692286396531444321282939641732429109917047938899265268540660552077146311988216134251293302253961526979516450808589167849178782425115936229471984475492351973744024788189599108803379164296508847026415958856795279615030661743901589457006022106381422447312450856993382162042752121735580741236983896315958374600806760246529897653022781480975824828250276823239781149531968136962957423089890551775291225294273145997903520566134703058200333677899897688116171640995257380506597559996697446342328229337565316611010600950262164494710203353150958919793948575525680397183278459257916078927159601965955714036060225268604390488174796305055950445570659838208746914012027172389675212559817297174760700784965655187425848690903629929735923688236500305735262758024108226065293863918610140479359113866080138135494054925790416467693991560732873431907955038121697213500394538836577789197839965182414375826199611382522240892035293696867909416973214552207415790705204247391760595322791911714436614534546121604271663326986086263784250707456247647790692637118488241262228853234427093372476446345231696755596427679500234112723596661157721568849448905034751681920642785741665440718137054123222808636197365231672578353642564088422533752590594027333278117765249229657098571451341529319474926525096409096951345058168034294809539236282699222402384988231298795797877688186739993245567293119556352568034983461686175385790826185360836565852111285447407499847477257677277854674181232268523301350706392551573815049244160764962570605332172315455529538938746211044427592421862695231845977946958705719367565291125360627298224803593925690431970948840750359232229172782263397694550198470939834020715163636377305826417011382408821119579957205328225575880129002207430594744258934082215424437244914765265227304127018645615595549433337624178990545367039471544194069955266373774111375631408455903320363232157830863083946552813190192084878778936137958597622076513508293201280399964131828699903942528079277938635571937571940366278782999445984632633097897394299568284711406699366645243921234311270643494834898078608344789226641698332143683359971338281279550967154789577527067954137250492801534042905111407616921829073629459562485838474753827410807673264896056035546817054378379717075824142403644534691124390498039778319716851620497098921659739987351105512638202487439891333867245267594270366449538107155488008806923951277150316279713252291018776742519907736655819744614008608008981305226507696974243648079261801401123031148187262001040468448596233637373873928620411437440416584373262259902133260233069752249358212164760706817430632675083191453414282469783692619872535006553854541969109472644905933018301262680104262365618468772167285493201562338089406092653909450978982427819492126637358070110028551012343027869271640951107710070666003063509760099778411361517084426824483245642772090463307330828571848609046989287375567063627970559531978667799130266912638290098519014492957031310413949902213266099907486452649050826518477672567226034244848475717280506594491605665652282748181082768122691924174841689752229078811699755439460979360149951929075025553768139866278342199249940025496204242682223368912939523805043840690095976232069109185480943777724983897096515658103187060170380230107170047480163873605919285478960969577189026501448710900836989116416225060497076587213430921466123972129575505562729276909242877698739701352633429206856470652278509386370756703766234025209565229938887089616230510876600033487883633339094746992256691460233229781398586271046561515818723427844197898841576560386178783232153959332794272209095942121638377877883713649835812838882472822371377453166646398724114565431939270708582836196405282742478934800480436297844577216579368239394679937148148358627324303236558491848084038362035046422299462014018168238068438733139539464347795460892204066007868557258088684608863259129334683327113039309320284334208243139900827856516795608050777531818684928053551335124524124645658464002755133859994315582207192051382594410850180954533627544183742165072674550270400794740686601421803264610737891423805060447470200583948800508524949325054941227970910543339208417739777575034453308831451658801391506765029436155011999161821138033481029558388830003460895007833L,
6879242800702447133273441281731050030247653056045111722439891096404495990618238566604251066881831148632511686749548051623751339639032985056058695541693313769541013573956421825402533197944895120723665795509849890786443258199745632195296605565976747834875199597911009562892875706705074155227655089064078871865672815861111146871235873923051222906132635632428332307937444806189183966352702855158141024885183688280482450079286513010805030243548891088161465595622922126408722283496627942641177920001778723805811201897280431962174706012861205251375714230631905523500840457251200689402695901191347635969573878187453975042802854791064211969396641610709960447530394336104822624347470103991362979620870562627781217938436663589187823721612338556334732215446450190612290173853894658265435188202856894148911782508163475454361827120656431942761674528112733472244613718526886884592127046245001009324713033248116208119352219169536736894271035459358467358983220496355034930556283276502920337970462464725051239681617765965184698540254364243023590676163258343097473497341542068742088893494423375988399187000567025106130956018322945679947813566773835420465353958680051346610329269357323962295569766384344321502165065302927498603704075754126370946238649953715587603419250455423459902927284323831796471112189976198108646685944296346207238960784965206411904588495568805075768205600796100489625212338040839788073841766757555640129993119255110415576641435548366558724720523124564084640413492940572917753243540705708422499933728787522827348437390246064393752151228874029666863969709251038505978784679995546649706196042018975030664238969267072188986247005874206990387184974943961517747214915641807058871683779912463287590227007739135302879255879863908794674623821177623338836202211062125054916469368684752197289585476955340301516911897300194847792272782269914657201413778072111441292393450979339109749325437128919303984847407344791809519332097519938192657292337359077381414878728598505535260930355300731399199866131782834680447390661132818532829115791906668344470462610403016415145275813457716277017182751468907010480326204647304007897377621096154424246890964640469964199642718675701134563356281658694049166862586702590116781421296984076253522903658895757628736929572723615599284141672892363542267305616239546843086380740364434626436991612278465824727491705257056979281255812252029456154344650000095951088490478547140149031490970114872512380204424588300136809046013280732634405360679441891554403857768866073524020089580306232257474420103768689344099274354821313701130156014537738246016458468475055692519361192560556247874529119595553339385390280597431774616717755661565295076144213875401189486892982284354382991701373153682781370379738797241259666593462836750518166401473298289343463132730349189636027273478342902027280895601866871968991978851683015603656283678036153675002003078683496773284268855735998422676149525848406720613642791501544403467952767391007811257137273922414127795480255235707422318452128694411486476589524391445728046832102890526205529023869101920885750792671785068430809440170045564345775445747414380288736655771749369786019403789490488463268848695709126042124106625315527079738545791403803436467999072053966604294831219338081571813716229468437019609035785655500192713672854077130481468036911960328878822612393770878642089710954953306660431600072439055049086563238843468690528890242754711193211382704203891444927503049441088899738009021095527470954800505460608598928719643981252594404168287637283064596585789273738817001323222842409235162544425529511607882656255724885231284719132833879481707787824169471342162810322580982977099092705351369833513361903129363990148271035115889276032066152402626603232462774981628225776609738531708384145137853039289368319097825436968305928468626974964266066633933424549127413516272950167639580853706339340254234973203457965297505508346815892010095178559241826377393387106191561073021558498378957116946220819932201049763667726709953407204266204371498406816376935683599473977659786158518322666572347866524371012293548672567813392271579824999823662621315478926467222393287816418364446978254551481558000505452813104402454688665429273989793914053351358393784144668481107765962366030935937114021328954817717469175892685111812816560479182343214654148306332520998219977282503262932308781636622463095100303542709800375660098943194504871045840654190448752632173809337718918226715258336403405686787280555862400108635527443703687039465366017290980006670225537646590610076689524064787011964047136363539636356426054255612079811337039414548826808356339788382483909152764786220265050272817496763324927824088231328912099086001255853629279368965396488701605780658641407634438727660200009999915514534409809062184480520294178443442390736323636341316105905232342980116426408742203821590872505689355368051865108254308768023149790901407437118337796305161700164944090330187697230858154566324751472981750139709340241604622905552174674419072256028663910260604237248399604926342087902764030063072173893455116433810916150424724466665674418072964869399307052060832487707830725366502176047669079764941004559738711001807277198459735821528215981712471853826924177963465564641383122845991201069068495261058915089574327261678663367127410501678053727230187849251123930697687571871893273004696385537078156487411338878814092149102920376165665084181036630412309531386580343046382717547781995782478477942577016803272524342299872425424311887543922743349494274173493671256977101682121949281852639821469252344770429255021788396610500410800419604224421177213133785455174963480412125966747667290615090258492097590833714262218547209409643740924724374881902400501046837697034859197599823107524360938616074752193797140965171805283010849561032532595013747656474769806613883360102271800771653659295918624085316252169726202065520490619163407252967611148897489930634684928995101164688249036686457214395082942735308516594358326236500534371360563648348803964328912113524013890537831265793910091941459224026593077035968343907869789858067029635962718931872246451013807021620518307688590431440732090040411218526429713588203252697199131536280732996158550005720699181390775570562215554230033568674896565191216837238025043871735703090922890490208698095790646686514480972498095000313405920934765649488476321625131058229019886036550151017283761652815185169963237574034240676009175066055950704084359524106777111208485810540914462466395103945070733186156573145983434247978715356440711628715L,
10790899942201065672884940003896053453598447228631714441202794855037173301411307477183331621617868761534772141450925769165101568404714733535553646504834410319003030403252878187271701909683252569098182726147650691321840505663611289471338678156028481071673462861442417650978893052294203409647142832433493097016054520012645584799611518362489244720025748177934547282376185784451272694436712604596385768606737333743185602073791547487620458704067368296169654908643551770219462265979779820615811447746074714307724056499511071216099338920541529983227789993245885087871368540013148051674280498897433533194957351614349343881936977127323540072560873370614015398094675475457740356092260917036557577587902495986094401693452730443824724323799613296638165626615535287813162011553358646068528623993323543501184792129054774862937724765019246828498666160514549528941460192645445646229745663533648299171388667021303369993070153500318961755871551112142367609985068694880477788078516091202844435815523277850736873452049772780375552572961460959885490396573273127728138329781790142714105649961742105868632917626980519036249405696358309140906256988836910101283965833412256592038960669565251621819579187365681101134642494878762788496280263717671386925226294284864830377325482334427823714780421405630082799831535840499623366155846856995055141500382169679698958427831838673959745442997782775777185153162985471675448927896515774568245740190441450159237057634142104035335473574240698747323980730318007867561527177310221294515783103160709661303240253634788914822682659479159082002323225348342724698617423069439195935228407846461789304938743147267732921310964485437658742810585924173665518596069244647017349536166939183474465527616112131396779999307927283163176990411845208994092513890273079906905080900355324927800738516233168120925587433703521910565646491341592188571447254815295114192944733789238063142482457536617068091849039579407539346101491012415815488811833474689848516334621959970023483519171820925248290210266187405578865087516017722817248236883661013358896072764614678285910346136861840811052125909199938680654796130732233044934582273550647757487616089796979905393962076674012935129956450915742594373229668453347423221362385797330535013848351323216255618945180777604339536361224965630359467838361455316425360447362663183780022283039928196074646099609817765785367793655843489958103665418549812964996942966996983472186895025766012882229463688988562051593445005471719419059461229134998951684061470661390350964774922975071258380182605996684539350030129575027706472265628068519171411737745578285734570791325866724090928737329449035516727141596516254570843489452532352323549905419411520795912604174241092072423129922750666081211635101192266165009206043026919638332139138410433612857718737200659237757360666299492962517023832463775686381236668386442951309516788388948070630531623495757378851387524699488541647880020490436247309811004694148204015842536616012960115897799373760620369415459744813683594065214088636282513625929522583841449026733775085157216676593521936090300469761942329426649850379923448908930434785574259628539272211799353643118360974801364237429635981967729671934122213091085801284406792722493442836614617259292135859047073283623579233813978706153829448831170474833263541100006219552055062262743390483830703261583698131337350528736570243053887589317442589273346343222269315296857111354137954973957038360788785183168364827230800440172220902282687912760219551339562562312964610268707200579929458030518617795375998986189283063951511108739792774267164606134342810112031177095140731313812762955548554246736814570626052147020796116941033808007509420053162536349587956707995695173146751502697408028771596537048259278617591411981878261868151795418700561685429077631349558199593833747924509945873278505910416222417868635131451836899139216782944486625771354167464324090190528764524326891801861156794098397149753105059753402821855877609088951440590943335663618737354894063580212686919814018662360092452585902398596176434684908072989098327241226400304115300580262076966519219052811920684618987133821643064256718444329086329053905804602071998752110624766094557152522906682465368957719943971627180595960085580411994339503336952041071652609479332334718296026178799049689013338338451757410097029860819301211835222380896833501298863688834310834925240014367851658534690907582847460350443120633992028752319272493417871674655694582754296074547964682353853296717937134230224928803790883420163354665627080586346864612039987804703568061773618132516421159359282342952534152755095214231282822179179616196333505632163816122143645922095268514695812466389303064253303967275994809524855002914758996612324001285362383917788262553797039940842743513640155324136446196414353241511773297730391835357166623656165357265492331967369316558667529385092506372903762101901952325587556017871516727774711975057926032584806136371195413681702174146184100439918975020127827318176806904177216107844414081559850148077800955645179932946619183111554090260422167044221695265760700934972186796477677562666680033007920853979231629174556682483114210333072413855702588658074453739056666685310174834754468002666637880881969361644406867501702847521781470823574760214403358879803235164915292767643030152065468690846318790348738419754419345136021969309232430880326967111245871233147173906437631241630321736619220744293170437572170506277066728280984704796982160891186195969912083567712306848712859048561552924419112026325954003803049227582905215432372858831995554272108883330117143668591197515915047239219902871041438566906738592191728429616533545959130298406831220430812206217438955470774195082759236067572824402294009525035838987716230356181909132892622262985686518831551061015597116509546106719981057684944647521540176048373334092364130057103872730913294328555607900092402540183073878371624592837062811555304832313367185921607765043122939157198731095456770388210828352198314368138243354320156573215485089938236581874986483875378208329154979733008060895008775968993741788210254485026500756384212622758693316974671198881093417156452192463255714464819662527873595128255408053795220316074546214450869879886774719224287870313567525884823679964776415557235743823210087614431624735071045207749989971853690078492842520639675566907440086387509620521528227179436262632974932025562492901106321310646009103458001628279114049904038106642624565815204027306243805559472640977744480409685776052726265602398466590366846738580554580158475L,
16924961076236471195906406897668250283917581925029974009024748282643816526570963130366686605624811373085565885724727305225493381555325473528221402516549718644270424859185870761662453027919806781028100106847599929338389489193435716800994604908061847448341681702747527270165274369286026418317654760775514971276189954944358741458034744623727512684183312746474561140649809248721294585730771146734542043841086957908457409090924143655971397111861836479205867419255673703141517751761892274352707934383987364591209411253120168478779691233157386864625941471652771038296743489308657919996298629893990751759159123629082877517427305836666303369986639355598217575445849615953112320441307420745228205059990692982424157567124310814511164556857417136651494375629323052794298187116154167307243410839978619703834525492999549900858344148336652941079180292240727524711123814427094852058390298102043473411793268110347045980137826198521354019231828400981511388569484790512847404846538955792613702565692979450485365404582891677534138791280855835823839792348827164661007558599876915522144082498954961185232711342001524609180971912327890472527517009798010560629396894312535353582241596080149504550035408501214219235635111672895398431674684761235189161639231794791849063384754023057686081224233779318788737123009843933627294939519974819736188457647965084561884286725756326357876788854093881029966804755517212778309938961668046920488900806458300922439844542870959984966750932648652894520872841067017739213335258619638531511664762504712041929220938494287562909262556955382961914439377829253010778705352658944404895399778108567785273537288800647767674421810459286957329159951045180744275798770740300432118441326334722327466659702809305572723106605789380270835317013140018666368260507323841407103984553273960837644169789390306931556522570764932616528151636698820176625796089807379624149720420723725648476817397739927099574403148403722826691586656918557981168651506940439557541958506507622632487908197909691235155505052490255387866799668298826754547956636156584597957931484188872453302388090849424737689204635620200929376473739290195208474877973130059755764997962721057166573136662881609261309223900846099908393849410572120634411069416143953733769604652533601621188792162747807371199761780371434444422891988743853822254942167932234139453813680262570089730373318667597206938084273382038454469068971107189409037583210180590128420231480417924334564345844923069115310800235823019727847420310955607979966170202922291171233553110865287582899433498247028126373818433557768516158234097077513651010930097874016268172387127404749791090829784393720896397698902288441633204944875409933960438497921320766669583372381890123977047017509373580122370940884377397671272379328030702153508362274370115385777873768840359287907841705133957944319078284696520715941741937991839676809274617225545191048824453594116064619302192988318602708877454166727325662995140269654904276583042723381125228788127916180927297379487512854073473316147617713570998752516618144675201177042855920186905050244396027226372949860580209715753970813357845768903433160840263728917137290821162973142353646353715326056403853151198360315705272940615903689791149917065769413709321443854312056212849431664914393523081372958289803342924565824653973708720570684851878147014097743849610689229348806377256475298694671077323622348151977524432582913019206536376684344224774207809145768174598568020577337235038797929617989931257363770186282550022056439110375522615985687129474465939731499390760385808095285492489427651503672632432250262815299631346217568115282762803643069332222232948603682940415734262813177633897554744639563363334700009371976325224600539102149613732588001186399535377677229509506553381673115708198129772677534873864819137510955379737812559792248096876209110006928923399573112725026713883653828020978005305383395707042259684139640100477932092698278405376445081986533286692504637986185632398035208129554424295654282081257813150061694633551277248430244303817556181802850914951129896237832495000154632438189871972878031518947601696822540437304459581414469387032238966978487489044731529479566554259520340628348797019900613356806892588806560005279307036402636689851866585834920876405093260135837843875109237581695776321823236593039765235977319524714513638523552794571428172196995611766721791741809002921563447246608144699421522924758776144384454102475334953433057929118834611180765911111007915459152168219649898113048896921725638505211665640917907603526985889563887766591142770355555204922474220490481402706769469317368821920205292302369747799959065181187732130254055353899120698950220696285250442012452543195823937897207169476405780708115417450902668116891017448544182590772448872955582092206585696945188627784518106603748146672268013041281738042886439994698428196917485394877889027404049658382076262753848949260946990808621111011488944238331091088426575329027557376011328277275520158463623659682698470033686876042343325680824806911916974369837377187878345006827098783352479412859907451308360822189234716871439683536379652725677310387460323135001834357924724512437995801641718066218707234004902814059032733869569936172225568268397099703703807317108471911679435775648429892684465782744427187611153908374666376440321082949443479437105709867219730181827910686316148322228246115557457630304836988773065429263219264761623009134391015385995066833756940511238562490910287139035707778570560211845777805868410224387380047195747488847618540615336904957874834715253874724956133103960404910717677618957056938956956779058866699743817364044614453665456830219855027736371407071808594247254880886122136423853315438696489679493311249911721707028942125388605712861833229122904258551243092407072310891873328271325051810603909265837963638130544180054133675190010210576365000313037415302110675345588363316271412794681713562464954951828743957736907062136270316745405070001792656326669421563457754305374556773877715815000700341424761103672101032713852586933201865335378764338503546043985329624220388168788363415959707844830837024883421039579997079306389499958446383827314070657401514683329929713255822702296365578188846507607967689712241016913517727608270877914568258450021484648887061922895447206798395460537105609486210922447015197822259419302192553561615080644087995045922611806660291327191780669506663092427494298176415631729636122033013633132357766011854492129975487351336835943657299552553826013431139185269329852211242427416351935103038850483484507L,
26543042393094002444182074876461884304946635960137982608316906611305825250172850633005291662215278907671285846349845187670986844304071777907380749737749322988727604648574523997771050320503520293628003212727073622650681940655019086277457508980857966896972840695401113141297797064630224950115352837739967436231392509106079508380182027089123141596450230650332855121114785489475500857090093955536401389656236798514339749760532481978655916817633768203080354875455842077811131685407489569356691907948944757164834433086466078228886306378943804457972444001364894638432506482760867620989748717362078128235706451976711609573224736774373072412239483246907937628042537022638254579830398543670052955192971692291576312637372947069102142074285503720276715750298476100077019350451507569671185099077851443498306012672918935446608759347133723110753449402429272918906304361172314779497626321927576530598219228463383072368608045206104270672901665060520459877795882618704683817895577942178765064864765421718387497891195786874418635488613898245317220018541025058968464466659925117311837927357552002362729351224736497026745502732256611469460516470235995882392409191784751855928844458203935395160620788953189337165322361232831036831542722652631755867079962135962649945411020512053303553263292060181998414138203266594974730584827914394301325928978491012877761209754191349322196354605045354479989458665322055574951476915315649516722991142445767611191107420100444782487436818489043832252386624935496451368861915407691322615202071682853715899521327842462009897199206748947200640001073591638259639297089971504556712287560876523330522045277674919092623066514404676648892844228808270877220317605725793427355440188832286630103660043338452108747504179535117958771550610588353239686911464520376147422426306902457599229916972039943422935357527589373845116706162874520957039273987031807078983660799328156472673250750977513709692968243379503425928181239362488050578626283537755373713525525080155878128345986520837105455603172481276934373836878094391489849469166757557378266200757108687635207518721001942341667258090209565006763126312381939230018324070055033013027470558087293338077944669994845942374646376831891069853058430025515184706331297746724639035840071502404821588065376537804495837766468244745901804072130873956739550501195802928997512386395970086880226589686618105411337553624875320352322246733909126719386696933448779498628809099732499899368072601104239943455962334609542397292740590106381385613018890000018746077373223491034805987077201723148190071121361764799600772046103925464186594538764182247138115317014973223563597611527215271678122689152748846228310767989077988088051636513740156617171959734172725215852279894824233879250350036144667920428659810024119682760818403487657540990907642820710381310216190013440767168533831149940870052923835981853380096205439800689793095757253177385633883891823601103462044480449460709948449815626900121044690589189856650358291531922348226044063315240418953342991734240269413282284709679293891252976989996040069381794245426808426659503731386088183129018277261762611790545264601536715205852463964735971854778542302121433899579354580988574227331599514328265505430042588526338602442142152269588165961220929285390582875137354101402990795394520122918532316647751362567594958049817070066677982083285787351364620041443710751921271561321379929810286194057601640081302073578866048515341619296674882236081811588039742998017524806920240618432358272959161051559620543781766612036393300113847370821301739083016439916434555085757748577420427987955587221201142919567702941173562738135433927394670832684659114614240107204884705547556050264499024866640020545704470331207860658642486285328085692326864712242969881382345960543175762195100767590692655034278336764011077793374735044969541794520907269369688322501679778801126589944064351132969759519707811235096293404060889512587065980940048814439002856341545256764562539536114939772504365462687669850500327140385835079154499648860373523640742553204379327971945914224002431903771134329117250624332656782363397439448669705582228008278994107787568624846830297221976952661344980614402424453319163668615315462988083648507575343827774577991397498796042653239342676967201356982360781955512178380126040184642770499454756547156547562190074022508449183952059684396090807511357559686643094858907287291512655781685483208090147990029225208761407547246745667779005532113152516285125451873667770197564252652114941465473592518634292383627653465818525218370770684172327155045649030495040082772291374864359107007547377141056943554238624547888800564645357922729370506793396685393851585451210508673793636277924139912624754455581782958152455794221318438883535438203872868323338226636414436996653422438938698439720962824154777305826520542544282807844140699740518364747387158018990302144034655303619348447054267958611888109259362446369132463956002329897853450693387856705326320227317081747821728937293688551585751310426060127375429192994108909338718888645457907934038464365124760177246752289648438242573375686719987375402316728919897358979787994806758250540923294338609825926307375871229494001319620751142748883814142905428455702334049361418670326674197166170657796364045918039525936257792745003786844233559675658882742657167911012448971798573528447851305579089953967807688197741148542613681784458800761917369881829096094528684176506207085452269516580791693706930200266163796690363941353969723611924173668070813831305073443635414758468913539718326167397111768476946436674776228632081139134998615817869228424147825273344162428741929957057083226148366653375375690598758739596818107486252158254168951573751387126682762647702998257617557598283150094059141287292318605550121448798056274006102621246741976593579039866545590226776237745843401355579514467147393193247015977204855142169247647099450243154796495999386826625191931743777567419589243660999761601684177981499080710612742317890599575859378318646393452538586556740493524784652995047643202452983250349022284000317313017143525969470333044391439368885045036862339596844191483144326080020156304016612172206403029144423687655798678354799077414384402876449762919071264531970006447420742792484877015191031128700333257189387089243284671811780023010537515349247586359438734727910091747920035457646762339833947684800617095142640327135795518236209443345825628741630294272190075262689708604953459743026840974213445228144308348574380668655139890792158144675236907723717758059330612718996416740170528L,
41622365223412692342071083126095601995740325960120348224247620932671574254899192754846439459883636562547897301889231058646667175814203785522320302224449466337922084529548152765953622275026167357366632883178007898450670194786131905649633250307922275489671385916362035477766385447835454399671261553935363795140938887368015929493486787122420377767814151168202751468363979470707330224117397877155116652364976457763772247074942797602534864917853577337154373420317406525693560322416642512862466631431834394494396141691122946475264365356445687595208165002169994232819216182410035971894968582657012731222715901682448072021984259570389809622115306994479547671834142153016283352006516710432770597291352872715003056457841656718406577506608357184544563742177914098589156199219877903117244088578768845056553982637315362189072022467044428217868348147575865105838895666022661404638901689817728574800275067381156007529181980077599922014062811944421844747471302906055149006907938006374128377306123077808099713537568619596445049695499537681251761829068140280132466742591187421805672095627239727971300615922918567634067426027248379036374441918596756585409847016535753210666470549315557958025509914749646869439676911872935217958033873956201361191661147147266801532830946596181652692257019983910649544331894490862519789986919684395386843341367155761196634292646862016995515422924531800042757478187961389423664245996715878953527460301555306291435640640309778554933729640652131032365253941875232960613940686217145849489798798837110265970704333736976087014266059331118352958416449404531828803755139454761215497390969142162254259260077617437483235555581526412477881320610735202305593241494863334414954258430523232765451663174925494426539468542402285452934174130797579439212976994178694171939389009492264796245267662739673022341999837505466940045018274724144729874226846619651795741335235141648871136171217079180171679401366621383446987934453444904835636550696631563511818737288169549952797090684828005098827989652334835485320724810805385213780625559992403653684777990804967705764996618012601601171024893279949872200649896164252110654205874157003750683876570707678227143560328323972007721970031150810853924897900940505119389288537165774939165638933797154271400407566544223888273850553570337947384685529424261813318852107033496305685780343432737229404465348531867019241397880311696570432685936043007676437140696620438608704890723836917854655777584011169316755235798295054430326805200615508100404908778775030234937605138542614664286979803459389481860625854291158869246700397995773104164318001670881976800402751027329101384987761914848885085181973556241352051535512033329500943202077171092802200229819687223144981595376539471283113429644678657192765533670066023200925633012276486731742416639656920266018104954116625080511408315509850509591098450505365551652026647718821379299681031499461030170985970538224170198595088350944874286850113694980946403471579185102894249529122345873812082642484485539580211847191262199298945680784703024302298063741031384695299875890399046239333981699719375042472812624012821139101243505234936036567426157159015959574122077332906559366061232840676517367005944346812640654906764749924734505169641409261267895121003126602165651422759450196827830426928383287088498225093787439285374766758248614417341756941930751341982899199977188145205034167714635015131809177250924529941613669626615845991403754643705628134488509374620043775827491157207713908206289664279300830441473682387658455359416280903419385125370492256113652256954747468820367635668384397219838849753983712996338763748693862364269932930042005569479031920054326542038846093902479452564361292750512402333296979451279629447339596898452694405094256091705045514955943024510447309590071584041846991096576026897550542447982963522303335766783267011240168445808115417431112260881763582559690142463818729354356080237725745626249754619007550826540359173841242995247922691414526283143998221105870250509828701207482994561593340575423221665482462512710359321572046944859008074437386468199545603448229677774492226950409506694439610657936779975899880136340896482762670599714304271678503337811146667430870635700069534067239039444744653048936853800488799705852565249789581656190416406531909782733559000451561173030052165571239071782790566079039995234153598996388461032263225076649534530425641572459591236812482807263586124744360665603236603958030595709917345198981123649375497851496094256276293074373677263462393486605369220404313544204036430599233452254924507317646954316936472074635597802499049705014791043028259968525523183810010839236020491953698816997133285302633148289186107553725036983200689876122702984147320378428004850205042756245757622585983336870111660079675407626900796676984405277797913913119636688833719806272267662329832788945359793350354885990426231555923278094651398575243680650870812493450582901458699878076725188482947797245292001329829205927822113437727215891733868021326423583522852161637970026703816356722978427077935337922348792176716020715662239849114343052158507421716388840450510687661581223068122511407520972853380588566860285244049018427733850566328149758593174353105847271719080178353442046467316503124419868474795085584001649113793985706410403062448418585708729489736276513257896474787311440993115164841425492279001074067804626143162652652754240033634160640916727727459029602288160682584357398488207973199358164484381718465097197514088205137850110018798010146075680088749490410633449503198362663306121948750473104329419452793366349259852419662162611801117475560571439001977916256876359566467026361465563134573590212235602531966315079150945481496144781729220588652000492290985585087083927378634247593163695772432989424036090092375350270215645466618759539211176814504856426192096439371956044444839295327594337953775851901915764769457941621434891668061769105322559424078114559825516683519883459920550201440100464847090931565150998620761507755646920460243058445245413331856825496123731067559574073285018767601144228627840810574273009980075531140784863545503862949794076545988018747814802766136975654824212127326290704193371940496149320718610148261927450919853467588486483859736063427909835472578591746808473730316020103226355058743239122545393173132681331555843511907264179815463304655007624942209701242009147814579269393202498961466817178306642115358213355129612681580469278451194322080207502417498618274813042201556446505303560222504369656061166883741689718920966436369906628688232404969L,
65261322035802656406679122519355652781226986041305851143062447543568857955879783821704521898899246364705122339324522604692674085926929108996871253447334798259138856914993622095859721478652872874873772968155944376050283847965110354194892330492992093022666006686108444273441638317537147695947627804242545063159995852157401565546666558313700803797402239728302572197004529570488529514859252655585897789159220469513670330697476235725102739881872748187035460649415142364694654664120187041516541630458035288503719314686495989658448840301871842228081859393317195902084882288792165678266236041280355211576185588175863593523890501864003647803646629369452105230439668448357787197189635317295008204443980478798649932581596870668408907050126677977536261775238088578917872258057043936605243081647032850569524519962383431968201742955317813518045825778585938316451300193297348277236422106184087734979179272555537206113168138701319670133249398315165288821343914594270026648261830396958195017088140960886327702901773471524520593200702325085064545053503011838663598536052902391503151715730821220808347556539742198388632351197676787339329454940537623929228913012281834724605754803372444282294774501582171615833913881312799005624366131764116679231491848406475485272580102486179741360580630056835062800100295243640181209389354944628242696916434321391796844975100071968406358748997460234709988186466711665835907830037549628772953841211957929738980782168743344505939658287088942133426589863796995865425948345784652527952817576911887111632994693591979326880968567289850224819594776965784884534963481546293468217871624156962814912628935301189641663973472516556442379796906986779504733190331017108307988874218012278403533443854362865718227243480110469244006872578825746116306019213921549953522461987409884416177127565206843435126970059453501522524101477732956802364684035941113217924693889599114298457201431150205961176581530377001092436934575505400703815546418349320628204856906367088839431614818151880487664178377206770958881066856534542488146932784833725347763731276218683691608553365131678690229027643331572694507243771385011391245821651728205969435446333293829780134779689496105754273851708173583860120710574331866992000851980920901588976244829277736545700596597088462158018834452100482370830132093415610372716350432181937375167104674155866299434453570988870852744518298420743105367657039477630533265406788032470504650894215959063350446052159049179903768735426029235683167952830656973823557162494225536743741705158545784023464123200017068390895829363038912266661793026581317272819267159134715909914732546381879562745677392133879283304335237369962026867103127588303668738771169374063398493580859745393161015079836280256747404652226256218806986015980667288556829564958349894689818488924849882616869783241810058437178105076814867486912696486335086854602531234918435184910297922490201199076843433215155065523741477210982634631148330574737393568492246402724514341791043318770371956524560786345607130942038235839212157836897320340256141313177116309097071860672495380924913956992150202816166548288814730627381074658496026703213757142246109373390038579472034534222222563197790158219907272113372861812215337646063839812826756197622660242306372208713905934121246528465768619600152412711208884014107282104529249310142876623722505575010267899963820164002683022522528990542094062204533074536208011475513180649907993808607854080665826801582601392006019591983455589833617003010848959799368488961201172468354801834232122222203163967477178750902866589095651464129995817777628517899837892194228024951810734480793680729061708663444556350882036322173619573554834018363782420898219265354944011760879313402699893103915081252411294133693284983974620030707716042439433523653641416757439416488700680734471480360302205798286257683726643429069194243246861868752061656926005767566355966430810928163442612457793610783044539141171616014273218446645473573524298334002372279098031652573258097363968639997125902790478362824764730687686340792543521712691457332521527062297337430358396192664600983287265570020949863129603641396138629671441035316105468622154782336961157229604629084976777895452483425760865853731074281146942246714982913373761578165094401119235482555401215622108025799265985646403204059678149788650063100788681517801045629518162569534180852979561136925979223438992402293666555721718185378318202368662672270105440564130973173587387394223511843668472699519796241192088442575390571596995908861515669751693199501208565631491506817017945360000155818049130220469873688586388367696876763082479684533003127673252815441601526056842198118804717869190184284816966835909668302474658018031256710086529477080935800496683547197445327851480605242658109693324822162318612834753825979055434128240184895823402681130831406406589338410337652715520605240336697281321835545924165976567609743788558739189485327865207923465901322503610290489696004963104670288737469796513554508282294134575248441844905832488534334430475325588879928587781048672146358611387055738291100173487708774976482953774633892896876870115272706884480899304195003129246406899154436536349484080983220986701959798858548035214115157764299206504206176590776300893948064677958511792796184846751391072063514912009728286062832352600976337143316344273003585462752759742277833399343892532715621100646311974140655462929017251332472293983890281261735472977664871007613741487226532977562258369687469274712574260874795105220290097552889438467197160712577042933297133205206783829251999210369943848271588751799793250796271631594288098007913803011478256611334452109424548966448575160188100792474564212729081436029643713395977608483519827350467454153531765805757834959278354560100485144766743573876375943844730084942954031256826805126247387426602327499165201599541615591862063284345587713817010523056021326803285409124493417859901736015360378543189998035367909235468296940148290722030009001987349227835978868189946635216224256705400116186539464741901623424663325853090759442548134307976317036300717812629013169514250830013017372229248951832538873358444816659633377716245624988508765565226380896606046139813354400779130567487086466910255085037856419866413319578464047236094541326961122875251042660219116336497518108922029176026657341029564431473670520284510078065038010504034187761014150285320419620706458224910670270904410723765333699957665956910610701573508373185573632668707752266872035783178856531940435120056162282968704324354306431868098241046280265442887547920L,
102314705651602736575758152087190881330329598035271227236821393347638309993110948166864435315575353767754547625230688365230301948146998307874366010918503029575926852250820451812421292540800870454723811930908769565101074691132720851276297773576597972105009340125631252053619905096518484116389830331048681991199906693733590635848781865223148190639026814799979007154519594223941992790056113044193360825085493061616515515640304953882144851665580163019194887132859587801018026728121128821289985244937089516921492525025947122100856046951596516844556628404017671667829716506559494047274420391167779695629421706742020598004345329503001925821157533386596838939691569543718744421619989354676424402195898957898359584305056207480327471059573982728239673067532653445070174627644005580004174734989144773480448019340931518201015068616666756225070131565319571016944262991362788656007907759124769971151377919031537293891231443135764502726190624338326977729245075530134211856555866166803766087150380741108493900246490604916207969903204987340508990017456014744766415525417245427143622169098681915694994012201544506769885910519026464999271453489003887395863348745664929350583571210885068009579410216457307873624794599320580677816928539216982096008164063133783198378807691944426397425875408433641744773935993637892260562181933871679677535248229352801770063687606155006862862974946368056048822938389065010702433621422290868795257738251967491242308399666174183262640866835023628438762651782534856525641281297597442777421860059273250229329269377098318736357338984394967920913680245497016212276001059842944506804418351603857743456049542181361497587020231470261543205673614969044137813518846603322393686649371623623451060975045547410949018072844891916650683746829550983868086197397554526183839184807242029502565373510108181783072659879946748888091800438451814354971254149175020133711319291259417855947259036254783782758133314822286801437409644993694063839570260468117826490029589763829810274728985417482261094649718767710601171846791461772260431250943897270570204310581347408268611390748850496253198097636791153626789546503257040744667263090501289704520629122011677554465080677305570061403656744169908033221708832976833106497660483694076845608292800482819782420911595941192947499232561339822206570920445189129992818898121533696429530366493002293820432252968325001882465619641473987227501500255837936911495028783755353133180532937058406586084562634150069631891624890533945222072774893455202712213981745143848485272054199491513372594337785607039228894589127769823825244871985793127469857617099544723856353759697087981763045761278792018069099222396878500550359027930499453565298229457239681494738483547645971386773611737994583001518625519715015058700059291302208787718187318898844072370250141179589599436470856748167123219444467256118685368850293646354634706177188606789569639524307872047112718327699590236645448152573399160569049482382858434839525718234752939491974235929136164641828358379844003803280564073178892107159549758195594315502905839715224804595825943784135231316890854874808116876559336594281990589429208639598189731016332399549963372890564416787758669199470718889116632363362222379157545736800240022207584612260410156710948887874280225202413273981985597833876269884321670989977079018286495107678919629216261688150827929741210036809699972271153027550952002119178920680075546003346513242406047485585392627267420370614083355800835766641688652248307191968124217676712203958480288332564269579454579219320300881834115781340142235491431416659379649539660028825669317629833133658422528470049796834754754895011964254102893876610678540073096675487363290401217550892342902943345957335123884133520411287820994628311982874202896845730073378519526923857465187284859987299755802771618883666112270082896482715577860144324634753233542325224530696592695589463347965223250157808373083402229499917153809275503119036275513492489067867365813234541432685397517670418395201851862734677610660820070022768540650109550620542371313835371629445031575592620467919213937675294321329711194865028670471703345233493673595670521186659573019996350835807769206695026596545823581699563446757278231002078990497098417676661261696732782166215738674343277619340256631157465837797030802334364938490845573325815494764560520732213539271178715329555523158219460909503307396707542592041442804711368702532741856993301829255474772424792144567891218298487832194435507672732166274775220346704057381499831213099645303813263824089403069473883633579300439634612683551168741032131834925403521441672081045780982075329037896252447687082838393017135932542572979517208081432279300040785561210096708595995299356370072173562963237572782958751552292867068357227855458518058358164046079596587584499149590751574139129325567460595425341275162952651104200043150809872858450951210843051947280253903633453606035861676334976651220116941174538742626753199427591182906558950447763098376410218708797895784707280703586271120333629779983572891215502953025898288325632502675803231504442459195003056881559970878024944632313016487115806535977099474244204385008939835829383537358016858095397991581850219039522799264448108872097046362089565840172575120232259261631360532559286728319531069185160848919189539652187444543262259002952563663151182148294402759757189602592321069570842915526624711916846778410487601642927070449099306190756114805623655991712262784184684583711122099895014450978994221616926946129509424031692635906517056679855144683456059163947031925116798150635159665072841660533173994953652423721450788681975330203836914585638668144816945201495814457529446955074464055120157480696533347261037242733525038685182886235272045920488443573647875754986429240053636066812572850958092078846712602801679598155538778596211529096189687493470117857735726765383200546510474170187555631375788573380489754857857854881308021346084072323863785586787938145179515515351486882942418417007309583255346944271185912632031850964401955389860126893840319541429436578818489224158556574885540376012128394190212066676191325169314225433521800630675288560847141635280750901273302599303671907300672835281809825238031316637313491520283661905990180625416023394344762550540328669151347499779887348902773188512271270238304864995449856990903030282295563186513105805715341920599873356703003134061376561041663931039153825501025112509802506106028706588879196017685524055376826867784070224282284407300231765420300299439975426260182524304088794128992418479457057313250153914530199L,
160388547734258411227329212941405929936790994955062726334733291356968235404743282712385350155366041120677853203951140566192240173713377130103922523509991993783370464269736080481611552672832683187679684868542233902810855710186956683756889493234352122512352978222812386144726050397908396686632396806974962970433223742775289440379719126594299093055396539255031284671746542684090127788904570423811420675607529329538502768118333273307572781382202421732943789132390549692218885627510952660335262086453692390258516446029244403436338583901418007343441374659267188781628809788301349060549556624214792636281893785035318072344275204000743731432661797353610154023109659757286429349764091737297387170443259638986726409902534168807272937345586762817661810183709769276182160951331441718662688192255025779011177302457135478498388479055566917485563363731489724163936905258026464826216776025497734789409317281194212609914309222015079139588274663782684187385702540883507647337458117146069267611062638570877756834288979288087827632911200347991435576989861368530395118127530946142523176257816266288910116874524654879363889457956785774466171749197118284976415304208838009995887837014600208562405765263916058794559108843777132032615662188831766901273585748722293415179573229425258940830293509660542504885200045265489024231047203389788902642302463208153954292270791036728823522734134813474737628180043940522954646418356535481902157024628962562654879733277984061820189219744304700138633512273384141744722614383519070571221392505580788030915461537151557668159610747926891181297551680287215130006752097770951380183230349585334098586560524686758775088791342538069392951882939096840697739016072113275978656519559050580407161744139101058756757608528927729267362569371890988747283757821448531956840379702668950735924425395135240779616710265373680523193258336730164175288503344616579507669058288666586011861927664158709209059267934276634995655301510912351179891854921222795248966227246458870448998397971577382806077960650978065665198354330908122926289775868328017206834316969467049306808614287796194608229995522934604126849237383301902751198779738235989689643066153555585655484026148974671397061964647344037476100134090387090398695329678136213587818165299946974750568405364266517540123985870127187882929215371789229930760876978214712445663706714605789887992623268453481210692055580056841764699092557083436318453931652818154851711725864429512502776741187312932307663896899571204651826315589300119489407755561802083474969105079708172398937143863124088211026874858856040118711448894753310313542403627569222080357806966030649603066760836381589570608452438312996328472163822220483054143462383895158842245209334318274815417364220126223541213393409582848807520787312550933693819869347891998302394216971956376288872836677907420325824419271502865836239743681814616551306185514484922122831661751107543965011448390896108815035672482551570018968329139520180089410140538968315942431542261415867500809115877032155519385439711425729096478681389125864246125743885776249019728365436494213738577508247099069817597925597944054677975529265917097176133835812301840591802495765975375095403234367624571274564979990412353153211234457440358516857462680203865182592385799018745498253820463806168954003741925628504462291007553489496786844709050954403150231710365476246061324294137820075665291373522916511561185402717812575927859412639178448843211251788555370294857752163686671936468332219556689586815272295527689102545726245774663388765240707369513449859276705663908776281750748446989011058952424144058080775633128295532426487118704008306965004752896601769980740483996800360640861320872355288019794136511853250293094137059852668351569666203552445790523897738421937318164692272958568457465904857403705080206404885157759997742073975171130319930794252208701568004460714107284198348908607756138290353396480805022694182154780231454466724278277341754895067629199429503054619502578838905471966914702972493146682591699870549606598749735680284446578304161767400918447148848448725636612649091347928464545116233216382527550048801323816950425021463960187211686834786835940044826736522557595629271275238619069016557609049733460230897760145795626762952728219964090877188303158260005758916811357849438275212022590408552242320090685747675561458827922257912023331828554777492609660214028746468693441443364939547631403607741010897999356682510850751557592027402079127931015254123155796971650803156858240735082046294208246632785140310351675581176103010222705151070663291423572758669031140111511267672453189518075342149892127054820933905748758198877571784096449996782736757337261474498896773759727498767018952871624491400557745303777397980229728730877400688588939605326656513544900569369080947443978351222893634501027640257059209486915439208003597158418983124242629148940633265515882122833040379745274584114841540576886573857324985955015967855700113736587061690245607304834328422673120356278368770618410209855769133742010281221785783911240868228078987259004188198636624767564355514794682947786437343811220751913755562476164950301754852350321297993992701381069363678525880227089248130533044428527413306568368009601899326652422071905251301038583612076218770119676065286033052727969613403251914620429747993518047880106736156339789550741816286263546911310541553092550327489119650927429356749359041411254856673652567550298674481161024675631548818946784056697162878239466218213616869396149279320745136594920357167395955483587506671740790327919861215571073017160248263920781602817529345215887576053751506263933600760966459003384292073689449824256269384991774845310924481208629506199106762304191460512931972003289529940034133032853421477546022533982110540505298743681238740591469834430567994339826114977565760731120143627165791751541374506974180955195249077541955246207810154227112165186666910542904101726472833513710575950360171509841426045830099989093203675531418670688492585880257544273056348129093611379886527555061940413513819270905102779421436143376821670826933698029919621482661312608103834152573854148142068863506277888693022300015579290129067386286014175926709388306712002896855503910819432498748670755592317714937762018239323060166462846616996294977859723391052035050347133824624674381423848433723731622615541502108253736792122996630960594183824937987751013972772723148847753368398463728504781529469023667499424740354878775504213073554977471643959134531371204528919612505353555127068375693263207765360735551367773134577226317418185L,
251397976930568237525843702060272590693583107028593914363782323934107944174975583055940110888540904573209794687556987320599784763135435020054692481696279058662773647018387770262612917241392782306641036831730218476228476567256420660633867146601624319831601132582781938507133996225482453310755347081306340237356127958341726232660433520188601133947114307598664906595727524684988950779627151089165267101315249434205164519127781595912665255525829279128107761596338105996010708505691033855816700443330376824993618177238312479198663303131418574718706530783432761464455575028969976911925970627893380381195338060961310164503174664740400288385482937850566731048559684901134601246871254253966496334485145508746487792198439899109499154323680758490137365111987255542293851865165737732845924844185603035271835151881332405175099540740450666273940794873553316126719788474304593945107498037887336153088058043949259925916558154206238676737556145091532005201991804755081003644231933247523372644715309920453510830171633700853692160175148617519864390276236801908091091312943166313088506318944324952274554535483814732510162300155692899544733180673565905759953136746568653901636419847604927418805543568016266929392884753894473197937399247114622992572971794191608633506810506751121512593914819085744429966685368679944790993477702665701543471343298882953516988435715285172387134607327700581827472431706193191164609426136886154629939359463090129806793844356352941481537724593991797333217931361451687869388163057517453056917951742888731258145885265600721704981686148387927807922194976011708344615545587888415776164409084931494954073415809021444780627738461707966278270996863217034942647078137721618709835646522592343581830660801864164470091890692867068673485258091216813821794690034728779296686109748442822087981086271037520307718235607014779925890146091088942000540343055453687668444720729592985665141577814151555302293503175170743807306958776668766700938981798137826655012555438159321948497738908947452060992809318801593475639527031275580695578392660315350269884881157618556711059492423144175918330736515352832691709136878079777565478286353725513890579846007741370016757024185702021849810161183783342460218816793831078179122561982364448986315277333025912888442316529197218859830606653661797734895495579599995810048683112665852259475244798999801133051191137441427627340719634574767875596587520695772449423269548833144294489792998174788285380751939595172026672085893104210371224727714945425590592442133473579220989770095860161751497910086767021840287163318430915466316251827970178040760132453755347355745546885448862857188758629975602360068140393131758270196571061289549036788593255621319214089904987471136543499074821020618292028353460658288065536764389872490809641959896676269147475194710168466886953408258451252601426675062870638942402429207175465530564007779157790105504232156113256822439442853892446925982345869751176626502243207304560358080192438933310676855795682533391589682641355489937202950192643783439621653041187936549056443606406072564001719495389588248862259058952558129422717001906101642358106424293627790131324634692868503154682258375918483492832534743077090379836229755442057345001121751802123838384710295841878604614860413573933453420674927854563548962713005526591778320978438952764763088631869360274220827343491861854204394277462812134909989015433440961311843755329372944023506975170486447547419491866927869132397147552441098065926104179795221790876534151888846316259296562413018788908618970502775832322716749945662230592773513106530532985387725425452498703180275789402119764811758048618988525680727880231028072145390882430451564390012352049847084991495525054108617930183719161476210434439230923825523770527151490776403713953413106622632109312546512736934996220091160486363136643376944421096054387250299417635051858365899244899027121510186886442513051520511196313481846311606057604124716080926808067772227712476421190374730497571428853977741237516936669595418468480641179068953096671273338120592583528619440178984106526283145784309192050462046094506559650930534093130980361904089421187878670016844863409767167700167386524354335076995298795805107853455435828322104300358410197217636918667410982591629270176650152051868921597866538503718263995140638985174678825408110594872510576585649051428107054287225384862075595293735198490513236522816926326345023259252743603250576808252490838431366496650266328534104506671857934841028658776499218941666784700495652645021695711159718854664483601063562442977702188062255886068021357560112345289873202217844257816766328129788411235275333688450374569357936760505245188722440867524756161734645863527629824120438020983934227077625433765471036659428675229339554238251081218568046894125094283854747349563368349550478208724394483521358847911148274085670169432885959765657958650784848500556159222528992528922962623253371906456097334529283756255871417810124212595166919493734645835937552430485135054461874744347849001015674979187040162472531292730622701076119192376220461960850856576510430695072277874022866182700287296675382715066986629102762504924078723607780537029992695239817012159364257989824604951502321114776873134297154088744530000747304711494897627406236974887270266230869307746954713117498572826216677431596729114459756155978357721603963177565664886711670292645111786057573715615964027171066529592195640983789857217859826201506267851450383967057600954470219445554415430538133847128999642967593839049416228772165187854752937581788184666048189154524301956032997407641577876168251762789801295189976005410235348482937960418883718917886148556783585296905811410330471993980928447143313147555348147196258342654797337514122558076269353530886631826750557552710924447562509409344459945785960250518947784507555260283190921248264352289039436111282019268793390761641417677340871088623923808320875755498842318184905672164778132683077997443606072711237733280452017017554173731732245845140021640181220277120928180343246604086679644806319018769017577050478314784861393897687641022438124592672373583768707739909088913664758145168478224102266448105720270213657522391538735246842325212299396976188380601591803235073547827471976777306495882126932055394579122124957902897388711647371100873870454373366555388484474106820208652678835250843622033536524483846922731647357631112595702728581280602223783431161995211896437765689031285147399305232253757791186647803698424387272995764756529321548527044616541201117922122238501477223197399099447514704930013L,
394006469769191904388130491922379293933521128956562708882870842264298925004932060096264523615877590991632534327380992936501674649922062675869044552818279413860911095289249098933302823268649909830880166434038546981459541048797446136919962560570508549679816019913363649408936456657876700633429064218731806392066075211748754477181050240197326624864587769336414825493071751988315747155057227600271741459522759488176080290186057673456095805577651139429162375291856369508210812785855901563066577422722328186021373999900020224123237392927155519180337389974621914107039203564804051977796028612905303072481278860870354329889610242470623321982950957215542227500265282177362499156818575916588375364040616032484730836080266215058371738440958749233114527156764600637454312470080441110460388553863110567640269879745050739330965547836369952222498850346776407963044926488678711321694417011724238244289031370066718107109969213961660438020220932502143142677925760326063292272243566838310894887772812553043739079006693081422766801382222831190712530826768472393152937524654519768967147360210787286686168206218429548128427078827174605342376159967714463354022925536766890491473572058389415770931237175957827922527042468920149994049059865266231527223909914800876165122767992135579052103327661010281851994037490397137547194319581586911204936604564324833857922942441297668932778544548547472843406096433369247050578867432261111138755316600070147276042424741268596171385099092292415124420036350968722765185592082693992558160410328914737768967362872637550171901484557595181459886952954496522885737137096994093754290666271857632923370557868938419509445300068725356740311008646082298109099317859267301376697950129528736625195655742810548614727121921512254997093172762603703798700894212709060191446227442982715158609314481613713093715600532589408232503438156575430417573055249873904401201561034312253600554762025240719130610918708024277056355393680321267656577430949912560861202394848084484029260074537804996715030994583504648499833892438322192910758154054652705979358968441438082291905161913425093499589044175750166206056252140410077607193108288225981175889963583271683484709543571745808532175319932593208331352884629912186446775161047655929288111547706380578167421208231839399824610766221576972036050173121896091454017023056520319713434790263575120045270404293184015294767723037074421909453721147931335584037416402359554870991662262665316091971853026464860279301705903923620861372113372045218505442777572304174381353359199594886711922438826409035037134441170313364882821380578165619642554135694820506006214306008665323330896455642021126734496017225947985417320666198019036881332809001501159067207080636944429717035479011120052532715899160644324600416859734982580835302247549716522780273395132730788882340502328447687437208970888160543038487155064354045747108328766890210510063618270466789176151546857154764378809279552434583368458581891206192158942105362583885423293169277718342097808148983765182567412571357245297074209738268158113496271760349987473110109238610837899965821965019319366437187269162100970920813594619743097474027501059098187273399830583746738036081359860400429975168062228920445911459007305383810037545033751730469778453320570942399232983651553341027755071958451668915073654829459751798889357985003862964974910620741980732444841085400226158966824805792915612769187064442404732999372458050378685793511244715131728155931749868819755693798175873097466585561796814824150935550141780783434823013004700819189692824484829974258037876079368143971963466693520052387281900496566358166272194681616625344189561581341606166454096261311773824310214339798098393088031293136319269945189196500127606502865277004327411796246230943225837255361914935743656422102306249977316666873849891386550061170891864202219564675009899770231384614905342136041052123713752414952030976571031375109145463838956181854503395029385455588113139833275552163027080661057841103106258903499825535346061509986135086938632761663808640600769163595567795335530184530830832901075634643533567862660687799193783202342386459869639646400602494059829700435849920683584206975362749558615498801502394519464372978963806925583116323637820516556898774324817871058800970551831012883768252033364815753271383099061595510372862059221393297790549277200881121371285579590592344388198479888087978551945622739105001805169449079058633175752555157032207741138310098570761058375337190369851421836404344093641259033048526467112563731974922565823129731046371053138137933349446356998603134364051235570024582806397392380651574249299876265222407537590397443757862880109769335477359148038725241554545876014264420250484828238717178809703797033446590550394222698318756264243137063043475069323683496846831917629761201687896197137696961746077428877433754436470962284902479971731827245644562722907508189926590034704038694880887767262369120114510686632483816441587159671143679013616816270200120193141610797959869194572218761340366150925259836234427625412095454842342106588063551106189720646655379619643921723575241764611802639115964413977210725465861649608757133863456531144245828600443072791248797916811091099905376629498100995146148230890340847800204395523230689792168481555773718174870616181135709212411409537369761438903453450365256812309259607790885967390178148564071243359625742403278033725586817128304102083710355620863338000998478753764349647901110679311361738845379401153670889905464679204649319422475768483128321462222477446367835759743872033744878592900939282263029474104243416364018789797006479454659267717009096605894981724283252321925727521631819354296208231519048163900973383447594928855091546719512333851115896135441685475778767638337986868310355233641508299588541732878959974365848890529701962661489100314031244326576288972559143029715694767056559265266753030420597148380812537631706108146001508267925082533873705139355125780203949863033428068956197709404931243828019930428093516049498559003160685417376821823282515508495338639384375102259505023243017624787113514033619106879812403357820550186747182936612092734890303218965856613218524085440244436012547359925416207146302319092992142891011868323048887059867377252019739040968082911339407814346552339051081524222172842131988634771651962055047010574385339348890338733424139668042625519332199256372361462770917526926492055691339603020600109051513989661884979063460944828170485118594128563160264710608687311639606596339904657578880263031725030014707027478849789085382770071248218966370L,
617444750774086098996991752967353668066178147646709768027517943324566127734931372196992222114844301604386395223456930037081308630579776851131261453596304135904817881588720930078000587243368988800217023010643639826649230131732302388088188221088858613245737550354166801021400938574365106620958980293342983742075014497478749939991667939523132553271174288311199646551186673067006649477657739534454215661689216713866200861526566675417336031557300971548529869963076042837063878585833627152746211380707088669926323220439385735888247257708221475968667159292844555099083073784396392426969463705915755691989270550280266703078419210537455072212861927995647585988153902673416823100799200095787521208463220245527597005834749323918236129334795445634935299810791699403169684327635178809904325245365729104952354068428529796320259670344292298472419530658664135167882680370422021807400132592292097213813150617131746796028126459709622465079596603894526588217037821611221616021097557614617147909840698861120072236082406221478252622080870463123684029578180905627292209166460582449519010958640914758555846820982015166888889229056326804799385838578540791751885095039992690606101020955163709333949030010876866806488862325740995974734493408377639106276963866843873452338612385033062435837055831203883715281021731986649079776895378944317922566845006019336614273428434005516405452507152517527294213778932912765367719492629874956735975632177993639251010271157291032169104767301449274973421927797929896945691954119222238612276295945727870229743068270050895118959747207157403486532018431205197586148109883510413385210627198987652330883264044841773032792036129000196922390609423603034552237549260791859522750364589620770471863547061612911812574733958570416389222115129177396067178491242308107287405906907420842833841412372328177088328204279046605347616583399037823147448693333100446300600925876997624946744385619150953027169634556238214669605053266351918714417009211887028963345747140036271546543595817330201612006571108909689575145921544923795162919721933045144995947946808458911462101811657871759526416667295661249097459493442558191585202901740719944630200941276171860848653794162663702409710701974227970799259138736714063201510877422052253495005356298466312095854736262944549048344119115003280337489501708903919038194096964832804155142084702778793074512588256510289016195778427192167776967358974028703826421755748625100457495148589427777117371316406754750399152356425181968402630972229605961998582302284637838344229946497232317745198736386786243681940644920482775763396962610909560874703559898375092136535537916602249505948204579492694456525519188459369896241006052912862415080301103075755880830672973123382917003597234345486170286234875415721208249626374571399513654884636491926388806268499416682381880246839305783722501259242681718109711413421923415955213239018667615560975322212702383769309283412391033061931403620011786214352690150687408380979086367729848411449965381027099503079673344045214998401158016576112611029806555382026769794790595652804167704454286527483773361244038244338679353582134768298257124022059891585225983291314181227580431053795200358743912038598517439867954768750798194341970537707493372741553598295829292609293948696682317783907957595852978958099846457696976865463959907870450443426298185803577240434811597617541264618306789344557530460545212881911906682558196033019157454974193924655553016234556037120841346473045680673000759530394576872927433499969641826539655515184346507915099458110138208518171677234920121317889470226698525193480202819806763800512794645735145744004890164836733485182504732265380696886003677932437628968338259819561957327433654010869439593646018476876489543199545584925463043634045372522648558824714664096729614217244418900232349832258001588149595716849897727351121063613444365877020226043061235704586563300637264215231345773208151711145996735594769484783954351371244461111289105927068453312124743778450273475946418741260103357929942491821138394091120580004851224348305897949234425849847315853048822186691793444241629887090829201984665742967149539051473083874228675401109231094513060018122347282018228989221544315420876618443809011492442474074216914199279395583886181162818939074440798081094809347119156255453197044390429058972452924764645176669093192071409974720482999398478702847981386903592312251262517995217922201214715177708245449699367790996921817298646248368872482563364667690842860192162232261257217424851381302974907643235713642714428461456009084230172270317707929740988622285947048333015456277698456440627456006281773112237314559487679220586222842975184510808494184561667271723558646695964736835508046787683555922924430741768521163371679000726362655087597440764271293917256638172862272805042478430680906427110018487054370853546897059888463922889437137164262099415923935375983664115163801720730543231636844312802494212759854305259507303279428124939372436585326628188526735133390179173626930965057459757925022331335342423205477395251784292633912394866620582815099204985399226734007535686124434902219941928278587627571248130779417047165950131270966495790777054689264881224468408055118998614256756827063312103244630184360268863018125635596833172944102651531286855433187440402124036141298301214255552005031126736753798747277730294269799935887475139528013153981503247247384851692226730137561334844922654271938512971330966966814334875506786284284820008684114942180178138507112330387045310774515606266357282201232340647651368897104236205002108462248509234144370615840929263881797756136833006965917633243620405208123690533420396436716973661839845227492703511205352699171692633044559809906750160042624713704082627759821567924113062666984264775609175608015528792820348362516168235562172110308075445367110319903836034761168485658907053396057101614852990008507917114655381932849672096136228461640737791314109048446412462581552982552602998948135611022490643512917180773753039345870907625206937242736462736354125797852531617085568707523264052571980727315707300977969278513624268638852392349990597717370353409132674456910333461265138878488106012068655934107036322391860363417686999330005203924233622274617226169128320476504172256106379359813547173138259912516457948154882204538052941421453530792913124446399211654131811590937792479477927022031437359319181178256775222826956017521851581145205091140120467574720372029093620721030379720976932027026731893785251076250088737546973442754845241469181485608287376825949376130907219543577554797780963L,
967489033323040913810816466972401455130012103783399820156321048662851929837595923264829807707148943715348799319019002476725649186332453801564251666728964465707893224894993558373421956310720896958485714831491305692125433675661013489292469627930677969742124137431550576575174418103593439795500396215065739189140513629263842255894925452081382675086250232144411914913171268486980317364111205779529104919251541377727675212828007720445515624589864073669696657619781512698111710592552777400284586731826787617035405665827465611814416658336462232727977281576420362300648347629718109516385539633733243697056698172639835809766057042672508377381999324784539918807651623753982726472586356807813784643414147469900445955498147351936323604942198437691674823403805336594197215027806930503663684574665163486456039852069501373200359277054184930280675772852617753834851421680026491248758619956267075091102674162099664059032146428542809217774754437418737896392281054490336464870674991527419970302132968097116540570245382136590509208218608452003242502882687415558790550429982958772124218992426916449288139564936119674315695067651753448575053230297883170277504518369513709808571093773165834658519208537525124401363772829821702538857451349201848896373897337333140872031836224087340691019360446261211335738556344711808809316142337181100211460302360514931010144477854404850629205603438134130676393330464836774339400338854749681939532484500589982453588054055548983120159988818039703054466217709039250934888507296357151088405684276306207388549655691662996448045751309779753442498411695328908602641622351064716428704925176933643333066821568497801156441556814840505236390339917118398125166387758743294943415053576672412370959212460588959689253654979058539101768509759030860460420820551376696081734630910508397781891470393538547067497425895003772597203104864341809903729608312260668034929466497248224087315647930868257564094404659415840493369914624880605727116313959098395153580135896631232194701857420103918563936635235132188316603897310645184854480943651114324409896255820670958349614375407068478114655124017284359623532029229605530247064400438080283409814262526381755490033853579339127939789981136538130842022295198253538403981047842995856390663006501014796975682404420253729632884402782767683235530685165031461053392045655385834670056461925142272676437546037380434416453125002399436384923404309351865368636981725456288529750948548757840764824568312771548904317331285391180090358420831155048309314646352306695158847618073373260607977308126016819787759518711228030974852405167281415062923868049716259579962703788811329341753272844182078454898985828170116623538087311511553602096074986580582290489271169114946830680507864974153565997707102178464119842878281637606039412869002315949850205403875645551973700880107483701872399037607945290169413059760772554024962703587344039122998349001817560593776303205344172303920632747965898220798675808963005508678865809763380770326155043012214964858146090461489519167064511375971271756190943188801094517298780956250066243271316984788129249764175177073348647164899146553905839713678452046445409222855046537217345988235549698698832742624115812544907098335431340037460159850970242170727089360856315854506785904729876907537206255164769011065369959015027632980798124491100302291087338512285347754334263938459517416087633757427257252604355460255501486992412333198916384265438803245583036223665028136507931737408939904599911123073533164547427681221450072906720300931739996520893278717081939850866784288227432592874971591778415204632289555557313566703081820320143208530896397434438782967759647265417277346533613631481909403041682472869776333459349649761990707194229936987632045767633150932586072638415407792701754303766033661781272277287288185378488700426337785703220528130724303881363934260820870696209188307657349219624376146816721401619125743719985236111740696868465197119916309527881021690415148705096907408154077428355057703799972457604289550546585144946703008358514745521531648329954569298261077972542231844973436737697127938264191776641905649915630226492174256113844932151060669985615288369066586705659072622559087198357184493384981001682841598054792820085458962399856387808531841737446275179331748299420573673138634386660383882607158915574667609657490300792249802031199218180696275384232830081635339414355611241956931322065581519129312701345266383905841868398579222286959467363415055073445462456422553081079967423774782852420162043581225631655058202590519765252808403403391078920836229584115826379505336212173845895137045321478856670568589416101358424601618688775030440696821765827265345040510381745795516190633127110141082547927053156452408255120451575620021417111643371418700473391220293650090160621258180182535345467083252067797617920756628205627647993482251493341415433547939963593982007698222215438489981304630282869901931860094918908147992418395380791058813983672114644247816207306456182186330627396410790226926385498230340730447602684728605535535788656947475548016365899277318890033672326255005368501816497951456016582509415653894593863551054181653505351664811393651305196903377163283092491427672055444543337405132266692558320028334858786549353670264854775245601376071493957310979643890542767289924639031878433833980387820500969955170047259251724803292342565559358595005352214642201981409577319257215836145003840216420977040691215992378295656328598739051304235152742899430373696019766389907049402428776289565990080907195494504834242763379567695869871350415066808939594523398993107847794724583048282327350754866665511422327003704518675627383703875209803290156316238967870775514379942382252241954218933115385940022238081866089987807107788798392618272314110587961849999135069985696400194371283249360691697222677255577043146266932193593184511286246583374449231410096350883608405149560207240919257392840159952184351783817528132619503823016161894741867039307287313947871388985260265246979917744440452362309584326636771835207830769798121226073997584183140749812137640354624395770115232183442427518884543412768828040083485922242371664609132569343526123295696802390257851628767145640546279736862061988735187908676936648251995506903209884843880329521924934544900870041697639717687261641909437600547880077913078438021483922480404449242378779990859046259682175010638195832458732169865944549681642444857762168226270120991385140584643299285399359598937629816480942446262391562535002325829210876959735687988235493486664505572097088032567554147522289841167L,
1515818562506856773920101931909162344083721001110739978001230454534210454116239258150516005554650457211624906267763625721899335931804643855843554684534650820027694821997325187959019581774842993749002549535520020863996599535238647696904904952757187397350605452979588506120242349960039945744184628801857496227052496102006359838521860145862769561949695412828200808062320106742045415577049621924002640011038527530099767995869222427292618133642022129967158275629307534701750485919030702351302444589393409460232114677171101361888791889459387808274648559019333803577257265258756611238443164856740264531722161355319622512767021132871620676924512983057656865684825848337313365623188475363537240252084981443911585195463843930067635503149365825330988644264578843490906597979067586389424268185463714286646232149559942362851797790477792169198240593963769263821788996402926165998515083282080270147001434829044517637979136161033398492028423455747919026182623601193632897921951069369285135828345130901733114452358878050570075235327869126514913978331989483565058291181587308906832976413068231436679809940984974242657949498735661295377687704929847955957518606796903940650603568979020013968288420557509553124218103240231138354921994218778956683945430963467569770713658435519068777583167085698674001569859950747199786884351831279231891109169329233375635758294633637089902631113422856016989621402193258142991275973459471023579687176976477821418425164287519497568866106739478731700125627100511215219796400081590802516161893175126849013035731234541915516681111363237517054550900905466141600247843499440815183427809457557383310411464703304388409707849831564970742437947792539586325503536935476714473031706118744066616947457523439345131430206015642367693461585752093337407480487445358391895285911852218507307061406715722047816506504036730580558159409058980858145494203191213262716904586198339976589560908663289795176480145409809852331451986398333919231812479813140846604604928136339503452735011735696248489487033986918551595824870358121565303490514616104154954695878835605413121513278798145343372698169653288423805476218154788983878663743323133411785212682275813162904911380607031066830819099492539491369636368485791847214949025430013086406791515211339457617901757330616551522617779128452301881218231275676722547460624119497518886251394899388134299558387899571853981645727241490056113260802626800375282724298603747193163398226506402356479552828626741793335941996572268365457692058481828694383577937947137236786355561266059617144730460660030141202273782058917943518516786828142672902738919874114518052943576670911288916320976558783895244391616052028954342606684638728821690857014086676425687523790001527430459554141271933527555224387928025637577381001285313594726716428893094743241091341270910324534004251385855897372079620089647658724802907170779029314952224824436366933065231715299144865613526123064691852085045437564748905452777910060888030445435488688944845039065432538734246530241860924403093491498703625648025786539225839509353083582189786246484883175026972065769021798355029751720196538572916939392837302090133243988334833333169310006534552532465318879820924961602594553335409140444398041047629738258166803934406839420054216790027395141936550251882433120708733683638187396848585890416176685011801294379636103034424784669065164093467669237589287494686389231184677192996265763761023532826603557395501285470609123769443115964742719900046892535397331105144254194728127613232997903961809473897472334780743883990328673613435610069360854864822865786440822149647196109567256763891502818727758022423933909672471922356129233054209442006048821087582399352089249137597456852839997280814425832873675225942742905331804573194815795922483749016301065100422381242909299796303659651163610609124715265537721230836856136250622398961810020514021002326704499441386675610641586181088754913178209804014430557475238319651585000310478600739892162277393607615395342996486371476734522930688980243645304974655059858785653618954897503784024250496258589119347050805815750927630389201497891677591492954830785131906188394105157394871270817605344662525816032942923760902926909805788071279136099069457639126215502734001034124248571258413189980971577478496519511077581575125202381454658990341708188691344838541507267928848575602448178409294050368716943841527711313335310377928021559018186906725141825607534030563599890302482475324401185919124736140300585324476275859407795278002465567761100176532364566879873510851814547341952746020643883513201182486584439601843623470982457394530518551298005766905924886173165939149239238197821843753770773908527997397177722539802584448226305374251335570349464508538911431772706691801251036529031452699549411078306299337906739463027521752994586303995666704452920501781652686137583196129439427310870042555293763111029749180183964657423954486009328687196036086688564001922190101206128390956582209199936476109821708734840148446669959894273322352649297887178221322108281448909444741866662905504539461901225838112994445636121415335604957710125984082540066612015313709936620218468360142225342302866433281429977103274713795759139115218100348341618602944097027295422235715081732131518339001573050597043232987204773516486534474558796990396639270765529835083962475883924084757553475430590727693858664631984919643210696619330336066874554175333347061195686342221681352706448729396505525990299946132122614490114840425772022391533237802569430852837510451342084716678715123225816677541905293036232356344662173802785150757782191807691165707033878531721151108110021093328957211116062930796943562575317052914332083184023229530558641784609631608375584646932282035266029950501070178303015339229685228913861055716202368329311795203069979229801437755755805905918641839543942889766953354304646363955979667477089362657684044313188901135616339513276264634329693419906087768149006760731180133779932730179772628920642778697242688577653682340537796684379964838512178900792162919474627286489215161961357328964271015742182077681124916614069230603611130662990435825709253698400185809691740237889206626525703492732772243148584832464320784953152353079778447841281169285588042637467279592901065909922828454367645593641085174735597801033382885288415238516547339656310750677958473587306872749488820252252478208204512454387610647968774904249888024904043025291342867615666498923797121790626714898569539723063019364866645638882834963603111604310056168251930742428125435208746942987170641528777737294311189470241637L,
2374661093852407588050831794498918087699559794424537137609875579871639248096909490339860718662134013154262653031008228861345353637400176962891487355398048401628854648291836455861063123006784588647149168880470961433018786658588544448933707272991235254297267586444150699866364341318524108788537048181380360603181207251004910001371696594253937763360329289185234582435052623285647498059192952358605724762459913645191492766458811137682701235124315712070088143543873795680000574808313058913099342669971692977318408268154365231067172190653809656610737413250133752257983750456220645183027900384817893448725416103409956200082380089140611698697007883668076442318760821447986469994291020951574957449090032330113379883848604473917187021673862100908397074485034236598880195108981125502659492630974502463763487282514769459829943488397054171014513479861807050543043368521063349449702060157162114215077445404001650400739709153701780288364618861297365000982118021980586575336186614972927584430319872563626811924829038944985605735266519633778743217917332329270130761900938840281273334263813465391221566636247288057905005725515408860515404994085790768200348840655475183349530023144618770710112462934928118329071762846772969285336089409969921547142359495994533000478554065967587400821669412482144904307300021147494092690623900375022821633116152468621849834435969438505755077825540816334571407595242718433427887077891128850172571477707508790940400389145130942030614646342682228051942619704009970107666598226885095348317653216442052102745184081618529828068178252399119396664354517726755780740607981245650189497291921034118390526987708054380366783601244066982756150690719378177520595912232852111647055716744750546023598558586342543498009583402120991618625639727956131781570806882274025444997806662469886393049006741727196106811664679260463265423704922479082564797014954264829724195576183880266932121373267946616583622869368838205376064997590898857081023082720926077355476904432314055355454909768699971219113757173239881046508440428174983177747860986297100379771717092386639116656741416277827863004435882314866674522931338234864535407905163837394320732428994503751465039862994762050561726209490882412200467665972157982074311104166018843872774640913450448066628970896098497457764322521598698282825722967784755400842183069805384036840675153503159053943952274832143558544126133806690168538472372859203739726603784891099743405900124923313249548476397499816127999462170453860245674940934391387218221759618532020717860301614118053039487408021961370433834772792373725302946844620340274106835193619694006593910054747404040488892018784377349794727371173084236896514364637967278054551238698608681719485922966577318049416451968377912170986085011807038604565911945867775566477708519390231243896380347013033358442467898159335530448607649798289267354723742050047381623996401906706759621032839067912048973442547214615057699031352617882171700906976195126511626747986096484160211409795562800712622878879517904131965712709269984346158203473984159854090141364310872703786173561570372435581244867104197606411977843560065993203386527862066035853108182162993044979373576493110909218528872915817457927569380044248006689254081138054913457362081172188192840505312876271285606864272593006987728074076767675000112871791461366745956005509520177316487590502665666021416905277283330090763841356526095357505927205237381099010467401763826856722612391284472840150562514226218816831344413877547532266854768655206056863320568874948758571347823506817500181305443695581835060822973869727786516590968491109674993635553079923691776985197255784357089883666126569440257509733993809760312889599769092875465633005447631609624249854247026999551517473838433459469646253331731180557536271362925868552426940204991759581524748847653386632634592295543355292295959604264338863523517131092489699820675298654861302386249196106136194534720047334851059586277208913876214762031751546534955365161048397420516359852340123967509331953397033571272248078829899431282002916522259106681321934332944819124883255797655693515967084912132400926718455588867999734148010826711910342381887267181073523572472622032131197189445266995612346613388371600676677840350871303080015111392756889263442645918792983480501926446737946001770960889330739881437490884161487506170305539912235892986408982557120373841905032949970542155586115932691625290104092526805451209422694264454339262340093542799684048742931610866878795451125509247741679827760643840046058489663238633031626626669085032100762705930788140861656217321363277948886952836567180480070313105109761260784994703714691803547257170641416912678491651556717416651152220928002586276689007030368611663128777852429704537788019570652952486098067843907607488641649005627096576827907580359790473715379675131523736213724376299298855113806408222343799618028781653624513488951217734890228339905819802320572346896958626537121524953442680192643852398588843380104135335419500996377387940438653795874477429941819435423487710175110195103874275629257594497636315800404807106795909964870153797007458506844876616531160519977032128011743714335973555976880265836194622933186791761553588958051947388112968732940192672346130710707889474499293753449177886356715521350010338008374874299430210853288011374352443109383475757578310527550074861430186164052997754091770614741651447700557975012516322341135360708509545941257191247373283634613157107279060203137590984053658355174078340929513984670094923622095183273942962171197109520108237040836824022992506931900597894568558021161199533176252517731011991485281185635994848834866699011403823989371266515149656907819888105168621109008981938701972512785149443397422056015419104522958655689777120749882113945618703855517068932883978253056947892539357653059924020031047242344331274673063075875051003973205401744842929334582885964294891685112100035142926335656702067945573006694985494606720016490630119053222350209039595536106639337463611449166525043819138495608827993164427228192507689937268132855619174958491715127613732282687186647290136798307169979826487927163340982370376634792148078180726784007623383898073029731854592465807625552480485963096777567459235440024969667003085844335641314025797438672549596957034847167479456175272023789806076293241753118666575589014773680133494248880528636960495737760850735043103149133787659246090124483723500466017563058617746857673128725506341741891878191748687785573005862071948790052010942627900675987887187462169977374318325861496255864319659376934L,
3719712052127121226732020159738819963892341001568301195081903341485507575892252241752568229757015025392383740425379492904915025053031204633555044205693519754888094907085291777504456100225293873509265832697907022512967052803512763595493973177468400857466102357400039089806200341367586798989121236919866072684702511527168436319770278290995235060463645790314821411964797765330579712958991785663971933512984407179342548146312810818433067068476816596558324944140375072149267240643881629024364503334880032852188984597198738459637254682001778622225659469053908273845426331517188106903148322535730218607931385359682677160584829199650376907299843519099361139229936191244072143381845178423505047856262258323349057523577972136989905953301551422457639903494143190582797102869961639353801525791455360722166921297391361809576180854246942539315484550046915206369270434173862821036424622864165166510132633485808053938714916559381077174890146938774301648653661371089034292063959066059080043955917354622438500235214789488039576242700857389860522789603355017308813699498589198588521586042810764252564676219475692427666915601529821729628305392974353045749966205210044579039405447666201154795343094160576654527784797158518817759749137661469622277716838044308792011884431219225151171508897509720169209707029773657083309962989940222448890299886762309986836506379817548249949267219357942720770392090380754799413581672341438240725959463448233770285126113748534040083249718686738761511526144776412543369019912704204519397482821026616904797940671903907269232669889365687807064587371907025905859235958396750392160298785115943628191780599728829257054741006643353679073442956892194421184707975557091756210690913835193307793115501670026569330341402461504974657377514950028737822506082668497271504180767968740279132274958832596865502718661876779538684017559776543223343887562736136300213934827942482193586991294372080360537522661088253902105974660643289930488936389296696151337295523373011945384374096881065172837603663909970961706209561483863216976206250454182246413435296377243911502146420188281670719565162554516497569962679812858751413919971667403763414246376420195494492340682040919422788228803464267754314232892476742866735715960053284246810372803956030648875998752358498727895404785041536321347198207254721915239421370524114113807681178450156171732384282465775147342658749822147772830035487666123143609517743972016177634032498669513311946711908623973895143571456246452955048449347073812607556324086522900276330757192032831546158809164085131845880779143081468868553744168090956420486908608663923070223918787188487529789352891962769759492968456637067064437202619398866069034041352545952166958671632008536973381119486956334913482536204201164720616747981763794339353525841259832110216239782018688667320570101836463270089692327618313959021077015659255535686237316275726233817897479902308252848190512641439856394865320034846883381245456962546941312279435843371686657629522543174865536049367955368395348502230637768389850504691211174855849416848265104721763303940865851093907679955997868473696953669058040258916229262582349505075247482189178324069429067612935653950421738305539188811180473536984751579565119171654519080306292453219407143101461631514850573424668186518244823607287013236403522008995313930779127282387946463129304952678687015520602779887921185123106678180632978748930414987585868233198818379791633186306162091685689553854446013622204797281939597345523204770399259090404583397772600300612552680485949753921083743578957938603053546439420938719724684768236265590267238264606454764511234568120333155862598180390005724888356773836616965298866431897963624601456862139019641230040284729039248868020980080676739537347772566630803378191255278129405349655779322223601726293903236710228869360231867995573950277139509174572694913125977718108583064811133019791569310688323530118736805590935116560992405236280687011861408894269656185308846303063728111035988899443578820444686543864189776020646800374345151918000835010376440469477878789946343486613275089792425843758319093792713425637824865184536866058639979984640982840452993425958615836322053041402596642853036046263011779690601496970851696947657584634194580863407283920620797916279440370217183314372255559501902551017727010881359104320998878762883372144382152174916182917703135330492718294931325815180126306860022054846707594062549121034515176023645483699609632885129399979468359005924650390572522117573171538696974758825100302197123106046976773475047261007971649422103885144003133211763519117938349139355068512776599667286748695523713000028269420408584984320173519749070629044083430290908259535649964317367794082734223780305732042271404159725569380500893405331596301614432939840186699582531773738251125727739778300844698231390466937630842403102694034022013756604005871048856756746577868961475035604320834247361383077531430487563173438697363979913506674977255859694820199981556165235922937012066164445813593094884583771272801974426299469383808196664101895621469234834416549197018736159783027671778446389254762977833278689222808224304675940769071008579598122329466164919974536445098638085443002262433422353962599368836674865945796777476490468617068332733772147546909742635321572920355495236961849602733379902541559576658136413625369386723154210390934732152752304923147994938748623262344289763904909274550132557834191921854636541954196100336121903249629209789220602119529724485161429370503227552403431477541289745030595166365476343435459262704150123847373514575152066475464100261628151888274425712174855879810034566617978589700052777699914473055329133022783117940298609886810348612756798126186081099061412560297911497926628422014157392243350978328730490391899313884905744452831589129367966982110436205514852446508536115718902980052256987861577452705540040706464418221931597988620169148685622835423553778995717654552450634502554023147201772854971411786818473706299006091354432105678369019757579576211290063425323070352047159270273467115249394637249211805838835956630874649346014203153765855876064521120593152786764333714560270777515699935893972264659412300765667431974934166771326166386667475136768933328502199327946879150866482198096309509106416874337228075232928630300054349090971912096560153207193534756355408712152999110372808549873405239410206800781742959743445936250619423144486478028699365894535718050383539030906989254923308477066924329221614066643908505498269830680723608106874566062264382568868064582942384497266626834989503790L,
5825997575679525431304143331821061969007698388464952363197905359300721840346857826933062067826442852697964427640538250103464464518797748190017307317289653212617015632187112467057289896807115390273716295510757855084465572612271538689920725443065061255151115284110150786438725459324839949390309012319642816418867867063232020981592386614015114562769328851841972262541777183238100797699152569373749046893770832836196086303696272090376118818178250904558422483418574942442867005722858946768961042369725947342210273234993749102006356555762375263732453784737699836380649004519086797238657497912801026911464876849832746677686158119843081802207688301898527670234112515925162472702342830992737502950900779934587830098759985889325132646140964498614280763715589811985631502085361259182788851990674136658993820800567792257379593614852863099562410753807125600078062032586943555058095423580103624774141404297483300337341468862283339781005711758026247000032868370435081856301700664985311865786511497122484700788362915839499530227349102216087426844879258203656364804445162631794941740396563495528249863688779529644011664481473474192281244504115472603395061911972098784796392547418253555686834988538742026187673365889811271380745399123770598570758685233031688346073951606256072249297460426594520906198981970218884652081734828684838029498416213003494266002129888346983172586756912952374435881977305547888262496705286795086878293408918118776315208424072422896826837076352825627484192612840930157626401459896337451729551788585226814173671380022406740037085234365080645966265786536516445929937946492173183336870204221588917600830152044745099518901124358197249750330490262127915062159041012830359660916378242286259426840160896131486087169237659736180470085791482743357962942215187759753045369235582826389970299723599126603731677880185953448450035508014309061280009119429122680585856873783500911562816746680653269107588307176317582937624414918749965100684798611768350125021742558277986696677828916000587723288571470149789751922231382788798897990695953507554501773801277350367726259233839147255349872141246046176405772351156008693474966938803860607516934622843996881397912365817117581345147761738748791324720148120770109015171863294400675358576102298740182190721441494218175394536144481480917240680670085875596075337356029909693890289500699705480645146332732804029193418191967502716810675059823533561699710622814391766957443048340602691512133288247649169032541738076745597707987939621059026721635744953005020360520812078173480416984097414688440063765787366288818661665771467119704431575406466852845923556930408520373983601941846351421194256048016040062056152626361696463293914865802205566320513280555955174627764183088581614200861927827429411115530793662756823743847292755142724267814731634599496941142913906966918063876172832938880498127261039871659437938402399431837570388646055762470909073282997108861346090731634121922845006184840994262662421680454905270010531164300301473378156089975392045523846819653609276511808509804203584214505026326018542513587389220801407271182184402892152433612615852840567144827047609203902825366146806682667534797151493369669259724378195885637801113473802884973754587886034790548761824398504145568559139034426397677691887339993546621245328096576287338535400211017275870590401411929310170568834292226397642948618906539828865691485199721694588981543750203353916858182846548368626175707997364631550679262882565358890838697507260317634822670405074698508628270128877174591611270895029774422939335687136528275393542805333390439850401602839313029888926595708914992286439819498331159292541557600778395666618410818259625091662369036072607675912860242317036546762576358252288374323574341901091580279206957253705694232436106859688321612189923397929295109821386892665211262696538964645675125673977976096854069758296189086259519510142240474449305701029048302064452661768136628286184931028877919355605943810124999136762354697479655483052155570573820714410892078291982426881168964950476322780820807290629521827497063368129013405365512793598808748888747523938675510811790460994926036157007251637387049016111136345590487857649922294195159892391042219576515627009881955311755874422444798043473917276732503831727312850089189371898719717827230777764109648713722663026034747854702812126315135442311345433913112393964649536211608363385360393286022541557625915417932780383694864728608233279566140244405289451820326324784154060946613934955854901144552050210164077324683491812108903502120107399270331999903633021166959197458747699468329750147364703249366387621853229887362675113933368099870119801063442049881866827849719100482863772202787360821121191420463270581222169274036081703632142171789608933668389679284984249810671318404161785357503412164469471984995205468456709986295465259928531697227389968067494686587490348247045806258380660991486240829291931992398852414874651540955296188001638826967670235100317748596925557325157920547897008822307494485023669398565071548057632788276953839835606961799784702106598403665696485889806479452557691619384759450704051372024302776344894772323251193385797633404773111689228109102489547088587812390292591798033379026412031496236782342748383402829452277244934035217602374136457512391388182792242249828452039699022808822402381730933686585401369224665146032279701754380990401521526491644851553574612662749973728492650448507711787643802896604231986589265495560559889065291457485004981246252806804170483078539078085147775958187103612712999625423583475117230261734435921937296623782656468086680934211431792781148781391507187216709947738606325606488399802555541316143073351337053242242977818451167701321120195300236784832437846323915294737019591343437903613154650162510791166321434656963507916872876684189914116081902294732414934649588603595803737540959513220468391136688580833718496917600915561983449835908654711729438410253017072771728334989906083028763071794756429475122013012888356348362923940618675620965159069887308039954855793054099315575969440390518456663740179540169997415059464150516331412165565577677822916498441505360852616157586896697581945358826063322106989793942403445089029983103380029970911868939281640390389524996577645649093692685882242521302395186583653712071157810140142256786894149716233245340746090570093061208533111424878177204214862164988822519521133148764556726266021598989850394997515201239655644940733450417500841287814256107370955646042361461522393939116019974361824349887238160471422185632843561409628846613594563L,
9123985648882315506102709505025004889482017329826350139406008941942646117563635873868621266269206922556319769037154473992021718931526817865073465307937673514975702948477493878702490901096018808334556824647801443878613429840794585834732676352055713875807436277872821647388859567475092064235771909205682580974359435063108478913717604208813389755502668536485293443415726703647394569732018299039872529231322779215496425434704995095508005011715001934049067004722415838072365559928007183909815220959665452137360840373273934134257432565898873384456227688220773172539123305712017262641173063980683040603482032810407848334061193767584236895959993443848345077151956660848941086848091560940368873862162471246669645230835084465874484732875500916915902738118392808626902951222811749427418152862814196089050211458337759011234876603365450975716788721764362115200094608751157081896557117771871462408261260339922890210974175731601707004129443184839336554808742640049314829556448532978240122103606020015325719601170295614665439418351689991289081244875612747481919905798812538275627245312896697916870600511830835387404534075218117138570690097048976388599088015092940054705682557005772287347152406929099093420857796777604000737925010701125729401266493210232633630288488876120443896718213636283169959119859507591218997143521746960935974576215399808503248227928067014597860448284451395418912686046210070336946136069891788000390874665112144553637663180940562161059541092677092464895950712358001816208332227345779666605184851419193835821208953866463954552365680736563860438660896813207620343851985929484275326862894571391924591169940405004846609959018992158232653139821131325030198610735371111624557459874177982727308698847747006186312092321070936411490654299556460401433851910981565771513421827092369199708193492667699064872107147016112390858396043554354002922664022926248352949522852255966726789967132158302142867142137353519554838431574247409009062393081239954245712628981270790660617595173052998594388705752331621286403215126891634884025506957843791309908858917094726592479527976940549629030852806857768590953421698541011733642162730939000901068337930692359943073296823350374436208021283359989846080852912661816547297769256314834229670280126879679696595622033106659069705497629597729862448290336796242368939169739920031259284392849775515471564555482389333338902154586163500287133537945329473487254094987078687653549577151258809182055765089034059793620333875605594740716012800199007662526765902148688696725685183178803489190690735580458657974991880945453819703996149819994719244285915029433792119769431409781364213302173214158916986613264793592501120603294362607821255582344865088353013709818355182798298726886122466296501219544929056238658279497357724651411553937177298952067242691534559025024542171322782221569177234739871251190165560969686383107734389357705077576890580719372264510068311360118445069752615270871301138313450749433388529854624949392699440505129286124795121828504796268655019245503549863386755067117670683996043015958205575564411360710623548861410073592168122929201606061781678470144393458832839931561708005288222887813569614123883947832169869019452692509271241044056772527654291755162681470000587088385559923872560129706010570799996221435352630620426098787667969411699405127076183662680689926101416740662870880932822543138400362478903436136002329060390692377705011772205844179298037018839415709416448574533522345004975022204540443998828715092678746353053405412102691364320529164088245257883287860764209348468174058653096385309740480361811056218807764920778773002992931234918968462312870451545201348681603452211043096506895650579129515449249783343842309043779153186552953528144060987606670863589638996597702359567590418172364475104407878899060196016494805968818969699253452881019282861623599078399952731048014276043517244613550944770996097343238504890083521003256105010753570104729678950947396893931580479311455015595897699893826290269760354303274445634978583339230031071907561594493566446964000654981743883894541836398316183808084533792205321320788975141666238274169984815198280006146273317588990996432272947044011762361017309790317634872271562336255339876516050528416853836109509854534495800284945128536579372633127872167015763981059186767067589450945164797967632517828413110471451462446868763676434956940097936529085326467247589441746336033176018513913430450815301245977396591798895066190548367658804024369720398043675966981562336631319848999967350331860958016644200544084803144381591564041338041048058261226070583907446094636590123734275343523600088550123033572132915149593735923304626848111623092640078395458556827031175883538699689880845195121441276024437973622628952130583735599490101815686042029247195668861443891709590090453163267828532644072413580177006755211815616099545622773950226124312426801219809927944450692616139678973114622406118402455115079933507949561653080983492444738665265188287570038844759490181000201852002292921287962365084603754297360007607658910764427724812764960833926429802741624807760934503915630804960615560869022010123257498749217662212227574440570908597883049589539547328401357222534823177222225424592732297581647080204173142478828067513446179718219214152808226773400735419679454864386706217068222167073313265978154053436962928155154806632123045403426801757508766125415887775261402876559354339157889205505327578581524172515729320548353435427126258703231584747242739038015699971740658683770792570656485023945186888936379997427745182165256808674519745770222599476439617775341279630291483287138726444903937378230593174005681066667833329133685432743922951637513456879310076704975082077547391668506829758943198527214668077740244197381606883130744090246439490293911909531689488342236300218997385104900789032506167320763249860195618024069544882801823209726309368362108010621925962620687250717912192983471002453681884669750708276602281651691016063972790175832747309004071988466670905943417004832584470080370457577091859145755441893589822203374564875613625776640633052443209431596178727727453396297257959103264787628881651219751008876471094595932621180379433514575129727318273143921082530893296450739657210117715064236282678686899452087402543129573607858913857165417507942535444178829443812817112490298926494285835406842309025778438612922959993524478399586929728644235167801223319845243998323961624842870495493270951686135524488696872588254274283141768694980105561860957781731479682432444278709994193077863385536520106503973250775801L,
14287367873258792763236599265852517192526742501088639384215867705645302071395434526796835882113685318120988014430027640141958943345852794952563222833895562767866908275058001757946648497900416125397041480351317326959271940660673745892231217439232295074593841313426545402001190622140096171217128194010097990570006396168210876499169258466990858633421554727524998720830121097408098201091610442178947956446162698675695831438204425125915020268170731074130276814796697780700688965792787031976839096665427597817652183264676674698089406455161398520593186699511952339336078334202291647919570041023352493235445373790642643679919851910596777657731214945805814669713270108760035562158053480551310699867663458706261039978253576940939396023120976806419129137516252703634300095193785650007743349713110194690429027865302582603668064864261546480578238016366918968837238228694484273720443180480434517338185781364161308375339204285459740053430619895600542830190127285972934219853909901515634713691816320678936447800341398674308608970370006878096567274916069266531097275668404170784795091161895874978111874352276269952817439090376495324196832227640054601105518794990050637437588982063973606611299213365438909150828715648887983081336966981867536206620101337142312372837223774805024839662251856682252840029044824854997423668496136565053264578032591495112285253909239197465844062110749217781473328934298060134937066444590880137730519767602592189767196063343422509546403843275624047439095512191214682417682874354567259732014475814390634522618421026762831620629007607550938675328596060760795074307437209792665248921194355886881313089996329043467560588248628169645767803669361951992381149139578346077655959731157411993882789838909347234040588745680676518900564263240886856473034990454837996779496486734721243096409948195564539097794529978570311078733195672228771219506078436835073671721084557136758481894865760475894594552408894729485394851846199889376243697716456121492702586086464881299463109287327090342963690203997408639947003886741355469488410604927932380351509710923331879727997765276853748652895468483238867652021671716307586660441160326132624750818471651194392906846203441057012127947843003221157076733215110741026677712041821722450486147186404510864556943966807599946776241383616403706763943065537695090211254231361442833984344500428777488353360016458861503534055453643683690040972663878335912542945899299641954371982691039497684461306185731559599678350555907934074320860623710386262714216656282324477592449892585865211275548378547367182572226071690689066359092991930788134646784554520830222881631214374356903039385093143673569061602608584531030593115183788539370754506498182938397733062818622782745985990198630919873378877660214207476725591852721164081031342904097271085251045258337431101417624515054060894487568787053439129732030600951592179065659867287946175317232839645082259635825704630322241714286705631655085744864725812625831442057012931731269722580566353963814343985186221353028327025256994078798892819757713436103646414182067602470132194911705450920207912694390675405145965191954645959490385392883671238602310772672350687691585960226122820272216698553823603107220697981084338936764325956516764472703579844803074101521687944532050973770534099754487076328382127724241412300380090021665922601441494257121935104072537409658045787222758001113094628508957265111364669294981995042117051961682194171551505746798739407823968175365572056998983695675469940403601523285326959482396382524760990733878074889971061177462378496655333617354970932325997020009589467419260279221338475653066760814849378577261181639267056447250064890871903238420426692533761823951965165362987560027818850146715688602681982941841715090267161926375900663908326009904156911866870871735347904521407245706467617078827319021516069673639427823154074438821178974957536851878471438576152856141574977050431227059120214934949304374479255516573755892825752716491867964742966609163622120588828873241018340904157448993194602589472232449678427389082898173138290094834291635975157530284436598286848330006683359696973592155220094025132572843225894185859333217480621951112125839466858002073880610262722133504141974837695159070951898022656900961540306500960513792184077445472520910168847754827977059438155808176495797908717241241630413830360568028350964673637084235107672098327031990812514911320354156460556901327815115668412112109695462287135540411457399257944949377654328280645502051520810189031153144761531660143232802357046558912650591274545300248500301850307648574691061923061526873752734881577835659294172766055354013743406792895690408119095050337730297539554253610165376715165728870965106514120192681539503307210986319116893208260046266580116011297417459173095527704193018792312444882975218813302130396415398032081855991684931617390977202732867415527574063818446219399073623022537371547514191525867721587184693233994506030561008862373303912602145488293939579596091690215048549334522757214670470994708859252265284878865724088581897196703825533504759242291637876606539993620204458091404708717475998879472163741471488163759216576093561429616324052587483797675109894787944248221727360556162598270678429494640114456120396026330881159770032351734810659028329031825848018983466435851751953185929091709387776069120633379049619085644400035966669481470310660727803432794814617169535673026252984268826946069579763121071499231821790764553357635403461686664386899815950410282725376133093495626666487665629429101959740395684422184159296799073369864044933534242945486095881552953101758805721703732439800868488325362441698982989488665160069556620781788687083325064789283879768812428094553024410630567273928798202688231526658122480502253947496756247424172703956634602319957150247864730174084738439125953825090499689204803318295761840079337518369647549317738756024015848969496915203182935456038036585527864837927986715565366485442688780446679980362216426523177719978778225421644895807716497760900722729633626031688106626341478966895016620419097714864030764331569265380040761735311687715655101291280261643495635791317301916071869200625623755302984734014905390448962008147930086832719965198005101210427968732381276441247753770094511662936244300123283443141084983870833701493859362874946495128452809125981014856802021014878330208498895769044959973501938415471830873599233867071008911045895845933098796781991999573197574413323297353178601409635298309132106363150783141364707872951042087384784799082908955589858860706936020357508594221L,
22370372921811970988003402124719109272591632895336546397088070951312269250195449672315150740726948205062084817787885298472043654512922541705903592463440247936214380344231935637872727842448963642754349233877471067062504749914095354145673409431357925540089789473510572410201365304117616479931228479806574251325057336620171922469507843462402889598119359163600435598591778358664802322879065107778308437743697512023103881604277148890312763267845414688959605780577290956991344226437126343610068226212335305684796556650927926339543494004939669875987678530517655758169807270844808619997897586395085818308235599914801680947552390575775960768170006991507720268421924852951306991759042906857636811714282872600480656804919474742839312342570162335955837184788441463245615186767330777365388588288155308543312692598110802146552052270468561479803221737509000564157116144125511229708867230312243013732335824881194730628476971872966405521895188340627267022108477215709955201304044249650565900101560204291242304439502364058019894823289940532370927606298254892804361866957315237801523871729807340114112658591859590381996831283145941954914015534381629042478562910655642558508900556957609128583939408464715722192552545173380867002766274555094623480114244224455588740825266681136701587271529811010878861934019866285037285840553856187706723920084975165131927069250873484224125724907305207185913077186130546388535474602505883729477337244257160999616098840621768049293283061333613518829685927575148756051810522328512008122983791991365079999742394769531132640583703253762263955732815506047210341598575795564027628898861982571533771843294649752343926239295609109418252237816777796555441743107315177801121607180448119575895845467409526225480920999670534142325158377112357226770670916137711668427324495934122720039783035785096810237642261704961271109476512250528187046910995803881058996916780234817603346287447876438844886833247090790335623533601717897645708311807519519283923916509791497916203283133817982612605679539999693170348523064637211598249732641388268353163960256433245457599032406900056492560675607353412392614293927676665379711071048393781937770596232362524776184152683026608699498340845446581775475588179476422203898157201181180135768182089531700631996446167828578360061882352412418297331428522296486175358189812282681481100527707686314547620848956135346023819137953143378215424512594161897727384294177429082174404192205962236240710339601397132831358827815761900699268049533235723913875412637472597330067493881957895112288591535620868819851724514037590779221114178579964139653172541039682955290268345609163323142315147075874229802106473705282469186428568323170077627978530408478910091014705492613659327868535821365507867132901189974885428456697814000791306769843053493507814590442797650379909400576842262517143811216141920651057869393834661543350499421651109055247981676380735925976372630643599816057480622908504794609279326171203512154772576529545306865261201010735915292451053167915252468143344626830963899284579509801303217945255524968235948201809700884952480710935896148582263957360264784325901456908444638868788235266329986687374425479765259802696391908561480129778602529842159793364759470806814955605625626765016228156729531533422948207231904190712159493162232047606910966778026248212078898907339707786133853781499373241644436984960443666708043213259014473638011559933821853588119206366759698193471362260822096150568199797805008187536716710742578331039627498800394445056927341176105522824183240365571635716592217263012655710571123583664949299297456564657096583251188070254114961085328440531617070002733023046021516796836939469459484298565309297437147003940205885926117096408773019887366475881957234692938372659856347790391420487150382502475168518603635732671975257175852272048581274417932054918586391100586481081472305158938464641737675407920053909215471711586887691868482566093985291917860251088305229266599539218187412073234516194172470283101012594913084880772628303410801008935532896140830162280623652964709742760052351305247329596111064355981261366238952825504187862007714486309725762674728985791469253307211148149366427751143485229915113805198065619441862797206462676532368610207193296262086217930140043038252753455677325843437300490935688283918582235274829128072201582938955651873420932732818690588163440336396921927586591263785021118395074639679055455649977517450684746627498871212321638050226210622645944248149096421028054872383573343629802846020714867810558681357977141260900100702538241743472773357430076648365573100576504995374047787233292149462717798199206245309697327348554274947984111906739676321491108388808237592738625574321289297040292256452830262617081095543375198860697903576354603406538948729077881499183420504552227330301907002568231159162329714019040274951231497000388894914317818287855067450500685848022337907660412948124168987034199481022922190044177495647339568553624984747092031248314370740597713596189485043945819876548939845347561471612669832975917145582774594176102542160127656850890381224510921972514763818184274422009803098412839097207929333604532992761797872760165791123722094474785522931406362057790555965806912534380795017293736100161628512283326700729823368174083358037060144060157040353681595214108810096831401215035526486575939455478723807679774268715585196478108812497163661250977233895602279698993855113836542196007715778711747058539817942440537637467578058347774946345801535575539661056821310306657983725371026455307513519240857876597639979143695216394288590183945662533101730511435590563198020353306895899657421387302034241980348586702845770841908981060215133832800891535227587235130223480682258848120755007058944373973799285324544579656458972624556133807443316245972616185083536104622022651340522945008140976238734194977931089706620494690770392565022866000772490495576190389999876466057673178315156600288996559522590626065765190464089778821985263832933031570265095410248764315246558195359751777574797455891489470012790719894739806269255477593516284845465801545680356463615433761353968104191142383986694814764151031326501361916055430264644990671565685278566381043572349812444871724894728462214235821713168919180282988250338625208706925797666780689579393313091311534681771384052812009659386497703186239292994857159869180050632015486180665239043789294030957012791274857240664247113241626800687892980438695686257681625072707940762979926828599303110004231431461658266376986042967982730619771508004029102279073164081622269139398009L,
35022537379995841337168728508336234274821693975937156426248038927936285798784470079440068554376539289662518637028338780420342983865737438370032057175328746239035641673000404239088609889548732694985019787865809503233829151141024947561956345672365631023377754812366045818138209289716517012423715669525660999149739284976147809175105744074827647011805526397209746767156829656158028761044432812490979949100681818840746056240183868366801178456037032231201418474891873660275912272150115573121892575745733728296939724099278547347072380347168895927546071693896368487534528787811881553632858519202556266898689835948471304963310120113434969907233184621395687378857210463743287249931790696765271124110995645240765107385147131239396099532001940657440952319427361333728400377342326881638746169107558682042216635399503193425443512412149959470528700558750439328297135373862898371074320753170994368693733373431031268934513838087505984851625876295668944248127886094815168068615996308674929709898712591468758506464789514870498763771244716354067739203548329822367579179432633363226859837001814339961692999337401797263058086863730484274603579220792721895863202847831881823229532511891569368870952889311135980157639131335031051818495475499582309371050509416324955852614944196385006266136218577364943249022904846846457796930976509212605965171675901288677097413866672929910725413222596520347644984364721453882432118730758087058222744916828526962320580556642194228596151794475693461756439852407483684469908822287021896862284865365199150643984509297239130990452973861109276568270219062637225861596294605102912938116884995468725578596457654672422374826173425407068903338053369258427479492891809607483714606530431432988409936274195417493845787901710025497665960011612590331001882973535112195056408552430698718887517042049550330189358828644705721988278977788543057007133567928405719182483167558183762277071845673502013321234280065751607596052560385984804436672256201207405458910688515395652190811537908319345232181491146013779726384403782364749002305828175627182405799502348351433962417589912919782810788744859848311443870648461776821401957004943983272642383653017668847915385315501976429202517461134983106924805951480251128493579062706847635210650325620557795920509989094061040241202340663101762191706744554744883355797018554373278612100410778445881362558473617691375427743045909425333227232132213698744924651178780256751963664202135924699080221080472135426637223855025724519255053991090090816365006149763701338816242150807217212860350123448516140212180310119034517211020956089650023005385023362052352712143978202262080530355540416940749340043482760813069002278018550767006447214630865486584576961443364779243279238580124795361260931660172464458477668709523711942301137410551353240566543542379394876288879527595148052391753708941149699399855461874623013638013699758706194523935547482316359140921036833105631545705424263552381058513848912646557487640554899258101376093976158602210410624306284431815393862223750630713438316565294447575834519796280506346823040888393470595141819851817475256361066569575772339213847293491686829397735728482172782811644022236485393383125070757023802056370928442094985355173806136091027286464966010955045278358755209405328392171828551581625208578857841691278491585326008503419655926176321730890400302409518161691441379020799255069809648098408935857061954283928854690647591939423218919100414090780069796292044051377962435500823443744706126562710099085187411060144568833155791130761487394355877264163673084568813640785863347753711701496114794912341031948584351984717455791388231075335721621263445483436645888638979729894837749278574896112158696013193108873457657752404421429345602476087938140883742808322075699558190553382785723788118638604382197196186767839076017275097448188747528597307624506125682321120045701026212967577896329873780021940130744314423381824283299535375772286314576441523940999889966718059702494242741137964126648073201440656455321404077506294242932055385064354766537935777972988195375835253051032531109960928465699835490473080340352831019694211755557961310149035352436629286604024464285083744961819004048059866934686681579934203730490699087602281110818278412675646625672885191605815291505662970330569490467556835594711408618657755271356285260154025116258103169938704143310418467622863049882049562322453434068296630622788043279953218219400347693690380791893520823130466940173215190460757477396163547695221554511171930147458628644388065122599173374202884575851425149358721424044795760623126987203020193398321526129281158768692317459012915740298028093058699174569950572298112222398817676501769911728395741792996031515691616298159859320711242285158747383542534698375387805761127658747171589899317643493272662278472888564716520575161027884513083679095293772427337676767417529139354072669055765925833889986043749282946694388576902087052376253216742051422571799860412398726609151563247783337525553503355424400619159799383283052946617756785732346466867476342445124454735112808587103679095940617531743025623208935133796774798513214801383769261997369911264291449906022411299678600012770596063052393420055263741847103761383341241148861773882354243374749828695923312533781692149190804583068735484442532177445120784364493880242906367665983583751008481401786812146767811142521707438432862370359210258710672317639791969173525361116975122113347027801715304797896297164825556848448633852188079706250684283730935039752301114555967295265762358189420072676048655953854171886164266163244776256546496736679007627625306709668628393833507682931033591735705414334832985764918297056343479910728490223615948508421894418334168964028859988487300550668516483400083621562547647312857305492139232208295037130050814628929661311939990128132373064498682094547228470883057281628043647277504998691669673786047797169277766745790732674571917112100417069124328111267164857441638828899620833179426146467710451474529575783610619790405779252422990660026049580229093536307176144538247640692123293503340505071379522819971694218670263992003286747504152077321624893931125743375747349474987190274152437729459435161158141743465850165852941101285366948759935119241127160170793893102355405212806077026803082872931755418250306548979051520236089615158344805927596196793437939986764822049915905667301554388148721784977791315423829925853829808711713807498634854845319778382674699210931376669715739073035198510215090280226563527477854927157647478774589119321674173452433128685278325290445996305L,
54824591076925246320615732642629675101547976814964242843724702552723589767955776600564884210118317117825362798404468407487068953254821588343244547126877869597387158408188655804608398082891606874432864883046531362185515801974690141511244204875846790751119798866138885591333627120646367253210656079487062619159535040580333412209577399810219975759667051136089851047578117521824492876240490152876497207501005651974930407880389182022039362405963718994342362171476447215436749124089489329360130166178286078199146877836674497537451068798768021045052706674603848880854222645093065405917806062393768621933576005662591956555758993030229182541209126080934927247752910137853237227024731056042507197276040130883224124846890180022263592662964684640322387817379075436539735400000055506107268619522603188724334880483395310506237169055796847343175950832417618473678622296101397194687772870270460265786363560885494029245952232949748020678926851942478792437206029985472185717741384984998434337821174253384933531066863310481035236196299783487963549724252473219076976092273664551857329504325351467745353261480791390899347565229090569671952658469100456283813130271933451437185049210679283172586765489019106352935538763825079843761571863731165459863532907091790271844217990108409519828615575551386322909185560021573506080956417502444774524066611905338879357775506218302910415294563573812660536692612254471935193434550471173199749663829508383950268290682625056076049032155404988168146644506846480530001400692350771648705566472206416314234029311920983326393772728543947475619320602470652774959403014378452990410384179505978384357881134924975733298967859456533949436630110648879199798796592489955248241514674314952169402375759957344565018429737919622000252527906353100157261787808126035257296103756894446428825041523590571214836074467119075607046967592403376605479088525711128082036757800973130339152465407863277907185042035989197377717803313079273619210733906618893454576286284565629611262418992977727674837376980142691176859549255136871268713778898502092075185841493257569311325080037884908544717270912375254416075145745299080806251037480952618334209569855473605910154709756995823603535869507189388204380464473034839207030693530463852023311837628387481648714080761206909838925098701262422115136390434509400140204938045957436133411866236726083611021279872027807953280070405158577624044170233418001666027167756408847967416299342908848734704572956234623101271369107722493131382485355585740515954880530638329156350220395639759752464985954344341186583416166047635546385295931592025151828427216851718706976889802263151066775266360721722968479394824749309661370971827899692816702860265094578157991990783262235804265955702372729099174482076824447176584979963739866223837045092874242461747003668150160102249311737582233857950680347402293950610947832106900966188870245536807881427657331325277705013932773248192104938192072712101657530603160627267446987206358689724534224323686529176261225858095849809844950713081391682065072812137454021744092992103358298781737191282331086827277134339430324890888231057214594095044047995806955164864658924040035292771346455697070695764208785180167917578626632008189076021314387180540952336152118764884699284836536511087114434498588082753166000961522198819958441517902566138119921708640649624714257863201905682507260905182882591059837708490064987681351168572919725961698154233277710743615363057708685033200520020508363398013529564436264338917355365700372551950945418729559769329854878949753841904707243651799860480472006321712688724750131440585813575538144202776818468980152417627143224237547466079839990093963721802483585168060851302657306053469815700905602032418946844257066890219642321129422445590319936499660985903793783730253576861835817233483728578047514138286744838249044705025110149945571173650871503441915102561309718401321175577014740063625900722381959941388094358803856265678239368382528113603922527372219797335620639037256154538585341188639078633164309981828680229007033935316719515788179421111537054476520861240333912501974800042960762290220227153369459181445353497734471340919473876718326625684873446773100116193849336935681857872103081359674727195916394148385135748584556577384621059792359902908026833110720929816718986021095406274242021881086911303265445579047684083954168123660840109734881894158892069290534446029952086823582418997361528714109937756909040906593023269610576728493151171235692734220963553871989366928299465724204294990745271172986790580379716841500237541264019602855490988790087051582409408102404344696404055781285725033765928516106623080880292390815394913974435651690628246412215623103809401412933491831939377577337576949834483888673352698845070046432035465623263174232259954041343301081755487425441520573477393874833345723096214843478873189848986316085323569714152048223016114895207534308319536829116564879997947631670832105989229965174990491461453044278202916443182071818929288311560613589310174214837207367332406994359452456040641596764584711620257965558182218343404188493990122748873166941346427745130912655260132486519011353263655731728281397336216874200368351432694315921654803232098544397471804293307626326495534756351912860797252281958561025234183323663679630385046967117589598029989191680533039703493497852785331187431601811129478379213417855425455682258118940446007316432832735484985479384478839322816144547024815733014784311191774107344128673150755441485081607758358322657835913371749982931265212752088840278379977041403969204497511104505639839002979380971899028520825893997378909476282420557055752866038791192626121287044511980374662158380181515190974760408786850104408487147072204604681588631129261355373129049319885596447066463379882308277010486229621810587127501907674336520161244568439975135725899062676151944244204660361156608516889272350271292630878118650664027880587106567343566751111436277460416118333861116405848813769902324490580078142393167148483218704735993884740636683802460363534966222684417551003369914245091166865386599750033581186268084102690051454167011087973644034230676635121466017319713836385758757180303729835698843112997423999798227098919335452762459427176191349453343240288817362558274112096785562921982960990595968403022791585952485281859964509835090956819657572355714967677335778096828410571585527840313031152886744306753067912595093847747923279220021206624010722789341255598975223058791788679566599968503974006229635731797915816892347514192602434322026623735875304066384342539700378572L,
85813700088933518035851906323958344039312283214193953576560433693334028950586434453254977944595835160885064355534319940967817705479956843300186910923564754268616696154070277528720959407484107943942213692010401318728622264565320230979323210676176625256541536932065343599878345033950952717697980943819990782117047485956719117173867065987348048178175039557642565668609787501239360918388112611039384019527847650790216569596628902105816043617518138739370901828617537023266008763674486187728907480922534893325088479699272987516872626415716979250213626294388619193619094428482751395967761924727055884109340452023686018996678698515190247212844944892818886189560383091974161323853918588407238743999365761772343877715516830655399813627980433747539188295501288082256456296376960534402579857421234214317082633057307772177893473596050651017362799612744642854021588716516887413421159744081256293968092258698551922892975989876617181011415811518908243650173299902752755702281031216601835914584689817550763313339991663235066786778174069268644175900103587939229529838570707353737758193420033250097448414652142604200650740927461866953356656525724514803235058535235439338337247576037688792872764658371761030843958710231519656330748532374608684114534602918811722499073765922805386303153211977354925655554046325522517776300134644750619677872528499000427183815775039932242118057205309599689873716026575380449993373683135102639466206642249753465677911835507889720396616647435420306534330166618575794376876384653295895860666413505856713774912971759351052294940525864952302702352726621455910227755407586253247745136177845371130409511715815648764930049608764923608345454534410273792787437138220701679449007198502429110836312085708563829731726005493292482690978218905422520362517446298646716527488903693422201472391021874664028128956694948296470941131638755765108178089526230116971898094967312467376440389866990265342339109920759435202821517672981155568020587605797880529974363934422300153624416027542290894268047871751977538098357647330551599593370773876212704511761369640069034187241265249582285693437949089849433167664087506248536195517725362274530215128136417954642503672148224943001044872948905737379874122399123269397849234849404956483393866098971557334161368419399684537993827745448220597005489518787339960979276714226694515668349802758286586736894819015379411409105737873387138351224401168722273779045210333419965309553159647894264367853192888461480724808321922296036492663241772864237300700159436688092652634189482860711213237823684615188135113065695299155683599152743492040904368152302799452474453977176250460398756728277886160660090401210016112605928827577080508261913602097957218734650106473087841957803477197269234324624562619520675396994966124553994297115022296357518486689156832456513575902200562775314617332793769917053694022820281820849447439030263027018467043610457381924788361959125289856863922982474340872976894673449984422013141316565076998354395225273600340575956888703678483762527764416652972175583624451978079763578931899112491127309110567796897823385310114566303110146153997233845931460405818137152573047084358325882889727244777834313971847883602481086696735072162802003061773228085773834463055556130192571320752535373460891364337126421769455220947994469329978804159160502251445355110004945701644456457248078116484855216651150436847220442900807941814597928655268313737210280906651103728812483515723224176986239421485451718799936847447194984892629058219295813652483555494802301003155714457520226976031977354455359897619226406783647092431490781833213193552468388211137600726596405806439530785601630221650566208430661771408811403455806112247465069520003524842003246340430566877660181109359304961531983564950576892516764194888650065300890583690774673075942495696033330641657308188466662764077992089807624980693424679180082511014730566587511110370918971046829372072824476979590958297559472484533478853275267300348766975836425559294177881716949751680880131914084192149957091705725536302060177350358633399569772138064462039176667711275774323800883045703150718012260797253591948728057847462547334161772888695547694388250191445295620240453719202449728491341643964451708516217433777104747544237476345495629063147034117683333294500099624544028818747907993588843815728989978255667713849508768957511632643077245305372027357537300793291253271000578675693305150545272430136920691656065922974035428673327751566406730717721753527603735121154279436177548965296816320310292398539658929656075288032805836172527146120078602917380291178931934416456795512180613087095624303759937592988300176168942589522362185211920277159331564901990552679587664310024813745341778375456626613470286452866142004621937123556431601188860321532085626982847083800121355257243452658054908439176166179399655491623229014682253261165077160699295727955068559673031542167835304641732305049341984402766272339381622660924347794127850281804353075501192091895240778742607730628114908775682152554363602849395711175046222069850484817947810830644846800487969323947355744155174389532169331378518577933565471796887137686314898765361445285800586582731886885543686824526357442173445257450436663623589967109796863622528674914871201038788584655078891999544406915969647805753810692759526500444824059532181469121453743537942400828302718791242554974379647815308535989995795729176176689626934288811099703743602590615046051532514363958933788745321147441713612753735097317652737107962222525609075970829650432301403669507158177081673027053129142423492866049913980175497927237897961342791724703717187371799532633691911297443432735084374795915407632210914960220014905066201547945043906413250771409602811221821388343945189398930696565862403203909562612873682062030108864349205420573554064149092678769537505841691295527775216671438908056233051320158763862841471393952884787937223734499276595527859040295537538461052871434732634382515939783317628564414323297605895806667681094174686940883538322200153758032934145191915490412046768510352405956928664383320916947412066636684300961130222924166828238854056558104477298538589065359240476745873405777289140731080751079703914319298369486439355510684061256514182847760772961524339929498866683617238800848036433339591256449913304792892043790400614583416275459030674900519958565617268454243468969882817264899553370540461702636792835485999056532929028113330535165134258272378570078065161756293168632650954581448058707841065771431827354783740074897861135146024869783387415774847379027322557486538L,
134304731250660541914322964015196844001264876111506547999589570445394418653881990326112793575002082504630712046628510376351607511924929413525020777344441495831533088514128894010897668522378430494554597775244910452508847460124726612764472235027174921402700564095360665748276533641482088611200813884418730497045623255126215262661908076739129534381624801584005157847312171267608768547116196375523164754880312229919304312081136488279431519578086652374898929805235528663225708607315765840214875453225859224000215816962161524502449414276306706975554193447415019170507295626913457152208418357625215921365863680471357323188230743130116777019508731116611233818101991204352924392944669422514370687066187565784717782464899312429592017281150204415938237480542215050344407049477279103320771943244941523471926655209299081687590610640290178775048731578318518995003903362518969222758553254673866130902380017416608072519032643368985015541199795120043033953638847668081325232156904723524911514403581018106811568342646912341893935820583446968433392262292439631369695029443386140523338100247468190536833228807948916824932343022046454991046806105434345908182003350286979884099057676380151916428018674260505930812373512108018189494119761058076503012537693072372221064095200646776107068531330262889932258832399991397262476111207933975572426366948695486075913885699231174008047996119945656864200745361512933421581954727111798558366644252582087074214420545983233527969225813345394796759146210196394223200159413651867977149960485880144201849644922240260715785948743872837488909663727081553716570232600778788960215754972891041176705259429421508247556846486096774675101464666796259637763310463312946989432860434289974578419037566469521760389696723356273502669825557377918687984822496739258374638798104173715027756255057808902636619273361318932630761329245205305152517719612809562328909473193414834401198517792478927090442910997380931312304416881850973213009392272333121272641104612466338889512697149848382349207496678277662988896389592484607749400680363747571383726005030482826469754282113082155006523671070546895202920553790182873878640672107196946838537403738689999642444767697713964955160698464605111376508900191943297989827568762782760646968062066666415177575037286479289793319861076784735620028629927605106742767674465026269259686972780008621709078427810288310168834372373836250290649770614210581445908108474024952014288714429636587010118466815302670474894516358569794230024994770805139516927040343143030642786504734492118378204091548091364909109863850897352624986422102283790622561067984607569672259366537031752008558039541863699618630529040761676074325147016186852072015623467799561482833813141136585924282013649597621906258625197237939646380122189099124842028672707421323664114942756957408930021345812634295406597254188777733389897934796219291832762464781357621953912297794748225210688880414209281324433084700283122180480136914355879977771201963900492136737669140833607360647781987825809721296435600823427778999267438291662872675008317268570798724057686120881601453764054021661011983767721059255445182127101426201649098780866273005877949578303373934074006520054903506265717443653283167680138229366598819457602973920592676674511217299902934336990589934807595322097129884146116798125097170420814539896267276768467708331661025699475601864790713495727409008714126784608752669376643365178895774897817699239142809137452832172990795379777327853376715754079936618533111606906572854617939994029974433404251233732912498674911115200105155971689722822705647308938439110981766596198609558280537035147367682766957593333942473450117217989177591038035028443481190440534437407501803081721774561946902738841094930288187646410934309351686269317824693897938500064775795776869850489980034245063152650347798115475177103169286525483763874845068645488045274391509683544350123605138836480751633863946710640515988957825333826894722860478444575605365681593231213795007060606998495529892861403906277760347926944015862943868324013480127415336581915344995589549153755184622626411348766065476384168706912209742337567010850623119592055758158223846966127600976940219875853179175128478590960713815491736646695297045368773408636449020687127583398043958609678116803624670599238626218896537694871926799921648276452305669562360605700859754989549061466905009677912007165960678517431439346758659578790699892054710847078441170287110679061765922832429237282715518157259528271318752576785002948556796180775410785333774420942353903276552794215903621794940488235768326508661002508547641416036626444511074919672035459801785360670535876806891901063914133732858409366575212185168810268217371777260434693460251539236042255382940806981077652115855048395024727870032433039799241165956884232275965783956442996287501267644592055599170612834470658416218490951425982967904430784308876771555659097288351903420736516327766921802175482642416761580120981510332426738929098837313990594833739832880927331783570991014330522611095504590128107898994814340326174796144305940803726311320724617413823515327897895154578932441286383147065968884055986713658517984887772098627087578342956809564108644443722997116112478349847255349823288833986154745957588402090833959778471784775326577749129131457432903761854923760276508990999491255017195781968176462527304227669603376227054995637991337762252034393471590043747473189518528450746207231819823528253411361845611112624861927115484007498471830906537659071510823917070528817443970201334682688449802251213143793739632095969518943964569298920709772131984855183166606792680255763200582540785159182451861302108085245505523359282615722948185055771014213252807877461220732458024681262597456392077459926161432278269593600366733672021033128876847499130566718977418615264664242700664971797174726261041770900452788718047472037201555222813640308997719611024461801618268163696179894199008927222097503366016405229723862581343425820468636326709668726925054668907988575222368240609273728914645773461524734768556586530179483917493652053871468213039990105798607435383531414649458790678981921380428408751581947142628702960672679133519920017109565497371808700225246898507935015305872033187430481560203313066872734941708578155047113004280627247765847496061379556260351558898350108217284909265387938821436009463160612269033391568607936237617981985405099068527458509055616624880872358352368227662678692263866857734969527945381678611277059648442582308725273079173017488102586928098166155327105701561735538059971635852350239860L,
210174235532834881590827339239948233581565768004363748691274624696024806680838576488861037390390592533289747327575301766960136269356075136021675075404801541841461738874179669518901164776244975904592319390916195357515657294614554926622342642710592484818120186706757486338590007900660496327436035931066072852241489768500557884635696903265239741765508542047980266063127754003417774574788571407402119717084674673706461581812967351649889264006136280060989783000976049202289313415410748342838586228004422682135960065741855193727300866764317365866881708636372955189268638543297243224761040768539788194587324296585751798559833898310815330996477252955245991082126198163747020672376436596817255803162333844797910082311733637776777174337035621241544718705570879626657621763947165849110379999069251913921020887096619316312960337558942094959617869731516369777748124383664065375573781733013273197137485180144668785797658289094685871193930113732427657085812902420246246458143954654545022079384751253925017473382703181985884892547568485327885053184206485506382005746365607344099021039333246176351888107059925328347958810969112555638408787533848811323034665743957695162864793247669231882396863898309534035751430243101631116351994380184931813130424248909928628696627886794086641720252595308501886625810297505483120968429820615761403838723775016289678569308181627017632320851143294091133141824962704143930662651662334587571909605245907924767940423827650468373874012864074835875292654147824235805996120565841880982162713901663334250474709800950187522982423546565011627383568377627070094397663017576318495248392418522663444346301761141813330043461644318247820895530767386562694205510269251270508207505281496643207272215849414954184023203228935503975417541966702235433586238648871964635771220618309116183172180921947970370808435273813964637016853003442110678709280493172276562358896276189356821904954544804218175348052346605114218519942547843894610793668823088369829973661972163480626911651102095351035939819476630445914341951534822897486692572105748639304405734025776662810761533935975956370467995213172526471694155999056610442145576780572352412144127353005433141924453019450091213660675267559298108686388170783525564910278463969855299839286292705665710704608512869323581789461856912524618451457859653533036258875525662670748958920183966330231610689232865618825288098202856540763205276328485751413357551927247602017195871067898760373282722981448735319044000295262157026395726252224481361135134781556211652098309550370797784694112737832320263994324065412885818323402799428672868867945376012483692891121575406728344465517290079447266952024409206703870502192155874327800301368093162341520926791512429669490842412730186904006211434240122094468783668592320492764391445906845582873696371531537638743960755663127452489630556337729453217577077237909551046061031910138605434834416197237933143556047753712819488446062313046450454759963952937634375724042095186001163581527863804948606799658063359283008402896980365913635839627651370763060587893292069475296716156540090194821922859211929959613589794366640850527058865858894436984147379878480246877941092257326232745018346849793545758644437673456711897933553663213215302079037685731605079961513867961925179215314452535723780308466292422433690629664828098450198280736665111632000861331373022776305979980887322031248122230309918546023357008248343110300943315222569362276108156691669876609696292835040086284916088660989815107333488041323241000559467846237935430683479459201110517320767839787217433414991448167800737591640587652927720367840404353988206665417098519111283984679243595099162555058972750334884544294965293089896135519259258199565419790951270816359275626823770408167161478510048253175737454881692110307720953936668184992385821027811910305912721816103851827066357970301414129866646478502644325895619507879755964292554802542630883840672172835853318747163871008693188591521782068197958104253809285030064031308463471476999069505485850394611902489723638475334974909311236685729037385252433609995884426093064007812571938047766979854470492463779218774696035286270255165102934574896037949257577098988412430817765500996214151764781115732446573223435329148996691708366865305481250806305662412727885647905567053005985798780795399715645860458624334265665731349260755457236755263574260748519633212527336541312282309252824794657259679809589160587770114928774799579229356834151798327611285362208736866581907357041799541609225588064687275486471334876542910621769710858028065641087708426608457305790036895536329191185793175641943613300517082371159998525790832008707213181435811447853278348072298220365595618495837971713146769034173538629612789262634794651159377483695231295642928190714888031605066412053248873188269618391171216681164224003538441047402138333357564948199770233795244653011012233429174167962916264205399612844748830509290686954647520865646138896273223082103162459782104105386198908242985271543983202731900803275142886327215329828737986660272133789904108447745038099843436514490505086328465772971558523648973446247856515892772015318645863747853626240901195674590086330718987272447584774183854007200613830700508407642677927264830542834946523045974077600233987966917464561359523895501183770237051922071104555562624737608239550657345611881701679849213922601848878714178584145401791863208298022762543732982225192534073719495753007336926016475853157401468998291561664023294689176722403749322155308343464042758195630613030012052567488107343479538573309605915186070278264538647695179008774549452484574822988050485636668666984610768320868609714625076210705141464381070127780204560169985396826831163202979308109372338403693875251385063517395210415535094087538867726536657704593421991007607155094634126441287597361010304554394742966793691188788049875363204182966822953555295163714524138779500175729536273388674203512864714996620119583364241096585887603569366635711033426132675068080560014138510983969415970406188100979026586458456059730444967212171160901908382474006535441475246430772302908225411340656561659810143692190797796473492283681476869844545806555795778864676903731319267730494271066573630576623648134691868693090112363673854262273093426530049483932662668454290616175519877018090646630877389898666928313434677183963344197088189071567155193002622911882489825832572225177568941088541293811183228740257605963082369154595804346997234780984871365284303064999256135488367785606761885877369012902518390929439236493438888967689913998539905389819L,
328867641972827034164761123780747299264170227210103833285881673707585424465405742606089848733194910059533265471938453200664078474913166223475884065048745796854332540073494847966987956960985093545032687343296197370536481400006636511161663060826299807246491156691407026748377315529236121405410272196815628167525519192524214529517899098066240942310630030445374303199367619245257178575606051715260366207608283471987938292457249848933843630183464422189566909141553639367776317556469627321524737023678741576935033678404839208470039926963525612514873653257703251673266181700957772393234403582895699113074292444867929502972262689429768417938092205150414975313693194464133208831427088522298901049565439246100094214446664402895668444065798324793266186549119421364516238551559515857347084593383967317959901792485011546475311873219644453158090490691710288225700580490649727441526605453207427599810809786115740282673745237712384190353421427841126629999512761151851397990784269322411756087990191715489259810051898467966947921666515364790644049007340983634383528373716859207022438757772077275774992382625329775718699121081679237879651139325759700804578720442129359214622388174334331069361769493801643121175727002401734464858828078304943984407748895636924479049869714961868403838876708809326616627088810885482175025550694809047922890074841540400734949965635586918396438773701998448468847866367043653119890477774317857802722308111940604978928079312005050112929607765654122395482428943129422759053699831061710750409810822693613409514226115229760110323852311502534982206427813951634268483850791389099728795484826760838491488496230710484190303531691224222650765136574992756750338358595387115790759979388453025352618578721313516439741972097186057246196995606524180267949481043841130186731578341570920774977235308148054560053863897124679119375834603848835225042126438290460604682672925550878487845556424768685702270240655429092426052465060020538139362876657763988879301250712003542385407776221700239940243802649944368741255194559038604677444510115053033137955631143439582805662650297838847796263953766283773174944291755083785067697262804561318261116000091034760374340506957415219303470360975847537105830091911639322394689161791032603036148858604541743808435989835128519064891294801884015457066418061312217002033021479920168265473710150611899058904102410265322879720117332777565695289033251831360547466730300440694485844841833974491272036043774730738822697306870614656361441263301246788802085946250490181996821914812755262042700479057558540783640605299283870534923977068990126475574148380283105657649481297075850066726529481664018401921951208898781073852767817799469448617002819646747684984348039662062689308910808416025995994104074514180248613436584528335672300034393525715750418472805588341129718504676675927395423362453730968421209302599036788519558644294012784289572207660262302500597887887390982790650267754571830392925069236092737130254045093596422446082104617777862162557742087254665596567884645427760848774957581071443812149476279891325838965649381595344886828535154411828228612864378552945991673128312246724011736825520316431146817329643977503094910341676214929954544216116619378228568801321799309586910794603414630039610433319263217026285671800382561414604412931383089794712673891860850488869049609951467810534107618194828323889604370705148911681206223276649371431964246627006031455025366217891780386928126529055918770191480908960446800792285658271384412010007938697869353237962080708579152649382668097238556857334865230081010130473636542337887437009877746220648611809794774752471459226636826168918936015707418678014256877280635167049326385397580018952035043405643829473407098796521642294530498609194080337147721162331060822298920553310203324903216465363978732447216436587493591212706920573433294369821171568995909785151601843488187844328495763638186357492052988063524248944308767701600814464731471188788271745624357564006950228884530067672685504171986596921779902299715885289657960137742493418626618467232032201326326845548929479216715919046705881876934196497350083359881876150763437676322758512762180564559165088865627900409630681943417785352252478319841744050609210907603626230624378907555153411980980461901033749838088030728557229072199679942386917054468839890944452207521784671658369250313729132390595137221816484470429532603540049452650976665975038432531762488749083310639804740427347246518931658188479333171226340082826374632313684485873540194544951795386856819341605914465975227657804530000014269344916790242104731349910576453882450630604976589426053888362484628144534437411875512851823041606750354259415549418616123111783748976680076554215876173212694363783514724658846406835086534918724166206651741530973693723989282043637556721861595992925779828602769537794932822478021475492518954112752567120739020125620471655591905234334174579693816601818150543906894967002537803679772122655507710857103660081138833212953321638613344238520903173249611368258604467956062402877323931544141845552214209128820688074540064744552370649625912993329272369297651376938592563003880699084876882820148109408784120659816125472560181449078292817709600735666576569582437368065668844858925589575226858599844403675254965868293247353837388074662234497128124890150828042162182346987506516259775824022726498715175458948851468482183074850068608238555964022002157994349252385910579436189619358754636447933429033941060294896343035898625182460134997303787743731432463731839471466835949715713231482389471623821964737357526279711955642383812870684416762939745228972491502461205430638032701193243282552382923247870749393179201339176690781155855925007103976666654285032629216526643068585612815890893267144009454696675855426197028744955912172217994573724234832038456061875933472555765333278348914417620714973710439448890471952406988505280795897237036402101058492650299746320473240335295251483901662755538026802538152473598163605127440681041060973421701283793911954271094573951903747708510522278089765021076219603713388968161512509030323966169124652002142645117167122913888141851749959875164880427646418008245615754969419726150486940525002045033653850981811496720272425562333698717756674165197114664903611387329541394695323746354169920384527166082422384817164657946665438482483163886240227594847296096819010410214109072958891804524381019071441831588819296543577969020836835937005661293879191855421833432770282667870819686153704310834787918570150928166690886180413485218553039295824088579452067961849545L,
514536679261597822725746780701336565372681842555404535072775918971656081616706192688892796316745012145382220808921676472952151576462713893726513263096254976925226512304192108953634796835811726053612691045890033812397929529170119020149636724690446191779535908573946726978759119626864137907731796067886443322856276862170596797393106952885184828075978523371496365977043160558422450152557176873759349022605690398254405131896826887775622394470336926753250533586030822434115779947140280394884214928617359260154970254149854551012822895582352974345177558268361619857925764123585741707144938046340375383378919589852049361298292192122291013708880545690040948091274367825530778491257525687618643377643314861065591720570551213873535683284579578216767699558628448790542744728115573794384011073645303873914120837360492032043288884761279795674640466384305694711344548456282966165866616635428758317307001102476703313495493558751276574431819797269510130341647478193926080801933611380294288769991028773438976897146958116483087559852483645992053808653905280762391014000625399610260758411313265855456799938699566719974831233389086352437162960323052035869226543566188312558091417721866731382606573799815600339477462060728650414236544006833554655120433984038225241184253300100708157417721242499480105812852261755760710212083805856184210827072833944207651058582579787852457723657665147083012535239622100945487270555694570021577203798478412125924644216605345793078269154034423219138584623567990518455614860821341012802387198176415655402549346348000988491646132323434375404772368233058710397298575650451757953303115043376524335196756278754882156150608473982051265276426897703905639409044964388698697351251588346017497506008986052579219953614387553304918983761907856085224173173213617201914948634167097649096277267879392284030780904669053419522582569586858427911453517685370696909079332261387263205235663243775887744854747940896082542223415234892169022918827156586916516546979343066103626715871820974264426101904204874663673314557949144136302391476696955691849619917590155658154911910184616263041138643175497507671507677988989474916041594637726071268568104265940660383822660432909172301173716903814697410609715222688037038166671352615006296948287043710623300314771875547402545271530250702215685815766079750841183719180705209530155830140544468321601194535082406590434499003211917862508767177586499181635156158116821169066172274407432044169296474723909143814691066928747985296087885369147778959998297506658304105068078787333730376884066153512118066895142018105964677207927392776181129000317031861049984830477030208579899195410395451399703052123444850156753413677836556022182519001918879668623580401639309210624486236088088755736803909358052967344080602747835847309026319231445084305644891582311689543904721644307296436490946871316003119430652794828593365901840316780229582614670380016700622407922177097331816909793859243108389691485269561636190246327443080586492493505334227685422237107004783054548578216918089960377210168047709831732057757627388915807275890005646658475307290607598401596090549420631414662082542841150371692428084871356698674101097928192608624271709483140208518771254732242244952606959131872784770192845809644615183156667978448962582139323056606088161953784824659393575806221758769550461352879441494701909711890747916375596009476946160000697209498908038487043338835564621334398643983066548940300487481943001659474795309907965107652699752559138319133276450767758039465745931493277418842311628632345869526250381466054463121828062966489398130704011012285630789679598223358678264943961166110640063277430981718792204970244734130897059719913892123933414150247774014681275987184367012760069757411642573839192263030476620906422035876893134076751826633821404877973820311310442393790268576120456939956610728215885436483858538836385063330133900736877387511764033462454331008646276094611295483719342445752626404761157062202721842622954676100752975179425180675917522799203087645127925707828156355304422611099919515210124746328816171560420832448985538381652142674685020294213019678725586863097904574849194457577996780634721620470424001341019965753912945353623707234837694057704816374970499310983790707378702205301790841367314531275766996270058325513349414687265884058544354390979568917114599391175619898320981339988457248061071024648023327572810465300502464676219756537196062155536627085992658530974003836743379426529480610472403355629551351094362211036673298045426870603682043414384542972375834897398054317900948724328963990227572938922455573984094603130668079870708743157069812708778143405943975583464412382746929062235908351108058960200486324021188535230935213350338748747783375026589114448655947556867987476792710353649385390836534255614005550213307268294985980326157806758563657882329582356886169754962260655649298410200773876866659660738034424029424245589334629928753051351518574165461903442132759990418262308608508610640253382436903249834137238246373332032212919090534899944874926370869209458200169611545909742210170299329031771749850532902034080372588935992951688411720304039093576634316973342597964853806949759534010876580334445982180402258101742797112646072989013191278637770069316141079172953412211940033755234936799983546939979328045499577334582045025348021874971913473628923836103200160743446655329524037838880442269151037924560151906045324690264948592471406447903325966791904977670765214924073131921735551286688389378760275070210368230596000104856763481569572972853807213768354806998855991649938804465921885538958752269965635153013788797543364547745855391592620599932448132781646493786805863678425234396032710870896743606404850542713422912886387788421189391848593381612459018301184397113268895215347248005088092211290032909123104435165004868449923484339304203035673615310648601519153229853201547764031924264507431964351341725904460270187408877265490018772168500945296592384584653365111821108344190218661723976747981897451852291104438657391368411139884349323035914345270522675070589136153950040713224679014365947000164148667559610915782201867663150930263526521168249820067416738916172662522053337218304053199582725501231487218228786462287069403982160908936614832966180310468708105744697912080119809713066178746764350803288620646014505596771488058722569193004378304296144772780535401410394237094842776953961456656576828212234999461393058749028274486069411400527559802725930122238603387442775754108285682307148574441216263977889561941444067531336484258511799808465926168L,
804942919563744570048483484937142054208924932112775972676111558362469134801102533020945161248727099631758612258160882518926775897095688672965774692811321623650928363554631352934099157272130688657794556848298514101006255004370828231264108879651232673892028308878554994802428762001619156695311962615173728031445940334696696918716370522695179751347542458981146082312750237678177104327081658400546002670341002912949272708939238220874287364666695386642493199688481954109856530831942670960942149969826499693318796747645664425509533416892495850361429850852552608905228655387827228915305124888658935056372700219514760942112342051656153274387888800108678678894749545979866284197116583066340286739263371104184973146927619739294263347221938883606770478359474495437560459579094901064805767427564060320975707595519452990045972271948847877595716923709779092324698326593246797396941180997783522907442512039028923609080739652722014738509619939924504094154765710835445925871389833407207658389704947342844289544085823095873134319842585637046041235440402431746544135244019010349233584015695865958319867674412312465681145497220380176570018201447339890871039418616286767197897782452086056348545750804519608614648922123078929945811187970089856442452158835909227888340492065048311766854259816096212984727399247819748367687903786625666323538331076668522963857762328122656842666376749132176035376143575931023218808888975967410480558236171016253848520107645851229445052659028619138142163377056357076458718215479362352962571340809323909556467559918173945351448267353359159500017315598801442663208332860873193563919623367745827365892145786997223500645023798320521420331723672255650662933836662773382841921549168192087374106007023209540100300599249159421118568885178977094046024131397359922532880253523178463288309937417812648858003621302876651425524616279393052263530450423216781956515266389993560396885765353535794044284833882853702899045369160695447287864303603099952049178163451585510074319731916235349046883441079162866554826852071954271892776886571275711745456417540562018348229346155437011625700014706348150359147276878278352756110028255055017950500108694403085170786262048429845811417677528134428830389447590950953869613235124056012557756312464050434866626080668107451702717324514356265798919075623517659405114268178710672139248254178330547107834739222232309141001607699374790963084340616723787878560821680904530595284686564919080893340713407346010302121818149472502176241434787050917019013763768360416239818842482978740804008731378790293018028498835508578423051528187081577432063693283573657326935753770045290883565432895360488819270780646539891625499264901154630075969926605002305413814620976103390120986010660005847769263542223078299615570571722514735235608494039744507348048913754375215715512212505926942047055794704432843607528665339457488147280964020202357122867962098258141916435602496548163095926005417045583678556253522191203752985315348952971960891484072902395732162352446370082468463365382849346853421824519584491073585894282412834632968272174603841053917074373516090481362545686664286099810504049859264546028806752680564660020759301230094160693304767523081963075473017997057737317498149307888176333569244095108961622989050368290637140126648569678896505968712482907076357520440985777035065649146214089288721660551089971890544982690555670476009062328393467416317286291378694901424026026121007518221258482591186232797701839423358910339063703566158263244614453974306892599594915413894667751126543518947599444138258903071609128412404702805608286707174936076352826191662980165262972351339473050636221182060763394947537938968859498614824084313727400921023700444021139359856274757442773792391070478215016028598329497442554608151334538128101156905608520060904833303879996180318477976098745608685534135445108468951634612810271127792595789614995496874023255347199023489930160410370331815105548966782894894867048686660111246279138204920153246345257496230788355085373255655517935235335553437407781211067220029545863194925417921527450578419877092193937760433241647132119488840291045446324108554109112023865320849256425188086673002580202209377649125997624250259071665279380782162899577054033454109882411283175613102480825104228805625553460575304197473254420503876685347992236858053222072760379641840984238900570007837109006704635443248814867343045781383828905408461546420534025122961155580806269285329818769790500434375117901857194937707690977947298422003827967613655989612470666336183059703156469871879395762792974825034875868097395637099631152105596081700668118084672264515803054366193782305148363408678346565925638607037415681627359560845437427762835216660131587237970736348829919846669308158365646485254084287850351334896995270409355050299622755201744464871958925901727530265418523721476206580739896198082075979420924705921165058870059722214126653285309778013048818518027450031568496181282347833126777533820037370440299817865803280626139399257332271419198688552012740577543874501313139757477219983203526237631258323844778574886261291458575245076727808560832015846866780621761909679060751077028494791610869162007788795534850484777215862345169388965656978574921999548162310612634232884504561510690262602191075368797262813737642644109950107532034896966051479364281740422825457109945205162619464664260822814527225003095329915721830701232818395115288985574793742269994282104619747042248162859453504439537729941794622483328786974407454914894817120927923156241003207173072363635657302446332610596021517729138603627938973682709747614914717280768208588639820689242933970045464296520973618465566802461160593625182879092417890130958112074864616977435119280067032843932866281550797197724370321566039279395567208867307077819861425281176283526539388326222176693194321845584735254038090322481334092707268887582741852550530285229177309200859242694097586459025834908411203116388857165884822865723476631017665063380006192351318444369381226926616819351690662299407805672325994907538642991653910081811705629415679994289740622772658938990222129550890458638127824673091468515143719979676596952883264389231092578144837325361855723367095950497702837688785816406479226801101973637058820096002871135231399979815893375054692560813967264932601865325847246045397191246989013705752287112626551783338288800847673412050788704759203678710404873996396491551357335099083999349053009504641801810204671290761343353337053378683620670116094433919173117990336735721581151967792888415953543271326691531530836319196617L,
1259120815107628807375848733929199588758805759156893364924720079679761432174137953089309002889257689571815186714116775202365526742987666562413080769528654713947283898314130537044562737107841710242561522700380352778257908031195686968793969787625810818657209244898592576714032495392528866545972142248371860147422797687351071259586400822606139539209737706441148073886773557077963097639803835410506487408437688833602730300879163876271891083654214022687683847784166799454280802511598140917741094877708696716895386439279735291944421443904534585519602920966487950627198467476919551226311456479914834170147361636897335294831765073363830556875154060329355463815157980480838669352388834222315682377877555260235216482376014827558849495926253511330569697370560565945007348817781270785222095927737775351968984073251217209706025493277350687011286586403033384601647212851666204796085423781310109399956976010203786540882402620429130796805767790788261503109464614399723548706810458181788474853388398096612633414558105469622664774177933831596365563729183177283867682113773118023103306858169469740357120173082659274992423882598736200460114178269090440368094255242091269855024644731568731197525682994025854779146062743483073641328533506130815274954699222665755218346339717904736794360619091829722010627763891279334309092076761107651599917822738550960024028044855168194851460838601921506831724608744812249484370068920690678668073964421192727413422214518725311955403445916693469839970948985314621716372416255824529743652570721295606802492660119127739130138410397665038454614057607087680259243328986287207318195834388207610789707397812882893164736118564998748360712498892060295567699673532279461609719996026395476540024999069402781233090636913307509342234284132964738812940348088467765606882792307319241552559724917221192056825420932334036654581430325920512802976884568790528714686348427200387845995186599255340113632522508313552062561740322671923114691512373445101713008952187568347686496693574279833101918646186394233056361790645312529451221569161006027774496972597717023493807828229533943899647496066354526751748734567592087729219702718066262678409002901424483383188282267860878798070709129208117065601156863992268493671996312966251847645004096622906762759447577594982912153275389639067491023417403263276667550442301087233608854859692709729742551876061082724285780777871689204954191624059134304906827563753329396397999319796733310012729807849888283681304315295580325585307263229754435263132779019875034111824237913599266234760605324050777161638813981642737387246865655824989003047008908942909120659642220199072856839818894875633578044306556201666749277697859018033155323233083669044332347394150627871554555736891718458074277134921278215352928729996252066983247094847747180364614477342295052385158162644379809097493406610538774372292831186090756913925358027598657053726017091277349207470656710732815634371577300737894718278738663544795072656870463957590771409170104465876682393067349462461909400799699434108122377923003235896310251565928286716866228656728252734237288751395448373116340939735695280033635859212153740882673289847086329889257590627766246154952615974344568889751870009131959203923761705015673967315403433250284005349279929572789290583742094262941950024900846448346108338030282627908426944191336291927400062541231293088393472378730994970423687860783221562540311567749697283241519601698787773265065456191825917272424834315124456513064783501693684456725774608897896341596834942179074879058267152443781583189150956124127075828987865296064327106898653398565076019191488359682734043117661118049684314162751091434948588852009504314988598427831308079940103619694316720507535975278920229108005584344811346799383034823313374426119121088585887111973132717939638962714676771959367637596158987847703383206076882113808924788474261099098380291581860479060049552814309392946739133816263588250282190706425181079248286007026523584671752837913114814036729207857769193445218471139669777113355968169706443726570141931226550520829427140410146528597417351416830006835880229512526218608151592406881121897410490186846006572108008876624390004375170606320494441464270438333393539500862928401956866310971354160345232579465493355067494660942482840064997835812610404566333367748716809111969145225950735262652360149012274416358074814170358860151104027666294324341026561688691732822123193411903435614033795152368194607878192204038727700540148665203265067360043052281334658434772155701618122770159474961758308175144386698097131281310442122406529360975458143159605846797811985557624569065329089650091430108371875283329682452218606155205649808075878339710413004278595770274556252225078701194461784534560602004308361153202893239041651849687624924777763143978889566781240062551141636481382528819683243911392041846656621604321359578939241327533077078814045108199342246947747565062133404687458923300866540303093619984424646519745288582728374088983120276411928922455575582349290287837973389473681931519626796738085606167047253366312538353812013873777725169751937728934394385612312038581305150300176473338649391239277327965442816042314240759306567911017070958330290735947673599527869585388097929003526847535978110448924886837814242508230746207269174846658880774593217851811737058910635578769631586769105216386142436726695436179400463853952676512936551045699336963390142490216073362347088431740760550505099747361630672099265265459273925226024339189464181714392276440718612141231128202135608091249487630283008577545539591904701059086164769605892028005274220192141586594788200836930673018507461045274229471729721748802428094757233255555148913151564282658664088750103558503034666460427803754150997899150652543729998919804151954376590900846312777483553639231480575896118647261049032853753871818113125741001333269555480393452608317468285835460337248443466893769870484658239573775370622862154239946442364122227373440263173144827131432807719471314750319962599929110866611776501679299920868561214929339810502220138606141866465609481827806848890670758775351245595017582742701329336032213988262175595570826242511194490021053047110433771086278876704464409978239876932530038353632944975289295334811192517030335231167253422416184845924001061817016554786319670043897863461514249195532857868960651587794455726734756228358505478140327652959807371599801151055332345644488564029580052689647153518133322557582012470832105045736303703222481284287435649361560148175373757211955905959120769813152318508862732756923200044027769509L,
1969351868178590849986743212448733507389039472811874336447782493860747225474155540865633033724389152596762371125910300280661212569272778898213131917281340508996690548476193872593704307312730193397819567436032385078806802559218559790694891459470918614959820594455018423526230656227699159672254284357934428025705239610357373469175658179249026093549463443868065983876341563226125998066573800553644035975680406592280028545787877906696041821645716746025179494325961902731488477897535852145455953213396918621151905769395246923412229035088309694628128778696134418188702341007596607738242396693884224003384889930902138209978281596581417967576460231246593605254506554542480358812519881201214351959640918182649020682505646752222240916977933113546947572650149508890702393972964021030736571829040075474044818717354824958940699730299221745345644140180842251132904087707688016700054492554277758161971239775288655037135909509400428989590420625294160853402926133800124448064207828347886432090122631030507999170809067532572566740475607530429630711479101789000427653819239709677741260298629346873463758853593573779148800819028184212536713336210263075894495675910340802495714932129158712493421287320089094666801425170478174193684281482619151278935849438071535944915730500065015526605424956024214133572155679002301235569487979321760994448799351405287466694039179630963526783763993446997257073387693426340328278026116187666811877018843816455108434771868347494266054471276563255672530757514527427316501817294162210015473703005556194839353306836042481918577375989898199042906705160806149445476729126816946826680336722293627721872529549080775279996840669670911313484160978707445488862638851656887245343615354346170596169462410949352413423096397976301360213217329735436991534691506508180844093976766476189473263010096758345803828193268481604424193267657313495964079092840945314262620495572313549751994685021466186012202879496118609252323381798203986704534772079253456208311117148925381266053556341369157654179010180203761750530509473319428617284773954066786763955312800655554657452824112448971120982415785621942788723753373382922137126821397637906433497342810977167298043866245790836508568640067887126923710945809283161931491689923422782872325676247826485929835447836459973511064975271992598144520761349634098544045997360107030373210726119827397070879869677793123924071741872907788834967355038817817684025042273447562537414591371113548945112996793771461932264949593372718255083200251895005428922977900440694685743325594750719616724243314961327053641548850399337708344351787982552681573162634710735900463530930689122948462242051298422322878064294321057930274059509137403490872056166154896237021967295729917924537631185015943544048075452685315127684957353517294285157743600030758485986334802442119525183134986308646689792004719254292419158057122351668145745762950307391403315877231397643566520586142450937373662876638637005908279450490512093000996199316777211641333117345401481366535337977197547700684414261561017187194519070614927117192307363148466558431552951442502044494910503420998880896449718436671470325414642744789685186493056543201076963316900112638185580139498376897580535623702674875817561450561242302080326426348165031395905138610171943928916267106399558011799337020755711090360632092547839119426846128388040335703094330346424013390796770655837518512137672182005867044053626139484582683021794407820832627694538750415215831587666023752457941414008259450862293218850469631267882792055035385227281129298252667932088191547929714275363177261540417645604477851264958998382378061173141793416135115654658282589898875050018796466310944582850722421801602160778857735471548706671992554561528182788150595086965131905605611395387717778864558984369211415136138586742880706731174001454976688184578788241384073260092008941743109840372453006668883620396003498027841826444451894157007773643995931884741411641542964457198434213452644525422997296760821766332977337829627651876144530225039481243879980251647037669420628024424829525540087284479611821837716774479965557828015861127524814247427566940655259657303218183002660793485367314824910199033223077000239546771986794437096695945199245801871662509547285902752981858745340739897069271622907404078438268294967505710553511878088130932219292680093363445793273280526657024118869898191725002828376501559244561051949511261817742012264322080134324537485518384015297053538187742032026067853180559787048433241088136399362693709074986018622467892438461355822862651917247452008249068562800327428622888779757826186405686441384751452675113948684969561407299023725351205841716112417667728839644606642988456643045183273078388608920644072365664442893471447776588547375398905367704785582055545031092308336820730299706676008263984445450473866096817270315918657067027347302953932206638212383240908632450033868228989114801583371068263427432123314150633111291154736091273596691282892470344125794528764437734587739359276155639153467141459246878243686779614689061557237527081870415332129813881577917351340239842222564082300099071068759574533982057178490217731665934451551729516896097833662035641585096174451413124798096026964115226403177180974002381281498608804464268122230116947346256608104009981002002225376017636113618260296148111599931312437074257382814776620340359769188801332740767653697437996997331148062611437247209214850515979246678294154025705530414202772787839002223880024613966821627196115355501117426066970287944147576249202041821426894949122637576697536953185747291139835833653460970534781654627300226174508444371835010712703767192756422733534336592945071597916532262859830350686808327955210895803262542847998169421956049000987473671887272509509591681938256858667658490381597708842545904686783722775273708871636437818248262992015035757226146902287287101188502732648309027571176952914583229943173970998480051313519327123061764789186048210191633605440311147895249722654065998610599194721540336389743578360619312309953371461908642676899023522721217931531283162537495678867940799529094201035794942721522045184221743847856413122260115589112490625895828012850548624196273368335756397965439518607704058715251960275701293875246355175658416557905848702720575072705583337069637172923016398000382325928786722464402628384647921589707603253318910174075304652837992404758573880687791565233285828175160838471967280524212741511401995437250059781747318593940435988695732599640075671265339472047465368097073334682675027603095917825471028299692218383490334499408168248091L,
3079873332552455089085424605739845839045138626810807107669486748240855916692419511096879724859902555440229169991220436817281201406561151791020443168379718391959012137231005357738055390912722591110722692377085009728482484089581284350808183974553052123617932182567941047758929290168567069596822801284568299761661397130300137303209988077964189396037348531601781613154655536702048865278844631109748173246573950768778826838271293377365207081745844814518307804722608810648860256201695845235875580994758697932689403828005743526129208593249871439798215369234262690614859481228436823827227745967021688253013385100617290187080286800902051013177235398020308793713346911686761280519839949942854635243499970148181155449254528899906644322134236554417607200060513509470256065687837194529469535800508544819779636498941095706177589366236198289441084543731773723071136230570980008476084653041914868633731382959104142545796840016299620090655096828631272861915862222807214843260097091020032979375466029392337192518867645021715380689663946910405749099333633057305059049938003894698672376855179193385211622273824616397601111791197560062439192124189607638288539056318331297105481134469293888085366392567292771318810532919481419925324953024025907848340685460967851784850784139717034136704258693594419914796359716333490985278621387668021280020003259126722263874174991629043640535635272005931806491431377039264337148746519589324419374557560265464282633595988018288239750296595190221674374809672901617470339370365977455510020026761707335717330134145254127735501355339520100387974022586142179728879321462276640068100339770465894860679531682433549118441494505127811061669461560429723756037247236206116172312736590989069140829338323549319415545302011899676788140684422853338229955024538560247268577684914557112690146606198248651764611883943765640278959491625590780894997774303543581974756226499633394319284546480248995477525785083482269625579985270108581935777633639947172755179349590438622554143730281614189888248865975663338323488929632534606063744702103931507620057350440880764562544658165302691120179780827482893036462855730179905741792167208269197935686614009905674561176778134523062183942925866876198296884418699489134489453447512526160420072789682671084926814280177933346065820565347572343226648922298781107995000553852643686759086051283460652411287423133859413235840917600015672295885729875956873262359098176285977953003474884478110381358607026087565040367760850052474757762253962276498298358436827457444686630476823039425519012211401515289059483895836742890583894881513988385347019938923609954290374754993650358858513218600933608237058370234531524504077223260929804135643268953363069346339444295524212773953969919416127568695910872265158036659255349864030881523839976762685431437934475707225171450074741296604223476969699925267217291130386444531914444869883474575952415434262445179963431991719599549544710123279323104232145314840025180128577373108682741712483098840024838197326185486504817134402088891606990242887951817383377570008923295499363586594826738215095331876411207911395677579978902202597109676802622636767107502886277924653524488479960503533190251954679698642675327470468415469486731005087467913937722660745351825645391099830918895209317774493775687650249889431273149003448874889101735926004887359596341655895460828567548548085900571535688797481861570945876971416606811067077508974104611346856451526762078700320430684056464426676012221527707627016903330006941807130947078347950990547247773025428727463157406418237182935197746916059652438804715637953574650250538433104764589990618258790112719003240337526931086965704431176881315171995353540081300858850312886186671101726284474772654562506923490036045913748090863801733911850823923881908069743534598272305296369504890421733850912952952130206076714300975881843753379912049928998136429318730657665129723484068476399361243092050944948399597647691109897195564860032312151727871825694606950277201378627510215762066806182456264818589144913576140693711433552634629901276301573920956089559364047412101427546320298693216795937025420199276740418131372761745993889240620262115040748936388401918595874677682749240650253967304586518184197284220562114831837589380407178720029953832290296036626484554744254457101693473736144105438869992915140224538833627265473296825567137066523383355922503213577075991060146137196736565890904898255257019334946110784919096362176405255290903285083448857809519436810917111914536979683390184690597540632042241231898718872882651529548825919473982383754716488857197954641658733031488073991366634265504933949560608986701293851914555492197124575386998682185903416264980416879585606103935014728667775603482682989693949190303322231445346632119379841376794464357621723978027890301699150149429584225040671007451830023375425920832488639144770225919059792229875286178624377212480684483391420514312517588500936022293795119418990693304123667779751030303230412788706081846173970750398556906345866254474777128400753072142775252307927501468760137748486658872315767505021004263035832654336288529918597023300564005709640681690429693807865935646307958623445115069505688853971144034003961952030764102162049968027420753934948483106995189512021101783263222464333921657396973595625555050921969245350633561608862854516477655313670182116934252541712632455658342942928561269943897038728425506963157709529241996579200779159073403304801486473357937092356769991336659714211676204474320989176287573782156180507371330174246824864053447908953402218024700521259679581227181500273038081037777455068549362443205272800696616835206083198530638883182773127773233564239827131477846549885681506078262223527468294443841115669183512912946786844944833348207950649564338066811960970635856440399507857597889498272273842153736236542205058595736918066163507571520033178679745195731935935860934983834199764800527981689221078289102391299163382974984419035759603677312839715326202090888014223055591817838670779640861073901738126070561119869305495181350498383069889827390742781373500756177181937696017046525340768772403404637772834140253971764562299466909392738966912625683662374028346977777449708063741572646539089224723063222271291667682434339860932180382693140133233638641286230619815406338946389166854727749101021930024912336324067183317562855263692299273653265746739150294753454061445480886675244563638750583277068185427708158367721487029618382802058311500387505550684845608758943682604608158476082166229093269802778445430604515510555506809104100054L,
4816105977843786958796350131460696191985711516110379548430411904148748399242983618656798139553555102349605693173220720451045720266609832294556692019146852281337619983521049277282532977772013663293422236023761599377544520817572407251413116736625198858538636557496215885300771722739180228383008420261345657520573635810627190273460203459887058738133905330996419245681074338101410944631490146856192463233219782225776336426317872616559190640099629874613785217079254603679843394100761965990773093251225426999052993820890878051499858434035694521184941718278681340048998311992481945499288585963453000071013423853447173911032677176299863221827616204651779584220502482815234299344479039322335620285500920588664143881653669756259877153554441638566628261209732962047119046842738065514148614594302976453509252893498706164611065450295345714620483358741381111728686110590166908672943501738997013575575885343426998318535292514776274519688258387059985439243533656197858563226975987354595507256968920416449961260954617172715339136114744718583654041383581296125097446929021865381146547643886381813816806258372106123910566990137677630657020817919245401658014011759401484766076616888777441667848367657433378379203801263760329347281275805808954991891775370377203938494574570089098713492408802225684584512827752493880179120680995395461197543536596353090533647114122510333047264667455654620613867470074549658706029815973638763617716770264425796314343318817060814277819998177703296100492548730345380297529477553237382722763881331348226340059658150917203116698892287015851060694643362918879408842177740280183077578507599096233623928696282888418006660805934792563127094242177205254802226416351153854449628943718812509085179982448972482547622654310729369519875455294455803322121727311858211990652853071420367557475435447489831934504179234435173073290158303415636892326373719995890408334810239759131554302039689466911868083023478821720539142010663102661955773661974526380261731123230008690137336364120974893878334056154103101513135416067821742981749648442839381125650404619914696999707897452492934302899430310668778629963889870804279296381353198036535633188360224317561658160034719181807536544398244293574025754521516700424402584568584027867938988607616341543066175222526859430780719931385579430937469583416835040642243606455998352769839964121220568858093549482904874177610575120844053998440142937072784977937468181326259669805248255264341272275171262784983844355013153412304580994133519980045257155116434193329506828552452250134524245744955377142027287588755576597778251434893270056384794191240497433712700502482657479576682422230440807562668554070095911520321798365069626422921915858315628606759754575212978519407969220942276065909882408353506950728454406947765739689884521861623083504824171428921167095283591333571738816226072837497953263242706784159780159053317208601802895300283809772593120183846567946475451928172087018674153950699352678495047508332295853326594736901703684515480056764478710019327627029416025046630407642713674671837212880876141418171346925179861630057895415735991131229177623623278711883337332030446543224698345686571929496400463542991270879274979777088514134221470311702542639679877801076494472238228343957925810417813152550794909065909758690665559296483861999707629377767300913826159419176867328787033491026161628563604276153531519297959139983450755895984773278216358925268519316086783785519504236130981313263834637574759556719327940343202359187656103762075010960899961520298633506735687782843071535699610870176088660222566354680316815912704208272782578308773888002613133141662529953717670433444117249087189007985051319559349210913076856850040195903728797092274868553178532553561889185896115836573086543468115487324691358518529641759783616396402948184335641043545533829755408482912035319928980928902782388154638216814344305832827922341611581096892557123047858493171763977830126973583921839212840241933931837541316875657541744033430445748707413190488490815906507957244041735477283852997153077223471079644065876803217094874935557726899247258376201961758230036592000091942294005225312925398853422344292567738535585426549114740404072877335608912180857804637436577018329697839627340874501851125520363327216481366536568672446717632680551062471799814785781593025952429958664735191558327261935313017731983215713856040748423624312466843738116498583018119925196932264854542408979160956740181513228156298087092009999073143702667528156806171724707939304659167690724009153443635212466196017728195767832325818549755793254504560822998252214194165600245633322766226124355687978708192821298363575109276146776847385261078011110532694629020955134863987659399776858698470464695276974096498289508510727077119527674333351882752108653130512406376862130328597114395929006957685313742306392469830935142333124606080019266801831027137042260518112724417840291139961665747441386232599974977257349673236870014267582060321912004089800028906758363928914006768741764891783449908933798933261432868923599555474754656792466302257105161249247301405535832316976697719169147315770237894905050752500986115236774724524053847321081480548817266517137493871414568980569683563578245944694730595303431736668012666381926161296464325127029020967981827891348053699412093050135542247165341339914665724766805683982959803958334914751378778461785504250012393768609430966578144232967373056696681356975347754327742655318068497100682350002189293351833819054355438155318868614722819921903314231864368246193951535456006860925163112099701576511757872027015546460195958439143720142627501488465067756269943475729694134048328098769387114996697319125558521135046825272028748990183495917417604894065389495904162473686001211863512093474319163561521165545482428133921580501351510198064394572077870600033427721270412389060004080439158791835634263617082728388583721018114189736038777662022674366523502581827625590319137754104000017342893937519984661589248290397801753349639070447205727404667373015176915705862189670752831271996747518640717790334677601904786241010497922784503470038669162266013326872973130277797717797381326328628517598562397125113793722338964540182865361817018340454576155341156051805615015119950132272504271394218877329017052667257966822550342101436180211558835684639928221641260591192920530528715537562437551352972269217327671817707066788781699112971049243139453060241786959532406031870469321755654788523477853350922667387152543318266754971416241462006168339145802228166348338793010160678946812873596383671201L,
7530310451319229106370988313919500017456451155148126670921909066989209996328601007474784544891465650336566367252985198439529354251827403557144567321170842869194089212371805516301859807583405104942132025792354125172484675394047298939223142482729090103571154922403092520575005100803566787220329291145811307497256834599285581857168891204074814198999587518337065623037062421612861699208910994155920121203619627409746477481523114857712923920728467153026879708517638272617089083812404356900849509244608304438560591287114760830129838564064597025017046079524187213163723175909834039838522794236568784509487075595599509359714231938952429908266113994277540458469443194563830567915674552394454657890294166849812056648396697856835451843204017073519901861347971461072909163183792718080909943780909693782751081177124290282349102521122745179356400804282527537109558256128531695905059786478343303025948139993016095235641433665340079766887728306777628594351369265214243255896627879116844312152376283762518903738224327507540270332106459448184555481948770983524224165996543691357902148568423200256246209399853483817749843809534560184949198781881281933522712518220755967110326377320044533733835686066706093606304213748568279554484071344877846878553022169680563920381638308704383487833457382791446047972943803224697005349280564308302558126702724272199960520507453937740227984939349856157210016697323893308302192725508048628320640852570968907895116710123606510614780711071570605982594625931986064469737223945224204712334210670688073066562477536293897885233505204481434107539470532463328978104365285407200489185432024668654207874460854866004770841080242650316981607747704507557583002444377287338528732635619650127965130538958280904237663136710943134561577126209239316907572674599591775057797201377063159340655601461160831468290018681224219326281189777672092202814907720170013197703965010526884945258200158875236207371683664428229862139162186055376714980813525372771865021864775450385430306825550396144966483744771135532081206706007353925524688773660111012461566395835403424774919481461769304088908469325391940220362003023404364416975323953186009376835470958200958331980506400225943600074331683606234865499160287608807425673428233372463848296757567042304194751060816473315633739899328007585268721197232389959636224893311642208143861433085513939420913107546342134758691146236137145810925579077268858317274999658313431050480884494810118171068215889401757965835011178576037718270197483254871796353867224264358359861148078575377617360112140250627221334500217068698120242034286085933305222161436918952632240377566699163871738617391595195011779169755020504586891873630137914553749141263751851341259904558006862473132398668801355771309325699999323874254549056222279820892721648220620631914466051851304783036364172293536664377338521750456756158853257218956418235398923761025742266397769021383552999909894165233220335378435086191436733260618280293763607792258536655681316301120697116034314154608511823604742633320433924694758272677052949229057692100610813841203252359942061489745179680913596355562322355069779883592577145173070696942779252335001440468209172623297274979020472781833067793476102016345644289321788295274045989745499734738152798799258325221314634178443125412455948572848124784545538693791890638386280562947425390873195496415740846329997697292635028103678186479333497537305722587660183374504400372751836977022895091559872474527328257471617199417591715106085684409546942081558833563813982015494174286425955539745526706200506462386908762625477934028471090813533668993906473061586801809069182472562300038716811785026526091847223252332991948988345159051308802964604404485435034571155301542860711666237223034404782440146584168983869196558532975647398312070924539039126266374116041884297246311307621118717255317328023304057346805919248647290567845192968170621343155470789430887985928226981128755972370677315244928718554730620286041482809555726081021357157048025560822862720518314366265870188003667058007405295109131376779313234125534345454651012455667569642393648131591011054372424900092695072311725715836410896047956528811596374436345117716282974283411792956244459493582129410267318121578146425654352086584644624325330823163883962066499943735395292691963027198067009459877177642557927739749534491406601305052370640745611706552288419983972250495816199478188396423798198446906209422721519469820645597512900808245240474513735474561505593741934214395744463971642861825125681131148415976680136629553298688885000267280288193125276141597081110125139849940261763591445324357783373542288650119219196325612790245242180037279347183296531082998172451192623866238314377513200597295044485215837843514787945902365858995382389596436929210202693797189353255803622865029039323309376613794361082716061465963665493392280069833072299577472276512873203814528085561145117987627624215226408768113387780949849614362311269117005667335250008608977147712133512700746259792145650535681020162229109778138601620036499489480983485034900406964650186655839017118745227184128289127655523476481854769081209970181497619895853787997925809211845370351571009720038308035128045077223167809732082778111606549465505073807317718055827686996993512461743669252063533580156656575652036241602492519049362453278438407781303588436074675743355398087155934028500940957570137878851828163125006079902848758241279195755784017300892929381995511019356362184584566385114011927811767343367542123478752136478280747742530021746872232719965399749712106981664135268721360450730736357757582184714063301245071737953193457299419037174260525833584446482192164464155312321608705075466139368169815443169689397163194481312297077069129568338558360783545008143100730732179462487661197726017871833638368933756888750088728986224874441857820493512569501535342602282011585872249173643943438400952184151239878131425039141566933950825431172213171125564400176313498663477386802883386264548917369175641857012340695657484323702647272930471987499336535593655510886539579308210027926561444880069013230661568905196920975459859556008219066235592583893395794596229022167261084080129371501853868646533421584628829145855625271691553545322530658029355492728831362241105252439979786370720314836690892198904208049780519736202455178240899996206986111715903292374084904286079355735815395982737099335900019083333784134396037489980550351101666280050934815590934954654579192767273840562616031990919037054329168770021235214780585133204530612571283580924834695514722923447304686782L,
11772898976244542889109618250053957092964659898800631434411267862210571249464021810318362048952878365741081476122652639604555295378058702111180803864421859813840351396070656960437277203980033331647125317217748604200315088626893544956084763488262741018438725871340755061727178615732964152308669175805807458801425558901673504638360388481828778631970730652299038576945589366605337790358190913366745395484892362008749792650646793312501135297867871820506542723888933090455438400307721669967662222262915491918007448618212306251700154252998618269672034191064079505064855380388483797616583938481958365997039707121072450366894799275363574120760871506657000310620962664750964747555548891077161793398351790592741423290507285891262444530754052108415908919201114607596219318929699410137169160524383233326999743045822076848004906469782003351238720610240209369295395040409038506395671321088830223432535614291982816503036794629219893918889398132004858802067699377062699171413727200604705264691021840258008922600852515234525250757630860515956975446957054458769629447427685032713579275808858412175582194997104440154594682301318891373148098155362667347106155409830932398514774661036556292941618328101376296779191037084515244262372824049561925262198184734112734556208900522300013117780819846843399440625737146573913811219827040134990197911697549463288442790530794820542610043239835779373837670180741888583129079288287734614253359983717982131585248875380431045314933195948111260100107827044404091096628632834925491582083868471095470766317363860460085959501149075710841205202236610267371661719337009497019551797726657090614904285847039158850490788408432325593234286486034306824568748207498941453894198212400542554516216357806966327042893602424814162867862217419402867372264826002217321256642294018781416661965991190132003122484542608186837055055592244532131011290935292489854304163848250659928527757917170183285381825629246841433249115110490168395726852562033597510513252057836220848526894107776915230581738083587668954798941353439764234306045718717859907353490243286569322995045761160337577119938321266767138671584612576145664289315707097006396662234083744174162436529607835995918855603416525953487525245804661657220597982674333714247020764324411473292295311348958780139500007896925741201405467081111737186283387896739829611856062146994000867550722716154687831716274540975807074551622562297080095368169365764845131138893142471549278085499527343113411267976358077145898509590137507290199527896158626393243379755723598667586981574418850683004641995585650666656804959376098108954595713111198927561768595316122072521429786444169214924371695298767095226707262984483390989242703833612845088915976853164092999967579111519290046639695528463455859914771972699225246158845451905745652041567678710855661521576519126967768149762423917833758391114817122639424961655059965794818461036096543585071231879730013030055841718650524264278228505239098466863607087634656597832950046379994309607034403093105684441227239160976408654958570388192792991030765010269811311910808782137273853618270583136265536405062572885594207006531458731203548710126180182385757999048687768806102698933959766698869406154127486016034138479561153776849209564596533833295183204810147186288309323605056562518124766716537447972022441096492667707948894507899136850484499304759967743552331056875265948409179283120705022270245691648336227824752570915073603359354909221995718769908431026332422963665513259666088924930815644570281255632780863616931283128797266825865296587397978912560644814675151342737760153361674219367048942918309703851819320976643718542875999990906331605583600043605118286508434279044567738252073728065705846282116127202483397163928231968395550567919734334403836319897016625466210150168434134753453905121688681352582044288983520575188038857952410199479862449121581951051942362371004381899729531069086500050159056162292980541478224123889614992684773102355952751593503280049362792309541508375066488880697717379325398571347747430547712798714893085062142737795506622012857311946305262437980651941597270049846830567251858087007501452194409233534259520171267907100287946963429080479315729535216792765945275024644135314839749870825863848562413800466508633153840095050902018520789133704523043485640140808598431532210894960989132668723094904000426145855683433369601441005487286001044807827382120621937751859349445168581494184092056108753632619785458858738562789836620844620388512825503076359538067405566583154351836966425368193192115644140060212835376294180722309524008279349659648810974880197339551128196530545356072535567608444125182808544144658377763771334340426814817204559804271135231591092174344309160211610156358501834679266434841588870026363207049335558848691680141299168885334316619571005451264048497721768768872914869385752813281880422271354785215304266391772990450194231677101562228109749051423818920407178134948415376870521757209096918896011736417258954113451519369497078361039608383041702135896795736875088844576588645043251653356759109852261056608320951725824192546329998619575432867037223665169557983091288403057963242857080328550226663608596994300701718714436957990641011105702770532383446989845758000727163615586722783903778717921726630268768844956286450339686494369094860388534666260669995452776289831300325994588126647946028885970095079937769499491335887999059290562607539498111967466489983369650332058254178584252680265186614729043588037408500586252891238689691063886273102332712253927266996937408332920289055425818017074785421105835654516224468633215177236598236856919822784269380203828071863384948676910016241267086997064216215617753363448695618889693205362835028575244511890951976198546229446611855799140789342588380480573518627473490974193869646587206337568667273204674426329237480685307210445452946522327299716861500453958591431167599631050522285268381465456041325173653930347658932764116529509669508628243273122132020081469526907590132413013525507686436742533186381610705759408036642382500128896592976393711391105652381741923991287025628517451917918145180472997371388318292964211019923748581370936918901893090465224003392040919424843132283792149708990563389725896955723143548772727008952407149450326070302106653687470608485409614987156288047354955286191807139925991871517345435832383263558729294062533308110372629179839281841477143060923674823187736473040748205945322768990736290966564079074807634524598994716613941834517297337642601076517881339567646230829555935419266067288918579912284806940267L,
18403806848465616531457658450457462803456043485612192574951268354952919299100659571856670685331025142602274534255940997891525391853924528102187613292030500331436373938663015359703607677319627616240649345698266615957392608348680193872977515218489937137829165573108468816640346394239645761389784925003439737010229229086264448563375154708178276511142352870381017060949120316055398791553992276142601109282271480537894665444052337689770245132382239473876951440591655920860853902837056470924978617234819641050210238400211027928156183003431533157775236483192000700778439372130122934088616731797817744915486834792438771907152785067912177246331241472492844856187194277863258279547606852123078193389365905964277406915103445775683383307866392233307289238998570830993347405623215825284096829454223861316641201917194415728053713039641762371480515363772468383569167614779338848502068534955353870069813280764602704152491217863968153864699371562964436975724131542586061696074336780441875076796035430814409811446463526492005047014395786427415780352327266651702879643486757614202623251897988514556500574838632496770864862552183357078822585510416153313925639841137365236083486132321792062841021331561860990231342481827227964345853748584587919188946413594171871715054758420529092075057153673790942686982097759704168880417605824170111258428139416487225958551318292784869989825357997562420851513972157189611012802913842701893051786975823945352432139484387019705162123933190578627377097953985454664206757691029313611320063464307986164289024597393238609892815390935789163801314133459839813738950802101059589033324765080809111765441599278783708522756084679515504133974939232003378156534934342692103171512329866594433131723130337510030313445645160705625263465777049903437798443978045615239498722801842014785394954223056734058185129491690054980876463392968493426468597323576403415325560299357579286970062668217332274311273209618222401110097736107516144904414022996597348616591215473010453428234788391145081812899397292300951574374564084304990657596713425202810464708010414207004752047065858895320305702997457104220881619768888139685854191192018001422493023949606653610330296332689870566960240830308166221557628871715953527627680436913454797656822845952820896146410711181129987372621000536636950361518375542854241515695398742871559102215205434604296820060082891712951439730246027533846257023963828623598003788744269944728563738469439640958870515653963659672216673528288294535185280900100441721870860050982928411061518867631542138114417861569387389600195605585098569415497500356585605629383308169813242779646153240845098250134055542143054123886803336647700052865792850905153261830739473981791249262609300990524327900963443503528919360480199129317990901264903321342284416758941379984109716780488621172070316141484448180499498606703400944373026371662877287013633447214311198013205116172465286377181526089662817784809245401654411384242367972539427270125060860796122241530829379231498009093421263746071509027108489553314425227931765583957922714558976649387295301542762075758580218238750945980025471578915768926199973885561793392074124034028889850190071812899045940508483499375599468549902582031067533189621765261319723540423933866022558438928995447558145966410234052044924668600501728191111095931988797045480535677569217414653643892612705989519939216512947526132073583347743861610913297321348979857759071301382081381224059608637054183088913672637906996796561118352190530005242837350084444665447493920262196867912724590302095164061106426758869278151214152961189205229809487740384824983225648643628864280649844300408608633925607066691227463680885161399468617019359505546466124795368958601309896302224215390007328951362796060385579585229418971688420565839522025414391794177281484772256927753513529619541573739062468144128865842210850871815488511573780474221982083424709747166996142096389070203834705349087439699741494668720726951860258144688417728822429873671753262027555421933679448629982762555981534934076616595164056188299469730636793883750766421443998901912191005235699893018843995442011806615515969354228427664910174488042767981042404562596107831938889708383965514591424561592830481236613638862949197388457933777697577215980195395948499503277072860922576411546462180991517161930340025503206594969446626297502495138412586576333131317621848730512422949394880992271332879670929011437316586288288934469082805428163149800087373537404073553419302525581623312245223723172299655971616968788291931364705212606401374582427858620406859148095390313001632400488323169332152580345613805570846600954859726998741688302339493491172521558703286684438729141063197167500592091343125115264255450651179467282704188498114674285939919047000059781837281729916273257598510633974124014715316548647417815448149357322967903391919965592374777507413204961078836523341645421942852199004182930667656947181159340352697788114748726485815888430701069047048713582247052309439427017428565938276024810519598805237430240003091936438998851592101258015450230939185028121133182489373839967934995980648222876121124726544832551460283279886437665636420558460656435432056441621002004202834882467104778114820284145981796350339803908288925519960430303712121636841684709073163537051850625040809511535673790003214197555982121377688541787853139891964258242534253653073361085522724733247299478549102737696610466778055582648673859480563402756796890949686917936555201541756315758490338532396067877115648815737910441906937433257270440301344202866462708597740146575267092332761796617542683514511568645489013864653146854494209764893563217925581254230560824510778579533131755707845432206531136977972266169899659868244749725294366171630299866134682061946441684523493418969304486613914946194227914768639099101942746864823976874223362424368790979885876660421006725428452384225303165655897218822291040252021969886036509471038520999307207482971437819721399790743218941340461504470118674850959792223231328834690524873470231988828915895518532122861448628790439135221565110530967895396137650564990035497614315694172831498572698581791434632180051678532694862329246352556807516884128321819433438276566722751619969890406419475927536268796414405519369828742795807714941788497911963163940912318557973250008919442234172225039986006676310288363098065245540073893595099401401119970713952423566371558343222075159914703055869431880014587117349353979361198079198698642451876765016870003149396795850772523704360203811989563842474146376253409739639788685349542758761842L,
28766409082767496858932891315685603815341109599364293666179369362654447901723518934691587238062709564317182147774167067389866537846101024134847472717706630321230730473499165589999025127425690073011449942596402934978805107019771220856410801896081783277303898038099664220434101808642186838432542092101023798640732553421159815877993478453192129004564282370942747329283346458453400587382264537637864162906531166116754516375207108870959815814865173402315674866206827390893224466800267612262511865609505206194397572164471455508852896518039742275342156170722183165700038904986221551702044070788482704198149658179821776623608725119595009897059344230274181977946617004411410823934826166214190036133928221320566129686772354576189419086971937416489201263629788755062430248718881132473215037108448307815198674673833401964982366281257032160409713251705971812551070415951688141687027187201873839515603316223225644258836443798315944378653411981896765002357090927716081440141588658927940775378745337388286222287643025447905929130496058126778131817595990429615805608129376326717025890381221048295244538772602921833629362900235742235914764829399334607214621690217604790998170833070194518013610361316152928867870438605003141077725766742791552934489156232759056232866474975068312255300935568038138571334304259250010746591700718427759187583925398176223267856812951952353558354919973049112086882944235094939317652470445253430851506965034293105171545550198038343884012276815719426845840205148407936041411193636347203709450716197127204484275628058783808788098726481953710586016881706104954098353192744010322508953469067465190282766035522388906460811893789154732749732441067023091736998276839953391454779269872958242095054352441348462340346486143568644842677245410982245461346250349069407846579270920512663303468129409099646282329009390510490643265231215718941757701973355959585245628538730479197349328380738608630950041356394101130494480256426038463279351795603595595321172356681697312647364923312520879080550210043827798000692240626973518718788925424920199468840592696536953934761805035987678316616488223327772746105853310108165696042193199237312466568977431855032843046182910827704814211873668057648343514980141840683602553008054364739942840632739778805779338647928218240688895015195809345665514375912529794122425110008247445307735832224293523072848084264981092329364378511131069361055203866228836889430986126241202371674625125496364552331646069460519244079219640295326019549759057864110164314175130861691538309155835045471120161683239959775934156662620729438452578072554974034389719376941979216178710797071470397985104291512914909793601617661317265239918197700331829359459722215567366474398708106528454294729843080604704053163021944406394490008989630326773846384411209292354429189473838090878108973732620446838748727200977454680310004509371555471596586356848658409101560506201218309062301737236478369093856798777331480058219957210177046914774168823680132443488769842593192505838431652256520356737718148071797918087093159722920485245680451790633920588360932810237574158106841069600974724952040364802734392044228022397152776715001368577217328053013044379888073396032698685255583089985834112918239015245410112219555925245489377972150265263221815888688901556301833545626890445461949613026448584694277988658411977260565342431226662088004778047374716755308496022783582485807857479393610858661225051308237084866657828250858518427510936687571876367927406685563520007291601451942519395222690013991327621154452732123914374557849208401660495583808981313692141505257722986189552744315165779392978242588227754985791358591621449338586615807185190081585246009463187337980267772440180495220335592494867822416701022149107042842411877564528061047998957401515867293649249720195735241982742360789008662919619845363958105731549998638555814078192112654517037741153498266985206797137192310772933319129664452290709152814349416607258270427660535090248507418341315215908992419046002839615317769405299648237515426325600594965939493050815126541122469474359548218370584860051234477283965190469339314935675446865486226858328510447238066964956923718436214909300099407581590499101714139886291803356388132711868054459472404234572605823520399122679615700549878538203173096023729503185765987549913063936490910942471878973845445220491456420332901081259726247234091240015875815135495297858527769743108453519419803367616366424372949598453028282572109448394708950132303759621133316115643640548838864883836097805022699692130977301116772078787083851288151245859548122728292802860574326869591288562259244318851320699750437043688856996091073072052550710504299838182164718510472013644385860900695714267916948140399473639757442059523667278006747277367637673175949816963567580426241207810914346864899071367662321258873880496222935966376194111765780086973773386812375011187709154104775690389018720734256034934078532182467623184423425859026544645748475053368184762982477500658697125138599769793642675713090495827847926603791525055845304366855481012024891581089754501718187984111065580087048652813119101012461670268626638541561262778870531837922192440206575583530252626543956471704660671420493832492961000497167716821068456701600606881631413177575824765766077430737098009906279799041557226326204177119075697010000425132392225333097141508809467106773654588620114710432801981800206229962387801480135205887222376661967810188805480378099936726867576218823286006720214120424172669286665556772889158922813709456795598057962931877231521263104637085869746819571704667719968904287584656476245893510881152235758158666364082814652192218449707464320140348355846236316250616859141583167113666943966763674154260964245133000065078814644204882852051800741076608839560279237597049463513892327397221838275746038270837556407103051955353060582750802615079381991779551175773977894174055585863417192004451998265858979227099636254246252039777347331872510975097543516403188211098995782802243478650732724881748429129663280503195158164258703818652846245466389896809610767670137602372226951239102705814394709946061849528929983674247413142125611255771418871012178420001949574346511554647115528867384689025406411582969299511429257536262360036927382631830994554214766613459465879407292356871295581215107013470092540688063548537983023326351974459843979366021445587308015149830410708341045061779913375515748526129157260200742954760942422184461669590660339154944845238472208241939629925124221878693778837665094133315091500403866654195757517011079988619079334546L,
44959078094805543760352680060325597612284359362828910593980514085208943018347960925185540455579736051482019190360380299437992933310735743302893524330134373755216703002189926543804347295880702555434605710942737513104776526348234110566236814209680549233166438624007471374588071107841760979594690853493454325084557756114906626725206054681735681215524225800175895662037589147522671254179363431378411184389575922263334276712091466184793870577042551420785934291497198954089218593281564130980787868188258883128915117142418287823571482904692080659120379000220003434188922761659290710482667576086641188329928082216225903202521249830234611352925024306508340495143524645833427805847907655245439570893275847587872422689954085545588505934355598972022221364896349117642113400527348491422954673392817148467106558000156287268609322191530699713586729606891520618845005311519872070462382985650434020792367384167464860396626761631519650079720117786165751128166401292672830552938183672047271305049496290582698904734083512689403993363827308063329263944138541238856650722540855616259889962721766150179179580325209341339035724452267529865070683324767629163929655668446588672156065589344880646343826165660069960445707137769529700375575722292938284071805251191026572795037905773642356894330100661472248450284292920733914029038322934970609364923597922566580781762107747055107719991065860911291208460176266626168303417130072111830575973248171904170747944783172411552087033882030005883417837464688979975670535230843074312954009164368212719536971155729355454362886346859101917611493771396842328082105188687029727348104688943546275531295190663102224167496939214329402982090204973431661269976544081093495082844275541736865023747048448568439928676676421174230849069741585612203289644920700589392525853958001484890845006187630878207854927765883349776430747366323996412504232827637019382202215818044619089369813499279749756244793065530721046981318427827064649128646718154145060559960785581198835723355280660138993706724961454908580681437293488781950658955926778727480554623451633349450207748576878376662354130026931757599194826136787496945125785235899324245792650896473987075184350162605262711791296340248189635444963382171354180619257453447434130975852280790377620616734386566084846288583892459531276894387282077550865268878826306565979521371096560928071746608181806348339406683742858991421392507505002793128088703627167571116872580279705536161327038961777081796209983001744218042162807338111960749415790343411656096236466608752944588503910689995404258940840577967109827870157488182515265794116604001532994219979486078117014370564058113245144910024655862207937765076050242210108670491581238478119795033281137985118431835941364215935650127849739408653086632413021289708235413681071062530089834852741004990844455776833535857942132747202960967296429485128681352410436302057228813920742646923029944865635874325027389285665766259277125823210163825132670958311557283564863872607261851323828097034867794067258283798168363639364936243713907587792637863537938516494554796997815362145267833463818242715450223822799606826257794878708057270777497036621706389455173653415391071614677106871195048647855361268515584858915164698009338205553413323310173064713316754879123670996239704143253207158321628476258868540334080234454339697587530173549022572167383044345228091142448436053585984773961531834949908967621500750139430944027005813045496816015733174328925877232490295249007365108073568403449739546587327371294302144647635612911596478977579509083395530497362666118226499081333132516209402944963414635772252862640655966493004264429468297805330007221583363750748343368860271498998304653364741175976169393964500430704196480381924422687618407989838816861930242964449792972764411454500107528066086463655811919972812086641345256809697869238323856317606076676395078437539790983823507871669938799939367148511147166656829509375344969585728197142091741228707964981539660918840321359632355762487187014639424331349568714558724637067939632316687412238467780855418889060337946540081342972916646961924615250060120832548088667267930537753053942410565410426119686104828936386241853276495067021370396851859578460518708599366759401877463803675470868454757347118930217547080097712497548493922738884039617622586758562104805238619761677273079897702829911686430738356458987792774817871409882710805221036168837082946424666797081291595450947331571446866092274475510491912415630349182714736722967585691839152953158395123707756129326546364815351611357526847085223708134972919958965208420522052872038267863249029431201406912167848594807960407877405805256456986363123565914735745872555619596232235203612309934307935074425770070428086011180053093224382461178624480299386278380441751959500439971318603635503392950482176738619576683994768548663255261194184519805076595770398385812143708632063858778278032628637519714287281537930766264632616746415821110787503299685972458603258807180947362924575111342955514638856219385764431279394383709901693276304905552015586820086792072456951111133781990365219844057028972411915549760005182592651233636771663028390285062994580255209161321625067570530724980354706016897118737539174671118722216467658733132831690143141559159156171314902528404616412879627237561297695316864550174014056205077080200812625753967579664080598094761630338096616722035492365978200964810389477712355680267483392036103732888491075399678624222638110335323509284328748134833278367243411491377777565062956430163329616983499658931088750112598535932239581181946243544830371109839747208302703854557683737490327603564689629576762497243896089085738110129659286607053734118364819371740287529451183321867107712818786244303434427163948147772615689991984362253398179483138421840395703839385306115470651638410483284257084825339936722601028242149712578978004720454543039236105057984993137015119887342086025310777209673660972571206776757557606896166332866197269761417717783392409968738865890929436967256675096152771771345849322473634152510981981514436876164751651676429023458747524091252062886015776522799819654945288017473925251921532773629951203202637496427598567945803330389128771571308674228138775471014695560359063977710379842521953950069549908143936142934767955507687857105763681278936497069323895771329209580113911513131317168219900538141956439239066912027738771503510545869524933469485476088444358880688075314881287746057125021051604165617994702240130648025685555419409341893237881322582055068818534943666552642744674971120871118904105108L,
70259155432051516092180324916138527760023941044410875095053928564581694086645639106240904528719213773119246815896992824605158179719621254219287436984324172261952528997808056189429967872337670333518007050415613601976880637412246549979470822496233455291192027934912330850754623881365036976322572874208601807173915262695285715909607245308747432185237751752168700009429642987356515529122023227408308681844424277330875966490991495036244925395316376292337058047648128242689730457894482567688492770627551561669805977596802898648902988895593001101642577338355333540849549889273969330286256804683123543441551543534056161258269058146358196089078033708783828892584481738832648818133033641849879304707501438522566815266041190301975748588560989921868886431947178332158874268326335534815498817537958555579556152399026436559720104667940275200312512568946867240263910390573437333525821588286852801226241533986138209254380617651876149058834992444660955325055082256839439120820900770351432888419631662638991988561605920554142236498833411175482546373359404569603064912410490908605586364432618277494595601940344211729583958283743553379706262355837346369696316753489067271469913120077426862950511604233724248358617166718215849361496263701351478314890693644877194571138566930675429946980948554365994530188380765583344416010179808073668728877462218232245538331546268702137413565423454780008283852609611383010466124203033345508721108832503559631908567473593252430178908846896193556370880345307587022586515784787727628697824443741274910636352524447748879489288127317020749987169449868449355134508891270985977177338786321696469906691801681139361777191454244994339373307350890587109301319964343612664557563028508325316156660664410917537600500081385995971290700319871052624792471184541293235979941509081805379829322013816760302967981420598260346067187679737794212387786742975924161282160908491301674425183723109176491459783609333174086229414993693969740915288969218835858673281399089567207691759963357437754363162345619514055098970405549851842062027594905882268147542198769124177116623299126803472718394807436833103146980248760413145177457468580857420148964272022081793899264768682440558128192622466680967151234233883754712053356731531168380128964976342661577580598450932748398857144255790002043309133772782337622432485429101192285107505646931579116852740508887038502836565012348288008138753551393890503880139411527955041179725974698434725306570303434871714614299487506563266665080347668152568405973063078947263687159099876271956927717846043280201665506330092332909013251808119431417121899289219039018880533024878490172815966532411375685197750394664112495464174798169981445475968631531413533341730342493348205063289437574001250032870598633689238068828131227423574729046465321703586285700473762862492421734939769396085885436097064248252575016833714437294770614005693817253361019547240946204307634854407159641116577442713615797199706746184213556084510272780399351599510265022107196559115494357121294284472733505497515179397936364471664909397361141644371266667044840337080532313017541391770626128327635457842550012900389097072676047010110161971240603908763319952706448233847786973103524037194406812315746295404264340237294101579153045451687920640548633364594832111035789788955494597348375114508772296594818452703698701672644020993173413150288124608275965992564661214944175674396910962062238134370149140849335225131996265069162022869247588199308960090573122296687757245930158547717080145098564698048255891384655870925757624153756703639790128795440036372842076641411438990027773314749740917201264972820822371645991836850629635632475695321439408253987496513911100603510853106871468161913855888113562882848787776305533990118584980490354272520576917843076952840117821498760639635768157454724163241667396753158698990448179952175564869876422225927264159994586573928381227097848898437585432589420459675069860458709879495085572748967689542942852696834333706766394728458476529177261635800123392848145818903104899270566562908299970721327597803897212852442019790019621582293017174528548996645526831270383249728576608321982987158817378869544547982656820426829327235668935224797390612086923733425984312260790748318167923058078184538130198659017260442243457479286295266661282704366924037802472307335673875504359011828845304775976926896872437242081201400752378988541168803809811723613927338126390120052658455854294411498631462893722457443359538240394626677629023506075888539987830566618560433483039964360577575193295547913168444946215482564959846264998456030510731847723233888016680333576291011384720108752784091911366335804279346985385282408237046928760103501911254590556034532006535594034632502871482359647899073641855612301281459387095894436153793001094744839118593979538269494818695468636133870446242292853917461632300787611767677135393854439438262120803985866151171719679277742396290155680857005477883540259983990100882457435622584309640106122630221421920331391799655371806467626841684916863727079445401288551611178461344764033867660680772552308203482078781261979937017058634831378859531738280325259251189312410902705328067821928893479997458465680548773313463065030996799913964594185364327803915869043979737958094411461537117582442317927319573604792440464090270157423243242774215354260798093870005499188480562137650152588512337200337219345420261108871000937866405117399284106906588959558530880315902519326193322744314117785615546811802585489453028636349205788232960150244708262887387422302468689899917154903578904672446993688586305065671524690487751163099154921173724641396747299106387537452130898246152104645788625333710932179948476182408996155164425392966798416921458412563099829335464562340067892084652984951978935076210136504458514005688703724527733422526120957326581906507824004022219780252136490309355681166733284902445474472173739234108639117931194423445274899097228264931228251351269114768414885196315984695549006966696723729819612152720827047521865603449409497199561452524592588127396238856973537653121948644424949554368116918319898047168532331593005300409592278801432091121932898284024037561124482253009116926653773824378417593582263189232734519745544659044850781954345667889764139270804207731077802511301199894910092576626695781712951455371940028292568227776369292796149421187359534028549012361984213756643903105011309539708138989822285057827104857613428249394818165730142380750275135208827000158353329245332683468218645368575734693574253252054263511786260714679326991765944669641167687989L,
109784810954938300429175689394781903715656288670358029861021967305284388032539114640855116196963664423614425486371765272301606643911886547863517096154996798390550357949357760170904731438123065764095640005910115750024286225326862216457231794942072000494683115223270704153785248498039086917365298206249207691556517564760770368465372189620550073029658056882332877724380627000383694760794825708149516785306527869582308828638249562793969508797795614055676820576985104732473934195268875063268872204000016872140763276927675028627871979954848871275120040147186011395447213383627126320868211227879496492544007475184955821668597703033211513024899733092795029787037874370133391225636360969475778058220287394987823046563268459782291535651725760016034600301345641471012151103653720728171854534170765565938164552379770638687180168518593527766793548397710443856191880486105618726106553084094574669811696303522367708406484595545411493643646088208132824017063922574815050701594299472781671722507248797678643186656678749195770310164005741374310164835926376112473712778684863063115580060211747955527220440917401383044473893434639872678082820975786157317972250798766011908924260448576297374540038218936751479702113922557772077660347597487645207120801117784794062238652137756535934026065431224390258015608438150248544420490826787882615343941359501129661042827576008339378219471049550610436359047750341078190438473366271463640829096284499894834635454137579809409057147053049350069152208865855677888040420405306431468100209626775641888836481672137916726759576313086676450202048641236405970099979613667620632530171718889838125792781582030167256738866351327415939456727139089259009636041070618166893820543558975161582733416950810141548929910679354858347410065352643400439358520868727856751029060291663150992217775414847976152180240576600897565097607434149527997269343533186525364501674585393013170858755774454042768649278786781084408495259097165354056932709096841597428443664572047473386243131213023543974850150971187122687856310760914453109276415090957293881029906318634701848276834410687599739839123219672734356141394443627832771371623269078392875785150052203283000781967314917052141525690889188886121763775780039096130296971349433013946470683409533427981341503902969554151494724728842344028516505383259820457513637465223827782670009930899234483519585901362910724793782353786351517619068524368866468440918732982656932638428577386490760018033817534028720012639903846679903743254736250297447522571255171854006614493910581028141715223449355780064406239688184280008809248525701599625310932223467325531328506407678890520910359857494169775182212888447679686673373399456118773042776926037128695598127600780599231429371733703294963086607294423191856330042342664076643930108517491484605135195860078018046003566302175858051487281300219882766415626993030756110390833540908002300828829626130517093349090632668289178262492010004765116514062163178548301535791277651928326948043734663038379852511952440523703282736688973454816669415488018447406300557589228061038520541501822056365330323376466428747437233669494398387600642247246913597959998088981513193913751801366309590547266956959970634836451232809898004692559764073885602468515321515512973101479559806508373911827084917240596452253518478096944152722619137693639145145552060588806728283558700521971115640068029327806180815694547014952394461868684027713826326053831563358248162761859929590304437815517431289333219345973935445418308077267312280758078314709757229787063313166578969857508934471164338812738723607161228594802377071520284286961914002167432518653028442251430100372728039238333522854112575072184989914103873276756547929602968719893699808827538184130863777477636433232975815685539674318836600497834689081924407824092021818969267383297645727034929031435591462011175250077499261537854520678880807808235639471766424277371708774723217011661205200954519917856836949865360842936552061096599382441570560866051562610232328491280089759666138135046827948132424765128749101386749004572837464408536998357181795644857434348944905212666000353165738292667890178746144903853074764927731340873761463967875963219780553491763124083354470817934855929336353230983055545448719073816715506883309403498350602065640476427367858997414704244188194698287970327635642841463407687596014741628534915611450132019685725853250597259737625319099498725533008616978942569807978403082262130074185254401205564176532279422280373317194549059453501904445502797780291778249797675131165532024986746097709179388614784753342763149195332022451879622195170757908063492812096083709765221919895207263291735427149507840219549042121851634302762476096326063733516355479348163302956703443316483741517270892658792557517668908839077388961041796608479602211793317556733097454174788573876654735602721245532476883436212175761565185089562231443483454021391383264338536292025224502172771581632541680936500287221453300044411271576775803441261637916062629606437408207247215139199628652119564813568032212739579051829630530924578866400560921722879664787641006871145869362453378180729135449737891288039436997184699509572586473971332739589703928927282184749287607836444156746581928023025478841346116582195054443465915702022844461001049637397195226863603176073446356933575238390862889853893540484028842463210502296102932586079349421651459267027008256151359754905018235733894371097436522947372819570889346595082064957594679867239105160103772399905155349521087316703538999658017475827832141103085856009188177800905308272537228633254184703471527972214405048742883341232093799790186691820591388690413937025528734162523223549928453931741588634943975845855700219475036614259689912067251159553468559459335190466675714006262731752107090370047098156206422272147837173616915876739515633934549462471533167665402191217549334052215308575804491271150593176063492770389549287936954268948595155717746649642544940792501726128814283195419770750895845811573423593546295620594011585738900185547689232125361721105509168504179757510819172048839588096034499590621354626199437777592753377311215567499069028394997209687223282793397118869444818238825046008542159340902608420114550453381699457139545412054516326944595816035375525478779530149883250807799694921027201681447815028764256312988919488123443408240939546886920510599917826014894455839974444470997603220332958547323972731675492717567873242268330676452477474132904174270441368571145693696285522577870307188589964517884946265902703058090991917995477900439833742004062014517604L,
171528156744995359670845909884383804876397862227072198169569532523599953259478070554207544584872907273014075399360105074588844227556291928594399881416040848833085626292762787127246101373494478361164230901442200820050414353219569578367825683661405487735078152704663616180577373843388948178940603826142545372746974635768247042948547569615852579980405496387676398028671721101716609510163735446936222834938446211809104534462386100617642552472151981136634181158430040745027643916287038952861022720304278587348844424967724947933199667560461647109214419084433844882406212871585337136343451690868046959180184981543600741526373645475606288086682403296057159932839794778060973484927889537999533950357152626918168595907983276760148959459760272580844227943303473338968397468243417123662518972502075233463663848451069648365700948513774280498010918399393517562416097021799473604342370572936415448203742226591765227723080131342420489514828200182496575634733691519774009340005635668349863299237440357874998722329928939502933334252319604903226317268665950076123150165285530711798250832767414596581363504662620872130612598300120120080984562235464408294715391841017551118522334091823777508175816657229204826353945018754930364433962372819309203277386716144384886492100606875824302901391343356807013905083887288952159072289724162394320367028762608504396798240380836863021147682692870551438405156868535349498159853749940886349279206710214085567226318972285149317350097206704583250295523652714335574974661163314258706224861211164146796249331808625038956682896867276107808413096134739564161179506770136683591669322214106242692523139041934224984901561870828717646480631081616733704596390160209071440332585905340242937900953197807793000938900390001772131076656465898532547139175294178795863274661203153539230081105988343688482433247629904491838391576301049854743065058171667960771568638703542655896482830153989274392498590079231586379099607882753700363297909766479240615852645284873132537280997603574068093534893887244325948008113037559783613924520132592260030411096126771781137150218552303067715737883127366581163657497022077859524150078120339921337949505604598984672719888322191972649222945497428504648763490167525358840088650268596095039724362333293233404434868026648630853260126153497152962506889939955650114862600058596329718331351831957986623387182940575194376550127581143973188028048408989341186326350197202218993161695349303598579951610484886734835867905621696541391982319833609462687607609482367775681405683123635379688376559013835922736094691794012785811029443293407009898589243365234266137533597017664287061375397380812342213482087938790357204330346117821309462355455845617171433242182974731770228292279563243390392076493964953036924629441617731915091293056602684354927315212513869551741399147973097714654168610852332883661774167037767456991608488616857622596472600173606517455222268174499174913314713915047750663943220958841458905962045461329851512551959874686570879515796340344842418109395304417417782420715553937557601957434289055103085529236917642610673510197374642315692677348964184790433352726217015842558926754142881653679533759945089483846198410702738790334536801604567168616511971976456643142554515245815162125680276133666723454958148515270962424706233689353147970508358192911394529989533761799867739832794001356238432951422921531523604589342746352389235066601275996060170910095326298246718108935251479450681768469079865378405353252061172968992611860117090974137539179886981614568450591582648420302402275169139668790410666986262452556670331226909659919021036547670622581346228705022749277796377457369002320059258919057366703836755023185203477461230362700150582788791617057262240911167090686868895950072967299975621245175386181709387883548240820627659044265922419859458914433537566334978465767958396829924626093446473641770274813312227792549229896442430317275552888815638852474420580210167762069543899337729479765133428347465761618360516962060631023928853232303062756253533271698832165550072937219384895804360313537602345687048702332190627857949176015985980141352853803882257575539866192544771988075106648826450248296000412228672188792442098945149286496114437360758875436332260222251574496296732146879752055943648881954535644745538852551676397854808695539693831184217135873325890619795370537044137256226241518700949861141240631730591869767008524415267787622425723272447638360539902595225587939792009627700517486568525951613088446972876082487669470061906128708554667354745272644287612422322863512695501237419934164034232684325671305576350944779652262255563635681405121180596929347844927568328486751293988711928302152699870573402794492227349605498913018901005004473108530113668945687455866700899479658220016467455568122302852702088858237508914277587430021318452087006373712843028424639235999726044779100868983390659109612522331465534481494484715221659763993999820153479535169567322814359977112441111020788480354827513406123628961945884157881083666177031454763657565164117764286670523858538591751031889297668813484798503176065048048999298946579382808793623505296586499039933608950103939882318790516955482000809095753667134059125252803484980207221692691666972744515897312987339056334272112279807789099218409915665558661652688450622710782255958875589970373325052151100899647097836661544834589612426614511179602232221703575557964723407738417200110392240822963891233594970410147329574907917089266005356851264462109047349852764584162667085070036630453401116626939570449743682997542954913919850828035018765684235143828178161395470172298337257820341878417348882565694133259330710357572755219475841263113870547148860822115344120793768691507213934048604983452700470700557175674897564347663886203047209974135237867123473923591752864616504850105186231336108460542036705716339168287838312346668572884759063313651356390212283921786302528078211278112328578454864818070800302983421798195003016354891653531676490199790991161482424697108107888074635070717912368090709388583310415065588828337070484608031753535367084947898825053831324562505721793191754798773881078753832459375059042867869776486862844751065649960568064385728360187982234927808748912357346178473620673556162849484805548539861552303981876539123495036082329760427588531453015786877906793247740202229399706564167728481154588391007842346951676674946984206569172715037712822976289558754961105779558079398753635171426460629026951424795865700241830068120209112936166362077985325606629814168794820754967206356110136582756957416435L,
267967691529367380089261774016255840126918047125249133433298019682596047326966784892137893224130764927756467831418969053868494892484681478077316929086199482317080575641768121432418125824924426608318477435559586104544935162297795962815966065098246291239746968284169179890172598618981681329248366126594842787190899546814055006308175202957395951664549596011778296637073937484323045015294948649969221018858672042492399335927537198119455306694691579919288293693932178690405460526887269825132481545515716768101370790584781245552335903932539965089975405118821598689257429698771973163431966289698636908897628863226180584381533791245039881407804908841400173658379686211683232845901625477602151058770661273615917852173354331506775291826648659186100738859603960882783196581398598690208380506676354087689524462454240884858402198491225440698292534905415268889337974022744906117337517797348996397842450112117849908224908367726758244489044223708389331921251905532064452426324106284264156817103564120933032191955345160781197634989722546811464536448967292671680593229411119883088659263037936448001404466019343132849227410284272777562359391542559284681209788694321657434325391210290090095249865435894145437561350694143544179349296765126230791634690573072392700829633842003081154676791267063854594816193176065591837616022765879573047706550608733559183801421050759938470180851395998585292290226302490172193163640083661939019574359325569009758389109913234152843063611067233190604709912872557601115150652183783187678800548233590520435180100223288421760538650423267648814597190915399884858248786839511680191608659936407472763267321593561015805548672510016278405977589764834895882642731381076417124415160943112184019643783212694650689854608125433434353979622684480866433579767285687986512192313170157029861758619972457275124782692930462833528081565996839236731823687285436837560239008192796637427656735904735408353513283518705438212043745619039281380579950979547076914475942174542563829282577879927159090792410480866001172802806149984683772163154339091894150557166025534184546821094094097887665686987406529199524412672323749083904019983084361868454370370041513286350068018505372560779358889628146417921039428494475293795941369629003861932831534370281278672560189626277530038149197974956879393515484882009579581255381345760644764724223141013550009922251708539142233253171975599867361735699849723262695950498174336906430778701309545451815025751231588794907504622118146838378372224814763238958168105613165332129033382104871943936933368625119559692191599199268690509970978601155793722519913112528191008803390448856639632799359547603684809219139303514840405817816842518616549227266418919764053096844749856137435774400596318108581257550887263102928898861771824343732634905070064360014504480014293995038112541442426301655896757403541069849302378344642873544693059515804554131469220636774099478059398873823861312658602972386504743568205140460401509810916351264327408044839353145438386790534567390079128329363548762993689574681999747899144793338801000442686683246305690414395765122887359174889712736413005931305206540707918326057360455396012598199540987792290580939167532984677712353417577319591613358643689584923642237055472151120928851787079102228440016340911020947563629252858915481066431967165513169061692525972601177495610622314055767177773119101244986896785572043903900959482215011552869852161444132906576546560515331162483410220573246889747748789942596620089225851213345888615954708388902444623324538697519668240862998064296326031903799722977682829500418551035901658275119472688539468554293411705807876366601684695822629575373860346148080974264598397181321413519655102967407946608822392760166436912846126713817561954097218149550736213574369866576001747530097466598095277356787430695444162504076969975278043935987196220752335208535639480065868627708932168116619878234353726889320380441547002668649661093749368068641905591369033865311080933924567847950282607596132410142552838147216415501707015654963266281009314762446583450442082658310839118556964803116569492329668493672596217959229061770209003953952171218116471726069930529638523432334685923994931802855898346121921937317221329229803519679501282992860410072146759618081755616567497243369399632217975380732642943997594651481777465848985779512558968025083071656574932461439943101498879160798181766582959915238283716427932032663858804976799299486236548364983692024979907721937360208218618507295693985723858799582315296677110349903355713876697254752393057265771072416736210691966910202481158293023201199540162109556941992588791117487131253101234223948269925189840859512453090987602320323148481076669894263954754895564795355450370755857332388895248111080465585048495082073026698252070891769876001075142016155932136070278771308141386455663925069519322690017354323876078159993457642839225905963197272063492651726285337297020253671665479023558767102367532682527039074740401255592964227936354458099357830595612812631573562944375610607202522846510137672141899363232731043878208337750709781965632241383028220136704080571034821938760263224830348420664191351274871303208309255612564029879311674488731094303611893286934913266249837379568054223693397409002684293965367392867004398514699043032738207694062137464292946836760407152381575381586106297179172854098607303256429718513983959988926537517350258773214653475205583808145819261004312781448226022998884319002306190047544433879565869839192357346657619065967945278964199788320769267698037967410573751679503399939039820092096038013313574078222811037493021147582088152429210721284026200629206853917843502002672061742297716844311631313295187337741948910941064302670236517305536022453103234353969812764762178132628745757654208729380386922422498449297085145233371240186071792385951368455979129522415406058274240503245519985410652775953972786203597892034770156966394106828932471356006406499099966626473754170108631550137351907877935122175389387440911906397131426546145083881194240719557593303794393632192366679505551818307009031479096984123153890971029999867118186587112968209072209593869484702772595361009708612620561203351163972544790489473115710269662553295681874592371459608676364077832396732012398782528100967884219207049021299670904287017643262111883201790845752425646774385360653447789016273918433603429089419442044110611000012765605888153930016298184091379823529408654320690085260207886540010577428415474922788097754703680677666128858191877878359474903281618537536343770177753692587364992295783653L,
418584675095380505040560330019502316896274832409569624785075164506001464811656198481294109632547096463979014945376212030345240334376658320675588251123148165174753986349571108355309687588355551804714837372068164506013311319553426937698953046396009002005832347565469600655503663756684307109066132889031615484708491199764256326098718099197417523737859732706123092141764876380277286436715035171973652804471615043012031475888551280240130718301988714231035250962026632666222754404906572371524933403946461135462524943801995813978108134820083444775969075291521039715434480132401596234452260280189470032724897422236920283861357005474954073502967987065029823362603193703260493591755838296496363527086161623977275675276972120419220356731996746570502922731303316776685061305206604557819127739505809104127607335852907656823130080192735210004276172018845868107219949329672189501014525395962027030091347189044680813372137609546304565692883548413035825687458219424235531292563543497923468496935745081185146868701132699364270414859748180165740165103027501411465831773650753904386795134145784851466395160027626932390054541653457595292153937498344574691299740306121447499735252213232399864466062397464240421868296909637658128874559525020616201309216126472719356241587565974291264428264890907151415143912935967544930288940995343148855903653634232591236120985179691427008047941630860602153199909584489218863080201420763994484650028949906500059336147959231106489358347898079813728341103479462610826739148078169985333945383409390126919366464325119514635336384246771232704124668322539059884264620110266130636942451634125781672357786894802586941835858822388469818303673214395616624517752234622830544385992409151704142911541185805501183059809603453906011909480603484442964984900858928311502883790330454091125791268362635492735990523016737870907792786571380960935340269119759821032773505032000939898636338004251177735152332426158944496250281620565569594412180894266039602291690132023713769863939821153205010481753283238587688920449767072786231114396899671168078081207571177434107598774162954289493310201427633265837827073817192695489257501263698686280497459378416327836117629341891220742198956311820871883387548738568889886149603496012968925723773517730725929481165287847560571998270784019705523272127923572496017152630266829271827632699773828647721841711933406012850835858795684362258622392883552259356643227646832838273736161666993599519830225309710473914465437113186139121366340262594746348398456228292999360734508368201992579200117512893983012470312822492368086637040440591227846194494079405252245379763968266038620870971834905287147739458297459918032404779601417042192597704348862192265262985633594749982989236800589067527618942186507999169244831406169468914243467733565681807242788890087324281419532650857182633431999168180742704154498097325068662737665951095803233131268853157568615142812481434726718286623378587724965591512562002956837559576757542118062069513902604547613619278735468775432098262735672232711688248106146839219301657400856530844826617000224178864749326170577419433888987523449723716788503977296783064096464981536841621489142910302189458933927787260968844321781809996878127834620028502904076594365220317942065807947906219029020840188717722895745173315773379903576083331711006936658339197648914602248676626786876920493186424459541650850087534083806741521917305333973813911078841362741626021705652418598851845133128790471022933528696022361214012784069925550972682046643039804459894051898703467279959113660559841011645074262531458024947075953885163709547983477925985136972054272959585603631774876291170118751245609499902794760459087419881655593827405215424859178026463215829290571026164809506555442471589692269698848210102462611192547955114576209063387418309151746661741629800873352140927842047429967085232329032401773344502056145882135784720482873647615253230703855849980135619708678368226808616443233013938895911702636729814653813934293188039781437905289770244405929610699395510550740815133265966927864521016921099545355127628490909820800206722573102192344578783053742730953735924206991487062597978473731989091983648732175037306202976037507420812443774549515051525923019591372278557477505895840176394262711443291491753218707468822497116580396163661059200782012122526228843882571296756799171097520104668854780216739363902000084275664028641266784185713047440377415784594766563174250695250020760618913294870605750229780178228683433669021253731187598665112359682979994858002930954231199455870327499939067888641662842075206978013886842532434224753900261213427652884212210401137010348174364263729470060691457180183537579900388833311530564085083887805764871245211354591785604206141879431694413749060502063645964166315715858531035873249229162239998151018656816202146903499465255793098607203414121018741019175015484552775394101390604680351372220495340697462691423984979925552806870300584444673877372534951007514779647314510556254944825695652950681236495388501446848605299877351282086624145478694396716773968641614452992901025839285091289015504678096783778590362256188652720786829457796070261745475118331514472921617008139310171165786256674405569855081145416409555332934557988102407724756696944900033439535523271253042169626663654067365784110955864437393465496728158003271085267397917017649666985631382402775863727211287997163414783484651675441602878351614306133024347912775122182625338030216861419075905981636200374865007312903227538311081875740408720186660758378876573009491820290092296746701261230679062840726087228152390680596616832935957897070708982825416345592308772916257842103107492946417475702663164260538886260428178222520983817894668993970380870226742843111688804243582149437372509242507796261071967223454694481163062800954872139475271269481935426491790847392804528611195369453539904350431727047009400123340964601944852459554330281246551851761314546984916147209884384768914097447246721769349432592292836762591521482756441808045360555070450510894565279117660939585419066160736422687591304680182473601468829103050315404186999856002944494179090150578669877854799500428564291593637979303015255797906224167631293817552848569942285913510816646577677488116456947827545349636409599756256207466349680113525161368566408932456713772129557891917653886406335042937893084203974655589507821926266208261194924352205407249640965750832067976389347422067626736127341958242773117296022475710849317399207308184268946871525775518033742511297208022437964860176844873095796760276184064013L,
653789756198406849064496891983232174884650033734812731188585982299474792960920684481592120395231701578605864484229863522463408462778056471653035660388973614906561173000467696072892283108660800520129878369706472571717280743350766604542613707524978522942528985740611470439187343004888290859821529985505021177200961426831703055986283993002306426183962593833673975103931185396330717495135487552761899428277263232428640316675590528919054966346447148290238469112680895889467284744175718373419995263101417400394486844760538301620004865569582802838236234436603380913725828122148003776286354536048817059196350894773158522522073774348817830498182147348277551470330359848745823290125116247376674193673511587598184776263471446740057486082685204084542977295038199901363686014477439213239018691891131053264432532361899951174438167296111599597595794090641965331328790163317244691037524411968612128430247288313232125087482826409132033803020953047201294897429642633890724148270182754617796193810295624117559015185004916013192436980885561026495369080392164968341697114557791842407566469035803876805768515157749626222744484180430430663000987281809212126820459255194015935437939300556205859441230095343486435313364537906800639418767238637556505226877642660255337956517899901555152571196547180386951994938538629629171591292275579215671522242540447856331228262526922487949948056748485794099962756272613513276773923567108154113045567583795236971110448983788027271391378072757831121966309677247324333575087974220926013469222826621735111266611394182601953763764820229692027982989794428181898006999906783118284717230387473715981535287587146327043767371449176442673695095894200688306279904658577491763128675538687926345176717806596662518490067540775230963815980545167662372040106477533062051402697862588978582227782395719999720335245889593533660675364632367805557342032549754495937467421383104023208749191242454317048318760984879026104941935009668918101649897460462656762098267463144579743325318754492319380077197740232481392166926586146750133940208524754527792721000466948350114963206129589062167936470253651269221435640601680126680787136817092000622302044967124481648294649935852609211955225083986471954660792839180309758898727105241328658841467592371925947737734238376056438256695125291019838885373573194460952755777689980759156866901541826508609210073054786440479401432179050300651574907700529872932711617521372672912792565383932729256160281198076483458397664628737482298873840433000436799281483576989325189833687231738697824512260961834585403010931089274903153811554349381464179488432789069817766171811261161338314708172211287096075928036436319231048925241081035288939869048461786490702542022959917797391519789387216145246719781150849117037167361768956036921601088202886626811793125237562146367637864096846694238554684206877426346901305481125115118356683142749825337332571181516288979977789267235382665665334721024048196053853730044319587849240978229862947744529489474254761395249067239672558467331870606409807108859869306105975719866412297951929611637966812062763512859024739257300841275923890973242344004444172926649899058418591974199450652762183191107543828196688481665514925465827838557356306153447692893295962112852025010345729835833681206917757245836793207153145950727531939802098157999609373768204638446613436068274801019350932742716456451395228056605954111400804833757930782888721749004689219858198868761800634984625281823073162939152158630262060087663215822098229168356306292509849142904759324890116493885027137297819703265982262992704753983876996331748015025993788572374492605461939598169536049188066391445869173938958315138048407360196177714736881523874472348556473174375313552651300285405643639541077561937681930504935600476164121668098659004453116577703345155515165167954409828760302911340728952460857484187614460295344914979957138492972896299994707528037312084773553826738291002432299741938910807987552779131235463615363551359353562001794825605675290196473265371927890070188439528544954276426785602881342029838902089471701849923042372429457951964205121505054235892623090023018341058985454005871150710557136038409711763713647104559165609402748690040427803296670255781120040496496840559267727983698052459460857581458864027833694541379903169711098656053693331614840576252001374942723292604684620023019130974261727526712773467048125697246967654210473227899187829629893997428208987983953542501742989495015548707677429026837089754691918366894648849302824743077932155125723542679515285980960807796089931701770707239990440148008202643998974205102155500267707407799369031459072048169556123605257888959164278174387887735453119725598414436394953261099608621647080021718311828920800654635036105657547325308211437551320391819066623958994972305506885882577052844058424369152186069712790687509394316410106460443473777196113514747627465286956903573438065446179216493352648319674008476255379123059917275935885524703235429414207808375092467386019638079913270131259922377241586814844720186219575271282063167890171954470356271569317727603284956351408018859858257261198029369052293332901890995581847728632687777985998719679121821479062482016929458412494065479636402372317385792535014638339701051937561788367180464272894191364147846441445139164608240530985867314547807754855187045963674902777277111516598560108274793399637397348966941250040623974191307850745972668996390027420918803091318634914343243551720845535382588947510855095196116127271976102585142855536689060512839043187554379741620510860286082118152696188051241643425925648817512243236361884781901345762421517250557558321293717065270759578097472588435415906526583623740168450675884611417223658066646653297370411704820796631933504709201246764920231254278198614315335767716905203414799716781943836537943693203247577342719832247806179207984018433486978101550222975806627650622594920022290106585039060691284684911764975297512036225990568935419824714930019191050541162590506512631066234649596109895078161715927448395833647540260418137978020880149741342491663958932994342689918549284570787202145839649953234838734494750143126813758958697798681608842131565298450135897640013091630858605082544145712453233707132799145946972279416679422077844539963315142907455018880022357093875082867696371168987657806660672547366505908371922467073120672056048755354927341254462917560667119461053732433424282499255164435989568779545069096224092879180122869475279663818724027782068284196970248276034203053790918569801786269546985822004799940383066064865753L,
1021049554444382611737114548950594365286279315308592884879916055588127090582148755607418387836464735578834691136952420299892155188848382027940335931695739354062640195720241745238272194889200914428971633142537716736366460480473771903847791709836264649037045034849460504416796373115215218217251548643230175842374672503622973275564681917057996712550315536270643109423274147190134195687834485884413439401218441332853317553854998033720879550168010569875019877236688732661114472602597771232442878687239589333018614883690024978293365004553674720598153320399086206085796681720694852472161167079891333896905363392642168866217182231617149334663634823469083248501214538960450170696650352329887623776825477820631916402143601193869220683943899524369821736785993483736476495139583588574617424055818463850168807977908094964657140585440656252906145380222876932373775042883291019404584428684605520282834178024007854897230482197486281191875993937514837664421432694720016058779133301280549819168942909586420311968522057486099469164202542047701423381037014054816760706830787124937200890668565948341805698811221883737162328722086356185880191894699453079515071071847255537341100766777026303695554456985183083631720505025927679461389596131217906809132171939992872962374367315960753159094663041587500537155250729658729999010413688658207701816287823669746890456642809436255676264588729903557558292500900501356638400261213816021053381773242439382805164851854406208837789681970968055293716897594848427602123938913149424490929607297378525852125683395291564849526967010435401305631713023150100656565558028339332988955946820662195134546647242580731542691160732654323174861384762574785459369988498269199788964270689511860673086399235897574748947702511824596661090145556687139575559213124531841094627607190626730639301909916670266717216802004935024857259136556068811869966004656529040830297628730600816011246063055444778922841996709208224583208738771248143115249729540237635615116893958195767705193888151351333242485639528819678807133060737540009990836433860218309204860619644035242519083145132510874924528373998176693353062505119240623082454796994426475575836227486028630992823210010384359111920159599137473433182875882065470590153348016088909917419987728719194000784797294013251590369610007567203958116771822246721339358545664768125652007182800527333168308033423752739920888754705723063132515482714782538945996448999974953407208408861770712640451079527743469897198112034127905620756142443151361154688018569224806872913263725659364300045572718282747237181348688117752183449140868537130163358957696247730156198273579128419070622568620904946883407594368898163045962443898727597703892696315312080229370716573040080322086936174104291932907665094211419713539705579040624896236335111224292689374652705259510857032576791899190563789174052393299891707248917091973343782585463200283041057383235192460441041859294862761637346325529318307564886886677231443993948717209494177179917919143632658601093906531061745033564400709899113992608595071947763954282085290092168172649279869097428507961668268199358601156979658745950361483398456557210489730395915235455821305985535124488748006715127785125329512243592580823640366309584108196903930959405195839054159581816253039858494297833157826050496777176520477617232665179987047421738516518826224132553496519686352795219181890524724156948057366884392955880484247209735982066792284938341884228647999683814810742418386709826093119959124788467703329227949595464349604410330570943549738769316127758105011626227409069393257063560502727245951408111323108020957093681414189858202249075517584009928768275307381231455437433519917021618813727608989626602012535517939758118665158176835737661343249345867856419331903415751868301833625272847254735770846728659039911096332019378441092450758659399337477190570507489234155952274916419340400562187279181719864950637008596156103068344385087074406818346145912639754427117091780220189712198099743222222803538572388405627756715536614222866628440237643969827177007671235247924149831519447769591435349249884165168194095518255223455787580948604724877474254744566857229633689249016872102013260647097899997951874589559462076034748734429105096133915060411533132782929259586458726268867931201224467337891409953447870232912196943271787268963396665760154461524577224905945821469562979367975835634236641401492588529118515070115396651315234267881856472389119043963708943984484289448661574341942672991375026800427139233856701516609158875705187664820404289055167492751240013318579826222764524427369405248037381753638836690040250039779911653258844109382884458447186695918863112938414936286042788184402117374866066136669694837449664672966616393505281202349679088304270966380368355504338112037845618512448163600182141415431733799646510943705808596888717900580092495517752500211171881634229835126508196302808590202979276611205729403626442391481039657024159280407247781568845761918936430376337817643623001387285991012350027509983661879831946538460336435034687794471736790679704662363307309204014256745952661849463759945718140315191479023572940240769057059874224139348119838534523102719415814573863594791516765654900318176199465117375764047587412680331703556370678770053087344440350210655071666063324805826128563148807877394193854053073166903328801937686020653916981008884285139053429589492715118685609412679556672399158369732626490109313011397781942472034627420972721046388014251525879932847712527185787790412360043988401108082420048078097333656305985887667263904970410669937505242990985862292777183026207655775376547720648002573084291380563871205184552877848534432712917066396352765368057825856408694047690649881221629102738233123125805856294057601843383065065437825549853464052409885410169207290801973397801508907890223282635686121225617342996938978566478837429490483693018973255849409266939087412547829300043352222004733083586945742369647855848330470463266310151966016799276450587781738782333913435311724356584168470027501100976603885299748917304988774994519727405050206218217933480153193180213906468973284973244484362674415656267996548776472947454463901049303444255240995898101998179032754782402026857756644974886430641006850621405578096629795033830283018309844611172265410838918007672328232008088425919870207793141713625972084885767008698085587943584971584713492411087095671169945490695858541813353317383657750895216407046127302378255100954260465258776478435950505609804722935394347532604714118990799595269050763391494315471923941170240515087612463L,
1594444742549046443102419740948227263212448455364144332116485833644422727487110202209319824951370278560390410325634497108323550377497030859744462855125528216236588670306845467331506265035349441225455509511745729162254925949372369150671849258800487048000712521206213103619923724175630947582503079737616112074544347853392093383603368275786331998205242318997010982117075157591283954473757872590173895629359374698593841072410696549927350419765112906196360785417313392918495291278686687713884811199484857262741229881469312325240630929278124536082396745076507525181709778004625813966786740102596578817690605364195946136663161934986246270917577289276682477097268555319585553063791824439049678361368438842155179152706448148801566963011163048150794344509701723163671368864720638624183042928053654414512116803425518512622295863198416319319719728971233051625147897275342591842391375542710627810163493483922360535008523288135515841225510560275786872052771096820860675917676368551690535494552984151891833458329200025056366447017198771900023522580227067727750098678660131932949998853060481696365461629256133049408245085215366013999891456535811382941650239570750069531265006238606139538366525739154719369763056999787200263738613329601845527205909184476482731151220610899713667544828819580345200764256890411293462997444559762213364647198204655626298952965492147247611135406829997075048628227366609359042526822108501767672026683615133266854956641572267616334382119577272985529719471524050595875699893333925586603102655434126024142291212119313652664622779757894519760594447869543085582959488672508717892442277455927398706357472868417392079854398047450090121850232643167283132436529794838728885428952820911586447609704240621832389805751160875735634812532981034669513915300794602751973237004658207778033506611665058065890710355311233183039132296578250015258133991276074669470254955427834412396337655896422218077135067917139424653013375280741809052031473985297449911031937511418853196478461934114835789644516546982005110908320903059427936519790734780734797807580548755227977173651815354122022176144558127103560538696734425782725592625034645022871902267791006294275674940791494243079798021122894261871028752098443426790979256496834807063601386677997013131781749499366208614736921463943791034598282362864010967728478362652074697833444087534715073081180622299198703128537859196223946401917099461354650976625689081005577158827178354405215591537947983990701648829297138107848872434305985283705346914026609868622652031104436295844050756748486568972004038103515358734851140679262447662606859790588240637075501649418047907860175109103963148546924617236132215617231509526666848951415011719158426961732537857946361663392540529602400545448782748212112496133414558603014169719847079562941834894904779912047742519269791044024584632263547931476502817740381128242441066679019892492514697476527567794282161631985591969196392561584961562742776404486615553328916969590212417111827277705387098110035145977292342781011228228908137299817832817373833684302733865139561545796129604280268975575319763951906861676271752321689001414114789814667670806306245639880986645767674130648757585279764615278818945958240393557458619860794172492809128357555521814897594561226503118309072011992009332442812737195881877555524780124065059262008280278034329547612369401991707172289262197043943398453120462085655497483638355599805159666319176367953662534763127331978142480534878951505016619312282126638649459736855095665269979700417899958439182262221742621107343921290032112191597490379550968574767649776429235235070109551694646251323276744013730755646314689747415136212844247334938264130514524319764798731524502125086035933046780553726193958497268757095750413864552131968724419470825736313163570949739172159926066196545043817422980816103253379339736613290550404440301540730345615079924027423299471276889961774134898150239309018538905216082791895611169448293994502429979097581758202233066135799519946221398615344467755212963542138575465379671998065691451381751295513388184547062282604010248019359007313658662144652575413234658536566364363846343617332863528864028250625643113602472133678962653436736545461851762454394552429293410219509255396632642728948473008330303594023632001894085355374874607176369588321236074799071443971045834429596625262536480994701120442595350749453016768276309715142136587022823840183390546924956773546562217087286578400762800452727974620975197232715697125568899076699270917170015581604832179282766171581260037041397275088524668772536975063935969419900894932394766160517204590768090639643336403931452256761984863124108837462926600147520416704438719295963908401607525652394470191289343061890798806698570169850063921799569217438334142266817757419708518298813057420372620799395101921831940243844624558132925666578341769343737184284278827432123083186456065569065046222042255326404936183440868733679294884320909690881362377940399128125796151152078896294500053203480363960125003641479391956118917984797260963956941701014458619986194843555622931267448356690805920576566800583931366148843306879265299058268543919689212510623332452800250924411605122004085692509768358733527927754258266177219792351546508146240446605500630904376370702282686424843420537290547662145290164897747487320106170709587631860739008595334175142470319151838859476670211497575886948811990479775617538909905296643547914813121473937552280543744851041210081051973777388003410707392148087968545787919141703475264635323440732184982929568314240257809904041973524541454106359198162035814246173696193665040193388165321103350929634363618591496003240835860862210106987396290771289258148680458428100961056301794732002124433779257300333090780877018598513321565807641305290806738720515401800654954801850298162360598504147154984365663348212913300296613405134590803081555437219099826522293867647672099128999483611288573392039763694527504888565643107967924626165084584490083653102876239915713358441105900467007216974099829179382761573663411670218949756779786155034699901288845712500016520379281394023017306265148322705821379660650820890473497441530237580568841626596497513790355562530095189560125387289428396638827759204138199513664270109874959457537244671498203494690078717629002455773363055485344759189095669843028990732156157005873764922186439605052114450291323535953005044651667801100145364502532634126117595511563011584508152217912032408788290888148877198240348294292702953766263203107906478214457611366186734534410747981635113085087983684483200504L,
2489580035802897124697688538202840400169803902066990841507077486192203164078212842197572994467600066546860528163092373745869770631742589865785343220342578266819679223665102177298829454944186838028281437544899579622425365817419017290857190925672248893127292461800086561274494721680451237930558239886492338311371179211180519559087262459551302974150936368697117022472498418350132999231855533147621716878872174743401598599460444310340391857963547597370265493657756125591974568363859605735914483456454837328906691284393697701569229909798769792149625720394286103129110666128819084807798677942574330247664398357727045525242622204690070203736440827815109115397129421980455598285160830097955211435605063399441467067980467635086734482398621903605307521845311836451965621257350071342122499981928418624179067960364408628708144880481338181190418978937635174560275888404113799636422422357256615291712152812494413062088203445331254888085340707618744060335919732803984859865200302509213998936830177337639084233565047953041754258243395182980499578551131907065016247660535644775664984104203969157168266960054849478849249591382399819360713089227483584593017666812575514112906906287692740069761301483438630576484519850279990580802817707247407830935156645939435961411713768793733255489523073756233650433630556240225009588142991889854458650019663367481466359379901909319170623888754703265965298155527357459380837899667208076228395966066236470720042478068638746058971988992027411339741089031709051985399927994591163597320702459118303764468827951825496634961129935642048588721617519278145568834316872140892124589225167463662767445012418902387201281613374301143355234485488982699468070921025975103557157207340778362428569750237844052492633799922759714649177834825136071489780961744342912059933564350246632091746629723649987058163828407374014668757772838958422514802668250558520887935718891831758167916999472011455706097297635959666649887775637510031174972132233413497989448817172096254185312110376580479136881086824573360638954100685898597755621689334456525184199522554262297858529045438983456964501401403465095739255584038947925869827097386138984969406960022029383332397847856254722995143413029911379224689416550523873416660667643689828487989368692610376517119517907463441952820975530006906458823224257186735230949430674022263629108137899638130725901430704176787481252870993148531845330496198474626135178826823800587482281178518033464538907097593266649646024901149552747763170214669290807488464520133622372259471005688642867647072382356068690133229495106135366182346296099583618700630197546762724075218389207446727244167910797652209352917529538908469202039536763032350393038490272672950445434732113960109916017459216280091904256374094932670091608712667445605823943193782303777904923160471757175582921590970206555250709979822304646070729602620744424173473024445481193876729485675726173583786736170613676840326874105790592486867580929669902749878519554755337792516665340747516445126052615866331408216590976672666729354177599963284982555501773028492725031816014779957087755681244047901587918586523892403299759400979198017644238846741314339890858147838908871652030711870723894364101695360442875650450732056123183284457605143317892512479177556039018783161934919744248659308990708738754784693445261494202677524606330082349082408929151877398003694876378919957972787611469406513945457385311560532266987378082689019244856165926676005567195249061671644549398198830718489432981665057932163353959485636298411973096026568843061625683513103021184029780992337761371199062441404765329160859231296307793775124162457210826476160474023541840711991285439172672980778183479012755435096638102210335385859066192925263756721676495427414640617588066597822560357274796533892234912132784263613618712179014202065769114862505296286641275352269956107393718243947386603620413517105602117375777670539944908180695661939487996292516938492174375693513422230952197333949157953323687145467165814693472551694438120162224255528503247084596047890640992451835047266935748232486415229901373178423029394230158941482948036214159488808855957683231705505826926304708117122061565560274000452952212303097737521692173885165355879583216464621718870995320910859362927071594993505511821012087013975610098281367400620262247016043620892526833696099145476639951829893439346510956046321083737270063082284386154063286154220978652112944051443203367258077816220150861503653567058679422625969006608181776679269021243218619221777782981944830733463628829186519631858292820790545097725873136584733769477697954349898688224624695755303690440402329930155630011805668530794267411942117541578089150390064634211989666686537586259614300511611678800300691597409459506167233339392002778961983139264996186623855519338366429894789865159748374591546026918908255558916088348987198885868689646237481297878624819528770901608183251148480846377056180287288234880072043404935897619391189949936071059374213531508166782057242053230130215142614327224317411779006624249523431604866076836052215560010046789993218643494846489798317779300089738944025852560551957299014037596263290399907245058296341520298365527847691325891316466769894632678676201087563671304069581021425928241101081966532673136272896700086800966079765709660650624706084027397520347074036255347168343033077068671584761119984679024832654344082109450159176637097715001545642085577711416769378999481895475412018213935039064375863511186804502392329071791198110626261496516220015941488285679068056247484024755564035039860404684220614732773397004189109470004160908298704923187483683673373477009032286590326430763734886745299107344654904019180759031728577999585410741154373620763244187773045052239915027469964098120651627328344329496168696311559279675265031179071861810101113102370670318565156443111852004343656665821683389606494116691147859014983009586028970746825063097973492935954406483709114182621552405413611107663398326659088719113666349827484647406585614686338488152682463406372209878040370128279436278502954669505655133791857059190556794129709952896602991479068939024111554324779546362807108038556883350302894455053242691415501028210700842679057268770362204511799598776031587921667474591973544947368987044936138036927317864455959366286007061356735069798467086707286587072397389328580554422165859398656178986404366223147576087039210719112573788349867473471941591326040335177637299788529940277353433313344242513049743063617983467334094177270003544347422481191181422419136589815952002649794557442862606693703L,
3886840350828478829641062409642382175716076305011120626926477029488582290368121709857832254275877227735966686679993689077112267220582706210700422826031713787856263734087244178418182396988613304464257369915285301100495095000869072433066538692594309747506931814405400453221290440217367541043923589188542105241965411442589328316937036502817834957639263329278536856746649796417712817858771639961993901477158071220514875608734565430356614741756238809053680872282299038043625750255718343817243690244846678378759358077885422531055420904851189635499292633408623106321725588921892208489364348152089375828477054457330123364873721508634269450381060793526070371107218959709409253302180930520901008632355546008932064576356956591909997916362738433948775876667096774990921105046514059020593849907039660039343878379757485003274655570923680740195220822674909714672779806819580464465568582414813737752780637803696988008694917530892929823169950907543352030159680064896150268782354350520393629022167864620018249632111138663801916746312002089867977034598198485289836386217392119400965029771138135690930302443063169143487848059075376081898322780426231381548972060372862892082847467071484574515208078664330505440927091794731629073926848987322773776696019000227677000148862187327823036379068800264601076060605843659394537382814708899980961082671663738582347995505630445535740348696377599491441909661815276888195167668662047793480469663212788263323288498490623771373477201924739177534544911477326403455052644630955754116772358203981545033893232552903974217253146284392712039367144607976331372897147154954707236623152986031844829155759306470894419405230727636223138588286494026218826336445106024350984305611143565859842286841609021002561261630684554406902662107204895394516108131152941433723833751133808602329988314722607159746438620465683607372720405800236689826004521093192221424262299988744074974256170012571962466335184473822205877888902563374722347178858014057975964211292173151938224344596174062742283268390183128129722223579666682692577169321659622701119642130101763636906658172753930025774355591180254312291376271852386670628058907596961410251703303856674038185934549864438272368784161928330837345898098762332891672290290740474612507894099508606711770334668840271043449395218525844579637672679103499431736224633835135819514774755270865934124453784727607964700205254714901578865987859297946298224302447543776244437006087731349723733163797263609312144200925099071613592965747477724699449938862962503362618611471697040495979088911536754193899284951072974235671501378472075030684314076692422998434161762468984366594725333452326717721811417244911620224988056600593911853273618392171135942128745353704826442576008003418716930489125351541220539511052541083990719612112352687278509469663597937972503242348444058012425320881918120716617398166145814003825581617542307807074214920538820051088705633562255169385011637272577141048907818164951922108974165311296208051061296421682747609596216120107876464557945369626178396499804584474255507836991164688925778815650761872371222855072943158312256350762287976054235676815684350128682355286019007873565914998957528636283257001995853500530305435191000419367423467036888928406786450258864128798624262258360863783735605268334128819419593826420292702940861869137359988961593028172695514464655877992440655727345213615485755389613840344066679881996673966706691364213543399839531077674788765622784410326804190190748433914886968006285763556158493347886512537166381365831550390372362096829356047380187628751028011467049384969850946787973513781925228523494638101824361638749261700986681597822764652503891309861558692435182748162281776424801317591404099987628935980680670944875393376255204859471669816730049083771151142383995027426232866761969419868138132741715292692651040736062820948957711181134888058176265959337133165917532697689811049446130727214577353261128862918394667841321168304526795676409557148446380179487642709114259849403793863384035328339127380706060327481876061860397724854856802086337321409668633411872743096502575609319936246983460764374334495433247186285862538437960935186770349097620165711898419267623588458198930540250208351240745209810884013179355056191273568286635598364460265159245599909457563891210174974134791135304989589391712916606073956607896510693563635323635865877307658295734894836069578109055122445979704340030586899406363886020262392009288991876205877591290491267261815530891317345094593864609418421798235300696787077571321888500126822631796492052814691277975611093043858360682748190515413163560498796270861039155326096470893339398120494268993608524489217470418733442676136210799243505632165559386575275522433995490512373396220037554623374116919105290903465216679085893286650048498546402461619252159993327764217077423835146526815599087577639337115519592506071261709767651547453846867965414408584830408308353811457439372425774154263934213273092592512280116839359611422520666316928355989847854362160817955069488065572384174071980262634863791078417577781043996471206842516313951225127722483399484028804134490086134506403695853520345616971810767263565181923776439305911720109636581202868699458498066315363877535283328508714196801641526023462682589827501133636548521699895898559789646396551156519703723713340544771432495121508366618730283813321232073533366563017788208335163172817397476080269625109466329000608988769523693133516304577735370369254369525811794104466930302208478719543570998414260958825607166776116542468902506163656295645500046138919553821164247152127900515807608765702336452903781225948394215613816088855273432736645843691759358762683623980350747488888759378356301810039690523666915229458911388969416315087635399403225006502908973836726463423936459706556924256909766850463797212630312787449681277604619298086870910657204147747132785634550939909682391072498422213069492615011615708189261366633538934084295657233030709048081375234828781811433455614566493791941478303299620105938374523858073023229539407279420225043018155681117145887218646977175377595350991954069740783353467902341705321659723761959600203346844840390389975926680321398487042708866688560662682594306347239820434889388643717158754404410745130196520548718981660798982617267340237036285303065895156862283805921205624909288884594833079986397090492540185119516202959586418080039069578038159285533680197913774753482576968079422501358254173066726602461600761177440334256791295011352634845245456160815037882348943180281546363194576413263435569420608492123737L,
6067661237507041027262496803002704345182069404497648572650700146580165747748495066599042807204746374510064717403482374383190470573952879283282701970666404200962818713583995823667383317089472736514671915415814212803443360918600964726953889788348883609786936222398092538246267478416579037260850750978810284620241382684468939573821806205795883969426002952519727399547506466593621905791598760885398477143914321566353955063395057770406602742108176803167079206668467389067312860342036781407580961956499275084809001275701626310058066198298134798196018336638241836109853531041955730001652231417086349198256309663287620234850478849948015859740915910887339671739857366712816805854521794456919912995461238621038344618102040132623013147971053851552665558972947568262946666902863013272781034491327360022667089134772393500221445363004121690115190810044568725880348931152768337456361940119806065921778640588664957383724955239358832222471763477427028375233132404713570712348395840166306309210025552811639252961990307931633459089782332723038563156415673849257690549247588148752001004053931296954762532890489778952181225162086598285701994353640766293180371335086574907224901012303229497497272165908476649608131459321456306434079576173765763815457766218710269629800854275908345612971061402270192811003577745221121398006618531686755070862326035233724315312096076253535361912540853311954330365863408813226202580022807437886576965757555457567347593695399236005439334546941791302218103960173147721882057831459328338115160728645973194655665581272851658559329130815409893282784372068684924970756064979323087490971976052164974196095615104212611062100773794361108045849706366005825523419855620850300022315403794458878028621318362678910672396798776799900042550498864395706858246499371215391060219480057182271092285639724862122080308328951802657992497108390344495306446896503887591064563049143551533993231777616116137807140194257165606381751389729938186221196090860493064828400745721553496490134476720550232581173941527263821624505083640978824401002985484019334296893964380736918866307949915797000833204692636445304631327464329269757627988873319042259405415224429351556499897203566149229630155903140673234764126623099905695237800668240402551137863000413952203820437563747912223693096819120824694546806085226808212628779087667970074361427198610224215447015586273442238675658300046685003166857318784587176041142663581319785878221175485700959346809109537679881453657409310791649749928998933655721938166939178687296553120495651852020249987835295627887770610888123860866800680767258454374588306438479770680922075713828090759917828705780809294150911653577081327469015518702016204339297363333008882766113602338431717891622059437884180411700328927337497140080397563144249601364134887247250852779264542942659040535735188581269245780611923124282055826598401342652341339029524730448274773560757529312988048479923000436729513415215536969440372803855736224828909819155387933812384766025378480372106630710398030390336911069192646870889566779567043052679896734568269876004714685928863193751613602377078894910729089633880445664017645814762756947142463457458729589077859548555398054739839319503094638198835033714246581616509691102328073202808916275479437487088316434590221853917131509874865784614469464340089465772113747209769849410584270923682510537407851890846022379778563015276610575012385700387791406967861127671481749712311650529436415154873005039921074755349543623382137603065934936483941055771947315710665279960384330629403420854582242089595604585636425895443160966031491533566386261293829441597950046195298163341911753547330924460589725772290174531780461817745594687542782893503149792383899113864193534730845992891613945377510930435912466911537609126546764193938893904811964374855907126214816121358577148257923594447464120877539571742307678485523070992408644479779885552734332430200572708149428084201417284962985192700238280942434545658311692310200933251147240210467622315238598925471961816680354142624670903117505705158350336763154998258485126083652099333476289224430137218766201987068071904484885690066645607931318725516194449336931925254524646164237753370985718535361383494277793936349580944028685072066058277614433511610540631472078530721496715823286382791672475135882453180670990149839038200934832200207083986360408749008987895282421808097000226486853004367993479760756050953747930098269096057470296936934148299354673695819073947335602446706877835227256583781961866670809127786636204494669542015421393227057732961539267333529724866744642750240762354097882629338126891531207483115032315000158521634919730686525231412722634036371380389517618957963369026422958242588898409648451519857467795179376377811788782105931466531160644174189739464979286927357233113550235736033227015169657602933021822570604727413703109195542557365719407507898699225662242293608622170460546751814228900299862360476620367695344142044639333596016033949174112607692096196937154264691568449154695198240112534994545158663248834601968110513988587579266030801320896962653882303642190147476367034840553207042751653392246799696851402248404959100069754997651130785393153407736482829141089522173897380178112931743726068011811126010148858251239140416029171587103678156888728866574610279379901414580510939379127976219969292837403391207050050743259079651836856001738987803766772573580304726694405760045068240993050154239546101458375540943083727031751190239458066717523515551982578403226083994029990132651105411342869798959787502975232799794962298020903221057429712945187148983763675602217566117925236395818016045080521041582422187975277088420818491991706936085750628394576455400494311285767119482811394233475063130356812103144464093163429773532510168175034004829319292804243201375844724356827350232202932453539554153680906021979798634127603483379617369275992269655408528827745627931931952162039627884389724596491720613170301733058636803849507041382072404568538615900683573705717160790695228530869479779265637670918634630347621660451190542363685153806630765517795268260902956214866573697046947210149296069830529900239027661757549725043214967622880250202493877880305231575426756611974729679134788643643658902334804090022597472113156890650973344824562692056528772627295419069880318523647980120455234253104173354584155970644185127752853141153387637348809905393708383281225781623824483538391315451188479765212972120578463280748502049297048241842016676708329069164469242663727191229229944063127683535939790928789232523874214309315457985719156L,
9471090466626866733336782159008779106492582605922472313927830865150977564611364483651608845066803964667252967630090663379760244372146960789715369325614114569070546782539828175513033938773494395819756268351483646205938936592667047926206398424236247990972156538612009535454865894262839471104712576994519812957668745559604200036714486524327177660645096078568873798943817610950524598881716583642350056280276620792031373079034053737003471670223791758265142504688545494275806795687829474656309077355426336857341952864327059197042113579193723634479236673623133258290454606087526257407424562312892862531094195449889256694183814918096783973580732813012395982282300483992797231806129375275967072553391198862850690101691297101608253672341721670325432557062953844650438854726515605933347887277630592263519152381226928964376592183495165122368901379338246469477486587208648096202832962897330554381438161597759942956042322910474047770081191441641675533965791037565516659468745174862099173970707282919667931974532258190460623891830786847721752571049165569323236660857938303365943461789811226710068845552831837836524707221635041250418409701175805283354820547315060357272922079391188486833911856671756834171581611045553638629755729632679212550123571254594507672108474859136741953272182182629189861579929702110905058554584769541855775501214813307386177749071265898992833667232203231195336261801233076710715973016540218679883790226360934238121267523777333583002076423347892310546769367619370565551084609557210278422738061882639469251603494100882798394827215851645777385351181222027493327942869639029309488772090740542933179501634849341966851284418965621178890168838477574918382228050361810801410245568875235311006898148894239387501933903289178865445241660588993872432207447235981371386363907417155928044791348801765921495561933104501755677759829216638812346329699808086063425228060097124649291050653866369095141581356050606083845280135813696119303293407747912385368934351967432639182855905740298305926353390567771552003316711305025161194790915752989194620626566811161141293973415360416622083905790262137785015636166599161657038603107208129067218181946217979245484526896331096918724928754753119377770754785850900539876851234995517148727494250651002271184706587470775650146984149601742378411795726390568872259366741013405558423510016497404285923085549778350565424964706759385642294663972930194651347803762742255097204679344811393262459175508551060675766933523406619735103826254225540093459804355368518710231956780168718358313859950837194855451953698190641921388090774407813025682880189072261704310194714810354134084626492132556646064436917054246742617715571988642599270284785592370869711253788437136476436532590412662081745629551522649320706740978095338787181847008264164462653834137337358192162111247629449435199792488404998808594363120341583604755467183449435885200272116714011997195245676024234236857792471421787962338256818283211066707913082355172680705153380496736188388516893707469542784456131058754391338267581209437401576084076245890371445456407395765603039400699125134595586731300097092685179649621203587592730731421312689689627755603997772237646532826360992812825806217970032563020821287267922745175672869845985612226577527746730828378192618592015367467581618800329548157510086285480152902880047414284299149812334103012512267021401571930241144332965764134002429661785206807223137707123185741811263327312026459238552796944676337797873809995226641183516790576024024032331352279202535860101592493400311487339365254556247394388618805098800568890646778464133904177600124250854013591532265537438596001784562527734988317344231442548523679726682107801400389051395076449197033252919850581043000057431934548575844508885919194760940388771600073850859281503262894334748074674328323845504165755279042388843651880378490712030863884169412597187600592378375972712425755207669124130069878835234900862704350378342924420400152092469778124243206680094434065933610284857095135206358695781833021386332394776812427934576526766123704390391514149393290163702816754814147678420263462182635429314800136637536475864709963676447523892795374403713220905945862724976866198019442312107188927231600484706220166020792956517265441925663051356666599620525795654414190223184003648266668158783016060573396312160009483439329818847054032856479121587189465991469636205817759388286076617673793783720601745284061403430994936289944508014805113545946358984551930709772335878617146830834170031534931794717768719515828326470507141674068632344110158765606980679927636559093715459639500948724243432255371613259944877932905710288199140506003267963787901686872745824636326982527176604529957937725576305801940098684656847778518897704740284491943630848328215383934526565992733715824976430241325080904145592982857377920201805664770477691944107566764526302247487367658770021139904334869553299871338985153140853024374669668891995838017995083714567557716226810106992457127537936623609680515116809361645090125342907427425912018009135539249875348315915733743345480600065537987952182647573513371689325282394057547805728546015689867234610643950952031875679518605165695309521735785193264147256494550706188766438966420048312874731813260422821217115257233849620879440121052228860109322104325738145872120081453902770200823053633272694514285061779832701076583394194371983351148317805641252564103308590808554558946144271210356101119480044501571578337156998085963862236113457762442432909474511423667810650946085149352736926866627301871761974537140049579778541160370069245236240741309966481818923734606237987996000374169568884346825159057454529736699559904709041930401404554028181292011384180650553799812741449442419761486954783395434927420384765907798647213729244526173166051265083896537558365406797507751281788769261663493238232011066485933477589197565292408570034272533448996616531651061873113351587017791628556746159403021265866339194093633061620899750349041054829646878278864083907890152899305353245227920791337092867146927049547830792623221607806396253683092346918065803737369895880450849351197580162735096774778856089172103559715152730438619557962195996816525907271263436314330265758834172531762225001546061099765201112489677691818704378708087786846356564823375783784035079536142845124075790569078666571063070138245711227076355771605994989124759195047138733317764447835963045018423905910412983537992789684661326744700154134611689605201514237694551208143185304330272897800774021783864590979638847512978323882207234203007288721825188333L,
14781983158547060880283301091279587955220603338424171014682746502132975556956220720587086665049425821126155705571539458042452473627021957028583052702266742002568620236518517524065433607534291175224762987642793636746980913818680129030134360350121170172561244348348121205161077956660653036011163247913385844072557764200102977955181936506799343072183871666900884666135242897864882605471295451409514606092417580088820134083620638687710757026717301067001381913176890437342375865393721677432422035098014894097414541080517987415914152330599581331270683800078642996931136146627729822152032388889968681596203233153533186817063219991574676872965683690747999043768141051239139931201452182140194987333146991044487452292226449616185489077513757034137259505223614055827171219705568374203597353927369975122828527391344385372013737809501320857408873507937912342500730442341446564037426049714938376163226336355443941108770561745200501690086152077038083873338061596881378264767584033761049483519631875057737968235876874236022326116404050863052012602551138210127721728666452352928805651312268064238529930472018267538705591281266367317652360518227813209837135455811477111623487049703520806195586239969841391477885358250642154595492987030215599828825777523070222175010259418756197057626480156047276959842782672490514728917378956776378045670052958854553238893828653463110941161346309044307392010854717191240261863101140162084915192505516894248001151220730722660878903426036192006675376542332364976347489362957056712016769521484431335821389200574634414637463182211737398186881488214513630123318797731725657569131332910098194920660132981015153754674310160947478956813837029766184151353344018282448178984566876295138871435470470911959171515337132053722438392981581838180028589161248691704636975790251927034207783267670718730024114687577567037802917449604382240860192583374407681504805586539214911076265588719015446173762644190030796737367975165596366370597213170006838622647991504483670943699089365207402369934937224780597397704227886667648961645752627105731670944369007548289329113080012016689679998416956777249044427436713100755171065743546952885205541970341331963341657801084386269784806421684113444170325236744669226686901101894219203673553698315761594061306018869945028336603106357721661706068851149311189430522076978288948238080652049494646081504686657503809036911397357182537294215703737158559114989491912795043518339499183821299713779000526272517206221190189023665209038874034551503895309888039585786561870382298775655250928143056364217781649799552212603513355571079135079925835595818658474470341230843367805621134157980730505472685250553869946130617104828234698926071130608627953675303210389191367907080269835667367531385101639088959121398173844420850135114466943388810055173501792247500688968036984102343243931936792463485936925337331365711422198565891423453472521489771475037299282883570765506618074606578186592734082912861283829811357110187415071887464446023273646762474402574868278477943815073302440822161805524405446454536971965320449548144668212569930584624612557659760832256094424211072959491001782906686348980410654349814049805427796033691401162958870108476781663351345417924859889596405962639529941832334505177195120327432590792820075362153714137718873394824326760929709375852431214334111837477925384134528128450742530277751962521180143942553963500368420227374231921903773964821816107740035408757838841712827775519460171337330267041601768561216622826869291825079005263594533429213452432533733409932752081580967650615740054412481735094647580683849124610283810573983947861678118829901377139969444758426462094444524215492452261128948242673046870193656863607685914537647763138122671754673386021593527418668982675379477281089306453224980488118803065142267556465666768300489643048070814583672385278449147000227452642073948254510108404737148608873440834861944603021204746413820990573468398205464263332083367577662820400584615895893956435749375589555706157238262520267047025727804071543677454230240643225742613701572242476236102816479494755523070800975169746912806967230161955195451452226937341749325516901071256556302508610270839714650221682348671261649806136559609660110067419561522762565415396099781540525338164678903385100772740086622961999365648243213187335870543665755732868431682682320381377749148571187385931001876110646122339953308551470734943634275953718335934304075697921546934905702889314731296741907811293713180165799930545095382104288993922190891949433291333867336823647379593218574905225231656427060554534315266433823206845692616477415615916200653981934102452472864898657134319895898825270719087740666397314118457861291775345703902581102718550841528682809862504465418006342923417318638427433678489290798786959157604216679950660585175748931417359184524462720953358732866713662255023338862357637199667847613234974607764989959734031227646293007192277146643926338466682546710870738541809005155742070136697610911674808134141937303544319794296223695072071600626967355049464189287451026772203344589297034616448234204523751529813532993412819611439814146360876758279459763303016231382471372320229675425532259380848995520474527275857219251013034495350081279158147671121141619468899042652172826754386668705286998598028813131720036635632343969911983123878553694156228904779017662597188191783321402213652944072753579450866970348627185912060370544572061830026890687814906739738714250374954409318389498791035029303885472016431966424373876312922976102057523046820617881761190834767034007949510330849370775836706792987327494861169369201962285847072017159951702885686607068637571788988567329787056052795482187739135742799410245201782145818738449105061652708923254957451588823358454052559791809072250850951179671068520900106113835016248725764329609876289004205516906802030048986631617512735965125197055136589965362300187445820767638446836399016839970021935960529316953221947897272287597475611047879106539157942918030853352760865607238156790276901428565495002342211822329895104946340119632459345904823278761035081016437238001376795512359293022403395315185297567832269442255141221672103276728738955109869180474456726407094420670232891558233570640381725293586711224217049785617054922971053649777454304811441916405284045779222288162056347088632262802023183717145790771508059688699343926710747761036297608442027108574125881214628977922328462934070387914219560187416099999060839180776752161357270679487169084808865414603002487980203419004301345416445204382946404976482702764544926797141L,
23068507821798875425349238022423720667296973712830255606337324250586310649330256632311801025885248600116896829139870925841358878728429164795158537220167552305426609239030558502071634242198272615025857688851413418869505554158379073792019827418964055348501102847587266758114018331178432693635001726896985450357018958570361032602999296582640596124385399309032595694223081173561673052153220200727127218100417209527284279842046629559804189179775357290714428592838002278033345642145636126911645375136949549338340741019961471544016493498062704800241551810307192216973624376293035293032732016698387840001920984942939959027896271105904435192856910691315125326761105453100132113653081372676796089785157098820782185054013596239983667978612053991591226270272498603976968356027484956089755830587739169701456884471026111326963297392128275192507111668209966275390076823720518231478292899718655865220213228447575505998650707361238894128720292390922089407550188645404322775879845725220843565298213154801751479955241863230098561153219350164036348660521825928906247366787579372311988609948996863585649408198689593163165442745779477997372466316601625526685063163863552570256251203866862095417375592958243840360033388504748845971310557152620402928248885201196451824191509495054187556387732494328069735668346490636221268403109320451956281122236569751934875133260879154818566107677250565297226259550413417130016560142221621046608457718314099941022535495303647478915503414316562100807797961626989096429183003676989118282229679975532680393995509367656602756071528068959770053195933340311551936031205599226587035785206127360435434177252926134051019899702122430336184567736435807340764587476803079450047910206487558074054355480421809160388260141156496493934376669512950209184675024545142610726721199024500186670816024224834170157158844778261278786918091188476612942325057537320638017962348838332198079823041843879310627614110917133808568550694695984135312639434021819584801175118434630387107739026021246749532903167070353183370379080172025449060785890954525052556540924269052068570041610779358847213938261557679638625404560959363749858582314771681008744429405856328693856804653241707867290793587439469142108270737339934845040682123215264837189923100124566961309986769666905177641674594900551569213432285461300911483243094413622269244306967339709042902226390896113927370222762802376450327780442144673666316953908168522524227111047636835330429855371696306575830972229838344786557364850533372058032111620346004269055717011064081865578362572774991093083403966786477933597737181527091321233993761070062564151568361591997633247300330264317008152726543172059629812591218460117029322636255033374591509531447903038629945782562701800877609344126891036976757409222555478527995730435138957909411144522452527357934437459310919434029108587413343505119238132155576472974603794682307817901805168655662233517527823130058096480663015337455739523359257179075691275908254325085408528824572154006298965471999673550382697463128089784509550829645869075684428888365699940760073782360628455078563804042879354557166944589186800636144284258381149734552903912350081682065781680460768083848160150673130814652105597814461464406270998886807406488335466215267905024818822566471595344157044224724278332020681215931121954307633855267691164796118052046943509594864665075622831846840941662726427369955288679120264417762487235366258440952964755218626419301351861798216999950974717531835592038307628638729100661089043666745561266089741391944156938665299542760656291172209713320761451110613379327623023671710236233978990183414175248625530874107129223799756493177267770607427170059037602351162332833425218385033147291381232128509318654697112650379873751065336754024135613761023283185524714670787079279645544696591228187409894335914517752857640943191038624370303133399914722822457100312458627862518400397379644347395029633661725539223795840019429361338813837504573498331560367068625568297833298739575783223892128561445092180032069124235217238289374605775835075078184560121168801358830539714127380071989782256100575540297125836492482255377917008194077238319867463868989971700332591184983426006996494274394383508249260478844516063356854252580189803079837081498473384416672428378548767434886153943647309878124440209711952785993217005754342542496537949611230936705473776410401574895174950780336182710655145934629659557514884748458703260109822332351506505502404512631186779098397340346610302865449582352526463261714076669189608128127060733711480213588006520944384997016436345656101280513957922903641153152043539437685621081403755975808649288522602466617094618853458097905431562077850110741596567576404348790652882513209993388952405932779470642587250757428559981136177707243883704990109115302919883929116165076306170889909955262246735108503959865678091382071179262624392123359290371689975412067062123104057595972221400925006802738804487103381038047217348857081416090281247272175127063688302815536681177701508697280896380722280210530740031202306230641424242689622452679876990226106698471267337809455479951305028471139839770637531246248506442530585765394219766414504510103853144499920376165719212582814759699999630211478408099572756738351786162150937061110804973142843024531257406964192385084704606564092932962184134773242364456749146779633145755876948512267194592203799890695068157799788491192956506122516786751462089464144530330922098311771566931974037348269856100560276915910300564121537811262206524501277003259735447166286620036875942230784993575634636837376905903914974792862815917590056604346847905705358375786435626629211304203922959348326474915927002978027272971509734005246719849172785417212300872125273443293328951898385779701363603181957318695261760000902875702287230992487457981716019602576665473690395580808668185093499037269932973520282804032136668350249317358770851839144104933687657735952555285665858257394728159264581906942741792487556195171584524275210993264788240390597038557025962426941434093847645620847983832297579767473621506287765864132695727628182231092869482467736102419419651031031441439890606357599889906646891393257218772502873381370989256512130927629958558140919136465410529836155682883567412260131629429554632806347976019624287458733305738188929119714884854034382235813168178134741250041964418117638817076545400617945982569698764788438167258042995193192579696671687091535068833257193984950770098388968351557983484892869790719703388316643445925135376632494753779319208358267388230450089248971628525480849296L,
35996510984672082881487480525812464563867079536647642508427280245790475801486975964519135406230064942073100362837595970102868328815581321794388261514671425612211050029717625005258053153816890724932180359658849797080227226934978247701609842503307639799533715546763739983782288181373910382133886578669744858614158145558936229374618502725434734514494949142629473101700364218889612079649262231960935576714576178680848974237277914563056501882619332272308544567602058297362562784043576507267829663940252761349746818960146588037062643553974928726000525965472886356504866228811089530104617331443973778785824723896309366107226103529758555743293261971489306733316405236835989425583355699066297984518359263737341301945796576607293776743066584986382604865977326386026408929716256335415156987791540737135612089934853776759868158838898596203515927791583231753157351285662884652443540551697879873823889734327089881659029204581512788339964360962762479149322549267221445673417125382388850167847526069047027460713491518964034901759154262960942731191282349285495200945589693209783813234158059931311840130285913442306979761356510782231231021882042774522162047672222907453353142126402376634710911732084548622694585414113615411204762118010186972692250859468891062803684323373189328734239209199686643657392715545575039945574895150370197254303364029293175768134271680307762683034782883904580683874289574772482200443219761801245359651967037089267372291606408639528860805632397043306695837810817206871831106541193232575928976164409832584677728577651662688786372012812808014948322444524743932724804957812449518062112936062766209266605980898895946448828469563642883519936929416747503752760068578496302701115183138004898484395690404841552387620127137856563909703017486884449938447301483269402735877891711862570230523104834440708758270465273353702867812084331389145801738278048809170619667431439580381981018889029467982145441587106112768057759323724772294427292191919179312142002461748151243495039932770606932227942707136627177792555174177130540719061863691281422681829815777396559839802628789108872515235469965877143493736990249621968663940787666242129605534311110639351984228403091077207945282551891987504841211764699077950259182275384328084051180547130732740364886846484277377948992393536076764399331267497723548741265564107858188240835213839925992173947073988431438375247888013674926419432697126306640621460474773308127956908673437806330162904856321644422912497424458407492300551696898485774712946145467930651693127029252953796628511173891848426115304710730531402766388436939875690630069988297348163785196896086675382102409691050407730923076850539915851905837305199949286040000096691021910665591281515203879360164455212042713193629797549124591396908699846630942131746802749768010882751731946875088595018265136012550936749582050153803884777287298378392901614880555019698100478427909019033947890534343618025612875748672319773431745065001512232195440758401332651376284275430876616221781005399728964236972635549812042830483162444159343758559480118920893072721308969397736204156396391964722275974476421055298285949178558976285946151282496201453701751420360262939733845066835730596388244840400028846004527874806424568230192165497016691980574588758911071688437117992302883201284137184104925634692236367663842345868404511747508665549634999052919845898884228090105509550362283490437239064750026881345984723839106351183944833920962204998059099085271677371807854078226293165871115306863178394638682956838902666358916781081980527719790101546819163324066043007782316200764857098700889979991080129703402462429747463400403116375562802603067299105404578256690392356696172795408966560475741005554881989609023057881187556475383944878468073578483063509123019650543241242442379126950360953384276155625448595202823829662445392870449448691574264735132456121714214879248814909800529511965863200035272641892841759370000535373786025627931066887633708220313218860801523683101012019173928586472889999260730952132887497551161172639735588203232114418714142468719161466474557018503623034218625441079492210929117471350854654624422654313152391159154881728481720714305199965479615318425523988752544627007340688346030803021960248635477494369007654640740131496905651980718541429035486458507813548049429472303950155754399142442769526560859842729096532284707763392951196141332798831988203021800430864790394722259670493810373268851492789520743929523234407698971778670262913613051768470313859233167581822470731757890266736505626119198971381993007693961024563437803701891868453414734556236648482780614640768652394160184172211602031370246591617999650334257841769027717247703080753703420303032154481913452365532599667633887837074255909383246270194464063055904775806663574659739509613382829901999607226657517656447758801115486617662973381874893549546777874917721349082301400767604191021182789695255784669979719255478175731233826672421627552599133927721706607037590120883788406439981438439170562846091030083991248527136687323369782104821750646444680529299827185693830559372728269544275772152468198724623656080269079873453423619703698994075551491387022870776785615746608287254420759817071124289939582925157223803189141353560690874103607873276568485465156871572514980535782997211622157880247172545538817023962760179300271154741795098439459689163861273066295721300890154314241429478431712606979398450503017567421888683440021808297346066652398069773486313585862401413000635996955340376882728283903884682905830894807301792562888025188051532789429227695597624769166857660700338617629328002608999004056094411863737877743967637315879093936075141454431273993304043504172487919834974006362163579974201284460485137115648883550565890041700847300812949540576951457118182902550294207342299458506203868323930364568344654997767861792896516636022934417973975976880376108664447407980714915073301373923443535221797746955336784035954879965053303312557918009684053223005686965224529712717548930442906512774249526704035742877730825281776562283600175673381543215563780065136110855337325959694628799566453412844950366658439871287432115493245043756246746257437614215631184184051046828993630932945233320516575348531716385893567506896210981383967092341154991742982995458908194498389468524200916989081312499958469090052580801020620594141850024201662886244268580841628429762727438879063606707225226329815005787206150381300815129597759500823983645488000480084376604707903607349899386349502288633170188454421324698605527750877788655903756620276255252748339603911L,
56163665070947626062904481293322304453896395473552461143557528510490491492188805243726296559938989428610769319924974384188033722402033501531523782792496812425341526803083767120723744976856794655102242359013925281939420781051669437656479887482456780487224860510826381473102606637097545726801397408991785845835052733669938412593345080553247815785338321230784760861487833752639603557962957974042564744656612323480601878579498623176405507324323561876032794480920813117839631188060337187828073551841900654475901289960097375587307986028431831533727973006114940874985892689882732781616110808249941999182174480180434235499452472105901025763848459879522700210069256888484548178022486052439138685654902768567196736995958070524925202659680326392710671993901844393475357297546654755526638706978523774849171715825880356561292431627016015691207126170594534227865074483812303442554765854437723374777602114194525054369003350681157704781025746977271866848222097637918767754525061941666437616538993380666282599064961020663514254254224966797842820078073274270042293129153385478444342940801897811939511531954041801347675403990638091573552860419273847898174394676647039115865722848904753502410962684395685970699242887293066186670863044902410066374290551452451208780625497026407869438213279661960377656209541880898075962394332952100643300622568630536145273920617640969425729177436184096513927977453433682379074920241251570293528581430869935645370293605166191411443333016922488726369748467991814227914948974138069469399937183521475663766538335033653199038323458595853066376654701585913269433460350336169060061163359576462829540453276830411517451851296155407714377429733925128651877710478344200512392420776945128565447589547804313589312964729020407941350181918187324642294371371199154430498677100735092067882460584042903027423946288924222337268992952067664167189994303915739660497384450964302349864022229204402128089929945845529538444241436151048642854018418152245958186073727067643707865325737000466867476800249449542184257395812611484821581052049286464170430103783448199006988923799609523951258457691297516830162862885511478733682351285299925559640385706300167949072370107552025417589105332122108697421421152537870085574636251517061679931414950403692374925267300783024145342529160543459932175167082400205789452446969919781707642532015642406876821477785177052115328085152423426908722478081026367175255941341535222168160106210392583250272288679265503659826081227651860870986221176697810399917528446199287665535830332780003497759528883705490343934354137726563980383933537751465805538347764725201077713852696645696726241897812289080156299575275643433307602546484778871802637385153299813156157219207864142195050373811691470286650488181368493589597259390547017124115532287983152409987220406052657612209048503941848761393766730904046513208900697933824625596658946266358213169347744141158581365522198577602195837362174134767599619231814671678451624788478076482100524975046560624323299877559644583215008212246742542408118368065255855682461319755942289421747505021557946675932546190274879491573233350653745993542022244534849248421421284600743445910569424363688826701532294226411941607457244728227203049875559081574152563525849052752411882742878891416335165877453209117646047982033191642529022666645766928043381501869429829287684200167678506202566961641566751953040022451876542605836817831727893256937823386985212334482584933580704981568108843877532747009439569180374742207323232171755554051177637100964724827109357889070721806088285215995863092220183762513394170708014872433589020757878122950146762488637992596473342285858621451266169820829280687831335650522856340496377592375004705700427420526343402587942335198867746165170786058324299312554566860832946992154258579419460917816575871474008142471904552249463062594723100136001006427583117463839063616225376975882783936146128471988412661606282687955549614952962279816195448369246324386530174501184303593246750673283704251810066745269350314435804787273182809101111537465446766558457962107365144021577570304540836026500069508698389439552783067001365284622007553615658705746746902449038756813582798671664901229922623660191481940185068628283547226827602201260720307977588397784363903818437649888935421932699053956158343096492119768704259958099247008884844162652172878219845948687429164873158289330536521578661302973072933884575090853385093281917400397350747203198074398451957549420677664077741330245022305172391742554141292248461161793555471002723159834321365912017205606294848685337294607968277127316573238726408792713423058464951750714898336922669329509217960265551093455243292029608837465454963981003953069265348449212460856214967318662551289502412382430105293599215561215256937923527202597255938234028894687275947756770001346194653910524171067884614826384783031868215097710701104555297925194470546329466117040873353306688077336775988926435331177994277649124260245382509495055268859222987276709694560355515734732184966079009893011868446356396456036911663477293627279230284501615467418004445521965656607008667943452740336827136719541388993998299968220852609829365457815705371602149851594875159015486024739502903760834278148368836376408099106098854632406896877014483149954644857193189599837556513750919766794646000919492824321123401774781132782567581944911023248757249899965504902089628351902430928133430587281430385850664929213859211068636481964141368554307069424651676933912180290275851446574913934093894263833096448689651306046336764968896102341053980953499621540431797443599675039761889028590890968569135771915006589047007408251274290518548530722395256883758657658681587760802939000627862587441842187766390243811579175656335474221809833949597530406016586864695559660424135508637776960926067909059743819897287281986772753856672406319665106332085793055332208531340105339131581991526858147249268626484119180657111828644469820563352296618897910816871359305064865451417418374446789018113499498908656846272841345393165384113372427754359624461553904449036793045973781940583585665472753368820907130192287178226816155838183512794404419844565617910750169720616624090917894175684277053898751523636378758431224265737368319190224726703911437122293291851702897193472403258992476741053256429288323643351735864427442229649154644366413256704464913634437286837293241459072459622220725690571740924824950574292901324846430829400233258065099591213986300976520339108843769862682938737808507713813009762343294488252978841257953204513064304072373553491028995223296987L,
87620277436961233703754946938313488026096119744730990774060273169910289439981638075092074099639932048378734781540263984384142349302415200184385376539428656883461683213186226407707954810022691204066868013009225752337767117526825466620187814655323250175543537258640043974324176812904162558513526154207746740743301628292512575092585427258800523238818736200593780532261559210434159839838820070662551666289436785248341657352095449280695963008341442988972884424664909461877851962052943914995441124022673809407275260539275229588294951283489825744000274106469499699894715342803714383000223702979604976875897234057383373077316843478127160356479680405328347808618094187679226180252598617471470780829035015049169202653462733927754475356236738232107386139501297125376611342211127211001380231814899942767578158639935415044576736431078043114516832975884586703945351151366708883642715592404847871128854545106713938567545388344832434150456691481415288014710140581998057176963947216444142935152984298278264041667170708932687438726259243154295252473476379993905654131254591222769398098358084048101683293065852127861638857269112757142637424886524882674720418597056298110525600133064752942488786434270298708558200586697905750994514588770356977382408662795406586564214341560817341755802320160492677643784129549605387292973182462832817073578378590326179876842451613833744066601212478775555799647034495971759412901074983843615705053060990250297270680268535857148128397767283225159236563814882252593709410753277576994616972188880728329388216542484680095850544134830526184457268470655490556506569431077528463977582800328774311570820093243650580878345189179205219180360098661721792045133366831301019725201909255743580745613567220534980472206196493084918084193066942737446473934404921541376313428157254534232485479704155755229849757569501333960428036133188994631893965357956991134018350817998541162800000184048247120028095827818820454036492040437013012303701349364477840749929206787691831728050104656075188039980376185444941848503587090463428135505356150108949457934083970547272835974395167957608602480768204193016668677296360985796194413170074506430458894036527360274662356167499595532791924659428339665287874981500446849551311313228307792002293474040136332090788917630602837466361846815467352506463730956556339471118203436609097583878950926129716209513700397121088824348247505103654627764402483763781035459315766825160600675794471003326986735060158134422023552728790137047019916614841915371560765374068897821002189490903435063270065700624233021587208806510689520916888624978747745203780156555210976946746156998371316823918359591567832895915639472283842294398215373381298557598781517612324601979964334146383752769135310711840898279921132448447072403106055386791103138404547858133559708568102196607198714051220581455415712917354850225920548454389125475816507986849191464083445580606312778053846327438945033196142897819643001578328505003319506570499844441022556295693435556484246349615834153297833979994469055561137631889453947162764506303261031614946470043321613469228077599935935966715944319421066155377545115202467640304160792839704256284893579274655273074210200736089202345869585071311767316923188093450282303160652688611804006033249176649081621721530769797791405915660584614601417807083146309175720577598102462084949086291270867952506073469995954943542769781694825232664929898375224573551823152527312739212455060417448217221243222346936070955324837167320326973344894688417287422959273745341534661979386537479424257855948024115258338175305313908926664429303248936913017261106037558241330115353030292718122101571889266754119062239214170997005340678637644908251376977618469670499541447705217528845023941060914635371417343885540422218855671330627459816791778429720642124736515215922134757766738750249901313454997807468699710871370898658792712884435878106299116081895171930141676823406876543735877993528109089115635257855521752185139924712048408324542191542138679210124903690279225377560541288494938515495545097582416602044727541478156786265860352466383787959580502042962653740754896341356115614262394421871326451479124535906395250690881032259876742022564594671744083483497722938711200942434821520468353288729224188924994167980085065615591476450207554767432468042838451751267372964657171380469245684780335517453026812300396177351312971937882887279507544134134441789091288361299702192719917981518364675103596268781478016523605890962721750889518069047640060932632712182599198991307966977786960809047008348235788682991871024085042350845664331058236353594287536183010377174742331208155592345807041229800931337455604318057115307441884686397385075059853377877928141502182454938314286020955505248672290558949014560411052156310163094797736347611717667864000994615739941319753085786889467767839126845456412931734726746522425340679479131226160410072188870820282352625372068151351690839024101915522410461680028544652847293365338428680950440179642243972161541332354038989426240564183113093385379896447783537545891131868080462835363025760260556044962745287181702319385373008984357281414073913383785440499464753610171457662909727639643769291710037649305449360881480155205950243297017303625992566584022733477010266097721763496388176378483313410101678118626152633776323617447104419157965659506715599647592131384416120562455193934830855276490695308225772406866349376613044087399081267033941859545792421393351876361765903225790598053708297716778542809193334881926331865100135093355774634211936006001125396060115982279417918647344956481891156802312180244025038873155233402093818176160201402478325993807522862201449719005397024521849955455829230777406823399343734496963829686895591178978627932365657474071454434131398359096268551608929323281108317063952753600252339371205981741376283900262735784843999550209646542804676330240432990713122364300492837994036012671306801362474746609153655372635043623685828616051747635622192421900328775543269447194694139819490313810441438560464241557146569224307577855222593353502635744736002896697203255902231102853572973085381555030497835657464590805088027968691086320098105653912375734600558350950070823913049453862628315142647734539981599788910541408625486059579619321001445859375948629445507592082817892435195150987206748071154189327192790102919922102274212410799246329886244481422232015920579884059947952387705901006226858184237291650170045961827555830433288153170512745018907144624875325797422992460183402470999435119770502336724231459431613208028471048640764673186326004L,
136680947440826745870901789594317452774368815232321613115019641645086711869744498257577346663918377160613183168794629413473727054701049398547197997723053285717764023328158519529430632133426309447139971918525658296111594522737000055095372900361469671723641787016282562220794189728663679206088862065211365649884780800926487168497187544954412212035384715806354262552541329074370154281739556860433687724341471857378147237330158392780649504314010317948538760667595263662621571421784975384450954787719672529843448127431326443600951205646165324137821056461258170540128184041948054837410204996016331940548552223158138451037943444229225518319677648990100142144776821191764535830909693121360263797131244594048282501475942862769742346445275722985130799109172615154764475988498856391759326466424478500997644945669080249867620324927453150494123240783305089127124864965465714643515550745970420850334476153629725289180119896215004238863730062685050634360659132021870792584783388369210437163296052093019499545869438824040235986785894370132594269036608441339565926883244830180225722352796086303032298890599581516607403924411898080931775723427607761868142186646498236553066079618465648591927046354891775934721167913711721714262726305412388872337982741852228907215289452103895033305397858616889664351833742540221438236571111101049250362373771017428434744446524225009029463788184964672488187411519693270113176382892633519970007131315525640235210630912288091216145312809151691041058610248845654116157487487982240142591762998252877325917801521650812934757004555857822744268217286988398167987008852001099909070714969134865861287684836434515809488966075776885869666131148429636178146432071019017726050108523573559577260562335620151527604199566255699339259710608894839706822277036374731197153885195392857028411030877993567830304957122103850026221653291042723446893217936417463908464942314774176785262416144268002225130711196019938665236484262176465211923437123295895812569945776443192539537556591368135485639682767685956045440523188386821042215736220964243868995134150559783881803057235301120895541468878293044030803704670068052870187560443440764268606496212764412590377318381333547515201381654597795885507807609702185161658262151387781774070658511802114278327438526008814411759883297786632291224250427738933054994993300712056788525147100813205924154209421256907360891410228087059208558568772489036864678654350732994073224259417879805293057620276053591589468588961152413572962508254094749780279573878017209735775170153096533514793427787713790595406015656380074342639250203536880831367458218684125097192855978503715221612298829846120812036221129302851820318767701974138280467221741177054614189293249929748712011125879907440508936086454222277322711661471979834512939699883852990959749447563031683143200628757514462175789253885271498975492817718723125183547025627437402034678336227363207978323713914194681579968650561994964002801893918568304163051671551596931480035989827248724061737334434584451353970276260486532485456418365995855061054477930396141650944670433885850641069524692445580573337448964554138336856780047313980575382345012187588327847905873848455040539780239687955714795348262071333068997245349735865144829014325626193465857700510527641430827088503033714935868426732647453650097182044889811418778277606832195232843036187917696599136200538319241798257623075501582082787833673570586523272416122675722045710571036988679824609226461920204581969158877166950658056190589824090191363031270950845321450173254553315447609854862492097521565001933270924464927633655898706509754969131913830503650706960111335331891648617810675609398223781755533287091540901849170507570131693263625662090386624716343007417814862945063640476689127152627740889931706769435954923316498804600038841469346513245416521983290286480390407354808032804634947903733184393372159445023701689249927810089215808364330938868069861498987366511991334843205953289241506272284679657435761236251884493938487137285755284420500939581271527430880031330031898226808694844159167982825869279435763758721348800365105543285250617869991234978300217980872057113058938572102864510253067126102869435481290793827169110748747397112925632021740692436199581720425391162042942999759677436155827967881577419043163317639061024305947508630780989227319404277862481577340543706211431261038131032083733349030846630908174440865769868764765239555357430920123980779971857586976380433834898381179009887512143945520887641933707582982169725359012263078815109216301302951047167632016244639119975089150726197357754177079535724812202416175467406319532888615871833579216037314116851782252359184431964918560626351200679184106971207091373189972762216908486330747610563172007797422183493684939262384538831779575897784287876875829327454392898903312586030080334476726723166014092187447491891687173759496678932774141938412415678160157609871084321673018216427289510017477178281434481468902191096693909178318505690143205949326501123035365697766201997817444080205077302662850767975193636950898622599309279753063422209215694487692490861033411487340521695099641303648210130114447774898464285684740761057819903704648359842212541411899128102584853821916096346152237435202063856363997656469979359240551934144872836088326134487661647651734101958857100488314378298033522041079341100795787143279448223986645122143578011357552886260229622539508803125155679271898487412204979803846314916612307365260421523269372158660334108765227085772206517588728721267378652809793600830990264623681947813744508490594194108405288274245975235055245137916584832212617650326274064465788641096459247012128479208247840536677447218695440641164985706546793496451125103134761008230915475232460662752459815641846438641981974374381643947577102215552829027665501803854759531083184095791210973534558334296364151990973164097714640763364403054171623104882606701836432162545218096466387787027208631674337253837408449961238806402929176296446344934221073706414503224541508044072176566533979855407499581284945854709207854437527680796515417042895934015484986124363561226899233506258082173380419931291509216910603972609808576202883858549703703643516681366994532926703785258373709276109627488623952896652332063283386105432502518197705429948548678347231414544524492691253402221544755641809374930869226488840579666889173851409133611509765238710892354039928388697491486356484903119215163188940778521449370711243530076693972828554620969912536721673052203597851358710202687367882074195496150907027210020039685397514914154400L,
213189363712349598941381003737413199310777698322247522737621326992802406371197293683186029363614689710553492815694855997178013243701922722054287010509836722917215662775713049346839342092164404101679698168053293028590984559054893916355706470823322574115044804495381376782879766749034969809118065272495449356979875727264582828135527349181483819514542038156985519255231777125612430611341497735591127176290760448086694276741720062840782594814036890981466611927590763373275373680378288800885553222437708072257642226533869941257618889607963486339122220490843367622212457377490925500736289026091081662800358454019155818236118610394772333914820358314097311250949382866250537818011488989405304360271009270990200952127103807410034265830948763749534910314568837941224098202028420329817785761814280603495840348535164407100790894188794020493145617252898816496505690410637312621234779398477487281264826361054203677938707062221892482170478808088277658362041569028634261177003003540233069852200912346485418580359401529663467109610877009933946472867224047608683613540198247640426288814000168065798605689794750194920351535499348584962221833360671010989399653794708167730015017496129378700661827111313045325547185168728485748501064724146515507425545377553232736787276645388318233225173778270650757950763854828152684803547864091138698474976848723071830225479149634730121784102410421316896140429236426555159366307902826575927725905502792219026481685901643340320237494877302031228390541356413320077668744604086979345726439091496849491095128548556882498919458328911874897845353302666329724383860326767222776520239121697753437577482196984343137878951556853866874362475807727779139345989814439620344663907738986548979546446743015244385947980782084771262775032050094822523605938485323409345765257687850006180914791494513089240179255072712206537214981030911559313737966498207256702171032846616053853697163474500648655311511337541582109567775742867321311256142161811408814845842942339240610226294815254871136361711046510570140276068901885402488607240207351749581975466355807108875335776839415400981664576236403308799429487122697558302444172021161775146590042343968403176270712449398716344079714828797858466581590245511662663145466582774327725012758512396273086245327164088886556551999748599383190204602082960926954315301627067231419665849311566577819353027113135578946578896786077256185205065337052746166542338252262883036247030040756843440214543378452036596574539087281412948587755163901932075497283753113523532625934790613873118510615724995682833751401559350837476923092168624115010449365749998525544993977110474679501292991459165678993803470495667009708345427064494085556176943716982095602693340816727395035319149601026993807662769143255245122372202092902310391676510143234410612849701533816020435179042279787763827858000280771751350823548833986674252783169285077339342395224583022813269957930362258654955261691103454820026477759351162778264552178193040521387273820855883201467153152875186063808429683858110242195872151728807419745405515186865811924009858772485831135783829886459756656056623989562647454438164487869325314992424955866778051311538597887182662075905420772374198598571119904901763325958021246559640479184795641223930724215333216266230533353666043699850932538668040604397998351372415857531731781105939101495599240520968541426554764917916256566281606539484592886854288239769767786564302751380327122432547310511612561644201971405748979049265710066521605150263141772772326742242293428843485896894981575175462940804481502814759019272417407146362642755241779087728007919924902408558119995265636134710732711610194665282464942281209364109685308673689971364247896292284000456201900550348968987149673259036238233730252371267008718514965593728989656913989282243200060280433085876581563571822439147797330496729912683606209792791408172810057186879972825451380863090306257975349607416778538372280061258271438434639267198658371062819458547900297530340619746897916821368063961864513468733070750720400471747730281973423391627092396868101300672530777934032325424507297573306403769790726830000750619157675861659015269975610985137143684125149389962761184458204658459608245641652509737329979274395415938494819313519565660049158516478518538889734689064943830517451261673677782051132416754347258190900267112082716473563480065353273427303043936225859741405453630981681512530395511834261417098332881010036933136709758706869476144444768286247196436506282490894350476420153776155838656361118774590001802875046479025396892810639854652965369887351802357022794821495404064670385442737097481537258859971621306260569801039273915177648795301648724360223113625140802800219220803043594251308411323168424058764585478634344006660674256452674699940921544153107326980735986933094253956387969021501497609750130128660291958371171547037732116127786231043073307028685462814328232445930206180864843894450062907550373170062665637598663100907920050709853295876282146947810331466777663622564462079002911320164743716673837416086310657663610197155098729240487857986899094378030462012105478963216048809612808760308008475287499675256860912990670117876703961241311624371336995878518438691773809747383317261403789390170058956470692281437612305613063096945833817209951383463786765486200635643773394961285957805585744823886538862023815405686804004055838351157138120469389900107425205319739729722666063424043313056026756129718677247255099765427135659296102687570704310806799416957912585872879334967077329684366125742347824661192111165635779285710436217393367246009629899341692945345370398664501355671376435600676501198956949313993435337695650616550875305759363455291398342281020491244990671019557959211792069053674869786934224335202782597157969761591918999117896077984767313605890829918985888906856314997543376888804614106042129500603683085236244767042840800958496979323371580408822659640419660659623607797723238088872606184894233358919200426289311199616619948980753064265442131875963993419111043613709069679318810150282907989582789388723355979086789442231733901531746806354541474232111356739300171292876952347559960186787807958648640499658996478216211496898278550187445186636284799436990999022944637765157761407494131947669073928714995694370759628210460970246003045862005090589486306069575139603500423489442598008981689665618710528892403338169715835360278918426239806292439830872157984562450000141620169725322946746325686189147675393011761784124941698189372999657651826922190573428775823845056245758232642231498753543894821999752L,
332489017990920883700422106767078323274535172823591881948336602878035771505099841462631555745040805443745883784018612638698211892098813177117105611833906577385985280595014014177830975709321888211638296197840938669067668027711752976437849271257529884541985744275049084949834549443198821161895629680150987003321451350126091118743983591110332273289555917339037151912110343059002408051287678425073054166013885838543454223971877997791071420519998919342363368670904813367146733347917741179439174549964868420408880687499618314754279424260662559435875083439300916155332153858918250103556657685545791759882344534001784912234254328089390239917987466846356429888794223205594278741594466031916457102041518719531339237302060784063357166002067576684856488115510353192869068188129324060989967277637642960813701927301527094579144577716094937969363544629017231174024836993180061244330573951303279449187141592798669436008941536697035084124906304663873219505372335914066179283079102229693764604615427644888112057357253008850716819533998087847496766042011189400959602764794389615027953622435555782011342236491375606758005402847763276678839467843840358526989293956449338728895126136249290855588693925983168530481739750064036402393621753279839082276589785301450062389425270490311167997188843910792051587170801551149021818920595089847659783965626560272671747941401495015577439912807330910335505794417762033507330441315759127381699622619978365928229799886437986285788616902709372917801696569681965090118895654949470025177690765587952542315229574259781487476511469023344073959899301613888138884656659715124098859057140899775653322722854454448361497303943611730949588693793671522948311903840048884809752282248211496738494072684920286325946104325626048762240400924459207325131987748411411363309705611129882130791827287470271155127754479049639521655720571152016763797168864425815338310484173717521953261809568996715681885579614505821482207549312456698495233466222894139560660392837197193951687158168529991398704406424993675042170648479151560700784997722648254962840122027966746541472389113872046261910528528114456133262518576714123922141861277001691470230717097226276785107668488454410771021070998511889581492098897114783162240021798426505712873742881023672681198942403321583248749769600617071319809748679342266216098961210772017660086856465022627111571539317425997019398229039422861683877965914742267439419872085872812807479726914151048178823884486776979861868699204018413147036011035880739325218711063818575834982088383031035090476396460101307469974086418953446909458758914613546511262880970047216492202788361744418332452672791434408227868779891250639188973216820345481962703568492550480590882387983682759022610404482550318839062563457761112448148666625513611549005165692362852410635724172705943475101923688998622459726518227265114865799119756245573166662493688936067116889135432693758477341930753271649403537093223979313846167298995024350132314540229508771347720585571595811213315001712796952626143081624954607379955327786407754606113430651260401250497312500121952675950611915938829838234438705117249176552930029323007997325832214391833400084476036468521144144740320026661408688115979410244988342858442852811363546074686505584141884387907276988741502290505285525418297924710533982697146772418526827794842235199351597632704948302270622665359742776704526831914002205635876582951226926573223925700239054217952119490102176362881765967217804805176716088003568311932831683528430458206008214292390084898596704298142308103768787352280458672657451826922438856057046632177538070406609948933891069739175272539580543404982356416792251506315030590648404966485346270038950961554492006208529890076917949541891155192242245581409007528559019596414984960762216074305116472682056612827350144920691002746288839817758359380231296683282695813266208465146081029523397250998506444400074142812250304014946628800764017321079803921059002005902332308939643121536785332429145677994707806226180558342619134523758477575032629477511483261832658225858461583605425529081325555542163617674604724153019152882286494506562369432286178476762448304532929037689638192702896051674198142206061858424921177357217124407886122934795180930806374726690063525233707667477280366840520907353724478430783455351628209543190202317792180282750532799712422569072580797634193541985465448403115452269753721954995671890339998874131004414139967128295127968737918182522391697904121006014627065392319662909894723343559217170086603236352940523372993177669887073536597487490274039025389784381686045296170308286287294513840857318222775435885547922313236792482864032295930658296479434885840929952942903187906951433065338148848401068608327540616417648240150872676035942196210213523381918421292414710413960833916050223913241829822617304303723753606379268376655898256502626834227992900061839324914873482675715848694060008460558535388188061957250523492945523249882737778498735613748545581202360449752679788950726772929944254730646123687836369939645921318430415831550822078513697241200836723937596773019511304944159474583246923378259048183791234562657513789191860777277878955100677200141914386004712764181965209494909659797140424751800716550771447680974292425665620314911081501055394118798829557572261731048657561182310710018182324363681649998452458469339484708669977815285451620853139470397395947233120110119748764697271354416560178170866076329725727249776327980875377641189848958376653357701919015748963636985624582272047281696350406891580027196116545008606599571212847638824930763683137991616135572531950433119370085096441324581918677840616823800651408934871827674346874288669967614924503287999195599722134671207459684204494378988451960353556375867178708974032531567371262203535382522024210220413313930806433340677583894609976302222805755199802594213561769631809056795055067728836041376617522235628419521862190273438725460605996242549736212952963005578994159394910871410132718775891305650862582006745770436256685735886184331615310363826095666604383730406161170189124670839209597314764900267157279661769445077141915169464455683393889787778769981082829390850959485612674777701956793315263395990152260446247728428256021631201786586455789829652999032620062050459293994329303605388723084188917347623534865350739806450780092208493261191290436152690277948806701003003851402046727363900825427401228892634368313464602777146058851667454763034125803093172823265298651229336367980639464447256584612560044375078431697337595129248116142499916541990595530070222808641710L,
518493503185303449030845577867212599859510151300227160425828397334123205800611367884112160567186017464052456979743232187380816277418905542041540536889327563361612099899196552672162572823498416981841001194518969478681869325793111304704988858837467800908772156256151547678734967200794187011100920710282947983469251143846858406028507927709894239242207656856812937628533398990080825967066895687648712302650994244657294808008348312245589732707871150624983090920989678179682194409240475558054530901954528011233987193082851259213698234530315078630889889137174221164220514347487675862974364734119195542494123145396804430683774004720584080851447257768922300236589130056009893502531328236351670590579800092050380578571094513674616391767807473753009470196974803081945054046560002475010437022764005619548917197677043817297405154655687251803906637594254926843713048634769395096497052722882824291293321188408359537471962457301374207725910293021603267173210065295276875300164603122554542596072883878589644400640648414700027763011244939932975908628089998791517308322757446789427681191875046679110012718270817422502571600665619697947481704647443646653828459471485667957729172764862038194676367356093273100445505215231923351257587429605843688358372199163770160302961357110403079942497587023590429530740971522786209983327614379357026451335446891291315898378957135647809449176168606968566692276792712066391875478342937725812777659083690232656179300662250466229897847289439379362648791052159681815368415704410745081192464616071496645493233882001271725602515721774129876534773994508581719750566386943493478542287386979823635089186892976724464306380653769168662020883353770016312422079201430156322106458373171621977159559847706377738511579249547627096526488592877376935913596955748087032380699297297476434279044543422920752563609466501408055825666502525201959077544518882895974275863591874036867047601093635902912347270364052572132937023985659547634849213050638597026736820465971677628362038440382830812589531184899737784100848107412222484930856176992942766117109030580781357712237717672733088177392669340210297803970865187078433285016938363499025845856170496591965627875558967404618952879932852262890256295087285336093696757855141826283267634191714807967703148220781775583005432893639818329350730609745599991791654199833133782914706024331020922277080277293562424674730071799687305482183156342800361061614309266569530699856952973947239448416053591130508748508635412471110238906218839304871940348707966049526422271297476763451379531606555822812362455324609113403053477362954424016124782554464328108045347704496442924924210083776068129662716538360866716984373132595210820736736167258724278696967311463942124483002890367930744318305520064525710460691800168299038873106566703972287557159033363070268437974859641152488709541832941774274714232921410734614198986102369266351301892578577938395159895942659028432359061671260880291715177117501383968041703834752060963389433606014641902995171070054596723946507804466554410507309572761889315924727860589610052579375600866467391910361976190798029248531597348196091481930419321247779717691174304535293789884481532824733588214223145889871934424565570859309243689688150123150722920446904400721024402454709521269564147183093183873225586637570987850152774778882733630105644137842485930091371437095154906626576021788340182760670310294391314367518588931445105334145085826632471598075334523217274050397286785536839682176406481810569408530788782317630582403466888299780243274709175091706375884196696633561643767615105317784674940200218171347232695422815667534258613262177113099608471912785433592810600091460986756909363934797471395408833114713950372746074395155511560121089007156385302157222867478626448731866905354762446511210917076982314192770345012013769259178174211813435787598733966249908647424723702019253520609293871600595782989680459995552422617517239140538174081067204568857169912207403771934674390866114578657945630238643364401802743098170281567763898666039090550505128106207648845590421966219961403268580281341693306867287012291477806463227696143149598451658388946334600861231378765374891987983316784037522646376305723120277554878129730052652593610952921293082423148910618939696758210401445569196944913244883227700378785766791377627403388447354077096661131988828192198601073305406053774649146647487578334460526557982262822547106245552116024642036371889244013174832135854402821125969851717117160610315156198512916337718457457130358647971884779683626895312299219307126260895643771906574551549562931963754167624568753420884625611777714673578938662832503376831226793563603904966289524659786351313222137514207862491099638068460697349693192034671225587775384669359303399321142560440024971018710306917105209369652793862292204536012560001142403633835569850716139086677627129176499527784778101585246850592804679322063309870794673469721994255103002921513591812370387045899181688771616225297254006966557353359909821754897686436214694122508533854827954947146232746645234538946511627482895943905493913540463526213050064611218896055627550089825488288749151587101265545605835800084432624467860744008105102320204668456728330940669872213817850314132038166679038044675866653524693926398781421283682807467273288746428106142540849806729034412256082322870536271466953353434374185695649363302323800580985834991256881086848054978317136090853280861823673319308848252454102879249024714843283807570116038826794715354490056299071158301369402325182041833534272395112201359519680502936763873714698881765519962409614221281247239656144083176690674788841225822628732237669387338079183007565521703744042809597967330519588619581035609915208727606176151264566065284505186933077905861714190873345608190130657195134417176286805646895233178195329799086075027223862555938438243765119399448951782459122464120272938671225243280630172155799627718407449836385375199211852093934081254465485853399780760079603322735537845687559983440749985567517899351008695814252248799254977228185533222093697768497790431265199555482681984612530105139357077551055992452178196723759030370706132347214344383011518705072335532910422248841456588083393930072308571399055161808473056099582874529860982659957088858709436301569822901443555489231831083012752332426106564994443814675869631832199394855246407614047673381553800394749877169932615649878949509666901274027069725959392438859177520939293085697674912580028667570950658658779593178373312249679682909079188755507446249251203454530567960337648345238344503669953L,
808469419514031770313525699072324326066734924494735993139841466947459576845751732199643299427346404681909130919128346094420404866748931737866469595451759583076226446600550704642631001388685012726212006836655095201687069697045197144865933805313652978904921586281396914767982182230448734718825576381699308974162033244443386336586505965726713852755042074894835097450075732846756202564403037680869803383643665976476371633870898169515926905507549571674702373615423830492440268538694169556611519988108705230255508118243881201864662825577460413677981733806746634074272142838754695567796536463454712785856646229828015644687855441088503225958007316771291041646110879039618926836675944171423978954336082645963713887968601700521542044750631189076005174663240741869366435205412739844470118521446515863722196430190627389106832453692314247505105218311023600936724023572377892614419728919192723115794542594248324959392376025993777862978816852431389346034052000204013988495577720749140555672092424121312814678600065183303930695943714332588552597938806990879085859468012580602078249737122918442071717142382479780714866400521229607429878721928722870155892417854819263708247975705554752681638686567726778051617317530525878357508000749792930029965298426593980957283177611102576340440608933864834952834659309511802429434287937590620993164869879157696940290088037606331219788076267171626119748900890213496512745295303824394454648567772254946852601841177862973385411051061680358808322168066841290856855445326940079495987012568077537148442814441300055747739193899097601084247583100792331868887996609806833699506473439763246465131490200941754905177260299335554684021371558872506678518376881059168481004644256797168944821337667827805840225253185308117251362600052548483278262166015497495283694982636514561913061481871310911951550136953834893798376175679655293218660847510298097500290690377347349601537452237158401858113584446435308989796290143177037448876639123655379076236116405312987523914011924449431291934696671101468283443851355609808214728532053188744222099989261765018311082718169348350340555905644475138609937044572083366568388631207185542261075972839275145805084833080895205549074123189169733058060740092807921750206028554530375600644584421338270970403761090148653084455732973843650324219121873457225799632914701286774124628377394818266889738301333787433759420768994564710478480302086560607314824084645664529526803323889187175060435924557999019035662931599793513297693005382134900033587008195302396997338774980306534673276659500454946106370008788034138853510059101173815862476728442062004827793457913013760652035747859666402196035150547122849477813945870046371036147938930017151883892934502429656752622414738394416582015671511297326551572309441163797706992889598260106697471197101894906240132541799238930169688575538887684641483523686278179010618998762250208012472062412140025609731608947496248173342621182806590282980612065196825488759956738968628621583036887243648092849956852495421134933307461138505866674343095024113781766510464152481675725028789090425802570667359782409942203475965329730186777663335512514752710363930734288781224602451378664703970489402100664216779473591899496800990046179151445473308619613222842514922912795572714722122069061099508693192688838410916970382853464118944531557886040359971231807584182882163875854786847404723111885190260816088020123540850636622474861460067675020079796966452144226434945151809194879658863816507302834088570053588288017714630185037756047210909290154602993842771809984488879523272106845645452891156241819277040460938686887688493808697635020771738878322035611463470461110438964003381840591722385520429890667071256480692742304588915989023911861001510099916594648864021124893660304016338675767537719935188704988794866024300180180975082390503341619966840300228636596138446109738703410993140069899442743451082846400056464541830566539996381857427412458654656665064394672397434226293223651452425331273937183938317703842160456003442368929699318021426683617346397747364001331679031291575498329061379502408650755811215215553401076334034816953012277563028959427835956535441244507744984758905820565402305080709477493426124118137374943526046046186328960240929462275996042528176847408353936181191407831858313040411311561606923867255595441271141614986317824573826746748181172023591992428818760987753809077520666506459800943877230665481541676106094918097560302451043973876532230468109777669104845575313604404420265505064844254204063494200681136549916604945873839014650646767483373957495575574868230444358725968090196367236071680259817838523733677741034273638957672801410634787608183509404140088267437658358165274288523669881613474777471947327692296828424946708268041196573239000848398429247006374931091681819101678408669087994306177162182279395852478293139866547142373852445374472175543856352758080114850311538221211439201467299518866421776784902405444438001316782674801799574208998887505859097620296593359265126621979434133675439242609506857984852461256425867714478290964489413168441112024167912252450148089044932950593976088111670862935535476775751835753929875023235620542439385989263940251341175044231373997427836848387384771315027945382275391810130235097265520839020072795156091307104823065531106457105733692914866395486126546936734434375866834194104318385351493380213894215374084196348142723909113721576844486654956810349399702400256202360895093462443583585958216465530906977374714444373742822128869631659861904536433121037735605030010824520852044435829465459585032210674115310494964174520748268051953701113656114391377252300807347957445707965174281270617016183503149938074956163426335305963405450281094597985045577963628612705761265702426709019254713840374588554296105738512126731843266112387602695335583778410860903152387634952465751006952443715113692657916043006359046977420327417530399549714674363469852015019756644246006044093205106742931632067403607272499243477623109868331735602842763903563590896955292328754039578254431771537742419222910755071915708582022333430004143995591403827451315041815075144570190104026152571951039600209971898894556809991602316725495991403473841397849846461808857043615357398820952176258729962995425627318660061339625290640764758783445046327500794424363863288029095036408637855430520696413049767665622633339775391730426485174574576329270982690523983164043606947782479341338821362230257569551358200834955314792114775247606394394783912255569972843868907466357387499234801691663503605029071381358975001628824327L,
1260486396406775560474082139107017250981651414420231513746243558864660941070788210439087982821262231125649934198098750351200948898659500792784904734074868289210239573668700215087840104070838766600154713212344530126461015622611507386862658866333983722163955377023560231754389518476654505216689123455565144136396625448632408580865374546351817488865957948233896127710050491090153403940217448451919840517724373087749159836637736754580945421669537124481300740280844579621210331082405380245298957840928306711265985296773013319760811207770979884792052650769820274649848837667971232612382783830920911721787089605222074688320021419483016371886270576914723554962200758374508953373532641948610911509255406595129111232662357682605717129259476606982140347545371958724078802670278746658944561812545888144882793657863634881792315797476883918533005344927256805414354977033007646820772502614041613098909487147798984498518658061271006708461854665912331024870420020544749695938473667314306328269141512175068055641799123137957954913065787420991823858701806709843455652488945577166902422030226500497066752150298497784524148732763167049376199169910578470367438545840673233354943912267387313329718978387253887821785204138695207939197894716003259079961471158236706946648646802610528796224009382418157390382972736520327382876242662345693284386451634970132098058781162549475831129386960902081147315676365193096093048953628033035986842043016462561791195964830124154272846669411083146638463639554622283276280646533687993649634896069661102505910556985081920633264327543725008315535072611747959239065685431325948613864623184327708123903739303360411844682711689927506715552159197602537071346690414027180190961667324517905728536635661325926867505416780564868993333484667117724023391319011308583917858192767711945209254953314770105033741731032701669082384927723186963738639818295964669279210391411927907620871604918062618602794953026452623340845713041223339497779977521452078782789054415232752917955220927013146300621682209653024933331733480454042100605305005340070791382113731910089844338489028648560340356371040656654709279286100443548326337264354923865241301645439971690718086627562775051972549754347705125423784307921875503914240596838087931279562194622238252770231354164823919494123596668608298511976688146080296132787420050416558075186901977367245271216665747144468734268821082213796499378544762682839319763235577688366016892178546846245879976915500838631368374264509132071712414039600345426734578261949292620253660578537360425097086957371796635801836755143059823924941844362708150882563552577953308870652314611058587118211259843059521153124745607215008691214157786836199681297038097649606502302836791560232912895577123457049405475361759207920597378369990744617132883901220908576631214021739375827175199449323578147941067911659441447169826546946615085701673250792299323654324201407408837172411781634386547879215570425647167789410578821215818300385863094827213298884521758759152633130381219912014654794549352478622760552534609602736504308936302283242027406338405966125200888213079423866537754689808148554747844441521824982402128630164538695749689265056084439828487870566472957981401296554338332284389166808072205962650942259265772518291014169360712165270042812736669102125372758418855674233852825263959832234553204387829159647319816916669932129069038576287802830093995296866611917879360876738245357201859390438639695062605059130614953683240924393459533318936628791063090298361599111068926253188133358810473027329751881177648573447885816306004478895236019721718363625459147790985055106968948843292606407691316635634229782818715330121791697081925876669525133349837810716831865453475705916963001111066292854578604233420599513627329522859252713409466449153559646858287619821862850364513827501862510203694659923000589553128991042076121796158522053819767574443188479110450526037749979341861158237133816243954744676229716043766720266705102961246560803649572691627077177082806076190401774493802154486384332797274356087310186423607148711628918525442583163853155933545937817318408623956362110567812259492292366004464188737907723027951341525590146343703434414894200673689887820558652339265222537802089355077984215445812362626453559336495235101470099667050690788332954532703544530076439511103868412088357929157786543603056641159039344833906868884621797183166376599960174515301063598640297525414340906052579156717919656619629724360068130597668973392858700634357209457870692984671587489646646408158943542886513782722805970492654338663500025662221736093613574079059274081110749067394963309403275141441536413042609433665201932523714330729357207905826264810838571803756234778804957679855439213733991040626825439434372694912409038460059186318683797015701418763199152074256954585193240767598888345081669584920388273365929531179225149945725245815673480942939070420705705162100862335935188629834476563457021641319054144940145115240921114017846548017848612552348985671586276203882557839489526853306598525056795434683677016632740489297412460480019219223824356590440484736983403123553566137389902886555174367244274860235950669583105388667072912506538085618312205532911414678883767392212087198783824861169094950443291424951002592505017288958711467996989692197750239819206660770068775979508591846032383211600523601029139556390958093335258009805952669655622849441575151793574145484466314445583531590590159070140904889532647468536869987449030831222849119719818892776585108103259028306313386116175511241480626087864394459146334342927479418512200928325921315645827910643237813579130528108752084506814541518155779481695192043365413036656737732836047434728685591223699149649561244283664978669122958722544676481353218409472953491578990625303199761745224320054564334031328190735026135621721271216972907752324467234677806177861505998690885629850707841230311066908855108851331866278270483699346009207413402043894312402133345529019501642113976646141088583043319104471749413619492400120569303294717048031074599484146392309986993040504542810078406644080819754378188771228086042156892200535428038617531378859964148669168054033190357152337559071766505585727747659528245112648817880983903226580630949935129015341087629014603441874406528226335041371654886055300017812672819617684030835548708510037231155936961503670763003921186139685981407895431176860877817340639935493931915612671544562072124831332190098721369514128504959034723286551029655235031150034493330609847404768359618017143875903077101142979004180115494777064349568295739231L,
1965020288659514636528403012150140010080240287038524026294505953697654982408348249924258376400227462392324448103681691573481624812089477234005702582078839218259591543058745749881398212627646621881585606547705765249316641196964540367601067746919354594096840266502296957079071981553217557604526419033656004185943308362986406468437396162711348546188199184543096106914069049118085204225296840818931560136336418993295692044308660311404392867865192387212063586334611562854291595753726799455849309950863413665894805119852756091389153491937951613219661634307210859324431361374170377042424492717866250876259924227625576069329995030645468699952375348810914596226664087755292847273550623554992100763263685694770285615366858537726726486929066362144980938842967025963577757025668353865408421678630376375278020610471804278144635492128706131588183491449527356618459977153878372002787757725774440680569574824236654374049062793445140789327468485130407498153371822261193051135843553909975257835279674628521545737753888131553769548947410077775365423800293131381619794905418426276223680966667594722627540999320799211239338438314328407123989039276116936220965832309116103515865791903081246763203277889978538896558908066458738093176079810397504074075762724011927510398999025450363388465752229474383847781034815583799586966779067326693631925065214206658195129193842337163469777032364323809392704902170137105703582915213316774018970605775905744146731142379909003737439513093380997865382365120302792815920524755817598247005280712591506184724993641629079174118161869567939476890973835454968282125081649431323437583856832177631011844213406195833899032583485432865216501190541354764458512059807820878019093143768439173442784472200404665659746378322716787574454484974801417490497050266269204846565550723609803526225997327770082681191927668519809300023869995361920775894285070111943101673423576608648244696254504179462752038009267802002852844028524904466483306011668144678276101906273017709665877762059767906354274371387280089020969252653686382755255744993635898253744265212627770057128422886849414354899857334302994408672880707196181156877203824636197588544126564527255041217763369165992197385446708578846377632982936946943792190279913224540184945964664587566728931582019152146368731004559996653168815083986157971732482644948762665279254436527011374438865761294473631657835226322649250019116684947359627354910905963002158606985672849776830487787659533270614354870895678759986706564990904597106878842984122831020959870038188573954375554328612207665538595493098903319748537451258256273598057385397754240253296520835195004322913207649729454354609743732370736747676028009443511678468261670825366817718769407452074353200708477280433621112220457805230433415648775286986144028881063267330577945943629483252978373108769462356952366915335037285565186340214419288996459235175977232729230635840170948466731874947879707502719002331514189140760594245994772929382198572203399867482377390637932885653678469909129238209745680326590633530366087652466832646525479546774585231177448844230794982346205800701397026748876623828350725467915723117415354864815953828852020168147286174978532228157590903763060191236832544423152474889176772455554761149634884808791832488072768368335922956226382653900436499748025293659125944832051099918999473242197951024162336382511214464453883784329662195161572031951198810795730097355872148554655839490981189284837052132345808010543181447450058474027603072728121109074197270447678667022070784875080200595811859088355311995649682580868257177261086030701056253058996443993851188524693139184663725012388527057472729490495288673211407767229314716760216682721398047452286192053771959216211072663388932348619161905044084287896160209973007500411014700233916312177581203191257233405287097903853800079096986547448452004904998041608612241788744878800087234977241742489484785169004895394570490343169414341183886125272948618353437236077903920545458372551585006985320210908160074539536097005930749962087328346145898521805394713205765979526261100708569378062055193765254681336948068221066261601151575137952188920023000092901045418135300394127713035214310451355875337487262988469390789425547983216076550857035756537420120554352390965014465835644430398642805124634720943221440702708508066760887891994728587581109836320628978729972274463476977838390659829217553425540567550022242235927313691547324807708127233094116790234906952872184324321471613919900091145547084397586464016478392590694434882213282942616249620442712672767564208989951815921273390440982359297989561385508911495585749335274876865106941611472373249416488804110761001761677877157441261750140079064691219232652495466846676660415481630198626997411251498327960054311455766038464449526751746153578384629330592239961780440709016700530657974708389169477710442756004850103037811324602567297510005774725230035264321312972247210972579318207005178984151597173864036192433423587497015077018285889834361509444211630938810566981953398146086547856155316468189230411211996613238081097307588025267102035918810492251031471329016183215922072193089035639309301159548585105531859179657697662733300436862613438465730122381746516340518808232259920080473579344961662928111197585623263468632958685561468014525666941649743199834932462477941066611041143366849776774122725584472518834680299742559034985330813717471254679745638052070939996800100373458270175840372240563144465407320674662608720764096958948593807071601301263966633819386003721295318317368665321322876466142605753832962005107451272742955054156109166719854471221811136222888713932401799110329991461105612069236717400850733374454514972325002993992914528650110836296294290504775505958376597583886614858021867142539984921625529441343511215309319057517974081376396072321974931991707952333668849629768345894971916731478293872549449559547799785646668110450057468329088814778101946048801772306798535911048183043031956983130858660418560198364430222099447196076274324075672954412186966093521709008223017886917221083590994816242742574645020838041246913144976815006738661598706015982957239900826122112467152290346726372645632665450331045963139663915329978932343359603269014758970028051928622680204923724474463505311777367379170943051602003609296249324072137974889575085820463320098471374394277711101103667826146331203244752269161481489824344134827940142785422147532277748049746768898140191447375632032149621014446528031576646904553055686085263539209632994339583770192681531332935965599566938720207259674734280608L,
3063022926065423171197511411306348531982343966191813403359696502821310333781891838724973670210841039521209477391434611119351672059312793230754039365938980442232834564158694206262528009232344691407727614385976125726575411357359885825460163806585451455772430239534802575094780597191292098012522208427185941237594868722695825925926911299734857489069815036762320155888628662166877149742539180544289307427314265233410644803366625598379623428355008346736992625182666964266941679725993814432168263930110040541827081779386655178594097105293529866926092848289781945239358841845458897117703813718673273652575577408417306818948324985718075305868606204351562225084299528049490155287359682722826023645147686578819134589066531940734784616673928759633543019651026346684539874302397678030426381298281802158312907010893100375336940838705921477392598085964873909722841730796216799533422286775218533816004679366266445758851345458425118932454663819386368598110264288641987618548230657540473146177645525083453235628430136047598254057926522705243956797725297333419538394377304356407402075646490798400154034341244115634407904500245446415913347174036763407950550651386871306789321164889129329165029628724266537434214951790494365794966890653144049693154358830570794809027640833522042964785673424670415995754376748677852786778497132231178600867318242012199782738978128058554057239504305456057707110494260479529765711502876957062055055546290063758314833720044540110522332375548639170394982298801651381589348868192793513516046318253920215452941809426572875719828893367989102045382855127302347696519333825530931384925177618976706306160406774625367275386310863774412737527333096254379495789564258268458328852820636008334760050796893690164854527689835439748732426776584824478140982292787704119725446089552203434700279544871569629900804508484541412833320848531826573291652048095905315805758940974144617354325465839150978672174635038712388641907237502730012951760470773895867544157002786503865219680745484951708493582842556788802826897883154894263095525030847547562847738064616215439388141146550443608591145481190980136507990503341716641357324840311868408573160022137220469561951639207054429788907901243361596731255113805128941662381805446647808861019720356954399882131437017942967462995359672375276001336306952974491519710183703620068178398862117733127379122300916145120588604699643704707564647786229011690746860329822106092118747768176752783083388663604934213385750277128151813958079502081146980974992261128690207679260079267579679757080883046543500195996981934918512090312834151619133404986934095055264855640041654856000564821154825919388270642696860596062750077686917291492102250946533164046298166678024735583227019119615654898917038168330960678351786322366863453213943837003087908091665384321709120226541813286318305583435857918254244343284465405969400053169535457749434622648094508053937553738183351996829848013375732424987723905227000909774324576004461484635782103566977894327722304265369828818021552455404592782592713785389824659369766782165653752075649748843381579720993257279994321719655655615532854637207125695664234525447448861028910754539804098925902713408701090019676193627055547086633392679714157020325805296893922395306727334407506745482588258613250436973284160369072861030723024392260143136816505242575039707242426183671310177407692751617388105176439463331907765006005454168706471878986027564945715976916890190401650875298912002333836280712202862604802040171538743510098584087497234222226698762864925374049564098073132876902305387776145130500466201252877913266991786927799028964410648018031668244838878944445260865422472036504123804196233442921626865131360149873623938828320953177110910800674155143674971972152371659106407488245530903609073368989387453962230548099187612465980205211802635151461933839818119593922875088145211065040950171767985038963890389769324945819756628744999913913333953868084103714128214119439329164409236373706675257377267344019064660877722172515144655087291480724806436144027799291600804943544742505831917478801408102598896893637127359209199634868055347207280215564541101806150460786562034784628578646601401902245002825221303832410179485355671889497642622713037765660087070196906574863441191818443970870356792713879574134636651848130164132879621837771989242980806376145354153048807599261026248658906760536100061663673688592560013708420233701027379351232991453345636311219920284401489123841174765487716332763378892004625713037243206109489866360635233083132481243189509334312822252156824412194940257711820187764336641084743024007605561686448660750726195278808561609145948432209599851087096691868327603299799298532155691200221653939342319297901809228733904012432524028477378013545023657314684901894963569269918403760608861424409760911494700053975081821400500520167724934124879617376702547317287287235070190161590286102532409775323963205392719861636054175231313376341576705829409133297817686116068532859048160289393550577697758844334425237656728347805516936045962246630961784836796178775140482509400169931232053815896918783833032222235001486925601665706828669490794142546909998503179281555309358927656580936099585166130164021526719940222928999138928704711527049635743256162324620837055506019977097327850413441393179456280230171644229149969195948396294668959384334767967862715468183835246316695755912188550635590215148628853144753922914711846399914835657020878301328514116380106204040051265799213267145639402369608325030713386733399628605106779130064571714342413323281892227420812747631706086841333120719222163128772009057810474544025993728705219863368689257283662864856871265436320628033069349076704808466870310185073730237476882428386165474015783521446715415591838862750739470110046694108174910040061195298853175768720971546719430765299505909297006444595031728970021172446368023006697844342555018593483030849683843921612338440953568241970427241685798140166232680695518055741779309294863304411692802300651505282934426691779813443575630716707558722236987496322582428765043433784093885238683285986794284205482508997567089149559623732688734671463061165918392421305044457636253372092308476092968372348683005734570099634815265038109752471274781340384489694437054331151192985939598948619229046697727473208384055230911439538344869076865999739432920383186109706374813088123499159847571293011911954257760893817025585262516473782621559255228213967634628476819986858281040223144761277213845196775884484193292237210029646433979197040811834596423278467028492229986792931956L,
4774059326210705814823897364398887053817551292451524270180438242105535033310776049595775483428281164204917616965447817217778540239465040641176268739752813135113990323724617877547314584430574349189715310944279649195682736236151289759053852637637131804384694390342345564197485361114572815256468339918604655680888932794082923124318042251733379074895867186737054552755468466473540479130588565580497600061107403093646608679026815158043613888962502704568443773359370462149819919957361818023753035664481545073562080188565315285868910998209108559090998075716932532724625380801915246213359628279394958842693089961434102704208012622702049949139444597364686835931637012157696637886119107565874866324811521722229472189167306313797042708536039469332135853152147387887437257554632520329093116586226809120893652416742004440562679358438205945360641263698247280460185208663195961410050058839915088482122699397351053133331100395755377273643859777927055337816972982244963036376996773743009478548268326560768374642376107377878533980521935447806092214973834075464456998675387675207627325190808284510169464799419361317204097707661151796080098318299414628211255069514127793594184080385939177745680782295807329213670441548851565717940671758939725838639959227792728536265902453257488380674068754895651825191563804131551762633780159301572912901685054175285943595884019163651250019207223748821954786569428325270892833677449878287020259345888787123195028483791316246615951052055783579600254971868984875229545970140078056144235098827041696382784059712673616024337697043953013478867776706667539220439186847606825834933146149713896453869847561558442832122975911132247959160403000123281106870302950747421998916471532096358292682863511811223063526426875786736971043336416942960676528792613891803785660883376609779580348759514088490046980839078868970674416747101983632883394448481744834967801918067520825651782215512212039018222402245374112163089352436178848398028076515250944554862587272676597080567028161795267875070528053003985382559228705873975674849767246890628083651459710416782045426401970906032312005553907058620792626074357187791367846254680184202402326142582713715774912219326089250636651380494232091019533129522916244318826274557104923330910258092109668988118856757972501537615181120376076071249441318450250676940088845216917871397481825451706797296461591321327386156371122214435331999925017956861677972627881508121885638619948261663675963888868503907327362572700796500559951648679699148027268103431175247923066331665471318963221156251805869009024909949328878545036413055947453402224889562552020850877575141018632673979142325931970353750016059389532129176738085106435640874208438738992470640496909116035242814599313542614069587334107812381903268004739114036058706545508301349979233013553496757198990142425334660303658868701199676889137269209210931968802001083174746647424361363981582173114943539667545378514022296049141928896079210500877526913246890338192578785349534566129246698932635519969235913071882151084864044554721916419715715580234281009611859025112419151614787512014681308738938141036315825187661071024134110188379112552898535460492773451148964955487558515332801516848484404992547526114798927146688084682471545594618487054012362425202772518921432848259205155902851076130237158126023883339902004689571842079030067255166147000210938380193077523380692111227017681869417198173400819525387101148606421736288784491302690659792715830540457228245835469549762697353537503046070339949475743253941233474633181434742310203453986766750542848342974528155225706184814320235177384991456788069086520711444645152967862134889605957825570816115142904321820811596516377813065318179931589923491682645022459981023925668797676598615767292949040699516455255529846409867671651910691858800611486920775703475898614426456876406888904250392229239317581632637799452911101410539164427392354831518618504059842563897654385542095826304862019723948853467068235871305700504618096561532708686313687865661297324695196355408131282311444491424928380617004664328876533710710745973719629703511079753595303386234700447457491775435867986436828494990769091942941423859328524871817480186720899495622175038258550853696377071156718229385834996271500258779033835069254988219167032074475711431427852382116986007680100420854901529762650670463179621530546685234232902476772076460203774741203773441267582800094553148526206234928569278824643720346282952249271018032264814375860218145491178251533890320172108509001361764461762378697687177134058423082116364933327982928502564862364669577952872455035643352585447543093590164639447217000237460811606280254807733411973300329420054696365034495352530980099294214089784316302126725559129929673125718883328197202823526974955585912540419377807875398412729017744993694659380689952821050608210730403636674057931791430273530333813142761545946923995363479992529477593601720718824322669993707306330370894722852298523808685217497611334649678356397413180730149230421783353361964270567523195106397050409554127253214582511401925832383530307277159644401375696038980540541989161230910410930449134655785378783085004010168438429405136307947428981687488674565334389371107982145192041339129443487308617504478480894836298405970199273018750225500474543323542110123615274731165931556410123639008691770660396366867097821536967556780660092207669951294811682918507132895978806900878707894742820274902931279750090639857122573850881097980141680955990109962939892986059241069624064817587992599644170681715800410138040735650787806320405006554410275041989419897018307646540410027142908599916113349303969954176377285041920715343736377440483986375739255635540596111438171326096711791410021352774628919026996202092092519556612220822818832488661880649966568635800665506373742107203164286323864937162897211130599782568112655953188377300779006566318141946819328299901078808479531678489854228567501338042337368944088820187187259546355205899357148738800505742689629050491274585013436596426170411042523641512366169021075202349454620692420342288139694906205751507991562701080829309617276442116742945772930208771037599445015518861423406165678635251084469203491279270803905254297731852782134442196741436886193928604789130190856355500378920035308351932224351151608331051566901087941152110632584106515939026606984105625646090624737729500987311433340962775991413954043318215513489851570903968345124890190958801928097181444094994187513025103577446495531147007906743412106288483947009912667498033810982779179655932722917274049666396142L,
7440116809134521582329436889892061780793008544854604465638854495311191664833347444893364957486981404447018218242483386869435494164203043542258939847314640702193207256746221335736355648338355795663041768839203660541317493382434008025529253890607102360051654591404067951960718190444867428931377843474462684690319572167008185578592974921281835244488343917284556733938128995804524840572660043342290807192338506885869484126187980624868596362355258871779174478655333875280667067258748184554171682608197304616795920060597353434186352915520056789005577001569933518174309700963593466095189401657490647362246780631963873607945123040737773137372989829734651578883277561298214834605075590112805970162783751088244025341421234098807895501750915722439693059467980521437838534568637983781635592280927516216519471696841181288846171698882002316852716026561788308713935906834485021113773630764542802137984565508882054741252135714380388804826284197603975657362417081437388892343463382359074647557288235012356519248291751031160113633705046648290158654035334334076032404205280709588983800111339923750491447337294495455101502604578467979671869278396965865323713195672735629420806492518538907116327977905547144907284929460709571729847465849376654092224965248219095474276258612038406195843010511925187188564821214293100252378450449781029526422222685496992698202443858542565471585626321384810525113545373139162488172671613502211927606862091378186648256649558093570107647564459053921484086591113781297019875487909651542344161904758033707816898074119786122200078116719970120250298883959267844289778770806753145886272211217179592340932969064400637660155740866633285160818696391325449085433825577330194655699448022336231336036300836968439112565602078162039361694459052966792686953038378833233534236240220947539663524278480821068900080210024632077111093867198076251647829534053783400091181914968628483229574981460913283384199838573285819194745443247412760859477239586485779016589272142051341406801333118714202735670704382395254762315096313934767878319215434222205742773468567225598526122366738142592376173045783994039353140969576797234799956882015319577266424862901429562941156132237072461547291244575555427565922407705325854779809819509343990679528966813594681179687412656687943146067186653903459216134447964625818592793590054033679017946026954800885805099609184678068422826907061681905866409151611826726126615638328064990370071402113143617063551479440401771133846154983619068861091591987969187699104939832468210926004260218847409529117231692282119773294931450156398567257392119926005458412674577326057264350562252990908070439429264384755186115238028845672735988779820050169154977340190645753354740061665706078967507184313395356683712793302794457948189318648945645955453631373303654428440213934550740212244150505534698002980342695345482467611082709713323593308420424030575273546563803889929307639765079201868256893494208783509552017946605273336078258990875898238467741940068602939573414267322044946669184074497405650845060578104913365234006698788236839505485048812310622292388053881125726346324698429485527218680943556837839767420403451569373260075823271915283340138840166767698808299707169693559102472770866307107305884661883586784434378563030822372873609775520990059621761239238262947236432755217864371023061833347765202645122986315945564907658034860269462384131218653851150028177785524823136270163192046528727201293948891713209694157334539231842107181323699171184054427893505226257298094728863225673637624502304427054217478560340677905949456210453316956386716144787643023878273151291826035022678713800983168723942355396753691715372577559769903841247333098990238368981012162305300577065874573230536963238215244909381477227029484124168923795622815926963530570819430602446111148456550692761613112084520219527942842225915405172773071385687724666197467472320755640357869509275981336708698206096165304991141103637708324887463148815201570969399569314638835492770342926924052595532959024212527786733962484825252594962282692093351401964806779063308718267664849200867657490875702356794204766919410874989224679637028671617753993897588578534411949530586110897183819092551309920957362893077147793564157674879157761155706354672858014352113002217711069371158752691505715519890887454854059404966743373225173945303686042707220073514688063071769716134863053730268202688878385650277673680273795933787349101614361299407651027236158557958681939052585829621435007484293654060446621573501651288254609891429147497303247304403962307491541768119615992747496191183994833950548073616292051976066346489572478501996330858266635580714414349756209989181245492113127491489085566936534974037616236688562031943665257469315845174321404771626834702714906625436886669686045593315142476296253248978525085363696404201620922033663359076681054273631786104523992388148331709021655223846501877447727290501006227802142626507226478849194602485280779297875277414905752830946496341318623034024239938034551663412097911450997619787924032940564468778407111492144831376414467570998809557329223747485263792125253042351895313341193082842538257912262516771882683095530543633030543688005326148482498940896321229954841589288745253052963478992955409339120762693498798797158572398446484391841586181112736023349715834230013073334175269346641836546099023711759903795876388141849906408089378225596376330816761642614515292841927120300258196626539250407034031955309957122025084045602104427862175748257425442537838975501049724822529369478428691690923107296990443983965505475392877925179420899783396595550125002850669313806125773737632552748179266702643276706722321551329688953225806659000687585015884075981153864804696796919729086014770067636920146641760510799421435986230319175681570675580711963192314610464215585517950782120342435049684297886126367531556252326876327160066010546089178476136307652929054275183054366347201965118373917757546225972976223708159591398162747803974057932270751513592717938553285059333204729439324781629920270228380870318142700571755621395664777254068179960461620574457850502847414104178423074212177514185100937785745856761070964606318650234696895746056132553096106574765151373884029930133196929483028402873488862383858312905552342511010296253851710631444335508298987108205594244130632104023521715133707480165064751172104108506203596487854174973179193818836339550551368210325439476828848059697348960576391027133567344969465519224708662191979242809114108496479480935305128094186302794895271889624810314704376700340334183994501406L,
11593807822108549311253036756705385302535015110825160531362294192172600672680279215517983950728536045082458654720106826645840231492729593608693073646133472564802625985616564636420874536086548565575860270221628327036599192143942552748151564486279668965237840119438733536289867473567969798448913326015541048112964658604622049401886569034818256552454191084146802139205404301491044288278441373017479791170693015902870063760484244975693477184059579511351471606545169641046620542686744710849674145102814124064746321925541190394508351216271060168165002398143526216029290418011939136891785109554958032334557239521865053280170646097780741278907723706909343116487351193203808637334494406068374709523537049994393137395532062075787793751962119976104469302012708887539915385586573789211950601673908767308490893103391026646472945988512852245205048483402621341792404891676556674578970933175511221220456425585279035491135998535426761539342192366813631504925499120963047803231393662660538794642014820244367944247830773206398523779397332767379306363486606341150027781890004568269453629491981914325491176883168582893506879425106829443567107596720732172726493804982942812546027351210857030470979850807348675737041795491450915801845572515827993523952206581329026726164254020180573669063770492560719580370740717555780256742657698373891831897674418651995845364398456417766729915120279524746601285585809811657473876918477670246184896251477092792000556194139546206970813493259742185604745378927779029259739646879719881308050156515106210955808179406895320489699987970902600772565615645597131163712654357427184705574337291743390489543533100703132247822649393624617872082002093218932652909985465810956449026653811114318279334136463325438598746744822814806472225589774086216509836218361843578548009972929351115336600034415854571321244006309039674552294963851040693584554633972097773709309715637515538598960956576756621797773346691248226891367813656444928207443553866904837017206837267422010380490759511219857138540122490605385426011771376030825423346506773728601642248144680453344933990818716731487549275266172192846501278171238790754472351150015321187329432612040083636091757198721120401520961857208648637951200059426211431799292340545323429924931946913105605853552216394401416956426202994307467446692101317855991900959013722132481639532535558325770782035084630247937220435716539612365383122598966701162350593183913427979982309368538467176739535390513012203612770843702494551945771878026416687227269702656523661794642175290238308763734821872929204329144734121109666393414815009065495840225289612986902393943400213172422862747239633470838355186671740265801610710177165092654574716024381683031085551749746928428692868347162875068382346317138625914107212588679983630812347755773955426514524510377746617652452506710569279022756625891910090078527779919985732205798370052012915907817329964200346568556888070215287400724682525128591097540340039112539441740952213284441436281220479750719376890700887940341401441221277864210487776993439528226693491682787529742985580113478999018296912052332458353705990917212551080644208769016388793767930524715449091321919580774327891214536321075974511428849000030688180533329747601870915674989773221610974729650332407886343577522534300078003064108861132646002198011235950588680154017985948502211229451455489493673313739443675177832511620853701313730782175321901151727889183168414070650232349015467042571814915388347112882006946669504034020227292862810708217874778796304902115424782561100568067371610450273255378543741896242167531405698926320378111175695351565583901581062725635603129617774612102743046208953859402229008747762606671748474467320232107499302360465998378568149436940045220027375404723050572174609898316656970795553126693312416361209303863927737186465637759457470022083966241592499914715309061613922782547662793607957028414265602148622343646870425004652492119934398300411488875178744508149468570328506023010982325736470886787022581609340276076646434267290634434551844440684740043544850403837672473392973434694940770603739865468556670690466129729547080700457520460475160222631931165751061852229935857249652282256057943333495279294704846646403871839740127937617752737230226265767401122473706633810358595193527155019085699369431871035899993086044986615584352479089352394223039809329967813676193905618888918220003825145000970294043797493250332370764121366224105438285135369902800446383965351576088629609244176688668660032977409890193536359718054906979095823706578884370579705177880805527044038665162188834902931522753304602512448608323814495204603265543961404840982182926827374399576258416471814855276856220360369228735408866087123695899952493649767612458643356114689749681307301941399210452358179770798704644179793783370212379917922461685169332585905326816674721707418279154207271145792081461269419523591813914997992176604997877612196754162847280785318661107276645117138793661580582816656762168918851075614428037382592116871073637824048379707388244517809100406470269424726504704002471413261669706652761204862363672174197221756816230014096561294278446369285140229845289791166489593913629599340691847344407393331681203209139110222070286101999252744933375681897088915586333065514370581112506655743743621287897023063258565430142021084640867824228230973849760823728187823803354850423682745018503663578625321721656258424410256661291245298363512869720436898893704721056810708181056853632972898347839202659552096078147461206323079510950305984184311070653376225083959011456828199642216274371970203310689610696866124158684214310909976084058219945893835143768022939019596734931933081527349813406913283744589790570106376890044758017672525865242895875484458841777928177798143438810670279235669991753290003108839174008560655164389430329550231269800828283901823652696218447209050751739524507493418195207108178177974263515476904075956931163331245336826261768385040772369514289710067728536267942579830778313944131472205604581576707878080654900245878771803019981891303099497009817704629621013846758211577426978197884590263156148164137074353595195367550696119142710055400790663792876821884465265488381153512569157013148185728496920449968103148224601403627854929354434957979109832214655020945219113004130729495743473606978164886328219176950960663561865056690644645230304816372010700516896713328343690430151181186468070966662997245311413842135283467654979085948241606912470270601912408292571167596000539061748849229136927308965055625933479502153205171687235431014522216586011063L,
18064538213139009910093124405139021498398752567728629277857229198278068762019642199510880660585504040588804764141418285965027716832344498583142287736655835947174766999257797227577921122768772508942863681938350642536686179332087003334262651227959540369852175958535384966303678050803787790984883116727377442938079381535320160922641736779185381676909976696542395926325319307780080952912492391896370380735195200628173804855719960196777450224724343381634004226235148807604472112942796873648456813429574106686314995058389590374263251299818363314599494027580815030390894063861127731000964021277060454039669850910103578630744028435600382005686172943308397221765986352655458768583851810811530739090795696796112233234729392099574567880795366037410037864906782639566882973297394547914757638041609898794807550691498257281978315483006780569593902400433423004798308949057866333906939366003534473272745056366421926235052007038388922795805897009508090949126701254982756276508744456795558522642341483029011755379754468327144382497447134231669452746273354695815572072516047226167588048605491359581692233293469955762331945174999807778304222231902343183047288224126376532538376393720955213000219644905787971643836155441594224938604121784381809537628470223036066198871124529525671422869520082803884366272896982775083871078063428865777981716737640007770381930170304900651138227063000148412601665442504494648571421182488577599053098054871619841042689914020666339113532244470342570759486781381872351325407678025928676490304160958453662564587374641388767571339881414264634386883938897130646476509573805092202104870503437321192050001396995651351923874378887655939659660924998937163329156780144264770163425867364809818596181589173672603349614070295548712638312381067305006072483291736686676454910791969860198566708047706732959151565307157403574226792492811135987659865386664511665164871504675508170800063324715088564568928015058326465620071036351774245079674324730888512968437271335649628500719997334108794791371302098137741777501380797351101322767217918603493196606742344208159354678633696405835085968966555512777626099737825474891460540537588588488112680960284172344031629133556526260970531693132743219599778277112852303415033065963305186773724652150482695359290438386556687327731347406524095326583897631256267592642568288102651061717959357144598688099936385057975559734138990657707254567373356667233684827201153469360557093954780329832289217272270648762907099711799703413033486553415918597540471629121060838699011106362139883919646753060758195454788916258008940301629928637907412494791673649313097118786180110927905782536172858204178158672691199048989272858661498722859061489653955062472948909662985070216737004459070306136330976795942129889791101005904154592965664116842917429363027598572112983150358775671753725271918258203090082885993859473589286661680951629800691187212735219849461394552419260614465504699774871294279286712292353664185385651543042828230983923744924524902490621923304299216329557887866568455480522021537465320587541092961464469959295662346398973500081376620118547447482068123801308645546493315550303220868073502597983619352839638122853543752502527315048175419529601270544750965247727913519182875375621389229083037327480554180773831103905766136538758687662896693729990849050428307566942071493348506007174486590549199353023314588477667550291340302865049494510523186275563216930840033165767014487386318952428839641161607565918044707682742081871855041248793500541075786405408388641029547450141737395218005824274345359345752023857033333221314344234658896173634951514649717357649985624060569307431567898663897501608216425603105202284995731757741334790620112236089299893256527763949569093448292740924988323539216548808258221766972108224279974882890779511379241062800331708418357268163785144619061267010785871611139718785229982383736263406727507974357471488129369464985285027473251109258938942056282229846621029052005080692448577507801841399156005518316575481735189991849641352123637205317203277702794561774881702044020007322945201119119908591239687918335601617224172068632373653462759074495510627687789014745677636663793188077721133406372270146407987808904710996734001089295813838770101008819197386932844069075851574561836035179514141326882668092305002765966559309495957818445567649475253607105438401827808468165860218125296510539972219933284841445150597408373339557530309615752766460275211350042597654989634618024946262346873624460962153330541765780051648954227949535366437859298389186891889202028261384603404761992647787407001627172839352935912335801702996778882161009191198306495265885024540543785776038494324286347941591273969399064801732659994349938782485120699832413991371978639100764176607847478429526150640389800808796779369274283430642102224046072066453014675252420181301856537868992611726123920014130973381641167459073644817630934032176356423083327909633202113469935011272250614308693079798029915356391645335924272895780600884196836654927719704398273067905282664721459702137411492831614096439787058101416920064234244579144042926489167984076890803218067310387975347012418417053578401830028377671157367587257437611204265801728713151489402658393152993114526097319075014381185248176194891355288367624770271531534036542095842679776044621315661759866519409220263534279316746567632955833377566252969205395132279916645064467734139395800156464562435378848488521989680495945686284284945478481602282303075212835134588823807501283859743064695229643199930104512670220750847201548226329472312000655644573443446808301410381760821187713448670541762186443340092342707246277289814423904728992942737834390569523935884863324973486483454747065999559934280235529170123384438367210986645936614635529053197039605379638070537527333951040334897694844795343090990706100402071488907510192967406945038106732184994728259460912957683939111418733622992787168479171716117389464383816364088213911066417154433858484681983436641861301100401726615957947405852695548343910143072778438135116217187942902367204740307752177688987801903159292551289406259094008941672282449023839958551576327029934754485996557958314126306387514009605345955074226159179278896720105583351574525825017608229856453913626181826156616143652062347306893520116396069664974978003760611880852447980524949335258164795716556057489188955174366761725408778828211892110649312178176677374076218785854578899041705868726463477198011971429130582429259729673270092222501506114525279956320214666783053468569708449410461898607635155561802092265779L,
28143757310439682960967105985579619171578995612695170314205932893960556696937382866261864278702501304485463648900062031433896552721392370031049639534413466170616538204202129789941911467735548620582979171079649961803508430986931099475793411156707320004345769855496757346967431973883119383896786007968013590862654329791465099691572871426075709528621136579619052112813328207839207604057855102439559238408405365952240081313198621313109998780713532250115187407094640025267911114965601155735026353441973018305560894716723417221254952850687224113082331662727049333138495995877265197236895141799881669011716845259322975676372105108427204249768066079365852623857702939681221685470310657838200324502133336625976830068605230279926163050797349072051789311031016794781809770268357094634519142703518933347275973834788630889674514175481249811055910469410783096966325707013877992686223001607621423658096871419255525460744699391688232707982070321387775190538353969920161988850839964362986581216167499719610349965747387642002303185070538155787700989173258674690553357601044378196596565577254673560601489507344920087166605015380122103430785313781623355390219515435288471354580421538854830855814660941477028893849355567874071638367231655229623298096801631220658646891036088773363290310142972174674189812809571886893600452120490329932088752469475014382849065484529037796802520450778441914710591741863118851526509850856689797529529687735582874726599465786353245781229821692913743142326430564120525820924688184834750942989780998490098849959182961670817264231339321990975310191405235687385468706237557813411963651852886220663741394436163488561686391480287062076158524396674705527968802970071153030407732000758467361806574440793283239414518641401951751227092410730293123003632048019411649029801845212385404037988791928208739124587664215286267930251390869303724837997287094530403484896761182960061484730699869224016991624051479567964146686221274612783221552339601292444509454566213214854302968430745226889378593461308174168684411071044066273966326017456950746249499498500788308418591871615471771645237395952536538106481870664421649400267243995089824236730702172759014366811105111030431807416235740884640379896882307489737750117161215267397750470985942411286245631338086490983213757943135149569451840060061654110467461090109408410776103465913814474208723655833227941830138029986539652138389189694110213762189259140887423616637796624233451803501408773820591998152180952339737578844969774810932126275397629849102038062073525376792608770900343030074941934011117874664710957871153266607708979842229691180397233988478604710077237894793813095467592692375891651663835015477497796980407258379649206277653848593301302150514293856181925430648399513346391989225655111427203022576870929168095657705686749620257231400138386491651037591260000615792091959012772342275155169737841848507122362470981973692463904228914679807879555351003960748191504245448836698182189591206486082169326408714150179686382464019684973127183893973798064441457485364616625691582901833652912551995569524004705185055898995598592880593859721422589000676204131148588982310458285375980027854306433144349010085438987491738878061815793591701412100368202957639478771778645864051008176048976140390171721709544627906891010162292876450925908127813724112472937398426874738005396367566573136686025769443927927508670679703759298598275886982637773844596162939339988046155006405379341453246085830650303188810480462371336737878157398048094353234872048725518620340651655402418790725350516234889262362616653120169675831827343365640617517412011171441742210896378234015093668744086423092676979984759796679295865589262256946836734773328117230003831675167432285211350898817422298465698651932266037028721180564320582846119221884563873344678135744558136824292070317699050117269553308950453069382982893415762941666605479754685061568796359106630350697305451749230773729324168764544961922015011045886580907131494096129708149056905122435959868456980543741072093537177861061480451668541740720220062121643482241839284190264810016430761385464011666118541827782772339244452634303767610923721890025145185942297378305474024576947567492431895926603835785329217931738083891902454102110936733099686835066928020124529010039301393793075617452614281434397369134997255699331603533363150018336500934868695913396081816279544546614258419115708987313975052221740862396881734060701108668576893185839710015313855937187994095185484926168678477087817844162249783188635584064744450271784424415348420644620185123269079924038153282794716947486744986541939625835983162427658718547319308695006337760837199178312121493525683653562111507147359641694942207637030474686139192921628743187264775816731618600890685517962196790746872134386171444024910173717639901067542578871599703732769842409778621772573043649064316616869735285475973712561664653355850727209358081726820008263074778103262981149218827238594852042383177610846185156001951391592543886204218931027728026146271393515911022916856411069197842452281511320997754511899678140768224118706060432845012177205624231684666627369793872787854708916490767786781410632244657973699799580655545157574349291333928453264957934761560986871910948884388932959097106235734602609217628521263963363962137834433520120869350408919137495613465716179800460703832420532894666000187021131858960466578932562663051612155479020501620624762963029292506314081252522919557178136380518557743214783293793173309653505978075674022152134932748352226937985912143789492980749226998872658589451577253478040890725176635331677479227537053891185253448684949995558817719612936130020722368304108697463041098422029068904718048418968192498087004543385385621164300086203314888898010117656774486869492419544720922999418341620628488727717143964488169082035752692566674905247369840235518854886692146316103922249060635833678255078773074926751104504229723984882614023520047940021743778248335648032100104073262879736655675640483460097224824044841365001817120713228454136461377207238311783627530830798987247785826416595831789146344244134762129041814890430838219304645095591985731608170289162528349032208363496585533304486638965012486526306701955401953958974219635226246138985418519969507677494660522718216615133049196344245048445738845237278789768443575121657795291817353391707600159593080479719202772806440254546423728795949920491734076825983778772926362724847463630768171275029285920194536441119935033806971283702881401564805410890022769459373751151888635462792694706344735987931820037360L,
43842141451327120432879989624269697947227460960178254985855443277181781902891075657083260700936681432072424704397940909566428598109223893073711452016845805143973332900042172658784935228153604982525601987548215568699737212523277370584038011215372752306264896957291600655761667274113794813053059430622019316654205304213380959088331515310813323399358774111765361792476449813244905109859813282463278264896286566985053274196010319232478748373868283484600330015006266902986042747664793200532136690659765923717401398771474448282626362063961338040557425593750474907264837421074923174171980007432052526748220945837616171843388794369580317403534344149271840879051173074337638091275814722078757213531301126490134616195933325895061532458367664953218658300818812397429813984965611131754236945161420345378262627617868805959224950653527401332555902102826924044808756828030015520389304851478615089308288624063535922121447932878627502791768059793571428746161627222515330269596750648462046994489257213375990941504878243211060310458228610487672183017219003944708036971240515377337107267555236317495900341695061084579183346921281127322345578932443197517595655628885179963737022490591499081170686346565055269591165812117325429718195760087185766704934675312272064053718989781034258145872442878583712050609821214104303871550953693454412334722056431020703879677891554470608099783046311886801698317222518096641607439978799891342768672985211217821942117283314222001565448263510055458197691152047859577017951638556651073766972055157381733964938179660398857689070254059474553418988817533889698315489093222307408419860044111913270056129367018692040833670390720912179131610972024420862095349932419662336271145486472228065509701529179430681572411914613297135803892302246920631017929707440758444668364741087465868376271531138662527159894637271005307261161866625247175829965512423413662680977711828463798140971514923776082514968514821921265474315027359926694242553347745220201061946205599026085062096038309978612564607925782578565348958744069771659414544216634763056723527072425582085393984235580565651202456635121912906105838586280593577175086049484738242080773798903821653192557814185048263481018522756341965092762233401372006746185346292488690550420343653990364413833913234038658335664948650897767824332908904795941953880107993134190058302761541903577993799022191315500121699708881349045969486606920150519820982598815557540032861795897759715041731312484322385188550740135667402811669209987605997123085569929386614339259568140330733270355456362497980828269778123427962506735279895326976524700165253675148285388201502675919638004896413137017916458505260145076415823741857414350696498044377500130896169863534142972954186690767652723695971813572765120210213009083328190688549594142239584326600403348383921394737843440329659779750576063085946608857724330545004459077885173299702606720460928408107536389424367584238174395292929657389313499323113403125237714524782523391591846571343152882619189570340810115105006124770890590729409404831773623212526655880378502845850144826285312732169705278387340276931391715473805022148391521178731203578571551534995643063926096711189566529863637251602788236856648430809455352282981594188457659912969797991274240300971637108895365194754885473338327333197872294703340132446169747928433204006330879662113563512223777648853932678037793350134343238914254295039446303167768851293931382788397218984976630743018163992670273529361274692219145837856918845502058616792081926494266385314380959906689394858988756915892291027271914923949741347294056794057132944909257428278449422140220792803585527768405489046528309169379423605071291562861048863915558811486710592333020569055940303692362209337916461954835831082663109536021027134091800643246761623623306519824261054118685161102579228451452125804441345252214193805775782571350225988942869922063316351451762851410549524182451962333292841001829853361875489920262412337008492790756532036252728268313898600900865322555797292037419417950693920092001653910315737159364077614865682588891267483703308298830208281672052512742371679830774946516194998044402226301487041117009148760780209884782086519458921933978668945992781692442590049316534747788952070967895331911531361449878654748655405708519437828292000385107020601549840432507742837356955288207593733699237337560340021797502081869770320642709977578853176908807747758742471458135141278736564771061610787622444246462823601553091000555634813337012704909014951602106853494097866180624304973259528255914432987737375017924989688905837911093370083182823885774387496518036653911704831076353356800161753186287752247684768625457321296263840367995434658074230151530995830398889808182223940594251583441758973932998432573536399707314243857810165684475251385474938397383320537446500035366095185130810323311491133028373715754256360514517175580760997743263550215378145308330665349472491781133139919863222133716952070171619919605316370084314771340297599352018014926218617669685527917658746692636339988935024905499647287006538420824223800931600184248541588454419287611183168376619404028854223262453978128297015704682103253558644709160379728719666863325912412708270853726208821442168156325358009296664226751916054463167307325218449106400481476301506739384056860455000083692639886696112766162567729226182308264235223786519957527334315709181121999348874663331705664574797893175511789219837632360920356790608463967731114828953963381847548510785552802949750330621852259557678506463491590163212354785579744286354391967587237574406920910811420312412867095752214173784705181468219940264220836062050892281672564903410757490411068800915973396835153446092294079790645231345823287937944266448743511597667041468479681815941314916608926869141523259559621855720506608013691743084454950478089323668812450543289442810261660216285801958648189642787666901320702012712473840845957369545201730253007168054311032423164041610395453085655962770543340017667325067604537696661251898666958376795221684668099423177737850624832599023604846351611561553994164669337166372137668249513119646961375118216864268931334120293526326278003244713799056183184849590428942545098749008889085812967592648305015738709178584717686407412438712793156929693729799938478391706113364960465040003216953439131137346448173308924079196329329069252507060942575528155142023271776660360574505510345886804307580752281975467436692946439225500357244386182577673712066530262331815401782764528735251727222597707589538157924597765347547837150489334935082322881071705874L,
68289814362057567839156615841670464984476137790475634657485619182497313675227056632917281788675617036681433225128550896441205517289748400923368418246313963750004739385552592893082751316877544565861753441323516972116237295086526311333703508163526379188508724073295840000833827672385670170561983066621462160649836854276248014649566784451816074896798171744840657232400353225028078069428832867609047233024044229791190221893692715680560960514997211263248955816238244302306736789137507602578029248560663001971710680303246275476382941994621585427560485621164777158481582438578012330591229892491558941780129013580472443143028633947984631195645891483999574675882601117502555506401564006311677868759050738324116764154727724179424935649640373066719639653205840566140122398999435090839609015302773105900449591843788935739323724829646782144246051624179200665247193037679570344188806720509012543451974459903202681924449699653984323054971691451778258271201950747852052091955110763258974741785075737365442703900288918241087200197556027068628885971234542209226468336341134886778629926081044751701148920793529008402937390408213661172383043256965723860954356709589753909755701881000803760902510876613383135027102513572405450062401793626725652398959667933055444568922520141665085947000700311454210955130823635721373125649863195850100968807544764051854943625510024251103465425795075977849756019227487554425015526448294067201240866727810744976432659630835454572985721166985451658347066938397900292095747239806082946607374363509838828915461547222253242273137136343771202714637837070278746750025296683934552104190410148816784143569815854167486856963677929515174730822095674662493056549986195334538705937938334035325844602205082298730146330211022970760857255632841198206753210685633919708461299742128886518510940344302967806832962702071208372924228065003832888775248553484963755327385084323570341207445163513434280461098103486277915142735494230468374174045978225231498173357338384404239976775314481014424977229977330782054603941674869662967609610704585368190242498195501217587326143205841173670503895682608081728422068833495194001432643539671438500849778722985853183637890455164163395998232553520669931908945220878357829722187591935770774181284385371834715226312064814255354972695648238288904367017954763213228287832198235091455093811957714027899686109262399327882092820199979367592671896383566320212062688659242020206588357679942099365513022566186151968247862904953403026436360858197482101166209185150712846239539795518970535937219672463118784919719735636977512512452979514543383441549910138685783689087800752458017231411003630340932790885394541619733609866139343714850487107766021719930659502778011603322526931100728117370589022653919720634273898918501903150629263036949168505221582210212649761721997863134162245267645515902561673576192569315990695707287736555192771047728458525025520924191677119666485782183055592243703485842056145909148836115886631041573959046579589247478538582016271665548052211986640271171148227304742203236583009725950516518060188439681591519008131217958838535332188709178214806345593764255182631358125339593432642789047489637755417096769863777738289812554686567736274135148221852955779719049435331419156213533513533593164271165681044626546567875391096573725180887831294166940053389647961770126350072045790049182208494473962684423506097502689855836881317178510253488376439929882269773820353713162485945472202517443262364096542530056521240462046237980556255480640226567689239906651690658674578148080011105400901719048307420332606827547809782343312891395464531702098977299289900841564546272042311907931800003041347655285335395860563172640756300725536024983844169555948700893865852833936662001498263239642471365874953611625525950464645421773188825520049241247815829159527271177828665689564720551389568804243842372046217499479742992666101142710908453969838421702041142754255768435855596400107842824905475251076703422532887438158399025759476572450777212482246544981141263692259469937923486086267511551674766138930413980342513371565027842259878388059319446878118201143254142482540492242210148820531996458242855649649788440686980340516149915213766569766918912942903933713137853038869460476748170539746694149408106785415559588018279027814237079222445201821147130863977759795066039291018079082675705157412431135880154336227527714226410253312558576631546390610843806153555600723807846364670399579338926663994308449262668800481168071059668903270807524106706297695207761391051934784814735054805069373790955934465688916369130883510595793295990024706951662899238341089277560484582412791237596366072861106659231652433260259870871413441228042420137385063993614202558445247133534426000982050943387352386355225041427564349880968457942123860284930262103559914005551370866288978164573813596269658899152890505420078305231646830144559913264665465984077550923420970188247555779666499793814335204799824056332800279640294747561321028131042473864416069805902638014071970557220991884650321728933097910939157051923911566771771749922545903391766947734076217059592808964563212935361216310794823539859225430588140273671954778442474733131452407354386813008519803001294135994479510795406268548129149321860658079428079383615657179104017892469222142919892221346559523253719087317223689049965541714494654363992920428677254270120661845054790464188141784147193366080069100392205470054116562155928571549410512472940447927073156115723337542329770086126023882024187466303646173675384088011457083340698558839946846585275567002295395070969318663412847284456268083799047108546210048411516647463557997309765546704473206438876974104388437847658708682008063436570269935912821801291709288376036353845038028164265970331010313645723366452019813879857129947935048808859913825645256483546971690083167296520118992245715323086296137433418796789518705144029656002918700489106554668077057608811478852817853446878099680883921676543953484708482804436626004798052924080259524735823608472491496636513463780341504559759940402976355388002810586336100622915831089662719474491414836994443081030773826766249419243243110449735502596081112593799810041734397342473236803363835474153278469081473231651487293349770078593719415100845999205878820288740212285289857956848170566962219241465803491904192069217438028478443635928300742411659708299272062653582763313868971279120206735683386658647029611293844372407141045069568566114149173666174898725393219172673854564145080577584978055146451083062012464116008418643767418068007859844125814116L,
106359091579033089472829691072459436236730664004779093626301432286099799149238189598050680366186947228615690118081527404260362240684970302892731776815242251415820808518228463719096105498244059306783748403691031653586496648063245602363806165733224984605926778119119809228979243012178467692920945835114625043442953408325730707246586823964607060977836642171710299153020728688245092579035247301166279178547757150602462754387824061146339361825278331831209202805838135184427313278294201256923524784774671346027244015971739304364471406657686464519831696849049972340651792191325743479960887670233804417670627216421889212068237075255408595270785048286850128011608637145454463605187886967512079636842376283754346185270584769353380417607075488398370692760251784879595903475993787232782408260511649075149587919098229143697206250436199284481818493824071479367176774419342607002394318229115198841242947549930576023204238006186678543433985881162067886187391889499119219122408729495633886496572626575300433176736996651407039282781901276097125604759706127631096647263572826011408435327007438032549088100380275292862599699215973052870901237496210055929552614042027815911759847208956974061347933331473605116077751389889457683711711042778485006621080209961540819712703110059635535060295824912270033075243830211354904816014717794740379290807527278000439357569613249221295294494635335175376420259362738323888911539541602657981385318251498309055346498688478230258975577830543632746905938631765289323247357706114969332368763964485472145865535592582366956174634913541335898894507359062428697856125615969531260088505169909526343001965447448486989924759786078630918276914078739531847873866217474048124648520424102380887826589196317242458912197470559560633046374604148895231339088083378241803442486727445760926766161548164877379420749737412351397137516563040724678676212880198572701738030561135154137192110767321688197406212030629612315500625127099114262034806761548093760865148032987227613734982853327659973095723570864291262531444105566344543903452162043285926834506074872939891218973656613519412111674540744962728316821440001544239311624826367515913847958057298409790065507483344692464986480144375162104736374152337814091877545782800929299216930938478961914165595790541045805561070020064919230692588499656631493846782806026672327846380530840895387570064511441262309240444715240802935259161539927920635829151544179271238766817395776583776200295848666377029212727625570585826731906312172442812786049051615833337743915985606766693261239554893485919260711364130696574226044023217600873372516638050540687058481385038055383974267623795355679169725590436112074100131320770806445184252477770214284579837243466801636597932414643607291080221253078084638660354620473049932267934330028312943959176546674983835336451626059817227326100423687339927820419350395591961046465626548470273492952337131168495142824673782899162153644759807603303331235318729412494608807796105760674995259535495144510959035342638331997457110864886537861694922692446390214911485106683497139810340527598593392236971308745540974051427529745817242792609835475703993629177291885953336014230551311355602394805312404012758719833891501510679719964112113534081901293749969310808993476714635111085681173295124815262912809370049840734243194052645104604856673853156439298265916367564035944182944014979375014523410807904288047863670050612128375804678305416097889250419352694755156049549810042845800195753574876167143862290802989408652258430586872095831096193914945428785101246191056625537395227444736174139110312059993600321599828640330849100985695607056151927483662537599983180407372276486599834642994429149208264873774268122177928914560852581811889721832754909619054496639969943612789558919126225902292731279501233206811494637404975771599425449070701373274955713853578254309954451922910713095824420426325394019482876223605236623455639396726154953311811402210783606625129548676005899070939099643298957759290093914667719454953843215903110186206234115365853091242498823277292152156271743095093712997743174499862330348625020915146193534150640297419157982330979352977848603982338587793394234972216340552114527363309345612453336917296565205628124721139529901829000696859816518841959536506976678784769151493204283147266702556497306769022462290244945770970435252571379312940830974676132985232221860677897438319422028652035145843984670284100012608027531067130199582928612270883131244914910401538150612734919779602792997198051631596197509668151129359497140425391183981462019716503210979390271773115857111305057876507497462731694405010626828373308498589858973214744928591210809251928163268429877668827537191217664517681977979095847771894119809443703887184221008677347946909875472451496689008610218685743972026838743603447879575871730975706664235053798119768780269790013594633078125193640808393041653338970383929325489763116056412909925753462860261053708537665736875507410838896348842252428690260013162087300217579529666721698744169309143107308955041557002491051701103752567140660512338705035851425522111363379785186689629452473138156102831855863477397881912215207415749702010395391036042208793037069651601030912668128350920319568882633353666381346071746871654903267111106934516589120475138548570205954998490863738757227057997004652118477368578080236975436342196608055800237622135983418383740550070568866604277714566307782033621083927217803981794527020884132552724898534764108116701878319749503345958323100577683540380237647201068128567835397110556380470593574012837062364540199189166546477503456781588766239432151662961160902666949783921236263168997478335584996616906170538178397101491718235269033112001253675125090473254247244849305105062342870816193820542301559386887655927036087610054157229940153285070897522615619361635899489095146670669971634779027512666684831410296969763381774561216954332203972473006538589319027421546904599971735525517381029694554109845471761628322932471515289287696581246816194506421672314871553164124920933510201575658850161559080561875133404752959718356345407951355649489877562215020816774947901434539611013691457386436572182900934659120259689288386026284740341455841089013527755351012949986037304190637444314774735634113284771400590436583256993125289794661925375905082912008179583445426432816328481085703700411289404189535796290057496009338173412426823738482760249858035096590577236379297556722881933294154152600944546406087326456277661681948518879513608731573996280239112229202858059842884297706952146609256102480829522437L,
165633371871293804487123657577548906899080023673630420470659263680152829033259622756961343426253005036128311624357257552971408500631415876920594334520663200991886006688255018647027033954321099035302665245646963006378031616094204650751805018378737044213459489980160671892554127958651009179920565194590860510147765355235092046879913030685498421242430434567693033098791063528593731084138259455041188669233686449811312003199661938435700488698758830550348073385949508112947208505397150442998047335630334333278528678666012471212483702608318527133242981076740512048494471750657075116076031579776402649865594167691257336022259369457724877325387279206614357062890403532496632387502636910973683733928593268901737427212086232190555388795607477006039640887823987092157211266864694300520151705535428025695270664276082444578116240274961832982093770335238050454760743658062496215319621841513218293867670083788495161703532142217541581608489767428509594023591177605489677806658076119852163577849298664718319679889710857130224999641841517462980816955402414888882501267844798175472731775780389791049830888321732394208070409921849659998890671790469489644250878493355558010326080796246851322543711777811204335467947849661394251035992545161069883530757972903548092593692184362261622745784431382825147642750176437339471533000038818557497150783220620963875024345026319466500557919411864901384126331340111098740530339739712834976842042034972662169440028863754861712242295118163819896690041624662347459496960188717954837589423462955614285612537040972976006020877974690476182027379376975295777156887621053349429955092121255591909203976989274553949909505521980640007481682105421471592106650522416268572861521924549089684591345227931629887370028471202648986840735485274861461124368804836051427078662526914154015457515129438998044058911681727205861001246379955751657521940691522130761302650995595164652780669562899438929924659375228407617433954544905092613113681544437832337630238655107796881890018255485055180228460503570462633847857426404125921602953889975992129191074224613749355014915624246159273797041986287945904979567638943592891702464399328013053953870445390732052875657178462422227147745460819736473535813946437938098848346473932165567727052749451048746707695177890500957680230861573930136460089332390695874989414214625549939730171486791787493997850363054905941001225821293375163945697119303203720745209354868993135752250892982632330162888387681186671360646229884009408147208072047694695144905070739356659240482819889514917994161822509443046308363048853190186913299617417199091727054112658256464007257079861423441851954971178281912794400482977972966866265679102843779117605957795632797722121336446285400969131649486323591946437849466615304016044422865960997327606014142763862661293660865486751803833816360469521689628478918935970739885409582858231088999956227743777400828064719970800114569657247325038842707858570931201798925708953417381274245858193837654186242031506234781724279546940314155610324516330695588317135686324026185896362167352340495691654235388551726996255032747187009539579728789057049568845635066169898063243889094341754585771252098402091115556394257196912396781107737949944800769775628146984164989487597243654782810215424869027076024635811537679304324855249361278052843992367898526767576732009010776129498467304936713723541399070585717694082237855808052045201376533854037783855330100960843414042985426206670162105021175450706476412311638874203500558219108286330141103457851581630296169345487091681054566873529493971357586764757492925798985754621059618412642208508170121646849572148630099227851759988753102089475852935919280682456207346750209198440785867185830232082288225219650755121458386427517784517150072557767344706665493499888935137251519954828506251634108556030853937959605418022323017371177821141013012544155056376672165475993657666163326171157398600688589619138079042312451276819991019655420471526352214676790861848181295669751726246540951546749598272108613319508391409896014513236345127847810418257497636349491302168124134677795164379431784902264380091550921910072106138897848273484820626176217264836574632514213518631050570226318658672832937784612732410853852561438091071257509382098264450553034939491689342795207375916386097243035158332031328696317437093891505370239409103240473261415820438093740104103886085217224871200462335099256984004945181556805232316112747790710876998415303500420605193739815936679583475867100115650808657399994004363499902952945324042841103249604651554833892142004901869919036605411626974590030294758867003744607364141614194998511297776070371133677850156755063895030324125384769595157185273802906749002471780296803179737755438641603939941998162139615733586205587505467858784575641087496304359569865556102900122656248317008940259483414025227402059950051025787292268327881387257362078984453093933934238755895777200856180822297064162060145193262080510154766407746045610683801555513381528952579494256428765565652420533194690103339649618128791050408008946832814010046363242734960659963164391025412780882941247996920742520981652685100299835856222386917893847960739598806717818963948280345361642977834946319482955173990006631090887486728483749202006714233835276463457657655756932616834800310335239354495530597511577046966493222620735431378456787387451541399897499461952880185105456878374588483499457564227087353388258068579826793445697196467892391252885290077102031801580429179259657471231600242137856913190788290741125030040139300710824813294775179343811524132817714355875809494989804192937741575396554218625404567502213546923991727770333541447095778929052161897924205921635739498354439785332011148672200903355832364863740305089673012460620036621163753715035752705341230716670237085721795876864352148022559168633771547108623802202581185483827604231803206898427001980950456799663353775766062626781130969699094905527771145134920817487721160166505997359838160034054776148630357859713410417048704783980010883011697115636574937498216059424987062033820937166002913980994263015031039530727784930437124901503583836302234140641206773983924155460640299568828416310283452238740382227133649541646498381033931685541448768101159622623862869352869103714540755102663061836465408993682921202586448687904471742744941317144178314753507325672625246892776900494430708483536541188720241310738982562232004515132314652020689866905103026785550208152621919097827624577772422533915111769063780827653918281336733119196537570811282465066880569661313623285398431801286557L,
257914420996766464185757226124264334602214207207605726326919482859292376744662442799636962991537779349748242733340289064469451588336994703842695452099656562045354829062623672891254778091572407481999423885912633577503638931853936688429503014528308864888406156400119499296257843828367219232019946021659745197648947427716964496444734338097155186265780157072245633967149182659565486912559082911060329604986488683464604345877264722832176513730725907359305772967979078309821842364581940177268907576709268856029145001626335974654484612637583045730602454490310948222939421264051675945012355518640978365607731961090252633317716975562552013124264640123582630891952587756853199906511178625995983911973129704831892312786457698174783731409106901399740181758365300567920378273563910357032271577795640838479980196800993642606899443188469410135167619512593013018946460851776391162581904547668354629893191365398136625292371184023940387613382934473535039978636640833942074152454362996755307111645731656956484773663841008172411930646593618701282581892941771236433200429385247128038925064670489221499034366042120594615990948388859545539318846262869868510832057485655009477921006401638813781984852959609607507000636608524943732224159213238598067890581874366624634966662283072567878108993486413191608426622810237666751012647963344941357535334798694463930084416593446287669010670636340361906683223293430834963412499599169792013398519901552465849941211173189624854796901180273527018832088546439769463581608551195800005962866735451629715356482819072559942253060923890720936962318180187327977442667995437843623221634944054557803840010941092149331225813280127892375136802993012427423113943953579734681345252262087668035048554933348766147293720746964975745391906116109202887462655223789249427105178464821846955898483410566247724933905569123236177769961629856643369180278795617191368042926181116036304215526744772412372655050025381979007748277931634652377085949561941701383541958481954992107589242565004578071045020181523937042668293246672931518825359280093585394835396673073903426410553644793016758940531404208346630350828722975975401765927293987263287154418994999581609640630899539659245162941608853008201781164713790109841140331758970861386359364474115118918855718602292833482445795725751575432554008812078945427934106515837031587271836300468792527851574348265933921960924943672947438246718236391898560027990871458453945527508788256095288870853453060257322172957339884710221932047555937113716252580961097788686341844375862360374129952833909300210945226083016794349328922520545065348678619716397214746566007531592328620027859793337842509315493218991295560827547523671867262136396492039356907962458853565454099600268727369903541547790386246586374916913715010147418595888566267694276913807144117767579794433039496956062437408939462243684776062088302771568244465509847157067777950603173288846376727846866273286780930076377335208483740484680238763334818068818790654263202748518033349421155854339137830122008379178974837234817274635252469117485136865669555456816243438324299391923784761258852802538458591023542612142108218266720411723677965459208016810027096578185863734283075129181528409867896455554818849160865906274036718747386976264456634865267716439752952441051568617205358446265879218791975882831919465790495038678717572526022038610597951476082495550377380480800064975212966714002272659377901942339784781059603673287214509883158616355823972538955229522650833264704233852036285708734023266559860414306931199970413547739382608074871989903601152190387836328711932742277806095417036603299193266982967563972554479120954341592097261811594104705701552362133077930385957436389711084016453821962859264249099510807730582227063855504072357075083004058682490491910781487631058120909939987179131790953712239034820686800365255465692184484596147709962403834650073056874819178203012595969099407253637440888123294719525209836492384724057158795153627800001219776179466936768468757956202770136681553869028471868787760953960440646753115941625363008157633881564844902655183583507982170633059292909306540107925569477767996008671515916908247789736790166198235823446411700703017188307212607825924927104575055652966821179482431824015787759489286382330186492790531108838730321115799378333077843008179956176855118428018234333180111770750017911106712829263935098264805628500322387257708800110993827434976472961969918570162678084587396193549091450514795642676899027844818901261358387881714835402392558096934926735879359007121487772877666771658245464307490270850708533172797511656257788863672798150752191669661724640320944724480092990558529479988266475346430228612023496463678618120824340894432495009319274690842216042051837359934311911913791808323973999976711899231342628122710920064560532151428467061214934143686940368131581380238949494391475067559973850910357384960368557133586576848289460674625556148820860636594909973366070684765316441211620141300292770933153407437934327363676802977836466221631550406702147615967149238895489932444968859202001763448946662409581239040370876738506048107889197961553540903331056545889833488545396454657924781532113350243301667466375021436814090418202525024463257884552786386614099446559422014520017408438306426035080428024648843062586170146584417365871174638691269119125306124104172993648440009436254306678574788851989385922221503904576297249075206961717299335530034215230042454531075722398189762038618525855264868428152116762888752663398674076220098993650007785242143217042554228688667469525976520455927423496178789030040563970243435343866651673230748091812729837452148500528788854574356707352837748394067485791667052497549460358936376956272602202594545334898882927254421254416480170133217731191518197038820857832523111392649419789209399252815635354412223997822502468802047101827152392057439589720344178604876575766344618593622133722770273003807276731812224489984289602448292878085649025812972497840561717153577712709760951710226519492413445422493748480964079423305888676345686004822048670215295833501390848456518099997176371457545881386426528411446447425426587419963501102506858912033382034245031438848176641623008957826488913215619737458770320792912264416238927869121986891824320295277082275191315192503435724736959228480823564349867010492572203596963374940124105148479205771880573627845371748096907687145957831946371707165313858821372416872858524701977726035085987953296297240727407467958302996545678260526237453567316163847452035150936344745548803431029510294825094643148600206108L,
401566976186296093137973547004466043555139408442953640771488279647354701763740151488891369797732012122258846523546823425531463206772801141627755781030640701414558297628517046094658597854038774183523626342848270504899144380022244461136435561509389815934783166431847658239495954487314124086156940195957037205794877617974860209246179187578447789194788725051172940410140411261721186762980656795050912133046136897119945601950617779788055693699791685626775867850064474476745513668160876467817196641998365982401044286519781075356052040399907462642806707401640846562093016994894485932662619665562379822796113904747170598503866549582564060831545395740598174583495165912627931746738998544583480430862104227278054590325841496688796434937736776523823168541200279105343242291656192555906304751430335171515913415977794070469586543858322470351277191402605485091919685222923483683101370660326246799955734186901471784188410995815263398060924901413456425815377836768405440327041328238703162242387959077566166454580967929380345881635338003976560121217388646476077698627180040997217505321903159802930389811801000329515507633411716099914343538015722206478430839619421962299948014891261858193311389642522729989371174661745674006025090890209330135775842242210391705935108217441538897725087723584454968780783612724917230869678499275554288869616341881215663382667093546779645265547121344940623406129781504638104853432545622605735166003282815439713957515776040255303775538173293773007987574148307578398552344904836663167868948645953299922229440979858923996630529575458378300960823158691740995693177449684816166497427034972300478369208390168938742610874217713618482730188621784822908700549962685544299951652974482341408103906049353279778803046661164951398327925962232332020522369741920483487024860757184244739182792793725674151040467675134097487679831414736197371551532412464375144516650962684593154887745057215833936206620563766034670601164186290832437558299941444048246755291298751569075595344150585658227249418126180800776040382380971919228420556729656069786305137312596278447708813051875820434528720364975464852617909428577000275660467335700572317113138578479505540022009804137305327625185454225986804971538075244423431020722053127014258667081840568015785818959890401664129254348526502977967223611749708193595832957371223678199340214202115571024739220126210189778867959730958831148972075309755702326766967939442908042550425972766110268085167596335848188658407606370758919044633703117896525796872226413361653369002172950653223371235813364719125799443587321258048418550070933265490238834383224562609877535662427365859791546883166135272845717510675960228886697306286853799184903181356475876411165605755415314404317827648786874806531270155496307006956628772690500505862312737492478424694953514577203686847573745270229479748518852451956659158356796381153095693486468616412434339442272801361879494173172760661509957240243201473562269895731131016133749815661381869860147815532067429280303635275938428694825907554637117454913514075367451175856144289388557367565852394944702713942420552476362060584394934176838208031481431194164892415107600078342130671621247139938673973495754340067273758912049572033539362097087227176323125549092528080609399209206165025275498132356576797469573673592963511206311772510379613726645691866158528160300761303428974128370906787541224995332025665621922137741029496109630939666883134156567093904267991338856975277186323528104836066825578195601965442920975577045271940160506706916379320873713432742607981260922679722904698511056657970479779575024747381535404254008270522947706543571897835517398090550426378454291738901977276983636315994083457595822602704296625741218061548440099154450620012161697942673948155732007772135199389333575441717882903048702670047092457446682849331863824759963999263998715862125726765837137070953421046868721757485174059954062158526052910597130518070170174373866028659292125646890823173154801536687869150697516129435731666843936840757098260737076722939043014165420906498431638481898022285863023427217099176502195001256922852099390153322137759647728305038755193412168595222048716101675928129298146312600825723567037194445620427479872747059850991663144527395664178725052821666745717864227731642307905191787021105248506508100498347286229666543951730997618347338007165309635336767114247094346199141276809183753027241812836047218465490800226209737712267139299150495445486289026627609398094039209105755716956903500189041364208018458909943242411863843854967335048388648804462125505933725373573361015109614957818345306303388743947469422423105754742788461426148640539793993645150418255705529330978120884950401684218419561509993333795909731334825689621783848130662809232628490115349719415406861926790612872246508409988654344336713323754163583805930545934488582937298926191798810004610685914352064585324501196734141283121821173150533674889185173489735024552737077609241322123018969789330229978868595149253234987799122251707513613421273714943069836730315112227005279644937423358059890443220730119484790989393636252217024014767421815690155384026382806869692248565173137201652928950641942866059722915834149573526903022209459348804461958581404439416643705754791592068841655016399042960755991720648149720874742236542503664628116030734771724911644013954971750096309880395028598833210806006451139508110023272424748231993318465626689141539361700425051867490330531569948948027260458562279003881593323589744671565551568653576070243525869804907887681788723078234400287234447279355334373951278190632190348132674799234164548490640292352824438244303687283998790670523740214737384634427255793070042786543437353350889882754622053560962103929290567700959361285211290124837358826445591853694662304204147347129419908913279152460281471832679675488573312947459694146058507308279000955163592684117506922613561044498758407396112274323651910091861166751381556465526913099274732603491645477498240210555347381350891077787692463076957131154186548513968887028632996918160492564975455145322841154988080722819374585900383278466197214145796822021731248012796163227390510617165489125110654180434033852322163397767093413400369475827999052605668074349029462120561697701006445391933692703636449125245345574852345046586258174048220747241352055880295178147203990760141933434794065922319979117655549574339043290396283045227997385048069810002092587508383867755497527291039688214307806910843760960666678235313006077002988174969676459690223131102347869478407252612878979358353139858257654451963560L,
625165436182770218143293862437884949515894544305128040967393102767560652874360364527769025688803197629475111637342831122208877247776256801355353690198253616961305539809500810148495764787866586604629363964834638261332160425707289396253156559899997545657742542052967547914616597502262470562376839266899327842600872389520184497892130795809798869838019797423946816990864049653728610421996069851593738905030637356129512058571665330213696744164828432643317259467874682508239096562451441813999854645578938439590131437507651770495909232918982271471186503274118995741928825883419338650459277512115154257886451085203963445451128607734107966151315126569700795991318377452055322774998165978955343057322629235125961847395053847443155471316209747641450413951923485535215949926406329912449221414988669443368475711265333414145277907558610813427779756286626177327455334026195472865155526784460173285005232095777626819790707218316241968603146890541268895660714797026136230874031250681421650228227609916469139932156108361967890378718123989597317156784154185865451246964028417775474990427342146830841638499892115729605799737697702359415370183583426773029767154695849118644264159840946507721880251057548342575339710947349812177974250876089163973072207599488487395443368287543325647736894164390834711808480419500418782265075932553848541129721305234682513523870074698452088563771829365676269701756993757239797963606936872618904885069930369391606643729296825898547673008424684712502213293720270730533640622673834798679818361989321102460731005920851435233704941972708285900200403976750286230712279245553464157467324986074726746973295666933452246787734604146002553690659726560698228700118431350418580163721476370480194203935471307659484985185232111049232992145824050588622839138784572740368595521516068749318575387092450468685207456447877150673529142743783193115094711632694068850357498612472675817860520552240209495432206576712444700098380321313537561154269087768508327692426899504216057792708123881586804493012513710732708632181529509894276499069250499925061876476875250546684672820347218449774971117074768597652003352494387860189976193488771000685797060267862829470374431213086856321386340269414896172067640906512109365316793108283512668986464927746049629313931548879859777582479726741463552961064708755177742674622582317867954734764756645605251741897146972576438176815549852374276777812022735455689112064179634794553493033154954137736949940208453957038970840564013416852746075246965288913452793143994864454328961634590310360700581437760286146993039127700908087711849173248950342793449453947080896234471465057195590819106835134906021208605309748829181907409449025560824207848644131006164625968270474723015476336865211952240998684807169081916143096282667467830063987163279275674112755397037828048857015800967089366075417521787388729782836444385665041076952734810853181740032803655221847920222078858559497751059905205247406263558272090519851307056508430652180596655709774589860966469352684866738652574068714478933211529156848491349063089543516308635180874927587190822290835556997622428316492590485084415090433783246723853375206347433747965209799463356028110317738481361457530971095478294495418143391215953526692379084308788017198744589962939760113769003938506758801298389369025768526764434531878635078230672165556402605829876595263417364517234763134665523071003639357671000323153350600044627276669734564612567001819545548989002771179418534815535385658582700451131035975163340716843262482708791426843365251226993629070617414488557013963193416448308507594221165599286862420112048922641368595095872847694064371383766324393851670147361599939159654816514248029227791104956470505446219714509234038094939218142419300214189026404628019345049137474417937865549703629993991441116804141035816546449930627769424926603156357537831045299865460244338910346628773455073065811034313846843955548879007481591786754615934171061472360465645820722692153231632802072141381265947005192296514732368547900986610074785231308071360503550256459031048159682392271732048330349760159751864826764792903344665478561531259617161960755958941525633822608307086297898428649204954746726810389543738135812798446996497850977796402595509840357125859896122853525403170054404488422865543520964273979327914978108328815439539277338131466195173235170051326578960874703347815810336716552817443233647464709693588278967577255009918633413793729979372273449139216135578262215513314179059339694146628202405062240349563761336449576843564386377093547151166567611010242397637864377798792481296281772173614059596054266183479815013692366313538187153140546341974682656488965161935693572288091307673619428240103311646262104548957761865347874373957177699716421553688820763317613232637420437873959178699260389481423307390615559210133209385398035903103477821086559211891557771710068770166536043696990552895186998225454813605724329557756697783726520500931674816797717475223872963004028468960631864019932881822200464879704422092229278920406335516215254683731414451536198475636416453648124868958685338353989483342686351126088169103037273166266947324186952811270837513573008756881688033930650127530399845506531719171460729504123658260372209632085511787219686796602489070020778793415889874831930146621024437729564248612626702750007390918503693850173910555369056619213880548886543265475049917352731978716703761210421961457060674015737211623883938113401293249086998830752852362911486924710057349084372422226207522507184486642152868778844128037093922397257308022286836982070543328947564045911524752790764410562407070777888995124422684846403160901716543914832019519187017171685423007480115041027301890651329443995276432973011445139514903620698536427665067635404029397810589497615454040682104295785986104034029385738351768299017410626336348976167019463493307373423664677440291828661438029465190600110499413367790898233223608112676598628897702090028538263437745320183961398706021222811021207317023997515101523625410627082353982257267942501155373809898378338239988711529200874617752533938882655614494784764913306208625548162967145820316345187792628025784320916850347332496163739513947758986368804067132845720941243021972703027249208375899375330549220369197346786236955213925388098013578412809216543817037718042330088024757684378902128517661525504150669776099718258597361119447882685683108357693926350167307210387739448980251166576023160708188508229971200020563669381862892608683572676005755547792129140228468713829326080279542740063826370844673536562139667850354780L,
973165163836822106491943276373408876458846424537915753389143304835117049604012363472624120617756977178730566029611523958183924133490184311011223889579359578664685997307423482187181841292287237074157958420358273395324403345274450623026982036181846674964535570133980162198075349172367730220831645279033961627137022397734518616746196982039608899614253569376820444570728418713732079810293071768671148477488879595886609358985509148888411341440067217285651355161674003429935342800698278329267205383635004366487771628438289679239972000851367905345915354189265711133627537939857820708584018852525425604696472260772406889270647515855390678876287913576786951906002106290318043462440992708401113499543960526111953584827821873111932262798491716070666445954086419284426698980985308001563197584637731446123971660658161842155805876222159042460175068063278972470846118257591966442221883204423052095320585252461632655885574761837067612400772109207010968330392493594522263558348076174700239321206023413816889852599773187935636399165268715942396245442136879502651202979196840242068026836621932901247259916186730538209258807574698914799342181211484253791344765713852565032377631000918830302429659091672183300804593566005096055389751630502034802228823601644187825421250924933350757247906805797079354679094826510390800207179438806607455893703985727223274925244565754112209889314743842740038715075611708850444481988654896661157187961173287697909494739153469167713345502325983301544787835458066562920072530942399574493563067518763319364505035518372059750102816112688252141411856219246308072744611671505313470269817117249831656985255774562321453752230183342521169760990871476090985080361125048946685104374461183665010561160888663315852388152374540453869696341058938688864529323480204475988187853726908872567688299995610493201619476808908539773849227596811464195977371775729022355324978154072097971628616441384086594925430913011960850120581656768337340690495368599958090083636042542685491283424770236466841787330671441006630961488815205909767601870922194144033498481623525573633810732170574336779866991817638803146637491760987873631526913517507192896858856197948537599912281061294052433634171964934611650944377976505535954329242929697347090375641598663156187481563660974496694188644674905298175133320144655489113280458521935970310390469389466888623223574036479183048506745607242429751152886410656997247955256038750978073818852510779347589062282174274961496199402503275463893946688030271456518525448266888674247568899932341197015148261045667195734657060192976613125666763416404877322504552906558454709059229844540650964056480673752026742594895972639270043322730715260956024505031890571916188334726617170358555488922607368028709011056540988623418902785033080650461218732966292847248182256414929309074782549693104114897475961197986220104161924069474452190536184164072552242991358274137648996410280972797112971712993548699792582642047282205448966165942088964500243463503386994091867638513657001117296558252322305151257357767364646920898421361932661837518679569198709346009112438021423213247374456307308243567640698600215826266580965981775097158734034276240615278126380769687138474533792065770736298643367380580459761389901673658518775584341979463355400462394689338527208365360470959733200631290293411809128353742276710118635626501737503427640306427230629188789166715009901313652793353365829017521756457337478394531285271936644906336901521162891567376406430968358882543789268410645129663150215222029319567320599929607491862427988589935142211102018558545167626746824130339618619286471476265506781086744864695099610073314957006328172158145867219671553058122693653336158934582474438683949755082138340224649350243819275989721466743059856686144579038123027093009374016373105650686885416267396906781047403079404784956816925349554272945285252732163970045381304133306753977627513089082442198026607720816928088244181925326912470217170035945014813075512069367426355144968553429412990249752665339654638491248542936801533247827292326707544484568990273240777700961282719571600245081112546103528278514426052938209435912306378063286026586493023718811867892422538457105755832459065355475199079319942503092668812254147869599719017978412705788507402009043581931782083026444910909271325127202397191557223557564167780402583445524065076499595287109254514187609794734905809672450598482653857493830241511602621551328042632513896469685084012417200128461516730481576530652025304127283761529603782939277471086466783507720050829155101200499155327239732224889558180826252715299433910905035360348273231982271915748263148130715872510684596919328026696452951757029102412479050470241722086367585805022129024489461244565519876615127113379723124270617753651743218644663169621436375221946712351648326533782678027650969059790055985059146047030330186549772453721099088727190075985290790499400270328286008871421743681294558138215528659676758611925549360113766243692971669148776618546098523962593917858887594785943746080103613959708122516266385084801378122834150826605357288276425473297265629786051322724368341404195437144960594084527937404236652867006044754699440266540822580853375780073847081219984681482218010917570200284366503098440265274330967422181738049391722910005573418364890731275573014404126714818100441168349290120099046292172527032490874884358656677239738390083501384206969597411588148110760619290548125701843568038969650579170162226856741205643181164353963957528117104104836539621516356349096917310241117625907318751140424439852713062804979952950453966860664037856595215785014340213894242867564197581507951229118604266923482936278894124376057161857209447999898941185046897054799985509712892689550071214789799123146077410544237684465326366344410034607260781589669269295819309017924993076900802581671365359516351148436114717842773876862621508338630205843031371837875322769344684257744951037345722282940814111203536621823285304693362020138362569925867014531273603426716554466856063619241223217101824231491955014153568590882075572165022295533539130910364478374484504245640542682456176842227081944223865046423452582008822175135479386880119963879579197677867685661892321681645985304376083259856912373401720715316004854119500435664344969316358656934726241182882587238270926865196651426537443384550058470690409653783606130342515678588887004815725410627693426123511803713285841770721772177005763800585244626805375489417194179705286367198531746558826001745920716847927992244974473210585870763935054179056936222679603604539618196103L,
1514721530346086159755457251982335746266050400107369058040324296234781761929081621501570004479123207053798892306739111852225291829332176419247509592918709173347491959221081136301818067022472079081427927912782386974227075756097097365573362504579432508572838349203357539005293979955669740178792886474999795867388081179196201990634389195070936981788480320473686248921550627895688346112993367871176720127000253325301538242693429588554969811393458229287142806145099764141061295169078763582576042534940390739393380806976259282502816184471076749815988523123554651584018979819174464804827552435325360407542604153179308487782714115479642256066322116137822696325326794191652125697929898318190133663004538077105263299532787872340179343589286341984531542735590084399568093908603623434312284801363582282447784735074093752821170624853573065550247135192906333067379081825183026042597190498898090651505084600832979248991853844457460397264353016574991001125341567445673105171211777840639623992806312001996601155464571315882051411388994578662190238216174180602831973306365338335143574955008659776032639338402829100971164153740017129000299020032839098738187625827163983925309738874205515228184096676857422708478153581774458573519606933242390271688456859380571928450354548434836810178544571328927940049209738981200334220422802529491623852665441085321684740098866866937587955063766498374240697862629150864932116979828553523253148731842023819688046972244703987543565446862412319061355557391682022863653901381924879500749286132679215598713348810955839840983684584706980953915274842502518877271907989750139135123804408219770447913388856248784116620323769330085436047581653823159446549221336712570233239875908392385342436648525373017886284220059036435227621255913281150342674893278374820099003360686605184411768994065768209601304115172279642075202726187465174567183307241431063898925569493651726489494053082223453199086412563614946699786631003176471995521942080385566411498136753043457852012917706783565773894270686029525029484183036257057509969793544509180832166927153251618853978405877170185074400386803909339900570017331042395033914345921686223746347873797110035311758074223992408718084645720694932218550463355859672660351369307533069769002417194878114101481045976366140692618138072299978002766079415656814934932394760330105257138617722181052410551536487968576348130326789076041525132574692297892304911420238665467648294566575489022150577827354355923240655843803140962758046556301939864109772284502041550099891012364167940699277203239722331682756224909187859730648904626704056888853671291501138788192826438151707704804573944110487563930485850038916816243725353086047255368321108259267496536259301066052733044453238516993684469303392317329786033154564793224933934251960121094553097616096085162972908830880394079586135536198759426643560295623296590603680999237146198134223812127013932606793068918922872994263201661080674482157143107861761259200816704187558567196397100033779121137874182610306836352509374667011407295227684094216707523862415272306424247207859740014387912697852720245078620047600920328019039013877293192109232965477154006987644443830114001736927685616570862404244901319469063604819915789054718775237581871295764175519241173406543586631928316378760399679681423412021001907958814144855865304706353940724713235701448680118567392674957162679835330632665164649447139504124687650426947466501861501815500972114283787365332353931381032393017018738932551973866036562609778073423138616623005484807098541108402758646797859835724334641677536133771552511764178244534490544778059067570395654714347443205058792982402427077161546968837466237535240368052555925151743630543620148430155867813427311163613695164191368456592366146653013293149631076608957020890748071758368656117763507292208017218941188021431707970801918873846273937830724511798648698488455712304671753729142496513567760286788133157096416788702422611950696282868422705454350212519666968845352087850606069806756852221724688619283578479069703754855018306947486695355453971023256966998364709133642319159460223534068822021522503067175680343189277378705521301784121247036698071240399141312987824284949216228804650512915032003663067067315406488389358667684144253030509170688937783017334521012153453828909107785049269183783298422454301824173209381619665430742276100512821737548175825137677716344446167098970957410575534864955234654234695740727033167562722342149343674697545956253709643863345077390050699993457212327381800214353875185718529212929530166530546542171704459347814713439203313927568469878383639201495594098256516378451769245312113926619590985522726708281544453394475720238263717443095973135349887708756923036145195829259698403159400485567521975059147363316578496419857582452203723454352078421474315454549561121332936510464099352032988703067924685885132660996137783888235917928700299887464794470794282499178214519619135227760590284789258760364989109271269448962894645562584901124324390101129357915316054547413795563312571224964520180819680680222723473905044455732368318454645353073192502988629979847864657696576515015635707811133660619761337749551684111124775220388347085907900095225367023978152030564307856316780900577619018455359308895819897030987202371323125715331583777978941070902315640775072102432632203973628855666143810643400010270339433949304458929446903423344108985156620627891230397981635303665032789974195382602566091982995285812212862901349548422431001039868040643604189828336602782066543541931608280765456130919997323557601784615812024722651225946571590771641183524310132956929310974253644046733442531404102479376827837566638399260272500554309458837460765798994949315281546373734432206201137395902790252168784782747241089679525697146658899103765324893276735806349256452173527983454577066654746774645568147030903424051432914144746189343342725535476670674312535729479511345399982699649197014153709382102693006242788627849535852180939181097390909851357407072712975215834083468939606192330018977547451129205085371484813361079406405132733939494134955503442299117574367126176704902982827455645601944218876625438443149527392961260046195166243051059877710732103562281725370421370881285792097601182122352547776333979126665637180222818117581744842174664324991919024921956492196653098011052872442148989493039360143757916637351173941277027433601949129072458521503782344656704881122119783264264133073560820388774795858699833676823574013277548693161244694084152357365431713459975734428376391895454551386179713666641695221004349L,
2357402362725744318627810177917048386853000966977260306066159910081613140948113071211235963069636767352438857412427852399906657534785944231880073861604485192948048086064119235289317226671813936863117992566050317271854954395384276613323128954777048942886863018550861123527522700122977702410053834972784332274802533858633258901043640628611964220861263817956715835963109949897547669824356957663878499995827744946285579929969140277344086574654823793036253362770932996872870764943898365836201817324758805990968733570515226553619638518376338642117208618720622261334011510441862794430610974287165476601368133956257628131760424812860183832090912049201948491030408416210782260786326905864419134394842837407774818597425735214205733139487207563995096255834686947940473450887222610082293662791773048717672422516750407732448913733066373742995470929385243132529190521588428813579235498144106592013018603504982159862293243323694810377980996906701630851355428620300336229042281710213914998070261548569780997919424193264755214336480885905968902258708669079095603069487611847767361023763622190771897372718440673838296141761310442869453649110366587235514328244537003832438903112286172977937051334232577313315639054691212074229624287072155860741889401260985847030569484012255456474470125064663965773517954581454097890147165181947532642150051430102699104612203697157421813698481405639167465672160326258082094782800684671492991581243567279057636305441778694183600949939083427295508339061582402686844852595212839144059223697633906067661321080403086785576176011195549930684424222022374735179483544184632293023657690130804979037574161772051866554609953531508732350723688221521869424383200587832645982936871401273918017394289833377859275573832652496064059541530536055526075049467597694384712735971384898741047782256121697764728723814429478011801138512156991359703745428291567454433777446772261274574368250257434832009865426027015757192346860952998004580124991719945740134135397477610258654880226422628964611100363326793615428669761533466888566092502238558373849907891551475128429582879140359789737868409047408586325919751183891520842303132453837069660735834983184656893370440726079496674517852667127886509230557188341094804428068199016317967100830519407574575648061310610444812498210501752198990751832231831452792473079346199220411086369334321301321548925349230548502417870259081881729615373592884232753134169214354351128029914816571384001654798933178640512993302557375728404268986104674941585138328127084800136782250777009321738317412385110397912060273352421883431218385237588769187784017458718118755120969557454860832287475927129038976958611378694475483648808765211123459449744641702056234126072145571080401564855101870889661872555566944283062695509518961058884017813700217584609365760944510643912485524936899329544535202731967001579228947406428386685433445299993105097659731604562712482854932215628453913483481833679968396668595554769704728733939111894425510724780719891567712421018958583858968935336147630091837981660129434992988223225085080495450765656247111085260613607695232260898768936118317946291766620314341100578277886578313554474418679887736826781892379904817727993275775120583630029452595860496599605443501151625017217724357347992031121026712097406851884775471783600341817973227167074845260329909444369855386658461863871321141104473921653198780113770194307365881813796913973405115556797453612913916952371090677813524036721689195703086516089628597614047049546366919709345693237880344036040187860197290076493901351856356147644148269327995675393368278316533130563171190333212618396070962282561914385701200682753692957652595415126357431254181783242294760539746297465897402546515680564300222880567120489108254207142478679639808327458896529981988050142723451174639429905941430860071842514692590834653310976159899561015978001280372426309156175185195091506550131353565210950928091248333414939661090666416049513902230698582668311922153278891100961923103610458278440002538417859810242628750626115933817834555981291375231103693564904726371710579253380019290339162866939597000237887252967459085754885061689158150321519066795582095190123027731456344981494181787547301694399066769498584067520356226014001530345867143063258000798186458716233614201968529568784043909343035227712068607582594854889578966045259874660559248018578210394710139072778658547704323634469937539964547807847085407107430430360988609644623723604097560429328699144761534183249256040513799707597542844322629557461226003488898702311135106820429378007705148231227148433585025047501952256678176798706002515784045670959115175944268126772541318116515508195155038449476947615640054642540943835175745977094827493486922124926830982926915523083204576245760474949235550777951607076581330502312456239246698376568284262601333334269825094380309439608693858759079063971863365823109704332809234503344676064379880970377317601090197472428244756155000710538912833776366535053820615787991190236243507713470788378295316611068430310277339083192246019658958534095624025452851422666632843279933579646720824950185076009301373192682549925327277902217152894331543910103215715343220216257496454816458481594956322988987331085224207205651199441491928246119844951872302388361598596388895808369566701471571541171970280243965996350293174813282460998725802831038245786730294367850379127168075982588203279978134302114827959514334092791586877076825692232983759844069670653928741158453368784699936846077801646299794704121819929628454278278157183528871845021417464006783188648267937823584749149102447114567852946934442515568888924879291687954377808630146661828719980639614014182116665314523591098370954127676705141933527456833212493096097470753309535134375655491494125313612824368154247661662600403615952422005736878936963094697145043106006557931834461411950420748081284691523801907209204476847062456725255325856837434767886894515889555828733774012973765412672045043672519232328710828696173128647874166881370020219564515532183504630991510417164833340843083618467616161906448804747314407141100587379408044961380160844409956168027467948260079542591893832806001479713239598900541268353355103939473122452408671652319869822108544217618280211638166143599895637901280992923416643572345622739401307163399844327297361413605504957346242392098379717916936366464619437229961917087456363042050091565847541187094990938201516780590711520841063645646808368533438543183980824297856471419679012735610265957360152776383839133442432528203736879867817619654005397774486455989307477647L,
3668506766104281704581319264153944107966815138715677377401358804535757418174998483467555425100174935825050944514982456640823736714793391574735465812262683630333989509201135453985874796626182929558424797926509033481985927603479186508099529075050209987741167182126876586863839259549737315845700743510726258049394266389749987869382078706182057218714591518523588843683059293268667508192485477498223205945214965537351010706078821674734871642077648316637057210478546554251544793182451942290454143184418292973040142123273176226661324589886735652305635869718883807237209902345350886308157902130168248552141346649135802337617694510161421251520853006744821407021237992180956613715887044400090726619134863631041593477212567184615493668253317943305733255866107141493287258713612502721086437566173607796960295557742992066520673267533390922788303872262625561073062961646219986012820996860440692634368979728094983156807267911852989361159749825537499099935206836569551143427729720144539341534809414483773325351540059781546387946482750464218687969936529922746459874694429080176065657418329090685749707988423046650012294740568414933283603108072706448433851852814729980992015880124431082579915722426141461280680246752631620771844977572941959309619465257900545014290930975875244957954685776612431385783123349406377308705782028260436580237630412138180057077099814251998845364810338299679458157333505630561706147810417611953505744675490604409111128391550134854843674390349494272582654366313865709570670291950757620162455390266587594007720433961369417285124823324935640199673027334479936298296159428251557729141167377250535666461808306274471530136457181125457220244433060358684360469082440756086231807227511383212467383778434040488303909818865162134525442941778914585348514915077135513783507786083804566812590667508151651407582380830336763145985595414211911355974522051539508420841123616974463336240131002309160253546808787495104544078542989233028351136883342703526431725321178413873482486733327503960234856086037082263496586931276036988133918850193523982045324212565207256574419363607121937676891945140839460365219507238852991061152564146719727865297616096580894420243720101467816820827980152158600783562305463895787558420824927138394834850562527249528419498051262561092625760404636471964219066664454778307179993275980872642485936411706750590327493898968127457741003776198852987649329867134320618621262001743159138401732735373738423680778166225277146974903713118107379762743510708547691306302138639139222983921904305139850762596006621296498867050828303616761252449783971481400480016572919483753179121578863346928935469564221636357620798498902122743330457002452443994754500184838784778669582602122693105180861886981614850385179758026842016009466532547330098609852544268292894811366732270430536686553018619845543001654488076737025664217721338165188529192089847170592328506927729116485927575397381972378076574663016331873776216492839309650223376333768106664637123431913243276835082703872441573875242038068711972200543697577734149193123447162171686467104721557994243413050296439818327407445568143779284784344180740475633655272535339394521237209548177149200402967557211062155107654866074111120541973766355777017499094337056887441622117923840951541909631667628934392140077953779095015188096615466017249777229324257242416561920707397474519078594138463962852290630455864018221305905568499996711948805524234869793386967515179678501442720567518519328187744805507828418477958303676687277729163148780497431480329365371541820083905382626509432869713153415358915746450634279202845217043406476853941880997064557592895856531212912971181114019895038303275555501703903554544465567100973710840768974547581892938045360538519344027922070556021198313286452792231174915092689790480389019140330627860179364822222502827035645834257206863296708876524103776957501719029371302044766698181562241730795488670558234394716256185010567896996216986214482135743109516456723581049207053701598811930744928250103688627382742518375674997626358553742405444167934889319871469376174411307835509131792359586368304708004566516967491436187949071452184151847142969645634396763981652866721857035597524125593830451726341388871601579036632111047690404931304966472477742534690912467283458511686581535328199750764764030723416635132185584563993494666453394345038390227120150893357271026621797665416788272039831875978372629786627582602427412631434705818448789874571742331755728824835659010455687693028786965948138066345398018439460884486790557996431360779481508676177574794375992454514014304575205050276776938443338865884287930652240388385256893027504545321423017988994538375326281946249191751547930528486146972667749817374790079131409976444975572705226891934975792009002076791088465991599894086968526296787818802154590406950185261183969958442661324363481492240888697024652514974114736215217002328120296925928084597141219785707458652286756291017287565187551794687666169204001580259100928156151391964924135182536803255028823036572196123200540079827507306998479873562570737193651962110177394769329831749560924336550208626575024278322879356406102677006200505408762936176359834432297723201735477473626305324533533150142886819743922802997635938145172303003281067668293527469360832798460642872527232901066457501915369555759389977039029279571924630384118164683556477521523067036219975009304038488037347053751734939760821030817225932655618227845621700168399508045329276162071308658007456118410627203580947124127140582938540904871102707894094961512647523362140881211780872421183951192552792375397689276803231670360754519528759222856823075472538113353844436926729886585825926572811739920319172937559681391837585603405537729011244887162149672152315902064289915124249026107693609084705046716121034543305605940996610827035949385470467388568267928924197072831871337477550846959077733076595832319481650797095261631501922887194530221465349383697633456505975487227940214754748747236043806928863739879426328628805067185751702206903764073629550942554385665284983563938764951869571989046238718946608325565166585984762182643319014157688422792384758113136759935291882186563367054258213167816771585426011698451043430275326474428231724393230553307902387754601787846462079832806419820134229053672979521070887662952082068816697022284476745977720764300402580497721756707374521964758139027587119198300240472430263433315098074789856031151010624820037577069349179264236433726102699689398765390547296979310704617107194053444373020542294064899853931850500281181997643575106L,
5708206172005539400647472898222893883686038215936262282100182816283081341621413499952873067352692058927727434626464413445434281951480968912222408564759940305661703005198940843131869443711146050806920671107763660341277599903675561076747293822924728026006354388958982344319711426811225899083433113147914752648701192347699792856707739675582122785854821739156068997323820970311055612146132738763503023301350538661869814284211426516568616441133590160388589633450577438606893751761931191098052235665463107124794902386022356395787483848533302541542349298576800400435383001970207103119919910663552308421521687277742477733084391796018123220256571802856237562774050876379689315312946451437649286208380482782431892110653718221907254301378699377123310372118048211064012753109788611300150714198738068628258963949934758085170138414398888195296877229916158570215522193047567100867964036605912111741699737373580154108170064981486502431772247947152064018639642755711589505484562195570826462971252540280404863088288643785391095447746621890632588702962718900413760882564373941116517500414714524295688469659449732662771662561458257136233485201646901991950680581836152051853972655679523290264613361097605559064732497260623765433552355889341866306072447890129887123520591921350449394177542003164672716770795540018780266414108698064016089029505031466184615474690201698867500566101522757606801678476999209790335305772169164753060961060665215186719882771813154750288149991829938128159046247706195630305787259855357014369009395169151409097880713672583488704411387002129275075457736181213588964124189152247679357110926815140767527018744443878024609927969967067270805801546687457400254933641611268121751680011987611421525840501572823442998354106588861873450883756220349407117870725644090722485643889638271277054933076189364597612097669052834197147335511410425586502858297380385893405578172477719513987398598580358283286148513478623924918217029043505653350469976576540824495448151879066651699841472891774020986646476912800548450943106064326656245624260302420160489302847397642681101745420284543812914126937626842486031085863818674873750276479507943481815362599579704745102813796234335220677928759544129346421365088233646853589603547463261464315963577803887354767378029004746788602813679566313279940124053269431696771416114640291426023454237922342441786740895211650810749816485869705580928943617069684885590189107862351231387863298083923574370438768881616665333737560281321708550991761203198619862854856267116075939242610190628109770773399471883455773882444520237058998646039935649580544112414333071921445754030099982464009232814228130380986724377152067767654266453987520898044158080506503790707710382859657710342654819415646792790701226346666987331013776379480487259171768168602140252921083824508460125349782997390003997045117503649144881992812114708821309475548385726076790108620517861858316610878087426944284685843805534045158323404193093114894236200985426487682836635905099009949867380700386771068035639113763140277662635983602255386784130367294935660665504014487309827946153570290843993931683928772003289823052381387166859552796289176873285592259036542879639846155107025628504707335174914668487090742419659939483656883360433586996838796047484407444320256429666499238804387761879621830560322287946906769607479741168894326816010143473923487331105734812733724602933248665250175064326880281379820300685961212030960130186761800309200661244661884365978718322102769902839640688687601493062779523616567671335818182446479014937672805812702108879515101930999289256032351006905455844152181575900246663821271113283086549663166288814368645697330574746864102175234869888338539223498384412922009965139592123756766655734987138501297904771724099004852338042443418269843703817400865390912206352498427885789907468128193157833184093393402751920537974325749339802271441591770611290026024997916860685589586544265455577294458534444568742250283900560112682141909700632563186038388016829183139042038938686120599778504355567276760766042272910999098600056118170463746879087886126508662443563378624046631233760005679080419181827749315330427037842996699067354285488005726154345634685544201639360946805510484132125432379930535037278441145568956900247162415765756815578949733654187918851893284641291461452256047742102302691034006202772613280906669030516979455524275438055880768183062311380887377032733935536117420400785426925569379016701359709916836867617665535675419746787859307204064988654040615665245444197901838843937269460387008285379324243034016929012129879615721739266844270378851308058418177122200779738843463517645472653944982732781830493454587853108533564639869081888517987176978285574705652588119937986155618738066837932491361376450431580751148630868557424136587365026407144591085011534571073196910945235426797199375744193593584498181321988974098929962800584760007636108834574904405440482155054597659095968811421614433695028517904487507751862708803118921010844457440663723900247469400058354530497681285522439629665322807604013837801859014102651308331733369626734135102479275499096527801711769032914560761919156430782093008437170055893090873870059593969723747325930712452765068549935050150347368871899848407670857923623243680450198016210073583826773606760642019954430503985774585990328078634643614591523804519559714524213730389431459067710028971169202427016760284920740801792784141671109501691008143972185707625841847989367302730978621694410839150372627000447341727614047615040283686756461892810386362534114770840393055474950811151554674153993446825859666167466669573350867090801973773862320562769990467537456992916351486426341758268675779336766511496305227651352356338645419535514448718426502843720282446761335419619287384653259198960698242673386517244218988054650338298848227386743862714428078053464920109180955657733777844887373500297906251159029651687712331528892446137787009756024874736119143968033060031138474571160756387581696045578763725777358646929558928911728294805457909599379498585339846902934364053061190954338280710174280601445745289472016634635882820468934695460515736051846748974455011020738186409569260355031776354836439875750458168047473764154082439876312702826016783956930196968055670128332545406199321031813731084631121155796726769038156128078250967669344596523475406200423219725563077150186502000422937574374574291708993232079228623247733235023776495033892278635691826176370499306906567556289344232642446361830751695973025528646763486708943471702681561683735590792552603717913265599114322866L,
8881058198547522031569968336872993204815698708271145577823457762358932928659043268117846509504223328350377384183073703473208627071681010860630360607873259854196432396505147079749815534650364076955225716938850449052313413378773854602480433716472636173267366572607128044865171125313374018980230811138328422939789342328487281435918254328129986922760200968025360926797046450484010745058332574322782654487552148103820933620701901151244458729380546519526013622651507314764986162810610292671881665135639633288924534522307796171020307703394691316114503989466434132807245474780641791836769237353575388845227934371931428237653366765163333862115814704198791186965181249105675433575101550627005980497309469915232144936287277950442521278733082460261547023400685165528749944675392044597512995324294542297214671529742251294602121857974129421672437356820829045016435179236210631335616268186297637356533859923403998798943240622341851824026456001142092085272052207079425974564249757101612937827413199415557433786601217996247730894319713517897675123785687861598009564406865909663418536248647377028831522801892203948623744870725701369387846414614247576941562095722019930878860851116063945837915839606721761651742448220529015973662366530838683049948417281948921866138434292602149428656455954871967749174153597177768399114023693406872181507198764574592506691618901024397387109696306864193345599718276997038370599471963755852229226290832351291524179784147726155213796481131101630797439771899680612457499588868665809205951749850046401792973805100246209391128990090985709426285700809828244254668115115480608416627196934004322817908579493198544102391803595485904397221524195068580353175742024787636883593514113908123616709861784886399797033040405387300269091324857741360627676193058494812696733032883731117644291113052471983719798772397414541143949505799601113536740326469958256413189841423354423395445742275481804530626947828027718263406738946628024601606269649666991797961602924000333522503956130515240812976131102376245178160826859328770725703958335085218888057224756193168575902547094908633768411465795984636525286803743714528144901629057612720862485325511219625323813761327639454296498926240155248753019981393578627567618434280363948435852118778096327189776109279428122244156822113290888743062190812710032586448951160135665985999469842174498385638898702471349196857078213846024568673290317901318257453584869689628069677688973728275427322108728569808531284461203561859051670681747697859982085667158759950797683114790617094890694677483425616878439093520690789655850478967236315208393347399764083763253839294244463996170013021041452660151288021248295477317812738678968739569422186180983086892976914702977730909478906500387738613985450459092299077572732765954382480488091264261656321122162265800446725037426200174330799506690989599442315565038583707954654725543799146916962159654491710527829791194301715443328199767080447176296993886023492215884929195609799644470765519972397572165628751938573442706136364634296345251083960949328086985770417312863226319974785225449215176910534826515604587659041852944030815873117625203327853220266381651794964678101389490248743213783320343627818605498595676563618864961491510418038079167162871537458576078044871839341207955568053945288457250157818172456194175333017476917659500226077173429710530052440148022266109871350675818624424790890293478281977183261349172732874606703819535955679134795123520170347513228197696720281583576157763685825955150249285154461617637026132208269906596733075277399935474549411968720274903059770754689480183213204807352161962719011611344667301719203997983726116667560004862527093364984863534241531925015643949542719363755265517800293472013601006832466672425235681936486179857497593961275409140033063167134313667224602668832370642712517901697803474434227804631575478440142897599201167565046087117181458401213257074795584983729748347261678193219220439916773484468946800664546729978693369977645340329627906307453299818048888406314711034730666378288327021171981830212501123207609684702325378493004417683538448982116806398699846704892680481865847893888943207606776912642420228496146373595635496908389653625020732058525910415155165987770344951344574283422311083977829620076021358841308577115280938058844966889900029611507715105843068491093767767996475379235745718850249674269156298838866013337659013847073676404394479938902867499466952334956145372368590704073512787026617468224556690708244647000808327176625219645594756003485752936700596560410259596881165195289692617039352331511554434132848492204942368049590726662585184857196358945588173479961875690906784172016773071930993347035220197593841027868152765539546878631240012320353035265308896376132660030626490362823225794472118086028200881598048004925809732152984747152472265017985412410043081242585411648240498164511530111703866539843283591408443054182531523542890524355394871868035822551732067608149228954369406143559972450550426171424938477355930826826089923003835665226852783572437529127449580980732111401873501588853443820226827049801693764754332117918104510375239672782512880089331254503961146443445497939495723054695073782361092579508915240742049353698300936604393948986449833919536391847092402386739596084148848900045157604488151890431635194848739105578012497351768376721894765576142480708773830106986514610863203701206206606413215680375682042414481353852132680748180774368922033507591092369627382405150137810658309817927746784906756082430890794853411170278920420559614802862572352390649522003169394951831996869709847462362260720600133940659523397397951316170709547865398304417697943686545413618242624665409563006353733510204203076135703039374184671354878921709644776703867315436778218354149558299213281613519932452649512539948043777121867658048878712917322788622434927302091646341823362426800780997387200029994236024827240552112960201504760322304156768664982061928988712225187995130585438593078739658088171563040907543296203185151490880047481070346427696369052663620988474816556629613460219330186987095607739164816741094913599956911189347168522679379277244907788192444729423417323189116368287930755419932550284928235435304351894835522369344749336503078484962812330846750030808613275797713449164724732873133166254746251375457037672917322395911888824569644994040668450412469649476757549297683232296815552001852551392844890014503868523133416887970592807337063913583460251853099599750048403866769366669348184847769951656077508957864308872703051050347109188625011835444160869127234L,
13816070559916151387401785230595706417357244784670380320138858543461700993494497343102160305079460042642656361213540253636491402321217488557371240648914061795012438047739150324865074626044726598763433848811832546771741117130430228433642477921935446657740434667661851815860884521592154693308992237670897330358614147365514001980112014275497301398119029549869023002913663005932586703998206022816088688470977115604508426401229292036609213011314014036358292583645584844601869344386258157844578874783770197584685299386337903178694364549900586447901745083454435468297883149081191632451597319754191298773640365420100606926720254754518972496804775848875197151740293719913981846790820115137150636939507328432760307420337061994818037096336203023069241934428955086571851952607697998143049201037074823898232669105844711452684333724377563592050299286002336147597111080250008439274770189291710021951477287278424051634539599475148691050450426416185919850796285785308698535190940894635269437360988162527340606060823320898694734651669301768807132938577238946352149175397095086512565528914146868101933652401524324524297010688400573451492701357136794174681150661052819429636270083481644650783551764560786695247065413801307670001827979784892100695365062834912443848592989701327794038197841780572194249688851318112802490765268577014533494982916633987364379827528700792150867578629843883382448364143719485739104110875721750316105111874889216205321811766118447878149238244211090038431497055239203758159934103565203398711860475282025818865694758108424514806469989582435569838830792399794116862639862739545715354506362292283274842706177918384130258781239035365229844824965646930160048855716689469143110349932941419714463730568424061458288936434373847101405730807146075514587861716960251560366291641243333319401162316255493344558451718406580425758784337446118184165121890826812907734867933035497068417081108740524337909635005481979636499740519870511371368173451611986273764256438887001576587713061793296873315094590456412815910181950342386952656256615130718253092136208971351391846823672931953041714396338897852347592820627000444207835644274019091387830718299258609354434231438120436968001005577061951493032955970565937931266583050624320973592508765604570436563662936021295145607701840120484278256189194390170591118508399137787478057023312039921087912268597300713896676729514258214718277177323037653118787588368733265819837283780242658106519197649117270516752972218361463086536418404610855277849670027854692288046872912279344719885292223428918402647173728690130317578872657364786146008753632900347562347722677132212372126711960628138515273187320451096759931801486135840464177898742729140092537698088958603315206693980484512085399931792421152832676591418890977880848313229717484129101006380979408191391842768393914221355074532762701149641278174391930335432376506303704014666647955371583809579219560561248704340883618775172628404093426523434931007723436359317383115317792774806345349105584294233625181318839959128558678944027983034035359009924788289465659332431073670133988186708965049053113933892194768905793383669631419375251594875176629894462959211892308860885813350050502579132118958762719272484172693733091385711120720370606583855538719540416018310851639758781891427640475506626436082632906880620449547770303722143465820808347058082574936326232192537775266087643204628775803636281244646201106580838119088842772033473722139779349826509920755293045433339075339488455808794402746051991519808832736164057179802076384028994871720161055705456790610981874076136166861885872106892585047700332548224007133050713226564829090770081878922804493376579567441450876879596956902484563943406648083059309987303365160937762781004170256606234151408739165449334022318419911886564628456241996562014725212156717104214895384266032324792007131356384906188864598224055007683459021825128290209497381053833929344980396704089525465032788275271757294331392109374118890192742205700184070066342649867830622322450969837906354059015091139769991716198254883232554099287243401305585507358884771629445650211730891222197876367372979299225903122786033318246007746196775680868756103277965874414646420040283187513433845740479271393381752576429046202667437263249667106023476768448500170373979996344433830358341337861517250622413660725938053469755107291703865018205498396565812122033951656567257524134805507893982520761849119468444812946869336740106583186244377653913392375987463345970914750441285737518905390107870057934533775442048616146311020884559556433518823653545327314638679457105808289918370555368860292183948650689394730873702571813923769232604283645980979078649279821368794936737546099361341153965975089707793862434702728966284750126325241305391742635198301580416282725605760735842016975101193833878035055781525130920220271231126073607828719116215364753062717206428541025716594685279540633775409245344557485607831902098841652994950543249060335971082119671643081997818349727045392280223228647194910365159122000480886669846367949415625883247318109960377628721818708889929018723035435969189866778270847700005652070137507473987909493500487742257808221549607947789260226682055799335241319563777247790980228602990728727461350706891564887551572321705043121555336797531848959831782801343542636546089054543325832034154293605954914457408450720072900029004425620699661629249745336934066399260899024038757216143372463351781445233026582952419174146517020587220716864641739252500105445964081558625174292425705560540025402957129178764571976437437126798267391990329168360848759809778701283895415139313803179788998232629315059305262405530944656279134472960131441200303016393031095799463197124666609858577834211600222195403600584626041797977950540667749559971613610911445403849074854596743371834330247689843477264734764263942418523095382318150680153749203188159216325588715981079502099793926351355904685642300106201223639118217242253889637104301372465630088293467222539176494953089828777460445788897378688000360734198271362118964629550168995233866747855360198871206484688155675656902603542279772989965640703758135841500443360246733609517039696328168396931098312646700588379933121216319018829259289390519492951070590047751886718316393279949027261168977351167383244722264398607720337019731054400375939867053156701378013944315473812778693829564641129658342520750334375620186849992225665641708313009720613579969262269214821099161712909951981914433467330987285934532776189926648136231744104099636428617929823825114063186996098552625275343827975324L,
21491125122981979965548416983916403885778471179652146518074627392020559231390911600609502249280745072202610524600257744086118732668934812277870015139217877889590354558798668734419907922377714743346541121366317140994122277280471624157970590391061383023764885214557065095166633111577185797648840179765030005914562918317329788277905208637613669955851835882219969986720640469804504120455472093486567476454195802989510582887066472313649048774532414364025122117598835576546931809019654163044305864616259112420937802342417873074989729547684210137548607475769280335900481058913700962989970538540211618151438350486807556874010362883350340010598074553718811893782355061480186335159892534092397778458472368518125108830937940281017801472708223588199453778208018981000715240197810923851487791470721232614062272055896054830274992172792787137694208471182123115311403235312614690159049401723930528738515748672993797656080339248325296718704656927750820016570936766725654636134163737951985679845658654705092290968194620956852142714502170581368493142670972796747243179177319210224256387454334129255230209569294962217727474139796806586306867366995063456213695233899668215589692245305876965441772583714834134972912152345476183628757185507062877887677974186801297596586403283866483803363463948621052226690185923914462315809183851893727375361502934209692280408481319726645436776859231784949118688900868729583732306752356221598996063972657925200807996157839955280398360670739482694248682958585938719025592505901908276373282772457768738602780822577980851309759293469065450749934728500723879261434521028751445493549776217735736103905295481835756456281787522227577610215577692609942329399551910359098958386634332699691598197204776641585326321498321262644345880658943798216754877430558276423044169988980349704976254099260352274612957406946692550345335980819640049544908377639528030939422337087344326886259480221337711621861783189997875424233332793768048936802886926405825024938495167192542637898670775655943468030949416214864400270795950931397476502411074753616436587497909912570906383622226978559955167582062022397688856066409705559873866375433593849625258870555641744822352912413193281724396508111498778420165311344597024570346686275904417380018010916690734098655650245248314250165291666082727407500165155556508236506953004057891311919982282627024326552174507619563075021483571594256795742757190507621143505342305468161942176442344128019453709348853730272813723299234832152689667022032624118216247146304445791876357805291616140774047741738169793635978098738062285214706123915656079461968014077013412351680306087456056558983029883636219564835927235689080565120557241225763583967175244406394504908305113852252784967864721225618778242261376183154254799076743022394938926728485390255748819458789769359512199815732526898163702192133818934071014066656692399807747866156372365591996610083135499788065338027254656242192146369950643624240879487791843099818006012347639819602110820514274025943012077394688098861388472274205129442360087111791259381252966442176222510673462867375292964468002829421423575031361936952681776789809334099120161158146273367956566884541709177742560824985977171565932676162386021474750418738726089387490009745825920549606942577192582667429014465561889868860734876803215047442761849051429552503241689556879542965015336108446875906319461603947147806444071256582668878367201165397879455905923785425406463156167128466133591266157186600100538275928406759352624828784272813624187949975532239624839749454261839844168736539512766705477540291413655247047649744316480115147293201119997049253632838392300262321057095077193362909784505519581953246170783018071667153398349051684988498491942761815156405207844014500728814280196663931577486668729970387853825430608671735393984929338214099916734745641453205124374800004833223735022273054451516750496623186861292428330004058070086618875855403050529297931585430007646301650178231831262543997827016197387220271028349871700165918724206472602011555857735355253297686534675251399863849390016811941386671611822193170701154715912412085624363244736670897263630274620679919675252404731119813298641587570158746971162047747964226142977571379052559042843703110118561016690821465506114866300197966112717583269111015920224302030675657667644443334306063757833385444945735187963167701180383345737059581043976549368714061787788545676970717295418854098392730382378327952116761913922208281611251135870487341249344417893438629280994152933670691494797072543759257585373593633819074750467176837600338173522269191721557380866710843349795841547870752980058819287565656293255033864011192196505298020568753458593415667377300268201107371134897425249292007527515526220378799101248562047021850437477766918798121830110869537361600953448204993607284624880785596339197223657566067497419960115734794115728142219887192929722168257658649970903128154631832792542719807203285853154743066993120089835228808286627725151729580690320810843543625523859156765916885395613175153225855635411731547173935588618687614827219623717874732898773337427444925903584028798344821557363873435180134098308023025050344237774045261662165840930913698405934580891198679259358648190911164581899394935940246323107053528886074028112624352703145276897272240819149025503861564187231291316722779636206410971212951660661280277946645977540111406822103562788436659632112129574931469531570409297751527569576682141845371053631255368271527338311369711167236843002463965021524576087584398060266776296762962793124283279968794175236881039757656551437160770324974222672348570295661944143730556720683377658466704025586607731969482451408495019843546768872800708761349885653962256826519221712077857621089520360865010142485916042355322367223098172911047678399981047765717336433425490925748428441686332581696491533608580977132330588124706543539806801788308630738890708935112851763187489420476369379129445114202288780916373091481148623950752685598546411271962333217612250637277961793126342421204638498067560741368541032926447429863981762915437358770231267365126577200514304899671618389461395196826713515229319518947649336382487895621943482801547055044587558966765810857551397096128999373481360109025532044896321880648668401754583514859442640241612087458578114697760667826048070036742368145682335002558765220522063666122776688719184981269475605966802715439941665989934773704109469611351998203831994432748019291026091468027317277159699869883377789050947082311313251457855382880393229926815929327582062676033307539892259402543170261L,
33426320175521667123180811947766937257583442384707480705176035307460762288969606368011461452365232909579406455258681289076848709571465891514586173734925803462517323259351624719695089833448698720050139015933555760875299664479105949374039511448145157827901146610938131108789003972162335060085001309792670144617862394686892710600480687971143068999861175059145183382954769571070762002862400450049792280789115059674285806352149510146701876794275519458188458477244865136832488489746938266326904871748354045849129625698357647119415590241608409629281392789531959626461313487379588989222814100586612294445274517858206772258462489175897992789791892176898466931694676777136961346867298637538773823269681170483859687877492495020662093623438869407676698691593201473919144731209533886613394501631241093936536283395459237120039901195970446289803582362570271987043596180696977650085842264937979432339437925756451340099502829353051618644311386127671512551306396657408310785501906869590461576224909419255507237626814651072581988598755652482473245190929755296201613079790465523218536721019837712197093688311349128475382111959668760366536007032483452989189175248261748500588115611103662328243430444106491912862844718287402919390981132808590272622174338021735088393029555044822025115365850958278919927280792207423695906593654254033118528808295695170807696977826359018881662803376544281001932407803211395510400751672921660526072602537585468920214852748198163113372488379234871858614567990172735754211843238099938109626733976975880086820403549704416738868886102293582967511162911020648321767945682282027117792677464487478122821805742931886110644129181561225431432691606754983199314089911825735337562329520033572912919957417693408987876050083857166218388134576200510222366018365829853422423763509992200858637191680464325169391067485612451666361834163424584128145505639054082652422761344476400567711846136410972196022440641593336082089295252711366311853309802006347955704850203809473513117653516165034141180905654902630710083504979677122921373473915404475396076229614131563741419978881686197724452429530160923911319096687524529260943932374856867779047063624163354438344000904587703107138453429945919825087436240030055513498687752351720801863094482626718869772980775391030014253556723159104408129068169628964687043290720437184535512648107343916325780856879595343970649135720650901797610288325389124026443642916973732496228958289213113981284394034709808964242114463617699638161967839667851645394492160217694299024457892100639253459707489184520742955853350957176057259784248078223167406806411761463542928591963418720893309802120266125409764752756455268859793615022273846086954119277684485401178577344384255361382651508293636044695178954427723610752828079484645044059951856198860586378600251752309980257267623614055440390181916887043883310745062048229263975776766207880536615337437816772489640770354107067626171277438697025157897329069847903325159821180483918733393692183086986350109047648385397643656162652211339538739930269735111964864426929570789908946638871832873022004751154499009758528438809558788387552592469893944730202417477543540121793447761278463897384668200066470120403089867983829894256426403610562158685519574174538125548701833026625707683778998467616640412811578313582954507321041652114800306898590820694840805982721009401296629034130133417713894370388558714197517660870028051420369667835089974090030342284322595034134708109633314841738188768837327820408266667054782847372318080393815719015466958650118324264432396595670773478384467349835779501404007573829860633779307276606831126239536723260263408132195147756124457762620177219921848439612748399338875427690800360008425642399853047026977935227500711126291097859159299572919677803578605860267808898493002857671492944018283573201528061909968848404800176691767953965185274764729230328279356165082215785658381171444854606355298804042959559434523718391131101816074328891550874544581534440369844471570427993396941003175684139518020753485934858210372717228698836621477313532196210253987302071703986875546104021777043986133275989499036424070409929675068879719688386303017492377923840145756300089168881662892124261922032509444889571195044264656838123419086811027836055227463542431597437618187603986098486587357883949231267926076475097278625953949227115568963756677233065839746764409162680753350916899059354166385108014319900774982407356600990993334388800880602915653790659435352616091588652926466857467149316664673370939608880673565992250009211547695602451798983673030984781912008010438597551245633030367339917049696785738572895253522409372815913465776659221481583631503379271994201592314213074942753541182586394905802651479549531247793580962826335437528548225939353063929495338418395579532856861840294078820179039883712691159335842115112038395183554260457730108274463552243779191132482162829455595202172764547506262482889546540466594794525527182573993886407214509561588460238754599645824378133068355258388795532654908756584255344136870089354201801656330722529857235662550769616446913386068534145700059377398980842637139109486705186612491109446826435132882223794360331649181735122424715091902588025309075358375891148745114496188386009661922177283974593114146262443507076588076427533489768453877115699966723960736128616372825971235148608616678782866229868250034239003062281664348539421695655893842860649436605375441004585397781377932685832583224869242215476423598735910011626415879447862802037893406081092789081023005705952973804074029871759666294824910365020238127051619558216361913076029639188269612935747288964747914210912993421160570475526952223043633559289148652034664765558075387053586523926748079181211646519774289810388375489340512502986749833976742274004879134034205231130644702706087763759304627692231487190660011437907905575973444383796646411588400680168290860367306861577478155264958236027527531636810042100715490846780526273156934326198951768584666993742371021622798188836316472212015904930881612478316953687279612260800917571402899515928310090306872277876737856744021615874703479111055027055630228837522131553358577364655166259623898730150588222494796337004975408563147157768096664376127728343729527143309245153627756407980605226869016717538032263005377487091209288155010381025272466714932062271331469357906520701091306508417016248910183118289894753779972622474733994652924196361589963367091731663345141749251625933123189918620080710227089737014856006250111984963007996428417319372887043135306688102760658308334461330721707983L,
51984373362207888538424671989634688678648251299539936538190040400972614082468104037675388873766109167645075172249287664195718791517618804357214797347013931035665457615435528575148061188295957833950032536600634002881454761381359523814443918630172637656893721920036404969398740862976895901029817108601968319877652549004921824490758010021259242902828021452600669455029012844512738852715909500213236248775505142961400294304101658536328487819681980448102539344499500609603650540063302732189763293157341026526938053459125904526433920499775828439407565649736262179561803427696169389527523706860424917745887853299851355065709231377596872933292577362019571125843612804850695242656340792766254244576025732875338649605654356863948662006989053469691389212463912295799479970839262108093274258037938300926988650227388515640054552790321469633772570278062898022680689887102243943298128847866109098198847252050898982118738659035810204494111548365823780782434699485536793033169141495397777842754270577490745773844501335518043085259887851128420895237217253263679295000997580081944954736387272997351799996306098359510941813639128683181162994177002696425061318860594219964092515247989351726026973478360235013212119073153861526178525401802032668219931912179428313347732412947247318795133802837114039190973525675450916237606684861632780446967127134504681805371669799475289359171868894029166797795393130416123406450817731605866664565472240556580862457538077579711402441199502553750526385341446695540944842053953523451540935737094494203606677183434138961582233143507714867659520973710771124413280274417497261561664990717781965667259622278522407935380953191691337330625838062692972106365204828012631563300897203436569861329483948726981418323815057974956511870414603305341755823141021179834756741955072133497194074455053500250923801483910289905186795917381711177479091297307302802988609242872267027994429346881839696028665473673735875020603212467031172358281271548891543739327995162699043252641671015652458926517421101223548488114415223330502410094107003405288726502300067049884992170675497619429542864767871575013368876467830795076847183223554282783922325913931238310243441249403330449659584606096513170870555388012946212153376617287317828300423714955697907596776017346861395030998809164876714688439463708504568500566030783969557534825102388113345711750406608335169683393724256295466498558274421226684607915844243211093501937609708843032324314110505201096575374054600715648725322646145344917718430626311445092863813169014096758659052495725890439148426524465742434811215482984480445036514782056063787204688191660737335266924076666720337502329719854054694015213787334055125793704438798345030842610181723847503237013441777654086363662792826211220330359410477463272296906144777656952694121640002261116212452360379703824547990744474435381501530218631170102593418984078735911532926017856321316315750030047213683257652370509299666545558475289436716659259095787181463383148385671048266580984172952579067316736978833638631128900097440342445535336362859741776785757173699261628468851141947653681962016643519641045758547782615867140290674524421422509475469936891012603085600046124433735722435330057191938306708560345853135903902558020499242271604203228480520803394454591973801785264088638115270448963250148071740762402592923385123741924016608590656976046927979838819487612454585293684588856903553063197370924116625317187522794395515486299305847537291078349576657562119671118157421798551002509527791188978528782760269086964512132668783375384223276546003494586916261428933825304341875294043034547462497262928233681787551299450711802990242517087430239522177416068908334111468030988442394414362806335752832569548895639033565899617153895354697133200020228822700800072178533561759952033746977039306066000524322141836338594270493685085718708673275870502475851447608164792319323194863437371976598673835463623558108801547149095802359387463198424448650172702655140511160939757402003776608804651357448398037107595255937051537456132262742233206846235040028730372074112199837545773381143816695824709753157282340633868306490961179390009239263852130392303674914136591739621094193199474336612787681134402048339165270120536681769030749592707612604869700255109347010407531361256412935284114952542483370706947858382657717687448974053010082736349197892553604808816314558705362569257539358764262643755531501693810193533169524225316228127044797917132754950311134833238052770471658368600301309652132886003122821568092693204118901357453177263691434690081481140252482334216429637317880158120346821074768963417875570360584018545008099138929037186253028806183728724886714775769952804673262182152986471478418146125067996662245912034364807587053412114330369789004210215523741661452065780744047556524432747584762214175447940574046623248543412039652020752592743021296629296462014174010179778376138764291140274196831261310629756102669096178483087542060723161788916351119774915926217687287104159292376568050449109059519042329099824772461276902129687226275394192528890052521355466986951393909616975195135360767688390645817768702117892066220058659667692340145432968949642099773804966906841201881466525051782308232315017702207855654638273356401665207009280007871283513690716269727812817853696954549500156280009214892386168987350028295003560756802001690501206566561933035319457899120151155294373725772583691128522841173604641357575258647194411763597515041180618097276989133919612786073291267779877858477680468801115600028183597218712284980716260418865871166767470667807997826670724035904360958636273740544784132309518083668103551049646583711202011059068935542110988087338069389960605265186492352209356798129460713008032897618688090144473436537748083737599956783822858204675997892222923288898486455606533843879951324351012638169428913785073361622158780158505969562634355651641126082596272760860108367539506540873635758976882150853103841085697822767881812153730355563992546207513606238284882355315986686343686985412159633421459363183621661498065868703916807790280067292272566912202621263689321250001452601595248599234128363797109218874163118909503995149936703663838304309180897628392859388384925246987363961064002464096110550970377708678106143716940063865592055090055321294550731043625194319110039635389804253755534791100145703987744113634781807859204696863580299965350246612108522850216462052853152045693455413531909174549088069659270716977841472638170315192072287782430286480551000238526510834034574925569431115446128185939510453419793267003L,
80837320254288705889819239584726069219108853240580746636488687625125378050445375038014593648395526770707003299481509057645082725110605999647697485536390195529225044594701907889770991685675421327256549966910650875729094576972981683926351494932574218938071721681423581649322016815415415350333618226008578877062645565093847844085338762783224900467090096991722220518325203482393627538443871558254565168957745129459836170803838141174007884137322301700516285622297725663462653290690617980845404207423569700176052628087499629928841097885480862635797337561982528578486588108661366364512205868430132459856204179286133384405610756656105763777601178147824209862894720825198660178385079203312503499558767834863530408406514887304076548403222866640485127572731061374546816918392353061830135555879258680369472902980987725897083697710897423582325982346715309519200980531322676035797335147479066103399256431974429297243981663562881369062849538043862513103358695521517656676378662176909156773624364624528926246064370094834792923024559619999877271698485150994809195641936308773001288986626307451586528559124183561614829854654109588240819804865100628317945936794236846931897944878424396842004901998909633991101831162486351862220108305612592724389384372275520154176268696729293708291656182081969092462355698164591758384099661359239283884307330983873476797159882637067584562610355798670971064666361295979284661795912874229572078241247617574625514554228041354434399943484082304749240895252168302704927910649422608400028366994609266274202664429333026423617458903622056324795212534380995093606420530967378973123722463840834119129754374615879183136767079070108322945878317618043896845215367163654369416260684452918121976010150625184173751425472544858533715285643939468831149408577342259774927186289302368317778833175646139382354639674373147013295579171133291519916002633066087801825519389038662182173215063956528795050367528594757962222668858450257522215335241644352308803054274085367119317899296846681827392795582410746428202087709010915269297491796019760817935476739166489797790636578345805350909724444522254081124864707971604977845051256711640229643671031284992377994833089045651356637678652956868317398893191638011750749151744584271270269659004967606214642978945790354025635152498544015778431212840824002174670382441438763672069216816016176921937485407876878466944869498404814436473812460758287355171723436736248369940586356468432320667586854329602706952526130232566955556045521705013531146414557481182635760588976400171583490509068321370334479258707624676585207129032281334241445529778088544507078970128600696754040701284533075176455685727246427378063729794526008678298810107877427398247757938049722978239718844076287836290275100255500873316856503861254503031297326823033240032840044725927980564098761833646905256935102169708646153297379646031704277366027091503207560710130004811602462932777232447928828861830702383907465786437102028826788394418931668288136861945069685680515628904565422372450526640791269196990552581715096482762292236092979336527930634601602636141229107910348991533734797785581010176584984694143356539031785665690940495733923765838466263318720036108978241815773494467944957540456123687411175442060816511125378524033013949216587531382777369951935436367055232026711924506421633830733154966436001213288033085817850898606624685180838882248624218639866009042315423983573804810530127222614302287381277642843922232918914867806853721440344486610588079580335835536436216984522723674232174112174955120755824518890590755775967014866894668089877883716352207199313069181003467264838805835307655874933710560008635474946430731378816037933600060043446051921426425168679519237437191442934699437774637087318895496110463165346325343990547043968583150678733699819377855264759524547685771566779217168212162072178980969289313230254928166966199212338704073853727000396898772644787723064963224514476757210434465492760298034104098657125360332679407888994136578278091591929845813293885355926481096786635593486413910462466735503832313990497721153551487825517858062551503415343783209618298498013260284955348484612126740280024365380262360719964091875068629846960295801889373447781736540776987377883196198048731494890558906435836910575407943583420753790367180196534058130587424117148769277931864541940796900800787872830766582819131183876544636999205410435725637653255293365672578874906064598708083378398257997787808897788979359197409036305216851414471456438993683629445280954654221058465122039042314610750797822555591347252721991332992408857928156783814934230557433828362952898880506815068337950108751231153914570131047254490853770723274444030339339445597202071942824867944490132228226292813020791729397919509907193042882275408490080253187319049637942311955046357835490310873990017628938333004354473467707569384374382683510141363113908869776402898382966354120071511962727119565911132211360445802071327913229853569002631567472940480028342865826508086103251357202169406349480904145415607293572217855519305555174271786555333158248572246359409978394111497450653541262189186765188024023804154413798711592533728915608712785547083237849603546730843073992953074949171288004148936922617135353970601381836931520910431162207793899575162924318836214459326846603688380812928793743717247053111675740347551982013800914187195965806047724623149094351817395315492915437726425592794558387719851200174702687612075792135506068645245443212956950962028660899221600827258134783323017293513346384320018155459312433476695524332025077465134200559031791528014093482657970883936928555693769203628693651246684095508174159293127630448075391412230395889252867560535255779280276728205297528717130716064310903144320236165337072052180367168134689432506036885613587856246166028462805080933403790259292575293571569939767888344679768217584922224437740963461867201000288360040641231261167598035012293170126553315179844529712281463704704251025506859165494274399145865209688549162061184716886849193639161244901178224158956080741475890911530186312497412993099804047693282988722744710215116327849168606640477896417643905899731557128659635504268978287583948730587316253542675492185412168828363849476466441440862219028595517191360870906599965656070994838658037074465971754570171578176185824462214442383085289935445746912816694803867536775050641010838941802502195909749249427902274894285048430597524168682384235030249513343961555843841548168542142898042896823176969069936715568588836381771446952200815340290246209529063923195372674176527211565197L,
125691490504317985787606428994734326910946943463530033383804195349585255972231836931236387521223580040078331588214514464053324114441860458292796735995637560549773362918914856264130066945947709135828999505207222494011345957024080150318438644756172292645827718065406047992217695382353370840181593505770280280048546500690706403551231213187323352402214121510734321718295576903261187794744368203369088761698294916120724654669686640466179049555672144456206480273884616568607276698896156362236309599037481297351107644631160381652587566828742783544481179216523311839278016637791185774920304365175649999583755305543116839646801373449097086709481827070573586948067139488782934187303429478609177046028727098446384764458746317524006751579963865387560535047064503697391308825846608745413016028680898244836101690592462045369151584559867616925615220736750891244381637687192513380385670710150331258417341245648411878139327498410647885110407511309682543165133146561344064169810937542453593444943870197408580154006813489025150689469595286938196419049835451228039663777574521168570916851423429830764502280852890506332802506227679962532787537926568450333483665986859377553835529496542594932310205434144771636071888695880207784744368287941320554079299119877258342413601433329642818963282455548359422089195490466432435066858663761023406793956228059092413362853420206994046654790331449020772651251947900763115445865045036476223892721732305763524070828361230605469978617117629166509919873713765545875867174416605965454743716559887662321358575268170393830460513057681686979814107818996982818452248993532623996379737232263591703201424401093544659452046032023168661720253411880252752499974053658425466613700582949361489284749586940548604425039636725961706786475915448190771404897909183867569334730442133331071878381860880849220959152768287534130051301392328322911719079867565893484943762909331983272308162124658525472897352213939438686189345801261333839990853168445046997540381255458084349661102546450027848412632112630597934211374427716794488091694190676844766790795124846411552470215396121915015725521363754268163985422066980735438098250422454759797013368203537605182177343149970684850893249761613315997193740974755382588619310241000212995242649999699264086555734431573129000020679879466710221488551718213583137439116786504751745579662426144002703564930853425901401603002673071017158813732457347363819250108071052100229950608188699429061848573512461010702835571079502984145393548230737593461389444536517187983959096637190562781350983934710910845943253316006470480382794118469840549310940828043795883401712617916365989715182858543624542405482095086706412639940567941782417105030844742079575989399117380734760782185967446629781485061774834119269169848344427872158964095084928025241552072010319653192965476130433531087281302290995463495227554154278759905377054755524859480874158523132052652845317784857402806186243200323678175389128001711968557994784163373759750457111488890742199985897944489636684876796764410746056099607047263003932663722260380655747884411777688072415588230616666412522835928938183923999297956475003657316597275138580731839970012752306401461407924464012209385627397930632125884584095066962163688227019787650494820892940750936719375870425820495335991603143453186404955804965097659725181442862052724823236009828350268880576334484697953376903894343619161267278338559324993399470165092178504590683110665917905712467963326573522614118436105487760733041740424986020060120219959363146854530471231338124343118164288565858715203993666116212430263251616847607909723577453141120159445698798587346196333569197586133639225990720487676709780901989002916716183801447319430412228803589429872526343959585210002700188065562357064761207913732373157384176990218244980095122073577112764013524481599955339431859890533951338598044304951280937139069990933859166639477962070276306159230390122515537997845826880633028396637686363978619082531635502657920717775908250315041237361263791925225360361294834118960303964759053372239440875581174053989795778370030180620833980272016929348322940974915436653974946512711741095762590011741217160123617535111438900665055625130953417206892405216987927142415269568409909532941290519008280615865523850944020567017762417919078698406851660870697861800485917097871757945645127729579528231496259808179575836814023154315401826541908559346054990659401366548201685193495354311767323307201700748241282206203408645710358597134851715290585747332493982672272289364650348742273409359572827529592600628577689791871130862617895081335227595667612275893453893815853160593613926280273964387930304170525378436134302177108667966602128172449523746048674364500943764833317064279072015988448603347330384075391994969994522389671784518287054030603115292594136945927150744570335121899933525686688529222517681641219854713277946998220495079911290259825546518375220082709744069976327489889387387703535917565919636366512918581107289631279311639252025806725512004337546279482850010955706667214547060772556435307609026974466511732627828220109390272392595555550352322070519832009989133840809886726420220124843971285370144899091895483793019354260355621270292340269264630467568628898236569194991085600809824539106078949880839218862472451828834732300511389285622162884828526798119675569984039309131813035480116271844610828530602487604212919946832947002647277205893223943999694174515080922048512686040757169513429039978915142975921604148479389473226056421081932582485125475649939786160238224627208744688768144833931176115716512122877280250799384741717713947415627700270433782009913359794316507030632202116726295859819358877559866765138252313856767014108113266213141995662264067035092416187897806083508477211285547676819522378787524990703606768589204464258134315728910594242756846786596977498543386217914840640584638936580953167729765656971945340316885963026962500384517142850057736463748252900724824913939587285418445317789323161985573731789699028109786569620570583368786403340141446719510910521225859483959854263269316233433719952202697410138346080873683770559271878236751215129431863756603462578396063863126531801726467044160829936326825102081533196302473345908153681754883507130925689192572496073079323547626218654511980237895242804426465228256651159943510670887109022738908217256275192602164523215090194193776507442532711863437034995601770251602708664421252182131329459902472065968943220855696846400158299702408840600335636842213784922417562668410022303733979895247052166299477873138715751453321038508L,
195413579309176383630696446610791337597573829964727476349975979760303858102052136810868129522401716761739840413994689244857850141319429649778389921168472518439239014390708318162945263801487742158200073910531009386184054638842682583029862447543668594593978945682775803225374586263892456450354298829510725232304555680583804436821897278202803137294509690847854015132192544194569502594944469525522679110726466996470641475510657963215100220030569759307475749485754686297346099527546490505616566242416303236895193285809602002821995433677625340241963413582180184475323127747929627636797905102152231410782496464024065743815226863469471861486287410371696176114301973211745668936088100267939452167445111112260693644772957774722455159220499769876577894769807295637437922490570958134695064212709456147854839386980730769834026749416384764381170186635552276599988492211947407957280669357185741484525175559481804074159590711795943698944304253149050683134545294190748203947827862572069359903568909375296765979757031256653326458779011364202499522428549984965375627669972129274884816898740359090666434864752488060152226477024224960945168739378113471248865218207889850120156899668356704369315980292475164711394928672405909550536349393321067907508766107283305246681603744129583044232110628883024760230672517252924126583753026781539034947270478645441702409059427468820892125789672362805695870237027600955640121033354797975178321122588132072315105719441191959173846756872658780281662533364655360705494090733889361646903676469523911863597780649028208190573920700839684700971070874265250616323889059350398069229598228787547210333402408941144610230163131554386664563351555496914841003719997227357124842132372778369920442527986873005006639185139313996778139259743028036879693587246276889114255437909319948017372607752560241801043571542435074806617690876248261065848767266191015604802798007960238725323397245044983693010727035581933045868775812380756619141109396566001129592084081714868002729539263376983991231090467301603785187805834467372751350605731706909926358613803559233646534397540996695371321127266374365224708520642000651853940384482460582091141086269347551259430319087050572514644978995832980315105062698791803122323749534463094004475434059680212056243604543911198423404417509762751544143575039771503837401812095217269028365674859756059265111588328695245692819925768053730103784510820086320675007037027349301300799782031250274226915167710406608428047855422320941419196154272997847720775166991009698566587297308200234632165473550008788700525077729302505051433537822331034386956793162619478621476063166563746965915837615637225592631728213523681881382670326955855411229076347908465481969223195226341371566095046327056229031295075305354814304034217978694795472193579974525224755704722062862609819789546370756608301827031520034685974043010294875430928518912475466501953400798747191340602188427227140286286909846895396005136495689012301194979063679836785931507548144736826425133504045948335828917318687191457244836847467591983025518873947933776330508672162308183347197203543903526772018176661781137132289485354170514859741752066891888347665184555114750206196140837580471302468176456903794642276821801222599765418838941040822626423596620797971345989447879432009712761931238744952539841386129550854235090980360408564043066046311044777315000033201763215365372865073335148375259814455098550937410255169625297774086474585886781752590739027916319521788923422420289390673453855778191971714940375774810233737326713785156856329175706358199613052686812032001178942661346397449890649446001500631235982159116330833128321837046043623201698924992901597022531369760616513033170109498463567284139290511318309644543985083543079992885209548701296597164994708788008868067383838092674732439460818555976751211453147319092717740593268239364451496875880633892953255965843511005617755172186614754219182119198944929289355978209423210938587445563853135621553178888604394466673740204784387366673872647383155532981201687168332878169491133842230958077636233738576311262114672324801137160526395743824292570226870648624510195966062068793349069537069237615983836468393567845522652235674549343682016562613921615864671465380560562873070117476393594772741974323773088395069908176734196380159450762270114150545961356528182930942282690556761472492353938303183598557857878134935632772767356606184746424145466757263451566078873823118118040550256598272431940143308461613639407693409248628139818920372180443783394652572812112581549218066998816743111625770081678485088466851708311830762702940485357400176947446460494351529106339938725941190041367382190747401116980449663723552654973240375434173647660636610492789622420746814890047213082851574986721830101166823874475563532402893375767246436435199032707115855151001160402331984029246416980021963162279473341839264306632323840345774617984944179218852155752870097753212052600232252033466846240028726043688288962256828339913757469951586282286133354275967584178294523775954791893198449348420139395649817915025767956904605063966103401684032371590284399634708776745070734804049303420789279954214717679267034309989408539775793151498118553513372302938159317770281590371952582602952671885771913434300353208225734941818487556286523749194092500008792762130601521973675652452735767376873665853570511968022425492957403547004522881733925533653656653342241962802085911798339520681634383248334659798758883672608674621107107411111801499883670997494654505875692538038727372864514132494990839044246084853256291100934107389855027223659067745913811717853629738838191405454524323817709962795427845269275937029049803352110348778013522242997386264998562826743199961321443004598426198450405978523064624933424531029132762500256854426785571545040211400786144575899346197955731392489415375819277647179007835269394532902465474042862453259348910775980924506413755117945072112779632203341371864518538591160332270822693121458042208533990452721213734261423473390859609301195884155549324422094732597160109324294453691692430167007225795070719090791944351767977427141922772200126710612848765882519124929809644539245969352885279619709824024378415993821372735317282554841267204148625083123020212401577331270784068487960440286376182702551796514216583492513863404127787274915432359827543027582416327718426641943947471747674503392648933001061904615295203372482485668072531163935506955833070564905861448127624556507493074606501245912370571643016186041383166175523769512678685839010110191741275658639610226863368108688423838238L,
303779540182855629302039272877172109832109631776907798256793092065654005292326823385360165664527031952515660204482419402044395877426895656721544134002508027134197576206646581983344121194699446503292868691450349067614980469640693808138966530020561380497165571158657676459326522156570404600614408002709165631366565400195642036632239070634205319387837358803031958595125101861280882225308855336385466822331731525837745981536707283760791004013520317136552388989783131813011117577844616323199649084499839309790374180768078426408520881169548029530290622256436495757171295017974941189696619617421323494949372130839221823824479083433447545481902213283780155204222875579319885800030651338570657713916925134379704840696517789852556831366541708205415996221330156622593505560575524210217545596930764110529160710016444354758433251731600541385095098332554350962598623235326315123268814506015811815263378740647949680399483443212126984537413775882110315798383908823513512946014534339702538083613084041566295229154291573020523763352805225618999607338342214289900140357157872969152164442142798463573271096575633124606104902563619948839353264028983529243394490741763108187796249975568711076694216168579857032476807331208659129954714022550128502852281211824443128595965675163199348976916218822275111681437070066897029936324621067996675803611910383812037040731982314641407821851960658371118146054270779024895899606871029102256442468406542259990175261162768224332516706400584309474494085527523428889052553689976852640860471077733831781132806063841975169308053851413522228738095758468439059381430034276414222647454396009924820809877950074855599575889596210053352075149196641311489652573280060490299050828060571121633446538272869542273349485599968582617614920339014262259720507004801518214534272576693052695042757221749890494769111411567314977310471526273217947048643191433505965085624023243511921506266734059389303145744303679481060239452276048483773635688705042445987181615634870544519718069877323246514461049495744960718806314816429067378607505770932383200575637651519703713699644248686200894437045464842272680710875542105586053101374195659049988452825553438494505162659535422158782115701152538300171070491549810090251514690340336259726409185419440703079604329811570409705024282149085650752012423260544298121027467376637565387380523029046283256748926918227990072807749281795799809917387533035722446032848682748439253100469506834066602362886390924520632948489279290219378196693414051890449733251640739667887882476078117114054610658894930608979830397845000130729438757457985385711610156682251174191694490649911586348844681522132187016694782716677572632410348324818375934563495897119832931432036134780658958342588746937965687749407733765389480006461626415687351192108327439299366894373231945431231046595085622374154329608643882601494859050608944119828459009513139973664004777973571387289123765778436868481014110977666555671393808289374268072298936051008931966848637659778901751367895830196056003576942280544126243924710441774007288646848119539830163009656074720450308992833232897712263497477568786844437748920250391442780034138384138179868547899132504959280833562843461076019665482358854506639943264549961938763136412770354130976929580309795112495638023150860632995525334771923700842767824596658772608310268699773431727739233970520436015507131090384165897159505628062244734925619960685781815337967919689343970281419846099606374200925882901470831293641532606751977031225256147905641268549112838393440710514234837977387519702479514705197824730416867862537322857749606579662709376062439424598661931709748595040608553261841331669728582117495074967712010256099492270546223952106366333778622478447823669637245066308923212608413296880074064449451440737853945157367558628723968360216936183613234076586382353540924896373285569111659387998787610734545442651810693610739414643961089381921397677676637170558388478882491574396046500256532440421078013769213960916853051589914452295913537561337128304817226819470968041822549397588257486791112762974296155104816766493819587875004474900476185766204609640629540620978082497087991558425167406909969092804975421069888743372310988176458866674006729748917338342347472208930047437942897824876967724369122350353541864516011918526055347384931339866568168455792016261083270844468505489199292294893658535229528761319108991474604659209743983908689583867631563753819617018196244710057087962252918101249574769817483207677329217851368804705473538724905070241124169812448551364945468330566319918038099789409317811868553612812524826854082169296800306459329274881277257128137243413414919949337633817550618844038055109416368607719497703904216905713263330171859982953036162936373768904842357323054099071426169192303063020677669395000501979295620673473575467825429045673727292357472933277485394597034870796074947163333465647260816367136048711764651308724919452200776322474126315762726685201538762203200917524959240071783130953080433470687730641086091813695906569105807045603268416379067481936395887309742867922186864567898621548006387573383240218138265686630262635389181503874479490240070169973527282253844520835750339359699538259204160749504965595460897872784967501463627099445084287387144247685992325101250943436847259313747759047253437482672724616596520009855037275639908779945859781925352171504136760239131408274998426640752999134122317148240251957971692801822984499999123180631227767981070584897670054688131027690234324013437431148778898893797777283251339564489607080499563078907750097915595662454253586577511075991499617165535227051947555131763608548347724907603286121820750850682841696031879605911484515295519707026103324807359243390140742770615699677465967555915197965922914918483961428091063723398906526177966363528481578899725710076988104972680266396565620848410713548770488393612292473516874900674769142814806166148005219804751028392201118470345816780912391300557653669973337316593686111880271749449759397552103712993419839338305960708966195400180212168231402252889401227792265690142605721439046619011886829916448504407989185448469143350644019637863317042181919550197816774072759911989644902254091420259526923563034236349160607254113899309602797198477887825428286208917864296940161729557717872553269185000731124422749412697062803901395196397684237461543179646234005451149908064988471480771550598499438171877566386046228848286307610284077514370405472575370727473371501316034563415409425633863073751765805484268936445465775892384952708176222169814862767170486986946099742L,
472190495341177657956130059812074636767644475488543112805622682668327712244989929649228827928568754784585289099784462220202512152003628583152699534528468390738609591739513703210660076211450619196896125063350195570445522706626759516381581461084255877555357533956586568559775851197535044977492713819106092640778655521689573230888847539892653173040577862820133841635780466242142361353313219963589093821602307774484536524873421908565216682937196486874247367269427791650168909899992354311289594799134758564839712502705391839112245283612423773841827786905007947419030223502224358793484123170982376502140299067329170988514400273079532628632998659963055001361643848596728982186698174462579222523212167160901677022316945114067068966776220633831909337669517983443479762208121777582825735251862061245473579313389252769303536897059602746009417900428877689040645288026001488501192187878417236933052533821443818559999255799553786466294759250770235001647901331536165284777202615607546148884263105596810733862100617824442097633833781101064337669661345132140969703602801868382236445074165748474178769476217696796460213573351083243961336237937448652754755241134864610118314669203530576501514045435577156731082838063000688934719620304715458330238004889634415021572151420879069006394931343093556440142791915304618175602022394433418634468161785295319067256102264479116395714485288331729034126915762201308574343782988620396425770885095314513949538119310687736267200122875280825635204696532821051579042493793851592370281769256479957618938090336122951060578747663604548628394632355219418453902157802360636016176273620181921595128768281239421410764228544642247613217562384314554589540175104655274588717732158282030358512548151229467351230479738099259809469488290046372263963213131705414543461090510723314387839755879122420232617041158361145970629284054391841197450303070013724095840317588002356007206420849962389931919975719995925440301624705073692268627828156896723351850671729390306936811602583768833152229867119129290497411644375012306597873604994413378917705794281275908570355001059109802410502600110020790307106218310784861526706573521697869470007037346569671408196336443372374316127514328790753853552554738054782699951945537060411728976203263050139942089758732915367144967856962663654554164994078573743987973031482643787285492332026443700499842285098101952798443973609883087957057780223897303893941685410578611579324109460468742099727432931458754790865848514724560381906679150378457984241769727402227218129065756949058536350166925178554989987915087135188463885906272253333573688106059688578038743363635087668009867970259969261361821552540722550832321372535817395940672261268318933645866988093705209240899468235683179423271539188768868829925687821884692009680386139222537218080769093311921682933915417465729894591687549272018756441512340074937621021131856929468515237038527396315560156281888937825436486844197363876737072607212384709055484023121394250822111734089371716809290900525530005325929105487683586618295646854448276577773984698159347879767593158716026126951969998588072084514162627297539958641618593077956074149356001328302558227867059352064259038378053540461316349562755976287544796017510598454541995518870925130624037091705255417152351057035095500401634044972695201557955065248879900334493267121248191068013098283011742752876068915888371162671842018814427655097108613744143201899802849347666552911187742248583740611823309717471943450419418021595485411609271557573862415417434183760610083533609193875497693580323117445623854504877985564006327148865090151198643530162507249759296754111502997120640946389070036257421540115419901025631796855175651642523841239863869434191487794241382475029543600851844915651891243251221563101760420128687294665901314230780673253142789339794866962748342140628790362394741846672184638115373910887290093801649641024545098294967824088276319246521440238728483924900869150110042387565253498353825404806653465999008141632081813332626229358996615141443543576023092790101284462603741748572140518824565895286436387238306176495111352537182232336458884338431053283756844654412989037738424837375545480181222484155378474193793293337775277980840991806702597259948310726915238176548594808158199032310838457088053120452184182090576197191319650781168196284978673786584468953273501275734797524746866054226718353448200291117580004498496897782183789798556239582119847115632989283000950492482877156994703135533527492935138981144167575505394548890893169502177285955318481779261498376049976981363621175209127224022238118611681015042712053005843528817719630175417938267074896945054220694425902275030214997273096835599078060120258085964443597594612900839488270726731621711473427154877892205500525720265061706488191695278401148117902766623855466753389670340739642688467524004670095964574700115006480612838079034228840979201353676019287881963541462754858424510531233180225193811512127605366997059164246373918957323633993706457219835641008358580261953826602426900437906491869076684373760572951296473424070678285664149150311479921582916821874781788790959051387375192783041965084100099153914988396311676336867122247687365888033289685821691967953815283412968236568080798543746069759940902684340352520169136929687794472301159970888820580174209865869601867208066884093899262043934092102691449518206078645130816379175510899478248516630084267509119132256301330778521098955556373354561287609142687111904615395245881070694981199917015693487955768835661874274621974905243319220230760773856997064304381352664394831947284904636748687528003983293761182562504175021803902493937305060875296217976022360277719386114717245850470734536933484886042948520504169272963729636764608223489464199796447088784724218882697014958731236272505527060768055890119072895106242925813415492427404692898974975776052824134359888843745383026568484642349360216366159828835664257817534349361088738383024968809477524126704554341715942773941698740430710172122274732922100698418313353654652681601661829655383343851753988719890531010295402953007037885686937048743572211694904810576674216500287875820833871258873000051454850344079103829784292612206761206272894529575976397729782218469019998536123319494064158313637590934815480736317437615618110636163953216834748443247330565910002036592944471968726907678011410757291837615374305336729589028638437301648018597998907889871071159076487573772850154665178586915908426224164382318056142714862462093006432147595799595519831490020321401432113565351736102842822973301588480354747540L,
733889921475505905736947349110402839812084181507040309969072366540047966809087935929685556983768464762440077527530535823570914881896270331684560776211788084565038369535465570304519081283930100302088069534272547074313968518165104442337740599151312813416492138668008097325162260708952610144031454642346218743417277636069789086750645917385397677812900176932386944719255120523270290509240014890487459866430238252814871306250342679421337096452537819719530654384507605579576076666591513517415349734440310775457920133172740401782775460513658207459264895068047594667830400952996252028302581177657611277940508217998694203784684330724805684795420391148289870856846653415833334610895198930505359523828365128526349725470338486916326983587133416087301276914754022969016427359424595699894056298372315969709543929273909908228756561958427693207371781987920648388664999483652041634132790109552622863178200535389777916472952624605149979429839889541063329656401332770593259990919691378451336809157255351697281333011676024225811072094909240483986768271773827628447258303505275327171166080362721298978630291156347531222399316231456348778093353334330736343724856272252207323736041345487194155821992918434158597769708882594351470381866366601289232810590874520642619284750132939133600125041961519582263973430910662631079334164011720190930029002435993010416594029017240040298074619202987442071979274541130175205578224073742843726111638339170917423586930539716738428373409961622022479135204033421080467450656109084585893466249817890114838496524147775607770735306227922592834975776160731540261403903662853058301682592271595832008398296915019748502146219287480515034717520383369162262267172888680668540553259973639455483195462122486652220997780752245657514521145519318066722602182743988055240117527182353453629570801601016380221995072493418273272036475011159444818590221541741218821921193573944130592448941532068993592991629786716821655237380756337816862054008797837214634740620420980124779050868819007470184660741544027036580427920319636519646827602675907724847654928676914347572252619363717654732959135669158298986254314596837111961769491000975791457798553283068055142704155768308250233787099532912905574972044255778989995510882752516502221185855154516363276611291479097378494036210663720629984967468499579432466775189828897522635812794406275114976235205704294014537130136905729276592501873380059967833626949248124954200387051118364455838528780795349579399714794455497681664553794697541951954099252607953770908694633170779307614976622440326090607127228165420841461050444023580902787003397586417326650654023035118129087358137037443684086109946756800867432729173498387064957475860172438668957291221498619880068784406977278797778139222255234875210858897769475221226776362177468437246885170707484549735828703550208620056685347972136366091076889106643565234860539860857135321281850064201119844382169013548920745841564556737640204956769467449476052051369740889660289081395789144965208785510213125533710285886823898199104351722897018990927995844824040351920769194976274358674119316520648916683167855385830599418839976124635472876098432241911249062589910322119196929341078689534703693193867871951032357640967350588442259182980911626201172475219870529380966391821567422653782811791549289721326092922285123873264110149320080766253268858661225056663246412496535215102786616195019368305414239239382343513650600241779581810479925035628126911434554956485764591037347578639877020701489465926601430018004957046236855731647186464312542450699138229629696964813409165613933141076773354000193037224949656492876507971208450040790110710646375832761992821659205818050904718506384218712228214918856872854413234198380787660787984325495351352836223000198453726836189175805173880275120201754356475132743501962131654436208930410223041293620700817972630669191777224062247699860832979102835050225001464754456596345716227113755123194344355329094407725997157483141148730356445714818503927468556794281395053884783586508675654895845703808698525053617387949932681316884146657586085460884205453772105082564661196315749780166998309343379264544539868918762102884618724322298489901727405338727046552814252215873075349821160217432038612969707705456249257079091449737151054422508882370756449579966504080646033509594107500963638823495710989193589579963417901089426584903542719725605258322663845295902673948417243313527690836417598335659088657744664109305382064001410472949894229847631962329075237975709894944736050018549799582725056209662838054239685480274530560358922404922875697682004187025826126361107822257581804656030814509634248170838038181687692568461427320768132294935038611699840306915020727652396711505655131660796527504454622990033113072225400303770051658726189135130053896086883477229431157464243386600727065579918561394841150802526620147853860308050562369439926973996110314418056774044270037054292688757515145746072881269358874253899814183091795009837858957919847981127487635330460104219207366166205268854535391923011153194844908372194461273803130806723330078342663664559418561693075501826588260948798783072048691867456645909840893223377254844458570785892163245686835917534567518246995992770755352865224664730353823117941458336220854700134733190053305886336096991848579057016602998308990795738496388141445941531716031060526900742659944214433933460445457925518816490051566815622556328423003191904277665801675811780471204703869894385898002863845911765787895354653177867732301264742478093860924267542192443117501977467970319939430110948282172736634672045849022829153711274907200633242652545806432398457662728863893179393381166251766674472302059661229292389669783094693177424207946143244828118296080055968068957013094921151487256630692974488615314534864585295949249637690406959721555655930997212236223801271449338981059493358789762891583968258876150492386058864124835156966548399226694569621731123263109416096409122171177085768399636152939726760153922688396855919401846716303389488292989202689235445419764288327703628770383433665864776010565999251322468220395827411695842194963096649341900551590869670345252559555073509565321503613590090085122265868117622840680354812259986329850375440731332918561923542818772198660319111233362739659204351371612219645531774894394065322787122323290161939993792202369431539788687622707859470088492097572436961801407900650387617530619808982044316250071145215873494296381469494641986628342883389422795468841293415452938644772158116728287963161944945330822526658578091341036150062019345206995511440L,
1140511294326850105455598854531293726861257837693991695427923671090095942270356691312144765513654414597002431634084301284547828375552044653980887120679260686681952794737281150240984313486703230433105123963318727308898188077894640357960771432734293910539831967479553792436984106888028297367591335423613732046845094632539626943086664853791614082254987979656790248281639753375308533633467263442572244591697842209807270075235159952664524840864237828987202137016195158640302246022497333182659022584476342618101323806557036890911682366357586739577286297445462016341306499963593688353294726224631297230770022609848696841740089320281926280085003932525059942226364806848205228547647888202424727373783102173736980851031798732780093088843103398485812928081190594357623706031334867266564873746263217667889387013942387683395733150634315528178663604668347115841447552506226849245559087637601366490181832651546701376581824064836397349061627426254338247021176505091804627823581037381584659246061235545353357538969600617440442721192481025322492318861683676281902726095290499050355273729651484882141167269942789318431728700316164475156728250099328541736449752088248274679713311296142944601582732159976254162400016524513325795122394753688699487223308257416909212059263053590930969353070533779537487898717369164133096131227470595027424011666942326306473876691784536452038988120204975745647453623541266743243555350459279060452687907614007515051866612674398564454794734600833786285167223732976541705196701194368160769876482502603685568224648671296122708537535699275377431475924761939328888365473625054739564937465390941154769967987160766135475200661511444649872067132671448197045814510887081868555699544809984988451227584574149313338959560440121899955453131698416705538909327224253861105033747098812169698170027509288484355488546522157521493226733941010273396162346106406652117201835093191897178142074485935519267204167910892724403407557869999898894443082945580230856523989531793026915564632853085619527706720718646929729985176606054042213510311110577342294486955510776118734499865245202736283075669839959905147609780851154708656260519889438705638743388651440211369338431133494712026048118704788254794138917109931255238655034779884751212492004187984454790204766566860058906651069526051944035614940964701449828185147899250127138305327931966894126907196606805999344730739700910993133603701545399351249045526169784732377727722993886084691842004699820970013876766721340481489856253320398851693354282865682116145673839977988934918687550857774262275275921629441067210173981085638580020831720545446405092597436275300025889187864516752741606253021965601731365187195055408914787411529930757157019407894763799108714627345459525226769023672347007781341604142937935775635345828534130432061217114002457666637776943523975510605685428664312487481034229125514735921962588682570986072507920829957138924370675769138275070708289292258960273782778508669606143810218959971360697971525942115261312283506552767503822604183849762855200913617888617051675019991680967957076171961469475000332076875937950865291726785541565378940901523867832213494243204007306948506602457721800110489109074021724760304920022907980941341822455214243455910479952992917560097318540154595341096325053309110741302677631936656470678923110690043217893945256980095069394058227975442268813208133562205450285473727907023226352295523969158823009451424521802237066352228883668102016528895628043219426421107847076220002860065252204432827308758908715710380749994966309447888408453246120582939744620051272457242386032444359987233539976219134851152246692412746183990826888485063158555344391712323875613644962649575825863210298201062549944199953359294261767260619638008051169100628298631122409970305851110330580882312010950683624135239459893068757222160342705189474199611695686954019465569112090833300668538548700280609912354353889847239697182688084837858865763946222879838334829452761717933766207712206739944615930004271672718773715729865934829473944566323982878041900401663823994342559304878219288710975861789760140966790109414598515724210099340859250206413863127072379043045647110833856627778952143961105177628085494780070873014138143478204218392820831730906052023749813404034261961569756401611013297299012552170467296909428867051992058523900866378860591091559756553129388415411307660367877539147252612624295387610732122624562348948647839043322019735756599584727288377795693385331255887571077914634464609524993571631543843378019382634528568225698040515653510583603050869869515709619511514283158552421092087353711828741524842388908135540003581537671536908638988119995986464628698129290971345332572866158092794413734410951238594659311452351975566631221856970283045449499766527552759142878276189235223646622268436645755462132665551165738702611228800694834092408451386995126282247423025218222528267921652414903851811999630465971648336042203278837377839546703424860536447132645916852585593304542525985507973745672585128060287005984777057036689428879721601993494572813952855784207216069759101008963499984104585302476832068339508219805737894670421543900522408424738749825908850814934958235585054100245719305076917218087231610930797886952870371902800449206409039548198999869112108326711881266072268923180693243014108951532539557647213652654540570081802154026577186474744560486109316972764610373814027713087299690342820398202902945994398715522840140281280737875748839333176851446348861121701392037101304406937597749027188949764571228538436856473283087355251202967198337273091873645141897195214922987784010225186887906890114740040539064183306456153803038264151509805729356876161317783534240024269246439066051208242614320785697432952755290995826677117954170211029761847963223030304322146694997642376656049110603166252683887803150509229292587087335093648175407556306352159391135116014757463987933729403004419956133202547468178763707237109940015320588623901094688602841614460893790766574629652979875170911890017014902507534339087393452091968964169877290052462957020300868635418736818591024211220988067254269060206186818239090437167609573088912135894423732757902990413559561815363023282564386118670872933527017898697737116077623902221040299404087956103559287222413619349987274942185333268286510998777262474743438082714981159759631398260151469384640489060887477193794354345542798626478497321181298737678447369767300955809004344044329582468102930780306066267860859790833292277012448879718122964595976238906827603130256178835888904995920716490664530829331903579632926L,
1772242975547473916383455562419689286796150781674019760773385626618623360858589263455490030969049198807816338828286998125710662953105529371064996075695085121869360511610824795595417318226103983999025210331941269367286957972234312220791248400456284731041462613888315207593493389251214243669217758255624519644116440886753141256590779453964782486041863806269466864803457074643948055488947259770705282181248383651700210183821620874919725793603913010148369409392998347617980523619201971015747235609089501293035413785820823093644828318547002374488905972748221295807090750770234886523549277777018086829194408180151120848226140711227984555506177043828208064370112213560272909829718918005898158492941555263466138329077961736854924069231782408657796386728468105706310446763691665132313327705500330776413856109939110705110776646812054518670968410025485975796980568532717525415715114413082246075233294067897998121369042433575799243927781231249964719766531963090192666467162304220656666279643231107569590120327735943546683021883359681478644403069537698692842313473433396460237093345594818370449613477417862733455556052789231440547336984898022135957324237463782342591128214863057867713763499820138378608821791280953885249295678048404147273314994286200820964418796603241958724547971379618582797614709464792793280098706813687781251586036972323671476537762140723052232538623632373883209776478386714782789663741569900955713028163704575035516213172853084953875074683633733267045516134906316563929945937564237787834079508404133236683553068166839561680025155214410427274510410611993520435609088841710425702465156773506922996403066361218468895697057712143568627086328026647212675134286077788732024514748716164059457992839115564229299499690712036998146699624818050149836700667503428125862294945521722664643128662686831216643180747282329363945536360675568102887790917487767338119922515498460273597681469085156772836459325112963703142668860070117165894259705555516452199490975279161996026583336226561377970695310890093937850224540164123714865585372430467168955944797756489840341620994428108870382345463491547750136228128889461314612258112154271058477527048153539270048361045501543371594922242851898201398171496117707054898704651810527101214511802396715232801760890595137463483778934974686383391325906877553288174171361337320448413613936428428663657413280960084202249408672689128511832007780360416232537594909090580019220596362945053060884649250465994810905273747835118634871330068320005047098975260945526446521872919703161068448741593235179806726778889550146360269242370405288823713216678544892198204571555112105470746257371523207871536802584898008469229722275685239716056818889083954820590748222823695313927509271992093874744467218442667002251072841213129059610590117351627321365269762004189240594174963692896856135182025898114211209311849540873682203159236524892762324670694355259286610208344013413679129139505942047811743937075362394517944397957290837521744715295035312561795967904293954157051585264713542988047899714949306927859138311970469244138796097727811567878769474330674818775510239438106299352629450289485775009191021772216760080267322634559483525588781362985736782566279295037653055201429578643662385514082013482997699849721876986681111451883683050722144169400584642325921292550208047543080649016265977047686623702840025874055708624143893944260536566802740655671427662365472522748895081022360248165959141857433520287346503034947053338035327396618735112005536599916220680051747305296086767200230006825871683132320163606321367128175041059725783107260482737599424883154561602561304366130684062571632396530752746523098433553483234101573620980290865958792455420683711220356747632462656809144239305109040978981519943005045192256614494300628785681827017844610333604116934215656045812830815510311746835846465927904819932102818007428197481339091323581946539406263089187933701507118389657532883368938296859281344537934206952788606219633589674473535240694450797827636641266782320874517656678795318306096592600614968094668805544430894589157210482927517709551190927675026604295005696892234988966368135457025995403382910089677636401326747695978435115173579640328303696315145551417793821459535389128794425450160457456194704793231153294639873790696844494014052263755494249318345362868974599139523598478112135714840664360592433591067383965199211731885188193065717732905446409287660395194539250258789021987102055111857089241618918506091029230237722735382549105053761189308521907495778938843754557309204763274143685842825724279673168883718003599751747967360396854010080055792176975541780572190011192454651641182745107193545007857458771072552542136958004640680309474484577821767368021503894458030010178842471532082275477065458393733427474856387906842277727927591349486211120908073785929590174550970274757054621555538534822995124595013934109532132938382843153996115632284164703715392838986695774338943434925997330052924886468989476313638937962562654610198221258986897970286236531717953679718999039090340306476021337879870589721952272826058965928682498162407606609269831622027018807250447935305844490692530418360984989810440763278037316957845302564608524046131930394597681921720815919370265127457907183401669878427132638601600642464905470053853303130658795886188724994036235568573779696239443654999396143225119944211190822434043694368864064363263187499633866047385662411578214125294237426508147586755994828130240592111446980563704449497770750199812100560964768347820982232134771019820563234093829669059659759677732769415334413897068024327064581589654870996066491322970358833533133819247616743288780694215136139750994797683658412064926257126572217775829883323132105381375970959513668159785015382243542790230523266241985123200322628407320049871803555373023938217330609423482093190228437051327446336589293378890847368793236489122169402650845252787685015732082598139991980911134836540339976617625954974633237564083571970212616517677821820136147839983124519466819992147646098847267974619299843686012793914301096333387311597988187882133186076159943877024682160102320546081761637072718598879540717821027459946950615624245535797202574408254855748668677968755686198590852544102279150904063995863859006851410647937558930783662855159323249926360067881572954837368083930065705035695079624364934671710318604612202845658390100798488204104867574665667892780065292409683340084036553815158543478661352421602235318694772029493665303665144064508679693305083748321787642913033392372113805828685443589594152726624004551398812L,
2753607054167829364087572143593782555148618605501466913864975093178501420134235005451560947809546770929426780242676272390754606917955328390905563387506633494751940604277394278478559309385402364293682865185973491993461472751154208565299486355842317738318795281245660397584846829353819265916336462045997945883566788316034758636590204235893728554773574108393485632108451979843668736641864360946405032423008630531888971480658310829234701697320921910052499445736050310463822003029990387414543313504433620408257359168873055231541889494722306769227857661853941877237649039928506521193742551416551731814688046064086384379027788276788505217850090946836164241232515729982736169483679280654963431778678395880215582372764157573584070273869647474603564499741827911467949529973376708256622148549279434709603356164178398469169964017623993754690910434217828982513864630073496216574487499541175000590937942488228880699259241385636724607462845793021755409695668314424488834357083430371919529008943353419116421582038680419798730899315678555211959341066727413233519881754462642778496450877147580582584228757618066493744088623067598198803031750677859362326335100937282390828475292776859202377243272107748787992613488907289499793787729476625824320678481050131863733945588904123464321730085239523420081817097430190321016828809876903456774390890985122676152445308054215605859488769281509286395089083573446142325832781436302839596677137335021358054724494662640920097606506279860660746658967814927254702818602444171121520648382792002973227331951520968368218392780735032580614744040453165830168501764860534269671970501366784048237335537353778829823942680860955857875109035270966515069539015796935256506859936224195193404977017515431493880237637500128573181002679613952767680010507115456311302756154421759027296513109188985744414733794114798476967853182694699223382676258030903016380690653654994675874863410789655175304052199000663854223478547054264130088507922657389344303977778280348098561886203050767408839292219729586497735397196077847479782543398744619464536362395893012588771556461058946916159881717139673317450343185129738864840788343134277001177229868304663586200302706104751693195570527409884209360307419511123512768352036876519739426835713712506672862561770068180901222195688430689073320013945647536879388131072034874574531220272127078320215683664953036649136315975168965297310944276814133488278699481548718771948589027951559319781799286215055242656800437690146880894927312387259320873155351182349405381895055387508325731401390195408282125112105275827814228931158086347835726867763342723286314437191095139572011009457395422988011695201618847975829282307563261237834865474593823956049826747489990713310749137202124263527498522043929159960348307844279112215973674527471602076449676326901235701389266363758559316580035187355669401367274482937497260981017589796286380466373651723050544074353958311033264440586443565744075237527127119606830275348922122480357689030545496313600538802996588254959923567458174219301376176888694302847647639165249476212499847666024564269167395864149548437896085954787970282911101542510899114130660268695046504071442592287499137720971751225363184479880584730414638008690728023466368119500201497826752451342737120867570190850705390019435487347158970375645879054756989601172337667527256080457519096150878496258088277257322764528464379550740361728232759378959603935101137809571127754197025258957547463313378211988816508069186064016067084402334713512518113472780252005781864260239151936289561107997565244528483889812267585873408849403186336359764424177277901109725340245179982683250338452886324908596298797509467409704434197184253670365491888881235781173213317871020848791860011432063282607396919497288361269144289087433959397998252693338741276525977999783526352421551360637320994073464186920019670877604430742123994801347344175433125957293169794434219706266343912842702229333720108510162579760656220865751010189131397073264791118235892738966625664938265666945433388294321664164949037135540720502032224153219514261660529689054161418317014303626882916781787947985632904212324215669656055036374263147467671885839670968382910412289573207261712464876612488090313052168698656726778804971777190298949550239553264506949290209038236837654902989426495869073232913716951583979235195849320383143071393732145165454876834396016968740923108968876602012864932015317078565624035295158841480143901897288772953391843093780155429290489760639365284489022481814808873059303436537534809161865829186399704870931673351486694000252352208953623869519341554719703543496207120174760731177873720960263279505124866565968548145194020620408493343809581447132066928537234665038980257508723101796655410464761903522190773245279319522878440094694571655823530945429663990282149455902185590804070787951451714380145262191094242949143195883599528539824298526835986546254211864252030606732431505898178914665898593810828581519579234473738255829099982379168955231549108839682623800528894626293721536313012858524174366594702271502141000554027955100399272445137021311461443383724110117904017333815919913665204731415638647978438432422106595618983728062311362795848665412704402064121699352891764071719722782930077186966021283028673598053638493414809220290934413803092615993892550789353514620125929760982047393324640475655631944830476333496300170382681620981895197447309027783543778296915615734176375276850613778764669755410342316036657826796816424676301653699818826443734309026256062072750440868180302905103565967114212305893009362809345022062283339105726534422057094630820053594077220533907236387944985161034174553774427990848796700486749337023454804136287485789650721703647092976793272069484426414548631140272302913075405206953773345740210228999114314060075581324001381357555413498552765827864389790379791343844476084466249099503599070106176927629481617605534252550474267612651527599292272583406334988927993764683817675836892769130809979196761390876637760408685153715005641425288300829867540952150377768304479229249458029202915539509671894940213232078083913069164830042466988677024547604166222266991450975146427066160751383419982480495220182747923014399571613654159508694142743519646928300097015811483249443320581593836107915202168396822841708344225331184286423111323556391334799021788249735466511897134850112705254508308620921204769409997007120333744055684944569928989239958126792783745318643471151339184928899902468229188843636483328184683525492897778411609813267659976601085686958960899451470106620037289707163L,
4277950137445882655727934872459086653640972163432363514123853611293062587934547928740102133415026290326833539496043293643317375573964230683959119765062134781844205864512962812597396189004002451353148269246396499224284547300904571135814242243343203766087152688950817987909089987059802236086335695856083872127012190628163278072815707775431265610440807865318834180809112763937557281327104070951694996183973915302418689627135124687617117221792495076290945085534118910986106178067133699146561846508390362110499481394980917858720583363997590075244487942728708164070782289440910501895587427198408417452492277162387478237180369391770567587920155702080980341651164175763254210823757100863374277797640834432095226617039100902256898703844605014122775415620285565149154995434601249107367918690992891234467598774997086036321472898563322780675591705007426589266114703513264219489269015322903409259146577997950712570470426194511464387667296262250490904607026842500114961332167379039778510685868303352705268946954941111526554734906348066094236061045882602689549994458519769028209577764559790565852860385628828313950627694563905120028660629490110206822093248545791710413987849444228728155526146577620881606373398327323164351627606719309103129136946781305796365416514933994639859697618885662033086932960177267083407671693175134931162996806924232380719163714450403994536498691331592835487202560731962310967105632953906635228441234258259377327815916770821838465994515253206009575024186139903437068962835103027262050852052779194109518844721314475789254339585088189724251280359953152191427251904639343621083859178162294989771938134765606711047460273035768303917254911926223706825652144210999575435283309557646254735967213588447395615870763966939857426586286499383040110652501842224303825671246239942754713946851324099780158683993411270969091693969637146592686565822274384424304848702164250750715748415030697066728098417108595349263987930739448402125362042215115550112464191909219590265653321264449503945840558351871071377193208223730753751617586289915115632341558359225984810775061107237414262539210180032811355513437320122431534172042078725555453433953455528564474841794410150532085759051507997564618728550337362312928806060561262590873941533983407333863151762442999451234074798565061146030805797609099883965752978304945687612333987908608160133923715934281484149818199346524776944401736516835025284738792031065878068828262593134143570013113636933141220792961570210672322520081840305541090803271022270804191117870746248772913461324968016700576104261709478599253208174272444175800871160375994587375862899687285038020998696333020829969602576664187445330908853531479956342554812037393771860691336558301834822526561034938382297548456793548997581754615535274937894120641456928171532773782264694526253383185049891107002921163376670210895669780299584129969863554531142977620967085348246596137684881209054330644176550618816773409247638451413503531272532859057988664878683278243024502328678808786755975225180101623986792335767803361652291512286815068797576038497019755506661783605594520663625140668517996892194988078423634733082436536136540342240681928269216055280713881290987959782525592731611405612170372100637429819082711354895290262297736140164782817872947089938242839610297935298665896595320031499458873824535362772698124688950375960733174443332046683859161694304880503915586955987946940874642414074078917321924616299810938848185125311520005907806831793870213976118511404161928145657246597029179438399039542806422356327011598196538502464258983934251325397690037762649537065918047962176094573436261068809311290795323720863274680642254612353583967390898290524163893669306162874409625300728094231441790655444440208361818585297616309387963279296213899691011690942740800083071943211067869366778656054216215687084219051150692777543249578406901125015832759602847052278313014795866452993606319132943482164812745196869493449619163258479481825517815824519183517452343934737019020094226415264613926364370496108199951228208652115908086285949507220305498178567755626361067459109471822854772571460492625902889667951898995134493294318411741458758501424662498279585126597568519511317992014443000738759590371399194674619341657089614999639801229234208505805553666118215440784434270523389540100889938426676449954217648870403412933029557963838683949915707691959833297594707430745967261495024189580861074236686784827714870074374357582035214679725238026098348678513014327600689856478362360984377165677348582966446690152060767431213057387543825290364013423492982743390451416151055088424589886966075738446394652759579572027446658564039614558333069061437224935924874334284105106074691380095623623437451408532286874397797117032738301805119554856581714758368064515080979410540484929803862871820169738226803294326576682934148546626293674061171683169758682848772214028274742271230840652741008332384873967095764743334207974742750688129095776766815495299918664130202193247180518391804029062109876886831174643847055311158383020758320827995362996834146097046704095335145610319439736606044085306087829296807169334890115933642758199955308156703638053759426074773636456017365071315414156342218400067062348581484765133340528043140469444999947936285135637830790800182868543622515109085664339016492903935596536331479172456991751596722571508815516183177206897361951380071237106445999483672608897253144889938706296257188684625752208497970173250764688843239311349337514516794563034912082402341766624694711453819971600478826161608340293467785696150422878043025423479627168530492248216725124835915973729672594024493881531027384402556098270048184179520431712250509271931795793329080178977072652508736229949694727097141707542570090009404171765223566193934938881092627999162248511281812163753813739245175112608595043257135299117856031463450093091521250865117994925384494574870152243361713606187610659706294738811791781301604687441788021951140035435049851987041778770977346501812504334575241588293563269159259086092668073716605234133015231847095172676626327352758189049056712156005827929217721927894580076823952664732256029471114232570307833327145218839449314173926608576618858330089218077228166057980117918608037355393652191684079950661829064458595539279041804949804685137277075363480435348583725885021664960084423405312493243684059817768530255907303869579326274398724431332621191127290763427345172384747741340337499606376246312572566131304553767009745548213044410065278272446915173232361426958713110949563989162967413205298823476239886190388L,
6645452282405360370591859971597838472166320763762585396693378332264719385735107302557442433009771136175064057744877238845866587480313462640733433704931772437366860283587983127729542570907347307621063055252654049914399130947646054112086806609689427156969100664906495920471400332641479798232865995572543511655992846923263130568083476508320370125200067673807216632626300317631561512643514177612642877616539593595363628896497872949735835862866082607861706944223708932574784598658618184964094345115625114866049499995876701310574098753023236327413661730598255955885834451531244582767097960358325978406916748751455252088739204167374184052271323636532387475469336377663352595285688338194333584568827259788963736170098935784678240074044548977594608292220161971099259728639375404981237329980551278875760420136697611952590571823366803916628353256541858818751192429129847462058792612230848609464154826178267713264713538774414196326674765450501377049055073106369882236325659995733125534003811651066997324143953250311892302298851918393820313315191388559119706853035169617348999554970989928216738660871021623088850713107870034341930092524644033086290509973209788473475055079231321080103425434926196349949999144223065457076644543582933031914858742999778861343343860613340657857309048803919451617773253220447187392458395068364472252006045531293366233094997865237356521455656898074504841628044327542290985351320005310373821800987955063230074012730108226004487722718968660630955430868486342366304898158906195133115563048969546469188945456116594218151180313051991022137156749643382469801152471008907467356911202335680088053871159645377775633682084200907137749012276975843933611586513588377898943099832384753557516686986760290785004809614435698164774683830422272011698814541860384678173339179873140271350629705752996893448001531208737346896152050238420509159831107043007415134099249338176835373385683317360022135271640153739554246710032730750328863172540676639372302724317863625299977095645655271096305776191101803678725701097142504253805572277481986953177375938024974713147217243765197475270836348550254320153370258947678941130696194784720678124296448989457271909241435730081494170329532715798297283888507814819358331676456477871343023354861117618186944664839110740494483827869716888535464431085512197123278444793403522425046136665074817387937564750074829858050980968760355644478862903480357211012322191068106917812398162672023071665759947472152914804352694321691601353727721066804508179894738922461797424714523607889065062628005885594118140816931293356744493620627379200115283262349223559707959588857630065093269568154562341614700009980948416847744707603769824369417368189869865811562947615712508396042748661918541358821382346424065626923826546823110157519035409051002833267999457521370835811951821554589293332530508773306114223116442094174452642270058576718390515146876909912869995646124618121810057416169551478826070081874109472630285358052667681943086582189819773060151254171573427236581168186475986291732644783595905114250037635601293574277322907179943004890269050688944742959657461775249979598164709266231418196133880613808824232354714826752778111963905968688235465315576246487913751384687268856556531531285542567441883255140994346716052650974037595039115891466335810156068279703469693764149137970528180854813142868016244321282973854316594753387970881683724816308866263765892935067289855581656081897674370786240908031190009141031619909940898541657121498369835810100055959017117346298672285367188546918953562967917053151734145722876716329931648346064628754205707326151749377081283613606356393918029421383164820390141541447705025113034458324092461707485147608457759655161436250601192507172385043814324372753465969933090718777618144802099585734169380238605085833156183248759737509589833464264341301882591700478510991895511621620427507720980670332918440754498080470504542447479001184803458537201992733938519511954097013557081475556593894683393095456175868490064003096030345357365308494088530795933791562753260879014282937679116305058447880150422948546095646824906684818164890103637655988656851908985990341591457092773224955267462191884929915219149526166314924012723666692266379512164674869115079660058327767859857563722330332700326175626427691942730888687834556711213378427560663535089361879118174220036106555686386674387589184688421026002158074218798784785197791952104281615967684091810671470958065274378362975407514803731295981788244070511975948294339298633884449614506478900106624580202424881674628448580965809208159364429366893988831687075331990677183208532841244488713268034340449777882037753949015580687202015383167366684777840140805133738684717410881348794350377463300877889915675328105979959121364986293293592023528844339721753143651013007161675457319761939553075895781870767475534575084338890085195370275478532828799139728314544834261888181910746042697053436049880772384559629159376352173153284590925784609914345264686157891490901867708574768257034501155097097763333531451032237093849125506644893394382293465256767530881804299075547099580637527558484782740430370817067627315875263102186057366795797999838558079212451945924898855343065003607430441472983577571720250925807120084613525341244012165473192581079464064253921151289643237259938066680451858828823463882932330606624834569391490740516496637864748349971250960080168772860740406313627976571174097382329128452454183689295956365063213974857340003183102375315730128020674483222677675386463622761533239613490523501342024223016214567534841543905270670528310741422671705352892227626774599166816387748070830642514506022407439022532926644891138366716289195975653342792862208960376522074195911363664437331065193498042296594661973203676747155585784397124824695432849739685664500845640716645463023868905404706579063425495490003154519638685503925735035022230878924561053798463328476888231817252943921885217826527954490435831511256053240441903209722064636318688561200341751374904272249273818507973975701991031036288896818108212554075931774456136972037572153464957812529415830613748826177075151215411189001806212036046098774228697258200824120987825003736851370548651492755708060795244621737026838154005637318180885986060149127032479762716022312121665104907129161052054335933932983097036386671177907704106314415050172264961362517108792195539510986366670696414258709196850671013300497444656800893363084129641394399896064904393736845530273277653181248467733495969583733021398302263876485640433819149468265578234995023264257837051445975915647L,
10322109565686895842439529558264302944141420464063151304753247049667906366346954230919656053289846033597859257015923973295308852339590265746677521129575452753844833371299557956940476957160319291706542946869860280658358130611759972764937536683094736038191258927694360007259224729603304155763336861972832352248387143760312587823635255206755384911633021639453033628696612199470707347726412852259596657657169108525276807532644680321265745135233578804105534527468100425163030868221190619848655385645943557749128328751427797072074683962148540232995515258172349386958382495517102664480180812684110275300677727105892851550213828813690590075236610123277496366038677065208172756559300786381117439991052110514026944889724481824665150859344064449997442018408307155091221831239719661149164713419440452877097673451201246500197550623106226462872676583572182925188256486992665533087358360945379313230100804725597061573964426182965325393963128085233001265862015214579917481855765034984496242118906001916042132348669186199680622709156000124640269877775525852454803095332041799361912307455335228115635303475738464919020592576357881319502422092101238040918030130242658400523255053578808708031991927387085643235267015343622040870005015880443582079103874284354541903335075431351173936910651147809109647424098258077575006983279364058712100475860692521291729323114811686189924788500793792799137192949549660998441366413894110655740930340311184076230922649235824661811385789814700158667973691809910729388484736558234131089744081804397245660133750852761728335089759867591401487183535846489280344791332535182148939766516609067730391094742153437551812741158408448479886624852103057170594269775559566349348214987356868687552653420076946779185817419458379352957306043640712890998938445992064453708937933295828058570278679095230054745601256982957037463259857906227338299519766492312283881946572511378365152613318859918372549332105745123065810769302307852475441589999065334698637770262433739569613743677072131475534649922865545669543553441647428450866561341474561820960562158939060384797059768067958642195828208258906593625801063492440308242314734824285762955697104666185355376188640442472607047271198453350122617922807666646277070743242365801291660957484492445538608069345477085284304875451069220471712580053996597702013170641993796008820321541836439749251365815309304798644128833414384091163012653666569934787908028996503067345678090514693521608124334219745035699408048277384710411983208760849714133397809985036376700621744751093112852035865433399918646472969658285585312344196695789205071242994341299271745883412107208358161966582322555298192180227413368345552699733545184093811580901195816812083694055185075446270752577288011978306784436507425961285391950112969953065504683927652498747608708513478746182354344871922613825800871190599002373119123396634236788130787602258586160411955607119508639731641891646212077657853409896169986134592733550801108138237795492766154301365160647557787684194761000947088216304750169617112732285083836988678659870207370345187401997473923293276651990991052597798022495847479914834199607728041155299158572353403398216557151653326818752227327979676139238993291836601484123250101485252087937543132686388104600712735572729033507434558046594822781186890788343934178493134445072270974372276625354320622527891939744562801441944591087386556534530160569549632833399039006234695744726359739818751243887702910587359849407956217452221054011509342216392204418542149431388833455626762010778236090386659451970274486507410672546391700460316063207484411691692398173481760968480731891054604157804186499450309338583237527827135917818638676467879762298388420806271125721082960579374296588775704442326378559084296709826989052160737183471577280478624494513421385281715314632141460756281622598661900565687035108197719284221538433831252587181354678491249897237991804144781176796556858019684415311012745362103944899597071754082029787614123140121351046092962723028549621215408782035010321146480303877059495387036568427492505261827628747623581930945658642165328649269813798566598617409330950685772649260593302793488455279366551739214313353051312488758916304098475923335029811630842358831256389604394412573163071564042385217222928891269184725876699844216385149219686921575767801276995159971220657347369524602081507815250579197083068257636176520921063780794626581096916034533825881264256212824154404980360607789274094911711545466726115258202353777799000571990219613700569651428792764063782968154027733645242501272933557793028277785755862739888651998393821994695638810988831475063508067079503740902455255766998065051878641141011324850162984732687328334657843201201139705286386590023675255607026257606731775067629122037458841273400782306505358094759223866701758950917386816408950294148352729833695373282648606376435882932520323010807421965256944815191433063861904248929355524472881521318694194302372537392293987156036385599266568402770288724273393764227175305354988291210373773980176502741814216388932183232536963254012119824546848242308431768377357206545634083118747554801368687513562251460699929607231229321667221222039081777010720726182158098731918065667503984539017990480803493234821015321713515875676252997489784775533689574943421733601602549760263140736495502216176609906054764526662112566490575138926772882761745082621229855056629762646081124487030883068813937175746203987607259418797754978005841338773661550780321999340261829351651973555308476982388560878500767187826586092845722176982196540822761528329863384653558941977271481438420164397482659291160900800892086554898237242298462631472757567622490484252559904779690124624233507917595449123219950400688884168147526841100243725982343004633687782269534858099587112994622734228185508283151225691342430456091658663970114879376330139050033250620112131547331897830158517143850653160616089518454458532536372371402183308023477605784248667492833390210870044780099170873071483728114404539691317268891177782649643521017272501280855773430479815759919793143084824311180359610391922544610888458920992328044278154511553570985931105627802290349610619592706442289643414613384751916324046131951594919768407534783722559341844304301578331726819792604862092594308898760074216087138380943740111758159351490594413517237901642768289641661239243279154083997832250654240257592756868183381178341533348666056404591015944826054819623974721751387656223170751333190173609965565573143875363087861531430197915737597129899508449119077915049850950433922417414972970693851535731L,
16031254274885838469271785678749490115291428221493817685767873163240832093584737768504421300456249234571711486591557317978047412756293618415045377431445281363444528448008620989785630830183297628213501425461907830443194091288309378412487001036941917892605480410528989441313736817368444945929518312817923140779120754422532020843914332865279298036737002353371175496438563428598469315987710798005129436477342499658088642618370514373234696589662501441375188675927330336218841901188928938458000486782394314924857139523591837290947183107555234459341200089986104492611340833700715406841741712009747633578759320896682364800605413807747236411698305978957067052829009737682436055788740994152779960811802677809091609644348251418219560740938740762115785672531867276719563410856078179990119941316267293087839358623667943764754179963157099544081034814717793884540348258634023407330062927175857574972200135327640820189660815172872992282505634773456280071749550085601612977369977840056480151586333063480441535425385860170812936327063996906082491774005680193823162503756635246500681999151388989862415480888342074137053630543221487929120535949158986367138620386876579972221342465345863087671624034718508746355348505108923066091211888871936233048915451574342138326096598939225217156846755137497309477923574925316320654436537047141095518953353941776699722318746696937129970344206383530501224680294185207172903553295276857875770007826071984276382166985263651562603497955702426852228050548572219470857944347097310355549901945553441767951959407612668848971867169019336697298765272362657524199110012454913225053500892154395087305979856570415828444049455530450731753479732444036026186103984439505498750029141087678276755979372019479134146951118329119123049776422738071658411983516712072711866692766689688740234576333401220916026342070187291274034083158749847883321972508304289870132004635702932550869972336280222734117957646798293936585030335683705048766207426791028413381213657477332715899607792872740008752499431473507719212624488302267228755213226382560510362686019103974566609198028636864207692666998903668825935069201996617360335641770138752744899689278855786490178685996183412398359315278331934312072931307879977257109293412222903876813821238079151459905710488518737549602277692243318484313960505737555248439670645093217515192284337840319588461513330942540580594730659119001005645787328577450655349203066049522983326276869565729093146414604473782836717476955019896333570656535164200683861685516661732875758257436301454458655770806447630065877511923100450765082797119193986647552203411778464648855020586618031788046229073874529424996958857999631450717789423815912573843933883516693495458878762470399958079556929489653895349963159916420159201844832154745826480370324644805914137184476247573780178394348346269918865363640830312534422563194087237741393917434086928942639325048242053816694151884764605034788404069257951453870546194842669829697259669521087906535920523571972154919214485434555306996504433422296419216481963266763691119972400120483789825768068183038580175510629098436625860088864478828562591359355376167015310515222460702678255518952080989818093572912641356095463957065422295929092446451329242181243931385128431760749873598319944469370654371699573095071799695778539818422156323340555502770579217388699630837845883834604944926140307489465086784674329667315758578286189230690282546840964172580060829223101080438209586026972383213908726368510660486139236776745011181297615256784979583020735112212271803213833584941801849175502142204496376358469035654836320885662116463390687665031302405066475774219884911115062489643543653400748218077342212168725318150381762735583280631126736338178517031961140556480845185697560447487957961340033845167608377877131400160461145785187615717017613296936717791130882750064327474818698206588851859317855355407172328416073014773284613772412899359372648446067344919361149351896067353532720530934071290642937205327989544479278664783722634324395887348774300971721463444519061083906020915702434618999221254888778205232210566323461633330046861319496363645038124025124268279436452453204881938589312278176430405690081215345817034972652063680665716882740511537550511744818807029658542282610463383019476926467378748187310217930642631516959311024835379995122312135069626053345993689917475391688625779814589930714807161061337753736866142516975833831036210376736294932696781012785933878717687429552852690101286688574289958289347887893356736724515783546335848130977407634680935634611860099146857823165389808143280899943802280682124465545863070629356836888621794219187059048091963888148065524406927372495882649382647437664672112995990785124332904194883615957645609720631966778409562925841273956803223844444646844392288048393174040580407970214089526850349933408157676234031706399733526759749992979534189409615290463416425659228460953974699465309630287252854799839412480925207945067162535169250582243993278624362334775748708569932844487198811519724907225566318437886043896993950654552413233345922564045968841664587230296380623609904290674690402540681345797570311762822091196954276232415624232403437519577758679669822337561502454481441092223713708349168421093932609981471796887030359878940514476392915313839569587010808604096850605364658048190451017888921085298599498371776827974248294118681956101791072621830482109099337371087187759411557867342870166401684568314579535760636784583404202133782420915828184012050451410892377321254653620319856736698367422143907818912707383123980996625152944312018926652902955449520367355950854212185570357856409543359154738542209544759543831044526011713454063540089627129980738745591536018145235315713024603323820756052690453928029016213533931549401038331385993930515011701009151762703293694455744935368519937452126777753668428108152974059142566086229743263842278263579392614909680104546279344631360739855236382526028553013856268881759673583168979528343515910971818512761024780786428429044144430631876073559242026017477338264453625830481446356160859705619489059486381163359267890486696789977433429987531290110226330118807815311873064846317034544022053572506600863236766705989886987654238930490623857957795147954690704457100904234820391580665133058023765403934694807763540197472504586802791655928402870193955542942616976710815901854890016596096366113691753900628780286231309722552867708085857951037060707095322154738418443964436479141865261412442781482977674760083323545045901610232083957742507376288137464283395971221525432524055356640713389L,
24895547396761970247955537423980459316479863813464093771401804380689504167674086557427217751913052284077764942770643385783044014286931915653790764396245281885011891436900773463942397666018768074396480477296466705329681887363010505920061223424134745540627302876821341690951514048971647703154576881274264922756318486695102013475871664072831404197898921552711933064297546834214423181021983083106478668387208379750075002970604164293759948584559780562161734006612609032920875331550962323771662905881570015445863868608111899693942076173147664501173141267247357833428830702561835605320326962641046282983249718801186011387344626979855285816909069884197580903555095282874485082852292490807351257139424985224710515054591167127426889080417611893354251530807791298478620621683206597812215153617422682247551358181384485456892230143398845719081515691415637066831576680369258492030925308043895084302514211175564505377535305232217507226843068064531846517778637485075503995566281740949330295875725429597162368508637789423725908268758885307943419084409340401660113695473514679795769984067812988084658279507192783059853284552508567088027237691175000144063675795934023859960147229308325930941678537028080701872076392304824774053800010963801182305112216484172247320423582649796694273603225822813087088948883655766346913677293390008996512325901022753445826775525431256058729998714317698379240050670550799440969283541979230375401429904134784863657119663757851218091184351530094187331342621920152290958225441336983534189226691403925717706730385885668402347153778457288804024862966167933872923692752029220943574750918366422472966791111779069401225866686505643132237954233643360483419680860907749821870051875084060974761469832830925245423330030325719996453457174015714734437082873222595850873540054566336473285049906238801219529647587680903703789012988698483498108101660261724198452195519348450342972056485177551558361650080712200627088430485703698654431426111084120339028312598312588173176089171725308922712528047966961919165002735728800420928230190607412352765542509059950235044967327696926135471376056274810828762768466889454036947111848126524351212410537225308704642233593419285088192743868119791072020964279194994078559091289390257237774887992449315376034437223012764437472432460047739681709261224377248967581178596844281265613926072765797971107625836925725895369836177620910924963193745917260188269386156955850583565588715356958435039201348142221674654303311066877814388206718876295002068336611295267715098786865705000422500399577265753313645989167895541415501014606759473457007956286518957377738927694536735311337790413784507193686439022215127346771932157289745192035146274108552558492453913854979133302597960194938673150588696935576687058784275303912961299553766658421333628114964615925252237943613353354326917424096113722720175658251681983358858354674419455237622306953826946682169127064113120960212730603119990459248110547764312731716610376389309521230455065454083192542404227230048778221234199205074069703287027038679570133558196741260231999663466240903683478635099456006055907886190380030519362643560909084274673816568906890634897799354269668955668463828297569833334941806639643411162983773417910677639772524576640156431631079318583043413894550499169458454842631898058802182028581650336370304425296778589621565162025910981549560248554907725678786951464713224100831446017203902625930430662803694544805341006725348572359544941825526521811011817093788679916058742084555785881918665380871349034959310262543112469610908345642511421662100821620419773798131470713389670018783611925008003481366428133203865292755080652033655361920497028145037711615359741497131980069378103640785613334743596195717463791347629147721391750586393903432608429550667765843561863926640430825462581167880153831566514629062143569684479298343047051460174946454710109330566476867344830765978888939551410673267583004978398532723911553411802827741418867684225413346721785966307424857734248442404239995958926184934782236687813563958248792737867639144978510662254389390179976215810398936515620052733358544213009140978547852764133614857963451237697146456922250590252516620136993166049086798754130238643625141730254520813317749247417036923265125770765239470290039956272436157663339264635073337947736593860563306493228740348572840290575848471544326797000071712488160356660263935039627315467935792260945664520361054386838704319227651335549512464395277432071083669496091893026824055190507901936572307302808865594312528171228166502620181075693626553919693862632869163494752444260349773735879881061413670088872296561322586387564241508840187872827021953057835740371766814881812630810761796805538705963293557019207523477848714522684527466631468380754634352439121518634660473132645348312434820556185658636077585705070909274702514686345608763680646890452484592639573554477002362752731375834332650082302365933828192619120896997378064848172685197310589460934324364460998246051394524868880917347308794729033699432098559270318911719355792884363293617180222787021143138321234077048537921072246042959785457595531638306093175555999942225845728618771664290124093912303551028743649010531408519527430067993976403006501588325504623686472909470663799039112140378709358334405406265742719146697051592594757584195232070874445329784271610767699819764053959335176572810514034681991873541769134179879413433935768123963769981342727038558470119590629317125691982030557868409551890897877599649548597338132139869769344319842039664926804416504649454947262548475615679123486841858003036487563480126277038195661627680742124648684999744644218306437898660887034547345865459827411154146030072446954321832999366476801257531601175298387214777281754270221445563671851752790676352625683748517741665194177166216516178464592635658732628763498275826651690665888593155368260397285801286617884894607147181783272754368284029993660852716104795481242719702098107306625690432904364893930578016056622258262999229439241676594435430028461032922775873103680719504081296875334338015517697804486890718586573539639462769696641914266863005818602084710993699072410043413400213331502629226458540202357120189086100531847690973550889736813772217860039010388723874308147616425264777949558652349031160450100411970828895622944036740227721275113627607016637021413869881106088483412834007870402489990859827736852892237635453251167537763779462375135607743284568677405989664915125535083737511428668068523798593462249958614542639665789049476202297060023322367913772289874289245308862037971358610L,
38657255571738094937482338629445886009332337304889418795870578641742089132859745045836104046426691743248026971075276598312561552300596871440441821090167981807726956809407686131699788657295070689246582044109321746711991407915945956691669698081652563286622112006474834903094988087242193541515272488835743627624202130394151722580983577663294955036985799523099151179282140760413871853258802349262204125273739541060149452168425082083881336997160445359836727722681760094125723571062514846760606943897120363180465494922981021475013818055457463393605858887770534630342553309321665992988751638962367332011789713244297145625921686074242490938396489034686103419008066403119165830255494250614410186599550103705183461879035654046582225801366971538837358175595784648445685102624117615979920045043092970677282018731337211367505832764904125879426989381966960672141272874753123308786378453973796737176975368530203731598282694091325009332715043310301887946360801766657172474419210723333758031854563770941454430701915131420996023283726553111003807319766092036421590048035663125654465176516535337536647238638901131707997856953809543869669913172878705840377500687194471626101216412767996054867794831324252105714264721231580473742870717225702110992402027277268934464569362986048832089025557904211243366087526930343428694169474875024132739230871391402461900702363080682087316766283779573391299527974213598799321870572458310063036635327621491499541406606103928490333996122923573047097742232554045783310057767846946050785632693161755590197589472210996745322232947238053963496753840993733572139479786442225468437048397089905988514111632654110401223795106402897037414081144428979376422131266754911697786044223069190768896789640368101137058805778633687589420300671989333926082148049803062587419151046893928629300031739567174814750846747959309737810895602224748453905741562213227914301057426173592040153812336954129730189872151939432000955783090700281511839152379913423139272789942827096467526273906618397262371598166714013884401491785181818244866909934805403547071695058534683261492651226257208743056117271349809178715993320168137661566222377557999430817047119605943738905667622890032279162802435428500435999156541100146091186501633956670730008467125285209401708305445183070989535084954620018278597816316347196482993825353266684556855956448879904960591726174847948196643979729790431578680866330900592898198259469630623993128561336516838299073205996207351434303994401621265756614364204607910798307251177215984330208220596345433636209194037332658754863279535296143203121632064308089188466937314345454974614604952885960660200277287291554720120972975224789356126266379635154740018321136128869766608974252844853032494989846175575808202096928643044959390762756842981530173633293889788212551514736058726495682601625706707708694909855060179612211483910327639812484762157147795659156453564067841609697840176093362784652948107182009686854871206298065779382160028130560327310542596877788598198198843295699482744660434622821305325850922156519746264939635653267497169850565263443239003851666685737001138703334985299235594778260646291140263158461965255262507713643777335350677422560637528427332852554700994598418695609981710414851058105088740053650407770841025657979548301282083113052538420863976734256717928314605702144130329296758589468242918570739785215431366579823893456498133664343289510005839306771682025999046752419090661620950809662974571950935050149714297037480031860289113253254069141786580608011943429117170285907763695519112517596539668111350093610608967416478204707437042836820977917351347871177135339270156029375128777401338038925180469164925058032736478148924596655575514321819979072184300176176118772055079934898041382206503747729438222832878999066860597034729415515770813440672200942799357173707970850413659588157361475861968294720992546543760505837144722721992990057152390530954283549915673026583263695949794650459221307640015139248472535804378196100683170318588076113621438249246811256016941388631761468335333598117068862896265043057561574114770622476345246976804807517166791919675301419426192298880670388503090114369534611790056233879751149709348303725529551613955979275296913917843863883988029796916590654875105451408806805365022707640461247181443579092893527253666660661062959953686767471070241284427960964304573994567878481992761561332749468819804563972334832611281654342923089887790656090467016609537131252357258245200456164099084339575603420165530889691928506950410290336451438421513153069627322849839482784725434004282779542664919230507587699375409054232021994628877410643834455073252623047424330546868578247646278510113573252431658395645374219767819632141423842790758848326391427459547420625600611001225276414953638223379528952355828523373969823446608425398740278045453907849105546582559597594621213341445255808888897733871554020325433511730353579903172414354623425007723823979055192252432572214913600314307751983698896339663369726180037025924072489403797499016321856835411788787983283606267806019093926680415120745019747330672301702232240569723769998414017845895096642696934008519261130787767279457291110346476567684734932775418812929849825060433249623864236969802637398128688939537732708258316202467097856508146945409254849033021636911196635224866786980399796923501891073374886681314285032101916474605079750527031482457560283818150536598803269775327317062646986157258034145306617657943632356580447829812936749048518946251564531629245789656059354367978356437845502788193076917977865198070753951873841047771186451785587725639102964472918643539425946016425689350034504107810622971482819479267320549988675560035723207551653199596382759496883796595637427857305832047345585040255278778408123547080424556942283425140773141447545835858224321556379716365389979237575675021004194812734835066276276967014532464484407218182459220071904134030900107156996106346788767723806693119303525580579480894199359346768796491758246677382960447057819685933184747414050606479746167473221403124772052178586283713692790892043018286770694517341001223159893537391069022377893254819622194934687960545367000630431895475519425180075743737641592568539197093348835485335534848289413739811945057226815247882859276731919953394018813935742969207522524541825625079919421007047171424163242442968498259612578881006558824846298648314131730940022969335849685561925270262861838549089303295920213898654381649163363884807372145537861271531969556538696557933589004113679227518124490244006440731940667442761852932791938334476490909L,
60019937753242816107100223219017952418235894372269615615378596703587072996705851328087330015166238205594983208462678049334889888930826593600441157213492765642594819409989574148024444228638175443202235475150776303194542531122841523216110539300276729676528256891292710920832243601783099617390660160238129919216109949967228901961308503331534922124444756447838343818621773124742081717261025807337685022653112663787808144387160634259420159132517949037868787095298794856247827462184640089958427423467385985738444410424821881652268194753313696271312127204612392991783534252526825862636685967647534020154612890802147804265262911243695610409081760786917989014712403836768259929988608827989832537466409603460292050173031843838150225287224684096749068764152315416370283871717014665274761450555055855794193867696387419461094988503660764209515317890323665962944931920534319145372875069634497404163701753418855498620998595659567500419238630018297358893158005577107544107170917082471189052946217429098669192739242402173939041311232530971675466528613571628637893572983927437268118332780923187948635518264638432456630376406066295066035875759129198981005042838614615121166348914562075216038736112582508628233318718061970099432734272676012472069154534549164564309479235181207006040201655390678480450798621143499535778476797720001603186262645686755247415751152140678139408902745340979357182657892769879759723332782804846673061677914921248189298053032628737513907602226744134509685961886741650674158152460729546963262852081169703571216764223672982977276640756852671308478139330085096158984110138819497988820627100293894403370378405218957944992451240128091137795695796429768649339486751620363089966522485833486814958127395851947783935312215620744759224368890200997197845488202726610962401962475609792935070330436855924589899821950022281384854262402822096295170717208027715322398852786005212169618732848181978595224422651832593838009881771775532498615661895885697644065050680909301377659720246121953119852771228282984499789071326601233028933428050252305592547775993171196039564538268992088223610804911208591552287725862762610290937244407478911275766692002358675328361169632262194580175283195771396585979156914246119633557749256576008399483698115797186933846463055870217005155982544251366165729208787254048613505039957972960270487477917549174442684300781644351638941424125663661730331800972372679178427671559749783294326876155599653933033285484143942062534399858983367450262735403208534094592272313437803726158108715756940493001880170085098924279470987836034717749246850992097803112222453101265968834315946000122632087591658966901739807483338873567971565181748645459672453333928729484503503439946685173707528424172569091692894154470334340222848682139643933140469846088097351725759185943273092803443460454066833428017839825819351598655180408636865374846606798711908687501578160556716123960532094985745771337164441761311295227566819477131543981848776081064775688371070002151366765895329973661444249496435006634640099071261572159271010691359138319683849187165280569523276065131885613069420004788214497654670940583018174999899746237184532051984840776026708682888288013373934009874436766709945879211116890469770533036102296274950338375550112122499924000095747634707742312093822493496792481533355269787420469819794694488632424340333213815099598399341939150923885560193750084550660775405148100011909298556215271252703098564064853212534985272852839953815842451181153628378183910038881095424958801666966452490919983111410560857711621802204143335992775201021566044808788517039999590350923115403381906786373644598579574820082956779491406647553959584961140564858722422674889564040859792632413271347926827782376831881012637265540995402315284249252871874897702783557496089646261081710256350654343125379941587609120102669232840580333026265392664472535059625618275535560281032952335074002488810359851007033511481617260689865655023730694348354191292773709160611149377957833827266818642960484318821898514911097050497226617437336169431045220475758521807287200522961091214660648899049111204403544202849790229863514648677021935906692325967282842340543700624343824211929736711716682941698441166561762654857808262879122352568623247019763099463619564171114653491449265489684733558415068555383952271872817798728613562216575085116936612608901621483634798066289124974027492065085650457843268275063461559217327342720988283266723588409376321240102412086915964570272450285755720030371835587515564663703649121703059756318508778177670453256629791850988818683960597329341820948514502988562540110525749153095208523107759269065991205567498051268283908893270904387787873280621797525380050032407276446454865384672129536521696357951088080719036897547978461598925095479394455509409084589232777574776790933330152067008748685205746442514482594563943533941804440539700414039875508185316070515903535026863704349044048321185647930670880605764689967156920410269432036384450568714293161543300507338273980170583603226098938943100142854466650995494059696160514492251748422157951706223214109499263001649911447873189781823822163719490570655351008639363822382659133325448532925883880369139741302199468689195751327595294217708848428719825176534848317669056384699956762188887908577320847362362651637229227444839283749012943719074749825433459132184290860497066535104000095108690697953407475945276387538457647150931768074676892828068786868496090643072793034959449274129627157072342590007535437756633468972986046183255349680649431919528210741044877202222916860288686449497675652080174858741917674307059485364977627652698482822605730201747043542057720298146508939726233615790974400872681083770486349147871725511101450376683045888801014047122921872392009090164124957604608362196965028146181540830728106896953055004784659662273333083398997780978810151114583286606478267103422632635379915935131803523226538294066160474494975442909072390883773365566569118628711546393774706059016228367652115258451236005641651927917011627080803910332747716533790385930798959768022521387070499401478567256914958083282592296352042308912147248831764048592921487790211600876921256936651674476450014207877286174103684670072891921449931318365483162764737433316135138790835863805612981922583858291705472126117208090365013130566340303138595507245775570506666216745628214489916182824465375112191285507105629608276144016479508523554146428464555299499482661484125318506594992996917654861020193704932700868395398849278857831545355283843522434869033623070085103781017096467418804686357L,
93178404204961078134990644442553718087778808321329676060528221845369583840439560163089712264093351722312127584291256210708350106091090083361644947066609698150302835227129004721456484062376972833592731645692500421076824795442002090306764149594037166297922255772461461679131144634758094672695412779032986366012185633395548767398418791093415313967744147537437956731262928876041493080074750583203294388058924644691362477586755545878996673871959335725970684225249259626294852193814403820016238115303051274684719835288759821774114921891431694203243598259966396209278964876680507922423565827822400254822767808540925898498938687222366092227829716736477584551688556063190524386831362944850959969577137734989094017985462313957201381247323672821918781081175360989908169558666842269090732294535742275355078126447486237906618657934596618895237737109684581594630376216241397673544799727569427634372591323758562881130895537161263093575919872429233723246337575535983063606874858403980547105771038135376503627860172025307890898732476372701162596123190167147021890840093521456101727913627242027572730919391234392965182106370675087141292401151286794816458619700190105699311914329718320175126944678263149836972217878853814178983175122832601436972593642782487279195438420471767168967957744637970441992503412457960921380087122186604294339469646583166958247215994565563845465292500647829026129773763947506813127491366528134176668023468553942537106387179940448290898059373457482558864877142204505799618545981357417418007349085085801085704544242486702786248399719223388980108299373987157867235781297299784032627106734465903144067377040732420305846577728932361363978357323865667840364228220637640536079004490752321173415363687859362855952927670538052575013141546718322637173963161360874450227616533872510312028499832695260318587259114321000278279919609662726160287240157403058330211360833145074484595527965805433837534349251689139366533799665065845876185966217971370102392298955363487467079030088537588083153409133395141007859468160776838677056330860988027903258283208225328343134075834311900402478509272735591291398655446989233934547824764791181553648022741110793845496647570321267397212879723574340614011036391758224918361139884771749511225910383598072540967472677445669351957040606976673655452799049314023791854019894508006630605803194217904684695853545404315717840968147271701972338224034808946419596934797439746261494458373509304400895772692634214771324433949934826774306536972687528939645996125241718460346536374270966610824568691358812739928606735134680475919183921455010512216641508894514567551607716648725137713101007764109750304352864240739291129446440854260766929891411448142971605522213421737129261395646366805290628981431452957639536414913673774384202685974394890027782058140129262056297812777768957170423074997717678445229718956073551975533291547075237471148928502271759857306138920566436533625100630852617943179906918949853849385252631911328837112334639082028253302955884301036574110643104783474634748484959203790395342346653420234688283409093903340173003782470742370220000506806782661887238511657065060895619329988699294685929907373099890415850480281062016582722053682981971496162185103871609074339312376900868618494874810142847592380161364931851355277082245657806515090293695343479582151311619570137231393456092818981245681566160872349212462716233798829494290646890825087669754382425995235610371595391961614224733490418013733892669109636751327841742627897715500696995930994504236979410781579840191181221748037190762545465580914317569993136641600254951763611005872111640376933929709425053520272200227126758556499350197974794546159727621328143412128947385079684199046671329769847333157332852762623381926839295397348337766045358220545830344961386843630869180025103447333527690495224604587881844125848714836361967871172367355938702131076781589862058821807315877010916202498743232772366324669101208640417737919714228937217518220285982070115060585770320106338811779987444717301197248874635783048981792196790412164939675254124852669239386832193783920808770881485467785596046754908841884502183982897563083318188210002478407216564852462550047600942430634667317172924748303129861224736607470488460734717243332835086095232498553367913486434616642602994371510677964759879184830360506694429902101780701979953751940735849348949292606992364630114593911581335385547218400971083712600516602358034099383636325941661367077938464956280615667038077553553697909876137747647525870445264769676790420285418489719867960673486407649871916789181594879572164453652671103235783899426413999608736042907785031941670739409877221450777421193065742693143310316525644962583766724323531552430963427418114529714565914097607764060397617617135062774081762423581638905709785384693337169286834734712242905241502061947863472472193671304893074787357162032174457935358877675684027654539358779321658060114774555775479813426520344652710387607228819034588194020247496771649895035522112243158791667357382676368033571718837576625183510632912340121257234961463627031854719925026587965394267684622097738680488244188325808659841746404718210011218739873296003173137574702360780008676384196507955996701922482637203557428661123243071155740039901497296712185986318923191561329517381277345747934752715672043069502391355092411968575868899244365207904918403628242029743950188525603917838230262091287201342857823773058054617047666078950948579531763708911182201034912501675328878849336342050282403734122067579836853791247803653618595779352014503435710996484897121958932851503196911847686065294914286249665841648634029623192634201366697018512632976794772850062846642335687723277412347554141202245975980974672196416705876576796897892239448980955223412781030529001153044254527500013316641033236086494550247164138071683896486905690249702095133482713978663491035718001561968629332362292598828696136384698492293482650116550293565251650179569607526152432025981515426076403099607367608680507766202944231256349963447181650608635699547705141766374682590296731302168296960295114928746557262957457796631973196178127128234304642133809788540290488542046662673888089264267916243169704761718686705024118852199488407192478922886151376475251765124088999779956009445690550038371619789596282609265191612344855021327643702195332406796929420027969288692580042662500922038606845831310603608920496738455712772205259241249760117710406022997901380806588530540253561824496661918940868182685576681611766880852208793175094067071824839863588772408056187285274373317172837L,
144640602961632279842207530873835344863518276493483114501391214578767567002581153088112246767338102917158067571303069772293986016614537430654240856141466277601991184061304507464145002147631006328928148165779244178893818614091745081430959532167595516116604380630534979894605472878118539046292367846404470739513299411788587984767123782522400217792207019230098194391425673253700228470509932413982502867466072992063118630030230939098100199633358548060589634890589630584229992739657434212317206837434395654638044286538172402840269418852254676450380928030651721678297189386621193807462153726693410514223075880879184048753943403118857428230128791119209953537129573494485935107591385721137302528721425970513973652310311548441698329305685987901892495672699106652777063338916300659656333799010199468697418409843299762587375178062793729168291465736499611630909913369155443347344735571081048965762025241315029423317286040580596667435358950176730044558809999172436601707847138083171832790237831396976742052341058477962624059650006452144760792239258644490681803313209937587945702054762998603030827052324616706745201412721561176141033375289566571642398320862528219497375666194687143036791672572932882202587304679578916562872388776076891114205870155879434215656068359514800380377618048105659350110060646318698809816936706507134420600621940129832412273646905570016426405150741913040130754888746801963412638258928340546369485552528205619561085013856946354114470668656533825257786051044399016234096325632816896933042004485801888964018024480421748622084152932266847088039028488360596350439586355536318204000464832640994180827202191984104734837116532297876219404387288974078098449018766044364262107788779356848195796259665038031294428871194836263243858108628209930421568165365388367641148513110191266372003994661263197128305048728005193649898412372459158956169786737196042173436236864083742719981771567070890427526828152554819229120677090149823803057931962839848186737489762563719256454875869885852457641512611981508245317695784412327360938218900947763788707433927919395167893878287386728255972371700047863131272987139580207281115374979613676702917887535158369590901671148565195495348609737509806922404935126991124479638157531303932645013210270458550772392914068261741200607528399540683574838196483306989201191042236711199798588198833246576569266398751168121490709162246932619587704185525828094387316515305722823858792265874488063370347902774831933659155079246372034235220831898953832372390222896121600370413512773958813828126073280372967766225797096883632704342465180935120720831497644532015968379765102817139348157456701596854475741306408336522249544239226540158655632858296187980633364227313997539513533354487227372071244135287978647387597224895717382311234488481507012910831113248099555441545763186052183931242495529053042598373324503229018395208070814031799990722906120141653803205728122385108248088844425691909660041418640464698527083434791301095975413280841311514698212780822833481281220328775262116995532293125056345219057941487865863964892762495275995751044900191889367636262868093253621597195617471917231711664237738067110465030025362469126254634745816689672374614335395036599026960558628162507270052658421971837605379122162311906398976587826254179663458723436138432452110527898420405726124182809733283839869470207891675184371545893369143448688309060552073102922964758473675532741776117435052052854485617598664043089320429041790058502916884455582357886782786516770366639564006486159341703795538244161834147621740236660566794907010764562558652603574668096270147002984404799074293838101665156655382392983656205318668457891467312849747707535494670501326832100464363047367628697233231857161944123320373778418394170148094076661451288190744488978878019112234701358648268693883172985894321043220186548830861225169297449190239949812357462699838586896069440407385780158780121476403969107686422598645753668268005601728424441216439486293547644912322586910748918252823950082879941705892372055600617711550520422065662081946511783976631224564388560839170538561865734677444770144540031052706667558751480096218639262371902700503938469240887355473235000522955051514099334619881494655361798020923380739233052382090406252144391134648804569219227656037856355726163929325541167029107175181635524075780060816731282591934150395786457078306490552844105988863116087131382716284604010552735306371131813510690056892777390310885923122180671687662670772631868728154824407249348663575749691817089787214879417644166906148298983889910274389423118354672752229300548360066035035413615478789307029769398655120756995454613475797395768519243748342935677965019335688993508259906736387946441709573762663076479987130591328427082992937374646237580590570846261509556333267574711259550202467497242917974197668790672160230590226181848632782675779069463026788547252188780717317695421373025203969115683661857791272207548036756467214101384110155059480023229262512956864978036542783348971678173924552823605252239998399281571733433957295379300219879026634529448719713398861120945115040073301123577026899876051539025728786715399111574502808354082772008981536444936289501681239967675310827064639722405509122295867222336061188879380884660222784075763460803269816341984348785056255016232071358465881155520310471207693940728076414280148235147367719771577131130466157875584661254475147938873983970332626102174049983804197573612355095550425677986696720891653201104813687348479277361111122558704958321983835305072524602164660667884852150906063417834513325808527323599016778508290858379477739277174832169673520547480772740367404360608385446206532944877367885960989046462217853568161087014858231119438732268795631941353249356669913884926758226792382956952876722467963767704531634039836996818680057575018098490597512337960804372730243924020088251405622251971466592207245010329683934787047730683185254744656902955958277909609625807168965913686771020570477142288490947944556347046411966913054562837111371203806188403897573262909849155543337336016539791917512832166201390912434975550184125485923086178076924902734095869148369842525550033242224071487898185924722558496115493488443790956583640714820191135151524805293054564185070490830729565961122124497149082535830349727187160143416235430276021459024633127318969385278591719754981088042146658730395760659911758177114462477713562532772920440087027870110055179830331685553016139198941443048001930568178496814954717094344617417421496080091529469413197498425232059805599141479864790760713135552556403L,
224502110657042476273014905975690399341911950974826609087225162474112800284008927697072075052757966110362293255857284314210598588582625333194011758259686419061038233215396148052354278931622462354670732582680747166385964943924905741346620700754154519454795718168239486581333479954707145987397349142223714844864465656217155560203239442383789685151556648915347581623352354233675460807757179635883625212426453617305432231213822131959024454682654125437658459023601304792875336744338453084234773527851879757892415633417923895080486137982576740109561246232567639094152771450073290327045135634366035750661758675650893188955633035837037271420196767258312652115253966139975109317143932612448076878870755627843289996512625252987345333123074357381305261153710612954326303793157508477816941192001687569514579424957157617409918393926684779622717187972323564316173274569792558320622727998443772660331324850656066827635378945267448360324905183818600144723560226484970440454567534968140432369585789639804329280474479921502433430068223953315208014054405774748092139247563166279569972487262612240671002667300284225467028761958890685438255663877285147959642052166531712056790532807268262243000597304809593213448142190257602477650674068736235957092849339229515211228207109287035363739981728968723913161195261588510110774266587586385753582973557895422325308156327524488565195898720858702173607935340141698050003652396152780787446517367788114723578013156717945278920559210879916604743183710637310720838375923230157164499087453215125499678142359870989663973532769310630759557826767223433389852582541250419315056159520866573182280624001111678560820781798158477552170376638042646986715357578031192320244407986234389492543641783272441581293379171786555727724278424548011052100393314603819866281517766687756446224432059849962012691070035025498473219467537467116635776963098362484966356014310883696573321863666116520509778941614845176365690227966920397982704464006068422657905588344151034951382264714110828883237914303881637687168923941295640846425055865071362394482208256714411832921190133385975759612348703126850005114193056857157839633248064525128712233668777900124149083057705748028799052818230035811961921838406574170115105176881289477291458792695145572846645212295352604712597699840308608740140920884443026815167998532522214706803274167093659083470500283409822453218300492399726881332533024761382781272687513994002931475707998941190823504826182695398637972402816482342992291440397050715284178508946514207561852552204560080383597509764860477064428782968405162005389233020345850690484495975621838482928341188422690886660507297982988733719526241604021638274699351040234862774720901063057820986835001583702815700290673396744202283352766714330413841892793868935491638936926101632771037960384242094476999276985963923332544922249173961835031266242928471226580693522110993969550658919323684355652376235359421762576298399228722798040078858900554950129968641320350894275860713927526309425859464097550910707459449112615361385098850506711691314834277084124248670013350652297661971990957521368076939896714470056612741983697860693680322413833803168224858744461296207884275739701902213390645230247920322120462888333088674864074937176047675889582727694964787786760179266239910869598516699769627424575315247331890953768238499066006260270487018965324366156349351566910408251228263835690280342928570092353970812985722153008631248398930595037520563969541710025104036462931204298964179037306220835541491551524859414058968164990988820472689480902859956744364510746188535343591822916716763269185373888521171930386089403715181266632019226609649496509069212604952109512937742347947673764219270883481849584027985229738688756174255990663651102878195532018196987707831296119635822017742371853535090437029558733536494910558360574470777851044928780366485727997853992843813578492057196163100195261714772292525373672772843929640412616122889219812181922508839129964383677504190645574110827503456834964556765472599778262810888168755188223220309498605104083011869373323957411713941659399922817888250320979055717897574379121202256062399235531372227523267032134599828229692113639005840508589170626754086584849493857244814185260731152387690892019771201317075273379946243105554869446403599824525167785137638568133251704871886688538054822678709122765939186883085585381745181740519561547676109299933788692851300730027383586266708732477798381106225641197608903332256285357817493797990848715543789053883615652729972714302521074173987344582920600903348684002399282036444304467353285076371815881156445991180584277560474682484114187717937703653078181158107053699779565432851537882505818702342935486752161457286504699082007100815126581877792410273343715909993177550377300737075673136845535939815562891714601024311815697978044517028808406374509290882825138375183038896781904166275829930496177458799749286648247714656256184489392368237722446401959948863282182575605396975244788938605086931671699371650802479148894548930483228070262880929545694799923913984772962098677081682469025611395486471797979564418580689413607324785119270907351827637552647577539981908564356727660862955458459311837660897191791725767267940597256380553298106079609096896161334868662539692708002959529814163293843954872969321293941392126679503332932191372440228487159805035154381282189940450483311669113576330701622810396521718999986709571311138731791864716173334359104710266506787060610573402583458892953409885330808609039098552945995655382334251642446602691025551887368504772126802745330533845409957993120475611004677991817147988962762013098362744473296474824614864213074011483821488913285169224328212281329853729238958494743227531596952787086604053271761475403148557460687829317045571701505445955560686665945418136315591268776701650147188808318806437457520569314701291898285573154171486166380669226234657187385943678849694345073513332336808146128655927455395722208447520404480450617865370701965462833066329787635760456293153685061964598962474810832443939843813315084523133260610809011510487255641846832214768214765921100110400898065632038726530726478912957248940678712485345518366530502692012908241218088177870762349987176010283891629280552468682914370543306287071367399918720447259500727736411748808351967970153789977280439837293076199034037666125874549536615375728867220843703888631795443757635858223114839959496689969333596055725073649229608412555329449734146450864243920468753644362034977698766088354083803454958436529405844249262772938115317896378016740157872329638L,
348422269097930914610452007554148004563025679373334477109632632724175177797360831464120705250543498324797113407279549482428593195634039899943173241745462964695033862227216234656112624264856488018830601538036758607011076915057147374201192931371763174091410977474293597893801238044710441154960419326871527209018356836947319065159339787209181434687929251018033676428468608409860543331844678799450853051904336561570153068517527216277259390652925951553861184548611144920475828757191184824690890263473044995835383541703503266015593016331838712708431456478696799412394557216557291009562871476548041457530164911538390206791244304768558470982161079071402696640168845363193978305776682162013666546880198678451786393018395854661836050697211507854064452447540354586298256551869020251347086763590907848590192726502348829095829937832405826649828308545065769641804737541224118631758684920860069989344928547251628327083945160233012961335794874875015966697175985642327365358866832328281627068735713485526598126488511581133013643309328200686202056705755171784833984893311947858715172433784224803846367100128648974402487162157491577795504081722637252164858962167814956846029781131269871312526051221825695275012515846466004191904260089233352941452690690984070273639972801505848180071283947030172489724829703527732173874230845858774049719295230840533072233098222583507140306246417707767024479468686787936295642825500141847801783479911528676595074170246317369924347212203786804157044233171268854352888652748809794228484697519919488935876153528887187054976354864214248348038907614341410616283863730430807254725276129005621689180643184181015100932277834815751343136186496712559424507236438047271130502271851533805400736433989061692675592424363390302691586224600539192658367429189888899343387552628782282099793923212972553118719988896463025680578440850035005131126500724121070326853151416245525606012717421280940240494959677954616049089229374113430894688084993719977760525246001755647225586941322194453869964511770489643166832240746413058139692026101869669978156974076472250826073333352901603572139581359962294028010879644365819685213547962592923290228281640623889158393279684993950894245329851029747678447798378200859337402397476939599845105371011592340450623673391722492248685426194753361902659635153169570652425274127951957769597108686818082317626026140745457542367904630939706676439611095772627734311140509767706896551556698508553050281745603907120389515977672729270061584861200930907309697565029847714046189117704122469903849143692519449022024396050544061580426032657860720469365894641348436862597525832312468480625063585712081383637282652621426727216381998502091353846241208930468643907633362725561798387451383804994769198443787301091079464216775976171433857480433713708408042479926850281707179595310643249881025190596743224352695950926028398368119084993577016985964481129325489667062873119982446227056904090080296351553530068268769547846962620939439859370962900039090419022711302191541399832365370659444701662401430431739568524226639798462451618892054574309791606519617714518726903051687762080818545859651220779986797956490288452079595409446734571785161013639846098247692302458736214252596497293517461521140009097338113337587140424811632472642436622420482489394463905102565515351365458831959822699722789438072713394263862340266326318249544767856298757073877505310131486583998714517284202019944415903704158418291711155086203492349754987246329511827634437142145539855585626361763346073210060258617467265506831144880188154951122745730884181411627225296263317248027838616636362843289915896860323506590805541918566229344430761685692591378353376452957400707453708182505148063753238316153269687414804058452728191143283040905813991761784077447611349101737068768406681857203128904042838118025569023943021383756371001593286689330527447088595342176300094388945353348200533501832084425274334271982367571895383229780528681119183284779702282998925014462383728311207070712674449314199290908942526852851367343193408105058601665148812374980519901714147602889593472270476276798923918719024726705128681910042697635364458458626024309117250558436924632057912580574745498799619788402820677454544289881823155076341292549736584381590881575457119624354389924467133246451157463948234195076308074214166380209324238086142113650138009306186853077297606383701899129464624617994067622156962989397196812200057018838503007867001771835882922701867883979840913760408249624265653816263276083999372456673892538881188131942473936112591791147264009562107360781803577155129735051103113016164201581766341362371671130437335343018188182662495190235829287549132394811133479756096068383683287652882567340562457377649537878068285027927420495674987943578387574691430112631353963449181145597583563049113180905863463310052540985793418159764638748761431869959350661901570969611525353292728915831078594046883124892998324805080060130514655976193867014524245667447909283907577289819513747391792478314431054435741662406026170899734531675180321497496397421000516072737465245393585983816969295897580578962902020594445337688540364305868255631995191481769054512197012996456006645893049802364599933225952883459688923051334974905900155225141803893689035184845614907213175117983162045375223925274479700179913626325771443009189839664484697737268408182446166236475262034153045433875057871912007383043092204681576885046690658172957061832793627451151236247980277853852937582318591765359963214070199083238439779529979217677131910326340123666286515395390603059934327790426208036785200291269425675577751601078135617844256989920334705500309807047488191445232903372878674465929603028905099136607931073758463398467148248377609908761479436201127769962420471963980116144043944849135964110515639614429173199050168889525811111019342636331589785103167783496279389395335704263445746291172538184746439342275366021747097180734194915116042300414724529206720339034076896483770779828965937538937868633791665129615664842616605025079385616955447554329746320634723344250645702656066432726040120332796439604062056459902202577360364123200665290422989169788354348034786058050679183797797260424948315586718516754614248866823522493272831040271057372700957466897253701098722231814741859700660304223468622035992536601739698049794240635567645581272436758822343260155683551359484531732335618359247916103188427832113471544778917435253854013541301319325424198416324722235706944375482366465430298125560503840924720748728915818531560091080294859562206425767815586991327701781661689630052L,
540687929966051772661818157755526896932203254511164715575032008771633154811555702393609269776697995447463494757383140992610820863826110667363006213221882094809336257757801439224738306669693121311770361453402605764894151839813732985530270624297323927709843618899243160493636759819149898013391216787070852335913523135502339185316441773639614556971223881411138577906076703426889728981757866928299122485902876550106519457112943039933257378756057674689737564729255581288970533646872409903441371984351291197439706669405675504045168668563823912475334718912593391235246273987494844677008294000955782157696890733622009585941663493804267100275517009696409771437570426756399581468893241645968515369259267929043797982310048873780184608337466835473652196058416203768701673077795656496909771622101511069158869733157301546690563831385311561036763661856362663468294149315447535711268939093394586194176617790378977635343814197186141934443601694442933205443290792511183496171219056906518975583472844010745881920696019517497191814875517864206226846444563782437984798829784995992368947733677626426624943889079592130504362719860105095901972645133395416152333130953002049018259610426869244548780083626793589880887055399045565108991376649388015984051420736111403452886586440532216022702819907301673425330166997384735208289877869787517970925843280111508026447733446223477121584014718233574820300830685437203509602165805841168150356213898687097881059534567126602181504853553539981820432977085222348681587913044755417728995574924715072272044036490289050601826758682120461237743444758611704492355728087294459978971241281007734139580485635182054956119735807502632911317114892314299623431482928413640338653947873775603549576354923683301281999722457758829081277324879485817566515551474607142569981329539121122844386050145314383513292501117066723712476632608597783829969095277145988173921863486119866939488147537230651709907963654954256951154160254558345113192489859527260154095832918180789021662166464196366299267866231129480227528311960296751639437071061327095235418218530573694080550129383244022823993957524813814736475127812061250105470342100902848478904121389894753138090579536824612504806850896807208937873389091657315007083102425536066906638718044481044190948779138795804612034711942668156372562447880081940164803225144082693477097137525176690668378697343009343548285489785705786294432820285212158373294402332419614793436142888618140205781594015603692473569725872022923605908138674410806543706483823228013202506021506367069246208680489909899175171482895978047140768570093938961431337529144484932629549329636135917427454466146743947456792521489521902355137891792363337954543623294761526745949120046958948214750268725780253379591900840098946547519068594941877308513275131434429538843147687418355899535867637190808310600443751747327790980628217060886748753427664890554815734939407548356930504055978384754557151167226235561374604387001576169455324490376260764525582278864982092731258239430617601223990767872363367921533410982378335957869006531065931099656440900741024788019065669827648516215389603432087880393636792200843134810322526180382972415484154029771999735877911840873494134875077974839918330868535787688360983081358757642817874212529185545282940890970984914978602152551836034934406490018688714121786609806101710921287892529529253489424670442472629185924891055392856042701656408593998180953786228061566727425865676029507228348363550439175549333473596564184846923707543680550666534323072605960669182947643830267293490358564157467054641887797194404716341188802531709393856050034527007008993531028557452131487116023398739193089517147343147006094217081172241565361386014433825734709399397810689681581584283911721832183389998058578431647545154922099307590487067140105661613712592946403935794684622464094349874506873198125835977678451623435888585105945614524821376045641001670522706565434147655053527999856274671123200853042249571316640650652071965458417405334776770452616929066610031266855845646947236116766233400367852695054395490382549170957965893948700621092891472703400325902143262040494108725618962506774001718918945152155331138678046404737405885556734312683508914928776939078020071730868340618043495138986071247763364503319589781790457625482669941817607727700430861478230841357100143183924756982294678060855965772828261825235257592251645564965594114786588115436217623293233970794773003864323293086646735159883050092672723244034749641341696775836138796439371449515060464463542150770642372315490514223696867941960496553682659551579335140052641735799226694745640083823214042406028083954642194610905432127531467301583162680856256086801408497390925130435420988481314078983928539134979788250195364015550398007234170604319165082578067691667778355993127335068385275089208808966857108580955364005214024903211711941511616948686126805971190176751846141079657995768362272237667080234799009528787923751107855833263780498810828665043334752531589264256051604145883208049554397366047623524352519084377531012092730226662504275401620444239257422566210049985100818091363273160798312139342845941589932918933689217709132321213947851049204241775238061690180347653455789655731164984980268382740250343866570760489316222922122242409194113952026865003090782839774465403244641206525018987432910746385520417420629275654959184972625082905396070597344229326484781022190274335000194735460476808724052074481325476236779794161012397658529038560243118822874052756931462181766280685652315777949603829137635474429951014380323460634204519246644018252497487134986785096027373774312029235604258029968499988655314512402202090785781234909181340094220910940564614168915833553489391090424801367293477822541405402342156294734600303070483840509728442434223972205247234980790883169659866409426492168590512084532235980659676868623609902620242668315864403774838241157640391659060569446703166003579339636924615165379705538128573244892564498882605823106134496486921964607356743766889426437685529241764312149538054783051834176742687168100923325397153830312257144056877336583520047518557107517328060291927109962478595564426852699163803455170032810230821217921287975650117084761142060122977158120965740283944183766499828566883469246775057100699370764605379731300240895891656723204839517480250089312315093843517245780098384316754990920671304177897304375001473686793136297112345343080066129450742606413544345014314514049640491260654513967668825679945885100134857290987153040575004375572513219757143800608090335029508562391380728242361000948139852L,
838962907748147367498140621871743637641541384523209897634235436985889899346970972675667954621548696557696834793033891162373163647469605167392548065991488545379403422948907574344856982514639099155428452705448119343868496363810966050087795737960917856211482682969605374264297238902705909849482164693006098920088047494645157714828821452287930721740669313963111864232883888614216773929177151077700785279288040867710969926121927575680169293712245517688049531141717369212103470143893526327448499099618799789271743185239509493568258626905547924996861031419968389477823567766339483145900540638965798594091575615285922258350644364737380236684059155350429332864058587115833094348560349502749079675598895150698277596201069033152799021214082280291307937032887083431618084670827003262424274218271749383807758527653135032449944972043287804049598929285030314079365892657378849617299826850664473771875728349248223058280055092723343039558169590157524210877588869824513927088053703804209380951871283780006394421996020266782859682394076822589796484119562198376226605513237416295590432216151772736016542821715981483929753638143857164163914999208060159225452144504110480019643092465227980559779134136263236111529896800786436636742457445605529632014160647080204868016764472003522075917279394340624887515124380257379118813446867753247030176812220295648559563263950404551561001135675728976746879997215918456104944449566561707738053976591257543577642622180304120658243655734797874998324367040199622393274372738678445103135954760067636235839708126766858605672139376659575842706872140030977880962437394582027372330350757242240134753143467167444391758125341779133164833533822040718023432234460867635691888920649154093911026928288269303289570983617282667836774185928518389372182192049090023198239735128181119412419456700157314755257286252058968340452068747570728106407149478151086932649595875003081640734623932820553793618968341471789870761249540641544959103568139550547417608082219340822197886330619289428081008960226223387506993091209064562186205775655098512165526181351585558991383430288416258325448359983599693538189289196421352630139422085384346113234326940637462477575553300253706988480166302790021070774454512694018332094179856414580218143638449176575519656471190746716696554813024043139013901273561568524839337512938778659740246257779278949948934427416328838123527454363716186329691351809055090335682184620307014371115401266840619384178777795292533112898215490812600926379527974468382957254884056298735304389925682861598488740983487911020530657311887035927437225827171395170471120598746459329391231545004995936168529093872718642976637476216451599699328877929931580564284829958338910912674200738702376751867168236689781082707450583709074795125080139241716034278457736990161753149769948611602296423213007562725032328218807783536761368804716422493053030615437620731986603311759004195314889042161236408482414805462680438989203831390868792258992581561483388778410262155998334013572839098856270989598215170878584933726260558531505236813116730186350944859536948120523527357535503273213578501674158699938280698968828669651611448661493983153794423897858386412575532169637823134067320775022530522904283370929370678743231933334149385879608666136236328192607061654144149040041971165090104762366687837519962677377296122606852013974714695939635789033387171997077568184809290290081949932873163966282823286442470038003850168830932036749553454968083299268686547528255137971747895302499529468432960497583790564815764068127722686684137635168637039271228109037109115872912735555068608349995887858963486869545221295858509482338546362836075318652012414342535186652690075725943755483577108797288693739930055748168823487456993421944464461853467580320440410876258415600494264964410879884998955064628160331852064601196268058452159358181406354480387944747926206806325327534876028991127312350372406951248172930073502857780372314558354785536501111316905999893259485953986159041949101591714135807042747068349882306513131755355702039852988704803191609744588012533133019004478750468086226472044348499297819714693276658603545172554061991212086097783667922760815860382324328815750399374843960274085568789823063726152727644504188321431495950272449236596093281838447041426892557478711564550167640738567263791371366332415897280495003459131503643755693590093360619752334308937534714211865820634170838320946904436959722077426538412249665113497520899083538985570331079264912932582359805433362360661113870335693754148395959179714115187373327832550785419568662542462697386352561627978377062652773196863132356403618653899983400730888302789008744895011770263971768937268528088405349731269858596239685282226605258896629806845351930171861245066154980642830168173906401574504967837655503691511816927246371380895576235089701792587588195916652956259820249172393916220776128349040931636182661403136831301872266860608081718984884146397347319140870863442406320477218326031358646495068335894076229590392781303556945855766579332472529036302149451227015856344126212714900849976084655282745862114472442352572868696827444849246675870035853486322580971632531391723132167397734943444758680130466484701489532218059048760198933868214219688607141122033740944117998475878498400063383229401757611750818451637081627004083611177165020236702990505131037963427819518356546328038669324970431148141262349530755307114019667859498363071721496679758076525662771380231776955180990641999058676937347303110494028392147046110552285675860507273138321776444020872656261309188509180455535257373263729928885374456184766783227031264961381692380312928556193864707191289988319066293632700274026013205284277899051552203913429294417702974706454442508000591360167870410148794810530773575566377956774796133491902214587698219236346968186452475902393494617566092687610903576824134867707781331632837527277990365700034476637335640813726282589281804418478672890662873411938635276996091800582573876906157219532260080235315699918085652904955006430630391639901017994398632821521468865466896037895784721152112745930516202153088926839525970118332130279080184396602740725864491571742622066086774550115375946887054136238611470577686690360313270078687025055082029786651242473008001344584416709948271969314882330832060279098470920064575925361843018740077353925856349358868105929441873518956414709149806774954227751366736372347376779377856163776015167090648498480446288695830536778550988445666886128783394185996365663163560966431893209005818925998960178380912688732081280333636717616324566234210L,
1301649881566174462466200277432679768950175498238794112690938372402604078942506708590588062243682115561050771528848561031001482385376562321810389108400717732056765350304650862830335100100696394235747149474261210157828150848911892060013462962435211778767988980031579753213205050235197699381858922817198166983274310509061301708521959249263968205984987729155527179334276395475789952801666502621085138225919952404899103744824478596640071359485728924651399074066581909687925211144973582692809783088095018502745488170064934408747947860495013625254603007395000997987904657683477708511585478701410714079834499227547207500127979965506377669291449306886460812570990853719045915137873704244458586560278540078732494506037651048262400216795139641882048156744900824077706969061572078694521026907567254377583441443720173995105742904800790073213634462760796691197080876172731622591890110548239555554353357774456381657103684328338014231074720762216002187827404701098364900468887483125995852142951720105972317187145644271138327949621954167605730573440527643836860472367036106505250232043158537203425661136532470942449328547752441980374893153244566210403114295359286774245636667711955140662801764645404910936959477686825335334503375373073928051790431345534243435780186264465412439339018166823401727286063465095775593800950750485077153666723623891202605838923572609952826454239344940883909531392127973604315927993388847509219882307622907179903529602437053912398488624162455822510341148998028814788413606946784376424965160200383708151352571438035580675453315054771547511904657136967104521126382390253577646543879581653403215788433197190912404424347934114497255614123982949118698124116420418188642487856660364364808816347245707527158398832261137592037070258153046656277832344162594216246126000646134479241020448035263324084273696224938356699409160279620406843594196201290862137509780561013617091322431987592577849794482815735858900962996662608563828397692634933891633705777770196438330412437854523177534341055423792567635022013172073124249320031922841265974210510958022520992387326385820747492003519749384646236799050875248992461364784326336261161928994888136744229155455794702946667058696239583677159902578690704895201077872934931546854972699738960891532061485309764988200146568834909090149587500463537178719470020383685616634784029013096730269739958145980496038052761808679326068689742412492752428911033838131729106405083280377963338752167036755829405646482282009726540799947667285049593055129092308912417872672448495105318538010374978254160294105614721823778226289425509107491299676947708217198171253416100090404466287035367169649768666465508359297459398541792506772430019003505171598179244946012946794029607359599943986317046428204573009651188098614747024602662587258413279217216175561889671704296308999460540182070491737564485406408917348442437200338507837211543282884408647500889333025664712992788626940886730932416640361903091854699737447638531264720628407669994403280228167572056028570513152955753183574643390774142884926912469714988754376093902710949056698260032658258345122749497827286305239202516383969207090966307565061641022444389278519584620065627452542972863274682765297215025296707653227629348578902957747307789154658941600200612542456700161646584388996982136507689348062396596557147815234881925713779137511500936309908747546066583035810521206261191432891599489906780891431444547394174025461801895609111226227953109870461090916065183691668194905446528485072233756793970126413418248995104686149675997052520786549232212909191573073372930423766369554227831381055481565935430919916796538515625353350894940689936041110074377466512656382306869261568854182831031082180211502190831358921135895160288556206712032301790073233032078818660867325232986474654192087695977086636731430627117013052512551385515797481175159006813034599085526317274249162088883627005903913766384384185318790999637335934271704652025596218623716026054702494336033753411375508946574386200284402363166614009546821803200325727901627390005464829855467941944966619331679766765358155371655072890340120056050927183481900295370830391056946443071347497401997029239786880285421237091234168635719580819900241808989661161770845488844587288300271506286980460489733198319364328630193665902737751059383641914570961325611464849529959262094240792738617393721672212691763007044481526225841825954643007201284440539510921726489246484945475708300005562598021353255021782095993543249297160436871502789923089509071358756013041002274181155359902141688570713571602579398093543226500116573135367782265363720121755902109845682035085351076562272399712188897278611714920463723105831385164397675693619250447109302800182709421291600280414455340783226568510352435125046193750714846863146112281926268873233350238981262182547151571702233760890628467775385086085425001537141101674126655133166260934619074361821068466164479216297483002608921478600757856288895924617533300703748438736959558128592076669601397683997101200842444784307113900613027582728650442690039525672113635847872285692134290337789925576927059574639623147249124279250805414280685392399852510002733626377658091873021811633187532734581064596154594813115564438753762749003292169809765866165092537703177706446955628190497513362694480965176851482208000476159683216521234255546911088402385016316522779943034567000677269732811735198567217148371894573977456778591135866446995354414410678242072732137123508140433317159266453657612735314849295547795362999265792801385319011386652386027171086839783337563839231003813500347490819638217464607846874907235488797657409744436961212904766579225397268237970402565549904842308403757262958616883727044546564597412495482606141753446685323634710482810550032619345828714522166537258589915177966258385378650351957093861772216694295502279403243348182955985008858900640228920403633774565828403715503428599877091545501638127372011706588499517241423545261262597397002797581430143681679548703683284128120952717678302164008113015796417122696945140118344591713626961147199580476797037838336598684877323359267329639914058700538185784926686688029278510884251520806655052915782177923435483511355438453252555373986806947853978846230087609246285284474101605567602904350540565502081920443624079525286990953342330318332584538640585713532761017623235789235326207788248523371587175744502595646224064701348199825451745221395210060449954783341923797032610649389737492844832462968717152739428722159893921098804978280314003326818420529191595466351096923908990393503151128177793381L,
2019300559453643261970107933602634816133122346803480923164830322425061990064563230663399584541835031835571094686190060640465108626080268696943249146379436471267581148050716776774728758042635134392395960548228401117651592185935137588473104826149796980017674825679291326824548451561431412132540705876343190087121974525715067400968727624867778348011189345882567095158578810222483880311631014989977984243125208670153618157650162425980303635873597890538833267531559858191616457353807488680160683125128533768186140709153087502048201071390907878032942085156287928953352493119917326594039052750407869942034772721613710624270555865290606550045047184005761057546939528867708985443967753220517108727127809228906485723339716068409723367862072130725007492250504051579618494179432544200883253189531458199238464196107714270322073533403162397966521070535065297834691326686508002860115267263620739532914082275865719253981227722444029715422756305789470935365841774314243361550029557453927420796263052601648509835151959382121458511739190880818563082525336711200312470463248859286749280056948383778724865123501866004594122679132450039629498606486875047626092403657594857397626790678290026964152077742437920069404901849960588713001446465479400865149839860288681457956727983207470765809339353801900194226411349776979472615077256092598549763497812592356432032226881000588170292355264405514198682171096673611822769858267558131258382445192871607339223291500990843016778642103083614419046244156339574665794147899737033455214492682454807787272130814282840759833538464093370944278036049174347648527271115597034915518997493271829332242646258633104251028301799013834662944494638447472684067108720685045783145119494724521275035188039054721291654365702703389610560057150556127340628782803898593102493308621508798384790255417710564250784693208518766423250819441852968752569610586112193748138818234583474884900931918335163892362798910752098679511635378587643406020713624346839640200938027662539373891979646613610170451655034885562178648728752492096862453845880684279499939767718527476970659225737163080448194886134574843394115176045514556011309928188131195875822194370350354859991975012290980778740447971276297917325548826502154056760023129368319079677912956877950193103575295018070567607921296592723712588827233661653781267052833241318286455473054801336120398141771100449523692295727078361818427788830203079859820052246131781251874913430597443600799935145439354496209128351872484192926687697801380090930095930403761372209240018051939995032354745126274413239983760655445718576135405052858777089036003533954980608622962040660308285723554808388972596251978121706361215466372529293344478659497162511150392441432598467987564779730230235504410491148587391245309030619303856291574903865635024902198479166535216700295184028799824081199674226448683557707978912374914776173750139598610210925235812782608468341821245864930164901337305967118110611292290342081043104931111087650466819132858609258506454522680198401706636518514164820164229922816716103512721113441414353571388430534427682766117758719719444043154149864204589340107182394477735999288386701930114353976931505610965006205561345307169202342033824891856708230503927426701445443081749757439376752941965789945611003397947484018400435858569149853729919660443635538506704018540346368573570093689065055756252734854785827882060668188058523867909660693947745323785511032876983738569245401430170320359917117350049887676882092922038133050033037836979222424547421635855489851086391457259945899792126503945790983346183842648100918130525481417886750500833993676146887573884765604274174715670183197816974688706192734509256756845923625673811546076146462521701401405414347025913818244469752035152532475774141750555182359449423172291405280105943310224503108188338122359657864174965623577297858563597394150776286840370634484931546342472247299312892516595023741772584767967999024477563726827128264913038512765910771920690428174138072391429482744526476555099793056308348218826750469334440615266250096110691996506639819433890327175253710088931047937884824004394026557516135551164311324864459103067872833591868253603197256127950376654732584522796781888342399128729772060443400120693946314132744944403698828006589590428840509459827204680049985125274768777555744189996867628824588121147098134741476697387620313730399139415472878135218939102961842740116371961626413176989020341090926741622263038658180896264964739943628703863940785094475889817219870670709642503584855322062918799853255718698026801090925391673465548124851351884351632228674566997461010908347356907047977263704680683164166377722936165458793784905920740869854846371448547836230226088462269106543568261600410259912340348947888839921112836692224398279474143460717759462102603707545510797822328244165677755402337391737206879339030894138993164425048646470048500929872700813901579007826433528660035160330560412820672770387870435948198933631926235539299388386386832444294113966598205525633377395386826278646359363298583150504621349532980544568151418998390649239203987130085410251717951351416594105115543768875247513348651803011318693793876800479696161467124264768458714090672872899682829726439087710076958719433705550114642128951660232323386234893143109674804309246020100779915686749178163176848284866526951128432567358330432162714839893617937592698765475557319972925387171073725048004946258825841279183498059714731449017681197393504679153535614606826788953110009254033722315826339016991574856846386372296604480268073014224605485588519705330861087344544953829426769152326389152840622693565850882341695543921007176597559224492606974801873833756879287029318787089263902993416899396456818768388458818585036699612294598806178813924489497607269591314243240040608561341255627153917208145229965878662896916113163669386009720188647327864968435013973203886125277327306966188369641828537663224759210924661258558842975296810567795257689106819715050746573909772057543577514276535367431840796086804852164875819669736574180140176681938781203476102735633363317483065993912074614403892429193891315689707256710689700857740437757752195236764153781491193842593856793009222751446612311915498454860864470051121469174407840098679733543078567873653346025096856289982287626868200374264264302582359389141823139270379964810070695250763515959628533217528187355983973915613019821376697734637964555622176867882896046753875946745329888598089556916793026367534940339391801327559782966933077707277254138579936682570580965194707016699129240282688870946544645L,
3132298405093689221106213307560587739208151641397513189538746285646462668086231936340719074298079752564900943330738114550458415168073366877122417169598108018691531819112386411009263396105543032554648101360158485116072027557734488448939577938729467027048423242373809838468975993851582593394644284588202835939343755713085502774514643761749055701473065170686515791489521982878904636753793726294232031374908008721850139362269565384093591073487473696279965395975783500400597720772958713760090926805850947399079661139811062343147465810830560758800934920859433643240098184461616085690084412280841563573058643482351391788799248099534799941949643282839110174340495489525503166324684203115181685441984437559317228752275240030466718663956303960513692625113879167027180045890194936168440220776792896542208118554925737563311521711106899179563735868489022007464950789708047043549357232295680013835204001759162215662336616758796962654961125562981670419164968726685996250399582290184141454050085490438688258480847070121524322111007365439828854100038772358531550807904793206524075792565517187470152868617338408120418327458898538615126595852232048442494036022049014890242383829650576557367081924399584912088730592674327093583486444197237619540988550661154370378832399465796996248640492141062040016577593078044109298405801474174487992791912805822697691475252809575234311187078503530748305389069133345967915412664886514472837013773445423726178602014019744693044406131264607574725574909923856669858268424633890404420927855598816410815800386041201141536463661693402995352500990022635012257211856751934942078748873514430467135689831521345154184988651674569265865561866920863974384736593173730776445173874067673216817032295437377947276855667181804336068485299133305153638384506311690434700277263753327748870849240868465283991184154563464630603262039170537022197706372273470841165862626823692151854592807766052678299063813644121323404327008887936810056290772356861078025321738183445786865403179068653457328686468052039594851544227223374142007812836543127628628338991224802415509835790410406983196170179858757131735920275326824895299164738496418257433276371755413056938694663657114587248026218448470466699579190863958371199974748739171463271747453254019912395159775535705474026423599479960155675920660329605565646351858044108966356768957201544981859993246914270668351975970190428603238041433323888085496149479304941167470154805740591367134329618465344643904955862902196293139032220334903632668637782787916161718597595496741438268294117364254192308252705628930028470071815596772736323441794969435739958565065703733432493415239759525281303292896431451599967124302293964149536900874619164729204083814937933047394072013108885743946793744559040560803776157281582665531398466530215542231346996687646275972630728087272984599280226712220449437933680031868814851958839008188280176988431760572434205749113224548847532096366925264792576303339242190669377899303860660516926164429532078521248023138097608905992271494438864856611202029957187343527147836676424703213248731124695706649323427683427232269914197343698629231827921394412928674158373817837370167364478414914406086991563869262697584933965302920051990953271188763467560910352664434125203773452926746266336540101364635175288690070767562771911421011272301001998613400742517767677750038858643057429562952208171101417432860219184733801988203238102241357349427535143500609095323432942737345845231767137446635870346075808385419780446854472919317299840928017407785940874653965445206531675188960671852578583358542143810339778527991343303697185576963827902080427371915431482902677964112347363740573523138480324073321723569090340186740534511504718446395556067793106453580225753741803823171908919174595147082319387214315211619007155501264361722436572650452911329785741991821748001560567018047402655406957252745647053758888798799406521214060292891303538928004141520028728559104358354311867656043459890389494890931913142617066862669568858170221894678886132081113731428643950086829439143107367539838483013026330745029209113071427882296836245563193942718806894807821414998006313380669099326667531787985690200122041487409502330212491686246819782847971702972430583092765981828604718418587192725860794535455274063179457927143165045812170314111272167410103054264067019580618066985174057625012236224976029191280243683325997216235985819775076295136463638895644915612757186246372887564615386650087697311453285421926481036539132331456864632598117059957942902479087441434840691844087497161314132902809816268613897534668329121090645212371579388298752320467560785201361838672949101260714525107091547504173443000619922709141247005185192133210017703244933068411972315198285880725770998955929639648923876635272474055782811297315253941579435281906177026457582062697586169028170784926207969862015570916259315831010674923119512891953993914996219366120168350816026932589821147387805461597924560187569803213567942956075495089480015634725950145665607495768807603896356533199041597733166254835523485786857852956778659735669785128135068505750098815860856267068314877910410206458764836517503389509017597975716470487601066840004488951085704548812750174230363931291244597003390544105429254669537695570957949345255971915327362794539227152371683208215765809140079852296332473343607216615721771805990461104508640371787835508532228269271755803224016035260811845823454803790383682333883123764388716419479166122512056651818934276077967543083637538591962064196865514425666498983515314575544772357601547721545948090425507383179894540615329535754363638642827699446589827345170072683093739712618144671790495402280955818786643807931142120331500101475762260193729021463047665777981715821803224479466105523210818766682820273196629706627026890905078451880080469073449700729055938293841972936072153047955687356328451912465082997072755518527083288565403084780307854092535363565150855250247102786627809699186855181810253660686551566986045474689766112927828765077501333730987311513615892889358020874423466476304197645509109448934910896419401663693225996056856018636903613750506204256573141658939357385849938999082810016992885099524344713056340061929158895202043070331401695825075430652240142737781708365365522179245107497425341292613107794147730155461585169234621941338821403152545517155245328157187783891093048206002293205969024158630586485497219129795829672352836973183529289033431767571708969104803537137465703079133283149360041247578893417158837878886760185103782324276218900919882072757427465263082324183978L,
4858259363130774374583490035231810855505796715199711493713766320856173263411902855123242610410471480405965651554515427782402510002050595338227473726181536324675111894136998508302114965205806472388887691772459036343114423952730935100986247288117988371277630684551129146441055248719974348880248421431106702124024676139375210129607909040893744841859212306245837414883475231165643515787990271915252646432393120032968348498761092306639552575158358227711678892057333544045388687209640976742597861982892170487211860001861678348071834434028329301057347269523557712586327274764587537150644115785265585626334219032042442549803302819570455778628223821137975552105931608954617239234479973424772092156438561099290208272746889413541307122224315813479423823749187840764942099400393136986392354742385882581329538445263310899208721086449119501020933503087589527416761176002876476333566942780818477250601272783245337907279374464009946095070203587915187594132507623069112946534069596040975410021191955368076632268835458515828538719278786684254517187889697282907396804787155321235610878306125089906173291492518272004024271188768035075545842313457575222072614598906127984885743339053771635730244070676383668573237543975878018415877688866092662319826597366347819370622398566692520767395486886440620083485103392331046393742994269544685503980870984911351870259517944987194400449237371448015755731515117114763749081988830057005355606347987331158449484928894812239591025062291941107526170895683619116878802950799941949131425222421950710573970688242099565064718920075041707260988761138275146076753971447459893480888594365239225131200312766181805418694146304552929807540120175037392618965699544201980449206728220983256744599572545440656217592843409471798558492608187157273167500870185040949495860561385680903777691969882366661333178479587200259822977877889275941498698710590984014874187050417878075708676735471459131974576057974718068711341450301562187989882367084662003757088911579131448057816804178761341591882205954666000231664180712876124095143749382743681820345773926565246185919707890463190834001210112987633110722863274838203654327987943432727528756560532578838009381920752239030946761118161263056807592079822083948426502211599840377298396030135610917817633956947329859514139428030518285306206684132035392405493686527046502600847676472179169836341172859482433368944143540963688188227289333576847891259975337837217426468531369506599702324203957527756500178600695378512996919853621137149778499792668554533070852617462404923809521711237115460067215756850815492569990187078336627318890532462985191842899582706872783339399799406810157437284781831802048913856684311497428471214353727263753279764815983959906729574175079647933988109467556797296988420044542118080215639984835047555608990406649173743334471097535249077516302357318491086094665779394897261357059098982301605102819873504939576663353080959558633276659465729395195910217911717870677681038385383493953043131607617528126352103221051754475609751069988901060176233624437677779690702340032422218062447305475572307140760843969517034700629426783115816662342693101146121226067447273064178164151105314143142339518567545905741263612539459729877514837452048368778338164883582214293464151370949807958856514981484157560787311933223408367098281590885760189494745885248163684107801498129731732326527800435064390929656068877557782727803580968112825455791195670444485537514087043148048236716243562255161872059406758470650867718536345355371217300494451912367926879886737335467357894616058215289142185776285530202152333959537200013296271677815928620125482664122328695105152898069055842329419768447402766268630070576617192363450202255352411036298112505822810326627168057729349664432627868197967300828738151603377702637483306325968021127619989440062419267126372429423022196752849114147719875380604404452256922230428758127442298699447535274073659859733905586200382902951338736787881681154420184402758491552787384432982104391823487319432049054511348773580399777584510757987866921642153390493885582628312465464090470128465750979459062684118603864810163867702939984816906798404133701857182023144678162861890436863398323468712919793669218484581362885210666624371139416950851681276900402387193113650686794781988564833313500802142551525724561488752443951980571953552694060803357329668010533833756456281815390858859547286759399582205406334090196892721907532685072542250440616055850909921866279072718981878080687990426391828626201600012004155104621208928959038805134968097909007412407709696477901806010348624052611533687890553080183505562535401151249987671440600108323674112509367886548130402172276870061932544917959739816662992350025231807931245664305279374570391818450886138675260518141446514006408126378505148177576784375004643782460205382745131673506735944109686712223650987178030052940225505844027186534046938093335711997710170418780188066138382621506129646971384639404478072293655439597809047179421662954103296357991464937923733295500249420967872974931451199458630107689977398693643080534649114292278460473047545166304067376566674734453842504291766807841184389743394546708201050060291396003288202235362100183668916286027768068521074078961462230062918432549969861569047177628571662872390100705663990542491662859100822057027783595621805191798726293731675344831761977273890125199172239067423608484027572596765004551742686509713648039326900460622066591263401199217240132134412240918403962519204093706934080568708716692843667253783401723666592487794651757231990394323891435372852426012210875671716211944091807338886839543600899084916578055147481445228434722794435239219527232672455901844179403465892531307275103183142580847543237888997999101900749608526397698181023099579270616274923873165543445865678837170279640604038016275812991938687537590673877971590910642166462419777106112440207012441875624039328872210173464537116923199683536842225468529691218234685405668581041799860218358177160542469600946398234379442251612186868068007409211070672165127140379927620880679232481376640915050307073430866140470845032272679428385794826469936690077145044522808800205434600837475688103726325606050541952917538324633446098931924881454386541816276298592886334440487512442127378337038410207606901723831727162210713992154848792968658700533909245588256648292428168779479449148972471677545009201138579797354996650123589307047334801658867444129571961571268380260271703584255078476629509676741011458714131198116986322553690183889039548301429665347632982429050499977611448896609181154929259L,
7534487010110240566923637296198703922794396310112816438071478823720229140115953765400330785201848048178125245898594649516332652180658712654494036777523454670405576724311439638652062412783000509800467863021123288084959221863960883060937563226588185138681257138024847867213067123528697896710862174864457412989016299946288954646185842971820677895773618669957630399108049123241327084597995560494566330870693283883027577829906125359739924361904049203072876240505702568893186573106700729501903192811483613794782038125173638255387345883519292861021015474360429741845913127652596025549258839125479524856952676940725568521906056453035000304911482577480295707349067633276090922884320181135352091953134154897569813222305342684333344170450465909417352576786580203724996301008424867571986968689413342050109994662589885899813247878088534043778103633588229987361094766274938621051772637554401674070888551320222402917702143774561159152650522655244423979407642625699848318426671697633968577259704121884611022750943095111958988085073515383860620439208025944406329551919747938795659488808271923666607491752602388800076951183855433295483930514901255061933463478623493946323227552133454300399722348966688782303200393902154976656823582336179441887965471462591971879219030995523446894004699489691712045279128916835691662801463255536125512497640262194606799368417120351497648526982122986977937418732120387881236486311427190171046513321494128718599554269492842521243816978441414316344320515804759384765847219349981804925380653194582780594231901220413355125492489944242197772735572891152262312813037911645813770525537214858685956427743170823456779921176765050686504729210814320411602595411024476631212693792102492160051264710156785223027508596520102403777749984198347085311482175451052277013433285919109694876275329414253540505916042227726456495816465486183718658083121227398439851732633769433452543023012936644089885940673821739507971415417794116244473545525319663372577660545850887421768977888281559207886512919873630671112452173067143700426410662995640342679501668274268899913051900293272887558010769957023465635832501890021750678960509746096841500397874162835433902304948576301403365295782809037855624124365756832015807981640458863367698829118976300595696273076338857561986965549463256022155141657197409593749822578580222492580381813158241504697351523592394576974810383684586471303916595542935281713713238478019303434431976444318675532217740846310987300302748875834878698876397934649227254980565954289648925138330283873660166257497776964172304761640004494025010963734608336443893828904082032930190190061337867241396533711581354787339284221634568417581203046359539353466484897228246884495586075657400829613161544575141095485397884896454237251055211833241001838013941072840136494318868407629655294349115795717757654574772456678092319534701869836274919808152346393882895738819486538594665305967093267705987430207272541840267000198286827091178839001995880300084460484738808956190100223624057955470172490799235769909420148400903630120154955062972543744568281611258419355633693656987374457904639403087358496202581857722040617292130146953107918658937147616746828906070359598207963470579245790542563648767135717572623730887350937051124678453336152149021827329631042380706945605826174321476835455371824602961337695116538035686474817806703276730922330208020105363677414006307822903995993507495055015802870406232879428311058026486962982089479466767129731439171025336248039954433256176631027947927908310763183597980899894738379595218387325767117852617018203257654777177570233357067152029843299068542020938893725407835676259543805938325795819017564750685118946077623765230592858687666266512221906422491675262383109073285356170328904609410804122414716527521207060426363057337981441856956116463767000621653689106860007359553440274489937057313958661084924022076229966033112827761008395675754570040848815302660067107420144787681893309116359886582675896095867832641937747167156272387112861901063430244178043189300080726792630802407212569799506592671823130335622450509236769246151633427506065907200358509629526568446114346304140696390038982852337083727336053423476218303706711355945674471147235400047361109541744522151239204575286315155370178878807537748433632071640993572845239459276588647352833089461096645228126123178004234435959315265252926686755334096913521700648495630891907754596355085190202505747625266585533662144876241887248742115679447036187429735185544016087317252962002815381842415905407229227684833448046748643048586826789269514533496581289128982706941682270098818184824266062158837611801546642000209975809240626977742093447099820864684518158664413462605927951392506564174385826322191302024592807181769226804451698550479261837369393430205253283306555357295694513205784694921725072688240816093597312375744201807477394129067564622110883651996354937194284686906618700383357033942934441372570166094371301973114362338663198319339720187543900341311178087546933929041541581936304177103335728895219817924829799513263443452727611856653504109094073008739045153416870322823937704718408597470577367300909814655074422644498937791760367862370253518186067468945328609764253957402265715985008424058181931406741122062808367245882242215992956751994083438765158663712532378339607870367949415279727837613005288889257518652774032935222692857143231327514901831833186047992523925915524503923742495497610324320180334232174269147889613470179167040927651034317795625506246923497592193501417424974072541253854994606836015820203570636919676849639410737754165924328430505438428379379521601732417632775953870569631219473488362334939872063011972651664316317283749805320850316654366840104042738216803861732285025883032408730231101935123848472065605740499861468765459759438869861211869305247386402602765372846859305113955563677773049875263629395973421916660815897028386272027182927622564466390074890891831378619976058687030130444852800585200316719345805087048055320040193844298606989861283436126184625921460170627139926290725462272920389014696865328781521616347028778399786639523777479312614160010412870152549479946800215652488148722687788473280380863816273145130234995245328362343705958057455225705386765608050110715878161483663655281001560083632372702547800606971869833909372918817655689941954990542421026273905151275486409233581122504060358666007287515683816989453964125668921476373845171405144071665584250918352844152994503129189369084841403311829759320235832520299342266304966858968209639019142882023974024567325879307165884688L,
11683746553607321542611092116670934683768390355892254221422767346601720813757797397641651339634977246154503350704689438096830054759416025925721521842394802422599849067954973596674639557370268300818824480427723061633496713285940420088938111949472600695773575729654047400295332265114603103173460401913156674680837246833019696631382873849164058768903285633268650067675522308677257123763660814072186102703660346989270952128684630396610141664608758190683816937026236352592275215589885511039514561580078127612858419329824518714558869302918894933717687309804009735390188133201532067621101929025752328069147537323348177457884883318622142641807932466419653752837115953277386477724435658204460064286144820074458236640849744050440645429563345908074344178945210912917362196054189239056705421029466930790537399061863462588437772968794103830861970425258386913319340353433142363869450532046749867029301575069919880990767987099493242499020007325852422932174405449671923594037068249275815139705306719220752574781779756149905556561635915793599884258099535013286958037946416216476269743175224240258295376139698956902376617487434718611360965629707211824469163278982180246602775112177495782854600283235866842096013511666345325063086219403569961388493227318512911317406778479852864181833501889226564058893699953912231467138666965125651675236248519216173386141926010818969557930612286211341205165645734602233915845248709318482970609744854448872729091113852415116939859543966873400448418290283099334177640714741117057621691011589556523391374315485936219438107436070761770259145297699351285329360669862075955056471937343322705953967858170013272613499227710299285722595650549349672788326672182308299694350134856523900920149422919954455050575085046702926291175365887197510413615296614427618039296078036190354672239613264443698514756501681258696564336845676531181009532778875847456523447878385053785089719281059001552464569442576023302787121032165707180989172453003372833105823378387594482972310908117055919988050271496762397966281817571710503424674653895575331004482074426937737775693954641668878341087265203064038828185067511755255240947771428300787075611066671399916190406925218730309359956858255171718977008474579036884394965954117149407998776438238104822893572173612658844744685132429495751197758684415151847805976470403531991601356740398498974315500295171443980357188649122425408591463990645185145457786134922532645814234371495519902141834243670813253514428454908143038586303728480633929189509266528894045287977551692877917781253123938451918052225859767879074558818668430941574616763174806497259403911143111038923995749421477280892105934096268659141222980858897943768344497832258268836425617560990916435758302245928216108084245943063092960733127541582509077509907445194814215371422239036286383638641297206198538019620843090670167343575821834375041273652531318164464414095269386472474585877870022762075841179472579968371520862198312594091340956839187678862730955591581120152542164892371732450525754880016672906505530931064498221840660354798595268436446544924847330820085098286997704788531359269777893582714002520886808609521437878246996663243392321414588589795962688170141161818146861394627733939299416021570037604021734118494698541709375690088047630259738969804424556540868635558520088307477303549445675554025942828198005516640510891990493989106085122444225158827547582623219990143810070583548570414576479106902367188932745243113612459562162256386962894851614251826204231443987887687790800637511257432368648604231065227340616019814971101280551049520203400360840062529411156269722495472645887011062086026554443274427822965749494030848051653789724485052683361882821713766173184360775234350824681497197373518984103188533555312372122580121890414669683938832156293753653607991389988908199669025511986230190962272851051989697042988737427108492227657553370275976842940538205359316199372388267549690297243141222216443586941081131901831726748218068788385668002104379931075531739564684328274010733986421706138478957734494540777012826949648812992176416158302005397092064012852682359122716346276680473190514579274130929189998606250522030813268805064859681907572080114400801228873635671966781528616550265980800047839598627422966498024433105191289162032651377571162620039275754086689652300514939164990095701705098673520158822414505195266622676279371873629444913827614506705383248729641428868542206546865622164549104153055324275850785987916351409793568217576141205770182088812887410917633630889643131141714068699223563709830061434836514797237898970358785938838256955488087993337853776537023512335199438094290691585055602588704481830899646973819025501019322411850224607282930565886652404049541471856635600540508248186681507835218029058454511078368775761482253028916160281327870321759811044713155847426795683529182373538783812829204126497728871405630086856907869267876592265192311526886774486975441549350811260640847444938637104718005689767221541387253228659081174508946825049947716559508173702844841912858144930029658801026577204113182412953923926205498385647322230195059142204411770792367509075809624438238521211132515025936381922041783142570958500373449245320744865698890234813323100339974050854548083181290014545836732585959389424380763634871810561130089149157440413438163684763342522488572018614155742521358166146759890284398839022053904622838627512196335526944471658849723915458884050537126809784589582792825451026292997174918341997708322358039400760630368909263248617531038292220129224990308122361434823533880066256503080658551235969901474063119489213240303081345875578643960118072151353138319080246249732049772124022970504511547164491694419028734528891752105573005828453350381636650039052623602703434562174947468259142055931067469145442029010579609015137640064028521123437818153609536380617371324938220149601566715737539366937680222602770239196826800073884033776845368000807610861570614661676102998071612866038696766249314053921292352408948479377068134198847032070872093968634235720653925205852040857309374175407595411042996555047396339286948246344521598816789463834909245275791380838822190617006262923872193988307314886980632701012360746187296939659583322255032391422349777951314190049207142430152898733533932713740380591072148244263703015124126483320219768719465754458697414178957604736443880868156127370824989933699420340951518612566400705057050501602731424533916045273533786055555350921034422277110496357166594034288203500058794918532371141450003567044362127536219138012336924509175692103169763520673L,
18116155323848769939852589628297258644539120827289029736669515471725889771648746300548384769290967964441538153675289331866384390110575090327768982354059289667894396891897828329262020929230110630121753922616550236903871614386804527243925395583168832765163847954997210395443300998611466296549387448489068141327411585773863274231738010053225385872421272160253753868533284858591634166618156236541424581961766141089734810302152586947853273504068768958085308427620173259760696606092384025195045429491787601575297668783708405429655863281774909413554115315980738017571497881255806765984123759248958264113512698581032941269423685154715254810671369148631663630104180350783694942859780992304100336413992916354215456338847585932544434523527949100571759913007583672762340571417316030882456680834385822593990424354370973036909822351491302949050823224590984672270434915522002723773097875423150888352398163936106961255231914577573805284416592420801639855525254228773525766241636858708010504601950971985152253856047327460509780156255003283919523390936146617212440499168687837882060311363424492371166391469352797446846257801796327933954899190341178909024423687938459009297504166645826082349083542126062426641530913224164709540720764744561618270846982834758352800181905226339799182696202140393223629529018051849871716464147785728376511302343034016888261248885258291936650084045140792513997570778525492359292118941957254098068909860986676140469116539707679402197468228444725428307810731468486911253834137202505137629210223840468056040022893808170956054102844980101288046509515281990808323295314159338155120411744199817955136902761203539102871606341175590832844733288955352840176259988744764635209982990193857483833143815507208585748937793949034695909314407043776165827417977271160471340768825808888500347549573381805764544454943187732527579187591189767177013478875965905370230469303669991346667707819263169625061379623636599397196792537378940290566800344323707830851677050555025406599137592070196895318747570550057188071033423941684855504645695194550743718969463773693458285785309043693833913028690738600420675294742809561425131996850307797713776808033963216188267615547157650694131659936318086428186070305081014949146245439699075544873294170583379899511133024235061189650155334693291984411696389739334906799717349965620130061387945135018175176743632527570685075968491033275749183057898943045198514423116222018387549778352462004084415357577484628851315340426124318957179840448563429469792603811065917763863149104595045470493003789370433184003058693549461568678206205632812309267742261274890565128517412264962977202795258511220329196516505702714398068527843244893554439025896302887922936002383131074656829457864359712572841678329817187207508728740760334337688350844620541236451871822586019363983874578666407502465385781387112160321607421007755923613817033877144631156760578868741134652769797440360767288513244400378303654834317811511814305810099887184485684743064080357914574238900692901787671511221875806114992701227112555143864291058006467360435476797156205133391971244437727902495090952803474743257555522250700718181763388948723163360783347023404901596635699415170472543393928881246372292871771970112457286720781715850872277851249470538154075311067747613205419908022007635768400529883678463630104666077913888690094736328358472929422296719842778808066964973795618559866528587314792040679920664120773932068958815568748928658249005490045699118246039634098009060153346076897381285000401622186824938157935966908282334469253488539043782788114653103911105289342223357716872519325206728410574324107935943670389111239533760463176874901077971924597869154457643647954372742916088510722544212038739662052799228290977886152981483201235187831519573136260878510180473657007500558562436746857243985692941368567315910170097202896708089902965343318876776373135065692287666411113161295533369893926230849150181942496697522678847062726308538110166949083490673001185283012119518487578987682860071986072607056823371078751723477444299946561598779186658963877062213626552743072056446797057453742099354454026875491633789400478843573452263185163613845459868454900042921499298387931916434108967171402504009486864473340688725475065608306558638179868386491174323960014180970093699373595452220763719671873123403883690130739923895022153675255999331327343929980927706787637403947122920351627581902157049219151548431910625589281914172792791607598115066783310107711785857476478061649340167071104339459546741613814254267789427967014438536079985539418778395973505369546656702449298605330821174525235442376125438314356553150117007387848472666734627413140029794996392892162486547422454848442809429231303178483703826311543376742716768047920590716540230755888127620317191540376913825409650892412672736527815889524200286327322383879838140460255228410087668964765838711473088684243714730449226249744706138885829618219871191947251293200912907160352546946467333029048210349047224688757696373397183505803267969243928217660842797714617167930052892425832459463729695482729213199977589380550690186329518928424021972012585854393498847623708000890922638356359049996835290178266567175026164076896935330018338787962888605144620397215382500826038163450414718206651626235726695036078130898013413796983805417904771056263299566929468075590185042259486605925551715370021319745633775624473319963374263353397453378619755690488584613474874939852234236809590684160199636238517953943782721153522851663133639361674475193964485553126728257732029351973758880078421416617745925663677249566386247357904936446478138863136674587164197425694062665154135128411284260605296682279529691617106467414820683410093649620741230326915890706300870174347233022208166810104097648759629554333383866202326869135163404163716917424151178633928417055157763758011351372345407687710855705048082217559669990881390035171002109598677617508031326728702126503747655328593466230991985357322311653315634356130488394399085605854217520773511302553897795044522114290854118391280503506386123852303001115204574497419651506569223322530566656419245757888426244341050286564992701169580480908108711158727457147786043845261126777403993124431588681353590051585886488400551541586995627534999913856495544342236846950034031037872985629965158012696697537217801505421162223026190318137163394409772416194536129350845295623058708533731370051586336100159734104706379339609614101131127847495715863474738203461422418039727749891517387898420822579015145462961995338178854308767274520874977293354995007328241711L,
28087005172304160485193761215332864511619721247228581423180454784329431782889164578571515715282704129674110532373035068405589315243607312897327282249320218297596074643784774351368468096623812729645503776542158878009587091030602469300298445063056626237499109511439370298797256785229439477385251580168023632380624081016610637804562794659662616719193803152914417060412412291306433124572003999645981595545872127785199740245724688179393425848523230041984841603827066001942115568079772442075307042051217187492472693353023885257353983227909997613018039604698359898282060957049992851694896432955258937628504866376415852288164520822375247862382397808568399937009786865756275498966119096432693259533775683406626389345728914870489388667212441554352161390754812307007913594912027104085443907131647461088616659581890014173064411908121458485882803211408417092602292579818798179523398061470639719761791676447952735225478849548304876642482125385784776341737918943957091491329154530166409867198006873451605248470433519962149811621339197120128279663024777208293414423736406085503437476635229154240556448018878106462481873489172287335216529324020072656714804134154111434627970323193498313027808999914814142964070039242490250185045723672129372809874859382178407090802895284802296758198207737535930094640500611054856186476532201370069857440906437212343750394150041937867800549987004858493984638589368200086140191894063656083037235520539429773512655383431603399607622415470388176198387098648924718080124969814113717795045620083443341059239917621022440357394734826504667189316975965454581263391651634759486821115087227700108629853859555478097120570079788650634174962097338408510667479860687439450912999013319845847314335536752111052993628192394732517160215202480495950680665824068702961606770518375364431932421241827163344881849317235826400838749414528426282225673629037945278025443705263589923921218896708596046003087740176747066513009563826536321626724330824977083660576358048302592742100409049878563169607860853942947295465415389741816493959851797110692993568770741583088638586748290583018285519644942435811410632992921903763421525018834531099488430809296536665348014174374461823817279132901872847566295676478398020409256492685218195227364229027042736138236461406112660854000295530064448165481145184434954805742904736099533656184323042763818662656638873058325997266236710782136275350449417410797323197740277242234152476834209311002649851391727691838071508293170989812783417971053064890218816954502826221118563058767058306805405247625419960242287427045369985477611449001809036475325902763802349085242295438124525323544915354440321416967163723743600349075838737140981969137216955407315904662513959501795574002256181163133498653789452579281555011713912385625918234151620279802326458256229370769388165829634923591685414988748797576689153651525778367019786772005127124091345874355432272222734821623863904845021663389778484457789711899907812061244372546209079961353274360726475170734412847191319862396002374643354792663232455922161468351469236296683106333886875824062244589998729701515253011755236504819201663633548458984840736491163028897321728579574827255661497439381579870073267253404295974095961341841079574799987453573119392160325152127565030875867938851801162860810922789562810626684012420526856580722512433139852844964677042728619099842810276975672761083488073174816564738116290602136283778608562212076203439678700341744509651307008230411422721545649526205228894241685111914435680150407366228393335789641873440558736231739964044536587474018636528112690062049220655002620430110466739879671014564145918532771916535201730167839588721793630080451984512242221656511892873033194620368909690790969173833282309553495137391139735800375567565618574839960865578600879639789484408903327084306342933481276996481932363838692307122921273978370813351039944889719028236939436410533975457101198537839856230936443730936396955022678796387245467229442882045962140173782392344543950620741272132625642274633661106425342441359540449260085954108043614316695399354672814708648263285357019442465369709007542597016083294668347606664301755987390353198294094973223792255602815618481390925698464730631678418820696753374462207811268084417950902182123271627515655846195270917167956154968092344237163640403892173182364408969640022198379778455408330246758260296080639447215551304139021371393641275954576591836056456520532459283916943536169995253847898503210585614236941337128543608337356325876855771718417565703317925814684946197015862877875950190081072891751418460936604417477317588543964298382464791865426443291360752143601909424281390089911919560086294643003785074636635420282632541247794161275235588010955814181303265211047370841936093781525680274672655452874188381355181121432260365797584238613205629741439363910119641891135782725368555162787274002708086112410649489815134253000950180920981141484366418565066309250836080019563124409179408739043844368105926043638486142140183429953989279831307979465683117926364688822843790206423788624340587011461733000632501197972171670258134825222350622634980896819363612555698802674549008110891835973487284986756263503764402323602179337966201625369439959920551301803254313876878868308015193628524490758193728183162265841622130584895333974956354286219554707756034953524843150036473950874753675191957932971323932034098268980152164783417992258950508360650721337552257731976322545477383839960124891097677929042151126731639386536417555097068396314154366362609972746550540713506952530241339685739954661636616434451274283550128641980057179356546474542619007345480325526153652740222885537700513015839985047724883166253069036416807004058048228302004877436635610825191512519149988626908460089287678998845280602437503012916172039438857242606694460287311466711522231270819971448796039743741500728786937067372332599223855000901624917983990721094724340326237169116899784953029374264487340907784245490344078016066324349303219720489978938820170365098502156491176785396161193333380078464098393683814756971191829827550722188288562139677962900372584716468460733849067839820951154817747850060818214327401072279483910881769844731015951951406407711089404524681784137019317418509317050430614935678210443203018599748021280440889852297534989485856245553599500691895823396885277444757145554195844544521783425801956254965765992578022937458626672144891304092310330605487444542631762565875030812411643999640611917529742700645090727227153529417451644590197293728436428545865403565634103827066303894704775465970057571L,
43541195121268836245115871553285191059246577541525747910660119278265678266678649039421702481606955633044350848144742428152888424100778578327333009750965894353522788077588322744311916111183546862217195847138568429247302559011510236675656642851738267992478416179856920232657757282958470690405855906771258809213459147435910898666089623800123073877140385851110002782430320273497541861507577460299654204976758484220151789537511002894618274197418142963513259674540718588118332001625132739439868526240151069068869585470659075024561575942239878317865011953211220116626544375895430322308759989006013975149839212173854354101813195515942050258592963963483705651632540938310250603787260320597994660040711027060139812676769454025658272924292609924492318016412138401220891081003919652857734865126361330881320568998448185973625260892840999794243363784520315480338210449823196562223239390076980995207918160238999845352956326131618915827119897758033350869151618551763223403631433745405007401292910671950563979574077342844821898860691898353446506859240566553679480355200888567863553107351207479587578863860033028036816377044423231924126892320025718130065209600802028967153393504245618866016211001897117778491065017148743507658011204404040771819338007862437531673520964271446900423682442960330260332690690715011891792291339387482093484437757554055528905033294185721519006205998713778352525824859153250899662338333695783862043556261716030918255620060700851503502655815579787555039327496321055650772562683421089173623409091215158791063278544415331078031986025662577749857321538468177963859338529354691408235538462677991342362313522244586045941706333745918912344137319395664710136578999891620667761607622838180319479735371907247251546661794214720631968223383488766002620791040630452727530126706728854583374859618560230273261252053483358957205955355501225789297540534533381055520641530046246725988417740110311360866507912139095315171490887403565618416231535476211802321095415634430830677745928994067049066576166612180048444018421950986932314338827549868750368737534455586398974441413620933693318890479297840632302237801934885608545816226624868115422590458446466594150167002350757316518026620219514914720277685468391321275064210626114524228218319910806721327100372946434852686489632712303652945957752963589987269277977547284977391957099133656680548279404309681611625868326856816090805842405304406939899624739949668826245298090254446572149214491393624064584409242939767230426206937422778127917792400589295231319747681172340328962825519573111692590687204798130089645019052457477256480585976635760858432705992628460878764121998181912022523543010221352805143252002059998177937885158410525215328551816054127085578960820554617957434365553763174518656880223979301673782836427580634771675484728642385717083818485104262039110796875925458064467758399533358357783735719668257912057507067550948483603819447675790550921435140291451980645997719378793314464664129282813638714559163449079772440568013322635196051554234315032816972466457924269807148237700742751626118830431256238480613415462350653708964460227217891729052295333324185302976483314450419147716572765729143337224118967113307332045627326421720331955943905220205991727440541189106561841605516906416289864200325150811435295791070762803261512047393024194147722026116209335601468486227309771974495945751879168256176399592655239678647904252576547659298414906571242412032087029470748923547450017413358236094560572720007330967442854683911058567417136092240157442654621098596158793569418682604098770087093652018798061288081480239440550871510812448685884810200987907061517619060735671897145393697513858914363336306528297093088581478973419705650835319499982150880635425059281606051285229309534055426526583064987970340733907985811997486096124930601839477653745051413453157245566498238818048491726529707580183797791023361470440216544972593780723548500468024981282590473936264151981760236898295125965424143360637614600962121667076465893774339560538270750741022437508808796673541729717227216124112350279257873209488313519099940892085993808944622558372311598755627954409456701992612840229639046345049034579536519821570963109483337172799998145950086979162281917011413126918120308821468745745606052210060230076525831212619800082943554394256529189195946338108399977895860744469888731122392657324961253860892523012122359659787227839480017485819119829580540729620432901705703272385684095611612429050285184560755349309362405806789709630331564307813745659914731109655070051265751923514311596580122621702386334000230662387420073744904813887036157773710707556196426496045670931058860707221410360310209334859774737324682942849735043840061544695314126122810649137950073120163595778252105032946146838069915745149894686309410681285413174275546639690330993341678474965108327051027362380874565830779052268653188048213132731061489895747680963846662213188137346583429529386465964973620527511194252762810752219459562441427359901491354479870026018522772573386917525025195431374622749985541722990961870566343294098354204394680078403487344897068166970170175900354478235210322732108338237166523292736948018277015349895104360122452138525314553518373168524030183691786253388373746213904026694056567543901157258395248590001486814283999292634082222125559170657350193639574906415091935021782095908487809274611954084541780615452690309101502242702704717804734480539104440183910624665179101853884165654987806339079918485336684153083429734287930197324065105045277002072085233316145988721794837785050567141878755350497001309737385440424055784827095309775237048165410672824150648809929421653505674441147091543593520284123455179989221900648491766603483013116669651469680428737707459832932868176883755115439376144968761772482564180772335823967147262644944244098821091585722477225063253604834892818924527868926570375395761936851976803397083942105265846109466017611970914898946333167185158114089610230072561455334950697389242890983890508583062531527862905135466874957165629266162890215907309116766512736087669052985538835532399777578687013864213696295222935799334032044908619505559195711832227852350090979185716992201988796116379236779131142293697999880135664909619465475625858281789286120343516916333872568428519845379840423071553098011408626534189336274248058444288911094060750195999180523618712266477998766367617790455618539810620132181240466139170091070271428718073417900998765750797068607735964798637785565583173563326385080813774512091718340339903129663239746015554484357685107673157917049993031193L,
67491765811170033853977220600970634044805066819790869688776685436705006371520902312899031650600934368179694935324693854086164371105140185915137130704031309245023929304280404602311044970540597935967854516018773964363150770374737786528530790857910443465533548430750533147809669864648426754554285901907771601155879382206617297150397191164243669968486793604139402668894335623857997507908707978478755656751520599236440510789093527485175693780109335078307281995624254990913709856860892090737720551670719442938591313582926170645612111000617478941828209600339804320934242969024249292939184893116598265419294068272278941878680621792757759357796705465890871978719412465995736966931037869814201281084430863094858742379425506622757527281812335468762403557956818907776071573748073333200303189732610336440397196294372150970312493800613286491179687673037208631745083736983559633705490534585267317206668167104952555156212860865899933224627751242172461592301632771517094246125096014685338709178625516936942967262119259676756227110239745783150485412275254457871405471783737139710599524215084185889434447832301978403183345754471359866486104206610070677142008179221820377429602821527055405756929876785769703319855987511114645661876891984247927279901146038454425377369463567667394717340329902894201599389218784349570352005921771055439942269335578894732829980258636800101962909580278641494977696006441826419649315542748585668269540867150444456167996282415579262130970335337869331090522639209577593371939384618317182685690821162400395591501017681620397801574633862084573595353946427319965510069037785264134987966353477778653742188676849762936503628510256287329988531585029015389144321787308849154934558457605573405619668946645650031725178028662627709910789144792385315355530063761675486590355067494034136449162226791316717384298275562607180611302106995730493248208943872284114474931019591037900943045945056295215355878534225122082472531281240126806836626065783807910010558993977933067565414717667086388247784260672538648590730962724892997357959479765967809598484342985123735023139948463506185556297535990807381151190344680709893087115985149839158214150784839126868212362481213262061443373732708631210872273134716369663399502554136095259979085956238650025678875169371039281803440297770444259639252605021148515051637172129957651418983257510972679437586625746196063455099643058124450238254874139017324991086376834150576078634323851461174199837100872617452732510528912998698362738523348865839941820550973581959917387703169482091968602830281659041579640364364667903171371700504388071788048909829695138544103255872260902611765510162278081613268156223944829220856804301352311908474382791324168254599491463215867979944596616457559066198107843110443806271710804224183395189320454402280366760919295783402785128684090632984748000522666613234006364725383605693200524165954557278557309145445667534067094408177048966696592022680145528079345919041565187999553103251488249794231827024539242347372311036228980959626703337865238211091841498690049343646322340246413962504030532179694553280550655183542604699984205464066585360449431922299909606462002950519698553083810545759258616351113035241964698630302534580517334597276385351773800378983242752532693707090713796147619692347623523143826169089319830703946770149373314805057268356973565532757577607950377448323194525854921567863215473095180533668192334442684464328271789747394418315168255690999053082843916397828012389332780663026391833349691117180540351920435594042814915566376105384934859661335060552009397419124483374975012201998855299380818439713333173721310245369399200416017941195535325183125162005092366290727190676824587725085263724824897063084543888675618308292047131282385397851829096447132662959631764279610179072347832770717907695604175908051026920816716420353586236144250385295983319126122800803618572292289225972651651562663826891676434450866314192026911502156355870808615671698951206066190329889563106841139981934265301098533654323210117568400362046560128543200916868554346930865223507080911837986858084957989827365466153131693732028150401805667765259065858611001457631400047144498869485115476996249174881192565693342745783324811608426957550576034916310019457527740073117989013234479089641257125787363591417695212738975691749377142967512374268487473390350319249692382975287595383410612652543024728912662604433212395638089097830328201445883414109735847684239101608528218947298213972020930262325622370737010381706772392301500535244989261752243965947439882073055757674083157728313505709590017799041507066644597490815249507490671363461830435196057143528423143195496803956060306587391788243817908439502033197239309515228069663998863683684680365472474782519910830907624324847975898511651737141445979028086197156052628989025022996575650676850080448027113692777418300903726693125065033557582090427159097402808100470613526300878753520886656439389240317264577793134689596500245503992329367136144585797828389570117607131772942573354855934927861347748507932890535946622739678653319123350425074613872677675525093408011453004626795273688307744835834816929262938250094283779014299443937567194949582311935584685476902193419727309717200772913998795249685578235016415114476944354930436541540285887188341400324423956775004880842413290326438932588391447276127171528887993492638609458032174094704265395617434662230660311151920990120698552025291176198923030987526145465364590610428825969504527967607193123001204119045970180955703094896589842627355325154230260812218416737275016528514356139309138006528532743648308834628885241648697164726776886721105414250571039551680250072411192919995550532358803892185446276635696845225617533505850974398155238074932683238517195895971183748058548978478240781991020107834847940328756091943039808699908353413392787345494928307858263065958392182550223570688936503629020389834954453714581445128607374844097022023812797135790870615807890573342692032399070722752168048687912815351691943481907156285341450699266453950402843388389627055083140986454039888466806903182919147962922570376524619118123417512523577170136887772745109108205188414888435189892033538861402504569741874773458855425190405512894583354338066739803197545698506016363496021414876657284639856807258232517322609629166637527630666221904483358924444224826869526343714157218278294691102880101220547694707231999991769470839018173441246738893675813259721408709868518022647456622184115981975902220686246272325117652041789192183913864577945333771647032987781712984124149828591443755976378L,
104606047431914349824863345776977652444941181886310936330767866789195547650014959443953187025663826556639960844238304511386184996101210628545908503019980570429196737503739425205473605187214695124651055680069404239715814912640722474356214073126852299354959863378078877969580203799167151508098380920843442081688865715889282406167572488683658895315091247967997760526783275320062362172143304683540182254203334810254048741616699738343079681543553189809281711669345570159085618621837172780186680614143678876990614029235207394649007917245971298667333131738658017328922272426232783214050218859708111670474292563086862173714189332914619644274616005622697821017808467847580675499347154695669865453918483800869453419488322212170914815766007964569045721159749703343799103863214018728542922772009383517358625547295802876106098754031303786225324638913145621188427348275657894118303967859246016112869728365458921157398357782413640569048429102670411003968567390474077052536164677876291925134845835869846551841591342389898722467071569918772387987912282497009208259330717930721001974733223520406174258163084719711440531237382965572859354987873321514957180282519843718839892285828751493113837158669186690664782339500880825798088986287718680045099218232181740035401397713075572451880448819454010671705787312155229799248695964532516512041668732561944936077473875160181755473436570209606817346747264603510383457552983645103544574860002870583528976679570698547900465342552211717799871093671876974623326730972833033737333456089102931722539354582578391692047486463609262310057298057792426982482368470703952808227756724991433494438945626432689945140512044514696147585424939820240683821687461690468636492406832810799219749823904935690905642790183487483815062814365631586001202177132881131874057312367016491571146599157115033017111291775259817058231515386379228721917577650050394099388590306632161043570150165762841847043120494388018924490232370830890569711683713843722458254126230588755282216256346929590914040048290289357446046363026557091883843955866029859716933620604632511889742538309250952732341497597274777235742081802268567743135555573811591517597322631751640772432527156846872354295236534985065998508835622523927942645184664742550662076282358482462622941824087310928122460558501587993344091259822398431914644843885600409198751362695063175831149347671861153624886079933219582696286654909528924500755031020298125031578722712318477302644282275526477317554730740840553599993600284213222148924758162317299898152155258120674874403652688729537326790375532027041182011301108689777582980708317639987692113395765030290506886828125016622288466009525142588738058780077384645110508063897381787060340132131086391917586081324271021213071075214996576047031488070492512274606352037903753499530269896749884404754356715884532327617364299372061687244084795778381130824372818132224013899638307273205239360668537902769493927333392215059889277952234060902825282225448326083352892675574585710154198901064376528733717629681069892335136296597974831527653636117376726237830883752276864252740036584129081800480042810931756787344843908249459474566936544566334613655670222701127049897509917512599373182391175157519936667263822937529076494001543074630151242598777665066472480423844889298445964254135336881584611408244349879790590861028094955767022104977808556702697975891420876169264875351539774875568563846833388880236472431697638300842300974014164433643368914085562294375838016920151273624923919514870116965019710248514420126330391724436936688742658432015043992664536696395834119338244877819510245574181084184597012305742681735548085922591135259141911606401083640417670688254705197177077004843824678427544656577012436532349812225273063558449434867424975457871444976787868174930191739146394888924546765269940072179313731039681390652743101703568497073110825941418049645694200975232199517053857721936049619567605433388848266066509981965059938557944118176618257220571935568654617311289492823249678067611559195763600095222039642188766636705296841276723151453186539319713922264654893130079147868555079505548360304354554252579974083139760839089945412833614733538480786902849085811131225494718514357406387783050903563336431797712555167506436827124871552512953608238456536870549970889956080892562563744681036822315343557591183555288396103868942498272725751225915975922786498912141031478186671522751991338260576540029753202373604638595267581365941182312471686480080938205937000072808589663936399324218912692770031301164587062963597706857931996804358601681952403712627745616684669929787723259170746262001708462067983779222884701736286122127529728278660597907511383579065644165588483573359463865429335322543644043161768746570116161375169649290926279582533478857563190053146090458513065056918877075856888444266954193596363367035649510119875082052990147353020759601350961274760434233642552639853236911310689960915125171379763672461519014125807409303183159716414847074374567946982509371705565378261290972572466648653094332547807675886578294538584340799564421715518234477323843965441949566436226315172319310972426031022845124417525813660404840176701805031727858087098021035844046351166208672693891687275266596355589637718848538642709078943422648853058828187418611467044010295014152397241962936932148772243467312097184420658315634210964123491809449846069519673872391765549623482502989443784934479990708068650608063370459364717218603608839655065661631946390115786302540482075440522670917127626265452148245644308021049703250602859248385325382707139551373536214461905387696942880044197300924404656547848266925550617773038117034987654400433008693284675553672929730650793088382331895706389318232020284070386450898609747158531161233014214670548517120430814007929555085332070348741290461509432811147084180624575090788653958146737076343814350564317720723194511426566764758059331630759629432194649263687193012295002179944242594980783658401779908187818261140255842202097701713641695801481796308612766925185865362163847118990968465886866955317735227825413039780875207752405884013242439909330827516231270199695595934936544550656275819113257024159681203570976288468430231917552001149350228156843782469098680865446311652443617634296693007510628471866613440236299863474798074873091760866098254615729040885178961309706065388159392011211926429059581527792710258988898959094938795650690048533506419847491592196503412950433624895540840356837064265696823319412078994050399263643427792784458758987071311578484248111513419603422888141195717222020414621159829467L,
162113197527897304174365843137750773917443315161575289869833637573740119135757908732329743631998311325004933601523168575594491323307698027651591062345710639480398029151350056020738618902189850401049957155088442036920581355544194952555097067694023235126782518539016867813526600991856631628348919698915924118679387388665848849172504758472536469968988451048214395894273014721293117262094666757668117967098266498810349591079030168523182737764525880347085893378578824497388140200516908619036259033300359625760892176738433486933928440044950236538569098124286361885192781629328668526414107271898195154742886131855737809469123594070230069000926456494221042813036059239816850459390687088462153582009727338594670133511136474090584385679659313007656835784162347274683458696142444348338947168653082786234065553587970166011207749087459285857476709095334984096201525838565549644446599562287492348580902406216706429655497782786019969254799228502660522191838539331370263279305445131369694565282981754019197081369910766493750936597721594110619986212094415935662564537082715272599902422070366042145336449279320707133227705056512777311894918445872955778939230174749431255769889196447116989865483697264503245987655755695204855002465172285248039146230525555973162485619400130520946407455178713140830685250393541355678768187874882327093530842912352938455815297983949067453826942797196074125738453834113386133394483362095211132311467805366976963806465239349663639604258859781300399047189317208005127312701911966523399564125026337125835768245022082262001302232498543349974226596778076184574203176968943644179092798801559239920889429469733717992061193717649352199136314912846670273128548667462055821566004128458780767479963460782101777056396254454685047655919939564175370132112313293453669617505395889334120142991490704630635854445897527578473030901707369174860153586733114709163631507566108844358304300916808447188188694237762398047831249436400152424815191956249411533676572932153162290811414673938339388782267907654443984204154588231283684647794698921631259814559677957912734473426811878942259026196778043917925013466371028746109757715209835378249552321607438805721345136037387147904260362122526481291543167768490744647402194195459701408427370513108644604682258392973244818616694366100577998666140364181323085289538327210088209842044806285544442391172551596153530792742692484735370924551873695026662504241480911221010382573469821911391157778560847468788787661701616418846865842043936127457863441482000179554667380681842015492121967171146752124851905028305902282926839371419931608311291127603616119515591842950557268970160084312175301080213104337886452117871245186570274577438048354630035779218184779857144001949745697137928577974714393457368901887398232157996598850114803662332523711410383192405897303531898965746535591729060819913806351424775886134590789307589510163564758811538803168717002366557150815638264997444048567366375393162938296551031373339024140897908333940649186717951807842630470973901447511078953809995700036829942209856405476420471257513910376441010891616390699190628940644482574212721236496442823634795295159242849710213698106297684604440108752474043176044516961628561302365829614685768152749401944496500161638029127991798591954133728542041918921832496655037555379949909844124855125463262832892367251284922051195272656625476291603313213793065272076865573310441708274380331144856141339415885921756948441189253765615525665670975094676663293437874342332244004060143159039104029187036366163722044327300363373683923010711611690665776951881467097647416569656450004814297719296770791639357191016272926291992809996094552190960466591937702452356423141293956532919969535905423302856569233191289148196706603160594936545647101377981972399060457386833332439627362104615679701895784239383889654579283156419830423538501507612559979064858322011523191009629686529974004726899911404598407147785330350871940247554898360538575327071112450054607145572537705936346164913653902598520763888497493225239970914728931869889396648350597951952445239086384771775807604898236275683134931213437404884553250687457802200791884957591568033725157746179015865203068004982107722822476445345772082740452423541356048316939314362627914708995547325409468522802604322089454776360607308097143454172833791584513592081529624252185195362545733536453823417929488169728166241994585901760461569199719004453258272980111746782953035120440802229470221332315104681342319099100825247159326046709859017572931455167208659282178168766757928116408041851030109030232635572762203791184530917821718962911345104036094803539255539848935945348191767087199623305023347127665268050186073990695200978863814113902950024440987754692482749013181056187003112834411181576024656888340220864796758068418807737206339934141608710674817873011634997858121795780286046951304735059392193348807491195116725692709763436908058474910966018364843808418067014341016275797999371360399671952019415312889723311385504729903133321741966505532234887266729745963232424470840718475766133560001792698460970219261822492472757792003967555407749608271665616937703158899836365717307246411821666647280473411811568620469313725943916314983370497176857463489757044587132539121599844608475440167883082119792443410380351809486174176434172534967583182802309304333934571830557085271072414330529867472584678587006650769822731163257190707021272333894406384446444869374229780973474180623589641405433301324841781831539289087296680213272685892537173415840080809228775156900145881174508479854553685510997412449031864335261248011422144120696325082383770850387205055703038689873658976262404887591202606341784624370218756550676431971943664118636542812709946591548334352553041955089757112609306276630533835856737336384734693620944886070298780039358089578234315447739485538500925886157833691408416323306910207414173523291460527586416134793621608533517942208138212279408417027404859724383277310299184218980726305978544084529454834916960136180713078728127883586816103347265291736437924242198186989656843801795991626399089482317942553877396596383290926176994893158472310900769574408266800756615604556172033031390588673624258308944851463898081937055993298077578456314056858680931679380736935619861128352566940904972240828431372142182238561644586076748949464628009993389492210093612909960957467988323490510556303833592161387402314585954368557341454953086406867555427514317250403285902643139887116045668487164572370023981669335797971300505948166801895397645701875962667636907577161412146019011187869853479L,
251209206080195141271636050629780688224336536221416441185694537874743693249598743703838978006447098037503482703397429249956655671935359757854560079739590479164473223503094238729444798552288919260954572265545153511431212190616915041145511711915506443747414518159832518472912581241860857744311174676129578015159832690153488714484761051351823713546880025218371488411779792850457619344259771963753188626290814206335585467056969881748185946312894233967926012349241354801956223354796670044250098680873803706977077279175586885892559301267270852488974148961005109496789782190892379213702172823134506909687349804048385879883447116292306689247517836574227887385143103325665380278457559090343821323118894735688652678546368632757768045110302397596057682598695823057570474405703366717292730006111324666816005989609713871314191128398866057180820531318508106399200114038754934778225394713809412661885415282517491711142594320580393580787437242839708680044227821010182334490252373979494088609457762808048483802523060243935407992667755334225369535850455850079973744634536865036760236549763946527759002645015045865880072506582644898558288169310052377755425827830417871859435084821660397592849501404551650861185526433179502065439527029131594040542742996017851996745409279247534108129149825414421335749877379398080098530757213124117206878794169075682910818016580767491327550097134597559111907943675551574998638136130204954986957496905756176190798042915005260823154468628601751634833476240824080258435000347353917432607505907979046749980919363733973814431434198823210575432290611509782604327917730412679657948702452237974162436239093718622114577055481977388747692921790376924659432619940482257349076524940245899682612018884148375735304551838151423409350489718876284377931417921187364116308945492245581018615584523898218878158149652128497961456215958070074679399122531438261668331036252031942469554964943521031191396173382790752649714035540276453193458125672405430893633967610057539834301678873644209302472169180460393308969031963040835699651980481736624694960197960429959764177983168020211520180712186183320189869236072876718174910454958314698811408165862065673077406416853307582916966840757732351544852215773703942139089735794689305582364052634852027343652885890908624373874925257644995425308974858898743637051049248936091450227310865972356202928212689672730853730870712251895334499881676014478310400242918356901521733844393624423975805990304547183774166175635072920019978010169161059128358713894150722091438497883940218799235110366744975711189752379863771948646892000829467833975561816619952303674667071090387163397136064288536551749947516758188001057450732023887195214609777602725190135789053645739157795333033285294800430262788668362277110288124445524129782741475310186861319671966182754674103757782533179092299620888818120625162160408618933726993261106650611837781884593826261707522843026740547158950752756478922124557382084368557290471896443919424531422653892423887324806625666112621769063029723820210630147572419547938737207791051773977886661370636121389170980249122169138299112637710646225084155568136387480527437579069305784843614295600562416140696427822806999678506377294035983190731004307338470338131398518440886253869483392457338315933064194445156076146385199521521998274273741901910667739694639273111740555108973268431321989940754112622526987101986995850128698188652199098106825704076420351533780598121829838012729040198152825269153282327002192892615559239241261296721082378673932587850000657981066963444577022396764210718223327648402582361872268137518721746768233947243728314683659813448695557096836346846774215759960442909359299817686797062303896636124477816757250238700414685275492129127438307562064565558551273519961518965137355211621703626686588655999597677742180063681534009109695528727109861929602005671419864726630101361248218065163475437938775284724555818814954102369116987142429197177653397923915044144909756297363660786907190299841212054541703195772818588336890545018840807724712438039894248220089990980220549596853266918398991660973480278022833778153237688220499317181184466126450831250237221988075433043692621534402162620592855668157350970256033387557059073981295166809071410830700452404081456372334482547092598584879905548664411802553656865734072283677803677398324358151841364518866716249830163332136964431282042137397083449094563661582737194025205901669653441158826069758209172448956304710409134254132839268724757638869224519233450154991040442024895927880616363429768207019947733448713217056394613760274246016476157996244480549846416803229041257184375070012219279289147247847344267219632257202308797153136873533067752936242346665177195923528197325276093033329812833961339007114788121019470388082614941802328842179575841766674097731439259750010573932482081746538263359105777930315700528251539298815566497082942600599137721936219375487648626498192180600747723655319500388141772055607983440624985611397599043089190068502896271570703713145045900335623685226644106907635334437806641510361347881401667767584101508983820589810171984152573080729482714249271686060633670989798279461002457105828349823451684330950787051192026006554852908720069343086073399647655152187123388669742592457084008305969910940754561299150988473165990648228151213478754830459499467515012313766703854157593648305622003397997203350255401566563146629793677129136461789666351664616573593949743976419393249224663457905259632320499131523989763971963156310578728336877934908451016629320984692671596832253788702967441013183321595141701840582879486201246894278113355771371434783296881182446822580703287354976509610219436659625049006905504318253267231063342021665422881203110310098882851826205414481862543434600324237698615730497983468147369860783284306776103043967589030226552931459545627274707158383669364449545946075045904292771731024627152067207689916077875268363918015410934451347918487656354487708479701000440195084332828950292016924962612318756484229777338705184166028471467305818328377867781412730011339562514461477923624855375775358094748863089376624590411317704983046127206065942561649617258388155256536706874152190976386559616239745632014971995080240279727452403909948905892919173530014360299614534883938432624647623227950870979592856951527325672179892185679375512985784001569383688565785705386906611976453070818686269633112535438504862034390319755574068444992594184972772204320847077557627665783294057844160387610531860437901382554670252806223244409687869577513516412926060690400644324171419700193276L,
389231832938426979865222146690792404193433381759551751149601051981622310091437273130853855032952758026886409433567892168716716598600527709690190251473687705240080149642484700705284394587713208628590860864177559460631164044534448380876164915621523911966462991543696821192441370490502835813373101932785670069772745193515851428121970618501882187669671166090332974269260868228329544397670063247452711153451514314123609043143383706913070045508771391474960495200379427482185878904356032285131642189648841796546307272749151493955874429850909176884933960521675797587272748236355253729446208691801444212464704377100761558256989496349915326962367540546025412003012842329260159386831570135072094384001129940315795196689508395650463481322567963750626616793392546650813636310615543795711609211801215126234665197918708261597810810071700733119322457125270290313520373546254105583143742333875067538778721539847282334984023007696509609454293858373500801750574469463919750133992386690200229316161905208714787604709421308197055950281778027186364672694222778400684053164265779565668294636060548119834994434804404324356649934455045340819657721043336099412936327177223128562682993425954309202251708740955104352478786870361041732601177418595361309675508318770695732389535045126938767989058842919843378352675545157582313882075235475884779810088569251771690363945209074529156024443372013921713892288926678083576096594186655252088748137685903481876073510146361595274889916139300284827662465668777157822558812750667497280373522574299286568885274463469014893776282433835051281809389410544155942960046353856516661265605725329969272068478327153043074659269126289626978048855137829970149174965150438473228391246840128871643396655862794338560452661874509669433541410613462168222715522052155128965279305719283230853741451477317946859962439576771693580608454835164143690857249729189240049261453049660087145325265727836358688447434183268560664818913024405012255490755737410129676898494835378373607333520527294440788322588786474079453478361045677705579694298829325000511017373465483418995939062616159634870973731260026618314989311236300151961961212940463153001126820576146383689212807506654925198547661597842832328332566936196118445127342914151005831398808708549172673441729741268437485277823892831467574441158972301903054877312369773492955228513745512657031766911723429012114557413970464945692091324667710142140723874453489656673576356459798419363504890158545927623854351050901370582437840230907019797573487834330655284847608352439002373454675896476701417975788749937920933917317381205092027899778014517328952692744751565251691318896452451199846405547878924369740711130834826261970105898672782356635985617135561168500279048479468435202334620952397792951241753490983969384721904757423379223400729523841364152621317151080323014399358411159069646653886226441628593835862778658459932012169624374396332691325840114676486351698745127825859852531980125454492767010918079881942782485871350560713502387828494755940165541338529743921040910921478218619792382858718806993968969838909923706743375724686372645375120430749796747774932764892912375200455025004761590971080647736718620525409161420144174991974336574870917663501960979075066027550274379930663606556833179281861229049928145306671340334672554139945101598553681570364987292997908768614294092546107914564766110324870517775307204267589665352999107453423115662243837929948989710237088213784763277054646086774454130549607692669391015721349616134513821059848647531857718434805207282354337502454863743389422620322003372270312499717367612514180704704427782796484608168768707425133007570032278682267328526102054119859122175855511252408109996818177038539765122468352283114270082753566600181137301434388814952073106428022302921753662074306612076411177126733937888943026100119304334395478305930230492794931471952851133374035820087093522082946641576901251094010160578332702783807617961039701791899241519132216299596364690028204748574642323211932561589557109888062506341182571605663186707411841098388591413171980730340659974739900992873639568609271568628623822464874107032290095395855922836719127533081145712877165973838043919962499193907166652184573967910293291293074613477603360938593854865109807893369594544918967951702681471423199534512397705052364491606361943664304869570895042912609035025298497968815687027023322299813860465797255376402417169116098241079716487883532026910515205918347934615023134443366908740837928304134428366975294898400187210710736954937329425771686164052653721439291370940698502360348223886433764102185086460761792172661292373713352426082183164945776257455102721388331698005907112119154131797451048076121519043341775771264171402582488423978762637555736738835905252849517821578754715009837484567938245102508516087566490173587974576697497258947114486401108240003915048123636569175853496315797804074123202492958571152468858228348325056590479152656864713970948009251581874194818183082711450076228209946210279299786267460959495260410297668810300762706212500240443994878542402816872237098769822624206535352934903161080820274943272545836825478331965406177724841462354541332241091961091520726494789132211932181123593827353228212764161480631855981996856330254228716650981883472637167029405798478122806841371312508398286335090989954175669016671775575947890363279301015823498403014703449547207636994997242427684991405956491768496751842050292143881724143980983983941843300518929375820394889809261906375064009970819788767036429191892150055550680966270955248645763181514716228108766138518124611124161201134093788069245197908073903531156697124388432074726114532927207304669348593363583023609732922163198736663344400847422399149222110818635702630323610272814671877224269554356916760445954810195063220040168249477243591517443556639190762500327457019325945291033407213296788021291784034608144576453826491409127903077827113006002450568544709693891545078069582937164752344754763389177707460208443341296587253348339462195857732470288553526210645547573234813879830694135128353117592923851698469889903515301773222752146257566750047654856123214115755602320142878809915619401542624440670788409008270485095509809598457002240268522281409483802848113680079615266031464412252223762726936401608137236551023927980852183283528232820513922841450684376209764006362907632673134467281829875825842920929732552984840865305484336421277005156808840329713234924699775229929675991706424064607638494142951371207337375832106605824393793567768428935276412172915866232403435947702460756677729844003L,
603027051591046519559788796016433387643870270058149169474034050490367762685624025636071804397402025738188064038461268277984957339115246019645012262800623300996334662919400991368267318473004199901771250419386498387390791253833655657213480654130576767860991710379188455157780289924111012574511700177073020800241021656331088175625898202171566940483316673374069538731603268739578882883681712339233279945753438673371754238820127759741435920245850012139120195239022251328597368541477967153656538538172229402955126060350150245157859645917362021691800133552283926150219519002141527420081639800790058201155021467253681252857534246695359429120957241956764437716866731171142185918723286635414825628551167970916184053372399346826446946845949622485157543063663474696711900155810343691253039841172827190401703482662546574124870357257392593971485013257774450368096040543622981931177583512840101849672363626351086084696565196254469245463285521589814837594059529552472526143138214406684882126233334768258091348566120922425244558623222972715843779920648441329777264725889118462318135886881460060704768922178782537097930646144819748631022035151125014275130078485826163284714816087183133704298341528905658666207013404568700927726652098541964352342267905818675530692839088651410657180419717301216336207693460379038040263881577466249020897143819190301711742821937011847911208560992641275580413533703296024897106890456312758959912524478558922689748727484196328716909331383888719648458237905086169476624262850770950390087308159379723217565116034089391191291913415265110199109418660585298154012261280249615740349385514121945702715294549925747545454761977104280059130664796832413373661661579644098518771843512535263040603314919965243489689565209927229050880621342229422330396417259238931009684938481110164738212149080437019095961275097896678195226753418502616715968724403638542137734123368109688147868846011955124891729507629160228785513944845793783621494751118531112635873586717618746617314058226492769093177619291420995938929160444713876718349183604946963287161687591442366758415595098004518309859225960843908058688565224213486011082826622047797248292758765722873593259195988891706909012990463749497885539607927912822836767699593945923490864424977301415825892984501305063751066999228745154620976022787763466874731203763243640170177008384899961639138586176511714199327689743686333593650433497420499215878780153115654230495002892564474400032813503996050112816943403335517538287190347375295570740255853378784803531717072019534688095777791874123025646803388299315954759469502703202245776004365564303817116789886114632056144260750754689485161101036184253282233648784446797784242953938410779345405524699286891456974041508361325202024325636730108257454160007987792910279589611538279798068338553108220363482473003947682433300150963329961960819404908347933611924162478339336814575891327739163434318932040982817215104865414947524282794796046181165808028879662470542409621130896072063275184609437848265005422241883644488646548275345942820452459835293400185232479324816357367521526459202401688770640061391137925777357170023884048058454756347373774226281554260525193234996725287412583719830798341357620600525372024527238595716593897095044985964865846026026049690192238466822472365785848738010346093334304425288051949768559815294397269007254407341234193112919523254230452856403734636900947495341479175273005749444018162849661960052128577060469878396141310955098590211244099393520804144348936189495788603612631932243487764107226525255557245676169558332697935193384115554810537446950128330958521617812399664767957288275937372520762828993876741532316750078017648429702451460688275513360555801824535440932525268916124631892586933856293202791900197795384559859254991125775570417815235248079476195356758409993979666533200977076140061942550000143585191241260532713233366253023901598115220972555200509270286408471357562637366093122231841901667954690753117632556937481827297853759315459956759873731127763005155690160342063711839217592364991570288689384826739985411197437651615237894105470694094376766130086053015219894731019625367204260192010474777479045367837546399836121168759428081530787628474513966330130565957867170498381252882534519174407307309951898021092974200191975784665422375884054529918949238501929037418310788097497532739803962616664723123093727730175444259979699732292638567357354412059051893721137225105827122468041494268290150265997479985836138530136801319955327093032192684113665047476928153992431212112950973581068522774903839088522458093568703140335007818370065255047672735561294062642026942314022107304119064582263263489224314488227442264200818725262091209338178939081436031208931818907145387690573780401984734388088753333965884199318677309936460386230516448484538819231952180011228504710586333869088833589411580155999949594746084069463991156588017201527239458884999361638355179897709682536827041354465083317264326304919964283342653979758924186286064720000882798483757097639754593000948025185075766430625324993615222973125562185959278231663646186682044434404328741320567288098307169514025573391517512047533676019231452903434613601449658924473477960944947951283861764245872567533226015904394343438153170634770277329155014846537739692264747718289565465311148953024366345164273160172155166035151491288668669710540105164002431055277936373618697873294892927956504524371376745730257570043093290300707038966737359604540329276429111806901427136175444602693563165365936360372660732717314137218340295133160313834530339195605746010059513574889490092679211214598817341500959659521974962724216960173084557183390878070988629812157050280490691439470375164498332043207664216706318808708087289613918178971152937426748543489278511874294280137354082606407453090034936447350619999977884909024264097741697075789896844915411558645122285770236674033306176842861621173090385839505803581316897613217489939894756920007390506989204238337763689865585206447771901066277701069483280586590335750709643391498346517393390528331969694332346598487865370963161306686982980162065564080268683083833028886418813165395754522594695992578085431786397371847443834508726435531287783699626443188534144601585695871657988240274784701341492259618834644451597806513059045663748340776281949801629383432053469328505988223209469146621922131425897683954819468565150321838466117188711935305628327908971726827564045795639264788265166134637863450772326163039303106974719884770400656077980824216626533785289517524880826203398794621373460788906844845409565176L,
934159216935547940849117982795198012392277599324928513832469566380432087050280691150439370431907517559091137484861721840634858025945055858641530891360864717480398449598395746425345639927368871581174012501969800380119901186738916335740688554584532910954340755030314854916000138923832969358610787025986521965979019138732203024547497842182599854075006347371120322339165968612098164156661145051506600709246718054260818744400756740258385214549377903225927045698849320274923917330034329309831127306737221789998836527475432442109551628466614209909522696504807708845195037066041978331800076923655071259964880198410010792579689151061409166790204282343761995800306189545376929820982591461944751303518814406562930162876151497258593111500217761693695365363372798112187278421540507828898138238088837221624319299773834993849025737642803802183924433213773026454839737274709686599991541387179967154045122480626633371842549475797875089005638378856517148754333445188713215580782397241249866291071480436550796694421226538711745101916580957639734875726997758164252780833294560197270384670704261394214744293806128757350998629998997250705342232720800811913076128581588781855704056237805557347272390438749086459244510066955812780253760464136339824545864679746814612888220395079592859613519406427700408628054103588669485377680839729854069563018711825514417131376349629145824882521522314571351698389807097513559012667760617635723045057739081043496356384851255149274224344086434612201453615479267543024032932216833677147567040005794668253166325596479579326227008891351124972315125870976211855322827823106002532974274468396032758559159564770095344968872693068415720456282003838595079496705945724597266937887966513862295107205052910810438243882365997078872790551340757150344768119221428406073011794322733366650881648134241455282028146858721662794682809697205102364169963703163279738084199191953433844604769248832794838112260894269633571202336650086088304018211963257583436144590125337166371579698080273357553114037450078519253951338943217700179883119457737417736464988782600939356991940703925685358181873153523872451662136234923532210385232437801609200438300084248679281363055402285662129976431699370162276224999141078036961101799507794567901004443397065279702844389992656522603111053158755388635519124352321298683736593095326613326214121298086170300159055572250594661468416232229705364870844640022414712670158137342012005074125494497539170310509034839689261186895121512059981890240182396289844151484374571660415835137488445312210444260076733446458317056168666590561816818146484614775440842036941673188434989778680479867384057088701774960405324139202116846454845085889476321016527224383916528304180181316022328981262907217589357691484844498831387540048964247765061360585655170090602708646296332094536084473555797724947433943778334041875574511350051282768674711693422155751003071837093776466244653133897388565459151774169055405560525914617289284149437912191491491232858573594172821085191836561242762985355656058802904914348516735822009636029170615318340025414766729028466355028024182279833690703208096613821686839420179058524909031746559993912568349319236669216809891418656963541349411522010499307436920621377581859265804125616982386449734659146157403507056193863386363765281968147662424726667879472134475505961202123741453662577830337527936925524439215421304228058664612130782559441142007587628862852927661663867582244018188444620788960170625639781099046552249901248938553813679649687893265064012835999217920862315003821316267394501757485164055018767816245001704966567304186425883555983862897476348359017433342562949681934125024544926924065052839382523147790329807479922056486654231311292648809522071079452185737232749429170806131132815598244230132357770535673759232190109005240068937044900487269539865768669745271921546918672511283138802591034216640771094271251044981493634370706713923292750714073477316166083754583508869897890260706700561111310372094727876674885558518721976442299356038596245741313630222351371985075057329018384565470023177388211543481807117429971821094509802055686343298867190840927679515300185723530072654360212451884168628831740248032658959589712863497083535916912106748169556904685933076352832460025219680631050155216204770949630529525812650480978021111530309166192082486306246124439849524339347973786173108848811147420659340833638219796159125869997660273560017148341827853124041003714169165858923986093286616166579041106094621261765707809420626674211501551179820832251600528519758329642777115793970518498650650803464597958054027358940351320927297269704291910747886033833585406084231157947298121474956490920097340500031503924897135794417596734431638615300361491689266912675244595269535781414810552531691931451102698798243312778363130199878881071588544974572753489813791568485122848848951895464351182656406073650804433333599431511676068251158293482699474921378450340568445935513420738854196464572161827762640125678029982790755371255336875282706136200288147159775727222354293187134514736599807460696947143314726029540868162838426785770748890852769942635025902317935061124546383669154758801361352197588541787712652720051482412871417021135604724869526229603214734520126063090929519810567797840518260041528925845031514922517913898113078876671477377742646225824978669244528789778719285757724992573657293900335381433779342137444900725730250221969290176379393116467970843904283260534853409378876903641827034725249794982178818446322617547629626641271095220295365923175618296481928372896761437290788782215995847143077199965257934452377003896817768408654457784863898690314165411645748954501652833867701164116016120953777024560592241705090206515573445268108000572550051171073808445281230726555401900738297351804163197286240084903062737763853867754786523039332738115189821563067765384557240916762269042969876409952246568432009704197827913971946822911260947883849563714506824373278038026682561564605143536815224561944427480788551824148761568945606631046711652658843932959773939898397282620238190662968307737026417527097655945563707767318449824782660201045517461920646582032092454295631522048961188489617070700586196827894328549179080812947616470244786525572027717009266681570455111176709018315150781328121395354503505473302298403074838615850466818625944116136022328314367120865589576989674136417250583694157148867166562713842934137632810381990603450315783916293674336917914425634777183728171671262224861352125841151009620056471724270908009346976801629543064278054604670009134710130225313815576L,
1446973901144525434117346101545607403761741654168774043420233252379021416851179484804513533851896975400430087105053223291003236266241598164886788641507861671462636638425944510395761695873184223354178622729269653672009018843070435608763417306103566839145277193139948063847022822792227603763812720180702301860732262525057378951152289628617337951086139395254027308158891090645067430574985573278746225859555451314938846255875373876486009474784036798875862532325620769634717558072366361255851247495510205554341040607671660378342936762946720538975077694032594197296955163474964797231314689849071040888962996069813633339050553666881270752932114995827223690688278749183463630178281829873488492181538933074337622338956005552526645432007148321675290290691750581867148749563226194083102941533044340293262995511412256274180232845652504215627412738736353247041492227999591371452169395866965110529778485173274279467880995054148217285026927212112355364453449997530022260104155239856099450483953574295077887808571736299415336877818456913170691961836077550535433700434484587009817428935129697530725881651006404953929595161982961497712900701190512371292319885609282173538624890941434972506279898287154389452163103081469103482000011987715646874120560110380193241016568028989435943468156222241944391750705613042438158157580751102767030817474527265141039298910040271249280443277651398193825281533679527974836803980163687451117790570527308501102560548270968201897352926269872163336773724141427893141517376724262965082180008414819013475466550932534698762705027805529779523450039571217215500203751409721501146741013156210086707057425423569206109089229108614959018505922278818821034670947651951814373393338418921880571908904871196120655806072489280889044580682445468886953067597940264487600546444166214356473486219501939771761122539377688398485767679677160591155468943418426292015294487371104140008387425382687782311203998492556727809465960492597194760327457476462264067178477698688497435953253263582393914195052654798847464675136862583155974055908240694279051551514151757138249650265866619329089224964198006985837571154874203425131818572175656326611499442673650044314817341180537200823409353941299336258490907646057548976554294495564977021520829267691059986115742287080008567237944685609663370577641907078502663178395812485419336995113312104639552985303318094648316951344570287334356417687975828942948754020775033241007717389999550169652151493195346615330609698233953131561712686131936306056835331572190068709319346016267144644540263385976308422656616306029242575051981738288254247189762407803293701874114423866243715335141314864326876419091247171522509006556466745994253734056014389622586801445695963056328162424926934260731751900009056092508007978163225698544703290778349141075761596123974192997482752858500338144092984366995601718193355983474235885470504648166641424051700081123035555617999164014103719965622174758147545873859299846467872344299546239676321560073803839293863881695535950863931900060692158227514212362477404067521410335571593776686618762318833550101026952079216758889078701199892194136028004067524370733590549373292585870695855268830685034498994917292030998349438318476431228884357573960409586259786725854383884758998963589292468831476949143973415623372515231168137966911749553962626247573427570382253658103240154757142090584991450737770337587230792459139342232848372335449061098790587495838041608140710000137945365747745928984589730077237602190612329579673798359752790626759293864835330951010933195673340957340484662199048558560604449616170279831177075640738722677211424785279689267312983184219482568182453720192884103926926106166066940734407143959883843934668195838205927004886117685191412239469572962814546830622905398324674624680134518430728326849378814487839617760582902461828280844289825904450923958120201453447065765648221387907052292072657638396793654833985326469672726826728683945902420754560938653029420751487983381169183200380447012428317480404602181229807511590466995459264549628906060592931522821583108278458517449032052641576078618124880918540744577320481518001719166082427376909922173446110227223796784569800707753040961834209878804104991026961033791856119407133056302457688719825941025086365522816090774836293647883811819294243997927741747643998614764734477001689958091450796825523807370836216344185632574994578638400852307576542377827677351140621619295717190251907174823829559933874730386739423717589147380225069628249832048153187448856802545592793361299863962273758626296621061709057770524426598226471360782154300485767795159682131511300666660361071027067220416920935621060298977171529102544176216978516185700160248826929192474535398318425392050591282847482824764278151967717357852593155357447151592647713443686898305016644073987895019837477423676555246800518990986146956422287430841134542678737680022790963659718347242512418898804261097482822783441698031342507434080692158007017490982012419224651847759129260596739685799498871510682386995042581319069211156701842189494096753098673987456492932974648311430504838641128447359635537392069262563110603097309253175696507568692047585143972123397646617733356380809884552006553198986304836211771909683316003015843032249726643414213564299644528221235817355907482856077265037926949668321521924362497388936786907160089129611578614735350145550812887375880039357607434525111699391482321217503033968341194028720977580765230130275294184945999918935407967691154517764832418695525257353297645467916335760493847463875573210761188496740455798867971679835623254429896197356475019923762690280020718624236458528062568673499457183915365644864597181831501627084310675337386950978417020609727792075249186352720521171368684242488064524416411289180349791499993163941450444342713708378248030206173470908382093086704731117119375002971518344269015690515996386760723484159892348061420169997453006382418277263103864451799824979670901976925984141820641223644620024056815999473216161065346323253271184129641921888746609636085579851509923183541448045514462177089427779247007004289027624457631962915057711226675397125819500480310471403674535226960207392351580427019956081395619409346566192194613436508288059223672203677863676408562546610875393574456963344017217266374811698189391279642735668903266038251530301119246648239462989508759437921664875407967906551486437458063705762038151129828538290297730446386816046186801934135512363937300318920536424867989196973287706444402611942593117969408575215353375931506598205442913254903356054586196220236073027L,
2241074018724876153244350002155455403086405743589485007463851781857399274110621430700755197731867625680584130732967156257326903796818169415898555897015102155261760221208751440496476969922214662122649210019360246847818782582901342215778338636531155996523839349362712592246322252797729116332762208903862443897731743889388925043886496698060997154311214029740908552554334749318520851138785549183414059655802656461023381466110296596322612411285522891738436107800452523077388089814797278071667465295600173198470600081049608971942938754525821073101755512171994805009798908036445168246660067698012086130000788786777250939129873289128233322563909855793474291107627892528731001623006288385923037059524958350237912960190582727799479602128576467066504717701468303710376926252321033527288426782709164990225019094206907897082890581972419511367169741120481728788420157167521650017098663606322071395024086950049365266696894563371992544591327990119896835605421037466894837812288348677958050025505488830615545976699909250042329021321549834081171971109393667785915313946763767368858645432339121537366688488349334882283562197204344541964841716444301788556579617815350412618459461194590625603984108251093511964269157764583542529210993557790017508201967627532508200264295341507099190602094077719506668130699156900067652073633405185551119477773344463333208105684158188020462693454458297259717460691801130484224306111525268907217751614738890583462383520635422218350168537778019307261429785123430650761260916422142721146045523568777483623328482622896241003244498451811377574357879840639913588760870370829574066275680294921249144449150456904576489277433267049457270364207747062590452816953552634340768701853532514230674833847205224022636695218630936118675197570196708996458501720930965227601007504492301824593238690991261478379066430307191863552772164398365261667226674577092673041103332260169025129518603051705277140566756921232938897103878982794250794815852350292420403013574536410282344155201456333573482789113295744461440330542132915999512062647144736131396355905598507774463510594749267783727253478757614410924684076263412571924167587091477434901175897864238072963235637729988182773848847172808938433176443606605521124008079777523626737021973818205491232063458611190347645623469607703661151422039746373761893666045740964404131167445613933786305522555546588367639675741966703954870861208020910705329574587058198463559622351646608392868034758954562854042331488958349646797173095420125261968750544539097706103311570815448639592848642008873811756257680949948809164474933542431905592404867823754366503998652138011628157038876309889164797418369962869128267325014502561822100408180106661888024384426113761164757057321266543590535516147143062044768914776026665208104511676147963585755674637640981479666796306889382194279717583091857060067931404233422942052874803303892233959486110852283999188443091717609437210471398696803618066887151420385417682147249674224607750951523454877851695150802770916835840958797416136768186007270830074673288704325227287065834210015754625914137625259894834839379595080038396847548566590089131960134993395080437027991364476159670947976218093367656418893093328538464277494413388748454027382039037888144772145674559748582075521786044405979091555663896742965059693279931329225138590624066456397925619582924809263156805463241273359871201594157717560684896755658406710765323722041809150707463041909001849204598873035740456540336100655116050647872366364006467326946248164752751265092372114678064787464173074983992244343450421522766361053313422572533177833202740577265423725459899394279484755932138907551541692303774410861628975510286977309572114932576456124697527291033425296672447144934320615219743575078889958232693809232801677897249993782413972311493856667631368272365034125657794644758166983110649018803182793081677828882098387961498243235616397624770515937653599587636937954080098510904473136119894102912047520023412779338088766285824386348037772210449789962096094603478904715847217912228557242257383507095905315029871438243904477852334056074850841028463378011786221862051189940508674517768182554527273412592491526619096432119097404950473464906511908222627979332589178446418661465102790723285190747298848294759829338603661615071602810046499152004630066302464264175833555144737701797065487053331570983609840046905638037559137263022493098876221817228325018624291217598004341147349479329647313943048467869290948910288461982615638951936677783127742878762760909605707194173916703260403651587315736367136810112459717811647767516739852497544752408410199571276212395850532776179676861313156730866326732488565183060969488776175764637003986263386217156274188609297806928575534596584975327373663728217531937586985011545371592167617045651918667919362496874875470275044263356082760832872900626662081457115059577816406726604881558416790787259400963123061870778602558099086409616493499634498552600377442420632920555538500846296209422063245702821454596546533768724514827849809538015296465019753827846540718206753314576375792464282861538533845200837549983022495024272329258702560530321103368691435028308874066536701973430391139722523445306772608395703643257478119173814749045401294893137104352133172356427189868358066694446321535971309713902150806458230336076055927165220618269343476148056887005851204420385314615339417652036817693880175017631953202505838452604537480310795798497329071855558152817777443085191442346008655210141049259669062642887694084491748744836146660275670141721500741892084732106984421454060178970637372321993789378609586434043330677465160663311575936287366111099550533022634546320212959625301163809118309819640899208607565526959050859333846965524208398034832926738690399419198070717157277921564962553531793336645393303739402430005288177489258689805529948860908540566114552057098807384687242418908213190777506288081909454712765679732236859636255721418267142751935422357134069554786830144190986833963061589337585901029692946905232088045585068143916480344465736955121624436557823046367132335681514160834036763950089383173185193121936616985351715295504768081615761542304846783161682583262642242619614834296819306347784006221100629856752400549604781634439732430714685301732348028585447426400326309732733302584135690994122845325797837312664434010462074176743486223643404580646031074513402300451901788682314915196599834122741277149576672678439122947982200939242501900393257236702161133310128051731509500862441440655295601712948308333139840424651281604390148209741887731195890420508L,
3470622942977216411304441297084037043836815849614560580239734754905176175202841105546400678242344599632430633046327901893210728021076783723608139003479313762683478949801095908409006159655285411531963575121955642010871234011785419034455752948317233351764493368478425696109137806449695720500129456453320296212725846031071421191131701249173492272594926430177413249337398862257761778586130146740423261683999306544240038215318020634491875480508621050214563179100640815277779633615810190070494263327190836709486657925188382467300671036351000718285543238465663589289685074575962712594724936149456955738854306249267719693697339105525263573251807596868061593779499548947333497180508331395299995044100491307354808543668624324500088122646906439385386125335011903386823043130677706592029813379824657168905017434917921417143856830668065674494426762501512675247365048260723390797533774739575540446075492574744327433509943498218473071884487456255081579247859999627416083838475342860384976798235539176291543764997553471713268699678797693926378408139649396070097527439006823743359427587355210696852292646050313566390943589143398217903123894414377008493134092601409292246457138868444815985947301070249496867858197492356203565578822536406693780335670186768275607574457176291168897019792929636028882332972657957673789633282842563435931424189693987541941431871223440962226078343027608443737435809314046551439358984969010668907197326113899106094998235640826741930156671755767387549273699154192054886980079041460573786811791105409509871480312685142664910479570857852672877689875978523604150374890933687658224955546758626422250808976902975583922466735570095577756947437327509289910839236243202965108158509144770405620406161412649790628480193292392823566659576376321885611829353862228982280943192501927645542312322726408399863381718164337418112149921781091698199544825178405501254994041211306492308173170377321144652752770334955980776823157202362807050246871079320113046915668596951772701268212255601960151969844723988909826550789820976973900867993579781653091530092711004810926502411101966728109995237897587682061746187117099767888763763992561232028157892968123677027560521681931720903093712763420689257468356626443737880553363168201190285261217665308566626903259091707717839744897648979529482166414351500360314314920686699117716870801415800430061315549610108300613432154785961214618803659407018852128867661848977990165715705924978447134030852299136723718890372021722289383693836157070677579967229682423633124589926447013598822398786013416140109229252210151079520666238459717664994938100558879826278575696693063102027587697815674395437524868273053281678214099254065133947402377957622072533801491438971589926562019620765271602209886908107941621111649859378345477944316629987611164701274834728521967597873424728439310416848729919591448418047057802537719790717273816725072764943234760476841165414052055213294881377895134023610858641309787310432225098435238406940966610126349919393386114313753786445233367018227977183711305863940918516577277634714644590551611756631544597778387298458813641946632987232844157404458772727132558950428153993562781092422214187914289357975764108814078880308926311306516517341100569914423522798699710394903427104380057788129980877461801590218712212931577021624061029979892821990229096987077191222758846164149384436876030236581241704363043349730935708760789866082465347005939892491386180960785837425220902128586961597411239997876852592455034016280771864122906423447566310425424745954675344140107862221346441553250706579060416912777866576328068585393334989426571475409169114692165018672406166902716927344463923172575046532493045463909989768661723886021140033434544965523885040748477149357670677865939694649345526249942310580476205914102129341369552402815572856016994252153811963073540132415605155706045115285765119240405823868349501040187649888532699251419894828732452378783696065052546355242651096316179131829699221067846989340856133490542380794007660509095907869616156892582809604859275504467847115053259633180192689429110503538754641609968862018411435856197298528651168945794268549452972685012682748165231610176277901514428884196842205655036874284724306716069724785203423182226492385617606882928242195854139707607686052854795021316082368626262408727673346885245994706773891975500068163073867217025529845159375691101271428395033646305443380925584112070580048457143079753620808747732303742508368888057353024473771896094974998066562131175455548231912543521197244692973293224498473884161571826447759025156638598922822736938381934877053224115744095643078454894176379972408683305996852806699586748972610310191778722296988241990751075043281133202530075563927631874429708232765681230715161752936809329282006206657148794225509196255934192437099317703740705113263191559171607696867401828302199907635488239838557726699802898578411659589362646738628417936117506809542894194277440703862986786139822739741126916291598533305255203266318825413536772003631234553688243419994185932605813400487541662173445732348430124190303843064916044947685362644585070660944055984161695775437343907440968062620856046615791240294771418088120611045375338262943843508974335228982954530034125165844655954571053916237381622199709489892993770835384908784198079718207832889496198938414443694858611827450307929434311483699823460613896475629244399015804622207327463106734280597981354009701217825910242039314575688914307962653514082492632866102125168242722464330848448246905827723763261596508031236669339369679194607093292736535674664458410882651541283168457762476195413185671112511342170960592413290251466601033149927971911386280385384665682728782537843216489846662717014275357395880092017521672192460283003928152917211942081609505809567363694802803927474530893265613566854377169175924746501135004480952257512754119790466689036242377832140641798812456193027087050492184078131151970145440805530390690171173691485807988156517650189076913384358855296197519505861874826176684656137754145560156092054257763528738320747492626322720962717963320866129647773128652003297634036052723671837050146152066340272379814266963786655218892602671847312732422312197683529005873957052733955565942515938694997147089094744816059486633945826985756507563931329298497315560972920859717536735792241459533772896739548192192542791890158820962435964721934033772054548788975637004917911508766446329205160483261754563434038766583319460888322788303111519996479261906377253251710831737279349779020480193179941973562060538888893831707928137555411808012L,
5374207336888807569738544632775499397144914088505122430206108620818411898312287180571615019757044054609297387987136818115371487890265009476487063066428601370288371909805921953092223844001491362529834787548983429736854201141669403169002446942824246933530509031414670396860186089325948276293616481383134614790188789540436755380511317873671960958108263458812631700661338802570569858099631912040000381814015490308462852509234674318297545454468391489458515788085061477510680613318696058037266028323754681649335615338312546541487398251803896147567580029698273265197087879226262812278701224744090904361980845863902625350378528831649427057090607635934250712657245055323867509378523223301277090029189826316517481660658234732347744763961377988769911099621320729655844135520814037095245788777441917778274296335993053306557185781914264517590588326477759974198655090986552148906167402620468896970612935566089781576049642546090031892205355390736903582827714509038216315131000552890215643051546508534291673309105034291942528462743991207170191300729996112466562360691501365905159848434167089895562038774504341249433393483362724813852238110318946883490898197891570164447182243728306605833652103507124380201156977240223479373971405801938767785529691749179260136909332997258708476836167641646290534697278024107524575905256336424591024049185360783019220776028488949511901970306691560929586420029177989743512623116789659058066711299050816800645601403179137123950780008814814280797288258513454198179187676869057845460502983932477055016826967352262897638103151671556660611805588815389807597363600802105623147386604760384733714037524471522343417714150213959854556753472304881224387531825774605239920431536779513672407382910844113615475233809880687095043604289981085169427132696356875065970659925674531836980306470957904032297887825266777512524984702492421327725955552774993164152631118059236445828696279970956138911346762491564337526386767796798447924682096146799579172301841489608512158254041935716790268219128781531819054327369907857367381715316289855203446610113294273521415543611016770750864284423052421636117917284639455047878963635375363779186074041798932037191997049144303580235879432227666509326703814519517392432390424110992617579574359987203106471472153556292047068342439018431056386207098823322137898144811762615004702887822741437979725179810584995657753414616871724766882501830506125946818833318058657908717369121669646159654824331481340157129224067582766841249841286328054400845735612852703151961999070754333889145155421521340591954752778549967029991653654179540414030224259531610204622125245151949783620170778623375385695567181405652020113416202709376414881678664677828620122160654390622337739708313522488652720469453347930861505150041508992766808958078520662861713879597546723914687374715896976294366786188098199540017637089289112806324790717792891865217332343925087228227093963674107318910137010457528216536406902561173735629652795409100249885275952346551989166454981683307583733926953470846996604501153931728486590829272780786656699688783490984600237389161258076296331880675560886687259511928920940794346408966903734018207723685899998535470747937347796100638234574133040736638700961334721319179031885386982259551638345019304589615295474832420493671212710321842095889125453897517974684805794542339106707496930216972579584734261762005151454483169010449250169601692223832359586870772007850671066533091243510967263491187317088735641793653861503198393301461349365862176448706105832164389356418627297826064703015007798333550653999329459221620952522836014031765386856734907090758441260446854670978051965573183160712917799767259740880019855630726491372845687400005045307922074254174225520352048097445238448293224431041019393531334438781634797071675007172710410318356908308749066409689707358486288328958278115314136273143474965307644896432334707342011801262520962734807339584126162326118896525664829962172488011878805330120972899955422935441392494631026102789865052375415979079606410271426858112972504269138646900576796679293845336504751210571509769355699047590689694485616961569863215541777989208979827555249954278911796751628716432109123982526092221092247327642497754083221695524001060552630899347985632052648976190259893732652074996200519122063482502599019859276698063115934332001183861706409878181898945233889882721494658297697469988704995588492796528084131742238969459349845652907269106008196247111246414716584694032570399285151530062127534637936950158587610426248389662673005605344341724881499036237880477392593704325244171672514556313005385546310145835200640779000237257603671946464781646779335809120483010953281764181879658440249522058190765418344246315666073820665273051813622952709971792012483460956811729784357549052311797948767727277295445539285640118368358121161054621534888289190616905836850148125604250278262247772763533999759845755080941647144996354463792656585266508568516452276324644769438259922780610411224669597747125080063565846736258332162781241459012610876001800432364557442208193139386858844682206523120190636111006921751486444204767799565332196466461602873748891307572569277971248441290001651128462297774976796969992520537615086763750093033841202395584121440126853607937478500247006685239967647507422389983933500081290697057683367817813523144089635531805660396900006285534610747677374196463395699740716951876808102498562258252152949975798965404755037431921994009721348108365668467006669698356856741414007099262450077540202570932062239720763059237961921682540332931383656636956548621449644438500874110241886888527414568558556662407444856958160856019679118471188623898302282211336580615084869035991313508180373601172177561453333154393349737995640803907122988672454539222989734202244472672807230443676276747843662352009183708705663946098468944925277887043896766254469411068366194698980144179507345067007906521918309345891736929421228729627667491795752417763101443620408395153299150624397264551303239934755140944252517315504364034455747182972948580002736238792039751590707538761202724311387439298105505509127996053157376864544857231730281316451468457132201853912087457097748485659739467216991505490495045448873439133901001705928219969336770111253129729128480983523747569158941581592594978544239864403407194354142393131568493581649309088780579571697206281270248525254961827975450164520556509317225850698553753343525886608912608690364427149359109670443951443556294925374315370353604784819711020759738522931105575879706666937968003414744202320013994104103096220796144359643L,
8321031664037994127987147501886022977269150083858780195578859112473117729947041212338551978792624896513250156620687084039217749741401134897984831463454954544875717618929086944927181822780433306669019829614111217655684402706216944091628203258119190267543870964642880154177633312058468322445216041415227332956335672225534608375738268043296899263012960089191734142579641066124851212913945566964563076408649293767262860432283623411422993566890136702408163520287518088510484309907612089462644415055211016837518450392429783208202245800489866375422760140861443643742555116164023784440065650624467508215297043681052952475796640108830480746737724776854007749502369654789207306649306086544044190425393956529409086775227981849547528781945386974669764308621625802923501826069933533226553582147533531395109111262060007901456387175279349468804012885848765394715454032952183842924758217055769788642459723344258684028010131683972601134523320033474719010433042429179835572391013263832456978937663688602236840292989499705778817441456345100288210916478030803962820801690695283555900680316081138283083475541725098798611537880703763532383433354073956726155319706958616900919567360380218747477085390660222395397018347288910718398562524127190694285025844140153776486456667646959573390168441457519871465070822544555025213749336626956283231531470009270846125851747758275716720501501832220885796905639190512344854352451592174233920342137847985914658923682521076578749606071442792583827636195631702551194367569051627859724972528749578231575506077748723377146516440079355194859356856121417143750740782040655218957617147462149573937458443055117541741883353210326638965445645532858178179032506690357977279927457470548228937344422293209589852828275886393414572495358016375266525414200365579246395494787507304023292199549604473521774337047542781574478119315796293076992477470816858798442806754669813107262851455261561950349463395907085271898260483932752486534002489228932248842661588481096513929640410312829881561107246361163247705178337212003819357128437526613632843795464436389522778902235268666335068988466994919644097687377390129656342867129828723040744204331282935749889173311100964582791710841400037400510011761913639315276793832412199256875378291672882617522846905690619369241372628625547103284078826920412357306949009378036565578267939950897970441693578712747890643912170449877275614209926226333264996235845032457750749214805426688687919263296751437965750498078459833604472396395462412982286372758511279408018466377569989032213350964697875814737940055009546534322152954416839876397917709919396944408043265500873767143982389428417419669615252361655347537520838931268158234226336289748120241098262705622597930858085514630913616098458382948739050085759616025490541090785958465821341738628829260516620374004676184403756030879468437962936131216927239128118687349830445191274305376574096298472375686619966445571387765708714826164765863290599801431898933177422433023765277360258365176209580001848892339638487403598913934694145430737784005769684319560440905842179730548850105062510827369172023825380422960872278540454060131039971536716959927044267549796451945651382703202833903898903118463197689450138666210691945325860169364649541624356310016715540950899460137921060864289450073962527449974457564449573551048687723091025475179539364521903218077281158791121068297657411283675524407382504541729987242648542000868985169410162728788151801077903666865763574495046862066944906485610311198109548804364096639704767173675357193777790119377347586617300646769747382080656662131038287865109705376971049917993803849309870749781913639130912439320800165330332065457955048077110000331420520383459802741458867306260895891444719783124072323607336009997354250662943740320784190066950124058987083477867851048671487702822112023276286534230646315417909193378080842694010075848495702686745248553992633010560068448424371949531463954192064986263623899210447777248248733571604221094318712806892128663319864791291477686255382403458392067633823531645641486991906074853780821853279084305207155966834137398518599602968886294646371124224959553115978885920916601725772669706651481675083519529257349776187614231771671592714335785591053520442304652807784798735815973863771914837444692820113834615317321052404404683192204685480117172789435747408968963858586884033888981944887475099584397416514086145412914088687769676969223398696735491152952201151283634253462426009816083172021437939171312297196687020792685928125064295758558953134653281896177831288407959757185965709128240083840389451511521393552282217006133120940207013032030152964222498193917936947895051604857825316237520010924300343637599899312987618159677852848733178699741666509032097391671739582654285535557723532221891323319577424782334037965941886946261300701587259695610371457507687892113328758842085716301433859474485017159235186142044715233212929359358577111268134593257008223807387816193356003090513545532233680726931687015986322465759133318665127425777811276723526904639750049471495900664923676310541114455730390844814410967469608310399522503534026389990832794991271041239899283416806812939926370114645474828022334411156332191597094266699971376912176667174724592383426286078235215180842853096480828953518026494945317193978633324396911692521558035225673973079361546013012410905510303539864657981607874869183990848976420094658271857120998006956359615851675429155276415809364365439991433421768453198085389745552399663181517961422319073865456923572824772653652199506928911102099755256978348603078487127378029251041485451413321945743586867970841868082516631562290071201308799248155945584656334182749385283628238403146403318255926417177258323335249715429047806969341767946996188093963426128824440637191756056957016179357029503900312572917181178949153720412704166394475224381834957939484652799311385939176033507121327767504337431068271156592122944602916680183608014178286719567785462579309452499808970753622779279347325484009281249223947616872196130138565620824808282913456390107263184712089602400387474671572279672552248631571781011291537089134880415609294099649386976228743959773850115270262576418822287446168617906095221680478396540779910376760545895469073170855916340626960808957311053870466546045838500974801942611914047750049352697343088323697898204970336542582188806414920215677448152237327683923310433413711645985272005872094289533265384778123737829691751519708737207503641650731884796919940931303059300188730847307828502619656636084620073083663289965670423824802171085895327L,
12882368750310446672655380036055195576166647261554535375454478021913127308178992996634617522322922082030384712521376741265133558861078062931863687328431549324173187934655846050794800594443490081419802491948800292784640386691061362134721008726553993591906170667847404429475307325325608087884497596157989295029152750574451589915844943057953716686163798195103598808882361906834848136172100754703553542642516583630187873297514298187189776165736124137603463196432997055867563113161644915802192478544481624992374038743616540033635358217697496768757486397186912156083317611335402653179622341517503168990817443902313227188589589185177394602835088237502225553435411300626821449973751955940636464313886929906198013428871630886750271178607582246519182383031460368659393842247453554943627077509667533944320748996144634407197570604800068809132875492764226260539252717835675343084427394122512923293831027957165771478172637332902521992901428518766155735383371215272375491615849858372854620579946214309637680529793883043519471258171424603020982834028528338266256341265623391687587559790106536584958182638409588008183597777022203375651092598237469222387902599327227428852053917552949726285976842968704922086113662488098597444785111714343526202788275147494743745576323513041366214336289272492745169999966758207256472785077029922795667831136954327843717661007732277360677178851894681251009316523470374063640760320573903133078899172465265470631972414073651709533103142090010877552739281372052829595652644512835941271163646353082498845830997282237097845203266546339872285058277970467358810317133486818023333386829287045548980984706969529704255666109974148122421682664584030912473792682588830896072505092622268653285511213257513821465871890019913996137686222238843613201449326819034484405649948922238109645453711169569209567336246044441632717870361049191241797724257840015464735195880706438267711221675527661664635928099809704959333418125564579719874716995315759070963450494664927720169674431928261751459114858437302189695402216817520209392094300400012695140823483214954691668066938503206678197475349941498777728807801670169820112202172329236006933612522957981312482388261125392988633644662448095802962756254129964006542378178125633009101778326449425240424228739931173368656063329526459929674648698659653458930097268316041055920004812685371542356320066608163157977376508414092661246880743103166823022328234395351560015122166399567862308829556706298204172095753386091470481973487712293874472001897810657744489314893866691658616972830348897300884138266904888290283639238167243542514114170573910028193122457336043411600881144976939217920546425314551859933692218457315575183478885083504895828053972618964740439625900972881109512298389114260697492762738962670998684637969571608957362115781420746014950641954833024574032615065639704731013683084900955930681948962250152713882414686456280261111629578603937550649620263284123776366176425980499008049306727260092768807290437125119960077727839130030945116159734986093183420853118645933140290704767714463081747572939729120527729947687041987104540560028909006244223809794166944552939231425512667022476852273032815720863186498691486323046114255089946198851031030044812426958779632564698785617720210340425554527950110882664102031406003610678574053245340748034285842154090489761990520561616372668885935558183770084082681775228874472975668023889494954120375181156011962983141701631088919723342492406277885591337902153554073459372068947698235908406419683613406450350967528106143018561440720945850069209870774926150444222840369660789911580942306416048988601090887447315600657516071174179740027097309339010036919100659335023477411113457495004614168274983134230175031640289274792942504741365495548029960911420648344665513615707029827957197264392175036147769524989446231492843796289271797102182286582779017300391128939505119587627837356646656654955635026080637476335870072046968122404412384025570995056498511852087202551251397130009468359324251982254821281013717762091784279388665288711588925169196243852938591726994582382190213437367999518587849089754511647806732869618366315669865007288108135494777356139775173293412305811585515122457452965864052818414438983745352309303781987343398749336696900669501328920673876367257241687988935554251861625580747832176566555314259068046222651343962888284046487250151983801054495442669556077334168093968031756291119579497269575653050059501141532818855907064515495175588054688973007607650753040124997222293328636035589485999124965577468181023003980102106104215496420453684241542779183102792338016878962618689821446147683307446203366537151187083686245870254841577294640098379837884786410580471536953167691033819108000050021763394857182755002379696086136252932903794987695691612472915111868332017653656087893047425465564053836219385395232827900706480606956956229140284924628363232416361954381232598187349477845286610254932762509366180127758087129835509872763314946711556249495891224883549963372002036790724872886892755189946227968080738442418641359661359821525727043457516301055421007080230461178283027177193191907833066203520963308730608005838958114627242187227527460265342600340903535082619510394728547999399185338193295140749759150792262004910407985164290721055528204316818399469170085015913402199882796591519197312381902685171446213857186347542230335280486105696483986066385787444671991363953736606925160191823045770470684636243342513611822549099640654655600462057494189010503959243342842867035970500880996328271725445689339663117350958866054071476032032116004759828606174601856261057313025342927799980475301117892604829354788908859911820203262657094609915699653257000160095305817771324253764410664076878685787418167479499610019805820916007578771378890308764267791966397892069146318607892722635965568169599402635842986031862042331309486710424159628531529352527834097849207106741590377233826410148606881158994544304861808939625213734124997074926080256808308751389440047340155164673441415674706038240772716903310574635058691078064570387341496062525753571685863737311331672212227157523237320852027798637859642662012001986432909020449624872127813775915353006428836563855517199820881238976700491135002638923344706595479060934069827888016968520536441203229687389478202036407651733373663884019892578719650146955881616836884310178547267185394017650057819186736775839742299257074303817456622649813307742148845086785035833747414806610612921946829163960801778390518631636528831141954328754162976087839081513627478058512220744937531314784169188L,
19942063483671860634336370807007157244733225922841964588845136856765685847185826510535662496416605019769832551773155856147330700170987783791159282021075507305782153682761570056821846897462049681873481885946304419044406973699108314672019678384699332442449510195244270731533277363866620916331797227906620252226133179198155902260679759700539679490836855583943315199328033667477778002607495136520282282984605305891583522955676650736924330954458923132639005965480377848966191289504194705006872974249451870489768686226388361332105321972598089349764485920328630221288492065754971522023522452334355660293681338498670094314477167756136759732060764143760244561744800170711795018679221458193756840629410825554082064142964432483612667853732687061228271008066322635373584039241672154495552804771234561229846464730183129641129441424778373924036899773350952077329205127694253776277890482941669735213714290792446738018094017145038340116613649959331700234436124274772259000601390589176898809052867168694020377844935687756306048154428866234264076227693794185708156866606835631338573247706900976371889191769489826274252328396779027997755980534722232993077978345601060698735530921805372972973583121507168020695557546318956245900099350808212322971205744997316599761522183644028916149830601015067246166600299839463229067082762674228041703334930227642054946535023812870326311137165254595907363924425661853337274927509689498039104924138288887576735265605437240187833047340711051490834083799828747881963909503117356323943169495208273822571074190401453442807427715279342276990962375020095243014275590846466813905560734570938278218212598960572418321160395037961346582866318130447334381931474949593744078570949794313959837579532125885061944852416730335961607800388812320782021115395969970388463167020432844427479926554706547561238799760339797767437331681888842068651537515264117402817433784897731719344932517366697290925808635002954171676080936950892831251882588745894021826598308455620955379420759099232903916286665080837291407817868479989353488799090222256211045285390316347705290691527787560690174032764833434624508880157995409801006224782206445529792480827091942989965631144699413288437256569905467763229771601969951381275825480026943087877906306134286385287040607396552558809669522128891674212489940081861335034816950156091706280561557198703962456316652203024172526640877143416687614069557472447635603777770597251554909845085360460473949597800878255803215351202340475617909828367547455130886259939337514982712259111268181691619298156730360291581755653356122902268064938861311706988158220562564035973135819618644982533964080188054829202480612729111264871266029825875690073841881534352680587329138863682745902545411925211212969120154911832759724298683688400426579410540817119230731804332017284298156658208669024374713880147877343377776240591055316341965515098450696344260798913274689507571009332096221354456786785593171761060531796979963054557420858252918825556462454116642717521684208500545420870541943333501635981771814818779697440846391967086818195138220123395058915060592057478206005702165574356661566804098060005768866753791722597658295733666706559323199437392931290921373997291019395864161548601165746551011288758738783426435049656803623031378210374220679313132099992653415499392077318418163087619787084413894766759208443043278837493963100266449245847582458825691717237496972527014644607586915405862042259025364796885129412973475426962904696385213671925622953716167802546563183558018139394373349170734017410978124524595318392603957588256096731206009858195475369106848916800542796024373088839009770125369918774280116434624390411556584019021612196917416613109092769560703016469793992412281702748597269441222734639231960669901312485928941745102492636116940693657747741428628341168363845866816051852681540275795588956260405338864099026200159029212350940205002928332045481888044751199231916855913591984613570675917562497890077323975468190921739230123711238495117480852895942044462748445758923605498389865508424042602597655180220175014257441278457455313087159771570206734247337289600754648194983552357668197732355191812645712853782319176633337521011653010980129669745921193893635947500837311503059528549776050285403609202112754726616838738294434108609385990246185610598409192148925728692638289982163917952683112800781965257451346226248441336461332331175710179808371392652744854035966742967778540394026135490579967233157974327805354659392361856148448521325246781185970052709606376216618025751981020644609748727409338643298714643472068707016488862463916629651008800754097214288090076651018979130605044268522806011380088268464855454564883048499617579403541539461730721950207725233516847020332984700942748483990758296020156010429119675595705088022659519260859594777807765318050308808696782928427101239691820630178544408841719284688398123395889078602729951320513650364161385828871760292645141112815436839845989862991976720517951382143133443514045160818635986267198586656631391849533195990715639469920250124636874644904555610461543086900366982876645046625711535761098304391083328112625945932477154826968406301999822056318310648409245151666331285188792894547878424351290650043923001781676644914539478223778346999939999163182626653790522926821547508242306094230386308121251464996612987043881595741321974268508736784442549804759980892054681522217653430429275010460131408705874640693340050883276742795678845875724950168636383201258416384738847592069208627182696015423925888215177138867066677460069425953644298751659553093504489516314314741510756401287216946761349980946042926844724046831513337476907249816327011132636170390281905476830858329980158906219497755600399887671761728441899524307459847777315278403471365759429224340310310528750185933342542679120896082860753976123849896823467827647116003618218585237501539489229290286085059615576759125335018027332442170632134914134416304020089101925593192971012030972876339561353039830029250890964184302848673895539411282103344860337028200918267754566578562253628118879916388404619543198779413413362969448212953154169134430944859239401997810078726983865774968425062795138507480069316661309584957622298954507071275974710084132325244362089278614997503810145458640661134977115276311929825419731908463241262689297198771979345074422983347844496769214996604958338518281440840700782015187629208312141802114313943455352343825270646329470204396977338366715318021719144329065684809072754757169425300546522862716651506283230721254647146503762316444088279909553419476671325618125L,
30867417800985040769874285577624765156179511832847073034098572786667834268290563794273955428486217404492160515688839547722288247958455143119296032875702428604994080509222086406550258831522775133919259077214561210465816975711769088017396996082542169044372467833605874322262734827451668495672755475225486372420113104148653299215764553733137481456817648019024486199526523316270132160996831857628694347568751315470745976393644743008420506246097450098273987547010007193676229286299126585921455074959177363566920932431923307457989812321846578585715421983962120617299777755591732787297770850582734806451349826354293141695929229019349406513342470009507020808390473960393014793024639850324591265526197179217850088235509250501669685696923203019178564765650304069653717107547807819877752041382238959548202098397394656654917574279395751879054069990283683124043506694643404166934674664638330945142659165455429839743421322598097937434480398826060954541631895693836683122189134791789221199042131071519274540578016119749746649858494058399003442678336375432761035434795285715139185864652442903991262163359821330295437164776661696529870157102778878645142985083515964039153097800675644202704592943194153415961553874832542802550169572894715955656923850627471506949898661407323287574988024812228718662710795007237712659193472178115854545894646927859297609405749657349633622840802797910335410468585153936730965986024074443896815791144127438652305594835567887500024279881561592283103923417083721987699748329693167004866105397176555225093371152661404773333725101229778246443291803730701883719014911930069709526720074082214021244009159658173548613192619234709292061409515142461551221722504663375629255613694799718034691919686335157015337065634559190893686841388458153294507894510952393809062322238271988191729166276707066440122825747909719908587042377386635731822655217903030585075629879417158062636554864108751788866536347330735347623140233209715108851114293159961711438087610978880933860040792948558928608292487505482749718177707681428897350706603951825902156066380988803263388181357770741591611378411954350968129452495368947858843399866388676079808978219604721977787015664212993361020710134733679133020082793753723258670771628700018402372320361274596871190139718564242290237071936084938463145914515779655221638017691552636155209920430696834689945071706846958063879562533064811618493288170450732340759028308732949122133532835154285929189171669555181352900246831925720188933370164961858886296935981284818125642382326378110708499985300262133744769429214512775000435740963607467609782517093513893313010820424142932089970666020862332603547879715975431642784512641576682439296902240252479277319376732134195301268093549994477986933618607140619525561319412576086784358091905403095121638579423703284178115486625862046931893265932067819365233212794555043762404741102865194897753580635184210375454870893419707965328430141573734351829160120500697479358911923516267980658976145632749596395912083762647260354653440370709133382144103947081749800113833294052582874860407825272568270355642838427462905380153473891573740189178015388493861899031438943839051090286462348828851376159434148752826969085807324882700482026923127753748162782227560852526381758755027647523530044254359683166545632945334479370343176618424709388654800200159098907741880221969538988037216908328093921312646089498567081023036989379080190908798432232128249667804619141859357881240548435080863049221141413516619542272331538283024245587710587918195566923388999045242201208508665188155418715224261186803517416036988353268550492078901750533564881712833046541751657929584164981732407914424164773683407691989031558733103790643806869171415032698144119527891007047633557097384492457873121237616356664623708191733303312017929509682612508709182381892742878278836010644929705807834283375284495074601665981524267205734454363138427452077367203355869599432333694430854971778129102007780472093027027794541327039726804328803330000366365967401611143416120385209085368663038586553166760384192776364540507041609026128424165907967012938058283079085420451038410483156228463406540016554810346947107174439567108886508790139278549829331287630295572287733825358764589230878043261064746759416657525956353940940255651623510259153833717249145788905059351766067847848274806539964461815963736141486687552419508847282600195102378552372716463691110912186273649695639818065197472096969323630655346457498365131314934201651669779187855586388434272471504580498947061204792295923707587114727215385988296626323573523397669261850180103815315954914450447403944347060870198649399203623597632711377603907104695330334398795132384200300566989735552374196107048940375136677588785908380231527467152800166976199758655226085946032149768489084512364724039840686651085989747457437061928023522418341615987589531783718378921653891365188815908111004845024047951254681873547762111496614059279512431617510193752300782655305817668580571942036419880466165999530159461615148640946537002268675838864405961255211374376977209886845082250957266257735283375180704900438808019539529587199984757578497093018038612023753868546597812227748537601036165432742069233420543493320028260717011008174966633097144692333436923941629275710444111458175739918713876358119229218757473192850305873345141042267873769104398725762519217106092118546232743021326414431887217609981813778918839682811600772585740807210159473484173606407290089167852684064904117354900976322983698819196680700676767699831469673820381219313528479267763256437671278140782936978599457391739715301939898580153051046437957860845517343140801059632353879135741308363131824958679584663099315586679886883687088387361181000775148835609698006544227691398692968630264819851877158118502571456491066453654323254542779439267663879988660557572752444933610256310599624979999012112257760902759648218174913867898819236985508100090529693562530816779278612115551887792198587680319716680155568668674927738032306241273356943759073780152089328181857671740560215185542797599991481083731488628185028361464969220506828063651542982055778551369568282079141800421690525369881254637195488068942733227585632505544582354467386791286621137364006642945607202703820747667737887273420277984271189288388287151453812239457044792115814256627892659188358978647868280465230507818868813277785673486147383323975483108191973109370547406559958160489965775218897562601634644399760272302052391079594810998788124547592736964481621645090087911470750950872447470193086306646256913442059337277705590780007L,
47773423617695655412372961776922415268883095725999262291436746181056412775177514314975263992471220192497568491838902835020884241960069930290532596692903550609710289667378375616829853593765847973564546736388573405880226571978692445549533578137236273710437535685892434008095324168825976044732570447995363228363252385676070502562524568141701105677247118994691271589517979738938480569738668084017265356308006697584818455487456292942799598773057703175285714743050196558870414761690030896588852237991240956515307468769047247064306580881329841113848932649568323547039100013832126621454446639738700281280640195881585475661473570417814830822861030338743092122838984830449665404699042693774624768744522392165822761039245891038597758507011871025055838329826980905131136617423035857011570949527353736270999605338673788450686589525639383103286561827254437847592461639003784827732435984635524269189561390142093631572549165489119037370380308448727370801388403153314895372256102154872683941409725799686386866877618911345692031335229534900712954172248925041382863844265740988096035633937913054599293546417060377440872918182494819260606196239549643026838672995575845906514927173785899083318675694119369705667864042449192495930257980035954373525983380906995224672257112834891285126374467648420206117976759876109175560404238404530576815037717171889285348332885450040699661327700915869716708672855295047432719495944853957721001299179844900513591269257123669079524208516690232485933436850140042574180950412519572309303919084082072886722127845785453433400759473456680156492142349763873123882956903463789295282876792308337540120663080327915815183369049812672796983502736437209134989389644541573917213180168988678961806342876460079017089079075647011575260697747783751005076737046594736216994618738609678858186516899811365144916425487401319091383553431353100012959677793913415596206392104010633427654079149898449329776959525932800117544104349344082417801219722459358878462076821073992775310400212658974758950301832278868332122341282166765911323313029799102663173052537639746559276561625066595756364476722030352783130343993936967763479618239910525287321274860860661909199858110597587461550849633115353530466129978023784730739550932561919435452563094788245409403073143994836714344591891475576111135727012525370167883084779582108219866246743279453714996692309520131648016787303418992867033674829973190719491212099602739582665820184943552261117579020244048027072061940766218252013353560243970339598047282033168529817938104175451329423611122635043696145434777506344274578270989088934643047918725650165324715548861222232222037635889274726792984888890064840118589926565923464348889898967426298612730725178005909821523620500847736314039693360952454046212653756549349502033523357330460978730402230339526437875969463691670890568879024201480296068518028471017033134025174801142167001326035355481815550931070138151910813766228122578921519250497084496128966746064564833346630064688583468965418534621233455075341964000726767553389600489072569114380402323302570353592793634990964879928185074883199415958430734537220419924674461186525423110984095548522022913600736659071437168706346147904080637406959774140247169108661482374972534485558192925964278479561862439888313926253464720185014672186921295213461582139695740088008328203544942675166140885815683134718280576603213595041121049956995979983633617914997352529658995416401870964418267385580469766303448120696546328030253708183274324725301922593436880733168087270442175884050849720765569587074705134422282710305678904135985333145737867500691178491248938790141606575881622219268221763545085085507094146534946199916504828555357589955015287929751733960147500302810370179430890668567494602375505385185445878931121763711714778151862611156659980717527615414776544874267249150120187861133600762008358395491519670553586075641205984997340971695884031096497045747805792960644425183399724884543045957465054653037981516239542687704629699724833195893570843845973273505325690014232498212613462305465139467700278646093829813754489206968471870410335249204697302433280571208008309526412213228771302230238332997468544977550174728638045047864909916045573527155308019723367985646616088974968859739697779433585796702145482380448007130313305108350207090050987458149622872368364499353227712145039316651592956063932734812320208515160845527526253542604379075724921718127635692807362914071623309768419008506248567587825742410948674206500277590137146723658211516707112245015628679555063270649298967482048425173160186413440009688710474646302483936703867057275464870879055142840024493136003610653652100252670666617472144394990438296827896518153420945163131410825554145083319740007561899200988266070047309172347648194137181242765625092494078814213850536099339433325033403768255107540195928459207066669030153151120372698719397853726641444114742138302392424879901956722654038821805140727114596928377357621003801198512573655109861710763451935185854155372790916150318655853994982187861813184160661618427148644796537397892627652218615830664156825987194498948626691183668141013556229799560852027381886311984717542603691298320265909370437242750560521073966767587853198384313863361885116885667010321399386869573345088359460071459925189517826913405905531341090384287996826623293660685181356243311192482901204692934562948423474068224923792408345836237564291666820793818232288175623135812332073640361177145830022851249274119914703665239361469623010574578421487561310785191883164008554925614726457336868557347662272917715749198428474872495535717078125143251026635188599133775210650552627701663406781383018320299671541176093107168550254128318035390257401233062441651015650172050352327450355219685217285582600791752073144755541207618121584081473935241653246084828844697178231759905973593924565544304930115833157857916958998202918253646787180695888178196113538098656734919796337165960537146137173832921626928783567307187406086572411327926420047469016577860252713005176202070121406195042904782761382624465933473547937437133184818726581436383887130258082514911995618284605990502007486319131518694362575684938607847218816896071505301483733911323577189207557802428830893723602359356155796658320750382705538573656798589729179347459361151427866295913585601158445677811177609461447608154168186318659850513916766373760865856874040976071877959616382933431056345986214001314258344132531120386871336945644809781250465414267438540787801930189733942457618494924225074730329141290151735950523685753801095708795716307872329673270L,
73931294689172022529133330664609842856705918844990189095519600441646886441239236522811614543537308797287035635082750270897148397455003549183088374008401716988032781669793488743376318682963075705642326469453705577494539485992307256278246708588166071666165866359956815589193327956120525843026555040528030362934986410464203460637189457345003499801101766447325908354956318045831405641448279378817040685074160214973398932484502346449537734393005953254349472814968823555255656189352241426282632756035850897242756007296413988031680776509596211892509371948134213898817575823537761405999969764424195050176176039817589885735498894494556578048063806709563569505314886036779097078959870539998730915667739324177472516245643872072500366546039426081661601456896914392727781743583622050944660790225306305752211113648403901147111238217436840539527647333874349373717613546863065141655660162634821015389659108976833489350881073462568181045900521355731289777268392718836512705873025740392631049784780528884464636765035996467561283767249291403703586551490314232855845769992202842723020488194841253693927365649637362937129087426461456630803752863621935224658880778811584816153122800774325997063590218110726287398241643318644734091443051835461287387643742702847237960374415652612127449016843325364221322590320685361845725510212198155649278169037573692849738277604462893806333407453383606605825745367420798304849194010036899744072877937984959117399751122609426888399828216146819933900356226760344810786647833357358132460443998206148932729290047162231396778573034626994590314344617687869573121016086350982229088757750097388946423270011973233439923415438532850848198711687735840741225469749024462681813398756304603692456638677343851806202451061994577299711336909636221439408576308321436870546847928615400063840492011849108629190784171614100627644072908900975778802849625314564483424270208903124104912444870999947546841048149928030257074790391906544272472796399955559398325257622064970508994803853998788995854746551298233407483732984256775182014581802168021919081710907847911412414522589264324184424961179804715338575993329515883433850886435454366831812480211199606544152754385451979638728971440099973108428149787253880646288906912355942618345655538639340508263302882299715959686707735665163797883670625160266076446514349294790299559552343354978832515676461721788462376036284514488503999764124829434784675069273059926215186083973929490889581646751222592928796042457369917506628817092284439967155461771773713428076712315985931495604037145400740051627119443006624577365162777622903519281632559774208069013495017473448697592401886697293031758666193396509219633426350868271266089314724476278226673661981481528669489822706012929680193377653784341304254096637156037806254071408794879467979468193331731099610220450175093646336615245948467400073862352699846918509006824757325339898452540020673361991534348646582392677010599564619771159011000144031125477629669675457389047873333274376835404802540016581945566593280523819530852733839200545784201291684111293562284269758986628685018683376249547695922743977965617928459507174816349923781475016375741192224696130960180997610240910311021095400858514436323542440180409674563069716302496243955505877383798363970584277166160838536297049047619264804414655696958078823361105827833683868664362253888046798232111992143721635882745972417403977123294763864701748897350094017415023063470531023555058023359088811840524997558857181904016662337900391758484545189048666712417214439222849955941195015119998402416094041503268471512392760275624427917711191236073918309034198688518151537374307496427499357079352334123675370509184151114054395935714707483315512318986844742387400336078606945124983683082682199085619625375229522328243892041559695291847319515027560080621450937042204920372830853556296643323859495621383712610072699432283929533805309255603896361558712959905881776700327096810851189952153306853531240340719567787860547976562951493932431456825143896043086893429994061547865300652234246204109129345367269856758153524572007598047683483459772507317584888518903632159519268613563899552518278047478220506328626180562415004891464848205822646480522180507851661444810379730753227059727955832435688913804013952455207374477137776991231216627397976988486974499096876821761280639796660687960206723114118666649044870642365972230006955690711474847613106048705729756314521209911397177432097042142878562213406861661051056045242174191141551502484984270507980784918268387416587036313517791932450802482348603349418640455797811975170184130534141204699089099865143650066465380629828170267325794603636648482103969588998232250767705510147461575356046711352537122142120950651854017296363670963737799591541628082596463829208550264250801537507675514224886537240569802756474449519663180952647141185131875751513306242701221278244233098837179707051145633526996145370019831206694670552658364030742625843954512059792792264621720808891609860212784788187598426690076556472573350647956588703543848759558887559661087195459950383958950340411454121117095741348575720097973204646061793241850872010213747916343071200224032428138677950890886506703203176284867192649137452077624602650869005748941348450613057416211205787997532564019594026420885311025180193060640504191493861769039504122516687387267661302291531239984948936950054882631139114369843889791944151525122489573911385472525363008472801539043956586740132521424637388473112278383428480979718020680461357774285468124151962080869502600097204467802245213539623757548721495036028884201675998740759932474682519824118470731710184419060639844822362087054444753439067794930178786173252827433157831827455474053537697215521284816566904119175450626349355180640087639271678418908993895893542411732837167733173544937901633686744554845173510184876433625963729197739560832889285702772978163913060743238717756017320854887161991682586452187342088049128997053461664481537085623630064655807480744754999577297197064611962038409119175593634561078527206530996627259394508217040642352615543076680575452349300296581974464267072675927474332394670456440216778447942586741391735370061237335994403906549770650774105641559786199749174633684600409421175691032863591523425353265735652272617373393156975561165154074337812981539940349187020101313750102468004449339454195693684964476224305251477356832963081192512967337732488720402133006943915892387045162193181756231070137853042500433386498286599640165193314665419083064760403541983012608734693401877426179225050939925276265605955920098249276L,
114400035761912525728309389593868340167729552321344230592134435112975221504227203118580401652723148119119259016447549306135066125743927103919260048498875758148666431608611225843973459618144961787570061888898018734748292139160946141695525948542788873458331453326145242385451356558948081971133990622702335644021962943409890542344790654381143094156208625755230311711849144631439458488581175670170242335460326045153207796928341176938978402680321002755492019564258600720009368402570189949866682121380422392351999457872939214883337937988882802589063165657028338130361999037583972548663080907181287353124301523579931742713379260657705727600404347523710450927442283172120280184389205817796946063294643049230300439276242100685602987420304934082939676044036792996887654717493470401502242593322473650157160363162411487089711306518424336735531043506293439996225390959607536341643039202748291273906885410763433995733337143294601186210990752071881198832465176904088485902135456523965681267003146598063544710269676077024641346857473860496836777402788100437328446917551755604341912525903572281128739290164471333296680859387572402971593286395461563684595863957201329578566781334114117551724360195220875890398977151086906982040408068980949864198043202955686733664258160907358622750420732696441215643990567019888542728331101221476838406903022195016624609872888931881424188749959421045700061086789401649467174378606980358541555333853331782247604088786860976279083025519761151476628757336468357706440581226793924478098111998131020712880660920465551081081630187763155065557470683654838247985754313927419749562983601198311747520225111112990189064953542546523272130130905447840021768153956548267482803392464435907095322782820750686789413104357171515424811492063394019866253039029341242429317523224670663637460993769099818457512166621448913005224041944926550730136546736416897125623400743463369254765252842490733290499869522138986901939321622362070504496191683489266116400629518198532196856075055575345063203303431274148635160757150758387271582066023335872970261626820868272155182681157289375619271411832127491394536931239928797562903998051190237413825645796067860813656892338055378385005657309579441765893923667134359941994358483913463072213178653014697474322781377541307998123836685888162234660581933094478045258575483860356177609639341451481469849007510856899603129243035305051794691384719506794144699821162894474870959783776453999272547085188957790860695579163412607011542887732389100820481686246448229793777017463812712352047351385793629876199643196921894549510445753436838776691966188748359420710282135169307475064675971704600075265022244288406067005720403346116421377599523124752780880619072643736526838701331639756396389865259980986838467304684354538275407338726078943294254537382427135203358877911744393615776607459954624763760536389747295406803078145678108925903654639867760503691862860397828506772618666032130309046899160417427562767054094469736259405614756856295753618329166911315407242564112179723776351564227834670920682640248465586580062072900643679158048107178363107594679412308341782984266939998323675098898890043851901503205700370717246981143947388950968858510961647848261632611433494805002827198973287192626216557318344260528038307152230601687340746106555940009362563071417704030315294765418409103219940791608453026952388645308891875205756799916873347165972333260448690504224616329759219255307716664412490320053416710548740386436846190652524552562050905197880902254567002529604739699903478605222554580973997888370812519674289282556181502352035246856288594866581883057892631762385915721120481755827922540506150203475905178080466689509067778560386685322965915410895616970840615238686734131784287874669327313673349861425342287427120400391221500625477525115946392439785635349964213097331312545111477424997213863030701458111639997287211478586106790068464426092710486040104315319410556536721439436439899594091713702589164141214291560513073550418799765518781478912777337487618191871008524065570859777316227546379991721899981060790707154489151639132914973774972819071419202686847945875493080233024982919377579957139084308703850471066657559143896204492878460174138220773883338747976996646795820571610908602048627150752694601921141636359858250976527096815147687803442816810954765592868107574252167362000400764311132207450001490627775229343650267285591819816835410855602960192197906048122259779332390499949916626822364038544225415186856202716218371525825258034663290467933597953867190171591102865521022857021883855511421527149405034337191808886311906779057598033123920565135646966475878489152478599111234478557204173759852898195769160552705731220976864903753721848235442601946680806049443873038877411012671456157581277168388722329312973427392733682438916222118200486886801959613716930784949463946315805195586616196962316181495860235613120238179962662553368182522285400979262329852030275048349780199212360311460278745113561716520211214192894462431650595776014955290797122880150853541707733442701790181295291310730333772531022059951054281678763409430721113703848570474963018736411063996941329791585095949798289414782308084514657845678085671757376722971671220180291727177325417329651976056871506427907893206251122420467035836468278886738257406387946419227985840045472268479866507100540328132409549297754546346258463190994567620872529051290543877791278594846633119819514006774152839959635909196844979712250713263703825380041574149931204817401651161761594140990442152203606824906691019368655792975044100027119174302654524268246088585529475998062881054877968242351037525996496173107467408435983366338071281289434868933529226163903695330194837827654403561847916330711141024514320659661487877363118013179459615001590692436405631141544942607200994533746386186230662178846972999410342980730914203003901887451529797643705547264241951625775045770716998444446416149429609351739276403028512828253812453651999155457193135283358158578126638065095190340752723561637329696991519907909362179580625080147440617317208578043671874016932859743443435579852779079950441077746850516323908400356879190563188312436216973669291490658392750698771301450790175881529074580041326053859498158609184953725975360275441551487205901842249951623944054990511356583981962356575459998493431402603435340439968706084785087358162320369424787191261917006139345943257955976811018409552068343349518628300607585442264821418868025160293432210610876423708792745670420672414623482309755114139833905017273931426967030893946867719478062010714573717L,
177002716947833166906028445763699762944733935420579942462515362963280553075718780052601224921786238857625011518077049454095921234578590792035284025023365526920694358869868477234409588068428557733176202340862774744889158575514332893876396672040338949243530619516430223458014249749500722498374125989389043816010216199105747396099570724759465714717860866700254296008081721472948235481004015380102436507486214226291034566001395382228649140108191193664617393192068388425439144971853183185553425666170562838475467256745931011671589117427509609082832229787890005642991755621879476078023023500799445325431249358095127487267724806243153229146565019374222116100506561465911979780273359554824977613385228962523948877492649341529064807172162336992734663088013460463070729496296183404035611637974612504198546675487381558650763514714926433801992745435949297986751457435935964495691355540828148537223469876628744769134104592420192109072895891435513052573270400512265887630237885628280313403192199495445281251932789795856741243282687797607303078353903933219795571488935129622165126699450898169273264454186171106622498518385826479922730010011845743515322441875017521732366217151303931297705186061180607596182234208721959492860545628423880102595867915816669609968723175089697415240243461264112334204093542766612331639220975681802720276751546608608549060222567179141732879998075189616666743818732713414253053961636895580956391099654957879989482424983050451476305305284310700294110780734062943736421651262293052192154084511735987506507813214390427509236851196942533064868116355492712988605902324664653831198883966119398033454171472685270146277991815754987781045180291199418492664069633539358127354683224048663376403764130041753780586824778416798755153445276267796779988874152731686779297011602908568166156978222856481277964633682761556083934782581102534835695682010628382680152185785391367991309129500257929866229544250975536548975297273362457156732848312116479404583856816234681919582357878430052795373352345594158004432111912511612418972490854604256352883078308514995616856095106912769735340306746155985119479446091957818041716881257789053265762401697477838041266467651142793963021818209787786544203895565408650298085219333349310473687475059419451666221508888277922441766208289698702379246581961962160928568755094111503050719393946212176842962953704523881526955316768649296372864407638983836573276719618230698317566082616913759122855042475772774858395960051311501344200454272739654745255339072959193094367717444493763082532143478100657439225095408542289364076187255334901705299696384820562270615686175126415007318719652633512661188561240638321604775671145324943223137239902864082598939902439470606315393618711199330392748492287308969117745962001963104719931568868673409007117909827946339908945295046391152227269160810740628177620518495470311056386837151898502066057461728699426735004000508707848146820816095177985369552083311812241501729845912842540501178793977448065656699106690364344484129354453483835138505365631197905576181924534914291961475279604575831782562572880933959567352834760634320587334565478003714064943937012345050361879907460877142707494241350761051006570416924518439813552585635048007467501557546207689499293820859637437912605490376063892418362102273937327734321475379541644528107774690376409805012783716261971938078775740626952243356548671348572769029981124788359252271919605387745011886242299224604816293556853699927298675806714244688341535589027123683751533159287857157874697781018657430226317363109622016926429635011534484279066610852600850570991597162437377769707901651656242110016740374174120644114579408052410300837738705323398516555851279142161655934344811511861924621277036480850008533992412940831147818568832740727598522771103209216359201537593138792578161906041557112214637904147831402184538734874179598742087088053739433468834535747231078317662822015713218963220248550114796819190788195494338655597846562877088863407456140857048903083145211742549625340557933227415336124485935317260731159510363089425125064141965910342737354700320948477887001856818814962230159936704494269412643652364258323031476734659557534256204328693330089141949548200295857689049310348971438014737895192876881347600209801202762373273042066835758377766564855532216124329062683979830212895242366726794211519419878078472781122866757839697807220757475970045678023190722626527498636287334767855244942293494550013356054633339241880787801837677922653795782839028064747305667645619537380002937294680281984566210289015969245701198302049855537709751568357012493298567891118688232217192276676663326113612374113108941565042779159330433584318846677949995086260434788342916829960651013932965057491884097270773111599401884734069026323747365500966510340360857243463072141972086050337493463311537045360856058588491759525660442884567412307631648435414747960437421008486946817329522877596205612942415405103127524315275716446343532447938965697704466210374826656806405699160275890321184023574509204369349793394195919454364418105948486339738871500463878418961151391359837262854895198608296718487432494211139187015715577928902691097952576998066976577733935298218453466699032344250869863344781267131187908169211620327337296163491879528811540813692791501699740930260206007541464343253202053275722861485705597459681830779469365125592956300393105289382513662401042355910722609540451710059005875897178049652437455335014360700863308691619134871887053212304676553689470231714448895562902177003279104449022649608831204621372498552548960702899254976494863196221853666651326984265941290330569704809326188701966314675673177234952275571288612200647102282431930956117300836610851848873196270820620501551603274225912286128490308395781758106818625289493689630498482409003099322333703594385932586369414133829834606363316455876002399462070314149343933822849188602908745168724934830554418972370514011055752568542124998171365732473552442957446492375927088616349318954601948830747787108438084098095574841015623328403385346579560090319743583559552490018764577406141749478051893238841605786841403162993861185013843497779679606069305473189924047750442845711880544791605601025916368664212655373852713682708826455446539517327646147920909178997027215740104866837346897775461753906347692226631218703188564015287431726276685390522103357565277821909128927880640004414009396299606031765768733891276509882342594898812306700630522573884176828489449758118842813443132391398808733516254856230021067969630115593499383702712293088295691856230234445569965L,
273835437788545899273376772784519580851065602759449492730926911178102783057634043481978732172597861910759887110297657758046796592443922004297847557108074556924893589961660686235707291236603504597275632397534119881673357417224942005031126002448092829912410839353490060142562544338017438897722274441402067334719838349349675446770133475105146691002214003810412375302527411225218240826723852540143911249177192835276862943847552781907976536866054035022061329601214865229451891459716631507945170005734962837522148258527525346527290474393610714542567168709290802434141353457974495400519943940753221033050527837439608252527640456548470344051890050294155414219810084577220968836599763342007057128101283718268849281402216099975842207982522067887243750834305225133356069488598142592707715570793091358313960764569689438722278688364109428290935353359878463759288246268670794834542348288757858043379472347214757970576557533956343662711998617031297355493035898148105958544981473335737065556211847520220786676484396938954048844730147124444735292246557842529869301526928997044136087516143346782659616027054481082023983348716232315435255168857134589795785272938864631735176155787623613942772157013805725779537647503335544284797475020614785711216389266096305604373486241617232388540167589225687039340584434540439430443401408699899726720192062389888826337152598484952649500609142602624492778751813690682238655662764814648617819833813442571460035334615671779893691234627303462527913000210736595065926180205592377559288263306478200058075987105476320174656600436005772962982873431308987502356973222809798204690386139520519420521018861905198833809958252855986599947211036216799774359228296445595485246444372417103843162967932959686100102549967519316630363535603089116295722269610525170787585138841275179804823756922672008390142096753436980861097389644645847399378567245157062602501582253981176914037296126862119859975868137421554962578209574350248206482831903344850591014461673349030031157735052688232509063985066601772923794358346666090619999833862854916683334514341690932250955160681781350114877271373282931228906168214468694741364307256104920047798658614786034970136346221984733016484677607931705817000690702025395497063086937726052136144375727240143851320042991778337567387397289884805377791549113800951203656473429983105147393577245149487674383234922640382110808794613128477918808054145948310778979661803232181569450703326593172086716605869050176659846170178801920452497047366232499522857546077906402960306709239896151144231360766901828659340525220021541989143009586351131689222146128960043494476357358290700021642982081667841022642906632359644635014913647428076779255977196489245555476388201620152929611255705512964404834760881328887099546131942365652978123948927415579204858843483746677494679730280655859871699022620181050414872666861095446514579399082074505759427460336966868440697647339599360560355721139498546667435569985995476413854368940723916006421136163891421026567373417268872032124321312926782866879090335268130360585452338827935847496139134996890754403251476229877547440944778044987228883935809951482272434839402502202085389350228331594441353883893680075603072711848468017522371924369027515305722801195072464161093101770931640495361875590515788495686926633037831561563427304471781075004595443016864167299751796850409003940574873689038231489812369849119342682090942883157384539727649869999628444169047612305057501399811042086375714917313327927805310239464392053991062121460871650689220474068250907376922290701648411205925537019398095058445582113109775762195857924092112792521212354522954456431084509368973832928418790903482210015656467016067079646421523815961425958185215797093373620747907197854016538081736388545546403721922180876416285936073204156977735118721075879688128783692286564526768915764011913815959226425106265600774924689237945298010135544953577554129174202059497159598526404087723559545751163409503192747175575988456138471763733809937054712012319202217883028705495205062517777256028077644813072991182960693769137549045531088381499606625605333850821987878657148983218732243654309933917906193881434913027849235219097425029612327339513229455821524331485545122378883121190965861828594693813490004789782526215582386333610152972116372232669852556866164951596334918741789302348480986052568393509465183658667782239971063857451539377561243300274124187460662164681155988797934149380479891625957313977200177834555989790746145415523629555062313928614979296077672774634857218807145159835346056067531161371772939567956785120653523571124260725072149433689675029581348286696587283406560863836870858741013121647137085945680600787601780485119540629022417707164925996896562419651173795571922411946418456821240263724659972410074168995963026256244811438213723444735246216061696606574671289978028570895617646103770426753071352507169753980422193062051096109167251370155557214388307829505242565255120738519909853057123088854361954962246842198514156374990422062040874926524769763417986846737958103379390354080347270032650308456366793955962002873285189655040560746704462299682781184308208672496286027377830756133283793035117503336881726592877670117054139536896467682861190968735182028198241189503800738639178228617077322040291180350119544910066633849894129034859173437983133442769686179069668713541291265396552379698764390105500037122802205692102490545568517486918584340016929768087452045598940900153394433835760757555499566916178311230392894413722800767469323857726953555474854391041552381096319782057983705577906117523531176776991722761209281873679275451796146605483097872585757661053131063316892646496669109776513999257018913533688267720206488801116381427334427325083823570020377775484296720006783977440005545002095698680916512572736610520743774055692444873643177736736940258341584580026154874821368781164702599077448837788596502991206397047869361422527685630291617711811543754435938297273312679520143171932558460608444984498780686920317456393710057411488380661978378820973384938654692802634268921100708730260366831123467769502213569757644031206837814947497841320871922341212802906439899755633408101062006333998945762605979282929382331060361620501450432549376110825459103593972197104981908370265941627983360540066288161301918886411987558486492498315592828224867919956849840348694351854439685969292326432438540355615768763350836751902221922538067146499867855502146256358898759741630684419736495976105974859718458197193957638307348379138617249008093128748680110550277470275421334860619240047542708L,
423599399243336088693569609781744822965107854323003435365167882668193669436966209661095025626020332119061491154769279386357921915972018893831839106710917875864300383650471816054148784696504166727148157667055821291758590987068656843213443995507387041666813644286947630263532566754234467819016680981531491483404126919048196279893442936912635167070991797705245678512398470811598992747396549584345785918863232233385835571032636343890333320592573445358838258574974550960594933030593999588431013069702331165081977616202622322839774051676955724332116133036396190521249489976788677086462060791608981563013853327606317193069497680446266799713410228389218097820187332158957442375778294326721604648387256970453861043553099365757095259450488846001158217078278545892855317241138332906514136953206305350095204082724527291222793742515909414699525057469150125858058498406662055253434850483043885894374691765175647437466166898956865525516574248945324107333791625889654138619179160138790490050875463783801346378632420288467802107390050066068480027182838771527222980871760794675531189647322396319395351866108276747846770586704070951843655862769975294879224831740420541080984430563070839229041374682914260700251952583553793700840856316203418202358604671007629544479333492672818360397530647916960222289690755553844335184125403044218896343961249060431066830621320562991883240164145920859142054928241614467732639993198327361509587678926841413554250458651950743043052827594386080457879708142830596659169355714002721876305399068538213320651987824751144302711238031058091001312821331256281836505587780421611397900187267740457754480232085894127306032809768886607036512662076995811349204038283722782995286128914663010428891405478322671751788560363489224385702850943608159274448153787805090750335158442149545806732513889963474508924853394916476486431678365009644268103199751337178062103836463453108008380271285335713807179678606594019087827838861557928600747159405921659086482087319005700372376886267337172112407737944712537159690506628333004942600960123365769065145297486357315386946218060750683220140112456557719850328486720406851216455432396639861186011610585311356685485240955442771758456819034796553866850639239691911991533681128220428421262387173861376684068444077473615845993291040708376174213645272971076088851120817307860219310533674810401299264548165280181980150436532107645818154902741880683117525296494935886312231782337282128649083697850157682156562468624097588662690367742663798431624726452829443609659805816958592565144568934118740789232889480013715140016152477911040910099720431067944367473370641307711239095970264477750420454570287403727016654341286758294009922295977009161058640747708165576197196139005566160921220531033980370456720094923412048612836769180993582693888212648394392188613594065026246792695571584301205792500720822287511518712872996540294073087278268381886970295225710733838118513286132266428540599298803387335469187750738472864342106053971801167711910155035966522204683831350860927346367743709007464449274144881824836291256171193756576437448567403882861428529705541702241175052292187289790608248026744854490078735079904038336357583620617599398284263328146007367087137730477479841225680484138850739716631894462219058795334075169104717764654918569855218870388519529150279233252948440001898615462004763979812507574793074283742634387082905779394458078816958258620123357723408357010000843616240580551594930858076917601376869745636669873629628738833321623245402865246172952949759198425652675634305157942462047003419092346118981937577228269709455809614638764970555665259063837068214544878600023715772133152915307680696575274899244989377893017728772763401769684883290918323239185057173914499936213684721825844734939653901385249822778762315506880183886934925675468210148949255653580495115743632406759403362510979630795319014884333425343991242113362573727359075601110587147559032984987537799175984292246624075156629093425817909803037512771860857445633344866228061373746038007068918475522267562352802035428734411131516501105394625587166681474094681529159352704499402410666319775550492256371531150483811679960173813460174441828326397369513712361367654363516950561339581566616697239676775651063613745609121431144351971834444645369612529374635236332243342072361959387101184191629207091259260318274606385126787395848948340093928306092041580098770370222062005534301609572485553300360236743221467405574659646619459232205290299392918349267800066502227335231657477287909025612975987522339480220419537516456172211774188624788224052318465932724138081037383554664299373985108774333167185283283974255797549569177281533237928478277413026984867071013134750036533454168651970140396711191025558478267216217641853463504113553524431154655053863725156501761348664198878655387239512625457591355380946634791148042768260866236828260997061924114223889875229163691355140198002085564019253268734202576897649824747436730258249947107470163059607997189631266340124233102716063511237667648410926959067390226678261173113976778922770168513657888064727713722326827712982356423850587075974337381367081090415497385124329374412446007265700375607796297956478706580885405433500441353333058980527054147883391889427274375005250430737638014734357023738679795950523123788788872511699178982204246612559671138488824525483486439568624288389288692547493300807860849751329193049459461438341237293809849088065831842735577446361714293377305064312331377293755185148229577940578348458566904794485039331725966334493249092349046102441028198168185683889450514519980059830091989397818325782857068965832068685787198333003595216068943047963941027831137442611822195810935327596000843687455485320775758082490512811887902576997067635937946634435991007996296385546580036715624118099322063958002300029646728623556848429918986302359155830039134511177303648545861560088710431613872507420530577281880903025119899872652318131055039453341476082987126877456559823565644607783499777165362394960573843087289223582025240454959973243413872327292781723100986182076112400460230657503369777414338312954829462189338350265001438456767613240125140361853491146497949018960485629982164300349631576176757928740176159756703578131836234039452273712521796925500104078862166083793860203283094316232754624600586140641347876250685998263728725538069714446876899798507899756496601861942202630408170666749400027110886281143387592598342306121963979218968951822265387279108991518520820292627833981107632982075676841687773295406445848666838502604519368902225812023216109137932L,
655204706973477688217978063031837074810035829792687907650075950017351627950080233344308880379102106902457078217097785843883942045389884395112430853629341053503872622606694329555921421248812877577299743850021333686327918603991812413999074873548757491354487118294743059290240772539901673881689058969131257874562448949096729380687574864245837291528213890890575514574636373020407872051851311041643283722910984900647754421512005808137436012375707332258198915995548421118761842797953750894258599314122536501714988522253981089586551193131788905611634987994967448544197376386843052018045001543977266189299209750644584118244504093674833639333936592890493764420913152890854010826828149407333811081945327375153227779742379570092293137722770850822237099480868089191804750184459206769615867732405852589072516515015941136731866036716409054797666547782470150208477183574163850348972909312269380727971818128318968794940438480104582505234688189254967320229720850731779165180997801800923923388834207574699980502445849236212801475903788494219582609845858552413608008185161919493013363366003908780236614890481413814286388522625737394118700892163042168009533902199168845530285017749946264139200875676986578449524237199071611903599047989956663787892735947005512810778375173901606754331078029668561473076350258828874142594188194987478994726908138726928052164996726759575096276713565397449758136127080377717854464790198662904561998351205386489498843928280676771068892367897036327456317525269845400250892718850181861416365921793838531674255186785616195793687046359651833382106082816816311432312724849009230336496476916162524716554857289978760734657969416198295677736932501998126289671989369286942226170551334217477461124741909604107611645907429515207520614958034051203565906946431554853171647016273609070227903799041555875579289194407137381150660380008166256308005940628996035032311318095791670802323458288850751827026715765975661420093721796922377582073062602410865049052283519218664692044567136652230839340210016834435432337693347204234386910305214033203493682803099418298074372175972506317247050587670418063729200206674606706347289715687120929685791133149575000908442724435977412150955309953006493703972688687494756627621816883689430341572025518456985819588193837565714935481766698675089343772745119384303457312174913338752779687110223021232057090925259000631577572068419499526407941049548066375338963966423514684331191797656089816657785026008755857413698729356382044947173217966047407021955435238710070453436572217013078992915097565322141326461022272436151438137024402392492887764880611790772287519052125831379194128335333756686062956565454424703190186704138031058185421865156526388527339631881075256971756963296299383680414543134567165963979002847338057779041061164509460275567787564971107087334920615185374169687746778442261661725909858323567521151441722164382922717367846579647931659931502553790867117799390412463936968566813656069530540501336477339348927724462962144985073786094685888427632818259483228680960841720449139881856256842738951907697682422448914035423419644357965936468359694125687187293791276376631327544011917617371560513171199532890785404829312270006695452962600647146949647399629280297557185213494410341022186019321953830325598676769493679676768448111230454092274821878585427380379018309190858529248074602825709536324408205545685230749446418195970966419398767104621610096038969245619163772862825192586786111783288343114723217180724568355181081525523128867485308544460136946580273227133897870730522811299128695639936513572442734703681151290485357404220112867585555503853565762836131663667540402279276370485708919889428002195259567302625536451169690014734171478315607634058305417459514161483997490840609349218692617667350712367509312357413252405653570464372123200381204031086200271056383705158326686471698394130829493768598291537474970569923076687773021445966704676976449915039650711462616398796970502568272209256993497900921967743245311951715814897000041306532612169422029903609547362478678805039893731221001509557192088342626712144743676316429265793537574510422238858515281072359261969403802543165478941831496021165418761083446433105529282225927633049148367842787955732779054505896594110360627410168691163951148220922201223229109514340120695034964157480483854206236011657841106851153883650481689507508962059122603073318103314468240556184710900154072631086762359640202499171351294491258227207317895995444947161559305581678946302094358870018105760952478688590591797797824986537335161714618928832554483039228260260969256616124903667064914353600216978389502069602294100649503994230721049819284013154180016114550886856000925773094860659571273463009142091389329106249868681777266400300279021204349518605270213191529483621258094117911139036975512155695383137003962720141057735695591443223164160170100511204439270323431422431110322981834382290516763006942618930883029682518276865648105128127782796557396189034417365093474133702701839417203614203291489647408867594800517420726819506570666619422294536563839827667410829596393233090056863742914596548934279555774451397501322313550401186170467456741712591085676424152212633717035242916791482559269581911313609202640178254226351224819886844877015483793051729220232974307639864457407763556666312322385328649795367348282659044283398306160996754558909716903988068196195883063029699532431075714761137300782936532625317817546585233909510865283527913813927557135489658701647311020683934847287224912091210118204254219001377749702982806550097740488789671263380354614254936362119253913181472129506980404990832601437257498179574142436447773405011410190471252092042159642063947842031951202488903717110512003264901184976133347060917153106729149132168199999070556745577541850463192465838799177514475553528101087732993709586557548223011417519522300588296601190093920093657783305496919303109735921594157660216027498369110811041358535010229152988406317980737687372155741535948591457213613916142482751335827513819201573405734096497196686509268341326339771851707861917071041616110567755157906028948771591257572454726993626462725605291960797934751321518794940374324857191348197625026794264174541292972094694589405635399332692933488610080547567083016122552207868282111726506318950335962806994161346601859268598814982981524826885891858976032570262997848890330202078737172750615299025017019623525911146428527955207217516378122428903007187756907463270249263857072249200377688968082931595873161288479620323634374682186478757599058105717455302743032834933650082921404L,
1013338846566538151905372766234303377170159208958540920987107369457853529854491464924796728552711775408764119876228644985599535963063677030222421338267193934864420388580909621385099736092263115107847933913090107112383984433633166635008847040936034012822102806186876536432365893903375576460029599251018948945911025255312909656103947533160794424476772438394335655705852679264284503330760674651543251244471689082897519361435033858645334963035140983244344336561569365556765992706075940318378102635126434463328514302825392272735779318954784094485298131679516754015048499420281792733090052074248881231598158811726536070127053943093008428474614635836474610624003846463416491519620420492275553373037607073315151902869649587256950790817853136994645722917342744705905938956637813585703447747859503019512593938427749864981417567663773695570190899778440161643679456205120708993010434854798488862604097768152775953877621368650237113175435019505108837113138647235109448378511355536128224175852126424616126430869598564600371581369452051537711463727768373034483057374885125550115548093280833551103053394942407240333931243837683727211324675554071892625724951634094256646463041809911838179597353436512800737300452254516575509970100988278658497163284685844420885031647095648364752405023697217667884229317697774474743287097115600977499787030090685158457626647599830315358127703814886757428878952835659574278212667607724014442667579934097257419508567455529585977163048453581848475633420051780113635153779044875264389173975849162707662113762025101141666944246269546668782515076295088183811748114540277678331454853833515649740282083801782388847136913393235720459332916996443415343189565447603089073561890436904507299980199996130802010587952566223572360249255835123829336014453614443908030411262626596023461114694132839655148370776440962421374887250585666810394905328028758399937440087736738431494072241871329611197512905915382229489227749998044985355912814245267024286045706416031336604250703352136208389858555841694013694559041859330535550943478433119296686027198522237544568489474474497156830844920444835632157245937989624556549257309132473105467559665733302737901575066976390107104765665896764925097300476622039651562464122953597644592541648901467573390138664648326367571153286745766067939968651314226105766060511618308855592397423676395907645595601062416231278738565998472202813612048167286849720285611898517442651122715353834398650285828933803204574306255805221279761265805226596883270727467526434170100746827973195518163033173517093486944470542960836556308027863642487769172257419704955811547026604820317583401752427592196272128612235206699943908225561988480704527874951264582009062028664009304265519596875573599244837662611138653811318439208138479780143031247896394172944424734377816452440156970211635021823080211502273463274664111191711380811245645767725314580142047058882267909395395036644550191758321658525719466381607625383890580766502989156479417648765062093589505395815527290099537234207954416179300620770844109401762620435735795215228955119858559628393130743946077550100996790324871928744656708549079032510136516687735228002332923022153604444044720170101425366002421364506960026847072898065677868069826612351954973833325829118891251131994485063925315348249940262964013045442031348108277272156218905721210862078646038892381900637724927930424962490072338533008293263785520598576726020195732973874825179672674715821978410749373207661835187853384709273164035807875661970390222384373491712378949944932516066383675735890220294691057401842211659952324990082274312008189341056836089081685478102056796248534891626490571320442418003114453674564962563700943600307130894535290488243113823357512809991153037339142578156897688002501416231590486355321327909722152825776578113451978570927868255454684082795724220894911722478351377563669520178346158195152554803924033613373024480649999872671901167612374874255115194589017150133556965275928608555113834654367312005121396281503570311044084390999770783806525850958735970795921051848078423939553332687370879938324893032334539244374092805005106078720504453860425526610803620187935312634902288365550083899318543290075304649868711153856316374652608947463727903911380374622647646046571424967948523399961698695107063742203162371903890475015224027740163188074185666634368285411792771760147339665431997096345652013564864245931848123046879217871252525916903829644432548043873240015850865150972775072239018160112587258160357276860246648132746215170446040407069398642182596692346237946648694961967163751241922856011344331331984788307637219848645811732104414431824342914268041510255554155130777975698462385464950397770592178472470279391564990763335307620273364784129107250697231305141060634547455384712967722021433477407439642823221187511007073032890059442265233073466099631523719856568361808164266045558292818069163860340744384704235019955239277826182141266260117042255519402617594891482387958095166340253161296584352733796766475587063505058198932130374459141074881098584634493665410443664847297490354909258985664369766075966317883308613183979985392972620776291087660282591403048911397763671577036450454905577447863882349450969947887696129686836006786846427045235134455467887136469392867398433776184878904337823658948511475247642720322314103993713768310545453371581915442897993088472135570753361238265920583201882055779327070907541703819477012692263849538100530070586415864973380540268022523466294191836912823212913753934526316679848529834453539484482684614836549993394112317689979817116573143096661111438971027696760260165266928491458766253991739421714509289107424330329591236474630930580281299883903460984493622414073780127785923585448245672029819303080948131913613897610793777261316335682417504416862018866492221667936897129982170793909735265800879725538178218251658788191375543028176603423215732861607224237017282110478632616080363343511808547147229459397062446628184260266447033874291043104798031213397556401193312492743409913028835264185049426841548996536974196073942144426777053065657781094558325613967646174958508601001991803216889352802551489078849878272410330591784605829725636962606377347941439907716570988850915904349802532842334596635585745729881235740156923746361525036338697317370047277155467366628503281041243240423200234706749334913057742869596940906957187731651435661351377710602984419409323175836404456825757323470376729442445319603241180573920268935069286465208057226723928461249850525126838542553545887234860662054407112621622032100602587926255144L,
1567070034081656501434288127005530890456658719245152030904361195976780638827229698760205314775175146604759213724968715418907207165054844362907577387840280175346049868736510617558361850475354449371307828509972953257859316553270417025253923853196337734174100925318298427587772197551530725963196034589005837737814518731844744161007650001025735824394416518348023427939797593450395043414742055200059332347280583248889490480259757491599325514250597669839591108384001550407967267061850235800572269719215587324943004042232031254874989817267101101892232964473998892929119356427291485000847408373304320404113904912535313045277573182702413954468469251879655286749424165164760087691395529084324624782365628070374264473366535707494125244612710766350048348593314737088917274608339373778731835622539364439737101279005975774375970506350933129606328348112460085040062896785143940067661804750331624464608157471047507872529109934706780787178573589441172323806781385799625167528667389829475001085221314475962770292323335898593366357106591068723760755536877993855344012191871790614687796339407283197185536953718476603275591618237705362844863555006511295335366863277403563363839283201664435103350721445437516886348845879047055725769234719050789861822649496370951660898973982982470684150869554468092038505853407718134951553545603699213861812812202724492270761237127235531493669021071566360511677955918191113903976306287729398723893263689772139294338663948706069997607767948041529395360176094826798223867618006728821421936082775445599618413972495928301644609662457138995576967076155447747413355841259960587422361550674534299547944309587331453815374843815129988530449890582013862568875868514460834404576023521679599984775704272059008658558585113246517055233270346135852659529680515811493705245307255880172219867873762480117548994635167718631454175794588658200273437569733238643139918355669889394226358326578828832559969185891181462626841377857400200576550932168874811128906976898170011375067995646714140318666835660013397913683533305474713566399141938182983511919500166835584174611467633312897942367796843388926273726251388104985813715886039155451504601254083960647266323754596236076870513174994982722086886986877692922411577014521269329955548065405398229340360402168154281778389169583949068682797306134264909809179108812218024637060928181241120480195594389388338774698501557791132096726185510611903442303697154064366600008582035392246428034091005027311640413230912416981531890911141116602054584412443940660903243451899301935087612312794012720155804236644565862034083520466399881173092978029722681269556826727701366832010970489838320716879771074634479364266218674374346303655055326027455259888968586345224682787165594949723636771707942368749729105500283327873534763333229619173960685224407129408887902032948497527245959671671553133384085612712744736676829171658950470545186085690436754190024135418789634420309006834455892791424457252795330844040592331006871235744334174352273522306567008578691248930167617252348318020376845165037573757000118635771358672250494317432643649140764316740352167608099927567073393452383365246025019235332753490271498177806852646292070978180149129091762781525499551803519546841589663116817816869438560859887504490888813759420657720601061060922776306194848924294978890132586362068184383469754804568249332346766705585558870611785762736745930814272921193069663707155214172991164826297733039817987078145052759758436699588640799734628322457753886003844517381453957348150828184845074396441579622940080193335131561382762548314863766343071914649267826392449395622094591772024935548685730607649844744458709370209713299799323833899348196355010029552169887059281733788166330682766875680629540837107218708792022849142173274325168229729168266744626413956130541467424354394419727279713600334494938541945836083254586056684595462227885530407501576831595908057411587107436479306293660383218027026798230312447770951890689395730452440764612979150677634795844013549339764595713954896509655841247915813499455165199105841445448259134137433663853737108361926267915770537490805487108032177688026376126757903825050661649251440404739023786549732629301256157638507624814481466963859472974062542895805535698409143962691151820510051796674452798687384310477691457733037109189787961173507832175229284995669511741110652256698191054572878813818967849031103584606042768453874617689227911079985407500128896545688909198333052807776732875085940417785884020744874078945324363799408998158897522814772016918488794324723004763101563650880627809155554999189429720740790082241661979701511993660946157521374410418466436952484377755128298017285170089673697211388539933063131161951919750741511176833956131982515587377209180971868745008811212250540953833695804751045197329887556800976162205114591197536256677180675311860657952969210127173760339179057412094648611640397672111368475991427790550660426853647783212010214429932101019078325099162849186150809966655076887524664647295836278991187482006099096801837367564349913598748254812716522714228802097255246933455960354586763705637406390706324469047967680855151493420848096006009935626399399919909189193330862154697331142703170501793598090597154554824750150641638962045391923774087900085005711079002950821201473683741097696918339079953728827046961433088665240459729478795151966212370840167671817858887066460412497905500580875960557256594743167625632569914122030990667663620197027058586449837330181833980012378876828356231831938082292614976469615873744297569697315134584942285711382034984632268143022048977898424063326346872170449293285476954606000899806941703958856280887153202426934267272521651108269471638870902327908273428132167935858776601745627204410152727217928538852084701270129481510615338832484890037026227977456111313027867390886055278375376517064778608955287930145216137810879598892514908065730913938713004943212221987119208285492622574895189565162429321788438631635206139444428228844701528126710720476393283927603612876388976544763687330924842125872036653370347978898143605970308638032133845376930599824455727250682352037209746097156066733178696965918565345153859039235207939489696385162753862809422214355000852254850397081433813804979493268503828493068116318368906156235907215878443577315491482981777158692529636878693037977053358487139626787013733832498951787143092871382311253061352597472057599909892989340707576896752163763649753775758322306237772527100749468426427330111237779234943427949553376577930835029266196463342158684957854882500701411230971933112272725L,
2423138137123998314913617420552458393989428824125542142143243029990540572797996541243846323454493295613106247834241888238593357817044094959205336310740285820854164886879233373456778822766770234290531477173825767917729187864168809124248473116693115456874212886830635452868495696750466528285081417521173380244442837378970013483560993847735146792177060297668324777923699262588523545323064967335827466441149404833406510072990293318852662337197952148120575863997331225918777676047950258606194191970567990401613427529011430387150864046257628976526767627174555384570882961332158271557589725479458139913858808550821872038087426139935843726489611910850502217596669247029447235932495969096956844765560155589894278996416417697020972129344339123982201282212032572199149851623768880320739523177186213507691257100917556828459921476536745793945699731057888099658123545645055950156754553832948774425108916276258818836226374587026942087638855175894066449382877400039907222065458816014280825410696328790753317327102038981956678015967282610460227824731651460996245466733842706897173842402335181335664008977604811461910075202171425556234174690306614555447419064803551293835828897912294121397100044557105919744147993902042545703555673279398249762843688772444583783296392609514343733099612250550716084895420732771606391438287355707462717826781262997954685189892017953966582357977929809932385334549852320745584107904512719137715038901099080481925370379386571074105180263853250275459262535524617805985528648728799049585300626879565118449633250800696417098278773247259391349356180872558092053891505192999643809831812106363815011620677036844559403144722169447510819068551112362948634518481704345439493497025106627621417254401566767294071670008017463555769514766129396309619741127417489169782636162879604543612671646206360580853184618318965065317878556484589248034084563961592213373333857781044612106477387424004284277087741253228732149061343587209949885169835224512265314969848859450768042926383821036630104823062793447050917040456137223378731486809628787499889753428409091638334720382752603695651179718656246418835005160996719328668803320948388828738597690683370163377195765338654074530263085261851921517084687427964462335742340296909310997492056812761705245830647785249392699481740067198775602243987653749581116190808412624267918301538668251541054686589829354056195438283020353218828858965682464294227887979332436898937636559449789831059769217099507806101283589321105048659350776368760955134191342411647903506906761160694038504988116775605353460388402383591216912367966568033598230287666057433180450222623521325565423005928557084073650889200869201912669783730268282558318854939540434405276482076206170832489028210290941420747709360718691711558185668560202072372856466968848865227827826351605064678723804197756705477811638430083470351381348395826361808026903550717185567427418460823405303322668643912710824829968485711028560532207284827783975873102476134243028916453226689295012034708245696050790985615635027061702568165173507334762794418062481675030697978501303632708719258656117097587370410861592671591085776041914419900928144309599293001652722117157569019030984492433786502647665289578078322238055683536816295111671546868440765381894813922299787635886793129983167292249594972953844659995573828967436814546475885151401230768767901264708332603618724373484505166516352438767797018068448646548904534839808805001173120441652694102475789381898035331748838997366060227826732624543592949307783153574610273545140646811155957752343614240053040183478437579052563970061314018791316561880211515118231044776619470589217635949482210032126621520601643584325657607720289632931549235798557964029309308860919831601279474243235358272949590726658484861902785469518601317146738494836189345114669733741102206535528180807776870340063997035666244844831663336433509993106695324784788361189694824605351541463487045782299856491879070182885677602785794015602110881479758260679397554463368002606143887269723972593583928707960617689386412801891565567048851795811956913952929882543257268405759598009594259308072209061426584845174236823467599500454649535072820137546296667920735024124418460069147812258410534277768159637454536117152262676169653019901172821157069963450848958460878582511735429856961512360318833186396043381142286381820729838313690618202528937570729681647249296475763324999214980557711902367425284518974127049155951601644912727187723438424409451605232783738655808613703727548294186272059893356161164223580645491464567780053684287634255214957243727721228315397919586415076262875204274598081370274920142542847855408536359928345638391750426319832619137109112403036878975133330528626600388548312094718883124791193439365165534922980921025744065956227116933307542453148135059123695855861848864295309200701982098679559534757712167845889617059456341537043648637481404061768588907733906695523513273377321759451018905464459118368987760060724165809537693025902788024725387266109347543553564657770890784884687712789861737727119728806219152111743725521845801018933090181014142862906246711440934571161978905061393809431081902730387101597705634119297051999182984544437540767255723655709065054068447889089147806445744993157948544579198843272727276209897809398881339062917155394330569397064467493478145745397605962206522355586713706344859764587941095758962209286451164572526109713255024381028531124235589870141004810566155851590188605088288583954037713268436772577920540218131182679806925214669331173580281379513019552033576257067598092781212237467593536612809960921639509727288269087096363041991032984884612399929178665390256882711069840844591844391098794461161058702015204363716128274668661728135352194969402204020225713582915762339660914954283385209504856532097121489001127801587436294561324382868071883518952080477877958210328680861654803221281911586173204535487034615484888524698300109281365653166953847417625359016045054143462644593170485299456187151276900941030849579480726188923717831807793162565469593319516260049054542248343319037977050721145065078913753752494297418132746934681004610938337363781444412753817889666538002310931685348722955058984332084670492524249311439142320407418079875332858616563347950786426910226714914555181944825464765173116925087074408836208237289349434607633596984940093737044157942340126352666670662651448993854070142585342429600007840634620426304223314993056914548746312361216261209309866706950541085309680811692561393517564143204682655588081938685553459483412406766077735293034843159633606664156697L,
3746485135505522971868022447664013980052762263957005797083708934331494568538197299024174476162483897391778222726383874177391222020962774397083894001972365667586222773333343235189585380177215072939926250220179909530532176648809762651700703744978991177930052551217768526744870645908790835528028435264305381090174893721708957015102162751133080216474199508085905411414445999988252638466750318517903353607786150431376439097158390312340848551679492411149545978644193571496029924923251422393571614544531617768816814015789422264635489393928582082838689213873338335616809359134478623482216040772488116040462276710290060821180367704435732247157077623962609227935276126514937937679039759305723721477756591268486683922324876664513363947953189830892045096804244273964085493507343737059407006085518195614332192532771481875127656300621263600385831982672290211877000342017349548648019038567302992538764780206960628706843032490672006200814873963323894684188725832797668230107152056806854570036810550173387039549062874437043317341600234218214196004115001095328364971287489686493950962613941253421150515696799486793051314133146724167648973920143310462155712093738598918858958783426970466479752332511341229231247493942682233252874692576721801516081057011362452612074755494355010562488725769510989226803384883861146357515856536108099704983256666106098854814298455605836533083963312424702469361578077236533365460817922492710908329960621843816049365605903540047620105105016427775083740002935484016910674904832660738182094867309558454190927493684398942604506242729576688557348949374011711397702575783682805058054433744520278015081001991474770630023633771141182309042512037190271458162649899004184408342010496071637777648652077038678319451750617485825409487741902861351290888147252240395016871618136930300952174174756427771866459070874958424434470709928292571511161267501664112204211742955288283501286071971485475514176330348163993836459526313862623002763152507853777929542142268988372007484066730768051615381279121869269918585093292179367612912340667980624363620465640971475330327363562893051234644148904444478577190758532600602847286178528144425193606799165253400994873011252873754945200340001584961407916614012232232442793810973060451552672984644857288872143238931169845022369260235603236223354699220440847631587528503909821996683560540076628407331728824852052627061576720578203656183075434066697163283755139674301074958732230909701949876355867713642432913264411244640801265965884345675136319044921638830945781182387345040420431555591703738600760772432225380398970953723273783173712016710065456717341078757774376977026728106849590231394896713067082257589565393710944791844607817585129706171155274966539959314921273953121672949903822247997133566908688950921005647922554230361542102141557925287409507221092238082383903043200720751971227719609545731667362729689026590465005324013453985287284606510467070673929353738344679988919810465689584175084367878793688189388153847365756339345447403095350098748446723451519614616724665890136992897002924301056110045063766594503319110610386309388789750650744611969972005641356574789372304683045042895898575110860829188752077112108074872034806610592276874851577190964191670453542561244075408302653774105274961838945864956245314833539907538597763909409579802070485649400230029152169375463107467785869779192263220138675515206748045919693560511898202026584942749552713868238044136703228081986104366889788644445324705180857616024751545902145492897397084845976408871319894549568699648439624344855338774733226832122813956227995780371236067444717853120143388442431548935739061349574496586175457959019754477648991750853701340028151847303391657986122306121845026353320403035705117482993664296258053496024180916785020744882830317472336972776021602972618356533492647218332330754201351807703173789432975131261535817423683638326282356121558592646425750942223664719881340244223735446049008918140033340659458700775850134029616376814661632858065381806640251325079958296517081498047957670023290261960140407857590331143168024266818899601257497066717809225190079190250934776005572812120495343113894771844390461780164606242325393066534034067015302196257958538132651657139844113275662960597175004919770973204030226651924997193972677348134187688758322833106130382456621678493842113052467171028235815202593718025873411451274804777970537215642848959001098606207331140226646391402897179677313656018001596290101818002046754822750540608463166147305735825225461183232930203910796395944517268894292376809427488683053281412049560392506838336669023425916354639891298155911488468227284307317007375531782226832123633904413843596837732256293420888803979870389143338363295030205114287776080747569971553073124453294032343124718317905712921939490419611559814428393098012705339544725195673087640068674695143322387050721592379988468118559544105135739739228149776628900894573943707609563377770575000339945318252285538899738021785909576909892711151273971106896585183100878235339296033958025396898319399951288774935209147534592112691904836700132184586675662122484278809466998079966618648315201650280788896483900885101651488754872783198451251147239460263868185971260216108150471208405982277609201345476215849391724780887290633649223724479726828845155573699742574848121056282980505823961595233876799625050420468381308640049679069914754524613614487911255963465378119423162257241358787389382229242214342675156574844932503295794561273517592317089218348337720016535931667889329077330556812061102314142849848924971736154304060465751303969076799212931426379377107466556676015816586839388494289552115810839150476794068733500297693713479953370573651336560970677127475551681890845537259674942761938553892663144231577439487946528657100210871462768462165284738775868347708439625477020910215130620109916146087906357036916276132918804247671315709618742714279548521009390395934862543897849424417941837316725259250661700396954977431883445053613533033448388045195825236191843976344816635939356372777764634314564392786018759125136829149239059877080370902284744577982060094487272472916296100999130976458664817060661409997769312979298211504196217425254470215465332215005592741737723995118555017224221891456643745970019645351120079445385235443815476267971522667383336696761256524648687773562794772582092783020046941247868284589082250743117117108097742606972002655014190629796873681132111137761940662887786091663632839309947515966438734389378420965116585004259748658775050378104757583403903054466436948350177492384754652568740703749L,
5791965285040644038957572650187264471855529348887704254713150098924923208600234897847785078325366220515124299552261628180168522045176180127381104648279612755496135313223938737433718402409983709488616258769617813679048583503847220508313925018099225865638432735472735241051888707146801116198516890463859059706409788519883608093206911311568997449241905051853690238513812644988774439579658597506120717773633878865783554382370039581793580110985376703074389414458528240952170824392439025784960072705895728331274667275718872273139181152584078441085782669703276789466584937263249176947563272341241962788159834618530388454291964740947671866010768378906321085370378170457997200692711082420233517962765531859897830152435685959888485269670830205402693963992794147853389830671478483534315159055462168620058429236925123950570535525200787559653972240885148100431626182636986522247320671430969250466323797169825422944497532007827006353629946290110122286938850937994683173492992864765467250164435584929566828229683307385762588061012561839227139320626811257828717760391716123528048264796820245680232457192848647459652148023085018214645614408138664418828603250952781406174951682887701735525701007667003063724053052076511021474895277666176194440073443270033606251080018959189313536272746836007331576918860060028590469437576174619231657163353256273688829086773448080300364454959192431547115200340214430685623342702910576101759482537891687842564734111039875359840342118585322911670776507683057891031733272853462408545529757880375273935149303087065028771582813629007295121990957526437166639397285161366854154009523054717626393811320186740719526664484073978471068338239903028841810037878147115935549512339129981838595629285923009331266918912393572063489108581282751340019153744916621750086382628635577303906325957887669274849054847449659015854353730759317531554446070594720335012544041066070548137652432270141723962759472093998221679412894564874594389667796988564080002577743399238268077643071163644351108601469824621093318407971886890883514897359974225590707777200184188604475961753824286901046141997878483739433811719982875976066073322595360091965448287082967184968605139686471644367885578314853072311936974555288015493420896783813136873360528186900673278275210973575418449957189875162108851007343851814109020185768824492502038423235846083983242360582184211776320982731012425173334811130079924099515617636806280214907321161120324582032925859027752526635292006735993627167916365941517013895601824062655022936964703625139435301975174913202717941060202506568181856319466401968800439715514564825575548742182166625876593633064720697354736526908450095950321955873048954288313579599343998320751152716264913420184811974652489277971825315498366823757671489251797688975723811733312836038496111794823842562363437327604073873161970357804540483007250570186660969323090689305102205610628629142748500203163260333204662694971673893831815731292691737531662195100395342105734845882778562670165022758528961771570823214578690997779509522447188996227406262385354673483845743008053701672027484304896348659733665163201858472375425231816526784100507776337031575171719311061573192024743191176025785406635640138545039252566600765277986750633289036815784317474688391574173596610310082947976102165132856076850408418229540570174815547969840559435302797043519769815498795737797721361712418352520097712335254277588540446298929388422888170488957790792326478001454570661732440517637909686713743464652483703701358370937750734083935513694530389709218091918961400940604224989806197445803233656497400491006012512133223863655197755632084332755092498914912674254765860980530516191260318978279656369688301460194468580139970003984834662552756886443384670165109749863579285942124306714277068119615756484917046968828660332143549095599837484037890977593367409238349933182130651821350620323410986773206469580578486921705122976983608566378268684121579292557481913197820231853595704011195542513572032245146626779809882625299650282611635971128610411514669176488951063379074621100304921909818973752357149177444732338915982848792066565960448090535903131457955484830049353550265849111262672849985721623980966761197783918580445453450344433274515003303743622001981756479802366036497661148075223090593247530485128228591857179036291217092027889680067710857875249768327596485507465841306705157731534767855343407079233506681808782522843000755861355985274582063208373845966527020531012437839313823573887299735168710710491805089695905800633126516961573117098691687265863651749076988719668931006738921853293875553628005206266008992841912803314881126987740692019823414306820961199329883254608229902269196736269418154343247094861810504888967711554898608877367294077578229621088890856317968278552290595997456789208536464603070216426515982964283996927221197980248537895395425892302798563463076022488036245992548116888973796979516310497290787754265033508028124620901085494153143388421523955408125079395914495201172923743656480361783055864130230005710007245259189134962675566809476591899584164151432220614487361760152920502176059197091480976454673047367728958927985306945349498700100565871023482511223179067913498939359457846047575793371219185573788050559837095880169205407157454793565051146823397186432368018892266480473469968094266925908194905505071246956287453935013784629081379714740505833342282644440697654475836581325320782241237818219529187004806811619854421449617103455858460770780426451095766827555459673175846049182567043526038620900022373229662783269435828309947251323867876419318791373103896794878976196369361670513132838686157775075986910745704211523275023487855231916259056463305149335226850021767206008735894504334119720842442241677541701063159200679405360628429343295589974206200129341986351183678566051265673061779767426440231576494329485270694020009638981098768294217663190056928228324668029004195012557815745647057828754238382827454111057203047071519612798500075924257563452356486539984201975664997092993553656849312979608067148030721945528650963101889460004399681383643512806820129347298828057410998097563995272239216931015264187090479064074203048840085488562731174844403276921001926193030592628261264637823861088618981863726533486321783008958153886987424998450452526542947429305149185024374597068922314779453963712399430563867043660979244603711140936773056987358310454654742999549191883576790566578722097884797006304540172944441593137818811932246966542682479412500265890425099871907396173296468562448597402475624102461309394569087537489178391680L,
8953317865517948620323429250563557051639202387505182892804212443727705180399528302044890632794492312541590379102861450545477815008636762959340040551526861674585097474410060904571215554657503367912384736862716372686482932998772773453595234929854617186852111018509006881348938857481857449878028598378365873334313342847825606219492936213627471619826043250479213725368626606588394090781406667740753103297474478772988089168785775004559555568442679611965718132147382121630260246733515560798345435289433803102812533841615046430319873008931043819832610226008059312235121460109454528780419986513937547812795179839278055691901919134943764805564662759960141338829356307808498169855785901328813043795168010946309571051480610248547236499442345549062508331804863233781973789394708210731494654740113243452630663269342002426363798013851049890360901277382042489568798136495007646460750154397803000978612243740095448581581456332352420866929758017178458989329176882527769481860195748046382736861057058148327065921061555865985537870230835103818621911720803914340826580884065634347024818420323130907895427433856310008729429284690680632977479066130521797723779972408093269778769555426489195464094620490721196080131145901108860688438753817111146227424983231882301346507822829260870582649884719099840569152726835981774534461809946416438712161479204592482667340305392067321214832491514080869753644923712702914561143250510418143101901344370555832462776606701667566447927801023658203041038714729426134041768932839484210470634147117091133905485244449747229511189762452603822867854859581541852372165565003002811444614374524914727076753431438583580867419078457248422724287666513543068660021578815009070041696937658545591428632391886312785530294783623303589317928589901064232343653230016075716861972881678986433435425350393319505772922769018258646338673083857950761328772024698722475570778619615992061193394671227517538665339069285821852334083909572023295362578062402296148393853150924577326851625639887517189714931668577258978130850442681413324831481091375616595878745318232880184034854117875283237811669823122870627931458473728917174224845215877332270099747776280919207136500575097704658757355132920396519351726307198977890322458630023761421580846014462389284211609002592963450322117168974021474382932997357980342643636466005384395394162253359835472386867220759350074688299724673264649353908231948279202555590634517422129432442535929568158284326624085314424967058798999422069284184111552491980851035606824038742957053769885477415283212683229215433870925336976984035973278290131258314429165590698627181896464567536005736708825281358790035854212226813198520635619792239827066067078999328737986972296762437251524274205947018412910559875593939269778275618613553394346301904776596266222992360744768454830558994969784214516403672212110709659000947553150481265735109100282500403394896957144099909496808843326865837637184731897486464271063224576490332264529860399285173943345032671981949704964610245356201267997128632993596358080985704046531914795386770331270355249088202556348686559422784809755354910402918779672308458366842617676505696070110475803426087938087939228719278075981741982147249377231677672453599423791537053086322685183532211990469221774406566296326392773536774618876438711458710367865594717468280344963729504880630298811856163793596059281563185395682498876685129671659287079781782141833674930655854600281438078845118899550035588402583272818719360138528741580449213596549498456133561609417391774852298125420773495605902099339047920267297738633487216780018615601710345934501399490714033209910028378896045602421562550314011132902064393817005741816886233323276816569347707860284751785510141994858745687101424271785471147011764904970808276225914617437357655663846572648749196455218796957992111344249980589454719652385465844669941420578547502871429931018406769661830590421452619680405549161061326909748012013618969362266524313789687703011644871846031116310463775237947902221340659191530202947236300213091385277357252240896227328017498656007154133478971689599758889514564839718837307487934698763992602225500279742739807402792771826708859264336869399211649678110460482283863399963414583264808160448450640004954081030821775054043150867180745091564473824849189166613407601861677769377348939223762789125946860456169513902379255536884825023432876684280470617019571375035044035308585082003718622575327052719240000525245979504083845070983533380584656685531542759638431242033922034329396540809035904457957140131658180056188337542694882547000175929336906844901810385244725590658178994977986665450970369389721260430272374895775435359058704897878873123001283513128795885581855589327808450442847574015286446331796938441439739105584187252498149912616535982925043824289618222165262270956629852608791018733585129636469421757759760258467362048907934732425972980149536180815497605090733789340685947077057530557809403897520888103341437444223833666906582743410228583980705014325362732596575287664727742795366219258608485765442622447991204688440475948235815950503604752009487003341866266441298185835824943894223820244327042592182768040647296186800895589769784000695018383980913960270456624058203356414329959029931113762921515775766655791872528563883076984142072478704220829494226103181342298248418802648655890310617701391371086313951349973261576616488801253784330009261879010779931812774264522489867517234364470599346943665709040516692806339589730712276341131095418467548523633113126814405183270259498790822084595594196820315767447045652556007803592145312715186987326726379128692455209746119836654028871291459266820933873207742365641534292776468731506364951547479018589916099185629608654990685812619080022579461421720553674885606658922158416148462222035616704927890807936337807522701865692965558132425180855509572777330189664276793346191023322616399862346360294287813635608060561131171616020259865623724539436513482940892659318044763893106878923354157046480999784434535145033703071555015782580382631066759925004842278295231610374592913418960137083830025218858534760840691921591712703462216028245634435763933004974888680493873433526369409325185815771344406181840975170000967119351965554728694000890498224185854701337681396903665244117605966559783588787234789107722041689042423893648179992739091964803510876178247880947913259325996469574810606801725794538653597578235345634065100251230063567799473215174568635532930425654569391135645853973219949001147889975774991933375303208577284577879552911428037547474368859351596154309543130L,
13838792405963700260044468869319166735788090134223481364085483643468359442520516279693843143707970716777276416299035417671700995467333671323520517102442213398599990479025212179960167896684417384411574257630937477919056315802505574552152510247281027363864654823190133370251781326274836453012280101044793706017818159655595988672734290265385678385582053508162312042985735202151812712168076782874520725399116907469403279437165148145359958954670282022481557145714309544370481153485487955870718639705116481599198495665928407059561580094781814410512406651343061926498245426568545503859385251496288752282071345722860190942787628579125797760612300276969839867919332026599606937940051973278664372323647173382862640912758671945128771183631880622023931194673063229882721538926597145979450193430405555063451393516951282266870325412466107986340395167147657754471430093891092822026799171849815043551287022352027433568979979663291582600388467518719279918067225991731776986214632974211291563437023769637106785032921150896939214864848159235310526459844753226037235815571213105111113768483985093180780247211208397517030030540307183663954570227599673437056642931735596171253131394149746610420177291608625602889359730750337031534913811471746034470043493409350978519761122217567294737053696126383099160827963860993051420009335674712431275911314567731861591748238041175994748415076170719789066511094688061846335305266909509761947279852023312252356220164038335163668536367524856016041576547706643995984849652617013901286177465869643480423006099942855025463526495078958923301442770521240811434373258799676339716531115172237204057193657328145018717879689739934987220358227957024576448870537157033852276892091595836777312154212567748734718764597040183297364180732139588512701500498185817866790829270265982092816779328461610492517345293355894415660227024554521302163254682768287636144806744227909804656707097216527452738331000029652549364279452413464279523646931032016292972881224512351464108294743950881056422649777796321401729014554370319718867301031258096829055190439904311532910132933456915699223096574298515076651494782548250331344830170474858638228596682955719505145548476307376887637533506298334002360438819981128958964433702685333569621290510570935357898455788966234942884852782617970201566991356386261958901688310595640392344977536923472191693937872127959775925840342133459214323923446486352061205894607487648248482347814889150884104240337514652233192822142818078279235333865710579154145871031753252311639763058426168529317897774369099682119913854119166958431170979374862621313495304737175167287024844528874829412072987281928468714972989128528825680839391814788502751549958393192943561359567260492301765583089398156904741240450324575409114180120510623671184075358235957080600778192798089388143979544491992824260962673071200736881582702954751741270403120045882272485069907752097767733106274541589680661143988130194999046660908917850882119564792996569965365393182045597428733066133185695296384078602085693300542104815769295935958558908957537572087224726160332032112611735898369109526261637890493909333457891679097142969138172549818953280488208777318957117354914378574909432562965526173417171081307201045685746988145403931460581032014945352352359680630886001360092008835807013665025706917294568107129090923198302265552998991349305708572458731976684393124029633823107218465563133933364029476260714677995613738499141768580764191378099119089556409919778577431975923490712038119346549627380702277307240173855164070078668128116696099621246306362838611108450125566332184625861519702064171740727981514885113364276799904527274983562986417006070564745896718846560457253899809451430608466430761388678245104018084953155777938763411018415689246990929128155973717591435636248764958305886191476006691769270655352824714136046510348791211624290361397773375376651996244220499274506795936906499418900073449859889357010537988852133801014117917439581117535062105083308599840035952148882242809167239956879594097471132779202451914689649259834366133752688901331681968468536012237839567345371612586224416366740872895891423369187060387524953093525928815302588105230194542660074456568715656363818953690759268219714147665196383199912657041315899927072246026169597829805686330135894238850121984528203481768964182567194370198534969812190444326953895272125125807756169929043905330821545209008431843499322517516270827267970303990704563408699260986320164489467116493752845902413039348074977876509796717822809137729711365057541845562246554327956608787339623168321940564025034025334941233016158438585593163420313100931920931526595505809476189441205343422493351617110897249282388223838013269174305792460323573308324607047745450410892185365843528217537474794455942392496768745560955243151797989543588302637388584122315953270302673478588416590368471278281142442272043255977668293275760596539905074713178053374083156095786518150831583262431695973647000702273147931998090303860564310220851105324584574400927876406382121109597356750444585879203914803888992674295411619197208373011285166050585291543536904013008818159163017390278520388289533486192983792405931376129666334057877943762893379593204029591006513845538356819947829902577815330988124253080838782960612739823639748614399671995427745136223276019907470482361251867697964598184929668350184316418260148625501702434547723867438193081790861451303068219603475953620567818914701460284361135486501091899777701346615795112749531982291713994953109832403298022578688357233078559682046926222865297963059803439144681311835628628829802326929900078740931735862109644905690363861217933525650101128228844857079302500108597082656766645900512894399877691128883451354660325181583106882911696795792388614264172893740065610314338092883205883009841753906441717326743071849739993714685726524653676048184905552868690360768969334552321741286701242343539891621650997897231470277396662768408921511346662193661216516424009876416835568353352199902304255449877525195057398284487865166200756351510329678922251538325238199336973277561517044456163724451191098412570192890352406219856675512774930556049409129074190749241543139400417228915266413315011177868596694529209889892062773107883187962593029518891448010392951239546750901176761220425322725207939413685934566959241198909375494639981952983576133967097005930465075357434668450051807045663387704938094245602294391776232519312212913544822732071009477566530412702212871425309877008204278661800684832915879180918260185750032039770377761193377256147690738960513526883575L,
21387919719388355213285307036229031563050674614032581342017358977165906201969917955005910766467205844052772529549255624679528499046955311022040137328305502980896022029813555211566282921653735951245477551947438922508998500119899598050935928365174670666791893518289761725212963072406006475452947149442923340142069649636054601328781079179900303431208380854216245607374961396588412923464565290913742312110753562691783012033594973835230127159072868170592295360881506209098342078708990302430214995983045335534545713805314069808707545379232168582322118199857617366487109797346003095532130431350161078363429625463407037448616296492795960961536849520305652820117661436946876794999616754949282028581887456935332557600342244774381228574925744617896298342254910191760305303550789845706355021463913306356270511200279325478905534280487217118544398646489134733073073389819672686047212204647594884606166017184290215041630540795005003950735744322489038316410319792034155997568998124789969544185542465099080691857946695348045378448617219597178720801408301312854135399864981934599278692478271822868331758813786377355657268761535117783450681314085761949355326292168338921680113059602606696035176146232532785582938376509160965045807477881132443427131954008806036398808881189931585199343908765686031855338813421432470807510429484439849884880805431839070949613263488851983437213915250045481408643864713344155577181882947482910837990732291326519142866249833290298517161589713442242696514195551879904119724969026728100354893151270447009779268312056243907119339425513883354719450462508932090119803367640167747201604025597454116286095194460106167175985679841670332116411357533816905879685802609787907818023657138068567260758720879806260288131465529295643275069134606385633378635514083520674852050639571007268511519682608989360998540542683271507426722403372937026334991483326380590517251214763286361648556834431662349729809635745281639670571992924716196120960763275413610798729171722156774280532526987077880962099356085215041737803763747530855176909515560236639076061429206636696064099469475890051119110208441372196593695300967280812323859937893301344140024667563858167113576845535622530157645005149363460817210074980187070534556171584578618381694944374317640543605371970523572108915459139581241779209803681382154149189713222381212987752551821724136202349381927383144967839635685022236472532111853253427733573830194656513380020223041051621378748967223197562172697077965673234177720575866218644756270945597057118058425431311488518960926611200973248938725227269810824909678418103005760102898462855144671751624906636749623869471864138501430824783382389550744588681950767389312957114316193965680620784825395627052678320026313615096889745439960086906267479734250787858585888603650907997775038072333226842107415832661933719649486192596322190215890743645384334753960818192074227172837024800201983455402133473840561446108048592896593600218041789507536126130640866407397232371379790762032775505896113985747827239523813967188910038631957288885884494215737288069189172314651345668008319021348784610338247818885323177938411971210509079725004159346557496322542656969411390041545910008855326877843052785418138233590793941924772266124272163130497507318417394764023365293114201520484870313320325405535026359722479121988525293878708927072011813640073117409852596994073373007621582476535457174290192827936378016732652034803850479236905251453259395557094329071354842046334609202238487532606867128809109657632697696840295882610262710806202402352523864245011237402028586782343778521942762405719235460705272201742358364520415430843176753996564706091984931027055824308893648153866661068906522815749631526908129985361911332240683229164352836872513312999100579875710695083156496213881780435722084313545735095914077183770299482308085417278938903864768080593979607368735404908971316174359570826573853186910125625571415279420491854520629502548243123557023860802848028329502183918452478134198512574448875347558634401296513325778635710889025090292106962889988806064224527882002811963867576472450715822184803422619060126056261246150303576876172744351368076168753536185251333607064834325079344419981526304647286046387167142734840858632690861418370963912294404585799956408545348217696872956128969941019915950035345612973271693988933353363031719613808433107326789484788549975685641514603143482230402558483212905871939113540368657495335574344105701624616186096476875267540925666766237795709977249114359670058089724873837865849964628099524641197641030067823110205374174922479688611115171008555066704975475485740143201935393094069352025518546936364585070289343266746170049928312821773425077932422657071571408435062598143107028721645101034781941077118586388965427822489688638960567193602332998368438507140854278909679276119170984883127004250151676348356830995547017663376775522410777672215999515937470004362500941086146345405503688751595471243635841903497153044022401991009318309686226316923624570122779757226317957766157294313229015363834933964148513240860296966871023733328113935069537711448320971077862756317235241047040465071619899611244008559264162336114985594875160102442346483583160643942911526882471727496849561401084233525270155253969508792329766019502860125148543180158315484642574871281342320138450661334758450804822314209064932978071481460886250789721444460721599277646348791908128039711850147338001881275069589543058123752543944603866864813980376151711017895910034450875017595734164726822240854677498929000168183127008088280625190847375887247360520435676917729636262396293626231547896752677423605902724834520149508715103505529224194725868750495256438038438032025796704636476873195252989986588467277819555520867365820963550354003015796372773460303167447159238164974413578779537765792962395265876126429997518179025023302740965809304618069744850631527884772597762774139913562792308688172241387337938244523608973797893600643735447708351238051504753903162116742027470104695085103720459076189316623079848506638385180225152201233472794989331719925504090783514829766168458001563270570967538637306238144699900962708311603648152856443266420477742614133709593206732098863160649277428245938936558972435810497390177679714902573006846084109624230061349460132797274663940661636274365513789860621071681029188265882063500758740184312638115413682753133443700536186305520091631255410016363810531565477392586052600645732527749143384383501923262097893682738199089461058749099117390038000821606526228165536309097738514929335672709653755992316827216168545L,
33051797003697699275048209710754914964163814019694280749882439338245482815517427962964566006763267716465929891752138492004144452642374074486379723599443818898501576408956697906991121885946508545138871591691521210379533442261982996061987793748512657300153534510952973579321710865886915556433302672087888855823622329669789913467547032745339187440559516988093894682120620150680247839979467522609360435861685170872152959392456395565555357963264024600267143035883924404509948619717199721286113918103652326372101597913549708720828682540731354044123644128683712772124859804806081727315138496309582145371808470308245044854621396652976725176099981733888949877189610472747449287587127251369004075941391033646353109046618160069073996341140554925944583538733279048338949767387905143279419306872575516407537520282733107479435170573986078539024095733245678490954970387801574733894858578048887650923228501486560099174330169594151208917736960882255781327387085115767687350216320657419352688646879095327948959247559784628763233279497322570648844527402063123001360809831153566096465362977174341683301926376841486304255017482122152035359630897160112040361166198397912536122848557933479294639058358442087126167050131579516448051807705977371379819694890021685523826286538412905581192525517182071326018545152447710740472340129719212731308740879522999633073454539464097104748846079442345058706702835646839741498044548914605613405488711160619594034378517987876235975763480228747613613040002373611211643445023941148899674638762487287673938981733729722827245007699992017039171524962023135486525639670131188490391738743076443683789296189355074686918578559602702589397890098246951694270860602626880936674855660176945750084948285316278475226161585873099781654220195784786345440525987166683807355491960093771424082075400375855573560986465683431734159301233563381670176664487194388634537603846536219272474993156515678523625914685544676107495801800224505221642112516269307964594243445982568166647209206524203153712058627642389682737679349178781901307654156561150876321432440718355092103363046758228056310500353597814587447117799040169338739124300474759939370833890490306075806562172978053392308858766594932513200349272807280161150099606742229466365729568447630163010349159621306823394591310222180189769639087926594767190020427581995185247039513697428444277342720727879140676241862835861568614128831251222318876491056483248016472684106640872941526902325675456298924618694374368722479988514302490895060688663090063693450215319136646907508908060135938303953742498075950576555210707166109721961194320441659149841972273538429575616073097682743181250706021051450380196787977687868127671961136410338874001719934625640638634779683186527979587800365139621076711929177358438179309683017672944795738955538071239140472336698357522564449036384291184926121162063287872294548004561596369881001035929605584454269375495986211979895563848190017728048867969975205952363104340453745287978948522824801447278540326759363097206022851429845292467644766319526366941038024970157518872456452949917605235818801147565995750234314120245412823162451917381866400963036390915813990761348958780655877996767478929557456299868773251864998856941725279121670966413591486832653296068401475184469600590869957855847649193905013492893915792694054007997894316115718135459105721884389735243870791731490730128987989548584205243934075009484999591286266655950127811503098004483288107644187324095107810906539953245327109019532252005263825523113242792351843370331846345951382786287178743289647405456829879662755222001839275350038383375808742131467060325250920308527187020038804300634152839182321291362697613481333703037831313100053098138695404378425922728557856559972684979809197169927669166539569112420934159649250692720560348295847913566965782013806106740638284797828277178457917298988618904495149352297987899722188718255836216065331948633702782048975501515549088970041119710381282813328140484617491703105792913758506883631306710993827854669958713809156050533545852007287807271699053470954492850626823345565227744517096613915909506621215254023767134006895429615086886837486139122308361179211835583849495805568539295137168794999955173026547709387253277849843207384709554103404508526575550046975423414315970263342148902897303238136880155417801690572484528939774043560061498966733919451484862067156735713836049976317437546313700248265933847853163335838421207791335130050821303468648320287725622362004510245883290994115748285145697000938485612576295676001580968916690480063109446525818963599179683795403098003871640302408498623806357352542877564778028268335270715205004508812303149674428255619434187133748788825312571342256958765884743268902414529830755158388523465384990389438748687214910931364220445563446267401808178805045791792709982652880494508156637620134948630436624425557815977924977498326666334349581334753879628555224177536756459041413435063778813195017788414594987894517333761910493136930222707337342019035515947556169338169431953056307118139443836446875607901045982521982665637670357640786752209696734895520929061708001737817252317882160492792090682195903379722420401517094843834275127867748202751691371908673114942567800457174327647748436308418640610643133016015084901716185406761882258762899109500661553062869389823284602467299025509085203250141788994673750126545909013676551416615836747769905889616276156733362966906975388388017895922984229168231693816472396894254752479084702769133482297415691631530015674575890627458313181990232098435768915071456398053969592401834650524738396151119655942671985069971826871064872324855818062605324148513382448468483053502926098943233466913214401366171174202895324886609404974652781987504706115356173561894177200048363773253099227445700858370100707213488222211639591627323850262549688818924174184795405640245954540202181511085988850554068491745575885279611093078570455596703967837226704945818795339116420366827524564319755256406496721641298328144939884167796444585022852580931911883586514028345583137147067715262073100529761925353522495594555934978996284599876460266664669668199096316123190124068829892282304840128100361514948642440236103620105418453116087237017382607015377004524972484524473066491697293845088445880024448999321126877231741951567027569451838395998744244026997157628893634399915908741992564566884058509969321485792352341117847822303982000722114708891218050552597224740140026798294556142527022546027570970599976057888365441443903393318118904951282285154622929042919235618089392633750270163803906561L,
51071405542834837128333565915793997666032742130678808798686740102527156918533654175744590995938018453710179238728946882513853394238779672355570801551465450859109168006361599464212165155420789476502542269452259202139716221567887877603253985262310586838890560450307170521822217834417624943200335783355612154297863651148420223291246828676957621885562204110697675909755848611409064523488731217005342602093641153745757253838595218514284861153450899603398265410216956629877158642738142262380083432359615229636135786313309046525065595110173245830328522298962801269476617855179468437397512107775081326327848164804315133368921425645086753392224084717728401815149430252548804185047168330332904354701594085959629165316244089132611250592987717871036142344583129651283589391447598334229729155286258907421055984935727078166919502068525807959895887650964115385012217177703427629250595404483083080703008497662647663307022709962013468072567635249193816762493581468847527616379461173079041568765909107785704498071646325611429831978145051524385405051707847948084140359329384594637319082894510257157711679844197487262735187368928617795988969027393673687601823994527870738354930183625028538743970517993400588971878632487185475676524495433101793243947456519378116688120852540653082672978436621785876380999859851356218075504736158814406712928576881986397831424536415091237544247225505920231742574877410176900938979233618665349434714995979050445958042460651929472033310667611972136744304152502579408217354116081156939555497522556204631794638828138652791763939388876285086542426544863394901599940510433918948742651148648008974625409612893572130304666971389015480019537385876720823951492266516319605257333295178647737514252910120876959665293528896398051183683394036247500889082588273679730836547377645422969700047081468207648584726273076270890239886342507721839449012534629804790550967473802235493623575041485546264210152635321803525796715646283007724794868493123676735141483261860236339338308693646862752609162594056385464929644741297427495997760447977764356574427262138852143238516223031784036114511012572334572685175787267725844496032815380941953409922556736309646914858795500681966276723539109309089684825622065058076902934609515726574425677951194157730897799548346541875205165588618940720325421268757126110580990630237878432450271147336697657204970114837096883885569832279615876655801464744598491802625633389466783030715534549331964550547368268609451822173167821571928095076978643314752314137797277981115143739461818904173267926083751307339958765207511966915998417861647021644042625918044646684484675200444983530760839795392402889259996042892218305818429910651035841348499769057712161182212852322344273976107470096544377265594880618324628027063420689415089958956955944901437216796477154671042925260922878785898162729715716382288441622101631683738175872280410728221287249778229074504467381670773929797214742389642688953294735485548425637625419982547240168470019046426454454228075366192945762015780085530737540737250124258176594762509366322592032567517321399800982382918267904404736479628839953067967034108057102185073981716805254986829985009665719056245379852041648202534822964528631306244125739777863442518675082917667608620230036922862660376779806049746246136445430175281764646210599969687239420783143488608422953724679729463489735632909857879921447918503807147299664542009385645985635556790086667737221773580221732594414790179656265267323458716191675411917997141194760189744537065678297813588242199468852746741301494354609504517385927263460041489179749388506034222887118370317025005956091275803775964727226208300846992109750177808406845610519289119770889017263036784454881396476848932759859828442555155231524595199493212726755572325881780824783109884426497768222178228004533878220965518519991791650508604823864772160368406068191441537289313530366330612276679542844790077474867596336416269362389178725277243150292459092037292805790807000026038864143778664734162791629964099549112849760318873479557547019925738196744566924902870420046371890155422662973670338618472079219309066117746211476978591235995720682447437288113913019625055351768957674825177866901842825633358958570895252951852431774119255352397790291645218727342770362852638073880649680212820288502109389279613584641101646906219348488036332058737462050639418122254878516826600040136571425903796047980540429695167236327830515194256827571774818545690432662919797691847107848916282066838823391897014737508144423718288169015574137895138641161671558954255641511570916408459528477003088281131875122935235161729015706402146853297679334057063833435059761929120039234986002067916090123468642665658651940859209574012488316668061702839438786863931120633739201646408716394803742488463150877426154453210653404580221283964796072408192381601069410538187906163514084055637820720730986787739579749446001114330148079377933583038549971265880719375302147303984460081303153784919506321834846442561091970506640649625436785148221183811000909664938990467987892434070848795136234649696482668092584795367858234627993689232351818501722350741173737046110192424276673799128124611982920104630796750586816751514595618812102934989304070611317741932081714488645722570841176500921210774260898502971975540158737580112273053359372873771425345332030765657582607864159376683025534824517827105736940562156816365308941144996338961493034075532495664498141753316065559998937314193999831919381989275294525912770056214461610078807031657085532179418163765460900214830202195999350710471330062429407893057933574996871723545197667697877476099372889913355610449516612499039621950158473491038927592749516455572893970199909666004680043714330052537385284948931778745311635959488648016289245356682414115257975966541320565808261072119965223600921181272630123466648956333083652740826809680387687141718255538831659648206594871632113756605296176095439074863815093409716622540822921025849197395661362131300470920432725168309194123577357773832267014036146761113090904239752121827021569907353662332184226835931741722482905382235982439718640463670328716134941895190306751937088816182305425149232884291143800462395121252378479672135773645076644793968897735385741426294677211337299231411168423014096466245105239600876086365798143905896119568432170952075412691389644951277829187495019192195825135502859796857259427034114952896091388988290771195729110930691772013807267547091973205482766203896633269988482767095267229353806382272356902850066267943244518121024896302674871185688170226133898319935204743225507L,
78907224408190657003097073483794424312094416690260978787022056069473505724206540402360003285520453111232918504690148351593096999465376446045074744380322817190562375124586246352475752633172182579969041042625238831772281013193618181179149962241820990557104530750242647350530447107783948926748378534337732094352599577909484205705445687701070050425232876308543383449118316230912826127392308174504572853366632366862353153766006876040157994788772649759958548942485668095423032118100014916778624928379596021875434634149784328045980330852400033254349236830584105633934425551881326814971163051701251697256587939529778640511179443723559874369243587708171690997858318556600843665390734638676008560034631065729087169248593349033973040291515185334746184974158777380693987220159209572576959132829876491816791311367014949400399423307046600165603213484568922301392771999261170120597800722284909640568571534503445803497801162014041588544613558254507652604617823453676797219569275978399126719189351603551138009090603506790867979902318070458803668317226318378684784012791432270397854405907232139826796884956356285144092509358003809778308725074659368010615843701703356788440145059666060856358326438471297778940704427337694747028709909448399283641464191717808993472811217371413887677580126300688883016255498986332582006320947744696502272259130083559191340289201421598772429897244215575560589459348909177656297714123901844463521928149713932520109743695518099897433741185497157490973626761147897205801971649044399479402585899816956965104510414565109933869161459424051821537327578910375253394105660632398056472644462551849088891543896876619749894290605367286805443453568411059212037109845947496814403848495131856924086546647079565713495485475880831389084021401755999255165986603480197338019962803465034716334403493661414697563526862632451923521321200169690200922990307896394690365782317860102115457118272859230050911684710333821412407528191631397845172658776830664634227024308783587070077767540805735520951528692909613283576714458782242501523501581661518758143519346764768738244546123726016054385774356243731306175888609260279230198196383397539231049126067707874388018674781420097986651445469042832667923306937709043588470664640839214670609762810726425355563039942333410408156224139708975529419800163783261836938460775000355604946167032467764841760217308047173776629918627497766904459756235183880543135926610652828905805882047240087587620887451051699319812086953068413559650229080384052058633948920964187536529374480217689153854302428747193349908999388281828032239541420272790033390150620435383259061937372903959940205019973842406295749616403029365372634947339347932393654392778386860906311618785398870085861443964305333993651027893684358481733251945132604874359791863596219054910580906105523733595169044540573815265824897547094126749006374556923776378816209850517614769333032501619859532905874498901834571532088312257942371827252821816687227217346615744547490640249150089402910410496535857501181565211601748628733108607584633050185662455351544494671835150287680300625886677358448095375273757491286922614762061728840679900479276819731339622732057923980448801655692778206691347039136742680605019564215083248501851900527653887029236539244533135029473805068817832789771428218312394573602005542480845049419307554759930223678740232673916455135619378391336857179192406168669681245028502189560417331609253562737789471380769797660766268608229122989921812916790306922479071191905899561445536129821473455076062537285397870225373606136152718582519663621727378222625264845718604408957082428921433545841304099841020322428490897287141217051486616872679902065135881850321746839458571494712854826859649463152522019213487954297228149750370470805149311768898478101332542163327150649697688081822005585931413887063219833079446765294008608431398854776294448029175929429911175904998006229254721810030466745110274431747633183186697535886578680632548697341466571684147387171774131762176395634845843059822255007518716108434499041004471402183996688091547967701139077156845645048097264224949386631786496121881337441659894666893032026593172750998788924181378490771529095121517268302421765477655768816140917058780488095427703414052342699015830007630647800627008830554949770438637234306491689091101808991252889583144840824920984238366326582981228085873379961345067289835302720095049326369404587225169033245943661340862902080069451649298980505813404417171831319068571547567597892492317851479385962957419494473903792367387022734537081367191916760934136452022829110652868590383510035835472169333517060113237328738108563832440908892243668232036016749716060066786311921747908070509110052472041961090546137387858783306652829425221972384872048225230345609347454400120467777639148850464103478067261553456007617221365907836453769420871240583348304197648570976270072078574465851410010000737070186371108003279459323968702908069278522779946224671409551999180995809645008573364990859353476360904934636948942729948438826619113180826100433711505930752866912721804266759494288540956891771955894669415979582742992279082713556928427863269517541361454181919190251647697600184083529337051483000150302157871048610568653574905356485677961208265570339982668137946206877423951021766642366859860234064368353697679733970918125066080665275969976288573395003989672383380750273745433130703361618618453537642525022854225673383229895892206500261938299470714483461854674202492280865244601846674736647338825455939261584549590196388337447155856844239418188585668521149750631761442507648141489302270113635469893251177440883904125831292659682947139243516208297304730477942258317894637139323705737204347758654879404991770989038250146687177013194073344952164743864393048883666419964837046842299337356967624836560795444858194522817514247702177055269243821789788709190625244593809556269091431241232940271170935209002108123721885280840010272734274154722600669015325552749208905075874235041878844435690826196300304209749649321100734595487812922766542344961511354019540132400831325342422641169375326400574307767826527314515749948319034573032017758748128518177505725848456476744394041277960488779482581280240226015640262854924740542062600702671378283994414199883986660759626557321110188087843752162869028239052703484555504678033733112422998700471119826787474677178891767860509534043776501893923165184342591219016055866206655745479173800687330958028753660348172025928956874082205670747692360770134139467402873173034466032794525218441900651530396970925011271239681722830131382332L,
121902319336841805446035315145833790530868297275076558340853689253877607082400491331817715333641158875308511730467106846952746769969568377176389969527114754487363234369365417056485119445386066920288815693287378339116415000933936907334232735314472611813319877482541375822823413176165467820896495366440628528567128150482926088569446689797865167047535785642598580327318364191677872129778455197402001054490432302253142852540327539077053617407554832921282025479380263417413399007335201243227240016524613003311820730662585798360984012151032885209430407847761686818930441444846725744393354491571295410725871994446665494295911259624362563131378871190090765513478508515753002733162311549646364601254932977636259019882835636065053224700678299388725011666132191496840564352831228056095027163542854574384512431087055327048682243290796550518305864239382018722073166271901838999691449237046035136888783537638548793361692609348844542939627814557133565513130970739728622062880607461810107701389102743871896626660513038167113688407788378740187792134060471296580635369580851629059532533417263502032779996453014924166131358307354295484390976270963919411019306811209317016954701749139198185591477560681814155211147512948537022629740301632308774963571510121990687215916963191527257989078862754457519172091985821854899279978615592604488722211281655165179842034762741415417169953895623157724307721992631534674440772158459377790320015252333744167147552141218994187052700311219687986779014390040609027024350631403527357757791342022170914484358890183562994885530042372562573900050467645246234048322057736894135040662108933448705265261613133511697488233762646056678046056630463803876993696722198449967363642964778495048180283847320240499667006162797578664934600419928511551626810721287119129804617348290461808394763531730322427521244736546773255208715202800947037771721498525956740258292140423275188172092051344691259749309878349326330457023326882492554084938615804027997931930983103962763115317476455743006931050970941772278751720243924815203556863337230073292171966560160276661676945312549005219666925165899370446070061047484374612733614329775219759451729333583967977884724738792842057813580371689267734227828644045744833278321528357126446069908867421918752070821449913567189866952195696767386024403676520544696995313287698457766905056638650161288319548051445957833779340752322074635920197486936336356578707378651377075575914990140552231969952333520321466708658220037074105499730851127835506299889956878035603394534550033059358260086682148277151452426011046777486803288484797290617196399052139859998307281093254481483410553256113764748175802407021795778591690980285581526155264105796976805730993018150872901389146555906100178347540024551767231369135354252935903151138043571052737369741567900738978752292585037712382414784760595303473845724271946141106489823303414134052720085542469507751141006463752829124720742342114430560885324708684918115142453319958968762835368296461024759183292091096340729026854826973185880593400079930048349042604513801316309018166997652139642952828051654455684835153506163925294564472260416250494956885342909732060665467834800922796945644217195981820817690877197884738747461522232768676419808510013055044306240241179917406823547422325746050626243915682211426846033587532023501880277136185226462223886560684932516825318885306881881347243554513669214332437952095545418198678152083075909170146237610059765646607499653559759818820795603795479550059460034897345285532419860275425580178975982778524345450729085828354240743144917633330484357196571825012505314124940478818214230928073065613377986052306983445594991076648963800112079124744420800831786574881502491688708787077746690742183776255939658599887257835403448780060127314017911852426545184392191726312023662911243674852895510348976802671198498189011387880644591030766813092649622872092372403303737439161592440557622888544759134897371521895727460857589616784923464969024868530060556342399357845901878860903306181733276092940632005939205912650216820533404638259950045064219700837326826662719481796047935689896885886259616700164963580574583928936181694858498701647842674978717877027707129032253531000522716397399433219981661288159719681330959209723664279633406184378915750610094284571593489716514810897405934738803597369887838003488868998161188505718816902447605943149346015901394074034258328905662975308068349659978304078924936360723158731750037490109552826465650724593702790479055954080996220994889221611492422690584244298182576117978563350458148111079632739050403142217673880276151628909440054312147350066782915414735584840323523396337884935256237710977083085345311666089318043894556526777347529225041092943086628877456354099905759702902123864122558403057130626397951355912263681463734467153960275810875810489756097736871880308255463418083927543169552809700420761659033268517184212501308429827551061718606137001867564869101198489358229365784608566499662921010984370779133282163641103272656154915495519277526975653250831993718136887214226925622069215312475798726292794339676240198680743129294206695502512808251102163602608309525439095610552277110928782874444687897465783010231556970048875237104378280988989666035517990517234716030061718013435495153407323446046328712709122707387728034888368625212123232708679208577420544260274442714055201666134211665528099432570418528350627717867156769616580468810659929440849678554758348875603696926631753704729578255509008516168977392196970028783627275257869462097950904501568413433464241671503332828320483138202904887248942629200412056078827775222125566268588033129837696434924738826623125426237899237258366973477850470863527747097735556594778072166493047711238737093779290964407259017040924561332402736510151050700436195003537556219009917660376870516382417445964536439054218033167344591426502668931215190443550821409281390762135893288493507079738927900738903412504109183616554452350208862860607901072556599143970275456245416550142667363610435154592329853249946498869473140709946802288806302636577023466695719902336296499344458482278546839459815804685754314123878215476908389054076802880148136161795587334516779957828954995810624992798838394524441509124056144367315247131034347726243193916197610993349289356329208644175565158589962063557641799887497388891693066469751441902077331861717747879409527114445458168247380356434829667025532921775222033225269371218723321093587361130530120658341643142526372512831863599117028954478509123323162964476563047259282843570188971193248546707685672873556941794L,
188305686878769821888794839244626779006879412417667313118304652821992351213324021222361200801630237630744893215001599495143357552552623231246661038133922629968824348500781792721502657137504363660486981285965343863457624804029127486071960362886565813487044580866161134575602903272723332068979047171473697714511471932842824626721631239995589285366733398901001416940620063649172674524124195424410257369995131904236527555865520120325173120912077446693122504824786991946282506739116355599750557011696300894188361796556514075736416235034785055513936368521580248624329086842941477471968021127671775890511755711436049131321651590889661056227156665977320913070227320108617374457841466159680537468138531636174384077396288199786588992268357413181374766606730075623950302332124945904267789812510079477069167978231914830119124721018305522335301698999013896145987371983525965176359780340931827706925111774966267022117751838654068356128871981698244050946231234578589523346319432585484980878709335702924072813150640538373352441861941472969098160600399150836289681479065514015752936605103246933474719652908916571255924412668599817177791574250577248048032203603562877340746374076563119183146395740476757746270223455384383449339153440266064351815497296218220072182418645590434961677493383731795469533138705012366503484989323874126743867113893597291693128798393196049688947464934291257575277305789165260523001596726716013413314365610289523018786714064221323854589192407942618578545083085953835983419048459150836957672105782380628429182985193821971290075982997308442798244818923511547070415499372796463587143207280804055978637569265811558398172339701395524342504386251507948137939735908467008671249724457171759957867330584495426267837251397702211105183356418966588971736406633957218937912671933935310569475049909195503149434440755791438455496735532202126642813418138703258358511277655256003636455083026148414040904007364972159689763016685406952838077241368327580268316442518248306025795234278551693689900961315262286865810141520073056247615506577435958441121325687983311038044487205694750957338986516380866276088234794681832159042761075336232241452268500370382279128008832418848923341386908987034650280690964253460566968634126801270126399989531106029205735577154918740181656994780917235542057422187970438049560354433814029037844437146698896271892017112745279323076234980802117415268657197902279636643410423605895439156713239006232620683460039093128458480317011804883469042271148469860930790424097788691913237538057377408847376595981328367902479773969464745909848742029331987230610229479250537735204841623851729508417706607676188111419734706206765553959011987696443182370839546098038390723636457377141005759623258298707082411365239111975212523184225843861173351306358655205074510449729171023454704504137798124438102500523511786949709229219655224516534467408117452221239485220724476430631240621223973347381734449487552488872003712266170190381817428962386289962730603892661935110474863533530988395704999831717295314412286613494483780284546100057507235066843264925426423431748346457746331005416284070720562863786772298985312623872189038791531538239359299426120956422447503545799343145811927358975095627879264652547465612810458514121774436816773208870639906565413728361094820979400150478025271374691405265601238103894367971024846666367616201644100694445243744465640051792024562775434007746296232873309333805600895156040160376339883326794309869717169085275799472798897771858588169013881844716132673227840408714299374456989555186812430229741130195441252541763268507906698518765932242960198160002454805833529051482249214461728182997328645976815488226575622488404651521370171233922549857058979481720235515789472052039295920858872255587955427361954361863969780420873785625904269914196916841812033401359678400611010770795549738572042142782634493572843875692557315078235762701088008196461879846615822099388186285458023243742379888345062880733363514025090242375631816483211457963386816872777115699601968666318288077853646923109079964686066529085561964885011326006963503419271152637852550142769417558176796142296971214814243344400148323194655656474539523723646432256731489589491554749059149037454254423825413510378591352242692488591645560965205948039792964171401126878672743478198399467662725856984302509325978053669004561887287269827706223771607707279779853414298282200942008887126446463060486182716147601703806272077488678997455058355780508181113075360687919105535540509130630321339696298943701271189451713765583302984495760400808934820068464055585338900455236080505731193844940398057475201405339955454157482253701180650566475021505048417948069316466690068031809655357089456605329164863569926464912052457895463171465212983113532896568051233457247966042100200612015550766687538364889364581034916391428507245020709302227093548806378143147021080385944621081438948081253631258792261098943699197718893427509004113880138738502762694436268775747588487316480845898161510188089274017164844952916223395610334783571803887767543187718879221581377293364961350793559627287758025484194345462020110870633225362317545334692866244811802034326311851737873167375881592864167910292282277512531245057134829100310716283532752176862523319839175983205957375907332020529866008489741871315523702225377669549808442239635364835747988982321310418319594979735801935258032586648505329062188107728537327999209928179122084114478254762272387508501855234853690866740848155929281188173898718662497207443865964504966697955701826740010954004628402659462771395169127609416962336267300716281147068738686160123810570105804563763386039284580026950461704341503650377756788837126312436514056725787321555893537565652989350250859942292385090245513812809000170172925317138383556191422101781765702058299084660394227598225001080453078656297222337743182606159387322664838834603350509037812921257930447340288290754237612252103338225526279487881746745599566678294276570780715146543407955098362207246434593529873090133134661915215804343081576561724406681004876220268926496219991491851495067630364558079124372270845319257606400850698257918737735404566464924116212411379049793489039823031510225052716082108652416236015718769736020972387743687531950111788952336473944997273564431050060993317765095968264786479988327811984912292949279553191390517519908612663814183564851935736751968288551900879540691659111108286892448091266673866181558344699980719727893748753292148313901624097493416896724609206041502776256991112268530343651668401490505079755817208861333378601109871369L,
290851421338510552651024902218057370500269652407252640242819147847277195391772588476472094118672051856693366281578664283529273081833789208668656919153367320681274193144886600628509277543977139217654115885413426816018010417248568350807797544532618661814497898101790436862699480170768823914651749885866018323721347823499084813952386529809957407485694869721327714763996294290000746698115956379182824507090845369951575830726140203214015033661913912863708905593525986875996803043648901755524548155547255139656705897795713716720278929342024654751274090795100474960589832725044170231893472541112118571386371708682282287435457965125570254686244524554567323261852804458031339553655867114774727332621788685895265308252547159616776008608743878425308487789332986998620715809264644723423748119721357497399638368956947485218165257868249837512864093263391394170913802416362301238665207620928339356545853903249587531979137329737352389000713726577265732545772359650979055918310364993350123513511026581318985240047291418336092240815296924932688178531491931285936293050006172998625939977500771263797317441435434097544790109226692495440157333141904505743885744894387333543097546887434711045113971994703052228203654740961896517164073925990381430678766711630989152457371168799358794138195222868160713943292210913510935579075177802265397998461635915533689467928329028486994551083710050946170727303370454821722213388929596059253159300039456590965822894041696791157728945764866802268431470711912315416205021429363207085871102875333441652236745902178155766296374554256586398306152248573757323959762403860611686030136743330453979225264390069487097569192060981320740006199178899009186471617533905463325528310691425941245258822614089807673629502760623913727973244257628442133775468165902687921439501917462662861090827513775917802932206498218655539781023478753669114731673602615783614196607303621032172235313333446225528842922934578521699515074836033254408788994115394925251156105124353106806477432785841728826629325522036588654137042777017289566042812762240733014512796113082548585802146628819803339914127839742073529969851937775739596473477055664741665886687607987451698576088133192184675151136491241377905832396118420878735643343997020345299395025386109662376291867567931334814624355638973193541539622545839227920180586827949460369521022422903875716150315668843944256443028898709460020055693946155228312840369758022388766569761442722687019389145033635925722385788950919247836200600160098473798884926409761359463963667942911608980027847021118651910269400776240876683081589834404278753074834271607226104273872946037106482526955575931294652819720753568928726379629648368418499189088914854854392103048131955533198265838267789735037745170646776794340237013786394654973830034982076889048319472212184959532775844230159111839678514548722442436112933326129117408434401614558212125605067127050675983258264109893527443520580738505352924837111735326529506327117872092677637386611988669087132452273999661203557749261853994678389958951948345673869542643493306261244141310456046502936139275272833936506644907676042175827880722967987851412721919158334317066255560392886244678659533789963860185103547549167808006918090480024942805827053125462346312753418505627915396255395897786408864444435367749456600501586710037042144474209685978791405607838709904131447305894577578589537094512306210789073846615608668721696290030045641012074830447434194656333824430795793795793046238298979083892194857464098381453312091948602510501488749676161586107978709724677747280382225435696241861836545466729946358083333005818465980964000282411326942296492488609694264123510128017765618258483973203700131590616417499657416732498715772455096468581835032862301820467715718980497658507628050122685615255331962267031862452212569746092073864571759908583424570528035507839965753848024680686543066083733199473979162745432067189387297733146939486464361996557649197487301947836134036405069106695334374749504267425684386497319045826544891270041480226670720084726534472730592655511180157912465414455356382971480925907896963393400663036867192691131465798232386083789116970857282116293265423088250164774362798959920851962806974299232998679407545995231127071664774221966339134699606013030218788599185260517877496579734130655904399088006363654830333502424577681650742068276529714499340394013434775158762787403841347480669325882330760298894285411331185755403466718967228189536292058750733023519224853049693721301124380236520050841226891242145289941115677549248677459190297997401207164725537167400025398372290018456959460599924923860177711980057175010306958505917327366634143247939281425834594444423706770428344039240414247401445349569033184775692883354655447678717142196687333501957177286988877360390770932400588947153751721403309716562898786874493454128149490169419411205749204750731916202583459770136300371895367470810734688213668045633049388648380791615763576593341294936439435108390371639641253647933724372595027142733668441272068067887089521711401426217515269136049461089727787439113299213913910549435636110429810200443545577849480086450674724331693126226125125700808342285442027939150911243313308857022424878849790921766838561879413557249912695294422440352847078856495196262087214095742895355229377820499667042487430829524549195776425727036502360592346604616068328408390121415643670297708772811328052625933495493904930775057345443061057122460206775618360139599870340179823272522257545824772386253116362684577838741832747836842712788468144413815585415986625808410278112399286946372156824556993987859692402036093720773837487715610141625200737432718811373600124554492004069194897426912649486559613149578587072578566537929568715171201924633369329943728656729765875895960741465943232990533960032293936409266458853878602004571190536532233603750529624758098910136521489839303328988974581828230582458020053335736754997805319284581240605342366610002840794235922613023928097926177799660598395709726907759155747911984472859405948986886874348292149863326401193569922740954529145850061299021423730433459778209507346123294175559518457548362032465951719736230054127908056497885103237323275614108534205750520007226801670584544115484726156212852934293162760798316969639595453710331287150378171521725515721613732010005508148171610044910017869784081124606833024523053274602348805490035062499230765907214325783944050208861801635526858106024287015611916807605128658875444324594128072796642334589709507034414867847838347991161812630796867629487461445786406120806852970438092474629L,
449195351392071697737227091662796286745559660108780514730425046623424957873223527847592320589954725122157402640960286645293929939352222701647345821785275696679507326919065342976577434031752706357656587935810337751142929224481488553022352448508263466925098457610597530887650258526673896640085650451150307097100031081318350176971573454158332718423984392369959741082735129600964752832581142616755664134691066770285342285700290909355944362598806055035406770630926962621829523387709489392649988176486558214319871769498736977555239125562256591220129321821217443925413698786523210514892977025681590694744364314016639392378678157923321596207416033228857751082678533740303815272325550715993975835008584682694052793240735503542791463989724564014966323249499176388119712514078797872469846683564783357132737665697374021924768284739592849508391562484491904995185912704758110359733393291046788783928026558303251339854418190197406145003378174923587223567971999425284114704514363596829914559537732948621220393812871358474903058749492769953498088586255951086374163942756922511178207824936414751417290907369411225508051672585363444385190077363377471090406716788162868724448071017864216001777863226276633631537716169694389482455353471214004115869925416879301819767860291242954505210010548732384674603549526368715166135324212575908557551553515052050102999705877443026902663567545230966787261450139029261270895027238771673775836725745986344043767170624414596854681650882881323291517047715849239999538076880628492188368644664602055039507155931324678650769451275131054074286250620968233287924717438654276938075274395163920814171361229805991303519054441259958598661408764943195286734891058485709564335907037306136397891833080245152785200589282753267172962027266027929370215783302247995476207527545079630057550783584516454191115367576957024343712803308692324732727998174692048779796933933553864698904186267960667661561532119837664428322492707158397781652380238895714648043340571010109364337511585094574409195569600743749911869684406083421873299252785229172081986205920238297188162100763772154796383979503309876900468148190785600727122034139287810376055188183621706107142768731269096827525939949190903430721147076076661976212911506776111683026630172060074138174066847479015376074484161793034833519132776823727030990385907282893913784472789089202833333934695692370025493428433302525596565310848456380050602197657921574089833489238349315260888074095242613508894096921403320371886655504553728619355673331721636920294295574621701337113700556836940767337664119350636788403807382066529305002029338596751330830082190429943669119310325748639690902254427830878028351731560715934620163044278645911284111503366941649208463030897274182848237147690300433268624906426540277105732943285095244984445284051267795398665487450993322360172859379846084743219587996601753916605453578540040601869649755494673627386788049901952568693358700065844348669567815192061778825546399943178358720380600348907847484647385451784383325551557305281098029564401404176331146781620773170137354097358027016627619062495380072098953319341610610953949295276531770858201001610333541071520472473834725976684431423649418204821189956166963293477358161251788216902208015650348427733664354101359909413702477665757809091457679632087845806110248258690628529884971337018874469948498989864062803433693699424544288138795381174563540021276840891218487766874652670328750910185135812716403183920866094981565808689745257176815771537158120148212672519345313899610140926156114774983440506520343414367230631136516271422213998490539180725544512288719286621002253835986580002091738899608663542526888962445652307927199546446197239941009994827853069372083170830855926228783057244056011344339266293124105352510721344959401138170548079449759058244375260979099807099487705480599373260418630228569506527107207516792428190858117388347293553869301789390847970780220602671646243630672011936486517778922583802118645376586234843922037956078245257772226322718734292456478306325655586240446788939179389263062432239315496739335089555938295655164512650885692233849268917782728291917317832193850963342775253682711735605019602171621289962861133369099447364696618589031410493113183165174683617903632454892862028847016544095896996079062197215585506454054139228159710736114374854971534771105736347120856965596303164242210723399327802633469481502168135385024438180041513210725803693172011467350975890387026670830162052190206607062889254459734921001267642320378083682514117290782291922646948083545203226042951748649061219535015305534642982435915306299635418199429078855734230295236433411264304231031336045648421504146313500975016124515831849687249650153467571048583399430954858075321056992224923403705432377727919999296983721858166215244223490547708798645398226067993025195073819737399901738466765766163389508637218303929663946590911457279655555712405595181971061732713143941780280680067474463675833241993358768978617852620423314940858318558513053234215107722736021104276322496779568588740573459044407654911540912342999818482643030124257095098161632138125100741681117764512189338410527797052986226759843042514805416850724373210423375439612807148883924039192783457007983870608758030242135774293049824666095201420719377894833716391258316864556586365356936421955745035117242239548562227918539119566496457044379575636624809170019419198999885888989473692000212342734902690216386301007431172114401460950248548011892411004498983993146738825576380077019389203617897507737299695670651784777575624047740547453591897122330912422174818964291934980302140801690023818181418568423352977411735942980188511168314620141634471063832871204089119919875688031446209103391016576554791704482065682324033205098554038491715793394359773443782975212199529062164742186617336417724349539092127168411220023846459140727794789038385690673501187393675920078099600323703927346606016178080708814637742760893497687052804908953361550064425368039582622609695004727514786327641132388176904548292004784576913909673994734645723391623965809177273314654205357801175624356397017344032873989550894846564182454706128780883668762741533944200112054302453833783914503312059038080288787230596621695703693970551365343415847560514652541765714829137004714594639047686616226681200996760412491942712055095587224400733452679279744597986907326769826890972738703733405842898584866123652658292625160313116165404629286617176490087450736526396866435079296250105575723019884988938574569678454029636710695008763975470506210589815329769008299547072856938815L,
693674365310248308673678726052844199515758665756697825760732926845716873628792044012145518568251521131032954703770217446194985450033027235630398099760644929943674124675302245648697579649964408078492319064739231462765129912572081522533661671833250792648499357049804628601936689629369144992144343450297766067078777308536242562302287683477236780071983458658554819398048024517580278417497034538919848222538316069753450425461469327663029692496530192950113722109830616758664337442441493582311326027870896330638247845545557170554639315486520617337012735921671296878194257780407047195254518850307089823259923219303687475512562138007639820528956477938146983721508120500608336066500671557379125039111959804451877938841644321994267520907180928799507736928575804619374964523621692016525471774636524708564843934041005836160623319582779084781786533786768583011813030700415421581235726824710724535407705205578724702720850596316654467060504502280402433951632081783037049495067849739639648348024091044300747061232111613885529207839092176028756286158882269198200627189223829527168497116933618002901411870615152567236554268530990928870657671261712487751659527850054736034382797680805033638108730374834848905424670262176270994351900903637045455544320380985675448292061409201222002028112595401366856458778026538269268336657169614156822236302368407810928804293715418743786998823190171871062430700846805533488447108032948312620294166096672277189911299385169445810412943799160870805819086297631478423203992435900233862071110197313267200995606786398936820797424795413320565561206823102037560131614745473161177105562913720512342832669019392886207584318797350762608246978049865563535894242383322345277193215165976166591311674477059663606241023750181377059981517849094479557441124177943093673423151839767864970020103694679737248313332631794007250931397812026608877981293491959856138372358705640490695714948347368151799294040578403481587964078590757889689688068344873746986829036136919892418593623823818737705561106919605021311788485800455043339098033566648981751421647520974519812709665508270121445668107323158597709080051650903140187492964345302337067727262830360776473870196550689292611864700038453179992904347855785327883126920666706903554828779881246503247849922944076837935988312445015762826448005143037020754175058886715943108192995724314845501092658456207366137039447858097717362007685926188377137667539829108102293325843358109763190552574550293525171406442476050960377669749497730643155852428563253408324856586333725096002360315185059927358619614546302685409798981364672204209220832617389349987435478955949589531980990175705243375124945183975077233256515315030061724730177577701914951669226493291098943099441464808083743890733198300944067700765340123071115572704609080583032122409451299512704287271222567107190325264795760564186848261102961876507399480320213899120771324346988437469273128199464408802932996182022363289888768951187891812597569755517895864283174982115210249682183254407410926238442234636480748343179981346398838669198373152548163269732824225010027545853502662237365052846723682692205438937088262251758722468095145063545414265211773699703385575011832137169458532816591663596565009320807856052086589158354179552686535843105002406631343986173224091460948523416241025915543676908596306802593680870472494001668224871333306304731712259067761473655398118992699081798371188454140664113751785632577267539945242972285215068448051932942605113131937818109282478163769949086826042490052296391957918404322247118256240877970842307814149431321399671094637142385213990249150267664958472197845405348202736003831890287341637680788189810293733597242840654417993662156448352478758777446666825832415427723883062596783759366589944966403522048092380985226544775831407689410696339916877874748474017304442352382840101842956292732523009054326551354794620671350095260671387778451938971182874082595261794595956234057016480705335425897362099645042714725610323393746643984742399290430246925276533785890245680580483891605917790863592328521128062823375631382808423309200278732063587160554965218104066657287317312590246646669567362869899483164697387405376088333248434742191285818889223675799409525563468077639831475751297641141417774098872492266506099102292243916547510377743897132083273997681450397711992315793065158454824343941722996370377504505119279248585346773380573203107732212321452645966727037049980294773155654704511935227618025484521598661673045197657702397468483500495286878070363534202903326705147331960903390814515031300532675391244235042461879343121659558932294054870060286257467199276789662183447593435645996139115068651979255816585623830476113472471296878020475308456701853458187995540750826752171456365552211634751777307994583387516578880528828247061698261093414605959163581408514438294384669720601600594207748714566065641322740489693737310282411375018016367492570121538831404519223540631151598567047314558822649370339353767819449111646491552036577638235329375710953301771409625399291146770611103023938481830220293407225574414239391403821702603910933458630650541071210517608459407289096702749082071923809334060212607776513683076080367229872785196191178099868282506049250921697566079431208333900142584371962811838594859978152528982907465780128237430203233063031395457227631744939954966872219748989353821107444387834114840615883355750760711870505921686519111037881387392403868311583670763529563399522071615207246667055881548918286097751670040744261708246024706319492574404802029312715480835584718159013753739156472192421193815706793876615805420272725050963503798857551612575505214958044964922922690509154163298425339543156476827075049592648834302838384119727432903727792157229407232769172000315690703119776600018620076510253611208432235332845820797728327759570337965294767322313528894727122752159918692267218298744402956539006403108152288046497164046730865503172443167085599188297749405893123942875791140088630653432295153524219163945741066469911437025261270885998884803584187145647505368138424733280526960344182900287550374248312797529902535469550323915453230909621573727761029226967870958467418107994774460501506502379929236623420274663247552158911333162347915132824853805555250973631066394360175092959612292733616722318005067581376626888910527206551857351516746209440847264552241325580039167588937748228494103122920508021578331308318892440121378709170536230577972307272078739820972187427338211369213687522743521825938100210033495852482553552277818496429877169242963338191580644185230763795130827637584L,
1071105842975982761796825250356138310201792899308093946106781392750354350695274356247096756881409135434176312152121356920595734184153128218128736947042955828267940168723309099694836534115866995734378641012270028067770726366833751829150600864886439464295788724297607370543033723645730416858739739029344209544853416472560508115566736403891736290833522964051525704557986918850924693441081822760755350494618229829949307165952607018703058347942107997069522769241782881500866774074806287736579255667244491657782597819639436787700317445583168932654582606730938053147589139369842998182002062211047010941189138581457594863168211748770235795327904501914151015896391938660224703462723294450126383111830010402811895161864965795614608057417468506551177946745024794487908857335603955000369508774900515803192362963231476880373705744461490208069142781964410185735658990468893046122309413898252131210828444258221093399178068968559462305151057879095638423107332945584719436840960417624539922661573899501542171216058458102393494454539804627385714784383078684027932929120867220323538074637142610093739017843224541241226597379723799609968659558159886312801348319390675639451648450366340707324515959139551144446739169701753785379036575482569693318900365331383337794248300628231081122801669894139903818017940845091203774114554413187261596413795201637033336510972434479878505394301444539780615861222017753667021160489938169717191406499809242910700144888044290921669646500721818044128947547593736151891625089984084797747872277512173932522937016162271146555347604440302152980930160153446258982396976292006390347007479516623715615684540406880810088474754874165050396045691604467467874405662013390529214827342531527479145421447671776368177099655481060468269102787438831781281856613750441148387844953954311414089033069698285188399778989183338220775175602773202888604697824816166450943490301054533696417775711795031409429557569214085609273828543922122335225181387431870487827771506054999193204071892066584570434671076066698179767741998436166185655765768275166298482951641306185049781753278571818425298535380260551148939429616724535568603923659360309061973535609332306661496264862760056596293977015658467843594143049041581972840022826288699621391813267798704867407478744005080070656079000037546421643158552147204698395153287637539960383320826985012331469656001783284296975462941531549178011366453839034344004684297601103579944941012745036149391892691402902543067215864844401896433404812641287722925042036096510972317258247527618559374728149157699871617675033166791890206848481439603739132434744472457368411139001218952146497256108477487020976244936128594354849894505129874838679953181406824699748473897897373521483944388954996637311863722887284965519377663650333603117691762926987250772530337188114936157728913849041770720167250685041725986510275669923385263075384099857858856669848893180467440584836062195790530336319969714989637382170389843353866861124672728778250259420564630459155927197309555375669141533824999022054769283248738052694764434651164402871276742638887248130246000186888685662152522883716786823045939765726990240388361281566992274461839524598759382929215638435048542447442781449910032999696906611618885349935482466182997514958557463252461817829754076652708103321230207600368874009289932794913315580040453324056125331060972351069309561675824545879778599065727513226863040653035549524730204768982930056728921526765206851473503668652595367154235938270289192599553261937972695307198468102858123081263868937059434663162861275396699060199540826306564999073536369871749564256285737637708282913161236818291138951733265989382395589209218696872959301649567540827733676777705691503968977456465014313689428245174846704860498762526226726543552828514069707644925278279437785627614652281387406469226109722591330990103737707885700623725170220474120367837370878035799307031058943395759418383459355970719981280443550874161766756202832601084881060192380766410353110127588188456516857766870341321306073569610556025021804134557880975885409559253273757427382162664807887296519832389368312722687712819715250897711699404179928833980321802901399923639310374366513025686504059011023123619278639964986803749476248260530886634394438014499719915724916971664705783730184891745338879324046944868631156742339392595677853951351916897843855002091097321605840550316589817024559493976642763713424080997121101551420142085334398415050515035207783951098988190102169697180345664882155159269289650737102720363643963084380230460197381013035092626358697038056442889142810032699578190796220734898819928615423921412945625608641738022838634306551368492505037567438228438469444598881032124461499985485029687251475501516078039765852543623129365168350471923370027635582948066223535214365152535484385886226849287801636031475195745659415478030026788828973716843597924493815345632842199387841347717302367399894918100110780973959917462431425608965337895840702598764609334872251797165393764813379600680206844674893524801940609735190738150060361807897350194447918583100744700181914975100501804208912927817197751010691400290599264780534603878943519120078591593250175113015899076086536970936371451873633938111516040224927572830826388394339673719481380837272275897501673304620219690719037249444350190757176291901961320015284927220363750637136566046707502179713992195600333489342758759210032510223868282254348140164660230078100105793860805367465788598929543178924380578560877566665055977308822138904735223541440498841783130239349009724260329252573951389248910746977678925114862912738538011563686136060759556469151602527621384992602594597311856698689195453164210591595595858346696315975486788564674469509034024154167489442793231814844489568474016287624415678044560718208877200240599026431773652340834983779256265013043611706906491686170366827961918348954660266593055377627115549397991353124663846103250825574117773339974604835589764321548883312683180924666688407003379714264316974127059591854010118553933790082769766686968099689774006789305123017965498380868694137792318077199154758985813880585906562295970455148719146058376133017361222430640629009318256601669602871542404334541238318837112414619015577090086902311104625592171683740182068763566681936785631756859602239917158570651608496507829385230286902560208622107471331103801185715659957041513905480160129358218754037424420045064441724680642927582002271889349101553296052014593653048140030524598509547569680536805590199956835440394125315509000333736802816355733181000354301077656876190817064697492028592L,
1653733420717385508330227573737123558141103593638059756925370548305434353708207854082341834650982535123929427639131155850962715084194936659569488051809400325111112991516015304207041451801003906193950369375774053076963244918861881357141034887655869397086494013821599118890427991922680418759941274204154439911871333429058905306531832207866939362379518010863974037837477666318867119079258129968777651600332924411628825635385879184669755551653518692224487959663802291061818514312036707187976471292546443256642459351879215278178746821132854343150358572904257697865100447027079740758081485886222868821922050889705621610097092527003981795905143213618018425240987965164662449676027688733370342188140690058314484690092900216967055738426835591608805319033574017613016519273226126703694014628271185749938121262195492501519859976668792852419567655797488927446188133595498420359037876455649370991706068045962189529291372197704513965409737568748258672077587341063506920256622887327922756855039991310586615730195188334465765787138531576687837963432876982982867702342546357117623766105659386900560635126285113896512923833103581741489121954310804890637140808002073493354606552981036997983487106497465430328180642893838813715922986124383695013715810263203711353531293049962067226725519371606394302198943935867392571201832616373359233516055981056281052477869300781813624862711475483483384041943296184009118589313063113788137128169976765602744906064993724068744523376021102204980136616692318280952573556770823264919712729677046991351859017106444835588755559914385422540750286619908611991036943488562597341985804047167838818325690535144165033402315607295945025451621338960321671324912455874281183597047098495494148414087562363820758149714581439382272270073584031266176185422817119819587346795070940329996073806591073265053697595121318732431519718228236960548189128876215344628297738634557280579859790705863736238594400063884189534153573263332118670564482242620217943389952962748215147687989529846894126028406947117203300519245049000734258608994950500541839313755959105129584326527021465725875147092277306923109464233086758664865468819341805108215682718527026952038793088282863105890427742752649297583363904857801903743252937481302081309322539028708330334502039416415258441167804009577101374629280845233726231220367800489218565550445289638132199668913309502004087143318714646208522954852067808060636771695944397275892872646856209769859248977127255967170622741606907026251366907553702206061476096021420297315185698960133454294093933577590689352319559899593077617122285916823242832352976346539176532236607656811504783404320622127533847090056571639548771302834030614945972961601621544912926750360970682351837003184921902021356663593919731786227151724454957329431197636810478271865992426337506137010752283835530029789729896262247722800385978617067727430613228006468712845689044905428999390711144128199495052862862082774039713824579095946209631559185613665381635677105371893264217641507992457413277565654217647349040697817302524083509192243384743082258477024681556940286751088743766946566070875228512170566023628270385112092379861572101144915041329633639400119903014761198648199100599501742884619227576420037291535788875411415977095081046439547125852376840934327595128779602877885239321070153692661933291673279416675800548247356383039780421490442121182407130615145935920461581832482838272000409387081139739296813836344849519107347553485673304551549966921733356729204125479972621180196272401153608831836504126703459410498529142589572953269213381654335616327701603153007451746163653329880318581154523430024679158682329757993435131271045714696152538224048488635509255919767491860692497523769331777123276809141829715573915966377377204287799540915200884155404041981786315596409659712601504779402280139376869935501345465406823171130028111639082748443145461506727673251285676254677073558049988556655955166377834980883653285045819574778322872966419647648212174178056060706696054224915005700463125950504941995548688395357915960423904506570011195813780315582087254464906441160422987900117888080787512212470902279210083601485036196729146032503850853382207351909073777393108068333151460368723691845843799877583421907144086446025485232381078629959875128113685619123216718058828372966465085057537720602613114478044770065832538646381946411524727433321422309353431234337378487985611166370141513803415966450689845486094471628463980920208613450396626211852522429240518290498552164664072595162451130634226399590232808403676429968179870590214947956642517722891177785434724294231603515022828701411470652127950764601168272204196108878297908887955599836850872325843848480910211933517204877727062309679057405276417433565903834760367378072052097424908792106522418645541762901082866956901884169794599407275863348767795075116113973914816780031404643824234252098796218212279709034853011998549832263481450840767074818586799464282612523304771819519942379568679107367806525525435101944270862174983485855899290799604084480204653897220232615426756684807131940801224373772086379140943077295876829486351239232255465480815565881883148545946290278248536509643087748701293063648786602658398758335292237336420324934977548036142790043137184150346864360665256452388791907241671703605609265427478657560297034515630477293395954037950084515496177994446796617597423781767969689785175632230821832664423778645748852299778602466966632324340607410289266711237111693784663576617120280455129250971812441441317674358722926247303678307977226894110780531274521221915380628344134807817153505112935145413208191673212151831191736367190440965032821497370617960526766034523260986794615597072556920738161818462741577199860348807610864673111424861357174273179089761615956905891650023365523078669030755565007346636337678723448054187906963356427066715181962365043326504285321899749652273680073550925633649483889196320159696985992664487450776955941302757731627901300883977955160076329420114983070659630637837119280894054840093399250389694886124178325552254075553115570020697327019124299726500761981772285412607947362432537731620878686314576004087985244956928475763367799945188052387576418967687172604887078834229557046301557049721534174134107564191001381521470215600843621976946928808080116350527859992420793659465972979896567273305166305348291575863549654125285995970410561067544352424424558592541351151504231255476367611016710516308609703447530913219066863070879499248474598427475335389430134771429861726959937535295694246097239039696751694221651843970210427135021657911L,
2553024668046478614347851387562732039194688189550096836754083532779140526174131855016219484051741273210380683333536123197096094518919619583868212125280652270149500292678173041911929637321450002527046108400874415137591498325885561626645574969510940608117569488038434565264479391776289828018377692912127835105660148391512303488409663814584815067725526465968316936391901868859086926161919059531235455923292314278085837428803157683458528537683667107636609692997017382623185893832743092330060776191714267599462932068261279812263229470374361903563900411684810836010003284603474804466837199207505363661261613427836618235737112661682644936965991024070774276607436804775375086613247552377741135877100313682217871510481790291596559783466875727420404991471456481441369866157250571576470576300917022719168556223170226145829250071372158918819550539026477057417649102812615146624577058562468321511050442053839481926577878786018793873848977055639680010052434853912555761617276190308771193277524729636988645981862131052283923537225220389891536690438253912185796346729689808646469566235086565714596746224018349482205867765569751702019542385637766964219458250299983586961888959054869873479907375775838523577064468441179470014835597256241988029708542550226213322833531337085459557261738623721224232426772583734551237531012038480259928422078390109628909331235984714652841536250208454248792179870602571353413319729546931368753062387071142325462033653668565574006480465209584593430779310918402580572267861301998354985662276933137911248056162646345399027881486036969063875876063140047575789902990706324760642428059663336557752441338363645041266784305673299085686056531938796335508826124442303709478975808705544073810983387663035256806719816473596211907456245976314137252406164190633234734906624680521543842976890376972887095055163693710991654612388765420427478656732541907467258905655330422165238178493909910176794391735671407645533420169177689322325222910718681648386283733241996037698120992085923396700355497091789343373197373688868743204014875971525310285131568016485367303356798426696466391767502223469119197891900430123293302178553377213148428519198668184045846888218031478775940492347237173725253073842151038907099695588176847925700605271844995897021903966262926590239470986081825520977787499975082637043602212402891592206550905835603872351156357023047295847386054959584983517092371262617074592291985073547409331194879859737702471826471293297022680832746334757888873350690273331061178095523059985279626708774678157233199667090256179030294883814877018219935589018669024632425734148258360747392182584763887668164479990101898790704061980021261670752447198152583987983579268524149816661877245879742079516514655245808588947545427260950624810932993818572383639963138784770794750963898283334735896264999297775953768245277142613215718884012505920990441459846463958561449299863624701503336677325214894271996418203034383494283586774893754999530930387055005968147389363585662679334197438848949383167020435647187948055123945391305491211228536972226635517041979301471713592709037919352981175566820377602043154364469214573080059380568007806945070727085068176309681055763202978011712692422046233232837761899164307169955669862370387070805061851214942053797117475153934609081922606558171732748097192134632847148136523335743624728649800555473699431985086038086712094081563563150691389385562283091035895454373216411153589895774302694484109536598460486551759249262178124247606635024062526434956130581458736083222562657793970141709375363157296443073685732448328380206413937401325573553440370364668267708853752605019144423011989974133161790766628109044939718597013111417864925179562165834145620689216768403791465049695765470422273544058240233560035689497282950217714750008346826418096229388570927705502132880861250057668888447629908473771129553705424581665785113497102218509037624898363487481868341559941105600116801654866261024180256858126019678722557307951932136339680070727706118209513513449373928022726514685930643767125332804555226620579679650741709655753097105741821775758871921497703010162244144128459307173995858367378339872792007121678010324944775753976464236362679972167741212879411658451115769428669797408861738814215400134786820223035125330858492680591462785587428040433065529671548066367800870353232039527148476233851678872362423615190933422152583555666347869355457905496156033823737038280953211069183438303821880865207023902643664409244665440290525821063518303668099349446376451474217804766203092675273957277735237102350044025544162742152301644779108225563629785531050345852645014497902915508084855859873025244694286912956894283123551361634301243406267158537985832093891602925203129563697481384447034184632600099215103717929904936940998427836427660024896922510945531442192262512835382175999839903796844548171796440257255505162956439007771654225173440578212255660721302845844955315402848264258749777701066246003701507585449154506717667346545348948335536997098627486764961221640731445857334004087314196298180181840516586214664198681563800501853493481317490736955095797859678773524898176070901476279592564620254340744416606898257594346055776560730566588906878346724747832923441806672220469400271417730101482965476645029895681134516359890943323940486176847151740953990148483268447812416840107918958334668904251034057981677457682646678835544867001626134369697141024887513780889205805363163730897097895400688915227835257688081808026079813838242513529666637885140551518509515911192509585721201772067338095800730892358595352683543356475551192293754555475679400761264950713031236168161274481782916190868083077040815244243037857311807010668477070381725603996246662554256354953796428130090328258132574444233359915454340579598095893950981113809611387157702636926851238973406832915317349184727678519996521240675318510326412905864234739542983597925386940288931608035300396291115331066924993124427385066275034877943308888175198991570786873665191578775608053171089435432444128056161799290310950810257275714180917873702431085680318233836513590827636004828546046082103799478337364159485322698204315581881748303027673718735960722322210830832167370157867489155296137537267603316720853534083969563794149050043602061426350394515517847055588398737155772836566627255101660391154206328833426659886364396046589461949521149683777392024335483893451353696107658463240887543559162502206549807704035178135196359617847433975580951142165911239620510518998139596021374017208694488574239962288270582710933152325960011360269588776125317000644L,
3940950074631529884402577852283143467866772015517891695027544355840521570620573686328778606786962107696270927640756913397077894233875147999295239663244026379209464735434924951396130002581983626428374889510395070052273499762511656005421793233596573763729795425655677335511948299362901640371583441824533012740192939370697250371530113586005602263741069298108013890334438328927027779419014461871237784145188344589729069179468237188398661320050986126402649262523967803878204337456871045176511700362862626594235793282395120818411282236022789320966086296182771134603572774764535794786156313248891009426751858032271235491759758454906066975928613264382232070496040249552511561776655493074218216453824733522762531206999493166427527356978646292526173293176051881338445584514114368225544888695841587388468392016975209411866629231090164313642958419696653638869260842443518073036138703795954278997364722111460844398859283519757017661173477504470657267661950154377958529771431144772987891260416360530650345622354130236834464013441220480413433470294199523546125091205869369012262662376256097448769312529289758418176972167317150651137326990290231372912154566345754895917523564447128624496015056881519427679235410583424932924944577444835384734169917966683870018397143581682007243893513866398099120300724810648988862062954941531001878235889249895801348804302555161216546942670983779762164358574628016357981924134970492366487186982153202279492615914463360043888900431146598008811823492001404138581540383035523954702410789616465542625338354507487830841921638102311649595804409709747710096278929241292922386669070154284853664817245692337398184542949281675689684025780621116545748546671197222568462187910843930765240630062522242802632647054857703572231140007435587553687735100249570180193959922514966774071053833930980828345019123742680280427552597854219238314551040759883566726774229304784073971791483886303704867115705641478638743708121805311193394501081874910390434759693450773234657288656440196563362760316243922667648848841475061780862352162297349454247382318638061992774405984904161481251223103766629842982650844122320680920508250481944480437563643779041681420229590028455510819972427405279349335811976194462085578508763960132813179492179674188717606508165040401722538655015855274048829981483447159794187895950714747607534717698307484681081121322306888769585231713988634476500461673165573271680767608996469688487674010089863048436544697448276336699818350414063435446959576675880656095699618160822524268079890011319739692974293840186347131664436055348107584320766811976312122580460241245982469314199079592271607844739738477774319253999075355276337898220927638970915261848200507264752216368047209251175597169584684862293841052869142287294106208846947346755889475940875527625439510114092524018749036834656485428618206812107700086295414583790236695079675089744911476903789712479642620032993942476344380702936215016716989111185151798701928852354296699689109854307845224778049370126397924085656780101782528500685472863581186821894081074576607594836001587927765728134929547383547339985076321536291803626474689810137312982210117490009898557986395754650764423956736819764744040848225248620618889910949157332398842020661436987767643279129899417262168273561268259773908034278084131944415849497907811601821587921137042996223315384472616731067395424788116901875999204859199161916644616559366276221810682130937636666896971354898809743683092716093677955173158073215987891904737576930442132381375577560371146599489734471355486025375152784602038415723597252192188566467284479442120237603045930112943752263152666167158402507969868364180317676466231004661737431969645757169264406802077388659212313124798796884730785546214303537425364251880508484442763296945306071228192629618321350666621571078396192449532745588989385938071872150278448710288888922626501770621309892509350304936745320403052198062161189603427960926139612461830842874927944737593800274164193224380356407574574191588549747103285726059637807021466234720264743665722982223331333644221125396008715421692315670867933524654123849962785228350042556234242714304372067871363164412325558572802331850634330551766507805636697603429910496418838568313957241499127065421930393059466272859105435931466834641138693378686931380417291486259667498338550081199722489219588012286547025536831075797290380102288409954140224478451604458613754132587206486914719071780746743520523791751617960558415511432109255399194695160610884283688244257081162437975227101787711438869086660108755011669052197759646426701263221715460962775303271788123745374942236847760899623884913528923997372076478111234127842275538953824909050965911225636973607605495924829796541953280207810254522945797660817412482921614360426931239778629295393544111822575701538593994044061419625143652866568536799275558062385231366869905392683937601709103609027431287512957215487420841406476951726648777098894823248803453370779104961770603946724281920935901444724750478644304551893687043277068775666477299191724193503376028455062621548389703824515466162398270133500750670547788295060497882321363035972387234273421382657554234776915873271030113604515786042804430273686987986949152049894244446874511553245730670070810157350071483110619155821662062861169324144651837869394074470161751900908604579344536722727077476245779690258010274110954822779965592650666461419490738211253759806656344810303997091814030555150012153755774298497298464925746333479867055101185008434548259738929999187168684925402740194424437900173459486053981202461202595684052912773049250445099285411238755387241547534862006802188398222065219655475582969114079479062868623347871672846009542584904886260871366823797740676914865507815577637679479874428776760958881278568232327125580491167679941273758626046034063142120106157623155313621403599466652315081239123224091637297153923535935788658953841402103841728842401386707593098423687380830081507361268105239848417034191001230273061167596996250639223121056295804021038558761142696284085559951455801075600515839542345159051921786739246730030703119120078167921684961686699089058150160537757848285241656679906350761437343080527127722280101528566756254535768230563566613333199217621195415501347767630107057106610285644904322310699142368927330190504484550790417330618595618628155602870067800702875245056878127423965643361793003246126245980588425825863647024605098345168714745882822520088716381856930418791032271758537817304979118407487817981831190966085078199269330864480380834868448992022589680192025036837036397416663L,
6082796542046114799921577071560516496169975836599696776014914120664046607999751674875593760601796034865020725728295099934064380770351164810328023979487688650655777785837977286800524800599997101086237496526269104104555047949633605603220214760390415151571982601803897386694538296363884644428147878550279578283412065316846764838475002518257623636869702568073024872016223951976640960691336296842835778719516114511701929376092984429016919437299908201186911418887750067780242878322412939452810920602643574661435147506898403828691705120110116173389826319374761514207408993836337897248213722547733359442925583010422642797266114333680556488641878697695701938795950327764774809390103249583378467673927180341273953258428116448965851050898434820722479486819970212860103049107049287411562404707634897962756962164185000204142253489198439320121238686706195622163142015944815673969498896416531911747839791637503401113297500948252291857955068789135756774849495607042024099030494391038656978471243179515340768582738153891031495731808002437925418913483778660937072888720008988113073749183247941860040641831533462170214081565809198390643929985715223044968767735860154917653742650940675386277253752354005304154647612668715233661862392706868796622994933289964170218181806116923716806990776597391680640429542233912406658811100645228756181859769492058720492696315061458484404759863269911758928468265367811160346349389795941546078107127242475218090039496223583435837787829436374219821892194404373385246466699573782602366695082773438868736951709771508758624385319674155890570556948882849389964246615324135446612020201391084601069482534662660483359889467049176517370585066380571604998134272770533985134463127823535511109129735991928142021958703126914602788348709059688048471934731063215618205630681653862708549408978988229431846210091182382092505593448666564221333165760132648474662404642181025402070407453286098006042686112505767808834224715325954297946001692432778569544207879988019079911208995219992977781321327859824179679796714149598003530799578492054037177248485354692177006240371770493367050690400319818015529297144494062000278325687896263964298501133263914592970945552906627809790950692161172018575377313669670594658162613094345595959158110783386652045402155861248601660639151925987575635037516601667050691873206678176658072159191174925035631030531630565833178099610798054648893372542075757744627413407278987518022264268346299406298468654920203998780680635289891182586494464505420069168500697366616936116529897270330895642302821907988042130282816777834182999202728518495366438075943023040986411012551694784864673466664999558796207277439019404661116613817465068911138252329851187611334605853985369592444214110557640988863543104840839965327976787933393116599721630666103321539359737607405455940919500017484470568078745798017038001526548682203216326092070992945122573110390772236707993881005850935184561412708720037276442816434350566882318963547948512419340067778000033933802720892111596311968548801412463650728616556300676162971743606077273272266650484075650462019032104758205366394211307461775217744316464427691685595865740860545307760315085913424013586208898222547298539171821254439665581426992822573330537722493096732246362797604666997258538547824412826524194745860581458586843787913413908891820678064452923113732514193862758248638574473748858420692895357054711418932830213743278193157276110531632102543874758119896428404062014997355027669741992581320295022721506444070427634045341711672692734850113415808153488464085339957685991157636136167314316672729328611341812017860632220304967461783181088603404719703499638022979180301834120019442316913639030256893820077696220546426240810913764481731831948863696447841458291165767354778408930851310184821541045646365213618362904786384105358236086269442993026742628515779550168255939073439514170628560612954839966983593531874285152910396193912536539411482906521493628899814945806231304345033756354331055567993649796703436336295604394006507483121085485622842631628298321387937511416435656300946541814116674971980407968075330469139147986255222010767048770771249700136989580811632182654144424135976491590347457816442380129929044556767843094530125593048029771486243323080145768751593427846612054786495436432851260374512099690308200205650186950070079782864849439748697674258795111938689405325395618073737734885920834906270230471207970824665609378577231364615612743421005199046884603412830778162330976559956365421355018683080186851603446873740510545232587324534935629602503176276166661591084513189361259129992068969492735653781431927750172083822383523091617320716840606244692809906520406153119741860685624922707048685210903874335450576575727345963746073771506277421077781369320000136526060176957689993093457967125334910656780012552037302176919820500021301136988786568126220840931395379784927399165479998157213464646412088212631017963311888943329256759349463053449581084328930149054208051458339212616268981892551985079349717825319546841166241396357061322001535117116519247659122295509588034992052065662286309456930226073622697330199643303481564570537112723941669549318263595638740995927622918587980163025553319800030538787862102320903101307235598249184719243518967952227134132471191431049063220268648248592351490428198078089997724721044534704984692648541540264350377879220813754287547676239811105896793864253764668792909493057786969322292169895198970889287340851839232463923789285200129663184359748454562328198051588556282213519010897922689876535541093246193908527995846917727185548761438215762014268731574423544511603873430742649859436061556136323228564189176129821838168474303679611584963838922830028094554124764946680815866086577050120364673780386585719332778924611943151540069926310636302637619052958418290969629864380024010828556237383240066328993124102292727807245189790135676276922234737851810224267520704897951374096444987579007378243572734948807204255680707232717739498690612953394239061361191201423432629825469551894880042210148300237467754228332449195820992170282985827399658901403384192074895847015485472455709054441283229448969837700545365016956305265920674933284186894179569742273535135057354861660622677294975418650086021313083023901655185887010979128823852147497913824217332097545293534972706226674874083746391573213580902890650399530799826995611342551531048545878489810463775648197873335049486569639827043501880835243610656499712199203650540946688413113618584395428487588848354439233314912899275393175103464783909814455434374564996828188359932101690L,
9387762719467037971161922961321110039357438788346653262284779034647671190814207829563884227327190361881020400145257368146966989058607948433785761146772351679600196723189358259256741127848298140754991467309842284150879066660241826514288862023492412899964842578601449216814797639308856961091238024445194535761351643727865282309598403891605307853760248054155920608080517956639075428479645722815795310227263141738671884567220638892808551613015251554811504546704968140820253029508866949724500686075566959014270351020210523120693339336834279923622500540174938836219090932626589790103298083912422949894502961041352825615251453398100651544465379578645748112687517625397038223616789427068733006805539561081275931922715294023629090536244428740630928585084922136508655506434603068781437621797929108944538291763342383145724209520704760075187704361362028300722003701435039586549628657496639618125891592136084683096200307949981803295232221475967268522204191865278908991163388033111602932951655667616338146101763629552016473815452500240411689125105198046485904602876629377720440516641399457461724409539157630832593406521405546347728687841171028364454477108579272237040055743441731005864842211901166713148562297152046596016693481681575140848969172872037389218863054350349311942164716519046901021582759622977104788606658484192984412894575316005588435763818260270417278761575647784459300673385542825707920656094318186643795531057684942793362463266019748104726500703665843454402826681209001101146398215427811912311741666592177582297322719092569526810923977110119981616550356756020786122337965288859247670390710835044239278069883461209970605353494036749962380928477840515662855952167224489464660589114272586997905515621979827133736372412111747383250142667543577193903398368746422122830071353395271735733238524197064810193006135603921044134654735866146166582380460154594314902337941262714266447387795737920790118756680437014150803167905241557319119386666966755505967044727915052092628885056887727207143771794060041044204204442638724443725652876562479771675813701427758800979869520402912163208807301813342838980029650721425804574138085119083700614648445099992349988711482688378675483518685837735788391076044025354340423507849396276993058142506629884542739774959400622219958198195469039490063688141180127860917586643813639371492646441271136431150900677943908492847048435990665137599699294745936922349306797909767872982381340466260755049241254510322671424554419442092528016791590410476024193919246332374695100010709753597436550451499781103757627953423520836406195351037880068052052772713076747633385267903884433985144648288270016112689678813137147972601503564653001710780109288874122101919286499492563735878319538293567182422834870395531292089909870432269895768585758356968015798274651686739242205624021215546712379618614369325673732397740139565535547379907678223996220703059903260084670227592682483205873074259410999116043417720816649577892990900574182596002636171772984245852775993577978075330604449452248543932742197333387198996655118915665307364498528066912091967935514982797786395210510091913827688313779696439878383321069948704153303133836458127589145868569775728491544906013534577198201682394467800580627629104364816912201354168312619828887291092151257599341442097838117155163672518879019733266004267467836296364471413154190426729699239203801241192284808999560204864574439958373383340422223355174867383162453880958321466334825239139895914313209647080568930862627133776916708999634573714546248601646420016579100514640937934666233970428102421662968624944369860756768981971458660029134889239784056052738537052036899144574182595850079062518303602992612312973086101580605499003995327351331333026124677531912580500836663541339236061262284221442399889298723800286789040938177071813746454533778659876007569107082298502481714455568108856929590602301826220675757294789249031812437070430494270635953544000811582215216004727101048534489118033218372464044908942007624010389607328341491639334021156107781630363975613054162678598595743210984271048721030059290671820405510945886517725979376615833051078702838927140030342578327576704931628379805333900007930300639305476649219563109787157732692961827667091070862836188482842047616298878092470998332138289680017155793772414531857899966223933227754230417128640300964118404113417316996771501433664700337644646903396677582244566190826314509206094615428860287861433197866754115806638759846409915412955471665536777984407416623181403260767298525084823642152323909085118573714591558519594457925570786841680059647804156277470676955949526030295226824958118747493510046470453942262015126151897961700394834300051738407525421614049785736794746595748807931102140764229424788829194539142750328588598130162825098536480824079948545117937291546641473418884267629291118498691375111631757231389149758661737798268287104287436927663310232431562272196009068483094793485466643661760715119671582842993097265281266600247150253112351711060258513076383631055318579946892421375825119208018163053235126085594840928604153029495560720968512777984120767211031259671291532034953157234636679837810004274659807542548919383444794469606807935058564798315251461138182171626831437307475150497402964002967044081505508025701055614648493936252466452459144129991019019923639295067424379094919482040442984311284519406729029416531741105815733331634275622720044364865704221171834525441641635183310697910658140335103111255880496118918197823070505531878086178757406604236624203823016861412278795591641011431135873768487825819764287114267582548120713065649085611556163559859091066018389679474746025272543702707218073422237129447446603248435683828534743005846569412458122057174381470512351941789325743705112491949053940562575294063501609417827561597938820935856944549783826406869993437753826513634466260816585194414283516640979321445079865039891860023610893032788005142943169482986142136592224976647981680126565313912868329783842043278360814688013920494785053018826088565908670979712839512431181102059869140581766939551548111216566902064951961350694543895385585745947996873581324290271688325370705599538538649027722704179920719446931496284332951442735318539543156038338726848608817588311507771479170437323731596544229565691843163031806027774649639071101218088468464687084162779625629942844912036999742100060141195597537508077783340500187862247571953541077443195526206982076146132143434496475329789075836964947302079081585705780218361447350020796903409510732114905550757227008743938650313965951992315964320599727557161L,
14486964476584363667215517167849847129934934876261366549845008862177662552051096653246073553378057969052751051663615705222978646649428071512816091741427117171859917753574839333652906561935464145109637953063107349584589544011928064048950110997185546612440122114373739644853518565679584521462231081031979264071751980509847471172211250320024884557176590046990601976511022434001513109882550126070812226703218786069314295199175992783153733727323084598257919117562858581402724892509871096125680539313688841845076884591797925175347635933284807070369555117364705504052935170418903822151139001956026817138874552000144430902888496608974646940724976366621133899752166058766896377132975639717411012911513844476763651555495885714691423501558923852220065988702092984637883188398371713877526102982432950426819684661938583548790124540274865278722541115982702112092046441767264609257660541529928360537519753812598250128812732538908062973499136207799993717858122770033541524450412805650091757141653055528705655850391105146205938844696651688876782219401972797555443277512712064192250628998188303345251798458081813005395037758983347918854851068969034450885919422031963543487170005812953748491236889912375123763336528131990326635344248473981836705390154719840671263201845506816890990242593757649367569675207230344749472947995938235303453438568560280474744154186390251322109158321130147148466116246771107738332832176786576229565017474398428058093216603672798736770707827281824714745952344732018363594807780594507552276087589425190986895695103477869230508613478271249845236167044808598976380487330306202795199157626842541793800176119848198467243562174766315190617409796342603173704191567696297312138952015909277312114577143471561672776928731199097996209822411658539858101658546915770135088671727237523810188043882944109400151542133309821413844825543829497886302425255309815142404889259259641457856724374476075770294993664223177851362186853093436420345294964414865982170913634911672804918595805639130616997899691378448347640867218101309021002854424131786615287857083219429423238855940140812461058373889230262459076585133030309285722256021706761385179545632637241258308149579421956706648878868091598214040181591807979369630977246756775369031953991424600414868200442653277728091118013956200576468973837518260796569103645181672297245742909418417908525799633750134226580844463456834041002506803042615703415122508637610253184357909081376030286549810137140306306465280519770243756827049157373669843318539927397585074221311275665982071496851699725447325567565490029450000016514706237694899786613280971239398548423848700624841520940813984674727447778663816792612439766517403346812593282755752528958989557880287508685422121402045142157468248532968338761672322425870205943154203097252136444383762338224387885767285730367299983826587008312083473744179384287969897756410316629729109609447047063679749406613775490476632664077122475434432149014470014987525574314653240034448260766426629922418193677726862586017044511163031329991862938314040062720000266592197397344952206597845892202300195109135604403960448149885513028585598607385558156243518060720632952299542852484393832945279879782482411681101886670059047868213020980682772593606998478468970529069738709227604303464090413158655413018128157542967874017698861611203722639808302498935158198961486716343289936264649104557910236653258950914901611978375179835496860678320441538931176244656910955799238954050090631702331340414247133983807172932996172058629001268558797970795812007977514101545784189798710495155656280879115105814118471361958284177244463939854427630246544029063933617542319702763675511982751469513246400413765158064910754540008818339930450685796795366471639902124242893701303022828591611855844196018453499937928027514136416764066433944249099602910214465773329732715489398381196452693906963271425146557398046446358926971228204114114385734387525349109499419779146039335984469549082040799916019429855356132003095497896500811520569368938610472047309742616370753449326186583471990168555683065450001475871518914229431070873325789182962478676077563776891508988248702256035100190773308352712412026856601218601088699400582698266825309607849616634832639615908509042354911649949523995265732374465436879249813352730517434977882167309817024125002114111851990849219630668607329482283650584065765486006519774539817972516420486743237276099832164833215712315583442272300353786229147532699157055841048540431187513824794384297240968734162926987096671711420215592125179370024404215469023802279028563938125643859466293749043668085538839219800086724484973481762958424828822630073564357251198043721797127718017589686131042605611459187511663667869770152941513928346976936459969896951247363516409079936216139433402869349270551718865478625928134887033226797396984147298092592113025989667382748164527494950899077285803985740956619895665574546242326497129695844604877071029226218836845478054187785917883157160735268127844133126386896524435098292027422569423032539564276584800282789599889025256397830907955478385955912189140143960412393812510157019486727921407826533311659612230089280851670213331514745998243629846640877502177002875043615412819882141600083237426356262442744520352835804578842740772839498330900140771938781705516461798651211122595388314046626205358528438008467708657482049702999359613636186084169052553359295300192512133477974341593397897635736943290013741100444573724809557442562769731539499778930684196416125164751929175998511851188801073310011656888259463068265027045228166631331581482451333710435101389176948913282111114434917241595553808275778253700350878360298588728107896159233354140385247032155324219695318000691360567488956515015762388311287103353549626230352719750966766867466941275663100127444822048712781314677083093020378498362970693268804071007785830141309677160139520776258874363070103634168296413589259832534508262047877701799673589892745535147373038139088401848743857093908099552028689285412970826197609752546425894841208871303057837257017558550652792639956850115620697613734898404869638705153109222324023816207814137707958988360919390938056352462825825461097079428447021461698251142484765738079332884293205990003494722143632515832090417457208785536566829050930564386015432210772118818875203292074763535504246760140700602412444210908896577106444223322688732188400169518193070355910219593429664670882722624171408055878403323067094713358618073128803200840565440107623938434214512122249426653836363861150342523434189191555062892343392674442881828318451894596L,
22353687993684945515297209577410400367159773724071328800089803255020657570452434569407252545221456207592707299136566963246384974151100788598900105037817125992905868142890422867859980590586760501993375017922754079603135108795273068680464447284718340215322188345078120613824687585909693341328102967816418075990181482832991764316443047746890716476653367893560078706649951611010432026921247278346705818754510464352705889215075447296793485582599719918855046904045736921686010912664172488482850473032249950187209787891064538282490393775541058904151798636752692728558545064561894115887191623852920009059924410744388345066346461810084661715896437013845311476928751945612373140565928303274120918669028621867673315527948090730463542089363605871908743140967616601220843388441852791812677745654833943888632980323053068420776414107762978449469552579530893482766441243500646654164045044907206360436440836557965623233670659927267850400422539925842657127097790010868659964796688458659209674598519370142658211859516292453293156628987995188059281629372332603536549152314648288856516169531509214449264984647075648633264930479485239220864172946141429875667460188956532493397411439845722443490943617000460872000664022986826853990664213093057668841890868614328848268062460283201472091705045627618203294111032806345898853192198176760741457756478297462829861381056348845943105945271863903545148705208715420499599576900744514694169398612657883047895431977773435422432190936965629007706545542881404352479933764996952096613932222315361177269242096205567560959608939607386575255064516482613525346370954588260156708036930337552413164275345219902344882451332506417192886154247066766305045078617378622212477982664618924107123211683699889122028517215506998669060074935974667702070128023609335121850830797499003282838302359349883063502256797306380588576572313252447087593727659963273877860684738718961247426343528257028359411389039238112841161470843505279185248739612844272039901638477352715263764849423291935146901597590441862451979806435771651795429824530030703185405907524145622270725697774199348941187689018260670287580938629179773066361983325702527641112191923620532133563083179603091301875186111185229939270300733589700812461875466588465621878321236366869168117247710376096682814607689667493683978004494898911930131070855587995371950067702907869168831266857230936807249747103014078914793934849413512581681341015467208142088556593590186607825161798863737112470878257915027630193962818235244763899729907134520661245735501392289339817098538051778081912973945746807961224540121326517791834392092535651648078903587642206734187106462038430740405270483986974463995554526531743844653600227279304592236014887929872803233937835006428405896608348561958412114766273483569427211385256207946323466374912493588046108951773641496791847905316583148374087873613074820070976498369306546468021697831628657169478005230521476050493474495991777429780136352871953435473605843608913531008131714751496768128485754947936215153622679769204364338908535664273177524410929972737000386143071556128213372675107791748436561862596628298029386827422540795198303583194701526024955386351963003952355461293079060290498242613583989849510504673411971708699090044507471669842188773230182149512510592193820406465007863391577540460259717349474713835838720941545507282462937002732818033676712213287002037864046594529083793008121169456607917261595238640213414441170912641043592404713393503674086994567584064985507762114585570584201248682624047749874853589303718985654936088409486370048397101170976113119525045625230763633191804256083597419893620695162853846641008316504753153817485712606188776981938364063286887037678598616805538906240541874160302664067863356020119852135163155396705331220766752567884599873160011533767240316137039211223532693088130620718907996684969437953064622205026395081950946380067098270222901512847850187916184812923489277703280675798430243979701032750376297265606896938615047922166383703510157721705886996404416229189401333074963730636633731295738613061419317585460234531594828246172728586690560595589835472981517532687378594662750905348212546964012955482439541974763916319178183025613939286285287157188878353147667384270958749103678635170695869991861957864571760712732692641511580653211745249700829261913707769975930935451922464350498625196218319833693310352065328831738659580870813101088420429536156563343459406098920962132667411341344613397686499432058834513324930283690257020637083132364639131189416197005230362655864403982425388933635793378396211226331295568450569377064391944949621484357274448506722944147629765384501843609620868591480437990763713187406757346389237484158078124460834003060506231609775374511502269443843916102669367717868315859973990254360211724069147645216097858133678786673408474395672710948123806796374440613298587538109943289906707158764596662384302395928915282524765759299369387519809069445644591949891345341564792359529666102485565286422423214639655761580415370469806242107951552638023900801274765531286499662339759676796294394784715175426904514790912622142126150596731780645513670039582080326422285254763316465363227250364318261357007748071608840602541054919673004044942573464124356586333068249216351600165670756463436058249356128160368549453364039064103010740120466212014094471863097184062437981292002162848516116637378101498833830082453804504661776158340311729616135861111279101265754690295902872039636723524191342699052697702765623466116809734947187160103923178007366074769339253685598749272332448887072549086495984468195847356805139312477720431717961673428815663889658766217841425264777684464472795274085392943471348072777943687271534724306446556832092685104434259618682040898256630464875719770679925049792197284631354775989223190362841132386076555430651081116282187549751585921726726032522860284584675266949801963971825143647185281016504626787650433718039686956396200030490890313378696941487092343442587100857998749326916481588139811293831650968720164310423828859554625600159422725666633643115692903124127374631569085559737774579256332158278770918142019406511495163973910721615585277022258171289618907899304087166460370042957287063523054000235616424083368429884492626763762012995407079344212126551678854268583936301067846748524737547847483652497539522748052448678349124399239055544577068415496478993978305038310140992332607139805665460503312453551607085404606280250813609189747507334956910761072456116233863463662818014411589115785628378824596498259018912670318285038818504576102078701920860468662L,
34488753173915615444847474030380695836296071955198601707944885692655215418198959850869137765042406956119224824885708465102258248319337020022552761801159386917484498073230719751179970622531732752487064409894423282248382962323904266729654087288270244533823164351610789436929190775076479412019013392384744857736360400246469823795600970588567590161686424847868009808066354958955942837947448144117353814385385508605859088558306553943021048161464572579273701660077235075455759294750693222549199893798963129115531395456287918778921299121161985176335044807717395167287840483114178460965841850927468986472157657739015641294134493998040360529790524732920314380033566048987155668188781310097287492881476038386084227650138301112520916843642809360391430322888212970028744906184390183555432471759652088107755274213116074335008371328667818386246069872376542201706451790238920637772603675111942959285315421699512571338896749058371459216226259334532132399492723431437863478504383306389977968300764076335409297678053108716114255488822269959112888415979896537951435740168195945299292843175579174261699728842657666404763923156634996015894499740301022196304393171644743251405783163119243479959627354746706624027318888633933488603894527463665979406537876954335584413470409483797725351573687215598718905739360803492094830149588933125288322574554733733242554707247918562776033965421872844826706943008933071652012313522035197958499255310132361728973761374552761775843694090149083133474116300027343810926646366818518525111585499355497770779487829345677556491177468301056696367429220470379964983542673292235447879627597118122297208332703796729449808397987846126397802818115048814991175804173248737387132555098620299847132205899813646950909300681093057633043000373812184192102075063038053859658387677080900283720705307505149512360014685651063864003238685127074975880986145698222452288143936386913301001081353126105124232124750328894478494042026810034510360105719992664531289825280273783084618880773514981552545249960942180823123264131777596314470422189339154590134538123100235403473263822135978626183356669001580255270587515950080544620535209139630339023612518274268754172251506526886488149779578472688113505699550114452867953493036638854017371083996096368518489350859250510072824958512119280102183975466772479022874880949796973283108679553011565687275183254299101445400409649410280964295345458337018937993731614666334109013449468186653988479677077660878192515316553490402355752644216003481109181261486340445558067691723900946118462397433550805056803690628921248431252772610980662457824810364746092054364370060446419976982076745795620046553845167824014873946475607899823057981972906101359708445065259250917531290445117147061994539207560591471248778964667016909526718800016823376149014137537526323547768995125153991357629417054310384284051898890968776871682325747102627057175234240762414647514792405612271135588682532811992633952797674845521704768627570539747609855226030977119828123231982095569163213101223820645321577058243091725804078954717043680179318430263278313493002524659326657895959778452098763887868316554199647491352321735851181030895969595377707341717110220892474746226318915069033293886068901043814094483718214550102184706888696715826808530882117986568966162781250939957878060422374883020186487972041716750766451325144588889447734994665181038455666656966904711159917418113947192311400971345526005491622383597859558886040537108710328959735181401361916057475841701236157535681265337721555433270628047425618799766505996376941733959344214604821727750842669424861394400669671779456951282756553267131321382555241374355892562495588633063429510520620470648884556696090576650012759101921564513072935239630180693629524937910129910821579755578943555055050837288662257152597932833077825996046555288637513548017242603734690377037074557519334329114405478362289635130354270120632365037340787729064680288418612748422487534322640839413894471054789309917114858908881848630366299340071010295756650048590695170683068140385872240780807193004353121598295138241814607775064548457852550169518598774102858433343008222359282946008872742202922752811446908743119812474803596281441873984385485828545594569172855977632844829690693137058186655838983406016356849995488699969420581676398242242687176874300102775054509788996516145626030819864890094576443746860143689086880410060489580298038422524194110430178738666867784755408775613622907014839138704268313026333596929099201177643471549964864120597609593804836831278289130829371073754834205504952897391402267862955940670901286656496568279861288613017014828639844306617996606804203619486390612313220456220167125637183852245869033514284898578267464221369445495413727889679482276264045003852573489155172593068796154005781984065482489891980292755266684423754783866998543484662055099891887865865209534208355002013252488230617046071207429936522495650315106727304599414732017813496886763072977810108038858216337379873974124336724610266339919771052265087394186433476433853578399102523940371907690411696556038005161767040214626527066121727000099456201249550820456921481495154495948471560790269872089842406668483284204677620694777073462567137914195742634085332468310053487164100065733501952069489097419781636672005706738014049397110139472826465507116334363666334483442513161538860495111831150021492644911609877141972304169256098674656827258529641164642483725286796774940994062371113225613769208536247195083425907304560668208396795508516121055835462788887870404835241374792814586843367714680617092671984948361600887207954096329349461328167541124738034795645897271838340991694595355762980240301319327674898982010872087295225874497081590894013185261456476836832907386209130088338179903308349513055739784286103739114306480450060109437394226145044719890421868185552011628346667420823646039759958010692828061568840473350283240508512907147079221963921830679554315514555780828068939739101421097916323783561426903685332647619130426825772199055594390541753256444646908168789492525312513962719561820087629930536774206532840236817143845481997999721621224757911384822617391077025994190588373727258160746812927623561135792209815895863180205663194844166929593488192289390235742700755574688204204681616494166667608604765011648974318148974907850648504806769844680876647257532066116436874795142129335767475432894806693034820442177527252753392642545483976948789618031390052619015820586937965773334371747607148674650370788010348362608044204641431819797050091628776213240695086727396107563602109575235740298069293L,
53206212437010684168047417718586142961753523487104084467008048789583970862201053784680861814744853904288885274712545970904482305800993339413715614478550085317284838859032050345738033525798722652145639035598242385493966322655593034202235506042580970656121482606854565190680633283187448888833851469380428110376081581075636825621018562540714607541493971547106083719067774567345830783204796541031096750121081197974496861234919472311177765209091629793298182807235195803226994526738093723108023838880854950347029197089813903252495277751117856346664689349718265231999964174207599345805609908021801623336412520026910792601769409004829931234023604759537437417582088816469592910342363392436594187357660644507456966279649470925870512427335350646629446114443477916156225683723899006442844543312914382851537778234347250465415476612965195265287643034085280366927741407791138278266971197903462622692980638063505935957716206688817093219040912622168188783295076814732701612992478902517691875459929669908835102801080340022086150952281372182204338109975696778418203872077952233440488878346974249329510065563290070828641343528245199775605270726977677756031362801269605260718271211019287564249201505275666072886367900144885696725276716014810033601162112597055770960514457167120129709024326734599517138335595354559136901128784903539838957719239990102147477354185092733787938917124575650614169436880545165616701005940258046219603825548535895154915850327720078903696223189120123071352559479563546013376018664225662367378472562682919513951621737029799034076561941716229672871748147418013113454367723628074752148723417995158557826648321660530230906485330041717549408843623538756703330906719183538128157547978965614897884196542953548020472496158051488537154020552284978286975855216114284812497650755451956764314958824483858741076639964307758417938063742107559672318336808722456622164815701234646571065426407608018745289320966060955154684237043790096811936327354508664230182604016855331555027968169305721110685250080749510879034192941379627458866337052609094454655711212092442884580826413888649549075985875733539902588029817377911072936189871029409774223384830864379041423595859715649402789501198314444271647826933664049351038088120972130928322003232302097266567311884421307973976905345112907216505658585199703877342304980695799729207062367958404071533811523784825547741435123794123934110836300374928686067942302735703202636124927736558577756899701074129642004557246072938017859616448671246531904738292668254860005063591499800144123716758366626986410669617534018138323867094584119271778373537982880564042168534976377694315644733978098726271505627974410469607034539543479653675019598383107926756900639951754398782865095689516751995703147078532637355216012115528169837190692420518870787124728079750241555842855777934661662126801069438229604574348300018154337536054812528637818314713862835479409154579439350243690346093025237551793223259577301340427291618579358954470854560946710931494992838181482986408067509292803567763555601748048731506510020622337704375425752257392728474253798847380254204562613498573723671408173040859121222245721399433229109882660082386889901097567454991989678352412957366991261846426922380892705619273389344022403088535388880863930036101964467773970470684598004493315518386321602869229659477835993525248152096085701750681012894273920287082163009668791056892664012726509744793476070427841287616915559568588347225590101918118956508591744880711193252796974205057223410450951133345194559004863254462769583320288747460112642868863415741101375097532695248037051352012373002784468128986648223566217373629306994379928221846221121132839903764833207522950790189465558549350863652408503044273716500049913000184152078042110963978052158595276240236862051305424203802271574468422857056370013028995808465639916353545827927573425008390815028334107275770150450331505046224317026541449623773246671774863462348024509175761972545602832998843888056269225983893440209984877555795237703119233972760560038667944672493079724574837558976879889163268422240863647599122263072468631148708290563104920422063153081656919587273027055780985828674925359237806015558621953139627846236149668624958297242967528916452087417135818057938904473884725166254975435720375193317108231572353249870586326772873994491751649527948953351499984374479851918532189386307274235369525067055319709806347852672712423109949704984865737435657153463785486169448462893872561563378412950519883058494959748150083976425629446037398385683832348403248607569543784583996297290962880933618019466166643414292452945166068767520302237552309571120552790432089733937056760102659670211249538570141449044577973248397483223474491470347983140393157141814575666973905023506628623118216210727110569864146808098962422300046764661112116821739948885794959638666721257504040763186346851344567854454415907964852222273333719083535151232995865433272429483543419934599265176591099325628136751436387454946745312689687428832955788009151079879451290001918822819740338776093478033626711361982858445957723832843762200956500112695850124762925824510886087476145346414671752656952927647874945636527832905504967013082917683795266447009336370574915386981044292015981208102136490781241069609027191148883623713126636262082453417910981280877978628939329326233218959303038122535019057929059425853262411419438733849245762488768580645247442682894771123601865423357309333075704270644979787420813293392714773014222470180271495976874217402678143626337958208146878953374504493919714381003430385625569851710851552567428120748574457180617990524014781544552312378798735668501045731533663713892470852338488312409857823341370098019282621848779911250961572420741952907134559270614809473974339371475330674587122092674291635034437492954229246319455113521133585975014547381902637173059183512050553536084240873137293432937043513714004170872649010904123405001030915329557897076378761181508148853646948438565132073979571137295387573786089586581834098200812700074310469741899804576711441995920714398036903798158328721043457796122730360324331533405968447246272157932807133238427337978715496135626699516405176235865099768563496368949251475967616358192526153448397022532722369465201877222959754034434824212040530072624498569421528911056734121358300421827172685207418285963807515031913858962985844756683144035752834712583969139437745158914001501425352308282799926700173969588932352073317505531048609200823064585337884639194088521299150563044698035175145468993752773705413021993153676959119451540603120497189094714L,
82073651483736603133829730081803280389497633480441961885176335421549289947893500756502886143031846718415513383025466028808220489979545948138858222897423311198409758669318854103941026618020747537415929399039549589343912799401096918486809840637470960059132140217109250826713059910367279650463241791516565212171874395874860875957167814782874603431300585907429370412211107583358547061653641175216133101062304669372753100695759816683486697040785117125332456494735207975003888675060337547302201772715855213509537152001124221706128720046773238843368086350314452951506141414605900686302166604029057322243977734713557241092332830094966893610417568281149557310441983575951385514886023407707397846193947553461101781404624408524809443308251340029743539346010327312831196848506018378372041964565391991341593888221630616516537112955249965091407851600830389414450503776888944478373240028066804582955955103993023072675469850059897757019436711438040191932351372397965867307040956385012205360230974026912913247815010668446540470252793617341087353164544820574905445724699230054866730661676973274629897842213277557200274373417147382103716800352983712787993062798095070186245359732080291452190946918370660648299583894339476132845742702577250203019198408817270842023595908061453201728328179638799356552858018105107070845408230859198835472705230105777367627646857169367172156722173711439117378194233719629395725907245281032816530870260770896097026110498124024367009398484548050299937853194229807421979974871505434602782661656641018686076524528480580076356505713213690545825795056872816488577183870864592819806504988121688754875582727483433812213236748493024789651377271268251169408474584922621404289658440478505842961718694731469973918458592672103728700024596965320627526847775581832355414124000018867339212387073134882238333401679773812538330240135193096496803473375056290588021599434726517463885726575839473911768011434657295731759482664847851842414889162242227416723997095115733972091193278237252200795401294963348333655698536251252727121854270888548416976288825181157158412023027492180551135553814345087276745897523049273264886612755391782402191338460924819406562858279943319663261278892307573095867178390836256616767781674493735507757413649024199494429177929121971539812534469222971497179281066434656299953041284758460561598221364184530067784687826594761609143660539523626713715366714885986102398209820849241071892387572500740795644519423205069090496230042415377609255916663523062254551043702110964396312912326318300327365753067306559664970164013458590536103738807723582229574630547700668495288251249772194205122144419043119226073158298575141322582410831193938339163081421800590640736043528456715784778309701680240728306975723914678130572169574311158531236984365540698959483408612998952027642576982249498486027048326564317589957182703210947907898765534279759303314744270021858486642300939936034654727636705364509997888634266746407928254167000603636089167698798490439044327768123092722670741015341281864159558363023345404019865895563537224809074568882584469747456883008237489438715949099190496363161891460719099282147983843923721970833700301936760957451121460909397581344850857343645124251020168295155477089032031645952362915558582884823223737632085241475773197707721320316543233904935216810733160273202444403554123222555994743965587372590009737512160826180862730091040261765333405145168318528143922696694833655371221765633303439931215644836542227854536352269843277235414097167349717701653567311148442776756599814581262797869601119481875759545906672710278288470579069436760525045618674723212891148819170630344466984494672640224224340345172841155799881882300164023255949979278282438208233105230827566997226118804440279686663210511011212609652112072106901460065942393061679920279481260935413959322639541511328794724149908696380736170879552320711076883701471485286088874726276129201891602937394125134014768311738724927573942036703363994112229681201343965868242984355076513930796601737781132204849143439497790001627628324253703724127071783804402685660393973073842312382961609976577479454488124444054869148964731480766178773570090227975909101553485630271684100771732726534071681016393159049642520906994196230557208682323116334575905653653457225763846987879091632228979266326736635934474696757611096674158634643569234110083304012175464391112525598748066462872132480158038168411686972560775612228985783800926149224591289750825029239767676060529632448858015484488872347228419099046782647525855339082098010604636104521696209407144715073545638755087849813279482540206336566193839824728115223703715912839633779948389220411501335358423331889302613091929627915430966018737307773808829158143293497947095666088384611790536679712066523153995298991154434691431362541811617719513497166849906970041424275568822445715950994895579224310812017402029884155834781887859441724596762451549954877163989160237758992872407995493035889188119583707928762870288245817280176751779412220140618870228728275801701906552123793363849138505448006203165529055928817523653597129014455584931987282814750055110416160471644265347111273722751388830370154153891760119835984870238159435631527329408386789286439001398228728958609901764796469831124994170037250788072478781940327059968101447605160163413781743631161474043853448336616701027931275547932123698932771069609770424089465216706274576968290564128045291482590802135329902629683610559123886691376015376495211706715440969324138431509591466733754302381426072985145918821028635769937078483175738199176185091049925828001833639383099519951967245800692445825563160858131558653169178054912403190566885299634711112696318696797702711214002231401311635570546085533364274948472588257677677331125200393615948913417476400953334550498047533755365558755838639064880725789157504523644586285010015023911258640056829710781382009729775260264471268700957718495286304075389862128154266155675080023903830362685517646955521750220934307920667068400085369981923978215599082895140184216886532311183186524100794549809644026859470299359371431802880870100722352983173866632272183353266075781068593884764287012168579853071143171308204391491160366095573336145243656168582682282433661151320791206050677415009387175309572495033509462656673017531742416377328516949637341587963748680271562216042433168613070544104755463915676059183639365316099812616190064329903633689326777291126529604710932958818075950422533732658171505130516097702731499923486489411403112925825504152276885932140746305367816730777493207341924852904935829512848L,
126590685050862898103357892502248535976513278625805043128954289207636062578988542206484645177637912480463148094200383317584162220240525094815689241172218211945867318999630724971986833890301973376465686117007296200021666614187329504383994088645453500534485887067547475188878903495240664959862004589000302950719828441784722505382984624257213200238811400460498958034024602413527403822651366000191018471063314887144415533374426103356729142945896985487301468275164019815357472196326943868838683110922435805023003520472575297221120732467560729441186276971091897238173404867370311477839266899683756839099587193012478400455523039033407766669691875114836816125832841201364680517747389437825086515172337858030226560116128765661441785686262006631897972964962343791703201081808594444309671923670012421736464087779363354808476196836220482813420447957818582375601891715374424576639081038057779294338339464567017105836194046745270442789634700969273122251872976581287313246288160985854494351548703075371805864903000219774878487607163512086250549652558649880290803804977720839495405625408556151672035044175873211301597640736848965040331320745341093256708529766152756147522695420664115178642661314754734246083770240644612048389338407692536623560719400836270575166530528136306604211953640415843928218997180885699985813641213186597811984806625195192356768043904508976655841013181777055849777355123945495394301840815302371514394895498979257004217110010109268868800924932622308293073126055771759022671945466537861431809206362145167589068523159019501875260528852147939357165454819010899838005634653387993668826657011791519825431164026958379352409577179160315078746027024925394309420885247764182345467514231768090178779632943213486333379787424561515905492077476862209461178909357881618576214745186718387902094611035679673774451970098219213198277553445502235309830814229692576969872204334789294387602255075464972254889177244928586586254447860694590700690221121015202287472167515988209625143833840828986016161545919527431581708711913465743385757751294800301794184074735215513636323569136813224395184862241454559741058034656638020144119200561079055368911327613972819969016586499531129830888868227797848877632338036576582761340418559709177688284277959858927704760727545781225922298317502205956188883273873752886981317885447759693437026491072981852354489777651371971924738653469862338161075910487250773277215157833062186920133272002851728017419411215847814116702628547996741674491087307019748195299815156887579814298158438769162984593272373744663992793276122117911212934069699731168632612347740281634316233302381853294308203686028706464980684893374066283026531943413751560972434246587208065253399869452602610775392458835569052089344516488493807142618049932117430443584915879047714690078450194238403472714754091282411543663190576928266941040048399133277977161556347128667438695445538333647761926262689919632737200006479037364551960678405482391924478793553397915317034670152894357570080967361145585936327232600794861677051702871965860186162938286341918586990937912954647725831944683799107827733744960205875720785846606669975012460209836385322106644233674074746753615185801168344984690162713588427838446400520942971033078748963895414918917479030523299800346672659674239397019400412390787411595404640152522646859251754112507228355591938783450964543176964602720714848452726728639720990995979291539315983942513674597905881248644770621548814335656194726726406928901521125993484528997718625833813724334101653335863869093966462701793424153653695872767804151563938452116670741738584998944844547891594845831755409745907075762210091316818359276253486636846171101209126242462964758802574798131613356012219583699123185051609916600077880507072800871527034919401875675067375888778204387667212499041279937656184266321127217573214642334301681314345956708082000352974894496133947101758514608609382763417551212837272420704928027946654401805403489579925465031430335795195541070129427229975954047511075442670251618560197204923248595959960634188569900751650977873965521707594027376372723439953892234292454821453190512776174848719483138699971118950767248066101974791596074189418425151828823408742115503197708776595712912385170326760570121681596176584751388940478858993898241762980071061886026640235535937558219053561714667295230267378258887781988426799947375992084885649102119252981240421091732266795513333533988202356446278604197641824116351623318435109231045710948214770943594692393410780755136207534214496099144588406043522177180169275272968844796192967635702404978658060300328371009645287317952508150939277491063388199278885187157501117151044261519276618306264201063428292610609365655320386743157479170601090895219229705848782464914955658177005959710155354107501207669809276002799419932008174915850780147497878256239738754264293932702702547402218013766791399541037238989839212867555982421693124879219671195315225516109350969000603119162364987522698322448280142580308485851018954638012057157680100365548582275350788027260755840218078395880253239388712175586826064530571018015624036761524746085344153595799525450218576225074473026426796030217148384225350430090006912742062387723232211900643945301919148131113489045625126904896813672473532895216062419708311974769255407067115811784614416969994155729083792719550783105153358682918171119760506357404856577637374033911547740513140833759275571738712961073867436427961411335508280410341903677259808112674968274815614332856160050977174561377734708372225550078505030775814598101277788788387763139341051364549358309010978483628590815050749814513249381961794019577257450006190575026642240037211073918429735334236524478462470188908286829474144243230956342410476521713604666522875431926917791799992383653925865499358147338297083917328054493846660007239434867722280234846709694526709075842191019180367931787614119764120938050852516137958318335466410176104281851193220218619321949981831859609315618324622614416227996535793369964799789913712659386288097907524715365728924549814467617278409811637433868160889273459759572861762298776370050547997367420493140713390030772855463875426879276151383671210957717648484067637777995446354899594302390153927366175791147551805722042796213505699873748268774365363862295901498935351767796326100532137043628023623717273987509047137708211252206262634494652270529210970430007976102047099520075036560237146345807570018739422612586969259381936658264734356427427818402349436790569614879345031051358397953145983480778113839067781314243506505680251142208020548679738103874L,
195234402690745612541620867476995256041473030728172344573000236556378344628135716533295159705452684045989860488535643302580039277957087421513294003540777505765755322456609353595581691427803478900211854498435101553724895581445344613193983985353558031898970973558309701546984141959154876364584108792645296994533114195271020410616490026759504504098732335101630442374411755783500994694409285908812929951895277622093609380661342701437786055207496061587608146978962160126771425239993056159785789668993825841509283945021173277368149991947778879937460981902426609639100259745372948505441640849292633317022394896764642878168856600041566396240176690542639894943572110455813707287046356285576898407621785494471834431764134416802522848677152129941409499164806725374190949302982932594169839450471844758686352339988814069153255171274827766791956428767228826479095252283768120082005218925956938374339660417452359026114839302378040209519824794236033564560764251295465508177278336396978022474960278162995274016287683943358962068564794211674352585796479575407926359542718323837421356535006205907934114010505776015785615590706335589491754146801318140128525818002722316581432774005162144326484399407199512834064438072343128335314344750256634697756705246867312142155313628565583494746055208887113986704381561532624767638211687709856679671966223164659538461507208264822457929055843501333735710657235593108727671265216820341044317228651624710729825384104090255914553234432111818733875255962850799537610695082610623908956620494628640372440384967049283715972668942409346504020399266070038737231064480853191660469075177603601257191682240618406788630278854322586035132637206570118942658455383934457994963427577663534463149116697125748183559932189196698495101564996835122284367897771135775341289000058461304460017818701487556857838132589198859109657768264955097002094461093940444244011269652314743893120396046554189786799675972713440816582819723800944784914769089272471262627299053365103392729838320414717538290256914327773279532867382000078749036151115868024264030892069349768110714620856014955371015357211667357006459999755356273132660470341966344440344231223480971340087811703904200451504670461716045617274149426479081169590786704888473779997197256938552512966194459941413134894632237766419169687293991692035858604974907138008607248564733713795686248948698034192141686374072476891940267235765739467216647936025684273282541237495378469288160076523686006232939311024892563297956826797838242594785958127470719074991589322032015303532458880308570394385688006815671734487824589382949746233226462263144831655870354259954908942013870610785470396596205284527726356640961792735748470084288873579310735979824277130546589646914510561887986181393535827149481787532746806051000521508715393542144787128076052628074070427697121354677629963012760538565274371232070398399613371898095502177192599089417015478189088761638173840662497559058833774962139667649697501354071299532136866060110384641464552859842386819654355038043701629463577970442783751897896351759584251623437021524843655552925250204019891229174999542020209612167999371568215793404118824375737123437974337349145230693352655507663831825748359629479551292420498143063515886290935733958408880630884097491960182547773993327742853405433614650130155954435637854185491017805758853668893917825208303222819996840112483366325481162524109269345696314890561606555582057948423601923021989679802640829890868167521839653139517880211285166754630689053311046729347901867694443190430146708024387112204190842580070966886099272749420767132611435172865409408660474565537467142776591901766168463636845849192277871963555083959416284311557614073201642283450122158583917365149455068122374444757419440362529952810444167685203630487662030643783644022286255642804558620002423388200258028943542308919438677661104270490135830500421297196624687653099259335529440561855459355021612400178917656349925661332833213074241455790578420903549305722249828895315970055711816685276277141442632292548391906503239602148375219873744830538284746139221018632429281527522374871714931423702093982236588025522208176630937771400236145110817954200368656722661424097806935882669691817109907372221424977222796100478120621578562370564645804684806119502897176622579417467657882677751582156287142616646554368341527485947566876213134192325566689148371164225501291754791149907361475146826822916269441600755347954072590111893144530519684746761763361300043925472381228135849964738965090063363792721682584271686920402009214820801580053793969059283018648299738043346444429291247296987096764512845471516245709723731617293260280394509100601997621092060409828068739038967054368068460024727470753273629167466314073632579292223367119606499576284096201811732525870614120583362430169492222446964890072121047857709778963746885125482467038735370371988275301290311000662335233879006205241584804603004963963648644604085913232255159975890455510132094872354661534774976108472854460456786597824957194602096292826224858257892842743538312857338537040595644819307873928158266117045021801196308930721181036470403336489910610588377357025783014045261642666161861692383162912423821253373270879517048586378583454666724968468763917913353578729848878491705638929801695339527280713012722961363019968946378854807445611839437697629995717215339359974979779667743158442893664616899779440868170089032180641355892496767895856982437991109582331159423412440083360692059766844390140704507742943631054807147693947990100035339851505442330549120709829182572784802869745749631443818055184959419659586021814980537850005796919991026755399399358336867787112326811432612948463734855561776092349742698737784990083145990871332316036903601676432563670056372263096926032534897909128448381840302267759398082196835195975459028663214892780620298046094745442189804316027759692203164990818449956592078010250580850117980139375511852954396265055787096686293877050596947322896178515168888182002535982722821756659990477865747540124948164919483165054758519016081962274817566078015218242687540706781059688527627069773666564249714119537490372499921595815815473263743781657789831599114960038198980961405947615467841761927599517869174675108460089506886287823362838685901006999691299200324329229652809001417151337973079070976317018943527488472467189616811400371276779228429766670635238028296548262846314128828234442413209779058421418684288385298390762113147908162131524766168097196853669607012283195630997256182833938803180977787802710755424712752617081746733950952374134022851513399606426L,
301070061125523794034245589783772066389131231179009749349094287885899147140453619947275931388194414944989504355931668801783115884373845404009220414495010798475916507432916183062920418529704543116347576334524733357843259831543186755027344395627092142507133319835256514321209070696327713704967486524417337696960943043337000787870786885990404631550352692595716651229171290513388673408844412151374857700782009404549739093388813951768096005221307933471723836583902718916712418390140425849488074694087307894573686319840805071691720999504380393281417741989996730271665433828116272723865398561461187721263888154849743252232771680350098664462487640589136669733318875823997110401456870277069386464166372301105583596062144207765758320603705429602021805080890380350209158616689721826067738915475342101736237378590969243907645981291062886971593951669682785574313741191684741191266869504940405888204263313921829007855108971661707143119677885995498320606650131530975502374400004811497356622948657398182389559749106750494958728821291376319681294864207429396702479057444246122729978872113178582211995204729991295412243453629375726534249375607022294704669785931260843660919350119932722336202655271480946222208328150619685246160400642851020556670481087320411298668388451337284127961353745748857287161492375722951786089947465791071652464230447323777949232510185637313355767701189512042721706373168893689294539564121397568736018278688931849340469905606173521402886235668292549780913475413180694720952182065966755991468704782454516945307214508065526408948599810978584269338625878544656389418552130574541103509854430554540349181808337647816287430658941858113891740991314755196339858244284342052707612499279508642670857817616764370987232086291858538832513195974048548206755878600590434457193319452457525534344264772476357485473321193975331192525408240609155245111219440361066284790920757719760798738016978367310815580772704139002671702163948438957829073554331006728145557373579188191806385472171798286659547667380369172710101922724834367160618080974814842926819732323859136764844471697333441204234476306832266595542951019350844014299526556612959055932331519930090305202994841775750385523792941210848071667453329073812072638957857700165623611451075397754887184886810079494259396142662780027970527821841710123755968316813705028600504696833411417806229128340942537580621694892470230952769547959140454344429556501414400999010636522518505637485670129983204438348013749891337834208216972364849141810963164274233429616372652246173163240863093217124269010835174378563475060775310295232220790242638597504784997152641394768304172983962868915161710981425049793036661105390391289969166131245394367012983843865597005602012529968348579177246178293070812574647696412530509873350936639189266052421619210021138562812843605333799625055120654110755952501434324657376804274426814988501788365800949585407175205013824086415913606192859279841417634789757002557802211872863483525230104525430725020805316234593209099220521423135671012857640402133610660677799606502879741537537467700568128192922824680840287747144709405481908987080504152287421188164511570214056311497556785245978334791686754562727135002700358714668521252014526232361161733213050337443798044776549331216447701221063374355261164148897421227579889707361129105661980541116204893671205237630837272264400414582370641731439526849163309649248875784161864351908509034734112908003718316163908508462695768142577406889402907477900523539120252278702166005336674594255987688448636540054303386195399634409699874681599667566448757343610176988650119574612552934819869125707319812278405324390325230675619395498782774695480399051320240837844835093517650686776606849908867547813509355773683822517219878674334406595016102667898386609279163352691309482565161802906700460193486708912710241202945124835357787449081123542062281212199697391727822477239809329754324287632014015947609482748019678198339257666443425744711871948622177931827327783830206658414180866686968155367157037648673984204260222472364581045310151494499898434194492692704319530793136346773721373731662288165875901125516985241634421624597583095906473809249726443946788990943222509474941957235586630850688975796768137965660038016108154125670886160958985447094682439453360759591571890872254946859763200663956488366877162885645518071385399997442859793831055819970781449865012543192705514193920188538115538169499034843123960277010658621290949053850153780315518291378842032166117918020325487506286255673390552928552610907245529064386758056058848791826728486742122869540050255000528426281423520369073185772860334943989957686886132222792767680027388308247388422912873268513861794738977948306075384277722919213715617382297608205625796982283331721980437732943988311439780432192317335540254128924678996531012650765155748788910396036437318116489023533231302328756565923144730705415664458657894305269844776562568092236370842629660924236081127855458894114812940113824245997424697372817489940183333805665556550382012433600028234906163921894293441818089273843342333576061442210831376358383939436787920246289832162229129497640420868459568631896026634750862459604336827674561178092039394892590349193838409085408345954719562517450001753913401400661025061397290305229605007905148853874068176617317660938698667123777185627477321385063243715098722703547810290151870092918561812144171042230355825057117842305608919685133398280579077714808765424290257434209884819983446878678284479411046597619981504945429832073774869281369657089559346223485097082374816560752701046544444944218406097785737610707328281976787084729739936425493383663933319574169548561190639871327465841002552904242409307771480756311915145396792775777576704069730525291375715172929535020564582185842281119220391805831765746574073928860047157096469106253090641786960710292216519608878664683873730711924874347657301871483595660610082826681576672028907752503783345282186334225190986327944230396059225096189747109954704030458542386097030900977428518090409027312963752276814063990175805262796347165671948149211404396175732086836851447597792741724807574807561935888655332951092021938048604529632003681571506655169978329133283527856574724021882915520239358932437437988212269335004616995904207761604233202443514178649141242785506242114248962211039446812461432123605625051364730977325372183746145781928707859128275981799214897417405235477596828394318494545895872278223208781494526137288785721998203565902306537336223115718019518725649217925025366852874335238962023552143380964830403283706613847L,
464232390705672928903139559140090286548406530625155851557786021419178282003629498456359637074651297655819868886418484141269071918893541482729211829261427045464900747921797305607756571589150330578348163909474771624856362054661008365962935376292238732740697845326301268659528386391753285968317824985261183971062184214103722498910611873869357220802686622506183582877155720679285981404844613634346896415874407118983571056989213841225338300750706071559518597827947634042531875962244419348785004105939334529608460477805781047459852585733173211880719738533981015441864299931656374677010389144947252752261669020655736700061028645558041354109906778491994001398797034758464051092252969411916287697219012658021009068863403591922907030313519666996340125665620754249066138344289214665977127539763531494921944816756793746264991042993196734836983570008352457019280598960887565061084178592976977326682612436889910842340890218972208879754103283551706993172608937135190274904942934788101396699774152679991922864852355469068604228110793963016610535136876898134472582794282799458441911853424393281308147769817221797957780213507090881693709545561094830767476379918425566096722652602380145258722611027594344132661726152930232475550244034963811081192121286617897172947379222947699971015451099488474547744611785573667158542412775976854568460578170126379027865448912740868571921660955615238836316922020240339737816009501051685628650308254956995327166320078668261043473615333531940019255016786905613737597178750012565085709026026522272248550359124587950195232408219126813606759616707657042335294652734878921701521833693996193094108525593726173315667111768630477496608018869201420373665833500729292848036627144569719093788083845163769085344360790178824425426065648299962062470494334589369047827986164579168523480079468192192692971536977663645277105440149353171970536020358455089907827265971505068958520374448384708171481077983672699104402866005129227271640913435231520630550075628123738462383644526284334100418197209665801116429950437750209854985631821253381546294771308287179785572156504339026192296155148085602476599687846080134702857650309284444361291612848930080419141625475723557876455092089454540061086722604683344761603268431440338195988696112881553641200633542129983858842915452762700643251494237341881608087852775375098477900241699541906664922165947930493077911908399770049442457325912587877211887091599305684463942444887322874749172546303175367752066363873557680263564771844806627341017124498350742921453355591125812055194002547298718124220285713984131691010580956335179321756349548651381475207056249537645752891776340821395764021542554875169261794209361645004928754492175306391516234971741261299716875921269910012316287832122886078834135654849161523980427551858553268731757397005042380420764016009330030377233950711177962757518267979635613979320273493296701858639784410642873974319799527897107797417718776849057679170034187588201706573765621039428379228535930964279769882729809628405963886734426890664168309850482077380770014641001734403982047008411256183648570308501666384302691042579069014834456319111219146060453785812024733215068468558176313522739321642065046453787056485408368466293562961869138597475522918121278790648221894537653565142759000386887208046922199900709370335188310734825457180327944014052293044878321893571085233176885246731268691354220555873039521515050494091250340422032050523642264895446840156567407519821524913307776321567670172906968324488180163274188672541155834300500624226214789816927727760477126145493580013650730654725095320428267197302886823953114733299121936700167694453929907266922436894838733527443338831620015444231218656165767410312246643270214902572988226398022840223707250880542998556655463639135898888320291443442770547372071179080581474412055006662024578783242912781161805845542245500745764671061092190734393823549855223646493367644557799739836270514183839743181916356625114720891062843278369454182418583457152217927022948387187514626006461001577509943386067161692941305261904527900632483900947710603567342486162998979426659021126991592063720462286806586233540196942332166665893372218642971951001599987459714777262386149733611261187474709579030688971995797000609495154545550024122104980602032288119229973191837689508192456726657698973960217730270799590567944707567454567332537707820896963123681544252687856262027278499664521887697005561538553982325576188694412760347833832686762799859582344131889590489511450579178005349097013455913994981935199514566641666215247247390499784854892381244052284511185176928467999814557994942418520628159950095670945197959525919600420402279898018886700018799182046621510195386135725079453027742722447743282588043109572231536418441916355945486481190303530759423087048522005050052088775710122338833151917525564478929618472597751909096354740543277822303574072770890062910632857098597960897708700938785130772545928739744462669488551967847070048469590343164752178867750976494304531373769352214275733363339880764705838222592959491725667050913027579661127157012511125956527978584532680219296254914504698518742644298880295789353333766038313554205087923005168462480398426028846061444270637945847667727250337684890553035919684071742119125759714444339134589803440770420833379135848508320375385401550741839968476093995415549510847573813204093238041485161266985587107745646268499823204813835549524456796709767182795415022680124513110141763096907481259846176650654761189009218830093998734746378090059476679448665864224466860370301310783862176599357527216734098230662663658904220195149884030079337576762199211740941890176028257589183274019643435395644940831405712194435114275000438201756983012302585774265133494288730096224000389246550528210767060088592099345804768316812966913745483958844375922271470305556304783384175222258219540194341814301236003675748151409831834085074521768211977257058968662111811360854190956020654450132286425349288308576390936555524840486473088041923556621549517396740996669416952924806071936236363603628111149712486497826996882671112584890296788944516034947772435553904775102341070131875783408182651056936498002039271052056944747157117883309315069385890385701095497753380878093917950211275141196618283992803903396040166721424221525822753648217721227660843361571907677529869993185073953591445788822084542324597557672457940594726662689637803522803686663135524944074602989821994880218732221765185082721820639479307082361611865062401492597971089370659529302423629807121713582346696222916823968784470522642246101015238552969L,
715747721069042643811360029002858518122479166853020230560770137434740740444659804067506878497161457535930217835228811921703433683910404250064309667260210466524731560758711769365232133094826520003467640384416887000838372910775532454686923834559444683171658007074977977635398618794611544550815397911581830267169360533272403008431787226116122769438094304580641461391377963078527654199301396260931253075823481850206319259913941237754428653479541238279708869611286783498615390770438629551143427208770328740572925758267078574076350114209988864655185472152971920112133370846698970343451106273268798619434110390535890040610424020704374837552328864211972225584584958750095345590097433300234757839644375014803553549891128146921996392929456240377177185320471602161862356127781133186764443285039953076586351058778568510857090903484523932174729164195722633861334233615401198615932594415115931001310168445292081439941477401371117055498196017978863243175047651965341150708361647927343940395790583958620187895554240101837196318384467344449841321819752814866513781819288920367109306950992100023809606717149750726956310237843961689333782087735214393961232888698061736049307687756152768055142400158475203779995392859361850960107294180192710367852770055110593851735753712403084515716537676082684310146059571479266259397635326878915916830871210058665163903032494741884618920302407708042112371244196216125810944325994220374384445030710259869675586014684045662294067762902424886024073854588661256177811590638623246256382588973926567266289846146318878637258485055222337368433437166024759052822384379135389157402049990799802750085720015820563292390724018012200451152842534415272428377832375997544614122910210805545442652574850175500005401262862966249771550078346185058815006830074091521869159344907654015165288413924717999749438697831312306609668472352061871085788195769338362554458780486250134515226623186247962584659485531585856719078852758318027939042369290337559294580942141212287744322250322296528033537320487328362975311203436753566870005372457220746210697478399607430742884339471164138039736127622027170318145664592825193077160628890113693161696270501261621880529719068181301135391677058520838893457706732122841434197318390809279933446491905726556071051349475002970501107571625384671927260273640522493273920934185881757404016119621388864140586231439439497805887924834494592154859368560178689824911408202639755149225444639624404459408624096707406017703431127663624051823374477211836902635542800300772377582314111145256879018671787136243787743645353840338885976327776671154816701380377765418293583565053231024996356845473368471148668052065221010661780997680597819813826883802520117015496080639665088277841303200223881953685624319302325181431720082157126514163484587284776495851880644604128830860834749097302000935654699375085038493749610175935042255926857958041353122530385040990304505564938632164949487819753830281945493339279808166442422423921001364299546511732730648899678813456013963267527634567852931806356004826857497687135186782878910374458207501701157394627506730377322100475426128084126565746847251779015807991174349734349139527249399590911720077483419744719889478070886116658583942745001728688665338394112917433024721984510646610513553893250198549994835470453186511178668288930430274681582316334816739230504646848668197189652922548125611454466335106648174945196579743340716205404370939159518800691132627894263192444759488223044343353054450064947399715920360468656162260736150298725828473085152636716974115701591108248616330264160083266184262136630491163386976054504412242092099866646300911638282163279354890236091156337738744254587341709575640450678452910217103231485342674426754105623067145553438379047537394503812150735206849280638453321821185743493076566053506718803052760444246312140912130827874878169838653434587876636969662367297487124034670092439837150641607575673716323681581355521438138094766731794259220596956382027713574194782637422936217020670597341550218491574496463343656308473717821016370604725517963781726689302087233154352294642146872796859938041435205308266811189187537633214098425528127517157591945660333913423152808170883729328975661594784786209952272792825192358451213234597524463339716935126890615797522302165173728668911649146138169651782241976180068271360121829049796063892886166213167577041496113705459851699931055787577746310401351167020326761310333386887388264598250590076276711579874227912088860188100739126471481665198720601017573878465126293083418819115704733766976449672320309267951357496441502354556642088616310873624782654380850710401974720897814937369331964082639863184401752484304224107889087100824456263512301156569674093737584635120086730609637668773336731251416782719779984187836061584585197788174368621764176456882091522687092135241310023693089844488212123955898471940742260524839402278359490566527053010362710143714564601882692316014442647459912047985184172971058425782387103762287607657187395419275815750104821630148919239071371308268634035078222672249260373096839459960606070430866788010894191934513316637329972227650500331751644835572880300177139625869373702007837287008480010918925310726556312340286996465898720758177827508158792005997477423490546946068662218848656969486320762982099234967195275676413406881141326678382928788944660855525351191045952769783641396028242673915779772407636875946093167709403552632806263414635836933679516322019807142539457870995772798951445463809583704520963241051972344226250372646590011725405886396989482070885675403066536742951922124484328239984282218551775381734273094877752941712102064645409407740865551882319198711028898828712948263161645541039528297778229838392494713311876421868812499391720433618607051867744749224615127113291889947107773748876711578405516390447970124625843099802168485252888927630985692852185087779308943469820848767802205477058571559886856781829621113806548301805794400097883921649852667353892233026003135244306404671647863411457945858704422820999752020145872069318237497466351366378875542659717661648832454643508033802795347773656846076745558378241544117338468978713627263444522486670412096464147198768962619347193793228773075950300901000690078929019547787515581193876395693273004060259397134763848119734858758676815555111337177401661942324830687145059196055395746327654690697723826736640888438275063553828785361866944344801994515468083016522631413982385778306169290728785764956716348585598275517838818321556574646410184276702256722398089303940471256960569989821546665117961324099495912618052L,
1103420876057570494979375759733746203377563903670793856641674616146503862365381255144100311193518168259380182184499951692218067413216793616058065801787718003214692530741693262422432242052046495280988172426456487624517436114954103997109938024220053297941169855069975322834480478181181068930905524973247683922895583013639834154384578511402965149653773576347473601333825562163558935419766371665706118766195744109878881989927730357770852298635471869102013357463393267353014943562421104575240585090305531448689620937832441593177637826289618377531317935752057934864468610172835751127235032771794493368809566146764285653014777039336128375414946393407714318527011185598780774616221330279718602028654194180803010747718144176091831457385383142940446237838116661833277573026917820781812451111650455646243128867037370879846885821653399832020150105212887150302291350506144227601222988250589099766698216952005920799483347731101648658046530139853934240606666290597392915895374769934995452483413928660821423449951351492610820935867486204640686410982844554152562696444726289149027317018973748831153745433259889428862625412318927985005198249060230743149674344688505871641594050284758241356260793114986200147510009143180785154046419643267714176724738314151307875001174930129499048940119113215024290878674782280832867384697048585518351233368062465473104928098797800571259026395010023157890007982671957845840927805207809359021360528639844606111848135975285616177705019497662707197590332513229059254327650216015566501914469737491896743655649729247481739285293223542155137761415904505043168895571566515368445245485630121296775551829443284666809995539203014077811976636986745422700580191329452480978225832906297146274445825022110051066198226035059228202165895273350988627557431920728812680231555679727807876946860378920980720113023231919625826984939584820321660969939659406218882069687525119032311605030613601204764960694205277276195328199072769302293002842939234834793499065344610186096618486648045778436568820449433274551634466953711935121674085122458522151223629065791160927486415939896365986737513131198874702328766618691093997022687315523925562661888835771835810613117628490141660247412777314099524216751277179296538120163813657310338933454569086757729661742346905410141980286766073549975875999712671914242701985328249704818409997952127641741144034249878180823969028614439558332316343026194804654055164252109001469539127762321841729316200684267513395720778257527354069420770877311194321196604267173478128856382521376900538199281534296594465334257560517624066838618582255954210705426775885964767184770000586384514903117424920072275463204860378239613046686482218061846365585609449491780249579014758233066767488180087910612174977362853343680013067394480892722424522280376647411407693625120361490702342840799469301727128095185772800725947158431883981276915692922239387842605801108680515189549474562295440125039100666221534627795805148608918585577982223974354224192987399592528201363196250214047258587482144859126037744935407236108775082904687692548312984299779409824462165489413967209808406541340732621098439951145070003592764079422378413703110061305439400270305098475248451270557078461555884685882894683291026320681553227657836380390089420909318847078712367174497323563876559722940430991829449538784672619864954963998091073733551550107018009865794169553324028527284294058889101900449087914792630061226498249345171531413767806510335838715063954226662664769368340478551704295022606482012928702398187357804173088418329814250280336516692297074831617147693449203941971275122165550153645033287971330897871350798702461971412685418444877862973984220438954596144712704607138406770737326355280737626007085968209538004333373938741260123792861859123380234404361791964493203147855934886600348123609302980069468476556035628777307758227718793621958741782097195349356864384071518380123037437950630072366516414701487558412011908991258831615714129233323524181744243986033881229233804167363184130395567910120609142289319778668399016114252973838720252679730918938095255762374257950891056940441567761939171946487314207470432785585270282366473598814839738986552705311808440387888445519164029891023964362512053359153532470985844125527531121599082293754327401896038179707440325915673540554572791764990908587632069291609152670110600585457466169623015812931551262428126546165767982539864832909734548000716651283322233535898961713317026655100727754096347206175299644749313491131773969573736586341415289801651636105273472135253675010293568818554067198728795225429930864383864063303238555965307006511801915608294299595761267732364868696701581542783385719431286803765935410248143285525216899595753263420147487675499688612188380727247483250713044633811750149261173777900884250352949011828063766512667399776753006482731027037684951704309437686831814208608236474329706557038781338737996793351425526540890308916745826549789311041967374081458415267310105565385310910427017919051334805443929383567080824539663031910931322877675045566701421725599649138895003155726877090309009582431482109654127109484631152729695808158667007975904218582115475614466019851464398589018699340621740522612276031629772662700593880485202992874606778132956261206653847536417930969532079222132003821794859585287770861200692649005226884087741754011249683245026445793379474262505680723244249097403328733827462028257984042762953439437008901366188478972969853311165219769545754354465860701066730905930882826654471558946141804827977253121503612718834014614207632129733531612400270231811535856829172677132565459702669711929631022435860834074647501721086478245424326141997095910153380645058893199933890793585140461883227821673661874686665406949462696817806202072772931121074284822443230363298439426860434330345730991609549683578407091010275149725403454068817506572585503920801495218267299758012623410760510973775667003516763848669410139049741157867913830870851995265047428621827317445392098144553017678023887770910757565252075434783825008138633917264379766943224765037593267172152376950691159977588358948841414000327805532564526800266382031498980291977242769641532136012875004512359883967905377269002497155612953619496934212661763025818383793077807467060911137164772244034014511252676513421863763543184696449333231643343146547290730696596648047397583017939331284564399572580208044274273854947324589924927322913594631755499545603319812977601161760331205354968675230667751943250638491223962777860063944521357184005272416035763401466644728127090766788315506922357370017140804734L,
1700901354903358356525871200836386013240966159724899665924447380316027981230586994176055337001229880342111693696847427299292147585717664786432456610317736081972320255490204275967660304998666650064259748705614413750648400527399553376387958366318959952080564022456858410765572599981539305678013336904884238014028337526422422471205670782436294860049659079939829471463500637456021398115403859430690909897458800908475882512920649608927842052537155206890507167986294410307309001363640384507588844617496753349078691220468929777860280024771753050802329984797137663344050675070453476609823795741359197271919012931337342428095302249774224667385189659405859275177319010153705692614451561653049828751481004241949674918415894398348047574647217963728132508727725245643699080168400705871290539132031774794687058197368833916794953733606541813213879044061473259366174533111342912920200731491596220726368766433897443388608471467345595408307170672632451471628335510113289049460169540443218659723501642069620229987337578937315774534726448358621642055464019564259794369356456572158480018217136883808719603115478943779136603229041176914276847324609313835024301822232545254701961266343237508832957213041831062359814745277968570458342585536177427957335526054737091765178008020424494995429418701459257727003144599952609043247383757102912028919636637431419048536576195569662862823258310959876237169387731036844222134301178584015205096870006149462865525382580036250347530546866531639405585430744031171861406569735866600670808964576300284833320896386547107256398663797796705499946102961179475167309713031414759918273432531510080610875025804687804873767256489264074374569738297920407250492658677507725780495717553502506576950291551084892060568448175942698766819361735679831674251159980070035139738295619951622292394665479397363142645116218134431118479279476806417383375076526514358951789458742622195764292064255473608114074710480134987508252308250234712353236651932462790968117405364551220226633672888254324250603291130294279387818749653369797128577330827099588465786365025857857810621776757164269779294867757388259118752439033314253029045834928404440093084006444211012284292185777818522134299926139351209287657588888062906248031037463417626920027143190196385908925285420571902947188664890311667870060823352129946827396645938710147856805238683361761314449849991502846160677098505799489310641895812649620698544636391104423184970953767248765651598445429526181679604484627340568843845387419232750938082698003172946395206197648534657233169453351881976079098751156357041329109758942704892410722803255394474299355603184076829866726130576329168879186294303944509300027895879499149235187964690847395595755252711939846385888290283467012007244436574071303463718117858002529685845731035783136344173601935042414270584667182731651112612852390876198699784050255364593211960765794506099629997618661149844165825314631028130760528427446752840815032766289771988760675109149256351008168620973213527046712084689911146632887044284386118972210564950491521663543347519121945859944163498742492863680621446491811440497344739616250749461190287465731433382573875735809164560917246275705713363981831261832794209588156479345087156937287473531255875951548609565818297727510888091797084019100152371381141348848103335271854132733150194639332618875414265521231786967805596842377878544809120164253803530173611215381033367179658719798710815390747144175209997896829114777318237128229130169522233454269670830525878515174516277432301304438879659996216735071541813045653076657366597427911750300865712023880280488356798539000524217404299780482066223410050820345757821633710218692823995748513832629541196318927055651969686860550379021428501806183157213449077254632783617625848905276209825589155936426723635866994095138602012409109099623863152614725633833964995991634617869114854557230579477113578763025202219580185618530704716314884200963184617517858329631865357400524878290852166643336766775574777944000890277732713730303975084808365523705332207092156906167471419391701036792832608905457555739810298466642205342175777084441488517081134376408623002744001961991658777744889194347193650687459038488417034943255559223657760803195620099529707668043706206868349742816938046566307010256294032016526072626812919241005770108932382498653900638973107028111812911462331807757070320692846007880076056831227711795153390684107282114634494557792740052723515195453307897279281618398171285317616840024913495539442394233631998480403795053937256005937291576866109048133977091125936954537503841409169778297386385789052643844452978877771171189951096903990372006332569617534162845911854446140167001893574428951240887885823331872883407356576414620948936437973337916284829062679287592045351858596487304764484959130842693650986279373791991860906983095145941088316331206293481062901305125918723462368810247138815837053390347184810014233500876869244840084521959419885214006810210028881013086407769742699667006226878540825119009975196012608200904981866479737329067921776846017481195164253049929980979365884005573933140066812326104543967351406185226151825350708363410580945216755649962297439957517178718637460832713013390822025551514395116791293878815373216517088687070582411271256972359202256604088219537343865989984698451143398381977420549030843549061589848442771797124891399387311903733750013576896621210022580660443969063572041490837393017317572451338950998635826612243123299764544166067290657441629709237197142602002757558403882388425248088952730366738178773582367664552417219922241464710303089979653241419876496208215298776651754559631566175410285248660660331203746907401842107292050599540997913659558658037538856224035769796713705302271199648229557893919775652511359857965935675444818406429672890699617492705374601895716154973105051778417234944344385860961624223934877455007129906413190122150284300782760127528204876032626847956804012360432825794206468755111462231867523566801243166944076290531488206132943395828914348966301433009965236307197136079858192506871753318816489946623799464884601726559105130601822986893932398268847874724804219871775715631422578683049497843098675658300522984529256495076960094455034395283844564590586866275815545498178730004277119767475651407135993172433946947294892007832836514874620476610349996038165615585523958824842487373714702883661767496005374292854267344105952203595503703091293242075196488199514655635975498294641860370390136592622201776464452260250769746673226738995170892056093603313833007414192010401359086911811597396426370218590166552L,
2621644421806868084461473466861726384385429516923190680553120444975280028412129142930546245311079252887616208731221981438017830314728450120550278143948320602297667294518632762395158169356886206759207528400473891096690953747610344726067113490195664166032182212422828271083115521068583685102457755927119150033530612952908102482597757327146423405748000197192765730632045037770258586795884624032644959113351876398295399587335674055201633365987379940182475719006691225415670670194457970743002421287095989224565462358916862843015795304476544394406496925232717167239207869642217715327662077553001435129912035202869927696871414906562060692869059402158745790629156120013486997988508983320449116344804994721754892245590330615560919966126196370684678579838567367205408288271527272925554870236377172520732671785770667253437289426601678097031766798742547644167540018731270548900762031147731505911853260847299781117981954425979327747738718327201766396391833355254711842905219838750485757588425365944780559277880673431487669927254152181342990650522368341254743559469910741760495597661065995387604861236554823354293053499842952754760387018009174131148294548431308082599161701504106981390145505103399225582545646904524232108191632436566597470767370381811072303519643357773502980627538063564265971730979388499369015746811230391929109578633898771643159135038994349397238366393791122306552642657919711327961367527310466772960339953179692141064985745635547881561763680863843693199510418519689231037563437304073683945365151649285113480702753941370727082215271875011201281250759198081130968257842072699648722103042120006925293810735955584115251160297662760641596671638820403361119982750891460130131489008541877170479212493016863625218168010656673544422728977692538419477255805328068820736135467750768964943924599953141454331466279469285296621327662832941998827236832360653927187225700269508306979121994756855524181508337087316694742442030228709826166235076375121364999099238120286555320580570587166795420662845524941278960111364147768411939786462265235413163942010313286872066356694409014904975680670802129890246980420449335656958332512130956651878904690596121104102404433079261594294789405042952554318359382084463678063107114280393564768854126091919581910600194070350942113530493214519676854126414816454961309251482871822971824270873780305140792690688315332221529269617823667376807379154846790792570905754676323583548277866759511945297317197189880932402815944644183155708453995126117165867183036914748811249047730258749491260108759914398734891244565817446173106599633996785138622780064235230767492158594795140171911210242924785536497572421773910633044474618223594651565341496656355303743527313135945524658530364416449001545864220691308432678305369978294504675018668950988432764501010506155249595678399373678408763075872000858448928689791511873266201700777413162948199318255022054499493045543991565814455586823847813789309478662569835654063816192712120825534790330850474962425711325868054632477689573007595692751132815082046712722622035199412528154849422113972848340972810298555737539058472278963225411338449101854503264611532956971779454009573795322358534939578039682761853918378012447790885511435441528370498292875174572376305894926963977845273994161115695688703976019278829719913879740920940521108160337424073038588974068689796268363867982414031236115543695453000333865360543296962712335482254831126966386712936671946001045572106934400596288890400443276548972148912916724086667706373307443425247615434201785094248696744788774922845994697893422915216356454390374124125505322009957926782780753739264666922507618017233182448869497923241447311736546087213016804451086052399348593834557391913089066149961440427072315368954485036368298748523526568677886209902807769519134030736227444581382031738638565891781447983226806746144865886270807095914114678556051775851619093901880877669286110515542749641635504542055111638558015494668377016172284423140531940140114295827841643038929269742294620957015739932307319019516796605301079002541664984488403834943868288361562811658374800627542963017572891739229769700597266644122546199423867083510901213376628913730822734576031637286376085237283754370215524107421209693545223714461655099049262287189268509809656922354273949163416187427852757094068330296261481399796443715508505995706504730744286984106388354369807650135360325850180102129346848143513949703379186447102970333576756072923836650284550289066354485343685719988953257233280754296260478235895017159966284680300202670257277998159210634357035211667966855514536819896414297612937137803311721206368588991119836223757702040934374390821500044041573354046298812574620782744627023393616529142221945293005214432948769133615857215398249030589719720027571372661048782235008401304070982705011515986394042742610961207774403166173918788108009907780442494616374043762014954423360892690096031034765186774551328375234424100266822753101765175717638923331636258321999124468945961147108430156876867516410411992353271534926132600980024954173065646100057973732045449500441591637644246762816332068051645460369350711846045733638107860711870809021347009155431545719758288857916319145262216454865269343477070619385782562190349122598044956712972803550210062130828886831655552067841113703625650305553268572720408315726898612305762985337799844558963491360403231882632804891092276811137541463405311000907020063116110334901228746833990846485990553086761795056866530036673806164801312989530342151803321754839555618609404014320518216343924064221354797616663149962581430815833138132949292138954742393641344425272554039727665507521498821967183982181142159898662054124831739249115302405555128314461102475889898009611021844008789722785095645822813707505927893719689818271050475813312250232358256855151074132494868293007794425275962942190237531028817595069199904025663259656881886504845521976255592768238947858084363639685548115910690011594502118793100538064101767528277946769668359156360968790925415415413647976141107337105408853244464221598825641466511348438619742784248622444073114611427729752707876207802303026158947445290689285910515442372479921379290411630307648428245305101542344049172767701800855175787174825183684245030128775601977898638051372704174901958552967107591424377732871524003298056499112196703066457404625896349274742786852557423519083240956420000846204329324312266804913329548350357589749158420828603734510107388918744929024809573531476656692099867091814629881795140149623950222017185148496396167648062346825196834927280897236800797217L,
4040407769674823126526836556754054118314392261567676353291061207106837415724046834539441464501501588348720714207947081302711154679916550477657450682360611385833265575362434529642720528974199387633330172618436226211240211251795383652534964361107838108195948521597603463312611544756847324047553520412069300727968091896639409908891678863356647043832495467478187181055650983086902539626066331636056107733714348076551633228795467424947219900811167423495558506875412366452765130720983241289197486028111950061247656722246962373000062145936500217624641712948331082479568518646824196278825970694860901649210237054132432707381510066208867297860004694204755036936400816952478176198391670469270088502758649014076732269820705432707847372037611443617240536365597468175969752707930245349230928503948352807826576006079060845607853647247406969136349213811612532666535759748481146201407070017885787619625437620678863021741970423480494828428360122541630949204773195509681511137888804223196235103041022864717228071609500048160822504083117974230468115175565064974583213988435595076833184593060918249931040040694237873624444034996619304088669524801881529716970852632871503987216354090731968357207840045416485562210719619069507145404681612094406266935036697204313809817616196916920985887362491057775896376495542031488692380239304783843851829501304392005120558350943541298064067864776384222373136208571174194392591343551168295963571775682488235397506227529122770945328604508547882158208157018494433015798815772741087687777583417362125719036114229510200631160931553810703512847418238294589879330148707923756983306080576253107207688704619100432249212887401992374334027342793784482602250781476744505546701767666940125558405224089008355931451835162264104189592774454044990730399086586109883819170443915938011528101828006767475907659597805336342253118362324678395566372521944669603367613217421755623630656817807134507272950217371911628658481719607306030381524270291792877209992622446427437462786681562277225976161072382310732724456438522146068732889663818422008733060707194785565106119929481614994638007126892498199443627426407618374195981470839492512763429386931705018720979735871297787400533115362834750499939716953197559131359386817179880698520510113613825689005343604047310409437450839964556327517576804385197608109476457186751961226039841007929791484989400170883760937561260632546069718898230369958518029726584979124247519299968888909194328688018925189936260071493620139241662154330127863287691632066793415858671355626054465171472801623554379073478903361487472594407506779767744550362173472959702300557155437805285806770999201970330829945005135168261707453615882234734136632667470137674720886415801380616543150463690462249952473322744647080687436976339157557008113662258302315462381818258233406519737954715671971989119633882049795061338070753674178142227079391686157189495211971625908226531546560952978478846162889776575935052128454360443449602351082649533410848208519805013264667069116163027779527677649737919142910158719657295445792327753275973925866164764069583537261209968372828231277018022464561706868750379949127225245422076205963332327159806632944593395322736244537633193233188301806855172850066300322944918248590904126207174243493082931207558215430680515896384016100517899227161744298947188181744392850470080542688997524109894818222504884633980433316773985568494808473462828058045345873296637403272724407469888294434298942588816931193727694815633628553295347798436848918316436236565832493701195057635991143518524923692684359620590332740109358126883375500703558720313948729668008576493250451785186555579988894571676201390717395851904202036675378338164781157777805063300950439988451235062371459367945214658998694450917531028013866936137642197375612418822204359075588476798992171186079009866797007913223895279900437928941402078008014194550695757300601703073740513467467962085067939092729511534588293093868224810681857988624936000949884217689266561926933608701330919352976289134928747160458994925398435424572073478622668827643310896276125925410701487255992197650699106723825007015980759802671322518751756046299644229120802650892504561915837164494188688933406053025045334085042825363627340616413833999082204121224840372558591578221100815907741931470279119218220922977994548098795880136750036442262581231842058120786984766440933751467761755423350353976730024278705962578247754414385579880275122926169388087853450612097590516840792327093733918987398530131213919928704809665202190016804621750051793928507756670051510896322441804388430144769855053969277055476960913108298323514594982641170530504935741217691163516141963090984322799045802610396256928318460489854370629261301430119178283776661093909284976769052194281313161471140278177663333833005213055071132931673097810454599065467948141415336198154745100614886916902132186818142999367764414157506698992220953314146715723522017943386468862894015862141865435273083285865689119681805752380692489799854009790033590035460214029505073252134419007226845342144544499113927989766152766737129703276642486973632256806017643943282224950700934854341016237072296173642830690260069488169298083525486792740011624455727383004507444386138096187420376986445448612043602015820270320981804902756879778298371542873084981623936066399239870799322651019013229320714720633410845273745759989494251416824969307862652275771393068958433405815314429032232372730801726500466458513093819565898422334095003570431203739756707176947683475087727483082297978199194416244328742864992561385201602126078292965535424799900629681196209432083586935100584992453172926452379642062194333509859531821883810975338639626630543886284440217089966045951216406838624892469745589112850529504012327775035445879886721354540037387194740590306844661733421821386662849626435149472942435912723714290796995886361579852968862757594754590953479827176232448840280200026297419752001989488294243684522884124335213551835803921016456147943777577729967638289215852703997450376254092949197581799625110059023852435700735240714368463226449854542743237886251388475711063838989611796519300178665042542409899019626370496074961674767021073046313385435273309282965179623296784334707919522041854142125952630854533726104790073194220295491832056779254972006169487777103639895274127863146977383580263973245028279361040981366694532609557656886777397612148821174079593647261313611466434521271647990416588309296923917717939812003432228000639588988234406031080692399724576013101355125837478679177012299289361151611243503710904233495551850770819L,
6226347836777416518531878480060667780313989263453133638400229689548216142349022491658016653067581801965198212239457277874841352659649285340492301155952981168140302297451503589357888220410264314445444966019410727363255850990947890529197495043350544761459707391487638774600409196301978897879204047687362943437794883016658893337015501173610536095395059032553928966038061627647596863682951714634331577138640490547440942802719074647782742477750719669166321816558108281842825212826481959859865055445445447146216444529852650665474719861289201159423322301355622364482357566647650522160044242613317534607783608692153098600270719819161531395110235063929081515333836005240876703442427316215254344064498215640249322213098075781257565544899008652960789668421698133296463401599082707690225607995452659062829649018272613749766160850409285734325546092340072110215152868399900952854588739627744715231633378744811700333025120809550539491989542668707033380470158538962212905637064294509314226326216583413631710467017487373889326528193476606642757273292792875195111371321484715284968121862952596833428831523490862115037355590428936299949720598101866919473834087163040927232046855203582702519777030712072990336372402627919601246049191733444107905318497583389612279355451973629200660852304605827588294635683783283454470125925664175156963495853782873247752310120184702324182847902631070112311067526865098178628463088891149285556000054127615784368191408470993317263243628669658113056996288095051391019993697633978462944919602767298265871747890843675694110990797158335037123049873008799177672632844148069934967230326901044378756391735280879237842864112439185782875591298646194251794253855072187443559608917043009303387290975582871690328590234615410457435451791797142790533911878247201825399202639845143550547679058204321633716532796711484658618529943056302201844123569046249718052023641662119973569194361883463835285394860331054191360284246870126291547916593325049437776922183192916072968410130920706920547882546115295874724405377239097331226247090073988519918881951547272340053230606992419459260983337283944018095254609380236842527208778334204338274106618025497348164292793296137166349913787753366809123685289645027910629956930186171906102639370811852531566244142980263727319377754631634937748521348491753635972161170113899662671735748703858249767025529071120354807942661899622665462647219995419631868082008936928956808512917386138956810433069432812526292692407216195061344584194393416026630760658921548991752152152745867215197032874678674750397163643443297270109756524898429015304627095428965760431745314991773196489785506634798611891188599109782522809784915346479478513989658118773346003922185214679968846142180800533458659672930839410523446897845053324671026360587250451151125068829576061065522780268764229667937501224728809477618647650528531732201250291247374089283958239626140197412492437762064803087441825052172409244297620098121701425156867095512488554302143113889412784403053517693293728182107341412588146631650456966035201331855754452559331342853314311565250868088660646130784387057171625257480152603910949346822219068024244091676812072060164268682445549375877399116158253745654940023013068323787736573911373120687648919751838595686198076409478850980564535896736939797954255442362997253741324583966127831022225137734485869150314227924085743808601103547621261747413190908560060308211926039080812228768299024791734001776821993729196648601688879653368800209756197184994119262329129049494222507855929424451364811638643450828862313195136659733136167358197001206213397572840757461547243261604155804407040360378584334188613228990637994965153171087174065380025965801410628438299326312051791470413515891724967183749009196074255246864779187541589992624143490892643973433038339691197830686875558471303648559199544361001015337192729541800758997134687106236736177765546127988625818121829664405069211666449291446796134663746007393555399565324469775248826220936139490744132552040743951805768493779023201208632297487762445973264714453536189448337361178785549949152703953510994815247585029394600575095543698359487456566624001350797626011523358790514048503718706949401688788026284909115011331367152385632110647060285606200672417661647965933105457878893234314426037906888416176837238395528021212312523494471411621893577869182882559359021952699031894264330262773453665327826685531100616001157360563995146054327490013800182455362457811119253367391714293215180261146145638977512399335758752041222014295327557880422910308294706928237394174677362140202724026707341832356666023666198502110611896122727789118695253092993874483794527682827492136075585165457970409936265539752738193378449151399477644048301070561210976530079971966691385066043514216775065318624088445050713976267855755848216333763596826620666648231088437942779425957672216460446674791366622347468857363223232221477877292949565373210508822044815963762465111095050357064508959079940075684415618352360469993108177095516727290656489690439024405605132400243931716305099814822883103922978153289899218054295345140241637517689595857757200128980325480282982880138598720286355555062844372302681015856353115880174810391124840471786572121119398005372455090833360760884355011752190223533688245042236377075309035170083574083072056709877214251414302890629065804930536772830165961397005442302788502100589735264716321447855221052534445689100572617351395575878904753356384507337702902522771326153328589221563771138427689227185855979609959719445260820901138043133328848533028896957724757318336561880307511187988672365341589765986312270717391507714899813461463333880019535823977164258467457060687951540655654649787659407121888460706629938216076268505408172712390556915078614362550397013504862273167767189420486786438653776445618205404355580267250539921960844567392957038574526195472135334871935359435377125011594385763492148469121283757816257681677114556525903056378849955482547622367387235350813200675593709055633169394748310043030623885353221036518148845710668504104020420296027708369948694249673180234230082910079772269769656510807409369057114356105156670996546169503006661195285824701838051346283341755848415909663777668346746364887559720028345509133638543941104758419191643574234915283354400175516532301550716575570622773738189629961963636367873831059948347364926580903804399087434746081129751010288956191830440729923570919110937265686036106605697443610991820181607522526141769607461527541094003607370089434029172276558176701819899549284061235008039491402692138662692802072469L,
9593969917773597736475375182215226846332334547165107112824165632652334396632253868014118656728782262824937823404508084635625176396770560834170299413286171932303825294789672306722047928699814907528008506617906906036178516631704584026987227898404850495453405971169230356583858157561583348605439962225885109609184258659667951463644532348803075921660579318952349666948686376747531137962520791894227491116681842556361213912869893950715283553792949303992206754638978110870905030583592699342544658177199806085360377465854721736297065443694137747412204363818275820425334690218105264043694630686417073596550101184482370242056291364570024709293608119496119408054704120455797018755388436534626572691377550730879859620121193124095256163012756707517706329084896433116205073201588736137832960599845647121072946007662973567207650497879762616300479869562895960825899140694625602300783745610070400940950098304971691832401855547607183171185775129903119657358266159668972441486847407177536316463809154223840413809928256932965753790228354139364630063036006319548743693735583103959050720294357553690290384331043349221920372680613900685664692885279923964152764477360195082793678413939220258412677420358849240511836944469356912989717957658602217527041928854357760246015127990036355735408116944636045849889995619212825849159445836924450232059457074882101230464494774603676104184623736158036023084731909899232986195306474444769346522872119775698887309358375190147974918407844935777520701873723796607402479548281519415554962256591564677026736662433281072877316046226892426538468977116294906754949432343297160058781403982035682215570014594185796941191950947304274637002391967263629868059566138443438090894554054281028481408226514354870193797867293322360217378370521208228630235235593912178897237239198962905763749964323760205702654426544518581381724219830137042074800298255086044049925220564085860248823879078992505352666087720212444064868163316729600464346784995452295933788408082929588807626336193548867954381206538100240355292117637400947396956132210426743298737810969909858581084451704351765660361343857710494503723874695019153064448132020798390612704389625867491946899642245316062084600288494196365091012428156442000870314557220728365092787770089504043442582634898106538873109291519738415868700228339702251349486706564863332044984631312109122257076762110311838378487172481633858037513521734146795401328614596457357804965248402591759484489057864816340135508201536302975106598349332216885117977965521857659429105932639841458711830031973708666058601570847646061012198299013540388219938888126648187583836686621712810750668418930130328353410862585405582970966257176905894669283566970958496945282691167435108749314041910335875108997931280850087135494911774217276189341964320626214694476708811293444595968112798881654491163228576666589559331947785741335226785524441596430385500498379833877799843361548995428473382097232898252587234405706095582749452545245113962333244368015919736204739613655741155236944605040827928606773252695793743106263291763666409823901862203197168714040959576892614523069756759579201420188393361705946634392863050374035465482563088851338469934390906273640716061651189554326042282333523702041492446137970870618216149192220340876537137837755274661193947963446455106440711888169347667433172218236340653679947059948689994705861154733454342198785380117870014113405801597327355404801550824049875122186728431928061817584960343694460307062501307098177079951256238147369967722938009613438882197861957107145275868433935676500868526592986009744565438077595938891232355461988771621986594451684730269451378395151447141480761119456411649079871600686264786053178567382790933574284175126885850437673790082189286580456649975888241138241015292693322110910549047943615356525073498874117496853940206755895886680176995475993002402276394302117146156589305184365509082976431789294335700531876481974562377718099204042706193369352945090678525804011707978656433787994649342776386817616643022746214154442780139987656666036791811527549072501942329756220197184699890606234178774781740759572933447095743297366886426102970119076678448865123820413327213347582212325047655854420487430948907776868560641815410730438761587603323152668231153730209383698621536146183374951448456657783809750207322945342763409201493349736817563666754694833556796243627260555310630826563301050940578711641118896485977553996993799705945798627930613062646901780700924307121962532881796514916438979583176328747533939057926969187470695653273328400319280140422214540212312681204462775353994958892790230441829861088186814731382371481119750638758581610009647626204495101886775735991422711528509533290659973202704786930947902173206104029999794613337861716828376373209761444846428206315901200377284640900181724488026352761664437337547051915554754971590805550315321515307509908937787637577128090193126143455543915334326722406990872864727237952267880987204146214469500709905304395791548290759463358292351513078090319904327113621590115013318070593610014124862982236175663561659124833282097320605494349617710955190248791027133125061197260928701194896840652217184242850691024149245265225820751277812197619450869892915041127041564305108670106585963881664852641068800180967884165625371120239606558900001098837921130929848240850602645224500017979542894472162620436407291416627598727936848015151681961404948398103709130409451941366847215356141984272026662797959232183270673445368620637366947281941704947526824340661628247147417631426643595041070449260223324996830928188167543444696758532324977944578028000047502563962333499616257846705605781916032410045706637088783264785119274062061387896784238253700071414887317977622194976636609811631166280438068680015290481980027803744286268413144210470015313993375634917939658235285846905599592079754883359673788027869813200446871162066686897569777740572857841173859454235196656735916501479866699157994042025255243922149652641457555062308150456123166087487185393304632306608693029316872248578015540075288182781428359365442942764223979151054151554289616884284858717430194321641675470294689624517059679461848254877357507906250699085609989071532704481074073366792078338416268831753014299208166627054997232174173565145399353223313662084580725453555450517761443824282046267202784139723487352729013359892158768549274241517915889600214162823995984809187582641731358673637968785022466114986267208136979950585676248313491549470405598435157030953769677741040397249352113615538910771109160566245373005216192243222283552905950542597464812L,
14781555506096238902052069470397348090044483024709701096193491498177768133451713944414250985529074883029649992516851436937622844169875438502651810679985488609292270443348404193373095763348012086483904666552704499335652845732862577324968824910210907343894453598322990431898772059575121776736579668614363756341853272314178939261441998030269825898595704374091313938324805865632680438175818642651440077849602841895785895575161246689576656396306182795563312288733690420010615351781581325572941705690975773267252640949642252751754827257404083557059521799455808609538852583840768280970753117617185823872427435037116360228220081007926724429641422143963657328259897581535679257009943873575503135430374124242056568748573822669058935894463758992645734258455060051363334495721771394480737142940036989233430460451819691577166681735196859986689928325568569334311270652796264324492260672387335361786999082837452636475322256150661089891756190517355487606013884214361021882403366253199582957440240923658446671019988574363192918911720412788426034137368013377001018581901205527924026264812640318428363157285230842057017271731915748992654595914703742418556678012151227697142561981564515320571754860334069280527441496195746108383314655555603878239249933292930158320898664140119092120253719293708180376581842623193084073245221406768829120250966910892189996149806439577441465564954657147543282410351969826101523105012774193791661104042044856376192004147866860180427749973934353492459055921710612339864780413776803428262306631145852397132812747979746573164582256641745045996072409875606528405772310718013367070486176462847655738113201149642050871179377234337594239123584429038431889066292739437701023949412054341212245681839994698099957330996919649845367424680359681543215611966750188462972264698987943335712742357118388425655943567222739305037008040202448586082720219203463490494410921914463800095327004838905977676298491635378662214016582845093547826756566481847839158834812036835008742251288009238266018534623567363485016567968247426976206878941620281121383985790303227363905111300290181273806274997220893788018637754405929125383377195442915300679673021165343818086853615001705348711504872648570653288447298721627368755971653604687661734912637371635856801246332159284578170538287322058675790676852767686321471308501788824404665330405531081167530911717392330872698761783814124256408358655340899024632188515147800517143212807538259871423665230647828095930216697695616681051225439242813081003093795207012269451785649693424956306215037919200751622696968706081183339656786382927922489450645176810570979907381410136291242783574448606426248735095870382658681203541792647299330098546145365560239986485347113342924760811487773310154170451553500414535948054552775984896444321737317884023032139206223967430291814852817689262063647430434575352831671823857948694436207638973887896746282844887906801463034462945900788879319765708981409955509551463968543413234193017928489698372612494033861177983622093397989904970592955775142962516132328049062412780320052954690578674860204320129670336854685951307667539343382747411850247380370132637033163346067504911137497773853606496811030392237534027869420636799930405631577095305537156995231591400194965512765579150207870127421199975805201614564865610141944001018778443941914601876875668937240325230362881478611340187852989534627103352296847960682802174933408580789082288620655231200767365371556100803819422560275458929384134976208913856392611282660494757966474469611467306776973324758841223127019707318045767103173324296475447608468608195921940900673745739220905276430653902174280331894473224727611963324849931561107601977521815451539382690086644969726794323705819931758022482802620797770784344776163961295057515166980596691341388297736686822039208023761204079461268230676219740834421969005522807059923789420461882754639008596205985763886366603740578768822064363468030925009372614197667414768203858297955075569109475133006078830077041562680797989534345166568062727968558382257821558387104094938292947618218953226058103346880694626428560898774868153357842875742173079609426371347660093495553028260480437960468743296105142995610418691499583784321500602579821675384153986504056399031477651091781805239909732337635875107158073733631347118803614591190998802337720503001679194551961439521488638681108123100285508193295684819322876865285142883398967720508722773892608314266893041481437641286615556583662818625699985737315701439695186676802132030242901215727843568546143654837975779073567103263682608595257293142141866363706582736652213884999110660356953318157981206328094925527861187662510592976813303136380113275630614942218564321971118775054834777300747808146132192215592244601357351174650554287427605748050684493546788703472759834478060353561311525487792543460910294538190001668977429590568951777967341370461254374762043932510561506310427385570373665212291260007627125204892479715852100741575257116559240914930440844634718538912090038295317577273106631936156466260174226848432142806010502429725500105571806223589980276473124002493899033832991529840807762468493971354465625700649503581631612631059649308351352703668231355608096875636653167942144610537328923055136666339457584034959716173791420842312587900047036171069460045779517619286990687139420204027969155856915818911136678991434549463378883201198432175532477656779487358643297347368307552774662861723061419342624622927517221499246555951324907772509394655776246970790055881070305886986117948159509182425892678259183572915381521187031271818541490503281871105850038793933708934323978627204248997822832035619639020516243191959964195329000090522316545433637848441248782866465843724969770498543002863009425417326976956465265527328066267277574141625139357128857684852221727036791008441503804625420652716844118054239244609034811473411678528082282565723581002204457045291365929440743244888849317129281085702999925202498311520879396305126417239234534915580861342966765833599194623357066575069196904160959961343772240752818336056026145899202256461096655895750157257646758002470174704832911336376951501553978666113956699478496372178803806800934241011322724701204730759927888363892010763000277912914708306018678099044467801865441903487192329048315143643652268043533917363770313906575099986102171053300679944768834626231119801346757495148958692950190644715814334982332137875753354717996189204479192797927249432480494679171481912618787819339395927053718596263577553043292598569725333882917057449475158341985962493259428902915325254328825801863048L,
22771873273905075748796171391806638724598725077929457768349651384813018465455868158173688263475812593783029472056444580830817644074676435000909206682539529705145521092123427181096377157427685488147997608459814577989245805019816330804887407521152341557025088259886635242194015725791544449522530328160586027348857769582282786397314680273133413288992065295130723700010117277179023547095973936678879273569315809525238062569435555535892139048169607959699385358555475141296609941731290510716351403088279548424547231059941168271597161401307581092402105562451134045062552997849960213614922671142360400960756186021211148342429304367247527279972536961348560608449637672967415071489025187384269111806999349793254302036480345039705486244778800839749572188478193077366798831108523454263560431063998444940344208814446922993506832966950884372756733391088211428962221192136632720203558232754724856590480666640018400919753622409992592676755787472872341807124919858224926656608175519362511637160170835398175324770263368049322849636803474067911331482302165013686024799092788582748341668772272707996973427199856482493958124039919240180755322529373041728606077210404885084356538725508390328474762131208390649993540522275264154879127605101247370155512761131887767191088732348655841481740655034582518077549474580817696047986276322671881761965564091594190966268072755027008793777955895912022337900049963725932721133198976934640111427443471336483263333646468307838885757007258048768404417367185991219123447427560825929031476523771913303042749245528147763222798810220596842514434403343087347109940685917049550019976766733962769835323852485561409766423443047930235151179411659243362786373017881687970824495462707199857206962337798750466739769640985681162609014689137169225451978088373733105686395693470865416868026607666958800640255624081074624937439008535351381345202399721091916463040703919643960766461758545679491158968527175244138889903086166119005969407345835782931126078582554039806433640173107154681485209595656908927982683214872454458693948318798459950813453619994806336368786988230409600565490175689069595763792503469296533299431582529311675066681358827348909778852131100050014649814123543874276984961014748263186703265498962066532615227041588209928673420506769577267321966466958916177891386365197652875909984228021495358380947934507574417909715375807679901997097112633408399292875579114112552479055037999846047475983653707429127150263559955377665277069275559931738222217912525299724982887139266467298336839822933460357470587883511565659557951864709758492412532607312925423292050900658184341752783247639328996434166965768080986177802726519412421729878337452262255219670535290663003502933029673034612005528222126850460894997989825394872255421084380186398059153927097255950731471783004976842612969054802844715367917169665381690745354102558612845767510417769225862450707551390804895959052492682880308599348628288427027411519391200673163787679108771258900883482347239005840844388585875211208027268113196285173628118085914721813679802306246600871855105480920371885595686804541289999854815123361106315812135207542387590589217015318038076701731034029976860810162532274864378974008296556445590681417383112969648125268072379943582410189885536713994458483735499140086326084842870040288846515967582363525848925688927485351703371863340179319146236357916864175471761578513944023022694615185644675587992357950995109101443290732115253428937297884821989450289339924348336062526778416064716107658158044183458826306690781004775555414911550072454648869130363056463037704660776564641977675478931773672306987423714616294799499332289864045636995613734098455861855160107249455541638261040029280177524857315317032411897343697738344595833209710361399916723831943500604569297465003055313172106366108616353269969905994659202086898911860554340917971264192071679532010776426102979985291591980498507819545244274036009177214165551027778614582416070561115912661279666586375787550201040784306768848855932302448595849099315985283018444316722911075889809285458777647206646116333854216744842628906534979451648592158734920567983351346713212043413910927719119841191438157442240761218972929173710615088916517908770594522338670780510049922765047015247369619454630772820978571424402790198771395695439582370445628110409183274788425398470173521063105756285224486727538034316634630775939594758799107939182781235420509543689967165171920938366447557929287923765190157155545510383616800932264645743792800103813873263419467613784243461321274498470732974382245949790779161771101959960671840348824117848162105347517862083954720405917806373445688301445671911007930896727703762396047316352569876251443634615007565703518292745718196816540605495223120130365020912382667536017675969114104758428530912600867624447038172159757753456213827475548054567942770647053057468639475957243962739449428965329618486970087156096980986093148849531771471470924796365635187233784134643046798301088711546852679760192764163570056599153090376940465413011956310643023799317811482157316609655534477667687289977050975506741105461215874687793939301254594172886127062277129165433829926064730237044797738478115647336055858809607987380530442409574243254848012426650266054512657358583989702876783786855363179711509653093520375592904524233613284355380124386083263573745726819427544367566226550952157178137448499721946905304051013036319329564509384798189229428631186539881322553712565423495348582111202695789172520064129290024913676772932800891991493348244453625911182313899855860256372608362850965725938058985580986549048411048325787385683495052395019682729157469546143835749374122977462852198371084214365831148952399343883571468945563311099031112224968012713940713571851069903506404039185111721046724539752285733121769656831814901254666388018602360407584711051738725820941228906888835377256056419695489410038315473275364441497142420524722278246537382677354708274594375684512176739727409425751315858738364105933917503133276885150366827736678936212489912049377168298578962114165895103180342786175012663747545097865008996924708418465995590513985161707136139309712299946249859908790898141032896389840950909201060505770948959122540197670079809614705350780718462058883124395127013048980097056113622450811594954690706583498832723500008788237154771418004417899087349658941008611643855610012324130447171018805577067746637904451212513212949985728594160576965726520826670414149206020495645255614361934237590291176747297170056873274107556702497086283966097693430184987133073618643265037585602254570L,
35077952239782300682775230671968434231062602281251450349909724464890463250878763790176647713133809864809605693532740465553622093551042128541691749117004774788216173272959970837528818181647352022106160806504899109414237225383640968961465766438323356112875037766186556275847744922169321900784653869808494817385945797675301477614348490494137767017720844140451390411815105457476355691269287195153765601422786599416544831481421155659024342605670742706411106591992018860610192754526508283286372891625774288885644270223629108102307733983597407061020165496071404442242500999762105985410060895801312964833391651398719117431747526017752657174188536199707201413466686693881840706524601255056605383401154374755042836301551642307905187917876323554813424531101184977738864956854574878120932419279867092035180993992684084914880265322320657940776927816746130892816237929110720095317845848632384737774171342554321188933954219551082621010920916789144665112415254119452759791348297668659035127166705963722081884415514838177959596065951222529711504977385277437704216083630862764978063382839211848944080320537547551914577938764678631262829129416750710769601747725018336648827987280240624180849509393234204875123070077394761343372445135997161134836444055526267315997080219171190673727960675766578944579661276646676993140244505136212923019927661741323489117703086559832323025797622530466348038982921459871913627042176130040996134734471093987070843889490760741986333545199402717475693854003338977991875187765582465408356130057231955985428581746160782837954985477894161736567876744545502163576197248998103288253775895315620756742681002684905898466550635313512737735576647156487630123659516325792270776551155358850881039356719524612440612918456110285293353161068570290221410094820077331361920776060825142050524069443209304255269306288888042000259766073928706430247945461962752769115207164981791331816988696179174743131352949182081753140775080548907617358840864442210317137649173582031319581966590979978059096470438195008721297398686082662943524422069216097108434985865454800416611052721202732235907478561754674233924250211396061331647281742429871598140030370251030408595985271501756331554964460531291599088824365098646984106785310859592124287497230655133062586369251103702027344067156432123080226032305323030189805026025833644882421934044848978999841496670250134877466892093197138754284810480696165361438021262758013792207390097708036983859407935622090915661951264640156563910184759677799773258008735253652253714480392080467586346112133880156932919727413202251791472509569465166316614780154413914161421722848443066969280153302605481953510374859797709466264374786118218534453024476132627352628191062907263838755068228230927727057601654176983886971865403674420035486057049162714204165397925276715144609775557047612152162994615116964659082146021269643210681495474684950525722877371978390806032436973484869430851024132683269491162300964194157585036812176072670461707228629581706519437958817719880906165784972876495993262973946026374809962555791802194344272931445102528831705109003132068686278674871248991812344399402939941517129643761562628482167090065871236043253463905925551238329680674618174133914182508174920062764312628861199221161539523344134638578601622133469671995327501525308324249673980220092456311639136867304585663596766987444670910151517965311130424649193990217565781643723285056231163280039679649068692938518701481807126879233110019413394524196831821725334159738380533097038043514194699990289637859067726472389755662016162113373396591132104264888758391264219324748534656845527734138023215522310187182964500461906324939612248858195811645961653405811284345918760363814093926239070864425218424587571252781940115264075840314791027054053124827112020426174641389705444410006613371955524283518412645654191510178827757059726169573118853545398628020327041190329352117237425050885837529714855431186503295150965942655612057862407061094436500931418237983910676842484361589688386648779911048374479229982302777535065049354120984847090336634849140223074830069827459021129652126932695330090360326460537440084403501101078424843836468000183175595977002107120513910937719800926763380494542357135156700304515008254230742532111710726638886285139927819068093186068586851463601056878871571883887204411205868226375034885193237368820858442160610245030346347262390429645849129703510319546487371328758083679431937724803360224167263588766836921797590117480387463823252845317463469433230178557223265930774043497835513841674564740880266381370797208677418571404856289960328722250345348282902529545011967754318190802294372452006977106872887512236132867102739014648392825731953624342423241768312629286279329082247690220192291050522305618555214069014400051719145461399411728191751505944447633435046700970153175774363527617619853844496567202767571923750341165641198771932631069350980852698367080475400030413182362647557482732358816302303684759777211993060872420740510806796913860816940770085560927164765665511533207131496081807174559089548019465316965932211713682583310825196004727477457691072638047251778631833438512386086568670841777617600489185818506304842360597683616700030229910303383477525684089923349028660236359319325405661457583342231677825108927738866755927803812728955813458235856827630651090201848831160453547842991072360691772357783795930303862139514903480009578555290011727746838862843096134923614392332620492276209454281443636392186509220542819604945349854860648742090450976045222020272359036370122791158569367299383665799639423610000269819851936090818684244563594541458586135031023778569659129158874496659558743375950523865501831739208187553876139781543442019630003816785913507013190117808907625268071102286374460482407458738104361522674788124333103673488824161647201027971495693771402825149447258861346239190057848424562929301384264337123680855302405364698341764495805919744769358214038885073134823827772560404688395342101193867519419263200836866632184374573965313003908591982908448740134498907202894790976648419647585253627662309728940967017229661028419102297080301800479500422021654903534442550206024051671776727328799751025338522156181918606098759075303544477888099387307103653030637326097156043006732483573178105912438472237867595717810387251287365415987979990010114583117357060492485928536442855880452608363828339561625936274447094618845208940355208052986416298201304389947232718533132944303451941172688895959529778023079143604766138102462580466579448432302545989327877224740045999763973665840371950646842638279949L,
54028956751881649627555653037045182140449610586338199969967000130770748115234495563379812978162229006844679013734902519867338948621622827717642417282075528113498587889854011112424344609375149585561833030584589685208803612699176334690242140453920312572240832427038632626056600093188453871900329620478476895234365643542840122742245265909587391295551323047970050555922852090981330217209184337228606481732389014265568356887955676141159675749700246345921502044522392254163063056755993856890387777298801461359846270110111151739872380337442723918364218585962269173606659020205368561079850871550772346811054630086721229414511201178032988207162618493091022155610092014530543350604871520255331002873971369259387018959553503324383171800384118699307437378664336186136023546647532963312116564485928312231191827416299436832150539268317991178621557561581135033366846485699585754023206896712210251314936049557243956404577006965920947277457106847338393313271669035961176537652551692160240480955089993884997198000361948016561048646514008242676860525518545055531551714322756858727169509957135933279463730724623715244515352674326022069210811469881899996053927478793318888533797576631640986485668540065933397639604197497174691173875291127309544739592797548139054959679385415072481283636328462412023990002684648418618637588534521396091527367628569767449569546352763037281518811895166223172582614462307897389920021358663249245545909469654549306427127771192512475088923812097217295183019440728773224733765561066980768790112571402032601621091219422870668659487344437288160815977163015771643129097088300122166974532727650403687294392862896200109378837371552861871176373990458370104359109089949678117125851618229895092742001573820967419857352910521870168893632863747350236976301196543486910252276130979436788406385891463795944772658174890450129339315485504222057106567153557824652072426297830071762696885392386938509694854814491110822048419880870848673236920020966323661434072911283769020140365959511094260356687643633263792570947172668108653632300760130018846065362378268197571516254371262493722362110822016993347130747150501662300838559074005366220635209569786616641561048173520605922016646997324851826580995189299634976120670194263666580371684734460862680917717610692238978972517931195362882485703976075936447566681157478591542353966082661732100338661694692433641842697893647291016042751239757012402334909415039003886291141040662967173260351608463225885341504154837517873754203042243212384586941549823739130743603302043739887318487344652924950965417903602036343007497268570345032655278881407168827437080526532792829337475808669901920145609268090584254722230405228981263885875663036499496073278408846523874259164048452536314908216170242105861163718020487846986854020420551123609332794490071315203903248321874144147616473624418563637419975933125139528796021395451074916429462860211842346965723997649860113029411786994248279671141579741389742744780810799260294336900641384858514010061308157879085226097269368960673062776537304823593630040588691450204246126066446724680558682321622009922651091262186010577474353102458023499517496532064201573890287793872652197268117855705264304585065161662164268702790620244018562108966060207979337640142815457805564043304510549818012621071278800603808552023978003951050535913659680986586407100309057504295581865350987330737987010180623829521331984215674287533085184005469719018390145627822460789810556140768419509264174481619201345280359180489591262482541085345627026534788196774488484528968849580527713693497421478264903142182242826880465377777217525148185728855954400488581499034234322866723599543399215238198543216464701777569851134101421225602501506470028099016824307622490323942755013297787463249320400853778749744971032485797676156073096766681478682517563718723793086395262433161331857651930816974582318867469676548182624920914340679555352874575349431338240869476713002413778926293846058084372658405446563800214472513562998715168633867326134926442243265785604536849752186330187769817299410758325075091759921667897615596799189094068809280892884198577278832826457958127743361213346345406661643643406713761559408957848612385592430142908979587696403573683092569236760574994835851993273483268686104336420422664891505910258373195613920938069904927971199958932274116219328036470136558072205265267982257425093285883753378767897848498073483787837250369286826990868903175147542896148075789940217284531989095755213639250037275912090330039747350052419028748813581204521027581756087811747791089917448654889085342026714906828916384765195084350729098756190387854150944301259687379197646590707763586069170799216143376395328090210165008464362213593780620522145529598986191530567063383566966304669877572909270260848183684310897949805452019912967716227788579350378939349793923417779177013753493318610430193123587477741626129931630342031262654714998641675940684978679038637488044895380003366295575750109501252161688399603764152435635798267029721835786761055802282097059724855251917634846581054244387604964073470126997422276938304375466774061950551284184220724492207389568277860449337788926501443073429927371583081802654145681089106781980487431512780233560465948188169727452356081906536014597386995165414331160216996495618939349001710397080542838095661019183452980965875514361652226278771991564521614072756701322171343281587912052795869990676269981297894753317332876729309053039039357935827293258116503799613113766036006393816238290681144715067950967516389095891292960672024968645565091657454970693969237622431210514847330017555842728020909571444469559214419367497848387846458777696976649635735636648702392028761642383163690748462885125742079403483591672464281377348126846604506591951017776027992684487595762439361069534800647990207485386969516325193643545174309089338652773086264933378795835751856723336462190091913230333310583887089847324308848861936623528117401256634091774580286553274427071493181861880339029591085155304792710227796173263424999641621003693990662370551036912201439204183398157593707757229230442518421238799561540078100277950203453179497710803709490790978997044253105214909313406406905321596304854822426839950807547856821131038711172280044321269059148926701571421116585477678147751645263002378028699947667678736215260904786761311023554599585536424091869229029675104333547331791777329858098068313950404725172530024904604240183673518099595238954105471286520735203464994757935229346545048798688125769212113802035335011025588133681660777620299022954900973549411001967826153129020L,
83210058462629616024786171919553664612409625921996291628040734412830037135558653758907688230903153826592238766736664937113815853522868680309835528892962059369414283551510203654294640895532147805293141220315828893049315230762918701940195814993087495680269222828957192817600548389882515934690704231271316253848295146680619422552950187656798154247489765531812085061457624906267886383134339402546058062788590686021660108599819567065597370460949338955518997201476492163769532844620356135890194496871569199666689537113212207857425422655965146851152236664146902285968371199138580326909599893472099579846304861818113849234597245460906555029692225937315278825489833503326219530359464160047266306362626549798909500140897214166638852918242901859727725458847952363516683293591536008935917949208753371145077197449819808526876685718984367208198325658346108721949748623859520861987120854796853488468648345815897567868553248394461909803727698921418113193598369064767355969529403900423349832848485319055963129532960094394879756515885485012949785740286670246763333694002740701455131788096625046323907169565691233037125971710163912756709665798189494798977272096394939253296331770264730182373944499663860367879484761670847934463271370383340012492604654256470740039955699521998571519039985837402482282226554159912114636809799347581809748764837752290940696379888892874442362464395420836580087084318219564841525573486278073002368305606369292680607463381919619854122242826306385300158795144148182188217871042815074269495345683992223920315371400708016822322859984076299533663155624158800178758715934711845762296656011931101256119102368096724893040092023790296696600399047144830890963913143107801813123794349329053768743197016554152060348986608258584232078176467704904988691745270981263891871590654644418598354659051327014959015494564866833535268782119064594487916763852887049825181808117243044757617200442619344184358608801575406469304253153390029636150060196125829865301754082950953500318501930427465116456560951541487496086131815964553925825492866952873610939970128899076201355154222877224544020656756785957551172760288165096907904427266124308196254003917027230596150492902576823050127328806957267125488466535108844180943812753704072749073702025617586156073383036791863229266001004086383691846602425123213500550430839801739744249543995178344224149550067684601295233513255881118594839189385384836492749040490640174713237011858620296237779895728161608488898968875371506499757598976525831385194843407973517598248988561551417008439035744750037982218046411275868854608530880730143554095732379059912786904900647966056603423905161414541287304939416867850619976193558295974195051617669874721707443387327729661111020719716484138696506357455515616729159189593563956298711893670499968592918602234128852894082389594707041944694421412703541483872038432648516128390991060708053882247489770796792373005528376127053537170787913529892808960916501693585822857023830513022074869822372172659402620699035275378821576269294252219014766800915270445424479916532793635265232723775751625479694333768915042239011580368637145871525788741274861305976256980280358063812953377978554862337483468177006858426459463644259134016582313178914031924166990130442821798164607323612135818042607790701112079587193968822179114305697409587771253141132276882579161015062489609934749148137866064570933435738843478221537458341672641399687236850234448084380470535836684105826324639621640425401272659469625471506208882968835198341205664158041800714857830438133853999620317036148515385148224354529226016160432674063604277357639181147662009955331727894412627280429618588154252318580772971780754034448097223428320876244790223831534159034878776083510546406957708962845395824556785312696465160246181776439124226608731909416941483340044497082951928048241443368555968149376708732589815046671070963006772503192797837653320232778401389083801833473273179904552114619372814336017574662751535425988836735752611408450798681583710455087948160415437742436671000309820737375943480370467708080720652173624751627678204377309049602054909129491544318947278926510451064585478015222639483733293296081935518281210075380093360229847264049408794097808048459256429638204718301657506987775089750066215043102978265332007550642557519480989913809685072354827773358392316834376052377685250769751608599462804569341850654576990669553066968736967871667705912086804390757589812739834658690664625233470404019969648831244151255256512421944002776426544363733561500812077041997857367729472360884377365010573174883111923150782142322128139180134467694108231314388204976151486793680369107948832725892711911224820342133108211052347497680386017678629652488617811884308729943568753211761733132208336445550487945894223594741114560621082710878123261951208190753632618558051799241683215238072108210159105378098448169958489510340553924678768136875338985901765933480985697936312767709490856700416443049475741339546773653201476067235449034851618202493185276565201854788686697068675911166665467215222184425007445955513399336517898809136293954213041171756921567342055526566908661198217424043028800453255853370462493758265728168136636303683821222721189853102722525733883651001948946171011848930516601180769991621817039165441963031711287139375106261851215569513432875188955695658977076770136307252487101423374449003353975221335068924256945826114668248542874253495142194665401901947150432951135356476655854309697011037466234902640529349209854029408012287724857596607481086680471466504808217078636147387486917309182982237869334056317200513527712872807665102958568114955390708058382562977555551428006687232728549346337780470451164591094814339534590529409991920221999875272460446448148764203937768070483557624865131415711373913920379998071057723786671617758821649480059987642984534130317697257617232028515899686388633208257959902379968944483850358288460071038996844244753479022833074265687500157648388249769175255340384112058270289356176873148646702213488875453857457164933177822147570622912816927363983973849782963691658843990434672915626247754550424439799799038627499408722108722602368279267760945154430682729446142121364233970644375709594764916754454233304341043992836221258518258527671206184901862965273103051937537212053637236607089524360514249984936456799695353190935729409680112952196631894266493026526508226015774595771497692938488257829021146218577930883749191114288115253477132571857509118231897420408723923300532607223663583870554311624094045541836826512197255389616371182430179308286967533071280129181708L,
128139194378011363642888716622174960114454913204111826706368631316040948306155380291606641430596213434146711372472608801450601747537669995048006614000841126500426733938775334618817857277885117494266764814603850854114025627926066195917018320367308450421289913397432435269118809547663478591443915634863542492532363539851333787964430340298544750083523178049887636158817680089689953989521254738292960014496936051123903334380525316691131848939751835668901925813568422429390373016998473694452608183778854838939502970526796710716701895359995795971088233154224104899433775738177511799443543283997370595188934357061128787517696140010267004862006910173562058547526397712470737913436422585901054387131523407703976226797109725225888515762479454412510450600302232992592505325371284602181909042298969655856580261877940627246691983421154548557764370005570488302900371413275821253364253008257569214012583879993242837865769258269134398468458431615334361473424190403280132965869233425469202841186141409017586640952516862944720497815863266035514616780988757911341299825190244526239724664330451593224429107053717345952519358966881048906837685078584130657233616986645729323364375942178694108915813601363637361885044504143027240221332628440462583945232144645087947865518947667889420608824275399956940093135932316315367478770642252831968874097079745869260071808649376868148250446197024723370594399815110749302299897270292736138834339996106949685676633803092585909856859486695781133920011712397810991520841758302836175605329052683514120312485688322137575292214233076357581531798616023569038129076137914942537113515779132460904457579065862523586633236578463104417041557427971868333712763303762386433321457313480236029120535280452027300436217009378474089292900924403465599215716869237330215330428483719022884156740506732598491380824252344860733562178599189471428419807657910040725271812802980218101802717890303241771508107262633217486136601331655260177900453534127593189250301411006580795579406823290310617472910487434228333483796778170012833212400546396548193464424301337445806028750700807034627117402101785850439624056079896532841470512128568042790205890720518985202040890057084166058307463003390167835941998055474768033888489123991346857348309720807851867218669367553741288854858477175619894732319033762646731593401889782410837499170300982456073723162456871774324746987276583180666538531431853093914200767146151891098809499200910119670012614436601816019909059625029713003278289270385811333564475812119190104104088283624844728794258722038798452278612292240545302113150499302532335878622694539702264187170815300843327627306057973617648297761234974642754474670453733472095874583914067039655374793158421873914709058048424928232548692019885421301233136829579062879092732996232696120131521362563178823158673055487289327890401598031871593840182397686288124647015019450418814119799638545691214309479552579798097486571197699674924702835489122689877926686212592842125516309644295147888425447412573387741864696276921915050792088258088499230690432127338576248586387261120590184424643139320658733030559818451131469377994558290905350757764906180802495545707453355127013097374117372356940610422442040315077147937895007881169799869293908890878937461594132049747030208279645020700982784332407338264381139813178172529938144266266038464553682177529654338667993732702974016120751302256094237828276890996822510717272941873675393034602663412926538225754212013698516409837903308434092428194428915415104313881758911418943844957448636338562049807739528955776045628126362783356682309007239308815522872129769121269951992911928416113815059467807392438222659926697194370048207428820523473120130310328018602558305297809406071013878083664442184198072066336305812079605239667525179056310442751030928607123234349219684112764872830374997114876051784151314769044929427034363452018201555016201112042413961621027412874763399807738676051535412699039636257565202780602994282519542892225398290775330821895031614707419180381187072859171540104447710407867770285492190910795208949161336429096850762453244392350441677416830317642743659318923573669233283667528796734383476772783404782231707743152481322944913611541416095825091026038047305696896346633196936311414377347429610391428242389780340482686362106951994966321777667071073504023908085640667575375479844327060299451642703175240824968384549555994895107810020178742682590529084547505896857356017264699081394181411156023597083143692498585524948713282928920892683724907301338996100816358804974475596403174169027772121806911989773250371015351630958745755190137711363623431142449617911042353825987162977757992689786253909220209833055335661997227500298941569990367112519600056611632222643001110225822471896759081378395137019121320951163999185498262396910847600021058357642826216101642246117881123691771810496519236654094999770649431981893330193010367854179846361452847114924537841202066678150964741519921945678452867246032838956836882296164965767317599121192185462210745717904611075171985612269595328761190294629560809768000881755681738294911796346715855041093066917879771537686396490663499673452994584696107340456451434127026289665540493618800909659022438855669597998501284455581726347189347404592019592184574291741991541094423980761699737046042556990858657932940780806653563883190639882462929649122307188832739891867901165444488633310091370312072328831670785022696141252431532842979919245009726679250903637456732336322942977641828954067646387094012282845233337745686732050410225786228934360858973237802978065526822766947375351802212066244614823244837040584194090992632325781792225379827057670420533881609683653295178308673722362196656383020245242507610215131856606761055837316254706478687336476151810037532025409369037695020100713552683159871233184137721673476435315199516276879559583971625905102294037556861864761771960707465696866822471599122657645434061066357241095179525137578209469916399345998305060324029231523079707793414721425238663123375897307544915149629780513715559912656618013350024501671627726806606331499458663094787409831163554068865726580543302532315703204168339373210679132907868937331783525308608933412238976104859429960121945372227796268207347131571602820032482350595486074740640172131369344757991980218699549613741501626424859686713406772970868435017644117166866126409620447124434907933189013841905395803012370187849939495018084694887091769973099018805661815846865848029617683900034648424733674619239064348562983310954188250875951060542656195734324787384712196019096790996934756652780L,
197308179172837044743269569078310840357265739128161419328837640015950578164283459832306437202974079237809620843452753647148845898886480396243923790496642156777599049478615982672421941889643083225325727290342201066133926037910981519591552120315914574314795470587449784307553189336789736080683312446312602147762160913658559181587640250175715539253068669531637909896194413558656818263046948536063314479124896023389770561201912798713082175339661105420561849616672458597127729059355510744386839953542323721868221980428091226483093762766463493569570734653475929015290641928793479495769897399753189308880639171298237307708813267941869651595496121403356125065895641105198136086262660861761230287540103504990242611060882441999539389754706401364977833263002930638180099680646546505070898807811753392961041823788356197908039854810965995791053849265295075880247557631864287418986702671281585523651906421992187481945634739405506275540117880879276091912266291360963436995714402583060185090424644450482332987066138339133481562619133242667656244685432999707069374235541161743941563999847170677565789111914881792747403879150234935595910606939599704928478478772649745476171113487254213344683068914544054832910975738989392560288092947417631931113773360297897800689846774721616308088668022760433535802474144353330084432164244035978267377670332901940502376816441524537052604987849942548804388038701626807801847716176308263669968947496571022625678256395817726711610358817905163364310763877146902692849997781851875909079827585271403495043125438062373642172971853181727025589183173972223099143979669169313341147845716675681995276983722689795139951316364788919559705235409041476842825574433370951156809608975180089784416433873822271197147436958112077819515401839755332469643717648512894554452199351347943538879996525684827203564807957534782845098114505900406289048969407261085411101215302842614830165120704619371366918704818785709722724438933108293282245027847158628426898715101552109146612430447005036716118638029429182557036050431131879894763033862984099840819717130817195759817989203845665792787792225383495280165044713294976944372208984528305206896977979942747656104795472810236691672501142954164184842810112366187525487454004902072375783398063262234046395809783049916920376344099048297506964922059211702460454179882232273063149515616784179094418310630188939713856396668715229232000761043083483931416406129337572079013818974201616265169971215307564631935733877478298469819378988128505284045358800742987248801290308048991341155967964846459616338083134572775927825473869961560809152151186249713671470834845093907609130150096761817138253138858153603106348203164807307468436140332761477673392617078013748044336017201347303664706291002178503756594920210305769795476390070772327784576802210868186185667988775925226255862818725881679901467995417474107159540324076194172441654151160958197449420398299674398542488135053465944778696071585705711659771955545967524059228456890708741341469758251524029344051321136689244568514249527296164277156537801132713973270365014548100777410354814899119158409314365630840129760141441802978686065280762575624994045876084336847009172526111840080048226931290109345748697750125725991309825382210975472646326055624690596768010205104866545392757409572076339274155790986600064653026472966016533275426526008975462295335122854272263036080648972184327189727615259348193084957570537886949588801783817375965864943145144814294638957031413439266949574828998159593355824408108409269822256541922204196471936669993963000703607126592060807457002796090027389889507465012990947952923932460101165401298218667860909574524739499937628636484658412380009708523582630863845573665118753660346347471880087355597366328245642994403122071933339397816388812869779784612427745721876621733408865838065400966854941172050339100279126709207047914466687587820116546988257297812727650767990135372280793048453321775164051162010085390515262224319934850893214092333791981595021842830794795421113674745022089629154041184764137516401050720017681681949160457414492142898210974338189496291914543565534351339041457357259886204073992845376174071980416297826747681343573478609786077218401077476223115988422847794937599731012282014809452894288587610948163601820003110184709955027556203263368912003622095797025428610180983290912501736339238952324244608662872075503325457542640503997876537400976219615324961177832428080046824427180920757641072746362954584145093052035491862169144625622804989513160013917500658174222940925690058855849633675941106457404310120573635173754344607377493246703686404138899854876489980333716634529244123103493879139469017419596118458921493677806871861216034146356766012307971202299302558347432232735862990583353557445488021103357314600384500638574965904939734286322306342190181871935715157292713072478178428493566265954629945365746337113886560398058466227121041473860430732721955655102302770224323260214469727247389180007692737444163405422649009844399161045332083102695408060010467861770667323443618081830111780725414395269666449687979415863101031084298781574647662971184369913620852948099337644888400666785045082939646320730623083084418638677396575653323529969616443040343092275614758571129502508581016616492844526299718804814152630201824708379575027796091353478081470915890958809945012590250645721253578954661483899216870060922446106448064192512829761434172583773305528613219381882453857485230145384356869565657163491545963664400146098163997349935392228628664521052142919760555101425335107375344781034548510218917756762335090594437881245766685579253135875042482312287353053045877303173341394363884282430682712663692734684623565445443592194744846474650550849780281206430075957350309754093270468057012038570068931608918523793770931889080721355158023273638908710745102828151128197128320648847688385706280091364235285049424120851954041399838960843821891308130413201103323139637963789053430976721099238556804264075655134105731054821215091939161597521400826012234721892267181473076509072633285179536341158097087670998555987467766658621994670973870316757920275303548142187017947538888281110064291718676965972590482748633403426883824353356827613670410193432639283655170114467231101374213375682550996707626503788721572762338577699233275562448220138245544266439082262555976004247193464412829554184717957162372553008602737967443774430188773929636821486400828158039225299771695899646546880136601857649324185130121234784550149330805783986717379800368968753251242189843174351216179073099458877383776580825745686479025066L,
303784175071185023191790353596416603351125034125478528864001003226198467847965653599768760616268733842261403271722971271018490611407478308811599581687689454849603533491017327671804555201010481138238316781121157302385141621149673674490022901857050540013904747277607754107526475933485909691531584936029622864952532283787376931505458966025454120129904516420025309271548427104800695438894395778606031100572377950393543069759499017774186747440528428752384196358677104369415821515195354192978507195067703036638701843671411504418677491512428346429726160924322447248792846344878782555350070192023921507310004183163293892380811351713542730608111633507145574548165420525954698429732660133896981496923140564268202337341851034608185161424437801817811811657197700351549311279676135526601943945895483306821414704045816198909667411122142821095955398434061485190135971538782375335929816313697396908471686647554284646941592271895888037152732210090628914524843671943323471289917381177198104950939344138702657597928957666867533956555656645736704870727571591962865323186914110223156381733227996278612146264701171127858587582629931260202038449060992722633441600438249254592048146502267580372251035758500802690016482730207311502049445864385919724222736673201699811288856303157727396659406737362155644647077791039263556443039324046280539432842255510457187519039846023205926085617796246507027249877870001958895059219834629571190226920180957517153741142303927102550555615608176876448742136911305795112243095319114833612988726807014036081333733500288121648820905511119023771762840239243951841440051033752885793413888599956086961825197336299844218899976478870785247945787583525063929678727336902097959235547805650507523366589195801136273656195793983476303991376907080301085151617163709167893222544191455233634928431718878599882318110147722777109668468762345104074810496873347235946803310427248789885101901271256113443458035360937212901241975132497229958338240743226948529838330709267368681618273510451752751957881746577863745140537945977310887724511158133766315528570231652560466032860700529883322564943314512781026273161833500116176656130093574535146478575392193506345206804549764158120082360370705717031233646072765963650253375197246601941843399925132132398185479393185515436429275518324932101261282364011924291802587546179332085849401653638515688438799167784133898171978336357073137714374081060218036831831640780480985776243940915333388104648895001104858101796727885058702765054413382105974771579565160695476113107922407488578267248885957882287610691571339551813874899047571212866453814318507747934186292013213522958909418093524342184095244537727272610344447717963268154539409654464506678111553551375886503681452288680946106628483075977462087180588134255625328841808023211420028332814945420624934649146512651053422880360087157068390224343124017398891122853379676568906541008325198875569970891157660105745418099739483227293220833237296709735104199121881643656520052593811390902755034528402107338638103435558745428560821217236035583017990358234268206839552016987209439031075133275748397346660551713778850999173270186420982188292974575612724786382800031418624969765830755475930580631528310283545040495195462691475766919504352601803752488249468757579393651414774696924130301903778925767350967040376654271668245984113200006770764919774736630354061693588317059148787300263754397057444407332013739746231331054600251929289602519984030853827677996050723358170744562479914334322978918004464424243175710486867219846886350920400599576182788145451040725749996391198119454423249219762030203465380294817479149653285985903263217266947379386134647091337759219181899189804639256640559221571703042727336847353815388380707105208406966796393427556632612858530438004913965803704341494301084762074370488875955838611212699052475742723818882176981315752789248822285903527175606283128483542699077468840688641084181608624451527441512403099481917395568193868381776215866217267781779384155873461372202341427145138590235094970362779167760188287031671760299324631709262240267298787343521242230476432561764387273797485713819055021454265905920585658479810162797735611829418355425853383155749632902738856350633312144267793430936436202959197752485069650295268361975396999021368512655942118699845994322316920567411431734936019496914671499292060622214762236608323067791859332550099257977311635581770863456675002051689050961686016627656588980864549139799659456280433793886974940298535514426677952455040413810394424156275641795919814992409663549835776179046116822116108124315359985269827911140647586362619514103782107257743668357733061602008457502789689655010321555618204187206070835625667293452908827833591610943987329721290719941772545630696418364489091377933492845097353894623704645641164292946244773491602302865021672698383219523691536529446996858166926898400538788716254318292574102859939243198398465474624945432925151174181819004485618076729804201936429776023005357169917792520690326585173844750138521848105229866909276424052584496591353750616210527060051733136317099858236716917436398299850583422624297523057685202706181341620662949526701247174154601918643678976793582258205060272510294350495107958286912194090012544305250985105366826214912709024654755836178197213773390753226529689162235492981436384125915965549444091319832128679278164536704986727176674069204849917508486031388766440104348741613432900360473612763288300852317966797504858050429303231645945983384355726455931895303129423021307859984707504202022278454965854209753370569906361728565495072608417010572684013653926163874044646385425152713869432718340531838094909358410637801478081658747631733558818241507389631989182185869791086152353080785892536142688777482456046853602822362251815906395101430331064758602273525465125617017938530839095533340636476823956050385341096097197549482977104300168958654693973565838298598540588853646831773375197731554993381646885458202676045120218819350060489161489953265704617846490888544466033121345868165638342465737591309495839126213192986205170983805492429265181923887279100504288497953130778311038086365074336307777017053913115128843467995355867607115766574310179012869701754004152902581221838284705084337448419124300397162715078454820391938050916872331651799358493625259125877352480453283260971017977037371132012656286633812066049428140696698820796556650399454343805676711157563645325130864429312336653054304676538735136683718680812636241892282510667088333913200420420679423021905968705840961972847480131053721816483172531791470623358794666760888L,
467672876809364889777985631453067902415135283753207474742222536133303351169126716776445421444660604103901632478496589547495126485962068359128633651889084655195841566098567297086435045508598861166489492785250050617305404981535023380657928505025867911447562338606946555747606349554649048875263511659080257785200992046425498288630774190763235522621327872193000000162814214791800569686601350394872805215082624335574653547595273376377521284621643504317135605608779403471840519799825915017280639635427455195567061692212078870099175924830194035023486253480154181688608176077575812793784755967463371754990328869178642302974645364685859393479583016069172650983276054687674747816745605558602242007556060094885358730214874459833008206126093414590388193352711086944295727795014478458489779922958672124879980268509805423918484198606842309263085602111971513151026674726202083518301515996541574510400238526541306816576255283295367693827869236735537001011884579827748397887978287529656250841077468903691465420883594470464639383035168239163632083785775933366569174159892656676297082883430227054035807842946076304503224243554784901594966290419094299525254007753360800240255290169291523200006353853161635680788843973292443759720015824653722783842751283006819582751866383509867596640418462466528921469347247367422460889071172481198205668670484894587193075564218668492970300801110998814345769786273588445403341104158493386962714304563859493496109550810580886594840978736271796045889959978699136472366774131287992479678782855016339667060194537332111687011700716214478997178369487948253127170220385567109375315379944284063803346614508375541882568724924671518107218756371638130588297721510344879616059712239928131759399797670890524064395653716333457120942388186753290222144283707981109336595349348602840406681012696798586677617413541143823237605762460686065172230211906381500024641823955137891222138070032252995240328871277013204899172965702576672106809244997824303615336105101739205527363759679990359516944065996931695866423919867483147129210288665859665044794392392566656460023359189534771877026426435832076370498785982839003846086584880216923842795805869628567494681761564887426595198962019588620462005600826565158344458267301687887094430117120374008691392452300957000678130815196909155595822051586050109106150435097324760453198212035597408888681087602387080591115663498674923321464936646431131417366889053330775287292400220065183836265463157078240623758351170896470871565931779577594483904726017158460715513900225601569484039219432697816912311269274988020247309377750385626703666962160794811216445716524521570032901873830301034439777229438553658389622224506889231665677636707018126294254836706752157619722910029810162868017078579979492561241974735416531645148073680111943458492624600453259906703350041267460621773945726908011064072319247335106799517090915244971119118326991512273507696717021373599514175507271279239625307587657641115391491787922656162094907623005457663416088921103664400297884217861071666917989017687054141003244725248224980279488420710393255366159117228346728113317773458344522386288896202848940671225514871548527175379593872999232574352968180066195413021991082196114076341209394885132512722220012939821502407463002789142993231929927342057409094383430357204417516176512260643426841477666060550335974524067061187640068573016753336033645654850473012422550408250927575759034822967546584461269851805878029512723838014566220549835622098886262393373749791586171397748606545375807188937318596418447016014863564497729394971714862998784752150540648394030559816373207512023475127375534476003256388812645655645075038079949062623435194861929762235211102643244105173641162329138861822309225955967586593808518801659521499510780654281265003506781087920566160387984664089353660480568649426483134603312653794151096687023928868575357942684643786424118016219991247058900553706118609333128261518790245969678298717123103556136513808721985512432804111721209317906014543244661492296908694253373447613187670150195492706821693589603309297641822457588979984172912163881896729857339484010556487967535083268253903338701900624071711544304869960547520704733358289398048337963513040962925828621118497573792372401187443751820427067546489772303546139801594731695722024489737667757529072546496552259102520712150172531087710089727235778931421825891470362500811258939545160453103604528238810959864638690200003066114558642050116638710997087920552358812465971339879730224971237231248264390802758354383302262092152376914299309684255279969146171746326021354760809271639306351562436953933565057809732346067133177794285161508568592840247292720963989893826134168707054076267170365768209088498148361278827256908873882089534904449304192377722275520283035308446963228095584794508060210751711194791080152625679753023627531698009882182100262085324969149628875677307735846144692693624450174875459113753716222099535173477378563935154934559296578423691093162162359801851057371867232182882089997799643975126276362520644248262598155666601874065554658455712654764629118507330695564483897940523570091316616969659645441573224009109466875846373231569465268655291310389571287798105959256766732286472789938144314361621998914193418989969351969043416811259094013500039463104656868054743424984874033298325633981616012435231019014544013746864848024731796630675177757670933089690743066525475792646889819802957838865590487570061451226045908081229290689394537836949120949284288344574349627332443180027496236893215496140920470530694763163414901754244932277847226012586171584777583064936105771668540854850548788740302809075665481520475442630221094318948603612652053378359217428696947929532094206590092291818929706864170892564901551812210057183340950421497327327740688829782554502096326116301249320522525755563814029672343089078128888279158647837145408860395734961039575216255332235573143847249923930283268669964713740258796033375931874563524060507227355530792470293329969491746328310529890130465392509072786435777019015572919736162284573593796261329107316497577382493585320724847234040216888513366881973848197580223655422013307211685908765532975646985202965257717263293334817211217538658669160128646795454412137214976899870377615181599001899466982773290329689462239009722837236991055949950148285393659107217368507470185363252939842871886861506671190893088872353844585218844949830659574714012810099694395799609776873478392992845634224272600152217469252522831568866109326186017805738883146360078558655118583598891205378880468250319452626542986155147138918495L,
719906706867600659893721516559790900499792654529601101852771667034470182783342273674957664662855546999604695486404361789493777243556112348351553234597795654788956022198971598151568351254574039197733575523761075058003368470626647196417429195487091963927921989062987461821798686274093958031061269812361306752739039014071207265966528220715495272591647345652077582077520679917700542229233173081600120617080982731271412763621627409040639530075026845197644596170127341102091773977387841773790677955692533329181867991953398632841384094114871075931629870103142555604261065798890402292685362466552873641975266857708990388811595045840471631113212568575267389245430401721151263558933468862856029555411265434681799658973561250252137014415315738737612209798281873194168259781575749143646344034691246053185798045937800257764474575809697189565262754857919591866111335569074929584889061504979086441762084986239765717572069738749102096704008048297597095450494149558790620155090270987546564147400678160086681789289269463380462075869188686428803499827945503993335227602133694277615242018968160740607973611589162446497147770924437795214269091386499709273635529387958786716311671680027290078381233694081913976450758265615595975860241763831417378972589051119265586138430826547053606174692844982800486839158264181653918364202004533448732120600425088631965957868783006796398157521503253767819912707410964552725566124838354033138906428225793455636861941189596491583840205319916214342752387730189328462257304013472011631937879452276873899502350234063537467109498300906261305220076998415344742586970874609167036552379285531900584226375825659221162009418538591740977185745412726465518418145152132728802939268373186882796060629421814092963062277552680274581247585481915875160684569555400661058714128711968520082376008364471076120040508749942467070970765967545412097652649468353829585450376129385269085459429034745003913319737695630102275754185746436130614536069113993642921061817175508457372086917155029978250602864157231404270512217674452718749259936401245154251002642871887351496617257581398314040092142569764476096833845707332613250854923424527352871439984924197990400600752827081934470764243130478975161825161111138559296091211959767108945433818596101201735602349473120348610896876049625660933807854385534175197637545708332795857715351473590130512332558668428578483987447070540812499314623771813071804044586176556054627191517290050987255983823707384678730270672225362850675213024625163583503689491263285558561244552613912246546971735110312326064069979621293471522271324803204003333765786935549312000891514037684510590300266007494237109623882441067129514053209365125004311499067094756741508459051262031350710533750142942619386622513223420593724561607082551768820620939802197781273567154765753745411217952957143029497516519589524788561335113069748456814070690564294769453017734988740668679042858111016624656701246660281944574675064875888780746513162356962723213315104377340983050893702613139823715743497584497490229860570523610759667563881200426834984220420482968054572980677336918286753291950439058654184018393893565908290770939629202856763387968483275388537003296247016261745277521726869465467573140101186797341328582384456544445288381883819410159777199526497251705432153151928903097189412426420233627115314001382053267871586064786413552444675977060981876980295898049345980425275820577311512668275696520131118574770803503275574831441477466869059570027084302165533760905071071594327046693557465489755899600777374397167065369570588859726549074894405262138480091312433009794522698641442688426291972113087689877790856801114743151497256012049876106738128048597218968436951032197223002543253216998516215260209592237836896381717355491116124039636203882467291555923142417603685985199047007907747216205356106840702455860613243146472831703937798255104676859129860341294014832592494045451460209376739095819538787157321395888657840495980951846556289210427530587258606442826294612217149506597182826088434636754191929571973088299069547021458249970706565077241412542671547151644959953066564325909087733750003700330996100593948324262555210023313458634599359392636809371135362216644342217019225258736013264388513649969698203377747272850046599647849227319172380334337888547995449683699980090993881969033768241022127398226049817947179831169488259594315754346993863645059194981096451425166715782329486804529924063418001878766674246104379337072537587665959883668613548941891997415349355153065362608613439995134387087033750662877959842620976662308659577972436308381212883445289456816011799162127260932782212423527320722717813260656511506836651306894254738422967671057465957569653898333190815520283472823864745405335659401205055306916947495846126338627669632548142998798738433703097810862201974667504723938212158309268527883032199138083686981855209714092570162434739898898950422354702826481743484619189067583817376979404301843949803196495533512867319891753336295975075821523284070163240714985124471249069093987747041659669700779187665643011826100737513953707581110012821151611608943193742740919299439028859659599037061095631904521368971765558097989048354837969896657259407025316369633739733066467798862459783576255379874764979454197080460942103833084031250203882453087035525562559847998238780326137141341553393919292819078785756112637106601177848428059481023161394148467431602296024702067151538421057821592881522435405459400014902915444894406128642821112338388337496774988901192389304155553734485179202470524839013665629855374197282941461194610727458228628608953856343679783442311736004022457537070651745800512751574458066802213065494682656753687285756382675037770998563511022386700669290412248082386387966295739469188340856918545492545609881497635140218184512569804023193051326170716155140018717219258838318954261166550643444639170039586852369320766321553888849890255253631401796973574971282759761045216648225236130576374509340219262976896889142757078872452076539577999710950018444566226509615869953148004890376881092424435821048143862365639954210972989862987350956910184840573956161508042448794177167587897760747873436744835057785203019481031021785821539714522519766015580979247884464448887293481833422708361322728197013709449110318404278147103809464739126983961683948275163862868804198361066920858943031803955563794446006160244753536360838547598041358443698063834071234585772320017306708959818798194166513753806074636829903541661930904202456485307901194165145463611442164418799005406491712408828457406340152188300946021388585054052L,
1108070202452947906628731967405235438286093069085830595773691563681680710540099691111555357379974382775693609598380757050023040468396654237142564205833840054049544580983511577518525751994114768263529963956322647475294579183807643163360734450926287163188311553398193304004914563321641604158461911807821282481408130585027239159713919138059208142885400602448563416439459401082593639179390889888080952496616608200602241254809413271260716893912068104751374167116967078124014802662743856659741013053454702429451291792941566884678742991627841634438801284585018357444044958511686499413883400435473225382654523692108196834989718222800375656767387451699842963492582321606712594388148949749093825602482151131568332900642686715671033469424561038249027319247542054357821878505951941584558859633184644528546615418503732528364876572647379077512085820064558180583080750571951872033452646058406446885750716486539597331495596281136202505727977858944648591358841299637780740494273939610865974619193466870343017170268354920209047438813804734478040736885422113670521719140220884540234826796915750588442578362942117597539825675290595125443642611845133084015313348896805379796083398336384253371703233700295915663391917900815980540232956933261226741127081816803246073641300254942121968860001238027711393931233633946384026866371183776298569903869658822373103654668770930261235480550245269230047137098520829773677383321096643524661415910367609316174149800799412089517778980459647400125528266078969613462579750730389222017779710921750082026222413737395710637375379749305829890975130036323977898688224430174967442026581042723570067383691147961803543831289075123687027231092289500419389352238290236262458427723813813741030467334509568050046692433179766925776353142037119206126489526348961650023032013006780656138140276657972288320285313762123746766873205144404372289718492402586483658396051820405706313060087227616912304731899720741457140228355771900984704186096729883707538929582338003041594716033696424489002720545637443166964623927421567574259093739849878172932638292754974577763950276400679789219218895045267737264515384154173719449014452992901714078798938144646006203105402501652258713645971138335456409690765370792143026654661129316216730759828038928247016587848930994174198610867205202948670942948049728917282347225028983618336256368435483205676862959415231141548128765926402289670071419379088307428094423557776109729974197531747347307361466626781119566815571489831799752335524782771926415569589237812122695308912487276695932737304711013882350205010433944595153092713023531436190230064275779452552680543431006201440701860425676563311523575438356146124678881358916965373372835595932805582137784370586487472032705076976292269374589310489867355693273236776982840409544930324658180185632355903298915568595878506092477292014755577460540840602719298917455506282958649684512272737616034716509713747591316426481165559353951142916720488496296645485459850149819620435481689506656386684881982850852330172669497730350254818169572107144381672910557425878841393872063548913684864863620943006594135732363328123023034125940624715794361219676500353173604785863866077116803758776142334515890271550004806572044271938902748384559990741080174031292470063852238238820686610712495663032326353492709456806226051721351474697308634934418252211691212359061639840033773535955582009520971159142619608033093974414515413405368193511365396524092263546622178375472805824034924972740686816088445991810028190356933083110744282399535300348695199010800699380844260760987586789031081380594023553590513283368576166486238450968568953564284421672264174027966330488980794558560771195270800591498564757783338290504483300383261169989965779391575935226938866472628857606122956095557706155905685128427503035871014964137583593999311468274494686454643960966167634579568734163095449830762426576796323456487636156213206472878625779477591009829530421805024180684211691450786301747842114258986040209332353666423592403171267889555377196587038078040858874508757330596828163608027961921395408524355717130909535021322493608569970334436536646309633947734435228910838012810975376167480753580232305791387290285589425579024777899742178054311988710376264313487739325435701736363306073755731009031335934922736434523565090464397598626322019235733253079357072486479416372917089496674765104635730304695882283057434821683870583817536932609035843860247267763700275178858773698548107469416380031744419421786368575752122912754394997143215727583724896226350285933236964013369728471098415606893754831281198039463425672299645894177908973250494801020239007406046411497037649221848609695156245733934435813835834485494442664541595521173480525244719218472768824190060432582398914908790205939185376890816561383403376519393791201822463641354091505566079969665926233612941440729587591060584358741226451520512106629363570189470959258813348206769580440789403341422387457887767912629329946404521545842198292829841982286196083156635136132213617611174355579541425534063939609172370142349283970527812855998002466865384845768806406523090988819045484960924703759881014361887889690159532485466553297987427506046869635311088502051358188278197594093470494980242735458230358415206893551962297836942140750182407262870877261254382988003484633789432299787200360470022910391550782132232998980019018350155826455440325905609475715873406577564177978051441761560284253517228985107171086329448352995169755781636673208500804080445558538466783918212702043573802354551112305080055667052752283435588369174393884124020553657411324116194658815749778237530264025750624067207195721191122165829899043279962256852241927746161097996853290874590386891460429982998837675332973262619156609759287875801360520043850417466708074777734002027889629496042137907358877840255127185850666732235197280178783090291475469385550369396236911594217334333421633399882470742916571929285293407948915291355341795739452483188491773424200305490269672103249284352542078358905344723288882232688488011740584478768433300079286690717759775444960065759038581885992005727956532515398972870413627290151092880168660506640857031414656600604059072731783535389062989246649049222497233460825407229649938683299735991363360394120278698449189354078402699924912743936633579759634384555354258933266653874780014749795169501226777828217900270158991027705961560702972144213449907122670787629559122321054143113616699374453324931420662712980508851852255175865722722063290725296522570364889119338942913323873766272148337476054936242183424077408396320484293391451325066L,
1705357257938700742002633731197752351696922870855960897014201133689723549777661120528417775440069931458007504814774134584503459969155479629248773858969342624240714997640550067816594753921012394948829202857144469241998124250577992981330961566777247647198521099597350556542666379329877826501425456836516002991480571239059609708393474787555086512561893510243692647471095246909857863914180452730666184948877525690464008117120169022879453391253289766140667450694185209535210771877314790138952742720308088950960698832789125705914816805346901144890294815929717976806367015351264504478908472405133931960042508182512294141154452247155036045021904587191106801366952706889975761056430000346939452353761631977171593208013442546741931716310674193690721425963272624995858544501020733156443596030921338399309804351150357513488544381378526532363376618579348163893666939971401627231423880228785419961424728941682916697686248676955269553904787136105385045205723895270530253517184400811710757283518521592224690153094570554069081822165973284965941270147954837819847256934688953128622674562158932245676549937847364804695955238574081926017833336818765905040304279060199044969000580032224822789236828983767528610310879310003589540779398895312184400224441247820182692624448673150161649355864577558910293078415007924403262753490644823156187552910762182133107519398457658205775102576800691262975423131580680076950841607393628172342463719943200200324640616498841893144771410534723814038588273683947121099916192017625853377029346667884794936697543794246388072972040412496712918607893416152265326844408324712251372440564763752286952013560710182588331038400510510109003810569471703596970023303908307154395395262017346302266169268458913820667163281966054453538512950412774606845443690628352713438539013318852148954687136931311215438537175833452569304224815605297763949649697474492012260259599598533606209129081336769968555045839800218133050760810848950183436201915271751000959419476043303223934171720699630636080390649172285252721043119714613656555538830531660863733401591548046714510362151623778747327814880880201262804706408069409310267610257965542508440774592639716088761366825540405812318097806545707881461825116113086471140532502840248340198275247715149015468174600725034498174389515014035132436622760132823025891383612440389380093835394716133251608007609685900009745252007943225535777984799532980842554839248445033259045531230385267010891220088888575766715221855727475741308873442826705649117575286054750776096343438935784785618135824980678591693848765742888106644401817398852085576480115776757787327979182608563164320837075349603498720221819436229793738514802132341267766390865460402303470888835193271209406924833553469166244177372467891230173698965871175463225799297490975775288026213833925379989094139550754391719107747820207446291890032415954508494952828141546323604571032494119255729695890720263022788284221122075308434678691355477699297410904037308937021978374103064794075101196779824220761515290499633396511660763607818066652331794872018823473451349359655816232557347572078668553201757816501683771557847354016877413213134456512724584737577983859692911276194137814365658551045041887059426334745954019283419842956255775758630600366970568654961468743656741955701338571404587018400381165948642669226224510241960732450436922826013030450776946173718341117766012148765006789224926568321403534623027828291329631390450621985035410739399474202833088221707480242707471080521607167293730897143048849461581933831397504681338181721500665327243195544192321592891795872318216261689584832878416078940219881237941162861531161691278916517573714934992639487883126708274954659867454040489302508081433300983514196626797215049718777255035109293323628826002608376580493292934040240203093287651004784099605997693938448055121181898360312315398957143195139351707790491305261182186888617810160301981872282691419111766929371941041869564906500649895430029547215655869848536140175677715513418650440211048528965382917503458691861173398805664100365996993647877376464943815541908634145340299011048336559310100456190467756863044145423721952523414355043808589005268483772525147007573253489594659065919470770657733178644432928532822017556310395240403048022607909634892266261367072731177978198022830689638988758608398812856988609496648415461361134573147572765409733354095590161993361650455912510653374836680428055911694843962859617244075241304966379744036131944771387330638829310111423573263689445356523622063227988908780236622118983161558580266716365165466509884960075416696387002138756844019354485717800277918816325295786476757420468948189571480418147265023885823296691283428410762107609549285271889812831292805510230586161242867129449286015086490910793003366514229061123071128566332807125714259492891626432641157581328457167652900040828333105662279267590710998643385592311037266333288982940084781248882354338799825232709464492868566293043721460806376025417862034353060595101994796115707286443516132205835535210452143445228433409173474972270503531495187794866875294382660942323480449572863801512834081554825970983222364206039141475661232627774669260678223592198176026441604059787272811185243782693905081967150044413818625338543464615784894516549846355519500951495759949375867318153044905670492372750496423356011938829387986954474808568183940141431434693141053862356490566873866973622216538117591018934004890252040133813156231404208258853181089183095592545234653265684343677065813159777653095483948358047912480797071937495237895334732456792952250994210858642669743545724840899643540043017774023837122027253271586260165992662553096453703647749483145417895762358705337350393300937927712991258094132304101774804307134481905645571672383668900934767013011902947748735019277519862343459396095496226019154876169901014629265839682797290099713912010032844840533961481197631335569052236035841844058251151634621490835841858212073699467077556515817856551089425836916580545736009984308821507625400721523203953403432259249521660890614405452131247722453301198481015311447629579797813677548938189540452839770047988641380353718818302115509965827634541768124677946729540295823416980159158508644956353989087848871671299359346092792008186910138134207251521118336260201964099997953555755127722670409708384568466640082035574130953229386448919817558827571901048978011730156018446594863203454039941201520421274694471047152320798411921516930419516979623588784453811024614551732602529713029835006528282096173876745394729464755962911486461097927069084530447838538852500L,
2624342617619980083091476578174660983863497683618184097852558432883606097172215436382054979877950407661893869568673992301842881269539777052126072481361416311399494273227271270393516588345183471516563595015683916743564853381868480072692943563387129248153249900715273386832248082728118338274309266531771201827292952921078221385627416574393872687592955627373825698533383468489507336066976822351627372428154947678246934166367579063019919833623517329645781103565930952929883420110809780667905049107882448862552279686028989350256645574409508317492915966861163278163755430461307386617673234068112748797978714502752628237889561725333579110937996733689219663395787054416096439280203541903558198205288979217077564645690928362151073221483016024218267376130842423983893153779629542644076624467676038853475005279494414421583232678587661215209398296496979410864291354979196665547525816192122227009743388245764403041150954079031216423404427779649259614556063858057828061189020838541130420799304765905879560291568234327454250204164572846619568989005038188998405247917742009598589997901416942822444140041972497558010350991323051829754697968622796076196985175120803819270073950738414697179624238417280129408672067443690280531126010838022002827348789774857224209346060416476389954296501427675163541434340023296886605114168797547612000602616850488696222488958716651354675761957952304023492730978540015293530594181031357379711621977595898720133935679542748244114242319683588740669487514968357253447041599228779573079552257986383590392191404163100319715406534667528441336479843292080027530324085273512174739806261427250981138806454977054592418794449161543301555617401995146945218093032209355446874985778306282928655711934706238935706514078717916188085269505963895288935826692838614944498456420883468174270087354175400371740077993529323355993839051446116601686303843412091889087397758059315240087371386486175229108297194974113002820335331011186092182896397784885395559506383472904857526579158093514597290002234452472918503591523950606858940206741726268471920031364768081515799070409870375151956680440079772238118477707473253245022514857332267883513456391682940959753089338140563621208856781204702638401428905404370201629047009663440865882197480859415168163877061655850615563457976210577909661923867397272638487218501844835011489561433935848863697294251212079558961831793917183618977939134051668805075556235068090820395321386183177812676684945919119486660492164209145291751686546930206246238026783973288087545868884312513256584051226691648069821239650528002383826857022950136635750942253787839718460853675740181886567075789402577295518620054218236986891744134150000644006548031384074479795425048595890689339900833863336357496817907563181094049191482368107774153940735057900905719298020568968115244794645637609000764320206222778611375118391669600159008762210816159839256356615399508115188103293939723822220081946388423428440159097820689468715790287483089413039442875010788459025068496770718495804444805261963482113412808339706073253797536235338074108222811886394075520551801975720768591161014248098604970996238771254961293091864167727732179789983545385931723749890795299443974196168812656925777099263112183341420560633141205489993898539912819827740347138632762583997386700554266387921773100779586328886358402380857961717107763583999664416114269407513858664897694245140670323331464777297724123384424758899535127503275950798394099753000510947822136414293216012075281654388484618991094549601710086426858736558144035903187777473194065552784403752074209768071615420347789344240647352173098675171137038514517929326416410452082367304386178963377448962032364154619376813952944171509093049560783181884465830799934538842305229519775395181982869338627282470979442970731055175373993680649838188720176744495773446201391268649264228237909713761700217758164803309156984103653068485810176648269318950980948860857593211967426430656331846132744937752951547861910114048827743345099159881277378832870569793730805515304638090332158765944470755595090371156602204104570921052690681029074253277327903152193636012065079853644059059988896538364339685237310977070191192917559088370884883007869314386344416837991815790079714248853542823327040376996462575954170682251341186880865593096707253099137007527646583644035513486615314006495487905855547825889437518151986267921334165403177709636568026730641498300242342240185211198258768283887129879605675670550452504630916534846522304397632213306486648404571634529949344992986282648949669294334771567225944285984597023190703236479594590655329806678995958608617637535483936386706925184737021005395558684860518732444100381576336765598394835706795063583455188269844661372859431144434201589479144814614456730740469184616160788945271401708985131404866446275542552621565232466827913672492775946879289040609294654892183697191741249501367464694197781712788414107070599191614269139821960147076453609966215008032525820890141081760778817663288435961588064199016889366797525670956456168240555329361318024507248463571314393696347019014104335089110848011030670681083381592827257914113909221218467677152026906973093776439497223401888972605245785153032875338998388225530649836281768155849837211520579248355092288022120014565932216745539601531879311361270257526508994520297457880963740260541361810092360476345128975381440257779667061975330038445011049452586756183102586768997652933252541268678150549525812290922372285129113893410303256981545193934033124566253658931372051635014394064022866363640802770049424072937981173818700569649965554285150307864248198689814911870335751425367863530572429873790218237801224622675448718048644390078383366304347557191524699490054361242121800828666369360865682287373259045666389495109393155639518296337664030665612591907255899291354149602714176184884577020222577016797099252071616068823438145718356371377805806117858349152681303890308500658275088433191070173600509100854167087964443802653581627722520165788564328503445972070080487293647040238674796865750652940070129539519383929263621785048513399554660795965035746401291198210748229521374028667524197147683487687640004696665283042730824734987897651893966589919710149310671417477823007137696568638710485910675627333617949330888933321546707831273035590140337092153065159345232131741951024673001120553438682798267367396965511097042882243169770689529804279102897409304098014881248441585799145917168681158766046927475578904078452147877986929124686876716490159348735579532273384674561638809507645597779678573822036971787032476895922913863L,
4038153046141803699485026996228018141014944333088566128743439038879756564817654119119388309639101540126976729000990365265582954522697006230263761645003237040682576760285536646261014910800961154247342817002368537076232516541243179462280861778780995959489771329584170744811256212092230287228220962339912929789067842745381377415257582082020826336393422176625514247924558469964371684139799048870734717852665965796970475018412558206895251963386351676662767857910071327364066389143255227551201239491862996564400548549366595760853247481233823143559894785532060225522791037271351197376419942224211803084883334289090578057247739273170408148969058631751895385774557117841166229216837378968240635971368558937780097809148549700843915645859720038300222158318397377987983488582328562821513418423038957412930396540864798300708212231691019734854130502967713836755286107996226816113040074941640014028359523624812829941356730407771056321174608709175966387491419264686826380909319211692876785443311298336762855142921717589730334826367558805352154858793186597111268750365423844678712738444322106355034602733932230003760623084927483381793601755721879847695627921246077970703559329772751076851152395587639957754171004972437823822847113913837939068360616977502163225046874203941174924794455074312968892927551915459663495717345057767749609937220781625398901749895820368734237028879550501883445603532796681190541266316788835270316182344498200019768046475265557686745405952266326162388926023557564195503410509554800823620161280321738635754852815743627154801316438323842910318052686292383480213729526674011551072414662605967958031092291688687182035345967163998036399168352369648930241087757777627231107638380966154942016680383628393643285422123350037849109186313478123626977656517458671138114270218785292160014375578576442468465234311408602112292814366390013423548607228784153629526742427615314556589374264638210450046990808062720203719153939457599868462978407397348197362011592906490669545559199773531279617386271501853023613145779105953688220544327484152360571944262935498463408125519882275354413372531547015532909718531580126778864449614538306223023607411638039986839088068970082278907542630171460861741333523310655737714861298628641549747597891181745514066649128749580990230777515232806343809354371377242102076070013151654705993752738244004882439783885036092363252564918979168768379947924230705967179081858164809317055394245017491857145039305500418121840614292971654730727328692990577409159312039966273116974907826127262670552705051285812090515653640756720946392527033035174005182738241150844387470924891025429688973937837823579595511076556666207695409150990823178470945419370350525011911055905541604190124838207985506987370013451768535762250052690753339644308859963680374504067626146569631839536891043527131766428316127655254442130773591322495702254540389065759359493414443238062190007531823608657978944791981941547163597165712238009266208433062698775048646596005987907367922796608591843895989985556818745674911673126687994553500498526623819158382741460366177980012224237531130231447071448654476483551667695801106387989545387398143694531747190394516835820758432308143312051083784268685370590457296816785217769594479237880445965385535991561773373807454459594613077229805793598412129174595035981872606775622914959500462096328740761913931890773548612114636440942349123967188027848610495070796798224690057367525960577337815183355339976943954815030584355523319298820937862427690459786740055364702496323442983591941328280643657439022726819817632373660641961513179337027655419480075785401421805542817525305880470812649938977681019624387937488086887021291849507870484172591666622436099611739724439069789995747090248098971144365077498634459990667929869559633831964239119629081786892234940049568636570602571769147765885767648290780898333025868687414493013411685554427911904562357483291734542860467511576227465838401581680038658812131924986954576643338606312013725012100965481138789598825125755392328840465982023566510863742809509590166623426497443992176346459234753084439098677381703241723210784184600630457523239146380203373169966635347219451989898216522265755406872611491157896102542771150899582751438931561033100444362096208838225985809945735532129737170763376808759670710721211538389066222077862677309809507898356040144704368384739978308688708563354750704997092593526156828716109047110021261342020811350075675436815703430842949393388676753356505479404811439373745725027444235708783495160565890307813260460135848215922591928360156576770694068244138795925700491904220538640837532740625890091431511622375206871515535966112131355561831243511750493695399031403745922589018870554810769201652272833334872399129185025403667846764384492801701185837159428590508006279956106351727975606567390550876002036056560859981966585771114819695586141410716228512110675384269979056344414537418184582649521895951609870032990976155075148147590325857711524511678872732010634014298701152806104883449122419279386361057636232120338818294712434933724051133841100508962859216367057006279767759669753846169509941511547647507874528568581133247200215688828568365865568794002059800225043027897276484948549591189874585884777206631337911708307003641095687308913404331294625170019890678140087104623708525058999769140564258785258140955666717185800351707558412279752439353504655438221709177205012073836768435308440803247245048057549305868334185684782265506361188826881286843980272750989402168639861761939871416280486402059976643993513809393068365516579130734374127406010176657501660140682460786785623007175665736707069472348397212723706866174891850986174508367955430224269921537722384940658664498621286233923888918977002093747744346537404172170386067449613247013410337372257542349243307630739850486392880716255929847582908644864595577204614385443491380510708728184293220231420107544306896625455240423792674643208327895463020821284594396186367644974636588864231593184691002796457125571180293600884011671549443621432216702780039117205493937895911460216603342039976698267793339163013341537779894388101824763191317830528509715993541371866969076729957691974779705946340048886743954628117052126727821549369439654774325879307803680229605570737303595816942702845513156835000422723435113943958684684604826518041723584555155681275994149471527366718170945206631808902090523147381746046680870712034313234143717188481264793645808712918668861556802411037619734512154442555658349673492699186813515564789222648100463566782146396686696319179974650447642833091158357324880L,
6213010951518192584656656757913067524115171172335268100280746727553431779536884846289515499106170525568336804671888769023788224185409974551480919556562650768615437237511289533684048877171832064566092590587208808928942597852009001814396533488143275534545585594218194590553297074669276411231047211404784715512320033990298275470755768428921062947738662182218362531760191243539332302677480862129149818994170318487117085653452218135316286979954134950740394639204903248812825767919445200157418284418708261381387129450746533233659718650679792804576968506720449964356266792249518266183754705567809947554697127500149613989072218756634140079989172315057212126754502923301572809833331616123726312823832944960844187735610254903086132191875492242457296465088328516400022685209281609637884494884512654647127889276932810943949357195346925425371184599872325589076935131915679255618418181614679751519266463147816191535260898271528897017240813079599394727752663274207609595106548167013641902204982128089839879289721315590252880020049821722979745713699692122534051057319180610643122729738542559523044082569215698832836409835251193841408745676264318951384725814485693125733123436657450333316296538816953637855216311440663607475494574428644926997721799838957007024967294774508968491463691175351296174597018529809897289830751202069562372772268792606709147624624033842502604613497609659816747772412479639426403125333369478799920034677351139991252087390091557136868250597420191784608167150572567892820647076402454291328987934521316895737892921887273597788254632013607170210484280523489318531329292870517084773508676881343667035609472044622797095778294150446420928550414183178318344174556577362598933475695597975759544377876978524537332750797539419550995102368058177632196042322954234110931896673405113406802346648641267212891859449058806718345711008613007530899108338026266857723851286521842159408444474013444147323934313241869010051909301213148191658138535898179868457431649533572086904871846122760167472111670386812092140980767005755896712856269324396195355027274568461752768015892031256784357451913170365963309440207095089067084859615078736541524569714299883236681477002636149312371958364293610581777944352140710186565835206510728225882751379868692153944489385111547677820093357704127209346277323711262122403214093294406533314083540589376089811636959942319401778566248267193197518630883376892790985656513778295279627425951011415181650332411069675650542700965573037731045046295047573739137068774946264168399533602333167070737654595629616619910609549258655665970357226558464600615028960033228260327088406022525267095015870582157683651050667099376401873708637472799692543800676446031516671386075995729034967408552456336625121079748171179493345168501957759623823748016578994494085403710166962878349157434940963515421919844611867389036729016339745449370835658322977366648808055117248786970129376048412447708873196081543087680589103449313459756697493274918056443701174123521418665785065339591118700967858839805014704414656330495151085713389156201264498955067997447416600439726910384532077922414473892720654381640947994395249935846300045846894675872775506873227963822924395999830831050626935423195543344760399049023496357008115864339605481213199852869785622635977300992759873510478173705815442877653361559106067200775264460865869305795270647466785051059290764040327440455344129873369153528197596143415771992343790926122214350413057085579109287799659983460835560873798473660939748848539199620891888343699793449215429360641406878985292727998517971462731828692447719442773348878917375423945103231359789823997043681572777952682535424756662210394478848151572258242530752658396620770781751557494430058595435667417908129158007282524932019836277655803163315035082633641166358104466949435650781366070828397118550203133987965965174764236937443828774633824262624654537096544364165365552365905500454247866498554159874382424043352972291831678489815578346638698439079179711881376049496381612877952020600388099296781291103391779880470636726809851453312212563993195442943646474884235167540535190215379326331881596211182558102262033744753317717610021589192204439808323025238583525431573437488112172074168188873634990638483990575221515121143607069090266144564253639131049086999956935142978325917946505731786984473418882077549271355521249074594002289061775742680802175821688870149313453285815542678488678288382337668231770481365674775821195597250701659416398705731404742117970962611897226655875457487667381650595611991585555110348538938826246806340956847973038662668674442988089354306054570728167662348345778994298867391873116017738396954631036183415692205368647952327203338851228570249301567265267414247828192348677649317740551063713106546470335955859563224239062553657583629193842279824264861738662950167057225416271752162183811201251366113657777784482572756409018114942864974844666800469513749983987750029384084620125209708990954543262752632921683770489285034673277158922352498033471003950279838572678364593214670858306925712646794116075930363290302215751049054022489807599582246149891089864151207841688424123434530355255735690834523012042520086644887723145713908149530485284432367781387413167159203386798123337071077797732481297441639943791294556327742590446848188172348358712388053325874109260294651785803066802473870264124889149333368769002878465146278601984028638055683473490004718633053717027727407109403887819733136901268360324330358095489139406774784268618026775822609029421080588742868578313262714079599638403714479934713209514351577029771573249517695161676762118684139142675296803107373872734811639096036586841394892478291080776589687194780294006764766950708244124506338349576071266068812625383648984958640046490789727456330342862501847106739528923374463212590980746578428752722783074227881102560254057588265694205017383765234082382189341536132751568957797369137181041119383033308992207125667981208910752499122698584307725855987268335968815116015631789352417001901760454490084767963327362042906070878498800705353006704906527603388307795765979639766310658019217536811134387107668718334706828592418490843376881461265305840259368079095217793975939734913978389418388882043128136708712553195680599225983827695038846568998910797297364710414657495440658455382073662290952310360260605454358725246232867603464834103966761619673869137183840994385871498572386231636279210820367349945607536770318508682865976975887908328659910849867074036503106430888005585794747684847771296767605779926426311814698989929867246708831573561951999478702L,
9558254436711849207636038527149365023457181722120679347610562236459969029210862800621079761327763628796522882387277113001260599258822064310777053957854834554299557951813780730429068661023987449467598150018495550049913278148391953095546291758713309690177962716978012998463562464061036697004722413904010115848210220700211051614590302454982549572464820336750743616323301068709869787979062729888431049389878436744975000601784676826112342143195452136080222251504245305374796512543999434738483893173676380418335766340434106634353905799168032421487914762405890845486343997269462745327750268930284275442357256832659655622431796836294278296554508180917896585586407540203217755741763147731560824887213229363076445205175453553719854192355874920018998157280537931191237468834942216504538312034125153792358826122694002651533467866560624900682294681543807948727160087009765583267298510185015843111305464510403343944109436589842090276287113721614045100089799265625673150071315960483135867922279155661260151529715402958600151137334118453064207212635068350928166069447283685519667406808941574145175816132159512999177980791775049301610487680586915038624784427008748736452756236717031695546643071156293733028859972302828307433791999713603732108285296615858644885985892173710043502754089353989934955287535443032614442641235726263496560997973927661678100218653349507706379470917190438383166828240099039196711239897450045355474064949038489268736474594451522094034813979558437410047335448376419502462565461371005382700788226160205779757600056527415329912004080630787504059641547864272450467974524497648076691505952510862177364082519409360771792165184014516378813765376144667573548976295664880183677311045855259780235129500574362513750264608749716146033955402044182666415483936575257451583595010077913396504726124884954542680021012777809348465233494898562128315103968277752403290775642008439046139250554605022277724134420558075910413756553508449049604185749042828503736361281840216256197158777628472581063136088146615704275850391660180440776649096923774908224045869383378043995488126301530268470352813283592776659506847276183370792766895713310260662066596768208306789359962986610450356489266966894684442762521684993633310373303551038462819816306816865456094713034594068208668702433123434693969844287248950378069624750026897474451743870158106440680468953662730503202771591209472073913499810287857899058012838774213832440945402789790169287001133907872735422750150249674164813950145858757480964661749145336380232091212390200385343872741141518770058214154147470628070635552097749242744488253740288825298932703757436135454100902755400111045116558691376376086205765970224459216266294459425293419897146337384843678680871762586519158291023974885097711380898264361776596850627073647423210012763823558942309441918315132551312923755372219725474318064348250346684946847305474512132679754785361791772127552577386280329740767490667024982812694955143494560014182719520718733378179127552217013402791576561006494047542408480922764149827704511558001157721792161065619467818299043663914770551591480207541286518576392821973349129063789457545237041274809272158832112490256439853282187593035824632556757122634869207579830754232551845128473797278183169049165061491362584477196747262421376253034234361218266871992906139349441768756387445897631952831991943815705620958844242577216001022140410346394229939054595085545664993491631558879143611703512377906436867504188135774807311035824496878480327674473156189478765622509570869850326304728594568837593858061301685702358205228611786668537226089591188123154353169055706677880767806346062426533196602439311184380845479553574676094635651101616180213432298729312740877363337455689450545011008282213500395346393875573744500808226842499441021292909186282288309759319281933226818812479585409104130675243052233201190680873968360102936854008808872516652374707592373895737800658220101752547894265069414923228157395135848530691502625285204062187900644767565504332746607335648420509555552307228521598757792495794303216287490251341247648300931200751708664277139052459164944246682089548895118748638439953056701514911188775977502581029196862375272475994932003671920332343080256372143442233236336268238014863189669573596981331368531341817427075139570064330949148429789075541023620656945337483089300411987828960022624107751638015442402881177428754179393565761310861168858969225038450451100892177034126835955261325463291196337772411010558196665519974993993693994822844175333029687809950192186596305716849741429101273094667774097039452886964243706787222671154767685596447586222448175986782185385767912234833603597653079813407924791540729176042136603807346700199013286906993631449518749275302882877765700624407464066275729647183566298651405399295834857367021689921225294319064619520226165037633585125242601174534737201893817306892459951409668542271365480270513804059726608018792574015007923408606167614036657068706039912008632835094767553728081040156076454179630761218309379472483934968710686819025318142761318769560211014823983520092691193050441260167005017084635509771785939669914343208555258824252327078991041940191881417620545325937221484684453221889186190263459383434557489529913124989847055125689923217854838704195329338921352893029205274506803196744683944306477975162216234375418947450048151819326869142595484316727879934877421342014672144898394392772444438422753530719550530502283852451629720344320588745292918880126597999325939258766093228759302749203951533376599952654132002947262200524890822528815281247035588970738209394800572591783806849149104708709259947438769811406847974744101352794311907113314090783945273368621294756701757003717314155623857739764092508898429977699380653210635707263299646376786438918758410733785909760579037074001326034014807345069532984307497038448318996151295898144342768568893645581974197289826162128896598444945856042776459521880228349076721881334831250573095602353718239265477350320576488053079739806171906281121349848468433344105394081107659182823148581324681641362446974788409030179640264609456364700869866185207860103290054578803873858001731499480988309414750348568972884072344847971893817869532822591672476329503967890051471201930350875367265445333940756432403366755519679627885998303653885259346296287396778076309556724556699133985854260556349521883011202560250193712085790014993912658970012605725309705373586726064544830563510256016085260705125594488623292978074317663074041499585515525200445383859976792181424774807687912799442711555622754552182786141970565585108L,
14703211319762438325812047593041916017403484722734682185092478625000127275303666761884981363133218212228102155074741295155186433614484050833257806752299237434120644087357161937142193143977073042858478366748467985760848734068509027656787642494183886315204551396918319835551652138460605787608294352272960391472948359123126496829283603337439848086018017424381134208538492471371217155112381138659285183151504769266966275100816336022614666695781689332002155536718720941662500682593974366364318789547054397330002188958965294838742002721862470748922102689668504721274767998886720167989772790005892822826233586596772952213211060126574056861735039476484883537634756236165620251861668806761458232088665045484333139762323570129745344049290863150100512994171349067064271874484320029259613257919576618645569325770983164456362772580193524435771076408343759752876406176840924059147235785347717293584833731542837364127312382740761467290909597356694167305594490650504320519626888466936471371501341012939983317687768774863354892115871047352817508545905347263378577343705668106734202623002140565950138105354696198568976702775333567182714384893571963346275097654256599828960994216393523686393825102586373045485039786002807039392354133043367293257614157542461677381385779785918759865398451576648045432400090024022894931792001982526633049064005681025345911046739914850116380232444694543220333606837004144335224944365882594977139078315789704895029354177429463058817428283519785792028809521490441986075282979306708837688729329242900026627356419269600075622331719200639136840094175462395198976356565618011582562220524322332810924844321353865691513830496574059283473261955024025780621089437409091916124876809657841834884857379439617573511548224705815387125100346451226890860462474470358757025442518771422925146101339985480157353352518978547026752589280335297677270794601341974335901387702598182660281915653129288655486147524054850737232152526101572771960677542172001025617284632311613180842457906329898269443732633455964484529454343272997651397668643924967513240537543449254620324319995136305707578881014831111378179354843339519699017609526430156245137507910054821625770791663350455164786240979219298789182226132946085654827565253872773964105751304854943089140147807606370425273497019253437911865688502333481975798991165587051847897131040962831121028917262546616106865881444991296396767589264526621293775162356099152893686281473512067437837447334837375813296616957312964291539125311973775589622763515953858720686546257042610291106873596328396938378613003303382066268559420727426513138425019586747232223082727996027436740991052679079060455613761598851629988032625806783192229136732582472216470757684714073222233322913000744349362683196328130648329855146128905490534520698328047916689497223367824169841171939555424641176430530712461923618400506445477596962365408433519442572000736946478817069150776408467409732800241336483758435365330511213253414326062599054967663744842107720670799088901540375086494507499886149188416225685616046325097076529341134478432518882190931106103097725017109410067239792513456920046457599840830312615275062994071630736001836145843805793468416394574709213321833699474481671933508949130742964358424111188881745972723693742007418715872214407422913112753816648595294079405891194220864202860938511329517282686024931348607341918414117685142778595388637986506597634882621409524255317033777102660172316342026766313427947367924682318968967477371524353153646364902050743677641628283448571633142304116213104541588411929641173062147803443988212588963650409213130262686241899430863653785519313046611461314296453944704960005659267567013141751020858834504342266912240014147969232800915027599436255091286127697260643295792322277520894033672412696093163784063702972449296557763268487271988489527574508340598283049913183286723220440367824166782945751530233114704722092151882893191056604703321768154466759255079974237388746590903228023065151192982685245117247888864256946143099587887661787473734604766816587121703076075443377548103317142109635496951755417313538461186487328791780471758407679199755047161066925687495116918376814602526582776062251325333121375883956803405361948519257265630720872919987865043304074563500898762295449767244313851526248926420785503159755710669938061591141215040008094973725765446641835337314033166413805020379168459855334067654085823682675158831560762200397714588019879646701326614704157102813610809286630910862227036703514685849793408311788541480862495649933687771707574456582327507324908487623532022030216124654594165228449168407396253052618874717220811720477541514450673089898500229871847072001376262066705651751767910347578139081239151077908770672582344605232900539720247052565233032875580471113184745704984137044658676393391688728318034219873977880866022883383000786841773163610057021756489313017983917187073190099394718870971536483365527128615518049686432632782458261323395965267059355653530167693022122208946164543682924886017401290866185315054418654862948203837482422935377520137479892799956237964491552164272150014094585806437692083812985816973666507565778063842711981945116171921658557531795424277520216585934487146511962161971361230529445704511415619358983377434943201680143006427840320094734002109624424655993208968286834033255664337305963022589946019744484649517550467270890155954980720256507959685501295339358875052896016145928582537089128750877810149813364535535065845739331496238898450223980182337109567375990407163967623434575883041626314261399721741658053230563084763450501836075114211951245696789470776794108767346953458701240267713668938992630979390964562222234846694658699752698367550202771740091861786673925854749870081594340670561941530445475953671056928624482945021989092918395333382921008708490825887182616909237884316379648240536755751147848563380576553707487488805844769871121997618132951353884467165604457375240697923631881596926985672854942264847954447062613182186676379752223892280717097427099359413313772197858317508724727266283576199553607205159611863793287767151223972129289311597973348932813400450629507836870743799572235012416230995840112971527870758389306665728589601873875694032918114884027919759723379031597817431183891455955314199224996338495893239360044149910905024883879332796378691977837199443701771119051869823612032562626636615400589482267946609285031042631312240174205287204777595907487810873822801501011043380164121147384126884103470093606486044788937763120970280325827869362370893589388749976399508158124290850332540018453712060993074L,
22615332422543537364491860396661905420506961266238732837680885429080601821942628117237779988800179400573676652526817628575213933764300374244364721840933389930427438523441418843952461728834680888615206268222027350323011709887610648326472923037137870359167037221009648575616229315202446769408676363401957284580181974886607646783251311383026354510160900526807941132970101663410650133073783489143711578708107708738908724282796336465519387632725197471774256050167443049463182299078508323387238226432663813044602961252971182792695579171917176961114032714990327376340001446367259990740057817813857741838367114169227194326601801036203802113481640173786233287504248673358593142681380311947057960201719178440027420722655481943596015861454240014737987395841097802921830493315216861554493260819496936247625648891221391519397970407079480446352784017218456228022841858398105707403499062766500427080626175914617632969932577900858435373431318542637853706832339942672818440514968385569893740735488567264278745038119663489895586074267342071930375020863421463807272311668837521831896106678287116992126959843398014339075166126048487509544648363462236656613271594638607543449635472860101651535395186523487786035914222469106176759049472529056424935169409654511213323003422720946591511825140920050794744341676831065237925111207415598945898782639980577791824627859651234778860268420889754633550132330911717618878228206534224520961501767532018451490183907560877668216579802214307705609462549869421243852307921088449568503483165152258009610992269724081922089832593938406704302756623727841550648837918908784283106733398322527551019627046821893625292917641731886482587344928498017138605108869842124786979737111565766573338015061358997311710365093197067245596083527542312308519407876407268567237877277453442932892002504516723318284465923745118871712860972600295470892604074016717319060566045423562482050560839301638224995485534871390446872127375595046962348878235188793606845456405816573316508418126923731427774618952503821196765361547827724479758093871644626830510504809090838917965241346921077793515375566300828135461797818843505391519236233626607360244438485263995136997975830066388434155691272677380837211468609534472024107052037365936692452281548819108821497767724506611784742661423394873169469474453485259477468554247770668188051118475951429859612716301051548729683728291278821942013468622615944486417105443976873668671555475607133882798859099018353610352694526838552017318443925104357284540695327918105271612353256030562616400285955093642732779451697760264150137923127931633407852770875283561488349233806856215207157530023767205909880562721499671970829996060819575228531078085604223399277122564137613036729260226039395032091265122585679546860164589604493729475622616934551402534181948037573602562609336914275832758053910360990808106346781313548527950829067206631914485850184384176392163727807434281468611057505797416802864579612988199797218162497149472172341421962711607730991680319869516076755714523893789415328631237718972742940166145915419566963348933711770615190961912449807016565765039616987971695126791209589627859330317963373106198071058533442448067844092242844450334837283912174145324666390335941436619682985020140436787661800236852539216213229843890539242937632111632448267875494660965477431517285446979471049055810045268326678856028083680020175108957783211425876023672566764445660508839803406520809334304048693279393694733940639118039072994785636177161917745312585767088672609573520757261105595043877351371871062869989778124798731048054997676617975708008111939273407284616980226062632251540232592286646533799130966989826040328565051293608397920084221613528558567364515195751426204126594845157679014335738459172479061693461689959828754141608704356782205752601125877257055567267925715650552264940015736271887935931350383234595342979709861735773724536335710770091691562940611600705659782076423120569939752350623298097727704163764036723432352356368654576177864218054673903640446732552986779021163098063033933932374391066413034144158555375265854627007862130445193683825994565943499320584293103638594585701078401745030113126891939930776802717149583454076759750163539985913214005678388980482446383733617644560756835450017148324766494137103353101760060732776862462158206610473839786821965571153910305539139621946544116593562746778863413957730484933878798613690181158516704858845258007343961023106043551569609443150739097869374006589929069155899824006333709394518685581392228884739101396029137624339170321836114843320859984067930536967808529814898089404439400435173858590504119012001512388313839888588486927165405658318866719875862582595525311078935101978809701658738954425562312356952899505735232047348290811976624056077113519331650200271110906355193395182363754279534888216755217353355813492419280381296745393121256068781664861087231760241752114167115829920658783726541135947767000919627957747343185992290034158130527985115975775259395265539540435994527007628910529935910877010541748283224045819464481938601639668673506239102836476466097566207655893912285794715607872676642921004684071744548770611183839615799382174313799633837372902397011267080182602009986139490191026028105701505105931314066223396046885456750444961283409722288712699670037284111345354337457028543690292672216210273204807432862758771534996342682257424111374705429747343189383876623823110901167220227201248151930341856166385330967554749740817560568555373061925497501157299981875309551821388702079680015105024278589539708837230268950139521896438829766843839320619259875759520954187485074402338042586097074832316515146514016365576749103171853781398373534040455677189637688747414381054577512661353694221432522544173419121528131412449778125466122564596605092631374689289966048048928744133818995001592403418997513203637994930882424672109960982385605437124988066269368273035703403256741149483741688688745958021213391504797297587397644635866095634692721275048926931196616297578613052485796310869722267079164057354845709482536392983671486223881601921671014898897503524236565637523338534163165827026792847680498031822293415844657328680714432428293213914352191742126864182135820283334967718699783036885926095855352088675993381652792901359904151773059971844768109449228831825161740943633043238810102504745091720947316976264545092873270670260884757325475583973895313622318090424149078022156572084347415331290589235193843550750211539060153167077452957828194188777057917350188822802748057067412517820922421966101273015944572988648316663733617145308075355L,
34781710641810367390787837923546807117944836614994783165518074695510889720236458716363579142014353191755022255313845817672971601577306463779688060497862979186653357480587483281958494390039889313879601527037732577827253790273319113034157992029130955053366314472389692038773160401628207485732960258330999236863824313287348335901549086138092043533500033575299018465402690871187365771595633150911396727853889605702946494019983338782911309162979353177238379921599911208727279421394475336104413103793483025827764329166541306995016345493947097967130252952068224859964003339505811582997911362257369635286520776539895133645042207820583014139593999157354732115797210912558228779411921459143805941346316652253700896210577157077352941804275288669896343305225069267034761381775903524233563480207183045610253251557070136254076773743245218152985950784155751872470799475218089038527031599814260136735511575014973218545246590411762992535257917854479506985622156447345834890045060677767450088504445359016076931035543227199638892928777682507758609971544029296789301665486045179282623414801456576893212602799523714050158299961520490071093957972937794485552066173949456551523409813454227043514457447150600528692615535149637857949450893206510440654117012328348403215696442346568251584125089941582459226046417480416081367273553852839915516359802601188397188142517730274233257388191638273868058340023211807805032057384836481357333205690755255852185497997037712800039437037363580260115291794352041777031899098217595338314971286527229799339186579785024354276622240484712432447539163511601760106888262844707193669810101044113297726117936850722116211271958054684230642346295893734612282671204521030270172468861834673534466888903077759675113752371730347039386007246449174010266263334062596683625317318982356798948067997234264610031862707358697777701439078550715398472642469696337764612031565860964435517038461618696777199413664819988339350259770993308107804400816015362446132225216594015872117971189212590374199802855846217035657052109054646894928031608831521818442847501732564194358561208090251065154236978271204882614076273503406642272429439748967726838926736512422456422873020200623482717157088158610056271672365492068350979822873966412291603600917751503839309326852350219248077262297620409826200055975429987433017225288482329322748658875171656878802060397661571073169615986598827424461379826515227066767275159976427277289440024523473079698943954111934726595679330210707000427828981529774998532243297993538915181472792638684805392295809620919560969450991668200843548601765618079718680931414968041209908308408662341151563269403318058434127727332648443464013571093750220601471592496720262262264034856529936732693224802893197578961813041890382601738280794594818689090137482979686117177213796478861248958773423780685299431783455411330705823143087902118382970934478724453263730261009590019851733263678334658728514590186199862055780831379136533274346758918324698481965973160330379918264114421296632883304823962839781073727354487069408718461108801322820761389556797560349487409221062944475134513154921492549160615367603413389399029502867748057408508228118073279672893985129607865238665012177127964742869354699472704067675123602579662058610545928088667365181891214600481772215292506356330595406318588585637619335984705339795611153499703661896711516443351501422601347882100329314573213559288036273299034080063341890217364807402667146995214693233316431734879074344583870410711387999642290052923597540702769933636357766809228649548952470010259819385130180973198978762411307995432244967015020854818268636199023310108256645447439499973231372920929721670380807238456474687881499382636494454750879603573971548866978263318210101341354525117843428564681618617160857236159710636368663015442425531479274059782618238408707355890650820147136800937148332516740750795837317687000537271756356997702540047858262643802585715419316917244858124350591446872551122695934588509812625755488833430166894674935148245186255425234347280444866677627838412018650279635442178896538177154087280672588576250402408231103757057124014203783318778890102467452063886360174478648478288018444294782217455339997841960384756141616812639318056370544979169586355739459022370644292359468796356519166523991278080560974066309480513630475638169884179323668253316236959876112287107337974132316801903133399247616171267474769410296976238266100202364406037010230000686026556322253105193286674530492844760029789331597882136147802656409400735145668009324224584018972432892443399644211591359443729417539989030088650673637953720073041586567120183239600535050514134686970578608114232745262635968570663675597262337709318897868290276605892635939074351134865379488782351748788751636943867467646995438303740389931302872482943104181918364476325914594135055857940728775085548127606786744450754887086940266841472324734697240403654031511231575175422331526465793679270859169095178024656738428560958856995153516987507888372330146608019419525345979612323792719625449620271127669732660440906926826513665240396441629459639021622145719972185481129739688636416890106753529363103180271906384571071399366119890858438076187825323570191491580693734640474018717500125669033831368538182209038771960537173664660527997034194799079778307446651961186872661409157722495728225989797663166233902783724372122482555948146657410110878447801471462564102266704239546921107667601790168444979365153930924136675270515747747331797393206552813201933756494151119009131214074575679925312724513490203278285163197889980948538847483298334683705005303125695638757119095815548420206781922512505399035552998167070427056436485932939788316608941554359174836764295306221904811370073432649396061127245898974132999133678486203871913036367357265648596761338876463809164286454153405369067808849007473061757298580381775556623964317179099268902237191316675066624787977805829910966289031788487990045626115943168968154142969569340057781170341231509101037034279362200179164299825877061343429333100444086335455319597868876690289469542150433576627349829288031045390174360405071768312716757191650095372895393419489311853102224580540629209302960384186686284170794586783453067918775852459297040102121156003120625667038104687862085843509500655859756857912316974393674636575808515871425284824964812046490628491575025018972720794247037145554488858353375511937792380895820026574936816121377638161705242422425239212320191720496880533630395912536139917929300970522996818178983397853742324657039854678768202667978603169246977454869995828299371240666L,
53487968745545074025559105285208288787461114189215633722340999089160736701508849315464980522283878108979599463104248774852253745121420979007477221092712787291628845007069889474535128307885863869534871080829428952440947200510162142753416372194006152817128892729873439273436669379677252558360495744350936155822660751377789754243872644362154233368104249838382652502593783990243720460797985071856275250401737462296279452940567035293339332100017963964669234938516330364092962583159606725288126370449613442782233576229420671546071287505512612035726753686795131526149947359987082799957762555315911824071442459293104867408974191265830251780070514002102295310726757418385875070073044367411219755152711241875880601002794678449046666283582669030495558250597645265076598507172759564738728007221323607427700189270078159721028247161034615730678241275615626263643750771236924277449820307073724282096723524295817783872805705728049609173655526265724283382551888589398567888524972043246992934805280276250153528624551847713442866330862336612594029655679991639496802407335034326375629911303420571749929348663687489443127650447092496095336359593028820033131885043291846687679561246003704417331144290353721564510064969505106525980925387537976957912388363498231047319156276618356603385183789286029209251579521715541797132436452981803305130789102877865722869309263652422988443255073217479333503732940519718312926578561518479459427503329697725138097712953472566803732120136311750242213741543011961478575775776781542540631776430732966480700899533568720803306183636080765569312332231249879144132393044343040956094140371919636782603325666645836954548804476934250670068784283068759175048864174759010549503945887012078754072214927335372353124589027571400655825955173856381871942907147713543821500282938797009320138591903375761819530436072487243926534339355118798555369411840887299986739897670233292737836605818095256472125896220701676057482636616176511375563720491284059739439672881822088524135967378871983110991451183155097988600143037669844501762985977065529652003455067165059369728390935920424314921346115936401389777709025118762859829947355683231100144916117925458332757183008027315772559024651128088294998106481878841852851830166150037397077029215743782327548550001261519913741185253612617098718844226510478111776580147021385740265064457308419640960277189834634022388769577078122680665495897409112480024977113572152247435620215053093712764417856701451774384339864513973801721573654651485541115510300431367086705706224835397720391418859985788483881617770453233746410959381633132336595892217420055395906906813842503561402864819005167765237718254777811854905671299614165982268576325072208736020283029441030728029522076559052351047612742252327448435317318821038968541888150187183674918870569426942967673301986435599739982454989593305391948522286039882107985131901372320205706922692756982554895935472338421890572043050168988636597386029349212349243852344277835170665568405726799828697952040427738832127237982416565515882369058830423905215129785342537562283984840975873873432045967285899338729236812727243741860055159844373078409746344228518191377125807791437511355683206565657261616818784468928106552376496154672914693339602680335958516599437872459877077183140962276233871036500572350535247651236767001861870477288894509975142194201527111584836537933660312656087055080605243099269944319690321959356817932006699545472709163673245494673817741281873183988874072220137985792359303199244727247293491637229865774391957238671236793342169767032311042999731437601214297233067289375419483889741405583842702365671955451439888946424569702178937361083130366665345367659612392139559021768702846232137927853246289626435557166919522299808934626627279128260540967322063807419280708607659518794841935110515429499095392421311122997239691715133937245946562604975461741186535944461859177108890908509795890952243361208146917622112157872055260240838783052968022939782225931388161860234718698797021750198314953110006167357066448500927585823306056927746162916838651950773247312463868601484853221072419064689955064408762771489461515622948448205181352959735874089279253127732733469470540996247587238635437536744268444425324524541365684906305411007998128708397448315351309303385319047204315536645126600446304023754288087442232176898907000967509320355043013921949068588987263618308581075633756791291087362004051944229517582269838348031473415452611841885960937510409631935464478691800443305680147632928897378629355056607555067744866015098595430950214470466847335458398494690397372368312152691859976634484864642748458866369245455508097637773977772879375228208568705718563890553497547881297562285309334993928244645706477338087239005416153544225343131723756348377217294602896370958964164910551853961904770351503807983995546791233170538575607213253134523093585737860740831939349926186507542369619556498740748982461192258121138017067922688982857856211087724845145229420945638825899466639006445823685653182844668667107799079094251971495868664526505872955072757941634736442653951435757949008857697952854635004125706999648529996052962947681128563692680957165218446731750373521351872390146109106263595866393435400330670134189846265696446986202050063630826636717851535592449986404256883972227844395365655501968737247434218773065504480649732621375382381695682090491844100537031441397066081668771212557677651832076403041427555093451621489873692491300698054696097834544675196108953572555268825979972730148674629143033705866625858815536414569469399737763485038135517095218936316121576705989948811581042485433903170748697104234949510395225755176383974075615145910422621413128499951112603717126864099097311527746775225012918995976497306985876972693763107766229880209227541694980711550826750560499701178573595389480998852048108137732361549436220442361386463061858265480951355220124561645085013672527020762058022654818885723292218831915062867753430998544057280383754093836329534948125623044442023978800419363549285247798324343899895438043547883755175125946359825028609258896132528556850403568463978299806623107285577818282323848846669195990487460854196364512849368420512871262425994589952677288238972960381807685306310042458446629537085499480076635684425469400579988827625229548841451766208715140307605861468631394845957925434594833796439537352021086421083544364175553310241068448387485373709851936092186896010561361978203514309785033386939212104478400490009898226353742779395025786080089839896942973006871710266506818775576654498333064385916643504802328144176060223L,
82246703373930405054916094567140149272258807807043919616883652440946800950144112254051478261345346287108201903052118265251667352264412579283673941869519529261977246789984537740539559966815364674753032344976652103830382901995604078779812147428085234230232479018964672225267978759684326117152447508294824396132054249761028227438117005838211292444221149841241783299387268028551745998869604336817949380213774218700321920731844009089734247280519714751902717787017050883994194926618979387075719672264256605938305142696538897475715836644871431337004136066930652879600365676856420414704166261450690413636805333752971234972771245964287724587441625624151926381464669439147880583333049944196367746978210138109964376136458262754487947842097360703859039383851171860615735764880934811178611047151164211193865348340009948630317795644601167430097539470385575197449117020934063004377985771266991766208884954760524299720974967705410251567683335936571822069204890760103217288777911361559474501346474849889637638741325583864498366588149699921160840939265034786382160778210702440180305691686701597162271776451023598661176255447917324402374692569540580891644244592065331683134568751132646953841327376200002683686278583574611329959872531173487634072839828892357953261541871352531825281639848670462066042604434893370295672039055126258703041941745771410016414452400285660267833661951163788642375858319862004932010213560381967124174133160878258003172639238765268072103508517304614661987607140763268071683964805614956093661586582520967764304084396473238719072771401477354314702420738133026321769075976543321874341687848562649883921303719445866286104087376387513473776303486878817716852372965548677831786878175149652709102263338207749884761579984072004050863529648406492534986902338489987139483413604098727783591982909363904761576806012297353728746910023043423342351698746640744333088486162126270844675536823566949246894959542346092624212460655745127694436313835904534775914527603039288956353641321845773633053773550085735409122949443907057213218477392839324091311031599626860849063368144623507845335869668370694520367355098511442523102421026569318993262053924829970639421990453097269507451658229514959968785202908484518581341723460608772437640710529997320580739216993379178628915247726919221412514857495785670904598606441587197257074213627902694244730117639901676856472743214899713852368223398952363979211247518881607945203620194565830905803695728782106777988376735786851373192724973246141290495342522918916301870935770477641096885256775208099597251312791174163764799589507380424705608664735704859640803717668221436705915890025028263301328958119290862775467146923467684089027122968164763040596509969329510350677278139009606931322689457890490440960670177487923965503851864366028283906964136969689539350185205271703865377760709914554276823381082851314222777762428343960011116556741693862932521306522358223165754839233924759075615615138514389733245884588539716288202742467505525820372797036103160638965785960752389976449307719476685376260054759271737849023597745638526521964287903063333890158722565797230927888160672589390482447069294637933586949578685701142785256075477126673135897618325477254006586152526897109623110146270769336219819873826219484163294110905534657948116623880425789894678008401962235520992298271275023754172576485913406721563160675565297994867621667310305840762932063285544464534909149537120787717177928860313675436383576309457390254168571546807887594283167943379541620630143797173163274164750684443126268435542394312740759600243117241417957296102983326238085232050631779094055396777066587419404060174396378808772614945587770461000083333515920207951601942104025646756212888892456904569806756368716886445811627795594248688956458172886880277548576938408013269053981538072561335968266089464906387375192480718107747686250024272910332625846213624133993509165426088146016507014365635591417845596231383899381415278138729263843518192594490914837802395457907420972806367089029580614827629734566971018980044232894521165837750259175803545918021687448429330049207086966113489401907532672917392426688693118382497134856981441849848850176898094269806057669046602518251105634508256356615079954165556344768558606649017842859309370710804260819007156735632898393095961707931996822147463410106551177271919041031580829964541799682191507870426294505270613949233714104239707920910926317891695445096926249341496603909500771083697763714159913528456918922118933965474785716510034103965730838365088375895309975997781680145209776330169873581601069499247358534339691673229922078127154691766180084096321207291873722695298188465393994927442998244879691645520823212703443094744095831154689756229680185110551005576810983082386983147099289153819876552995923499027194829387621420571197507382158480963692889250712799552270911010543336181198419779959657128938908122102052612377403830647572747070309876167479296763872487221619538107618318077402573570222510827369826777004632354709127697281747398236897844024380171184518611812358564253067042487447492308672839203336407103515956718565053971000168667468267173912002963016639619120846374705340557140984260746709547922575986824476612898315836039565702989658148040005914571770893623066376050290714808164172203056842479911650603994971386508939215766066573080233966368925403252136258254850469758309955942066936672962204883060144019654498939251029562189892708806306234828361773902861719858899604035091730660167943774318526387542273543381158054451153692730536978567465128397513145259001199582020508020133074807088798020405614466819808836611890340142503149643603590931520347227269288485679916275981083531668557971704211237909536949592322989575761627021909440164159000759494071233732606374277334769959373539454376245200477580352193283234118367960860172240644788403603513530067529692410596914540223195693487952811164822079615817176533179017753370193650385480086536757572147254135878041952752797218011300508289338856893390902794830421074539297027461505685713942075414141814354665211586835078184624169964557565555870683837765151617723327179335654051627314051017956389751700056067468876220173660088384782958428347118751431784205140557737588588111546635591289501861370626162344844921620066978140882115120076396072310352270435784612849522604765278726980461452167901909895067616138834992472037197964928455665851207075538164179165443985377996176061139918126583226667970110523382669348739975830357794646989335947850399986157557658266569549223861485580237944495119879921979163744075151947734205122951779983191L,
126455621494236132441315073203488020734083673642849570054605476363081302730934833483562962751272292337108145707903426271704342795236802359997322943163003909753253011416367536316180463644080789181159645457469532817834696766755506127879110717699835352419970293720050841802402960176905016778507052374717402731258307451183522374910754298173306966839250991688449580998853346587649049584647735503132033533514408020303288991922376848971679302547122918124542193988895021768381977260570544765760867994662906719435804479099039390778323903358627612351271159532929145967959663884634280514137423006848247719610898975531745093402345872457688779669632125733446506212341750679172583524570446184841819264827745647059517896773229031903642316179287638544753785715707106834779656117063005767109589806880653464479722802312965819900717740138518284298186221840891604978651799645278810311610996134744895078040675453500177845138065923596904658845290834103307169006092335085321397601959283499128373824610509913932418856981361000431718225728519541838668002375648730575715359164157572209493889969083975468401345508729890235544233768146722256910811137219471036890665893467550623823286249821692109143774218693676880049936570096190625038970407251720946481824270432803174733055128979126969496788691965453151088148686408933974490195720689123991711353046187421615213909896113075193214557662165270510778465620760573583173546020268760245346886475840842796746651436688326507641019492011222611140139152325409778537733643259186082312191914159064868579226815177753768571406547150514896437227117842234512411666722168806093625842800946329718082738976327691178332218155570781872556095776749202676179270432667225509677237870787016888394833168081336353362777365799035507180849312775814804970250195730740160376496492420463750517726567428140089939122737496384477331408716415177078516422092891484815583969450053340058593776885487916708920813922300792012269153978440910590713242472484037866908888108013931387796563072782827460012127583663831023125018616927302271752409603503900833011527736674144124076331697879155574363671887254901047076230514288068855783135622704991612923625031045011660755872666009455666885152958520532873317613741956411625763300510858307189395466447037504939199240122132913995253786844584831825106455993608723719754110616188584865417723762525451320211529680310665721265064989135653134396088084798722051294045420884666995350963979246324361660607863041319068529737124166368578210846770986453728346433523858127635753060486096060277616235635840133775047990702378560044414684645561408716200757346995942404844232753130166797192315690476655431845480901253925608673546926972752775495837721960404978912001398113499992997619315547903676093251567972176425260447332375228299250961142312864856394367731243038123877457843627321907148789662174373511492060564612506532218421801434312092440678463071528701239157859697485137490377232452048953385465358047376661014997788990471489568531979641379688225997753200222113853163110859132244155148327816130306964281993591932561980964480194451105190611790581044576771967945359970005756336902483020795060413963700730544504469253019967421342631694378825772687771712429451872659828844785056828019736717295811784549309992250878807679907396630910211338517647072117802573091428689360259458564142520689361335774418193599231816351278139205847055762231733421662171398932915874132971983800308498992383287130263519395821600660110926189227122347236563463407909130357829520180024793354893493117400081741770333490872652225455092022110695054771990458802148805552575274492783424940530918109459536734531099565009628226259793439062062951138052128727306585232285366985829066203443156609449913062245613355111331894206056840771814446496376352221299321980779313077692836879978245752191256643777406590037732541712541323648523205977051756280863645622363382057066725707691233146690147071797393043680357105090782383027633245075747639410235666297237552579685734125708219346822248015961680355501366654422474582845690578657485669179716887269347644982487725357760893652890227804697728898732716529729823944258880784946923624150102745767957344268424234790350339063096863790067669852936009765094537733607567183201937927833484505468944954604009284533183010960604614435304371352217247630610731836244584358253999694925254623197911137122650609435721568386397737317727509277217679707168275123512371946822513363080329903044075784949589698166125871646292648776551972361046662557812209586746412850658674026804371812663665571178645299611281090720615536010813930628730716914287603573153666379424694532768207373359730951721219408853752759149125281525533137785595539672976480163669248745501957308539336153983323548622980877708468910205252823691396042404027631528897613865527076541354672357475468769489990013582642678663485171794718593638832675551850066036273003414051709019700341300653009824861550405026783447255065522667846218661205795957620836892404031583195691881648289270842355570650546276624985302227371605227241879966372180057840456754332447538439449973537802012261738353228425375122434038351345399177087614492973942928534865032928498695518305750081531969753319261103037812543344345839628206178032802719870846033150503118460941458868269228804665443411572598814061466794837151507147341467933820537384954558896709743105831382360848887375916225489683391126376952242094356931975283639493683195469781439453206567872675557236584116349748698475958572172295334081898868386164469089229220179986663843195843565926056985491090845479974038854785332052336799681499374622844131860415547476512635168908757206166167935429996140548397781115256163698757545504421676837080185946799706216032222797746781360045535222604807001959651605435164950102658892672168304406181926667336155493985675527751159410974667273017415813291568914179004266805624460199503410515284225198400217600732610877041956849735933426592696001430365012261194374924664124558595933779745988124286354336490928757273889390760962530574128095097577279718185108881569195595220829568748613382132128449113664755664067940868642546590020807306995367960380365061909007694641370972229213103663565209101252651636039115334860162378269131472289502755962906807385213103882770343761936549491554820896115405922519595232697986732070039601345587756830801886959645808388784464569585169394367577916479391146458149978655354531400978646342768347389983784084602004819079280346820191241077000003803014774107934758670071499162223113055126613304788193069413947029898979576928233909964366256265907615515533193058945721L,
194408410090967723819712213953692930806164753132861666637142166518454076705085416725998643827348987431654850786924207880926175860639933209541196510347025340292716457566299342347250062695039034439073325219967194387534917027790033465972007974411308082450624873121521883931693578309117768984888790533507422776950776070446451576217680203728683469807660861630620758020877168120729876319463746015184072576601825263423825163451534733058318512439140480629728504627519028841647635561430621049321951561305214111562977806443904805138072183091184866230369154693536399776523139633686876906128261347081808644434624556030211504013439329960177019813063822449023038202550059817160418539191913109836456581629199891624309515891911764369761618344861562137813645925751169541644796326866508682542956850687819106851150855251379399609957277020833871339920017717315716911812255608700761222395917200972497331528252866296024167126873139501535401245722733375544736574748013937631018307090416070076733228896022271494858840641977475749859863981825292491771181823853002195209012151831784491485045406559412918933764850451432721239402202959235963443215801225534395338876649830562143815143700072123310358754400395295331073399030769828154672797504320028986898372580639755957576999845178364692065577879908326590236568180258890411497851286819660238132519452683255147491213216572292468831769029559789679552629578198957707081637861098215716838707783740556713211312042097648126166136837526222862229268234584031896067295314672209116540440775799591629654322798948521711783999853207757054201481197084930827493198714705595867498099388694813573264281480632325827315929518065184308443775016074939040470693199844983774925482112644745550011870907044516998034381710352823903573531889667266198339273071800009128334178803378306719940773216775321139605729415674406456001483772178502492967676261649419135437147529820422640152028270466701558744905193943303297339072643015195317831565987157952628639646747637997888810145731314965710692900274013969353008359994836297383076056185116205934012660265036675879338194113070000477980649490796663773845535305381233880940838088682884243968147049661709313972568454939134120135118226337712731581004292008526540411488601952195467779296395362916780714465213216923730456490802336053473692980144408100551147854973475197295717163909533706944722773810616517150775616772141317071784366418822468315633074780301077031382822710984052840590122939056308986830469860158517928327446656158964232503145582535335679717806168875640912108412137614526400679874808012753187737203227345524125710864748423242610818007807127503365914506346224063565522793083982890024575863803125652514817114758262311453042813670946498577397862256741076274277909086985407831445308006765873747377193282411788272560718585235503673717912351827750212160235830383330680666821354511856218335797139222736457730011619372790136099905996688632918427228400363141745239925036251048557119309152834266243420407916158325005186472317850672956587550610668559733221602103493257696097624454097959749622394467054799604373364063525030071681908234125683243138201975439623610934336978021654487365707057383209240613093874648963848332653902477494237511916365825838994687993092177650012724280840648605822369400095790630358301958508431499821452920013497043253591921780530345245542674243758879844576342376362774069666475616564718796420527172919179427026087044536542201239764577571641642730603715349480830258833792438796930366073861329135493444710146906978033865962596601343310812649511820951765627616824216360561738937063508368917018379123604536067731020769437520298136268258345128082149597388782723243008488191558976998143843967301866143551568231859067116059770182289344051355622927317653629571520187101027063697545527023465588414441881304836498713596734353412332290723081847094487138307198085568330151738741300028143730797851129416704200422469166833886802282257890594491328002449628840477681184817555696459464101566042318677018771532049591464113651413078822744892122993112165253027202117632139450457202767801376642046507949473310931847844704206991938369220058764483461852981714380097592745050167026227519332941770172936482086108349791819996653439702223986776117970580626051705555019721844221510102203867356687379649262500104931101281774251284408562331561619028626295159305568062861399807451396889551154148284340613690876323645934813926065092510272049146727553784582452829699764503347824757725113486950138287498109807290891781866144948397486748664748947782935518633898520247729478096576748909792987203199472107976357973391891282156554555713247091267942174152627878868471498830891588201731984777417896809893693800368240816560946350018732617861966623139682990902551724355657264421656647332284538040180558249160401099624635878933073985158847086635076759638798028402580456943786087051965976309008715257312947456060965043533704935235182162908928767419059147920564433829881175030178142841787069745770880069632353549261074459717261402121663362904496786042975420701707110651569441433262002803796642056689527314365422683548027042756902977345348428805065285441091985128004463985015887715868885190708830227925136250308160828231721463492702802786737490625891610535761596033251178333045085117273835570432682681411934389843827130210789776258197447767989574490860383494111570191951489792946227477301970202890094795697357726361095686376187067001259842357256575172574372277269851764060179859990537502829661478151676635717258504477598046421972666246893397426228094770738479781666742562925353465498899124596283569919938552866362092784433546414031870071473912691389136876022248227304255112852612057926693529252974326677407880149813856579843282568106484114916782104685694082361638752536406699826849497927204202158989484923150865112544889489203273625535137487366057580720572988275966852079431270030053053475261504906675352673754438238305734430909157778670796994907016315572389223231441097354167652602716134361025032324354950164514478940242706442706154893022721725465871596680019401015435352389645565221456193467503817673671549112199159998601806771529629718658827221217378972543271841492268571599425506412368075489513627336248997849469189089518870703757221086639784719688852284788969713876817240667104183083893803778418348106738386139305392167338027488598035793383695503208902171382099785199624668940272006419493619022670502709047592505730984153567221176369673560905641673457757241626580260348997753026462773229593671852211137235607699438234851450171723578297457783357293715713005214952640060170888L,
298847236737828384604941915036184195484354623027718117015766122634069035039804814229046559295059626951217700546083860566890334619002998264164412317468876094112901195739492069469643719457279930815696719117411162183638516363927161529000144925935100775342052933894094249685321141352463972929762160453938677937533562897674638581361446366972477627529426341362894666701569140983563969028962123544584325525449918095914173324367498284596308574305214584943706913960749688167291260147322033837953242068390265905811588091959591997744509354271265902308936394472876413912063643666446139471864675450266804357188273408452796683580489840853871484356962825906651603159730210873410470301098707600327231040118042641403638367873784741386247208654267596485005935513485411792775440428279550236085060806128845539204073851427255445710754368757406264602425214940906728144030641850058901934311285614675907015652384756495684399642054764952108777217431419949755927549793856829070649115369749221048742310963773530531423153535267121249807396392243485690886626685680468019506699699775921903305642760459021512367801580585466386196130671643227120453804011433944498488748864450902456544022703881084545349985418280511749375905860368215107753674198896254880368239606037501013488085939442919872157500638408369245230201209716620687208378403490351836796672497493199836540687406013242857145820174608038336869922019912838821249520594389746824594301856691466254229170745435000009766075023081112123790209637319432381232758703712615744866951878086244494923833976925643621834726244520447122535952194751950302995720595645007462605093400879076720707841839764778323119553261175352884262278507186547155380925670638588810819320993109575025586926775643190781809350648507780832077684859285634442000007321513126237020779575269464976405666745529114067175107459754211751573205400990504130496744508802408893575827197541503883732385942744191188612459639844140444963769156092346786277871872820587832574476295832783734916728041861914229989516917054374603613591500267535911676322196109198667673505989973537774223985916997628424715133070287821288487255961424492738025540657047883769013951678243207508510642996101941174527014342587653100830715558974259620949719917175566806726038797097790811481536431520360733731124167131306296540522395389438383076296354837789063377321520127383324064348566977634845068916262191662806393633196262721093116636943577339944103937462650572526708189251926798474226668626576023026437368614024055374816394508431425441817733991021035034197127631635128726592998923091886025534474950421364868696216029919174885343185756756636412748281909762626688968971519176609327991274895492072655329640596181902654535947298090097172857515220468887397961112504406481582945033046170983813681062054916696104588589577228037519068662386873299001172872670070425538827915763071178631244338846533976519787090777297183964554833994613589550722724928422242779759831568109788677514818149002617252418183680521961104806118443948050418182955522412091326476778601318913598703172192704021203224765120654768503399335313918476479393385421267733353711183555410546505038785392624463273607828601110163500954689723504513199482260498055272620421560273405327126270884905970199513453013942476503853225518088898815441748569805938265219676893440961481144293298955729474024344614145707442560261179600214728150818609120903304331122291842040218120869821131205046081723669293819693677879157779922518148411214275537838993975230799889958534159753010903601732824682011844418806042277978226549779415642805013800150752476889210743662408334925316784854042083875274123144339621395135368223072818361455764451563007660215088712248945220485949849667195701817985402813180723513027883563502615445945056716823399210062143958959278835830579095359206823703437248201669919433924908135110050429891007531247391806472771899208294363961051914304095726894885747013993951116221847528415778782707400761940067930000020302577559339612524427502319488175755514832530711383758893446602721403654336923503170357949124224635016704226593607567683552922901604136789623117071591855161553021988910748911979105776930026043790383203471012309634962414132451195152426114222950456395122854918325237448522601862580540428516103657023770082739101470324389450248396038768339969591050981903147558654366267150210908707228324873405525406320410678963222066418845491694573562054800108612310989494979146565133958413951931400720881186531894694668951682600033519227564274460192867050714566785395299096248765234983251687450912404210090015764465493009699820231493942232740653159512887315284332432135405120933977158035673119173458670521215095077481770396186517241584918302309482298090922996230548814861029429713200581431680455726189418315904466145898067369294546901298498836440199791482209618487995420990931088105387376019007975579068030798996711546016359697573424633459447864076172183409752070840145136310181718926582040676765704301036590249239282109049744808292686110288577984999386289420823234382342140096347418406337747574615658794810687348237295643419573699032193422588793432153466189229624652965069132188607776547981887575235623079868747631629198026502052961725268669709655271609737409404439395509721926797222441992201325595314298892179824888808104729123521551496905860933539993063669846227506814308689879677419374626323511933575886573051610559787691432358636078137891040203684507535494406549491436355037577041915337661257393637705528848388401064327805397530132423934554158039053498258326936911989177727785449617890147023859285431770248866303531117281370459594149314196209270333868512889654110101992429532587494083488260692728340621412763224111033820627868595871541037982289106041458174506217689634620162760807335055777797923596370058696196040120243089303992687789988982699729773404877260247997573074944578489663667821786105848804278060759621728716030721763946468067660380550883926496042629825063953007879083552963433110901658875032596989680624479875358344646230349685883880469417373152822640934186611564278087683429097454898597307636779554498686463157956568233677469877617265838064266785626699726843004249605394991321055174494488672232868169324785937064244405251768699683312288213729003294852756959158783876700225927628877538877789061363972993519819601068417405944914510402192136400678405974863973311185657133591429365294280930641373428762110444417636037403326909315243624722757910461119145371171537501960341440130828724575575036059607730837543422664854869682505306414931817482605382532374255176399584654952947279291718394L,
459346856635966428479877149023772206877405599933910518176273988049772562778285563927450419215512534346610556109933261950414032813823682053146683878931319891291822927323375680260898622583787381413379675344743047845564774909960915754221437020282974742804821323600761582432902413425043479763815884513130208638878522024058794594530726671040819643049532610501561083498524176115573019682138732224084928457162825622659533282412494755338549660076846322024954887642536987891306912187664723854123249827457966443100608422735116676605892054317851727591134899997556726204797958074970854366504685321503804579851519447777837330025119661932455484756783204426459643201997598310751828619510326883035997234199009390733466432094980357530074200274417002274679899755217710368011382141202388865531009506304647586795793886702310473213046535448790689649610275222226374488505213464050798138619051347245640957770566908838416149539265745436585397126240666430713384178388438800196129965796836695829732588816079959326346505800148030149247738639824076674854368161659065559462001351810442006618801599419967433183365825072693590344483339591704330633032039506038947638234882478359201300817412026630561011472803837588923031362325008049985980148679551668329719991822762646356342715494231567872953818129927836205580451413061763192815207992624823118024200530936097250970114001428280254485120798303718326814390306092056951154222005011928438508118243018431938726465050189783166976540513553548496319389336328463655632040977369652174606599952633372419355794664072061547079408567087568556894020984772543415676115861122576657645530108325343901910902923919561962009311209318941162691446307257673960362987721431900351429934036252814754226901211955323772849086636310691711179323729958896764556397576899197676887702226623102492886668483842727947472335376802285054027672999505971340291597486461405676197728182176037506409833519909152338743922697537053983312844709392087245938619244416194376271206864141114866894042819009759760775566810555608996101117728661520602838957462130817197402208322025865865634909517912405425251064394691417543780027674133184306624662810504732838070838497506675882650125156208497537429687220496671951293427584229580500020216579059971227617762387354807564132156167440604379551104509695293408012195604470715513377441113656879280691212386489833549571081538770576967020274448369735125977013021912281303046430823465855015352093066545923389096995218401850286171946724481372300899575793654157867045574347900157719263670431191611922079447371364656755949722215768535635111888338771297144929401631021854667245803027214909703075665636613208008448123833481985818723974780017711580186495614345552281332089891500188587639612675685389113726823201193082776081795410857220456658028812726371630127046779389057963261107446790203309707788706440446751143052864476282716451485991469921291624870589319772880449422482966191093908413250386576307568715531581842290474681941901878556012828033952264396745436330383780642734019782470538717591975722200632935408598056439898625541163892946839737606023722703536676818540491092418185951029336376076930930805013587703025822732853977790684772243018760677440752136708713078555247026510696196590763999206694053005923271911450481733677126469427884626363016007349442946348900890904636180411310638728382615757566586451715330192240088193623078866692426966571687921402756327344285823298107418171349000394161813868646977498263743201171685786844434268205644971589933439578493539924860267076555016011698465042195803270230084859577770994040654856116271194120895840077716455188130089365059304280948075727372835828840000316792519639829765639011981736596392733435763588302196229498820876845387662578300169920371601532313884562589652254800880290289354276920338360580312215610860082494182110482682860628528129039341769119657158309171212879272303062241920169389950803765226997734692860177639194692038190528644054464246391760599044074461320018985911235148309442008417020061946551948055456745975408001304174610246410395912096221496423160209838121624168216919354071192959344560537058082613096577823134081478422724242411512280711225481855365294203612859281241988463914108448055247992786695757420579608685102685900126530215314912695857180665333071397757295552434311148334556133568976123311225473325515920370027762335428405526032214157317908144338290364062604251070290608810405643838887398675569353893014704445266895018587134974967283492051647994878325356854722311224446559477539774609697126306362862030357064584157409880296909805230986039778435635980890806157179173867296801881208060647864977390862051015661359248373250187412462067299900279380030747096724995944077070881440194647920748662599047243709168883493321649145674278641467382110747441814783626770119062344310425942137707805524445089507719041706040096458202266040024998488470115757278116632194414648366989370803398553257337373895645253116342772606443166590946567876096315385432804490848050424844327300520115837081205863404976989493340496537251435359871033512584705738322517302896598728166809695374993270009594228426277617851398741134531150934938093198820787826795389961536041974228630105503958295120584178930865580323502271950998195513464060379291149073876240303978638482149082980028220018383698524212048766327663624776205691694339051073596592489488337723669877117208347681252048608626240069614556390080687808055198109351844609814452598987860505482034812843425257046018758547133866943068251301597872284979389760078042520086831642133799436607956409031262664471471038799581224062700808893554436156128434538682678262970828308002170197441717228184770086573088049780225765348731679442786755375160948736981411891918652801090261427123812375052736100633083190909870005138203237977914987381975577813702055915073228860867117518338025562540128426529164780804858352208757240491277047357213142711371350629696843039231679680580067331652490634099823376759640180074256669366557407544838753631662371842176973221951177099556481864056603103298012907262770163808436268520795121759282695709642741089293378701131285491054174878402304300926181473471484459731320989984998308723216693391922011962509695313475678130191009542246383811383600739152317477414096060691344034348353577356349372593751411913625603450593224011828862313451317741184608559820131777290561342193717379952353242133259773761759619262450514981857405293005613019568883868572496691532344548155652877845031671065201558925977272915732587015176522853542168289198801431179127350758911387761654157452580236840587246912493324539632L,
705975422185522330580802831428268463059532912152289959790132287410132189222878081011822569936137451495262483749916809295202072597900738538298801888952157579083696470415134757444678278115143464412545827642399640427905020615971725738023399892007096634792458829400747061608438803537938205449559904934603909700876495726421284054427852718415802412769916858475428057093439232065074928036974410805080042934535691404551489838442626311643430492457165037835751542442278850825305548084296892395907748648243855535742095591043141303020507215386495835397837871762607606440816698268245376497283116930998874405770319155961018597542635810840654998982985354567469831022905763606002514911598633786429467902472868716581960584629153787009478960452054498130256436988342127785428928250362911773525635429299537206305807705038096463883504796834353598805308935343583534319124144672965351947833205428342010894869201930601747167429759254551751028806755446562130221152394022235316872121868448941948375491412362937147158143874955430229803512201495308302913933409248030882707835645699836948737751598295381558112640419412129688883948978383583404504752592917010508014334093696621275650582250626180376448281344012957663796707726256275940524504655981958414333246663537556032679714181620115464255180024962580779787741377197570304768084393556306260667188962403963851230206801912079420885336460355258290369371479930046616068536584528560011829938872534064524911087324661100461918270174509825596033117507572765299190302270853539406622749021916344686982491959001052689819122874945019805704513914231866395648849272939614986691303311971916998297852615647451674829544168059121422218898885609109763489076982168867539506755209375713260204928684841256038984090718725207868813523816610206021735419286787505822356492551383303186884093651027440509153292043652382188310055377608114787157900820914600822840270733853520595360564970951953455639590454245311492477215617961910809546738936893229180625358484558575748777715335729349602212642446752489310626438181414485208321722460934721539281016175897729866997296540952572232017795801349039783690403578902046540911444201870231545608728784687682667059695455029666219978097205047193763671075312255845336702544065969444608615082074366173477327700372539685278388443020910723960431451055480603581824163251424019854350571500636794042239932467290388617911768719323525429462680093657253175917445633719153321804348516162419226816926612016136806902722273316087095437999302536969183261601362087708745444226863096506887611183859474474951304092057506300483456797562047750648257755271515594910400713094390573249695508604015419973176330766123537636040798691309312345876730861153000411713365976997712325488844584646836594358453554568739048416627603237592640104182150001400457189232377349212252328804262395623381301818836822738415241183828059687404032360761689819445704495933109594592828210942225360441673968406900913304852456805241136964485798201393034424516060509849608487707316241949915144816093728849122405672325321674444112677657201436700637447090469353949435982039208464950920790952528314522199068833487388335672663450067303814553591523268743909783223105297357870995633611725064552144040580244718714435993564008973192411898629915082839487766107986324172272896697273664740113607611232768041899254932167742699802440786590801876256114386843663011594476700899954454146032188069297923189085138192654022743652722634103411803329970894565211389425126154728970247144095914950872934416845584202321212229546142569068223199720649709361380556684571665584652905796202715293615591644439839902441114493320205918355965433624695043044820408210890898490537194769086004889653651194077770721991516743600633451082398523826607376583046014894422476301447892631395635289879766860767788939391308488294434762486679476498257799801190196597003188494498006683643035751850308792194415088966363780914902024869240993474527944674469579289541864779896719997649412629903219974249897901490563528451558961681995986639105590082723155397821382452125784245403707712313089430885868402305961659015070292596033081410869455950319865535495672369532456395020184695782268607228600407280713196803489775806174776086272256229550711372472024760320514233219104700299726379047853465562498733556918962414640542251594609655533774728135444173540766596633641858817620207962933729293260370298630444472464104757042548345752499460299459456949210814846875977452374874719542089997709872040670421874597428987100242505950925155206802546124600199091971538201767134648193537662829805206206419301875470486230879136699782823768266708818099887825095535010680826628408450556490042730838698320216771580768798448600573544326684747319927997052647389585063350147485366796197625242551236367476673180032116505004524554567895701793681264787533184834975944071943386172635777458587306882812887152631792899584839865854078827376855039451815342663471953783231709761853578191514860491146984809794624309954573140246451820384990285935894102494581404394597918320471294659245145808671017192745994020593998501694635735309648805643310992331012813963754748620037883810440346804570012655897337924221015286071606340210672344995625698566295846142076633185628160940554516470673168820508500436990545276750274114518851127214773208861169535784912056046173866319790979582785687142980050162370632352836652970177738496923322376661554403034375932057496706387159228694667808219489398277140368235724126713056229799216467977601020183288061977014915682525484574782753372892329726459593427472949934689643678169401646000494520125841594033173236085676402963432979249416755930324628858965267690370763655107253096718747220830206630845862227871980856917928045374045261847053047869250930935865262009154410697830635723276982939220676701273547216765990444570735269194402279803125800765854865701443758305601865931007207245112671792510005370680754905050200386637450113498881595887741436021472504751446041537479130481947396290353772437124514790915647813375524781694317060977095511621328660085734783149628807358912428536097009088365603704114604490185596949344864832094114888589800649582917489485401873509521278734396225255559365162823818318836146033837596056550556084069854156060544271352473550948272351315207699106568798633027368240122567525067618686128739654522590747601096460682695734936100748993436135877187202981595409979145241940755570276255515304840171444767128435483360701242427045579135283475555396049459012086320806743879355744862716789731205339132829155512927958196577818348024293549960297406792379070327472664081651L,
1084915125377384541191839139537527539532062310644885013377337327289490990131268163845674052935113882907154803274357780142820109384169431383792460416193771873223058456165630544056712840019256764092213273528502075732719273818727700986307614877905351877852386753942285001861674354573562067241789900690202419277287190432082009564608102007056440329046046727416934878028634504204974042011988194403479327547476507133284305749046230121308480094635996831255542164888500121010337429758751538959188889586455155862823027049649598744841091062564986713686303997492973313653041637184906019992444095072910048971250007448522266811745586128641537957767549063940732014381249546266240703183303191945955580563595505787622044464921103421790252575667402564592594455091529564123455130908783189852148527372382438811915575059041052802606185632448097539532238183098590926688208401750632443407773518363447018363276644969781897671803768206564428138113872258194414695289126765496016241706148177243225443849659829659753374850690356601611977825392838992043538711884935632893384928212765333781731314149120470612652286175390902637140251675461659101285595890400967874085972750268280298054224409351783546687775601490375816341678598977807282499624800351688524562719493433070041797523661095870294038063229646065366108386154940999287167376160585364475974276307403199935672107900019822934438320416610893885782923975746543428629218214787549474998940352224871699954858384314187476753129016297939914634447316597966724745659149665227910106390125046305361155212972185149843067837732084920604552377923188000254372379596011793089531100464882814309660719433097384777329126182500071340300172751984348988253004605966689719870309899127166436033880784657737787565526412779273114757024069500615139802623931195388843772572030701203846075492321633538287269678063568295710556306696130914686455933040866473507713563714446989088026321309277141870033471204978858941304907895145350966280205853710335733094394170279786362990756147962133889557810534441230257906762141570047890849755705036252664827367162214541359158198356180108156804511300868695157195112375137542231201673611630540091417065937671529496190215137220031360529354249655014125280076589166286251489560560136489623629249665438193875146947737588754770684797375750595546105514593190464980133229528413024067297370175317708630018301481253140447471511316117439193412196928715393740585722891858934409666547914038946823991992820124813305622213672359299194474307872613404551207106767389789481761130455395086871620752832289959746972060938012611893763267926414923273680824835824708734049561528787510799290255376897594712662489503813445001597513167830450628227227572749089828847302858443210982576036286032723489829653089291007886566368213353379000551250493037638691660923012235376760289229083137449774651773314815989492694243394043767583723200540563430891970700142217715675885061986435405526807508759771932869785527579726248690825521405826237007425694196405845115756777672210857838589231517119659395200910006704704537141534600582905116501940389281310349547398488596841587420784147454306409064735319472966164344985990736464704383002279560438255859314854785242683161851500980304584990349264669826913918749143339609004234868274133612906749449302685296985934176718699642136611279072413206544670057458651820233650490018228351488624891376313157139116598665316682174961459749215814337346015833005272597105526271427118459848431825810635808227892529544293516535225604159275540845825503062825306486898749576175164209785952985925815480164103518405879812000836778845963015162459736763093387332984388505433131627994064784427117032718606260981547695347291542357041852368247943953260613442569313763151185467915489267314672514525976125671773849239861789553048113514145938800547531509822560675080601297170861217460136077362412306662556392229393836148409028331901687744970722992906292282942838284693566149043896599779373052721097611002659638967016744703748194818572008550109454111268057183371650775624468943839108675503638686530968751140395523701900628932435650992270430024998909036690643346817699484791622753436153092070525354500897965904476640089176525293185654037462445956425516329230332760482333221930589020487789398328908296974121775384354315486414340472503334756457414111136023602860211568398239281566888985785216978165254944347303278279135930930506925000329100961348043294837209961572053852293736890065862521402648059558254697234262096778989122832701255787778901060749942499961503495387968111435380568282752351339389745138121219266663590253189655582546386879759509377474758523825774492786258084701202541525207597934370078082515874164828333827493042088967004337392093149334576722725601717477073613909498235113325021426496358565372345289395675898488515749636264498363179286493027801445474808479076998339114270668515859773450791919007547633820244350746808627372184251218358598963090088132691860385987066448832654575756690126903069373192324854018131169015128117171721853974264076681550527760315876317891366414521850802224544226396047145204351050240062954771205158616221122383967050313128047796330341743962999409996768884099098825877705582413493960495733823174246829762364929396878217001322594574222523835835877020964252682505466983831824232717148777283477197701308529119908023461098457355224413720518759286868605498170626615966151431862881189874956256042649067347846275012991493830591497989762316802555507094327649704368037447865565408252633632740548888113021635923689262949963643975439073984090751810529901998591288182138287996298589588840673890449558167491190769599514613092990728241812658025266539860807378974632661830778067398421639440988337524162076844008510173217380589158058453467693155955225144879935566165348372566497093720964338543151012099324876320125802767625263222610358422510756091706861992298048145203797648677808709578339465616274481009215272389685623084149845861203614417107776564609680795347888822690009102704025707581990948114155665218251130833650082477612266271658442945325837015298147861248565812373649299043131572241960742691403184083843588911914198925237606773575841385496003933199106486995527672549985264065759717663141360264756395003463256078866359337957588878193038980748539100707515438892976697421218212728778750717200993929321172019659624757041527978796549114422051548603686525758563950030327476864865127837822954007141098598287707652452697183174347986264320157810572219053857491432328898562539759049625189144389468306764565310886451550407843598961020297760223452842701077149878393139281230L,
1667091033878171096673375148535910836073161621066476489503796372093169617979353220849148780507745726055856896181051605639783917375743997011391150180779432386214926625108450208242433718782454348218637722470289673654981017750226165876601370045389060542404364322504758257140051992697989868751815389850870350923978730092760766797418396126232772612708184668851527284380318487347292095773492460091065324665210463973421041545779031003342560921325262320514948787625668136600210825077997334257909005518880494120594393162268390371511021139994995937615871246736128154659212260873095527744406820432264855123779018440868441351510157171864989282202751075327331406692042310268434214210514021388231494057768931440647394436342747342307670359613818395612678951809482290508661504956604559686854658843893105753498557860110915973913040462990662419417281111362455509089512005384798760575170833997251736994912748076377196856262119913386526501170826184577171756313972049033757362315933524547257137580205572863535254656785122000833684582249649665756591165956008110348482385716361285007454891252573336183095438795962703872270823406174819096724651191136792618164412390601398952354297575643966723842401348198225033741986461204756819779062030199295869674300924723011504906494920955962115314016000756355832049617227744877847375962926796786128261255813367725715843225196146282605572519964843799960732498640218469187328941818168751482870597199161845738513682219346813939753923594695402955189399211713427455149471046719492026770385352082309886357414802759554237200363683020612367450137872178894572349522789203021606642588581674804543946020963170334778983773578312448847134224340159875578301184431209751840938445905777626956730553030899722376624409127077565866664587240129192680484833643783692040796069353742030092466918936116065193200360766580352295119527600965276041702277691250534316286435088853267274447015209211408371073609020518380179149802948397459114904074448991731783135979385881061285447627382315519696678526633925423048113002604398495869918536185288653160640790972948681044096861983056522741852322678889835418557359685911887354694301844403894165340811325445210459922123335843731466964028360238302666380297449554459946342065305794330855048664981904908264122723626879033666139696500198279799111525478358135387195270765733328148952953111438984000384153638175660516377173904129055263189700086226295415167866966436440383137499289979663370197393143340602148766138546119377067802259231253780232064417353322192039516748190505089418973158011082823707802322463715784547126268409934753978956562287011121704048939379143611129931878958780797533825965022879457032417406531308175145563920594111658489150590647329112942905783400181791987109242195596420037125256173101523401398531087635438377368674288302344445586081716941933827571020642101438633413871076573466660326124173061685168069922523549332308679208676074420695993919370009852720651520414949397824476684179131872947684789956948605865912252507505116052690728888279553875556435311426406225762106969429424394318093910042444458693517288474161654542051404665173560391895939820948622187382108133916345968167706229190751901329064875897005639684060893219338603792905997707528036795678345890588754003921750041174422894996471232993434720434743076280108026757900735288660256999263972415411259769765789667976625824851066659434957350712498344756337126775357140315387016771538588811270241510631347814359733411814197320927945878457626500892415184342520377688286729604635033288550192260650731066674036004445877149915629381795368815596128723069865423138778609816292482959054367944910247687010765494257578012369618783625378823913474747171949133708755605660192010265823871271597484816292226455863960419477721852947018720999458397643277274484893480650295462251385262338490459842450112634411788956868402744317466327544864641638192547322644668766796750140154982343814485824228075662643269179023080504104019161813627582500216453070564644139231956001046931055807785181724026498987955464594700454788073317512700773998699392848272369467623121588077859142702460505470972010592965485498716266634712534705219463240129257758705103345192905077335217564915727838163692782434811790828049255939792991419984156544295462035847472513526274171712510394235215083569843073655079929085104227036860759926208937346170928380119901163741863130058049652100848381015722294478777334416042564059464422314405552918655002273593412872356818835256764050593594492446260936152418417495607592527290089154223425868674262836794391327919962142137709797938277305742430399700170507479587216917672470584153262446897045173398280957248439855060998081021404562551845020506538055473333693741778269855569408257286060274392510667250317784944493122041847844134992857133609967869160560417272357232307922490375192525201870693264043134821052075670868390414122285515076503539680953234690602346242087627003952129085989757130615867783466052513814855463762831405789611932882625500278967903200071515013495172983286282218440401032126931398571084015181200838783652875701045175257453936165972392962622601303323836530634204168363577225593270190449344398374493704820696972970048121309345661650661103974996515374673364165385851299464211280518500206985319062545937998113491108751127328263039515484781272065978749047369095843778978473723453747774900711673119094610385017935529049609983652524898490442177038726281671579494624990513961648715425982824451778097580965550992150424402020558772044036425505389340254087386175781640772485856657607842529872942117112196638614024011124815253353772500017458527854542253136537554729633621832724214515750596715305004496055856975291209134915706525770050300730854864642703138445673613967073397119168201191126306145466230080184055679342984594242794842763583924315948513268698072892732547939855209256718751110681283412269650842923226542929734425973941200709526103878101781643145474294343736732343139566468092950400853257819255594973674381133342497087407319387934051287491611339812919874860493852587631427810079685133721222919695545024348170610827460723220426121646354968809813936976511636130329978241430334733415216754568781171300315750791568689953833700445929292158561958448879865019608266103581194822763214904756444508833263513528571204008484928125859975766643824844317866640086140095665823572430730553715504668990482979106792336388142121294913234482114106476830272669905961012956412159558493124959377003136204938654418566760834816718213699361610231647727071717629459285739091719917010575143184473262935386324361458202324052L,
2561416822680899216499247641762449379180795493125933432397438415815757630166447315383219535402116134327269484823537497282512826308733880172486550972160695817424725734311668488685336481717218456826234819290593694005927816965676648482517615522870523540754058309352876471707819424521819288396000252276097959348881079692153542101112939817656726781497998822096777321994551873453104196486391196154279633441428354297584232227470251150021850958556411027290417023782996321439285983971283746414342534600607833384205171388665700984553974937575699594986146591414177082492577306155348860947204182546473832547005912860964148314230243530286473934946878873086634708487935812488116754346419590431895819351353713309820679890698812440780116456129827745045090666473000524084882017198113636628092039339693696751224754464536598256498045730875021974630019062860417668775279071129078779328419749632529953364863004826964848753575358262693951716420379597239803162026338283429819828827008991054582410260415395298714805636526989023724927437761490856136056173996834202200610631383450661061281926499048047470867822954544129934748137624989868729299709501334054013399429236164102354441635077539938507083824346366903123618578978862043835894259574037397773917411682579815230097421710825999508569001625015523175096807376041726377573739858769415373915755235859014103900859102423908892202916864974417997433131971262359955408212957328035677789130547842108006434669426606948576557917370649183265650824462831337316794670808405654881416570182118050144367527768146966860046756824268322940966230075228637220270753144721307206856744586685092711983278553646754663159259280584747745660186129765462940967463876020045321989332064710371589692580355325226478994899257598808073503169971913115337142943928113242011154423725781361603052844545708313968173532881884865631779545771713201644123551672490129907252513144549964217236285215586788172819824853955173285152183873346376255186231702324494102425985879257922421587280773688741282967893232698749365575398987037717995649762123901232837706555795848632819088849722808022124201978439677412478286752846007494206858052512546424805001454679453084448394812343177644313699339789736564387635600644535890706650638037124364914307191346068748443392693812387773351279157195768638144521990563173931235999912806224737939464600867371587186119626874556813008579255963106407032098799637632771098097956533026226324775108997984698792283707174564408349073827537923984182694593380985190665088007496757791362926950375722572409417289068519551411116675268874108582655766660403794063453300444353342121151744888578752632781809361968552187618778056639726874888933902307810758568416474805257649481156775089904562988817246662776929872834213524859702387025513267761358139904787989091354620521363677617193155481238853722873921580637641551952279201523570040289636283937892641548740192068758713672384588249220319421835942486231826323245742397311067461874064058396491404919915637748658791150373052474361353616251980663604480931957188787152570694080903576219090767060423006722731485472660001710820169364161390452610095707268719976963819807439754279756223485171881970281277702784991424562726070893700636992646871144518259063158042407648965683182458409813979457473568009641353535772996975384550596513482440897794238603567816007219216820126512303546860996914551859178659168626886728846992748985540144947351251386409434244325141206733386412926947035761472275830214785556493768340275665353165207567884431545487615163972405994774787241355180656205461014786541497957757062327071876519493361465714342299102485567591090493452901103715860054023648650356573263518638603096107146705303435229796226025020592812461672968468733933139388096660426464899785665901082058663516418384555948970037777989035804781354851243691057059663715658785511154310037713958038526339519623886870508690828318128521395474305925072373925259335897276540245265561556806613478895289728548475087725269715624599983180784953740908482221740809189065999114562010258501233362708145232098087421493321804029443287208166048481608701422237988584820581029544171975259303362214258023526525015097896311764940437226526969861976690481406512371616182253362117851686393599602839441770856274982900693806439229016298590216206509731497992748543280599065392246324870576786658144839119776806240493727016632778811221864156882017818954650864057733517562432462617439562049318400415534712990735406824425366391034310967943161463619986172751689273462346246169464509122196987768379759848191543473283544944621095971637260606152096047924380192260782338663477065518789556240431859437432911502110166582555327535660953502585014196897949115495262334003365392991965605764911115689767538147476463339983521489185334991160519245621149481789139666738305685478126737636517541546152587953309339983709815771834563415271869588008826433082543014995396550067306384286673757345117571900195525808746640707922710691298000923788718966172164885618037081049057402677588581028617432166172997037501583257280216051254384636895028390795579683308500533763080930717698086398361216562679803421307783730422321365580732857372682479958123520472656409783287599241029308196357039012570533560084919443165147265878010180755431618696542647545751174467207146846740730452759345385117012527382072671970450462038365065217075630448667579880910349425609528576654926305735254017865086065473598219191049802765932534934917527247372753614397983453029680415679637298540930845910462781190746372430530750685532097240289163738859812935807879561575655501100831594088654919215514975905542004970049113034896874498247502363541086257986525817302850760162850281683121330218999161711091672189699985186388058121292473974394339093443365450406552357486454787877718671811223088094984844613594989186372231352566166748637036910915027245021250494547316210262624428175138039728731963863972081242420063916073614925539320601404668765826657994332747484357746813132412316791307242427553564218791316011544221340758949913686043225569103674250600763572856386981300783166435749718823730079558469587894553097645195552536338851626763544663229987089789111626868881550460835991784841757816046855756464240695806252816564200928881075013619762873202125027602147163269456891339768703785057928178739776274247437947033032246777159501051575030789444817416536974591370686540534777449921332796992296216209314837199782082448410082765530582848239341158530780861798292332820455517264315524570080413438810857781320197961570596266015680255150084161880624268574708578053628004944158188002716208L,
3935125700798796952740336676999794785289090574991597057074034862959897693318430522753953598448146201132043403999988130799181509338790155965353261007161916091213646130017660963715996179353196549361440329590730448844997616555156705446135259522909906836900741337502362607310216100321723230347579311543948743813295863097081078692178088228841333025098866367824388736814294901003323301381693694534349324931819010405701471985223753260296951301591217255127237078479775868723707598016237369769981476446489270906673148624820106217993567078203072247621400951568389804110406400296637508893716859423860108634097147763911940511269607209484299161218704466837353565910660179036302859185626439305065550243566756586437258943114723571613920435214730282547867778244677658730722784003227035627773521131308517900409114702542819220582079043011415774834875906291749229580824517027498255750908689757739926748492617398216040172943543552466222528888505740017791683324853003143414595126428551146194658005194639495735244216454622548163724545222791718737691134920755191266515524118348103875612858523754290392440291095741499787781963789923849816449995848329669339460010225146405855325161190056510690101932135604232112690609595976318897082814191082624660394005959061785699897629237826545142989815600663057248075607799384879989837742716971134708152134551773186701703496808236025322129018106707706842092883410706165410759433360331466646147633284635152205580287093170160478597188212856888585825226895195610960742496843683980853045187891958193044541905387773154781437913506492776507349082779922951127699820827239854235566411167438862070727014623581584653386308728168059399797635202857680355396864028816076805731324264523197475803623898600684351241449451880127878869622637547314163636363826830869130552432167702624519698838043953491663539705335862639659151883989111994501480992249353201037611734078144808464909883761000087750000788033633883818591492139575074690943778128399982975991880973861032749951548329675256123837538674017638301831020641826661558466535871176327107325172301226735065795011500093162654875387159888353928514318216425804968994586936562024471635273166422764636064720817340789511949273350428086202843349970896782395085952880167964287610443811228735649329527136184321285242209291934956783880476450945662025763877900458978260834014854553614354907726034129798654842069134350445586856293379992732079170062211898709308583870946913924841520937987142461144182168861447694131250184368232439200136765085014958112647121619911578394742659657629224405784023857624983726609018780170399401669025264320475649097631376631327598963527552448111392785635032016156924157504680199128868789667747383053063220013687657699770486726744917329101083555491190008248556867957773709124651880462535577075592049061851102478599582406747873794493538099596357580301393806784970720268474180147824977468046436435590661857041562406987111288891380832122295337844698946054819036746182205127194034301307384372803815849306153395647968792430207747805534203919013463294356892913441884315149065941817304897514931400696788765197981269672795052626453251173680085594449976375149134601715773616400753888695349170007926430926085840619959031082059126537659326097238202166585826090087688957605917702108654450082123453529219356936132911052997855637191579081665192412936145984820859021035519828421483885024459404004534073630968362418886883533713845966139433972431801225228059972562869403571429236334998992233525519085935668303205786719154206092720281074135332847601948300250585165098555373051074144136092922805867814676253134687851057537857294778951690346305101024173610746545950775348602914751986410139214962085497570508833537385192376390629580221959346124436246178928409463064175864946964809559486654142539378835710052942498780205130537494669199329288775167190351815700425385310013620842642998666850648972794135141452682383256957700387428619484144774239539613850367066636024065018749980324011960099500612311769118469639250939402948474166466947302675304327319804208416177629934812203549967657669438406522242742553669151339727253969680456935535190195086912770418008241963290906832101672124144958966023792552350790539663942523326585609438600464092606988684953727182857063437319138253333676224833459751543331012214864676707200812927597082471880890424771701053084795072769877851637660617265474632086442787790571817620995444428145006592865157297617319131628617535043918799241656455253860749608781655188247842717194488798233994821245280234190097083462720731169002810452790199452559178932007053315419667200543256056857772375699386816371586112897524999870139897533242793925528641850284111786611474129301898685562290129411765431160539442414554869148167781562697412743064217119785070339020301810630236015612764372283724670983128059875584952527531471291241903382256152714228605286680697391408381577458602817951692056135938961831335191208685237178261734086489689436159395896593245875694630095843180339195334441362339107707070433231556498418529835526394926583881999510705732297168715070139501220215574729575379663314467819937272855925582866821479199085680218604328856854381764085513235335623802648245798610054033914144129036078058649729210193742474586347283854400707591727904100234123793189775829472782507638234456814516478624834508198877179420574800161105333483677067850134563821236922973005173501795794288824700377479966685091673783224321088629544589671151214495971180800341585517546942382060475412246725866954673083776366827477534335674671632483929471089105636284779298971915288691477569849467514231081677253804779463937240976438195931923717258565839177395638239801732464634435596126195354493823388751348145381714987766488620334466636221160394584961684356839498153255925348312723034017318876030737340698243267884855794485816313578752820451173833483896487725219784071973802648015051799682044335642718872858808791679153614736516789187006862809776578229226224226722184941602064387806995773091780991114444600057916559006559519572555873133224560382081420099770367336334474914796676620170027631835340158707136203522387536523000074482060166050586725786190497014317140026872177329984552405221499284555713498060754012201671665367922678473957724954562713823792173428948645773210262182524378621661357325320985652539370188736078907051806286236473485138116008262748955013884467897851456840139488338177154637654348731579474253219644212616043273103330124626981478289997227767838184843959168348391223277312986648762832939490337065448490525232946562157863973196168402139484129093890684070089L,
6044973379281555685359472308612498488803716178023768368385365462667023412926688673090252858112009143915381213356456302720859331881445236959370068496729295997142774445050898133268094442353277543550260240487273008455510909722443881301310108679594666405634296577912900297294572822945035081417196597699549657873452176871615421803471164860403309459628109569527235103536384027439913784293706644769218942712881746346695885253247178868523177316668663441610257957529048201226113092199775383006880434403821111041167025278751813163552643275671780630133284807847508636250064969224446447033479545362542732833435771521342604912608028385588693922651413887998744268630881837691142289480061421952582950767613224336770791230142588030556044418254672339086533060982956763669453672376655579363150942555280978202710078361441192718506425759749569200574457287071303998061679164203915076938404502757082916932256736403260852841797578919882957354562976684476799669610864096277880970148559610793369013526258723303327138058534569851631423625981111226695597681123694905504069919741997579721684622621966388995566344389716255216512253380372601808990470143576130437648338563210842036198283108661750535150669816091416755843531862488293840754684346928951929859176963041061645094051182139172783508162271104951930588156049693691224097319387781023410687761944089161975430515203236672734259977649007352544199441226483306143240166295891705171300464453581224384537861582462926446007983822903652102479764327096465472418486507804566765411271868985357704606128295486454914463174939367934451174326735368181296508923562320967747708521935397418147356712961968261410706764661962832215965106141554187426528066822211914539925493773180719546479362712125048608189022590210702977316571978802687425544319662234519794099290594847045204597152285627968273118088232951512814567363383910215470067243717271204627720509485970568648004663338746376856471385964255552108107922398908597970891021533179447400655983749301436863268358739284580466842138932711532207348387414738800110194529689171475674598885131834407941757388943538080996905196728157099091121874114108970075904592590321869537819956565095998202161227105154870736997986976105477334072523834855365936089967846932103242014628257514820242384524253269942075325643660042408595371423619249360489782419959990751419189841186453988352524401243906692348323215380111743857396007301432283125897510949197316412724868060609342449567919826791591389610242982742229102403631381774751041490530279070078344977048002098614772166209303962517204752906375382052338591428246371465395808197825307353283604790689280362446920805954903735401265492800447211771833872188289843947206599318708573911697035231118093204495054235022663975479088357161744899780661600532370160807369403045381703214964848280097495824192789133203152792818757592156695854779336745163128836555475148513465459711595471369716947891027010818341069747471715122816461866809155502721165224128555937364309848087724613152874079273441689807198419749285905054149370644451839332594295994928936717631016878908910887213681406723212892079568435850860930938589862044851084426196127832345763872956129223466953332634118864795467431435394213544408165524541470744474731642821427978621283771188129112404872455318054861900041057452080566740643706796645545984403525908904183360835940262495288815585991806782376572567421865281576545294338614817012318094192472365482523679015852807994613687637750181097478819020486851268751641311465703037023774520388094169922641769067942817337961766796116917118852367795735114762579677860921608309552887163272929912911234244470086926285185869035381856365650525926059907618761809789822549432541640734083345272590672047519820107927491163850974145375945883268468614522407023536544154240859422754373643296326527285695597418225036240725741185243574479420464174165772021037078488966447431851708529232680189878613492577819250172877760664836929684080392172547974289737630930641178937928650605254336422382967892117857495160888698184545384728513604456548240944682056176475016110613038228703324890159407856940648406242344175630427285876127602929757579063611995228181544111118350471141463806732042480948065357736436982510578900312785944358969545101721142266949847246907946257245118643093747544698012172295997309788461606755347913684425756894429100149752961405231694088555460951458715799562084591905302724975826339206169916941106742145616251753592731312428971324642214087164958587898807130552179264315742278741180643910327546595357396487862195075762098955303379466551899338189690288352847300330286135575836576233343956072352569468865881032775627695253781581225431489097879510762212003376413426582778886396898137296660300871439074865704230108750603465379129111787759842516891162694234904560026042533305346475766081734635674498307896603919353376808215428889891068743730169612599126229842174277670803359478253805498424818457170227652819149965941213090868160802116700102554012036794187699042144167878887528235112608468553340424288147294550288314181282288777536211375775416259261504296138461873819463043698566276031884720780484145867438596548487995264962584318144211791733038585571443285624549124040412609561254017122495234908027515058898201750725761644742574784311067707419459071504168152294035439616512450067822861123111636787265729189945762253863628855279977493377887640798534119220673774978579764560210286017802289067086299923458839181936881609825109970640843212662545953400216847949675914868860818649602641357842457427418562172179547430781675880998717898471212782158275913347362931071048460848632223004530657466702573887314944671377081150335522938256105149504452273108929634673090959032937489413224466256566635246825161270860931394025068192820536623919529578156310767090522300464706666580793031478901322713905654365765918252176858492143589983961355150081250412781741542967979780605295401239603649610054835290859401817614376301825080702755262767677083917124710140474104428175241556417744546978928720320144879726944025532211145444091136758051729859114682461119095008378309500815153588791975610692099737670403881637576005087623448909034384204039338905731487719522292211253775965914040853389295924754012345615286922467697345926768969023241149082372746566714907268463667532484001035941738178730227378263631850936892545755876142210373145048033782199318804315886198358042590651478645832755283958645097389936779935348226505043666667797147058151131498244295611747622549493113755884965405947746297760100832821909069070580226165148076806813357936926371036508883606120L,
9285122263608845395794484127370849667338156596165596778164326798513082992593600643570914307531026362667444589611445760121361727343902770096266483577940328794898202804512513613267469569155638144231957640692065461334413206458790453839294215191891032723865819097449515481667417799581979477056879150012653358581108111346920271853573980608303417857604173613745678886273725736326815671376434612606407003833903114593258930849026553610582152875251577366578900780961122838968205533463467862461782880989302663247826153686496962565652165766753691771967631493316700251307965625173082787900030839423728129637706132433217203038304347062634808091836707616317785253156343921008733696989510537986442308944828499251438255458468661145846751564017412797832766115332708289797829079389773905233366244274901912157428368756473323713758068098835224685577642309570919154837137386813758694999870727600319073971015508422670807347941879525446514733684082740681079008390476534178010034089170581723182450660020054342771095340313167714520399022088141207823599315915365734950304538896327407984410043105397632050650922195527504186397494091024851593561902864649862788272428729252612375064822714792128312959870284922424407372971574366106080632891925948468061833251585009579171339095264588494842972839191581993390173908408757871548111206601631668712349222847216642957243568834923565008786272929176272875217987832953701478800235806203816656637747099291214781326537845816175907719287150975624717324320243551193010175736478208491295718262133103200903599696518333184255066879163873904734284711814552548033017313593926578750218203353534685465512420562111489344506298701422599218396304045126648418600322623065225494884732919396950850897960081876915752076611189868961344841617802764118791118414679273162007671437649196367938807228905214921173444536662455132802102818493983923142999053893124626636255462495077222720960051156658323209982809691741574486985849158076951746435034795219945951126070852829806062587928151390133034850840770190727958195155506705132993478784970894185671047440545567861395450683116292556915432266432747496328670850180794995021192346974179085551223316174872715072301535805676294845815321339109763453217785911480004554628029672757943613781292754444189391917360574418961648242136798330236375251646858623225296424901491538088589905923180985735762218120707115635605270111631253210521965822237608220919774044936853255955861249934115305746708157217755118558120616974838984942480345563332959486161142207431044504343446974212578071979536527224553202658462103213845080612848338655760392926747237842335569937017535717254639878251149230031425394526634836451346561166784158803204709490829514979389868574412027166250612502965647884517473282240203208482735155987072025874652507608827361886289885310900753034243290422797080805697838908546559958377123901111725449298254788991355852118007289744273083780319154722531045686437422434561876704761559578596205041655274358056506933300127391999892015430299094128268641491009823709756871070176270094642122618168840791217301644453551457566605070077531756664698831848522367738682892009697805694535123250200783752501664233232120568267553181349526697709874500641822495118729330736579628495691909639126657942384237545883940199367743605330164575977739301272888498473837906530623047267724515323175265970039258301586220430504326799879905085633599992826849537937754040118978854212749365111838284246957018378522196263388330647186346407413924274531096451140087099582016628587063669596165138849176665596777067010732642059410242690470338767646000142514698577139490893156165035272610536251346231433272982379558882934808893165086883735208823803788272964448386552502121636621930938554371917365071491420808601996056541667004874913806661296549833492809588329894912223132909450974900930373877665161116869947555666878427120857664495446803873801002133207366106285037811159194052461195526797248465170460230209032981775109220553398568234032001577303409369065112459044493260888074523019881013229362682784541085451796673526300751576289404422567214825178008804740151041701374267579571901880381212942083809064858219649221472136935357508892452331830680974205601022058027015867899550902014561064243805587039260334663424305355209316435221532687729020091768589306353564705893209191524751055607609204830904869285656710121092264036821023703670095547793878200513261278573598966538183070194905249128086162955629784950179764383364428489378388722530433349805026666984126058118032080469286669504253414194232699834420016241622751461417392815614041150009737091238363891136014710616602743243436929780650553983103906001239644564312167363173607181359154523938136445723703640218882193810207561780150481548344483917578415632412378662874195806602320559969731835213539645346837848510383405514331654602144211312279372493864303377529877207705053859047800125778169901130878100832393954346108919837593880315493670253759354957360173204282799209483818819715065448350128326727638998585980488197590716869003317720419306568744726697691608277085162058987426994408498316769042870734138350867851414125440311279668580601096575905473200572417031636372262852642129847409297251575350830322163718269384714172081591928932065660157895747901837125396831112030177710417422907300179519128225398274903018794989785749847437891739801919290293818520219559050027696554662318990361368924196792700715975819894058492771778643169542911948385296810642632652494877768941203740263366386205380370609778641750644466177473166459167921669959958306245732466126246894971363930884257645966316967834285619993952538434946005476405468795404768346945965089224613962732037131239640864706147756990638269472735149370262758962020801390790080449968182233121640447387757570826431918395258468040577541956304022270683025334870862285750561839197243858190402339714755335284478040873803578246353834336045786599143847220376769200297214762860891533105174518459920976749630291648203088288621976178699678357481803156279953025712963553736100676545488068343260381415369408844041158821914399557736844324997405692265072352139689282677058547241148678676962016607240127788698868498593102770194945204723011998141064160963332953224841133200280645687110966748030671148954252955040689596835841988386597535765267356341708930051285726074476664384869503132213602069788069304517411455977907808755910054883209764412729233657223100284022858154608730997421507692440938001111316945873397836355014147445663102950555948708093299884820594129267162099313557391600800873867661497203078364239292854601941649755366928102L,
14260617533668397190636725139551353890753469581586790301391393311630074090437681736315116797520919050984509355589818509822971854815007943803138043428657569093207216257022098464095675628359553676468398846391527252439705874397333308169479587768286858625992384288950379434329714507839595212959178628917450136713111437141423695571367424081595837340677518758149714425235148242450975214660002999405562267572729356504383046096464820643161832248627081988195121398445365102747125247400894003019747370678341405540282290440541710779278403840060475912202742432215340426680527902997244411746876936232765978147734946610468270648937358791118238605537940211926337833930453154390430519394755332967317398902585247383015745285801813754952124820633844955237302685424548319665048834365075908508446516322940540028612799477968197638817966045134516773969909455354417514267223260517329888533266324245447220452395261367219628211381112546455973770814363433195462676500304268635398018308208044966212742773415062173524623140878529082901596256357325894557957328967739444107475042262076644197268415565874249801675926713017806088485022930982567533320125034520758910647703871748123824337532075124801425418565425337412242050142329564495529936214093699443692662375325920738345127209228622186406692684435575354403711982861027148194722803327403050937887194534069855448155209351094500741077108727612878801334794005730985744933947754492611690208220468741049202262998494832028076927035722452937234174177086543791992727752465581190064912292602522921321024158329115250978876682013495227599930125613998894912180721515293936882202887018283644687883835203041010748382434249930921043485891701517847667905005320950206293072255824643903492664637081188651343071951541299974146190715633516318473188453379680645985694323778689365995292949050340243843543870693687723632219940064473532812724429296148266024096314808360283868784530680037429542143345486369075561220597126161482185698197497403783946084817722828090100304082286464878195438563726906584288469017507013683442177387316565941048895654066120343638206386185697486426401614234020599945870294911087283530443366644303720714555564772350230618998030664728257080346768630272021244571958327365016384810701598012312729277524615165562885584647934041572174316495510100838315039839242537526891949130498536660513718266962138153504662732551661857768969369873066837475095426599232601698568833226333190373566900230227934065269125839279650704450380783512106961385931040416039974303460473357324336336358135021875665201429343343072178414033607420378833205714173361791022743067838391396697288451461252655196743325847646341217235735585996251024162215000995134489464384282468076567984625496967269304702572145150294795227578655684857743395703072163644278322321892289701495609493531149099506549592245721006212092729638432947096249157711164796113980390524830648886958847205227722338482240057220345740425996925196001690363800442472465336359855908590290136381417242976998463587471051748306069512228167431968594841797146378783959860592885235001368932360644083562343964005826155216451686832653930902153096361599916515272942882704215011581142588596466428384061324444620990361619044057209983808867584639126932344444615822407285231926025717350159122882681124321367878913571690823533395198205711375179472012065696460874674138950870581198223149457699744026484594125624830076564808794888696210701478729807822604610155648556738763702115044485795701300852291850918571395092713104413260399384568141541691447905723455173212223306847450215133422835977238523802085056286128050348811353351725658935015716857463663949611011148211824723628340585173850713030736651979064479750201651776992589949787412328470684953479450248413227321148503516786537097247824277866530030316716375538395071191192821525066325498542422997550065301067645992578751364710736118024589393550432463957615078773441844317127648805295808717532463960278114405637388114587558917116859479618884359739663466526768654300262058668989016032051157553257680965721818950120535981047140300819294729728337454403702756287851744115268934213025017985388614192699452899518698119123341712598531689996576875118534798827459051308203808124287002606752818063807216408400011294509151786097834391295406657436254819630953538151251930848009313897936139382373704803247471217468920467896882247982087061509653656082754992449866615990565009813683376449877969023328372317134490296499075129208430057328913513236963437836593973276194489441013114826398672816903449535588662645650426693994441366198118831185716628711149343685302489211339040815735671385295263435289779087094093231310347294806168607704788720069299721470732896420234742513613429301477909858257402278348419796870937408452095330311858066385926080497222265092770398377116619960866984433091994055060644600302656428301312967964285391875605782308352675297306302823287002633061336865994815574671610519903227395596731692503204175291221500025849008590520500492411365669983420035473789898326216159783069557895242318820674827098279508082138883285892898531116360802030203680672510618052837685093527449785305716715550559510161258924778618380637301403389306563220594100054646270442328023372688113223216059734285529629527068617086578552726428946981555032630996284612655009201098326297893140378487231421329723111894595232923021375274505077503140021660628991123345423544224201443395336278171224871401285531138402826840200012394574585834429400393277944285474630717593047679580587642073851407825287858743942316775417756077853106421344318928124447837820186871275366136336137129543565725928491187967077489127036633280591691174230013149447168843282718420113715368256983728016068735264748569733881088541124138598761937037388233775168971811047090504298591026845049957890200860700452233343617248123837650079175363356199857197128109100347029611070468420780316189723295534074430981992854784294321896423555726789354962733203926344960569034367046749848088250658259710451835615670543331677991966698086570538400857780215859502848127619162987545574169551020733635749111576204275636250496761708230448026034999202949453306948686008131285977722062620301048670756661978621403283360229766180055824007618986692061223746239029003480420379095580653668243878813258161598947013713363174720226777161220642664267926820019742948870158522011964956742542220206768853111064816566847016331295599349352873544679031249393162499562322103724323036529296379045661031871583637498228741062552084527456139556306876094441395991960402034584540119840140368293993844569568461313174397549225277797L,
21900121777862017199779982583798278500391442900231674479681788043821219885051085461464480980612205444067598163668530485689892326131881491391199433207115841229166287657675393183083163306302138730190802992519575920188918504150934080951404524428045983388900298400433851401764206426609756841029539851511120438537569874106125482337997753294895983762856312478586121002276745399796048343624749908051574004617441582580859315430624055641475026857149651576678056439100191292192941939398329195201740213510345374588112065448842991422054082209091378654673544801309952546711958467059252786179534869798971636530732818138530860853394881082471422742536829950070952218813369506165239689963215400731672701231540572454141841230161078316099343802634814496530960723486375973397770885407445652927671940065914701723143941933312623414802999499291609847383488496408142848413919596720382669280126644601429058035245109071329545879698418868189970014199232903924710131602626843481526627142966437129662067211404369780525660976498096994503730440873183709140187600848698324286891114035977862027407748020490486013583892635920087872170482853807962572708943748917352316869249668509740909062448224927931086036869557179270660805180215762081635386570461284082404866231157589922462731476511575886230340082059185876133845925966036734652399995095881099948290590006012443869730981352301433322356804490927819093577372100999871871239092308263402732587536616725707119784201961469445459276305354098588720152298353054139280183051938705142413096468799693409100700694496399345751892932286354873567939204171132231391813216889841129452478662159344946948332150253461463842343533744957943203499347649065881096208838079528146681950690827489868811865796648176102014116420044734273058416041907632342787716159461725923608328222658875867863119375490366970739361848325118306234090083022701784146919546693552448681928000400954226436812889269512956513061840857653160015926363300801520296205748433126638251299076394911062128866440505268683714800574515268354993044020281511030235534756905289704462480179790090150751283856707743888282714574143817363172928580303627654768538492185180829386641131301087893089790852167468885186599047840985968032151139135772303099422835752898750124939661363574178797519081544303364847625787437672731549691099128273628953812660847507709199983202850126091522131751260369942559451482582885463169761183257867460450519801857914624825655909506121101601556130525843590902213014086219866101801892713157360389512096876162597332119011199479347895812699899844653764025085919006769215493515698138656381959906254131031876607757160379172830110546131808674599330078427412652363058957464254375879389891202240511486875103254792383410895098338906606347449130758895847190287650821424349010415872027765829480249461231223502286047029007386935924147470801825308709701684108816395296600380960365889038394525368753176549337410820591965167761023193797036843978607435123873350497855755976782959357034179087454453494866454320438032809293109371578951252925883034072856526761451332042986018977318019347016476971927636719254411443326426812855696915980490938291216342256028606216500313380391584341027725630972192969903926541435265237568760455481550793265762655158283733473819192781632396401220912404072298321044029616729844992917028816235875104344603609246836773749959060021599873119567169909325962449932459891509919924753719496929013534074792632851527144322719834120055762976679277496290326606754805296076110897564269688172800628921228720290525932680336570088633746386737714606413659830470897721234587012953106303025833601972035945324706687289634177331411476723273666985670134428196440223683952936354912073316180870161263916664600620331865559053765347491569643471566815631252361220431113445075113230058483665893963625265880115708966473816279755325736244180843273483470378485624997420803667687603166305019469163708767771958024385834579147969891665823995882788148330527518323521923590882251787866899919343027078091983108447236176600532357691337135005689462040208794788265965943669488675257213463510182751506421274352246502366011374852646203365408062077476035293191687116874515861110372650744529449399300779620087756624194900689372127492349943021514546692918881728393971141698763285653575158142259699208639945311927085674307167952528651480163779642265936262820175607004355261516579769880465237496345830718875983801979173549321753917734382598743373892396229784993238100926879467882616146104204537583617623665253266215745088466772342890643857236671712613120824161129723794036570720553614462363887343669686265888962336660761225081067455176447920621768773750150545064916582229219533401203398786403548473682456852076889100812687026672201238110240513989519771922344155722686623469873954355024641055778764835047469863673485527337389868371731974327417731541476841157322332827351427389280673596544968153474807157415504651437346085967607589544924723099911083650807384672263682242388047471235520846050694965942851068933480917897596484907235700149240959619359157205070320257282946331128093513525295643236521514082639156705461242937910442183981127763725778230523488524240136873129021953578610701247367386684275080735964279667614051025094592143451547242955229345834933651454633732109989673058455163720219025243401042572227247722780094556157260664498475654300013008108740718598349888390292927885876279530045505258964598682952402550944192913547995608670275503410931237629189288414133103969199854012975046801857365298697008941120117158372660960530602150840265616246296087308701312670935963571536431589974151530476625066192111779083238568824872791120300164721905011927254804109195676279227035437920312620143135153011938916600655745024602826575092901181950848217111843666798633821991191429200910279392552844250771803014656361181816088957854531052494345444576505190404225109936118319988258117930775082417049940455739147739884841472202977950248871409786789627742510341027864638446814634359719300892937191292428491297402538220057195195675350912451979435969446027198032647833453438883812342550088882836221201047755287462970158419043834909177274471642690274607032018004780958026203105631363826956371841585869888017307232430431519454882293280316286974078932633204533576136415211941851052032287848365336089815687186989253405543662492337203816605014577888716565694652068584751134718668536387371799697353002620855337511208543983661311759932031402743000004899905349054956070360048446489322631566738453954264066961698443533098232578428779562867653432487538336904680334664913142860283272646L,
33628867289024275736105740430835098860634926981484076163255492611324672094006519621348270689436073111074786941127908558656044367111212159608579149672024089881176924346305238049060816303277362771192665420509450432904345479486725469785402427169317876998256730482205272458241795293648399928497466530572783478234232841187599642827345708748114982860941531594578322196476957867691389482314354288089584996475832371289489195937116336694992485441174309418941803470143407029599656436378262038092299979698906797164858525956807787028962522849032178633695484187178185654133736645789042040534039753564604750893020115020538629082249341179649034471270348937951889969644203027629039136446524118604373960013064093116887981596759608143246769298045787617038620681181608837909387293323469132433715840099376530481277873680468132525494838166986160603723493512482364912673584733944336641311609584251953479721981386608251069095517787499729766660409088459062132965075090272676577629650567349862224638716027134834530476250744963467425430304154078173394780961250067617259954841716588216805442372644110878470161267846680622891834620266918410009028313243634071437724876141945646292836236574568806067116736328994116997399939329222341929870329938606354870497018522335471414522504713289151654870172089584844344459369675096883505164264317773115394140894223940695362446648213313196816077052728517242738662271093450935353563807560601996485087930450858749586943813712690799394911355823697912394183517219590713070575292542282405636441722388502221618719050212418139410077371237882403460585690782531069790216176923610249234335421382946731621705465051640432325714691505880748085679014647242915765470814843078251835109835609559488079476904109089223119557961070494754510798513869705944909408417689930588664142312396909201541798894006994001848845996353983284435637136041161134827512899903036566031485215896104581091359136044923384177514428008152112175576012847927141184881162526947020825646735414503807999113848728660742521896615895125648855501856054576089574562256540534094278816232678215460003496425987384130029550643840765160256962797074574102809624073326760555404633955016801264253417733562360560917724634201905017554879863135463534190040801843751885246720384204545552856297247562920243015203025314512599738022434893800408657479335389380784195109722720129009394782347791564715835319104903186332141156139671606396623364435204890304291169579512069998224034951954997862352696980767330937097997596699122074653954349828064296369775069273103866066383356222444404470658475227525440221957273533177848876758295614273146855416061430592415108655974426166456353191395003651109181095714293843518302075292167724926295793029969598306376790035741309789886892675312610813652233256357212634648296364101449952990103940007044485326971358705422695821005553110560683353886267214251642369499587895550310713075330990719018650213283372283028608921577704263370767318158534397695537227539733228547183775926263270180449401062047868423751276228684003623926288732382120379611094279803558017112227070080999938001486948617924094539074884445926988305468652732476733759164805826947485022445911295307138472634713792717758501679153853399517771762717001557397050522344054560729559103290182084973395681793075941100913849571106811919706614809726613619121347863494861565278256124819463191034015516631533933284237170750514516322861934218355667386757770011777138533042918529988477978303926884326035487269182210119908370889477886688708282511529294283637730972660188721924328571791445540407823952330951731429660595731337637497489716862826729548733727568117337568084509646510903240903145954040455651837308294324564296309792031026224214560755043028863253742910189715414129030244725454871785203961593711073632793705952844379869903866454211312590434322786154969594740008428076061944462664760914984000999889846365061343136251483301952918969405402698075388653852652488201303938234371246645235361217378411771165472662709500046075816223577046232620864205950352577370266152700668052261986633480231217039491797787871639870546465065254451579524949054461915644283166320459257978261882553648053400611520607326167681968308739931118503160851773263777761076177748696227819417098136198950657720124787375611075015296747416160955171384890917205753198523069793325553862299270999247036046273798848023898569107282299399381947479121847471881585622038359250719542917238237072953938184400741995431583266333508827383416666041792123779578486678377192094393856480715579059563340463768181473894153885568880338661407955823804301995329603541671620931434515119921643451323673608214947231054450443619541119239120510713748063103674401040051094992525392082692508446078610220139828703251767066034288474336199778833843384457017758613730576355265543169162134990278858120749099296753903108181299122397561633514435863442976938365655398820061843356943773599151417089555263614107673256731415618615550256364474336350296462728944451016583534842850307254462017547629568822990865388556757648677976379656069758403528896636493104532891167047299489898146864193494326953272464545798706046520460471724971081913061738383368819177184244847389590411756015234076248210314479163518387043557885208912624488132526295389955675358269920575647805406517220724546796765392488242775544521674317065502979216676199528907362646042022902468306244909271154354626719199631689757449533759638976346706372174592004453680302501984264848882736534930372831851904985169046738976120449324138596081684967450707032340123908546784975266214156797350333630123842835545361640342643349358945020360565463962536590610464973362243149091854949159524831049530570631850907955655318025448397457826774560935839800936957172688256871509815560680604728318807964857100190680037665810996939531286113096082439729115921183854177080284692384015260740937391954489646407603435590604739544168716639517625545184813381857921833603205943384566959144506434679665544484018915302422001950463694676573923443373482537782007237594853056789526587260919101804983708634596847282799808977278634838693880170634355241628296800936661352271128556787618871492564142897538845977029736526584058938866157516223289867390754057400671870449700503130104926507072128212935334068280189618287256072020949443438872745750835495206641546243139328598749893630680072819619493229702776575542196530060716619601636069407234550179859018547917961310221916236496531475314026445554103295499814930875809797980724043073456713603071051813914646784782090205967570176972375825457463080987227364199465722807802663164320156130L,
51633965633609641511472062782223539199869390210939504219671157711722754309363624030049243228130150478703676108761090909992717223014694559948998067296447292865424623746063827335848751662589389701702000644681474488703171065733656111325712439457376418986367767361571587950393899389414551905138451601822819235358486773560522955631518912289376533215733569577303432422713432293817473809737937412726121702139783621604738086210621824337270729780255798136494106137968344062140687929567332934720393303578041620675805457939617424559738099918520436004363822007108541887311464658768983520431829378452627862802511480836596750641069404251022887544355472669126057585080211280184216811872802936702259478808708386513994018909395697247847205921574216288574898182277207221055504575934855611993881073242913579205346246783525519721154810093710713846604188597965627018036271706153236814809934443729505082972480197855541711232462574569233768130566918114041458666518613619883007121826212076952807671103408928269747774406899749121101070929811261247270094367199171611695327740304264722557044049898962370893424401977811294461887882280489345050009576328722130173648607558868786633253200342257131212658995060263320499937244446696076260461708742628445185399107168156286828107718511331743049876732660952774140665573912854159406642144483754677292195222640493166710515347261666082563849066698592487456946423680548495824158442499625263054272973476672790414651039024666147090725402557576474823553903719589832981534827364202589079241333017669577229312175180801944319800570534928686229425078748015149520823007793707893985757429653535835561272981329881204495911874500869577702326814585729141065898941431981105676948483350548613952162631515988714416163772550923660191372777819696676017266198442791331263779435206198665100994555880161548191905616991392191812170249973130078357040789425781247889107860458222579999591250350104104591669081638592354104723044338758944614098179750570979914516921169515970935210831226373708797391557862243855249711444516690076411444624626088161224763014868757706902499111103543462719524570547446884681928010556619755832784077650014896818452286461576023460570345780806097198901437049597867426211657056128001363739743552936834410864988522272833770757263086401929776589863706785523804733175244937968637590558965642013011422209210146795614875199776164285300499680821712736247872968420119130898133204503847254640175681413723834045009683131150363955356967485614643808424617904716901304398301184280632861950930297727534191414606191850059334151071518122931891186938043635916771027846389330728241164907698993685344071357067052305560401801046722709704541529841038532342079559717733698892337374999608466031047475677918484298587916418164500583049287079148896476014105834118919291929553332395315510531624574481420214216902066272046085720428138696613785613034579576338627359338605350816092180515614728427369489708872591962698079971479427870989510067161968497809075078108401036072449975832399772142032695767608281639545145897298167170275462939178307325144714055554817378684675301510042255764204947738841683033469168763665111436402914568869127501113481712489491156558325246575067195497409965060782476344435301940214891529665780189122119353506467441352687098421069012099436952579521068753780838710492004814768180997562858441202682948406549057743868640873070263619385200458620021743538624410766326490461932099184820263785876895804541086664633782977258792039011518163122120871709469281637504808102110635697946320236121273449990425772771496086646929082990844307998463738777454944894020997515331328542367639812559873681471227219445173481823107621173732778045741722379960515206742968787847478188259743465133211552068395920667936444005296113001480430352429477500434720359103022862108736978144480624171352180850589768400536608732076568086078354635588570561038024442820355095796663315569810420096399332130753592215639433427404168886841134727938237378837964759316099810941548081832728809905892885822862553742068730378784557373361664869763657289132012417174505174516173624394785280970327614878384716254414575789000474184548260115938259031132541095326995264804722911131109741196582797777922363010016948900559678728479619443298075357448001624926652437395672739389947553706762671019223521165806445426138165890936691113985567638287926215499306473933262798401213026398774869750992203592423755450652758683949339604645051689986297796335214132822590712554979430631887783767441085281141163347328257091370731464120103868245358352904941474264965723920995780051597354217843258178911840675730863161254673375803540475789352668972583419178441748359976294251103068442567213874301561626972784496425970420666025429014292937372079310376344445694990830137373643732802597480084204769473400153924985678545916703146578066152550503482765716422917776905063924761807392879286345786718444684395654169353378655157759535065964488658890976653780765693057880581596042792795822374351486299446709080497573853681906086871569183345333503423716549923666037688464840328709617219614055581715916802086778045954060123232175973716893157732616166545272415295242228073641102029657488701641512415091893481388305006521546246861483827122890485278198330520984935859828124225025549168084490754529512823932495360863597624407884007565077371004663820917007654065259286467312498726900155248616893879663404458861512976515316788687663372406484721289383858804896488670245994853497283576466156741995691444250282903302294578800723451600180164531677714878653801369150879065569895955820958873827600592621776311604754402196288047074337237993896227430202778783149189133960143909900424534625526882570610653459889575077458239407870651651857851815675397710593413198082491981321246151996956371962204252104910822037954387510446487286434478809852434299310189520168748684902261386976742937898243949748607788996423896540603873353751829500583523349620069144545833786729262136520275295965963392239121794803953645126790761040809118653741991081074879224077036804665570282009964940159093380434262980043296853406883804231947265937574808400404430595514271217411326888159511235927074304344412417458477809709563043127061054370286326121110901674998786928049849474017681925821673299302214004881882765533825496718783906045204333737740001382803668388670449265730033885204881214059219374786318981942628545697329313081028714713369839707516809519992686904294502585702510670117475050941965504186806073438287814017209547975367778972641351733873055021019627599359184283147404250011949919892543533339351389351729662424908L,
79271353974295869892244818617817673200962523451574998555547566354994929224863564340766420758946864033479528102961703770151935665638966034814298571104991368564362101391300226886516466913545330432540294795066629801576384873650841201334812412949164848036608189247461386032318207166133391477946915638697306804253003258886082715579299036913131603843675206191381195662323687666818150090114972049351525566983430020960224862428150969040163962436984399176150765506486217771117580826823561695508195539798630247761231556888048617854004489661589763861929276131114342572391217336758939333747102302672577102482839509461130075361619787986795542905653389232798610001567218758838056465693496959776054842112233820153945513719215232495315838402410721406908315455440209679002366647931797558709234433239813223533564486828407800599720888855897248010877386761512965987996537266589980186193171131197190932227282068553584998931943176039108024035973632734280746988968423877904336550227955964794791249789693675106997708513639116202974088313689532428310892476306411503822673063713259863695666432683019255005879757787851303490954323404150884220733754155772093226809391378950466958967200708488890959433694301096331544493019054948496543886328937826750345201261390036262305096711816474511835556674158802508416665596892024500844691329814761168655394461326141080393103468167004894434065855239537653252672927675529049796581437693458716945695216663442587630874875638924417208506858320570832295014716600058016017451637549360176462019608765310476482110952419476586528972773166918272494258423220711836838528434940351395817816327599224011586572078436012304940746650587711653696194165669254995336569755136513730056096597241856202625286899815415977749879814431992655761401324990815279889316042135129036681426038044281121061469307066970356471496342119369513655022947114949764967448916271697263623388959640490587991713390062217649912585113870392976355338186044983705678282343032772252659658855646755554660596266819849838447283757536956275254303778186986842983210636563472512398796206599059823593294013818220885494482492688212715385233128138728878389360091843033788635766608193971769293551924659396666054255345387436068208582879191920650011880459542288066814340773133792904873058198144643332013240517324855435231813155593040567562857558635350740445764149823134471097356568401183787092999463010601794162406201129328341164565665792300001381362889130407094161681564507923134736678935779966715584707365693299197959239713620120101139459339758636312536307321819006351517574403261221869031960813875853061922707460618473082462845962763540908570975454484833705752153748558089005209374224335130285285965884691249701423946014901921208744543115956557290536888183143893010205691110901501825226598178273739195114582827861970482236071555321670103364685203223710353645056331472976913497818056886628398415317981733906542686553574222190439339401723307625084898611196140262722899635469264979293112053044532972246824210780439071565716252087639263014345845261517170561139379701734824146929887287486072699726982424036665140430342562174108458801307955764044206122003672459737215973271671874328976651538070381562170666965601519101725599429380909642409235763380001549938225251197188275044058677482148527070772714741954890337112727944030784086162463517728777676261813452948594998737996893510296941689288415781223901997891046738399495251239600468573201241813151725337062991708123774407833349004805998718772019825288744771309344865612875208121699696972946679551828087192549927738806358544794749029812858776809194808618360923215071931989326208834911715325066941902663086443077130053050588898946668906662443922551036614450165372983063146177071593752043023931276854458430606048842305415169532326620765901837489127453812156263003443723083782835623534112045489154676091085100928686609050993783395176883513354074497610496855703422186678063923922346420156227734025625935186873028599007516301840474270021988313596491395840038884234419994444121569139790672100964746002673373816258607203098791507175076796288650587642397145800903281884628897236214088055669893091810262385532263512875990651864197601330040657647425240607092885385260445237446760130584159405820534470442279825549622311963149741384932351572902197086001810640247519103544605955439067342755519491482874850901567506311729651416253431388359789369364236068707599617237922584171848150669518133860205492889597307712832729111926290392972921335019896077077397084980966647922022769877268806536602768149518304041560334915455481499227367892720746645859639864892571067425676232724174190651569276887274416274680840577048896165619327314094020032020724380618860650962900075163239033621614871001129756226647086345251084212923723631254360634324660657300386301404189395651853533944456240662645132061420356419842965417150333708372978377167741523412767459159653145127770695527729635641793685265908546804733166903927250557965173905838705940475809300945085050923357976837522780208857803900036608931049604484013007820342482581865372168411962522934870233407313748113324686479262324441308510093540809891677994242664200749021268622319670546443388913051477890998578615824763609180658291834246494010474523643843417029525585899513340065134313903573363946309513796588217207414981606829972460983777976642071827841718172559836797706953528162692776350159328192174308888066912569733028656966124292858569020828744691388002612500798593171557448388325346767277534031368353106658909839839114705839118413000942647504779359214514783650710362328114790686785420229022232449509708492974786969888696968258284063929841115939427791798940408980864023920148539498986829586006218506170577096400158841347590614005234536351088579669595435148515869912579562403421273906358071676484442149269128767144306611823646322180430939147946220919285773477408729387668817241406277949367342468215598366030812998537632996196185061701020037808904784943731987148332660358206531131282882844498085234105523576513926014120938183207080780991681769230147424433029107651492064639898654879572726105143386742264208805293593752936235208284831649252901221581858486016708981110239042579604020850990336309493786475888347088748119354828858585946467935697075113974100585106703139579224980314632506343654511600581922089165869118899562502866621437358111409159387086391703077268662187789101587766212467713135610316035321146259758599895730956420007045359534475870751718849619410666793699833665084030451809987032501525895785038542613965766010777609661724545129743131950100946758855635180171485066751L,
121689930725431807157422911820291467013069601991533040024476018341735316982948861618104653813621422569898128897703422250049032535854538484092231173828399001403523238811164709454571534014162745325665483884605001738758807978021813213659370779423473469574448680914898542736634777290325533894971437177073706886249556504014053435581684694344830392861621165112998888715008367548941402657228775839695733669391871506714442277884640576749585875145779667344479310822219975423688892539604326428426534996759847332333609556924822649715369604553157675759532220135432930273141262542979420556541657790166558802777513614312406345611380479935890991763436387632074144525349487875426079027550604941116424604552504196566178564966674545767452317058424274932101094585985875693528314863658821879583955924838255330307752509101383480081522542145388608802664518452854708682438448991466564839033947490926647418128988619906156798191102834219124421686883021292703253303482326160470455395491568774849666857724012901690512401407888203098555799824003216332626962767275133877110716384989430095801307889479447957600455039461016811685905243718312100086631367231914714810260755740402038818100416298224248106551220204743131498036554900722945518171957524532456537437964077014260585310274319618873141901342983869378703608347300783130303955475112701627107354023765992322494293780118021264328984799647948619583017821609497659006514408135841327067130728542801726291544242466295674222183903166793684861876018752922756449484237445916911777378677421291966727964442183309701430931989115848165294894089778495884797257432884882170849106878613936952903993001497105353152834909101053007138502968912499897928831920507210842320171802151264985881702746285651408422715658468234404992961620904097188736652498208405444373021139495353174762991878942238044764334506493114328980204470600395106129538049426164082054329668123503316599019475715108046268105957204262989978021724662282668423876920566648178226102336644094383246792553531824908573255699632515269573124286415962959717661279908242486495263063915279992892440037896850893117765468337897501988721193382090205852778419345272734949860593241582278842482600680582817641304412368159397701474256012977035032033054337492365865146008836604778341031829530497689117373374833731720509951381075751851955444668484106728845413682511547785836375163423080236742892363950465807325677204462972181211089393030873073250755199045128048179356482771935102690268276257260637641723114725905459996528116853828843154978702546554533197752906621884170666256467385320274504200581360919824397199239036696770405000257817895599410927056765262059579808360600068515819593866547261829465449820470353022016352386926240583759035458024557395818113574888816028557636491650865141481383801836840754542809119962136387004664438825008851861944292309377512052302013752129177256357181196255265449033101588283961044323416252354355649075996955696417696552283289166994234973363796601855795302570792217069727280276830855475539332361905421267557626749274516957947588302589686091266049839927911420062029150750034001103633642593132855561500049473547424373252149997358267039761856322435559084370918622916162115281342379611095988045195695720346288371990942316107983660438012813222483485051242638194390140304078323686253662748898996458088599651772789947024412657237692471630413506065425736998296275478059911678424192545718782918507027098537839391531253310413706783952699768066648787504546913612533738154287329247489555703105519695564199291297189060456262863100329124100249675992489937255898052986764438528841906203648009283768820931548834122072301936963660523236402772182308040914349298427896039925108924407829232630159771662407000067832723508758511987077193007646848007316366646018788470579653535266307334682063249788323935905438519197746073250895070658310890843947761859542293500745034891054813876118722271848141924024297996846860263353109199412307008429440695231452846038389533001462612960037172703759147399285315897867593614570819052837065471169620973230288985777560897884408883846961394482899195201167143483915771783376818543429167388973145005480061534780612773932307318714236571487368371952237553476280343788649569254140759948856558932029976979130241934238318461132368359508491920320008977133156145645650296893967822456647889992929146117606985924379241444387884847393476692588336980588578752263262141737044995084529812672769928313060883272531523446841530268598259450864809535698580504045520211266948079232190831421605750655629327991260940004687694055788175461659726576265197654212656295044862798884023263480975907796728213949652927679805974080949082130998157148952178695847414245335084073026868130816309225084972443515126755674692114347769231501946433853106156200909105194578621230473307521420411411652760748254959944652368539621146459412238903126896388972408880062679309823871219426148407182192139915742110496773210005644387997057124169490532949215040691092079380710458616980968684486299773644279043905657273748944086574893119686357757162089795324811304428024112814162423364061859514842497330229624650710764649884353764991511838291485804828254644809714302876673907101404970540134674755414764838399895971622314079144076066303212891738322089881979971694737537702537140538466448425841069753458206511885405923902230446282196465691085809936987422402201249290529646616377559067646995001085771314077369664550171439224390979373408377277810871022054433890972271829904355276688294286115062162412150936959713293515910514095653880830148346314779321755499895805697169318435994882544028895752572510270312211648855788343752240539971395181880325188899983418173189589698914691392087446108385288838269773435635068422565282645838209830357323473246939291193684068968538753310453926451157676725504448846623902061875815021954792524198084469669928264326908373696913857321688381933016906320743412511525159641032901069871437380131542341707902762510015507033058476740383790669001793536408472999426517813998844392725152264538396679334601945437889270467467441285690485065430374252002761003680089641718479764290471975650549829910557015203960475112108380601480373753904964868261706426854107241308850350628359554088988555876825391084599828651194190260858234819054251601469796578967129622818334939774572056484630429400779668557195357237809218018964108679362451592604058787931505415131538534117028756969743085043517011203158920231857497144202019422762892862933423379749368639625898983366542660656938409087790733744076413416140665216520137176629925010148114645330383735391908566961L,
186788702305931554422888838627227941576614205815269403292352570842832323854210348529405319027821762304106117061148570251731708428738883461985929839401555704425177094727365445264571656214880510906379920232326589683987809851261466128758673553005567892499708961402885593179089894609487227913523932828093789222627035312022855821677697997362146238781543561532897447142985345790323672201898200306156135633774776890919226767880742843488340370727518600989421020363878374222277103094688382487408362998933810609261310287277880145924964395403734947095374693121163654576711846017229279251625112829236907922233289437202212421377557291606052908080143776928866691833595488837060553315550710700715410580949249670456050875120872213570076821355894733248467967925654932262715077889719971722000109981120562251911368757546819900380554942129903865637849947361405393994435677595894899215212082421462598438760499452594122963116756843011432915840682431541817003628127945956767763759546856356880205869131115924510738100841674544252564582807784200710520515197946357308396316123556574548889753007462641110633488244676279718676775916033888139486363326236164423767319462540857213849517695624487807735771919047326664369291376560258638293186635849844229128938185974900074271449221905682050363851592592751135684970748936579718619339817609473104505344643122284570551293006262412991260610336145302311075751887129202584874109523337141773341821976854509142074658520848392125116899131779425126492171221197579611703707353375572028592429437098763206165266315850135317410991555984139293279035163884405541310809527207031747114525135771464056904549817229465919821048425093653053099701226145758504780416295063702036526971643552115003541893257513821518560781862272789193298096088689746924212936672111238916674800608817842769122417726644744437862467310951599231277568759718269755345024173009696830028157253364492745285411307236868276861619964124952326214864221013485211259814669600482068793255372721690779984395752271417921186894530853825914158139051349637385489204705340002452618167539306357089883672793050458345497517219538814311432793129195747457274273728126720771753051537290274417271961665164703480292643247262034304941449309060732367636017443592840329200825986256087143819489964666686924728480476668365462055764865653146746470912122670993369658182750332506702413580916064984203292447174836424077148345159223186350409159061127752191023788850702513207119058608368517506483268330035985523062934658255957274234060292825273087166294632571886115745028847316853173699403059789008977636233266446226519913580004659704063343581181796573699807276144557612560760985275697135366226238664096109010591587590338635851331893893340463330806900185614550121535829550090034471027416953093191969497393528315606055691266801440405687327285235760711027505025133553479329902653402769240830289825462488418672030751486844298246192651917630637301381229196486254706965451794449280479127781994976207755959230593684724757487706550421967721980860451246431506190511257769494110753650035506650571200840656400868518533445083541460789542882935428463029211138724340547928622579796002055059997562298161197403273399638686929007626231568030736961432334468895389547043361401987856725178795854497504648094330254322619279066642989817284400414983722377093886192069032033472584096707222728033337172911952345998478040610898601320191606490442579227265548694175379071986353045930042474994355410866172284704053155490489257031884645429706494724792891428782573581264931794922782737293913300580353190991697589707813993924590002771720656625471363686708469435706426905262647845100681884041924141276922827212859960257899330012315561199061796997506644778748903224542514608655814907588279776118649715808901476069234135759610508716309592488932464180471270831641736237514990404456066710121829401491129957452498348283772653481346898938659104055879028632921684589200867562084178180255838324934282041050037869247104293698690638088677521948381177320692031060519937479188874900419370901737950713798880567569418287102284793605795411715631501581386798924001916772585759098743271528114299938247769223154786897700944231616314026989127838116178960831781630790833138821226631182824773972015609449907141631292048364149446366994469839699262922928654203790716691307227135638289814188879901253342897974634421028862663787243431083575219185273792159663663720112661480933634462251766000352727321196446163394516954597523281451503063212143468642338610297285382069100919978972019856407699168602224770718817985508307149750335090402665683391208092171324194723510630799801016229195874728393565519517521395427119895294436370680723171121928484359570517786668634934283828271868423341354174724359793641954019891495356306107593079848826368682104050191935330103959637202401682496467691425774629346625747270976286570421913200306568325810791665019091492405712417969105906786981847144212934836821695017194703306518869338878491900103910851637241448547644630976203144334218627586411644858629376219142320678940175116573608775977837406600333534513104344618970432489666992774437143527254741032965528445978388302068884339290820466253154870577674545044739593922565613894577772452546667204374743283915754801306033972657320183636738389902033723326372159896118643194790538493824821241692595153932334611572727423337524648749166713497968337859967478943327713596964613520602573203424884232440056367401855896695188158552997685787723506863275981926235107553938311674162517414044710971062065106751489919871433476285997360170034034835971901932574656258251439537751963571684870141381353981798419390733034032872181584721378052834793165868430482224237938955334373440357602115510052158178033271508915914030964654613842207505363270240921848027624479315084738018590498947810069893649053090188890210198333067343106789021142654392938268372689259097386910376066393243505456774885126334726122040067975132290952941740147204843298970019950947695976269224348295261238878953945835703732244576742079040553757848530856713382050128477308049895926424053162502592850362740075251556766019430230843044440217012275770785780736491123146169263197009717953427625900697112657406137267630927324168406490340925610839658834914407024796495586012581447395534856726526750850707959450718781338006686260199415167776585928602425816369739917321752604863239172792814122654326285281744743564020711099728398102895324789929277517697131578516181855113331796409556105063053402638876364006858116080619313579711447332751309980764066245792389669325476880745539354011694049738637965500576L,
286684477950672045662767200058278472069019632090270794229141819198030242128259189037601497813306595695128686365232670965469508050430921420666836452887924669304686525615960761185226198521026282684470946803168547354123300258554843184841733340805878456133931219218802722290934200300780219650901600398134968936515690850849219486681173453741904713651436372330868561547744706009875197806974189409943408140346319728873078819151768976118919496248970100998247582097906601546879487364641630474030251657902341854737127169115257126210907425130005704187956259177766215031139865501822099378285944854159743600657859579532699378427576557529051555362651816821490701525744248398380474674782469049866328830458252613602840033808736387724015998409050370073691806101420336491907768112320600671230594189530131981705014309778319514324474453692858720741030831579533384642853774865314495803086844376967161930741592205488747280215338092890265055379709733774127445155774565058439481124264921227090722318579225153638051042682004799027018626290912305117860935590403463395011540973376719989928056266158735113399832947860653707987644552635885824529760528876147299523245161399066664990099840749212510851017516500169275466824469300595824212985963184125894569952221439946033714265934131595009921841567555965709173202630417432030596418807716712047397875613845024383790674272419365137041900317599934324879987940102269822953789351105160344150108390888938591385639249832239964388715043083380122403598125033180570319767408870651826090166660973226306495543584305724450514472296504251750507873690398454633417648269710638477746110465657001821768456903765871687608544336132015388788563862720304318175730210762298893429946143761751802718993208545772295814037870080619567960749539842351310045290554575895168056863861024053310997602900651290575349091638140469778510918333166596983420292606411753400379314628667591583276667532265029732677817785815244471165726241604465671420281341969305785699874143218077270888783456359304432693881496627674747543136043792672044613619098322429056969446466484339961379163251125980788719301835979991214097350846209464729259773218266858809987311625227690397200596177248867360902416302953473259777038213121376849740925756958048395389353163576220227727205125681309881603303264205598819158395535889275548005943262912256258980339605346705365714052814226179840613261681576333109858723548745920295029920663694146780718526167112224499975597267392416388814700423856502892779594492187686000592995124424323374333684127063137470118354413929479252836328901709879570510969881938444038242282061479049262741788827189632341851575660188024015411384777327610439449846141766334449196207569302780895462281194914305637869059342011745279025247671929195235946148658257661833531590151210614080465323357222232467526544163343709595051264995999071489662547347228018800738314468236080391041768817835740715274213495394642558565740776875822006752088445127567041040684888244574208490071926891668027149517783301290959906508713092447765807746895968160261032769093635055324943753069154945009616754075034118173360656627994306746105000576868559650307147783518707721647386177404754905147800214960584471156755202111016907809235089875111403737852304582984151520046742722724284307287121767352798878527608363438361630055894396401279013572005009073584025124736620411676216955673124074515458116992979079003466791261425127214071434996014194859258310393498837544070999936309692804716169629298894551266829749718293332766582355544880786991113148249002088066641908637342173854804319306483946131409795166748576783592652537389455022395147702486535175535358688277619453448061146563244467342690909315339682636739893068103812278573343626193397574310444538951282417347562044630578403397292779291981541490737959622870176673958065595958140975654408390638955723945530261091989219326769339895054513204640076251427707089791024516838373033687743948388292834851962349822333661234196414513027376025682722138331157312776572805056760107922769541954084880571991443319653016606849081372618040644347531152142184270073226512656799858317961042064734280594816071034644626203204843370299302223755161469730633899603361808830379864487278993498731181250638233312587171228617566227141958352267079404468375909049181640232135224614781258436983020908184765066259921819211604641069406676947913737781483813791162174970598243346752543951668188188240814710896715204067087634375135273838597655454223715888435792015623588964669035478714675793651842635973320961992914009593422325906083014655772088279094503122221870054943086032652396534967022423789842845934609507822066152119188283872427307828778358699346718007706603224639646821696041314558379629612286688735163111038594721315599604949246805930305198736991374080726602260888560083341370859105696297103674879964968280558509588109141162772452476920240265989395664333217757818212222438772099915299680351580820702007405040113355966018652972123756623746976133554462730575012324751782314694544949161201099833131254073409351742630400595374111657493004294443868077249297598435066030837295267295685215845312197541760466252216348755015116151360194778605156073135071921702391627952927015589549028892894947917582489699656578570901990418592487170351912212660351118383249402906239700211353654100515463127536096362167776986005849778402105099172352630792789649877976886876134744072447555147350904251244783798866405336495775651506484399815768320058051663921050185793004373152925564520527643288727204422518573288239956678553810500731927067405673913451897160898556159060573650661488256779520683876742038531928780371308916176482313500101114649333540380333780479025972645220780103788503042376455065206471725408945473046295640879998050865591740748478365782075667666684981722480026877049375944376443934580314155552234904069135925033990603106862296544249243968242359997350126534255038736867044569789813992112752270172854769791787042932157851121098186165987387703263739746202404361463918740085940946691897239483383546125212457648972196389780084638710023695456124436631614745331416563756485400799328186373845046436997708615896126788440261518909979604841193514709841872541996737589602427378241623050837911776802481558861694191130018044671877997038288534873059348670182298211735141229255508036775405644123032004615658646527217362362081637460339899306550564844316571293192720086740446773584910318208296554930126606508007265176731706923780194715325468464688691355913189678339688312276631759524384682394842752510704854723603496705634057690062999246788204357185630678402418725L,
439962222973242906768470021776478868713226406951662589008019220917743511329104645217442299546791713768372360245871702875706226190392687657306793041941081883731989193837183407059329684837296954962093058470080021596441012519529469138086690365550147535757579482576316103202647561954428071293815397238112373998814097619756860512155494890245495307861989727037550328933549709606352681451948335230796890551917243079448019328747570968371865574743173079144303164466254758745450919970899152643130804638280746394140451405756879515514589154382379045449660108947399428428163855557456524485615508042930657084259962741865383588662999856444065083151048406119322063515287719815748123982097960597232972655470883878679074122666224761909290488358677591821274238409304181656923491003812819967862824944189858182492111196529949675466280318754409502251962805066348161670973188858166564826677658497944580640990941701763730829795662369291735903133874016494805565079577898617966194789545979972390251664592909382512201755706763868679465941728677057221347430110684312465354451467449646090782774467076276995443065862698372891951717918100430572351047955563176087386134153199060724212654204433577589146628943009296504706296744096364063126832865804639596701988234749963958265912516898775527518548494263000801763356948928041442907662886277678546336034383974529155466218033398673286725572831894963695663953458494762619787752816169107378882834945508397648408495758127080557303059046973041352718478238302819542577941503610123268137775678435580008003094568344653444786915582062032361053368969200443435359047137070815002977263343011577331277014602677337352691638040975136402458492220195517525928059412257493514699941391659278720107370545225567574699568966292283965841777224271508383805105987758689935950549436015723061585271886629894133896899685703996920789449064600872287159654790872845924790272387141667410327464380633455477916944274212592075907934345699713863138416967261198944750779989931611024040994498822769235044320725082618282294515698998317435860748332849179603078138379937729033688314045102375484832409411904891035454681752890288477906755632190495124944160646313339705918342787136976929765178889132790076501011781999387387694963189635570951895689704837514487086572186487361857503219725631655348307733771319556802358622230110121926671360813919254115739319737486787730661950704558982472596994572939126552243383764720906148566626502073176261865329770210739662748454465782919484037645127210428994458319399129824492342034431616255106184126757568560597934984274294855107534742191188042626442992134305877704715378066009472821315346581151685303404225903371622627012889391465506259917640662363822865277320676479282518419032367920747005287038260989690806283014009740091203285785464230433575395120034499096967414115656363180810738605161922720513812729533984178525531653009340908745680682740990488112079397818913224006684493553737063627461749742727439067076900266559359878868591626285641600503847939673608091045244442456832464431598915022145780776302352576578473569556415390455970395316888296036963589207686164506538139260475440070343555182956272090805143071218478257078128753827893178774563743585462879558731473472873854416598697546425388201967796283255055172777294591320649324960058246859549923143265754432258318877908991501066021030912663231733890947325003941444702678139686251467056068805217655267870247037701867982185988724552060271433822488674745223556305038372539844249354921840437311895891379563379897237587223080885748146069441093030049783914963514724496924479447140939773318407492090197542612759816569571367158204457254621629061315257568856976402458954047716685492505230441090998674518442344574732888543435920696162410754292724583981120198176467382684311715010731780868374889104411569702006458310984987898918699531690520695703815046464399824530705649942023947881381723082886355531448898702919541102595486707290430353631096631186585034318728493702705674461196748200846473489738420554047230946766268922057260426090535809978421436196372639696193034538147349610818579511294211577411190226811965317567410071790797762152049558519332620873181499113872633104658204133898038902219367133926997314209368722446032065878951424904819049613859803095453846356957359782495326762006113010787832064650706102900889863026945008822042043618228155002522768761959660953929719078171672112460366276698083103796115050929100591817099657626513911085997220538348888907211718427001484723760457729919099688991274676638061595639729417050856227234852255669390681665699576629251023218631965003146128405470245838679340563793685949706981495959305552281387585671212099508824105672236464354718632300783079008080107400720666527753130336724705181257820383837496179303511205074502055859702269772476680045274270743208344399190609396581896447920100286595900847197760595991871536920381674377215306786895449779021196612384195195824800701082399078497489942489519958175507753025500493487534772114991326311019438475965691838094518909675153639945440181363740256170338931302803110601121635179148012878799623337855750007313829157778051782473568395806436189085976933383032166421207556623105978854715951682669053726977509562015034612210513036536636418348408916551422906464676944778433829927160244143964549831161130070970660906196893952594837318376015166354925714114718760322416890192376110203207697801252012053201745891668966046680425834268643243433616087817649347284833070849995606756348769186232286201296803365249372762668548953111908753273947450315110975925603599216711739163992054115342196184054775516028805491219635162322982943877007046787540633111534600824313540249725635139247362015796402654384595426016451373099347434219145147525911475802868305745690313348716211905809901628174278593067413334707900560320456683666203190370005854367113750929515555843744685058441587464344184748752939261833770917535962933852587906006423722034190783886713202114034416906616003750730393044677092918129776000852194006447012271548277239214623606961945812697884047425302769640689214311493143419193757152905962711104932535651897632709951451607185398072465153113835554785626570886900790519888785551615410194351878970482086011348713824914623549204086453702243340650662412304390874252830619422354129301357706904268280477687120776380241471176227373747009392000204572899887608780936748774506357034897106049527572206535785388244973310094556297909603152606519013981779247806708302393588727688291360838382243043200869066004849946338932646906494109350577463949806396595767534182154271888399499213177291L,
675125092742802767869116819542958003465940463455030070424843692342793636388265653878367400778960799527353465660530909113775937606582811729344791902332003437683585879997803461922259335308788687084629932993236619975316964050141198650808262477671663925122202272191394338206086874807097774681775980498281000381324385715800828075506813290848293964055160835065287697006429469337580338375337496589432292119903904775542603210642111982514510890528789226324639297027021609920727887365224050252085407737044041997190221064396757556265003153797342731037155099879022432981101844532068326709592762947371748251673785262375806937972454174069649523152267573144296400709841745731593807359402647326512381426497308867989135862448825145031262424494252360757231724662742964061062893836781246143842516228235579924951672700097775485463176728150517045070935248980080396003683025101104572296707350062740453765315077094207486611994259671873297650617043683245731264875672573975395147321730962423519607302125693196234031045593065391497499306025710252315139382258577181920907218830415146274624442208521226239506158830134819472572360558006427359837021430126553503092265568358935234569569402362511193067841428896780111279146762717270474528967839434247515935210989631126038159022199126158524010656034630101328712259337381613207306068142212533959811784465569661922061545502307878593048081712551503895157991137611134891764875122237082595509412893081420991442578945638025261080387695145380519589870706409767138307166478782156521334888707294306226574333955224136293324759286723246358061033165353110525079878099751671014401644100279400568910163695238300691973657489538413083462734661224700091117780367307054995627711048436653684149600400039833007825905510660657158825297512658683808286548015095606469628628390299143521585993200966778307281091001972262922833586758522213275617381148482427026414705569031587713827320293608251954232288089900651023307268375521025080768238417232064830881311155465904602922194001361267362317964908834711170765099213527323486202660101514038812765565232678318440209928750395269742940453980532628655652371417787251751329179989093186526971950806656567856099864589150452501247559351602763224475381307247141346388930415115863181046912459526605441054153041892925301161160636988995354536958318280347975703258565414399563482342337319438312603227209575220243794558940721245907925598561495051936933528026237931822046271415339948993009331977784954506459898872282419686033825786755890432870678543071470744155502815880070888645981311464286895113828420774211830443925412151665213302458671726052293769052467042715987827760672974785776132751081479734815750517194847493050822890498884771054336945394578897176282126214419981711560377224419235115617727236918420782009781645832755179553328454438064818154595241643513943647455931716615938353502191252093725455653885764106546112196588987243975745227294233596103251314405923212230166697103450419796466691290961200791993484522138365559219558392131677515929434478373327849136778159965916353598010603527258935880683737219706106689598821686598957127483721881999810597843190633881522191201910381176029363742968011423404657205046661965741544527208100004219994139436420842031840260685958257421439902524209966155803427078487720233040438080096095185755177338915957378820361935712033557480276214973740051740505824505472923859978001202427898252067078919631414983167785241287712572759353545054146285440060444135341310433673626947588490061370324627410938098937416786875779381332280694962512599595259557785151430183625377320524340781754812426451388923822265339062607732471511095947317462451163733371987514640068671384671053999831635230649055715748251964525729833612122687557839390557274685640804035833659509379212225382053271625301611261338747415810027151492104768780292259514711189102119358086817774879079970238555214684666839982279836575980450926301889693379822709279908279756969508896357057604747060826925235876891457122981092595156298642478933205208015161662921567350949781116502394558589261632786969518021566754061031331188999182774314589646399672292780533564939692835310846512326497804504505425353221678930822796282189674389771016395662616585897843421281694745351665944485413066003752193240047148876716705528147884226195891522413109171778025674535165909155503891959823748719352617267098240931662474868643709890509922811708407736968819717446348337622174427445860601810793089808822570363474850427032290606201350287219681849878435343170220415074231062191674355116947700648703683501225001544107427521410279926645972359333632176407960778084834665292636433805895461500352763751360322099472672423746905839917876567922611095116018007847995264640175698050397628976666380178192776461365156985151912987084711554431866081907495186488854000297177319845324913475352298571900942803229929584384999604586747277617509195156658941582163809985304980034927660954261269945040779351462367186055912262071315032966703618712388549277327695812481967767189280147074793312523734737141246580416935351965256321216993673945649872172578073008183397569451195517134106342545094293166791089591682687179183395468852863426635263315593013025694510841528592830238108158185304242403519143570825127124694192561816629077787212831700712550325970853030009763502380170221068607320694072587080614246287846035561303115001524619660480883801233589312981464413537847865079002165937008060437004870365421388616912059884765240034150442100571641380131019314226803850021481564655713754493325304115949753017985176104769448251279419307481932474497567631521047016904241739812741219706773728544481189126583353358578492627200623504286184741210871917608405907668356682671503768321611671848898226869142090127772261107330123190582620292258712072560694102482190192115629393238551932098918235744906458355585602631002723999502786994106689229731128075859260272110212522156296643498552195239569791054708460051874296168867255084190752885415971636406085810410684277712014679246881793164472371611128050890882840878962650124900034204476690693820586766128091378221429425749431514533206600502546546993960753367174540897355929487182989344387927680499540152435626504403387521688768842431227544506382940876548565424335883772901989519807880270482205869889708140746122618991016209092704604748854365744677221976210607585696616544405670642430624482371624889850689636510847861817876637555523586444805348378453167709512707175280225347359294499862402000768302245860638564381657666823741375765657557528864139536412367498345439960813406673846496411334779253071610542784853L,
1035883191924691621708174595022554203461210335871773365947005927376435291966153366074366874672489321709820863433856064821695817774032202928988580758743591118115348872204969715095966807922361407347153637004728630358252269243995778865401982305403526109438282696858242449979635481346394503974142733193338220446592947471446998374501692888402061931349513356097480089390106396462424570956933639029083387267625062537281637495353702497992267864919946421818931869068591241029760677489724349363017368821049116641989100009052394698623640446590784754088101312977494543324306986926155207692480455953488245726997711137779929629785457312281744042865899080567484898832544039755060452248421867501580847253691635916622781830431874145089764792692458917954116539906100855071894176024256844796849681751307118298181463037400030998867000462065311735012142531765890687863618606166633436931323204323671803143804085287403427614523595266864262884652065211423671453626563154106415589472703116290724978413236957295548115145350994544644136999278324021432341568184130737181928175121825749318186274275141298262354969062791572807225169655697620614285904821106309402133690564317680258024058286476498690355205839006665891247546304997130469630301004914887814577725591294369233766883051888798573482708415641206978816821315932536068494429428970627726546234811635524930126860871869088964279834325101402282909021354909363200825959209993905697835089884930539633237479009192117111439724604485420977878928651525450255595010591634222421664970951705694043097568784508259770780775401321816515233274806831771983180077554902246799064212845674121443942841741022596160165541216590146568019640598318110141124440313017799239969056675716262061441243473925609991634052908719880199269342635046344211584505089861599718303008478240568314756090085529292046991586739754597068157835975442528521709917658715554669477214746451798214423987251717012162595425372777062707907594132447231113361497028339892039503751153707382917756447997079197115738348374707379229005466627273070450262932916753452413492648617288111635550372662602525892759618100910869252478326592062483184634108199100182115841935975584117534100512679579637599650814784069513598021664581587055306770192539757104423101850011465760179936926254762560298548034875763708359473295504392092105093451931587877042842923534382735190095592142191502889792641434200569144815239182670280052379240431755130020052720697030490182599280230280883979200830828051527222849440671709227685200011562536771094273597552934812272807438380553590848493919672040848442092299731816528947013512948967757734759681294717436520294577314211634247112277690482900119749046110922011398005300819966012651240715351203219470750828237453950213267354107584134424814853431866952048675184600804864583207607132718454083209876954235667234515173378198091030913581163377980173329397643787823598925441656257261049517394898917501032368819761019895904927163722243306984461818907724400236218046862135688488878988437351660532124792430732772820161111398252425793618076280860436294867379022686151881137864504077744975244597567879193386936353672389219529354996563494174951782669295682004310875955897033516516462110051956715749955798571949884303981781636740511459898901703926362561332493051478166278414660400501248928504277527027423958434452338331429129681080041797007072962241107670598667739153378275880795169331881573271550371442157737536341691686768421327190006915209263168589031055862252235559666687606697265866187643711481859162889039581489318676248049854244736749349424198839627670823473009380279778209662928184517945472640925082901241091318360383087237933008193269318062181309025679594298413242943824081608509478360665321472075899840020139616084270746012113417707846813174222082485218650150790544979701475491937386365001509084345680657885340081220235473847732023104044279956321214545243437651574537278868296442609183450401392692181694862978709001179772795049665784254428244737533267806509534972366303717661528448100457793181858799277001153003767160211819167816394781861286269095923396292966749661431755203268454198677050104526476825091147625851255388398846810276626810755561891734399555104920086679159425115045672850380449104984418858849470570788423646533526237709107361300245370782422406681820300446089722702462639372973187691224618475581181691485975028009654036111580230650374469621471640161863185793284993824121147907254342680684338084245581455957912555976040206739469395556904469834507692550513049727805234449043424928915029308997726047467145563073943680593282066677159193209701155771025986728363563971889040668241308575183260577532961540994790957197067094265743797326571676298059877956098757808620759477591712529599017234999538131424500696148342889682324390157945726236570897738594713381211705374710948432183976149504450458287733034711683502288410505238155265368874570490564360202960712286598937543640783946772340557840211820238088649784393637337679237506126039403233006664523595559080371783711193283507948567092477863222539182613892610951748618206946400755576483014111505005101473795775528988562230088259514858928939809671912628648559105954098497229717813446192791062338146839650167137915147901169356766934730744993575399771932348640630586948974921497873259798404936801395589071366507093776141545363918342214403855116893153042079881950589808689695268126604942320043788469551117472199169551502761301970558392934975731123812032575678723644046511913078889602597546197225891368773121997622747475559765066447861718279491683120927525303875928006242248058144004497926334296089520554108171686919007827354892203466324617394541773063305376052898230690076561628215606622743830566356529638900664947204285410412031548090894546348022004822712224888715315773240752793314502288645251673319924539316322063487127292347020845485600463692671867949813561575955928885567930400321021991232155431131406784975115036317246461158831053608079409717934170512674707235535384629595227970330566545068216051824750769751305202775540170190434821723779365476227030183937658575615276592328183989797021761977786782607210101941506008916580879220453119317058351005491000252142770051519671013027320930549022037145875613114023374272358856575836108535461728875668024168261363361342862480586244155211416487119358017319160258985864193828531557070463798005641619850868698619502482687659170212998626578323369846883301961856646548573684467733871163727124320344942656140632222915487663223825657261208394997531698018617434600290460202712014422371029087222385267812429714928846276049492959902L,
1589260235150323131066564732556510242595098883443464007601596309293531376422641413653895916981141120881386146391105637227106213344117761467994638187839345780778836828659032488256483593266270603487159035267764468659508956455366784308147841406792265389825128668377218112379003707921151477505514222086378535423588260849385206422307659434970297333258093516067153039209509128858397331743156248313559971696356173677737978645157956227898734029055884380249443158889796524098879810355646558402871292098557001098195797480715065453192283509486124924023651801761662667288113358101802757755614010330582424316189644004480564446025276888986854834337370329766212896278044763228238843067888712554171752584756197389977448961101299365911052546283361318955587557887516098373467807869627313967401383655619650635778795042760482383413707192778793495623591526954660641623528814958614969189916070351438855289076953750681109845785513172970106904022930456821822342875697699144808431593370524475339715567281022379866765907756401112310301976679530265602718779761463762299681798925042234167791931524835530250874896396100988077378060404098446227600515608630743721706309158868406100641935208591027855157579305610066831332230543780806823526160064261621326166505219592472083889008180773041763102310959433890410225591716498295267512457292250478130664075372998206282424922296804816980502255325166214295700236901941380689143582406513806732375163757361733523613342939635165901514617000815943303577150026637449843844805692935405293677900642641464435367330156445056740539215712897858359171148542742593240880220069676520709235772763448680940609135434196450591138573007681784234819038736407595964298800168535299986327541919525073857942002535743075014313355687534520524553351769379027576637456926071389143922643732831274652829328344043212563538855519752467546722764734713605460936456530266250654610460968764510705428397579059529732492289281924724019400772927849672317295874892501707330317195525201353190455631469167059265412784897433326031143677076163901889226976455780510607598325250752281755919707301563604069570443864760012449065027120204911943214896267076092033573724802603815659369278667925673183934024144497749452054726527933713368149427525973254629689164354146357832089527916708332887994609695568611824314648802029798524967830338128533131883203561178850812030565518181295840144895504042914482627801475319966703337908338000110854733498986140491921433612926267457470096651226262277177051174105879608934324315876397208070486719755512532604943359438569401396001909605038756474650625261952149998689906618125456429145157791431073462919006137187286822589856630884049470256219419213175764546449129128519147239273094006583902734331334549803468094421043039914688096572713661496272873342941566626713262622880987741022789820893412331343630760483414263682326794725337362849269286721983900256215495933282565003778808959530066798173239941802099714673056623341260068287958035895895312491228498798647147764179197567836045783248108006629573335166144005835606064989761293601946491921581328479763435668423295569942821838426352793902074286740176437895609850038921479088510378938179124041572798390207961109733492277331881511060093812433213990988476288925472422708067259539460932038151847001878500851959267968572474910104939780694582998096584926822941632463917197092934714754724635655803339840481529447333240688603304262130540608842379001625120663093340408481830323786542422438518164270269475832220012188484448557644288467275412188505968062164957295941135559689428155903061574987148670586610021380715628362307173359307325525381449570614714090308528111402641472005504927994784973509218069824472256921118144407489721388679886533006999361969433771404023522382662142936598219576417912695163458990383041880865619654567763016589502174891515515923177690081022365520431941500346616871417664003639467942128444250877580268024984441807746420014567769977150334545491124553414892904406712641133012034751752637391654907205621751946138876956576095737145122625912652708070612674331139002863497207673140860918991588767772751129514793676799046181015725149681484925529782821163708310984035966408595716249632574121987951282079591574839179006069873570289946807473323616335166111577117891337474123733450875681137161616734164738900065585564428221215268283641224763396925156590287637796406821626388178436951303894175359196150115657320555935539828912261036288648739090403139690523071794769001008688325618023893615705658961929906585113564241912533046568371050891806089880611524120172070020698405346849993051752313487788733595796878280111461427991244621487355149244369637348623427640981813482531227586974964675311297030627472686008239238111297443680004275970196586639020632680705913231382339028641153536302250275346214248574544056775864555725786536743628206589438109007842176952561304765078679508533643690015773993215565912349425472433763087364033904216734027063107797715269950257054046949192775393688881253666921645431226934805345696798197067526201350750963129030613736311986106028439129192960148197170998500884840610650131035165639611506450835947218232536498194824623299021113597738687039855775319281885372533600044413535543784870527395331157270160858548488692579319667988845284735130746548712493655895383774304564747493346211754324688439768229097763923479565211497168087803113625400279852364690772576312086043021081872638280883017738815713823047546982245490578706722215125531729508090831958035558330657545682073170997475595089027703718264701777303586502256738837836655703569863250721760052994696437449369012314181700239645347111681545029386551301091973331738565390615638951673124990271229071522234998441314049951930880692883748694601735185935546192311912373780993315512697244556157188339698353415777582397768382960765465670026982111300141346805928765356520487900627603056095929769189032515746528536064666069346585809951865698656985961027810596807212954747260036372486999631886318345382094519502769853475366561487670772168837024055849081679375243307394563948611139510059810591550318624130874565309444119995695321558894579098573101933193509977968995323375344748193854981445823083269019375949995870872931155200687051930369126457223213628912262581458353475655301920235146214137599049004062102281558250484857031188411735626188372898455845211923065081211802762066217822089250504950805966054304045279399782591577081812026422882027948486675469002074347751407220414878197614485441909152108745275201388818114331137708862180486103190084758348331992985456994660088220691873070021012353903L,
2438018306335050685772280613372117919596426142888431617590599202258908061572789235051683439378346772765088054953749429758618904050218963668757323449503027897268560567001522858732575722301413264638125920043729514394896166508241326124760555818169665113791859657513589392652480040771236692223496396873140221136172709438758583089485761861467592596742890174492998782742709622692757024039194683651429192661237679492410092290741975116263888155755543579542713609702853695971564341988349755786189688266534830557411141686101231258999528541642198680777996276695688823842751122893961670485925709369141821401682781045937605809317279270198277006080746186503984907174583237610315138022185008550951968380768290843840174382662280960512385143139916817877949303876861571374806714326728403472727185212366349179808918752362084761296479761166186203507756370336641567868504176041267293529517555053580101691764128699516441268339743302398013786084818398775744062806239004297080940370779192292353416410122102813721928066144933218800810949022587397786624555471219284330812238908407093993001027555173776057832008481104354771519739037969144410955024855925695147656166232791116180596878768849784734205595164747136278536982513085757409022002936152300128152263355711037254418280548009524343365919640908272132768235398526337414614100564543912794956028002989973656093099427166225169649965812896106765275198147979303941059095156898204806525833875017256250857380642633190146339472563856119477231390338754360590236587557673247436353577932529088130957434747476295303363388615866315340850775226115938583822827129372399049726860269799191544972511972796460551371150601126520879729185915011961889072977666176256861397382161574243905504395807966953906883248957653674099514085049307027044124464318082416592845088222884190234522188083114965498655861191513421773037942310906759893212563593548656853007394915288226058473828898998668260613534886376882528768580051235215255031678998241184329071491947391895396004762252810177670040411036413450196208023778596808335640156014442942535983854187237121510120410371343468887846384225159130187891782059094957619094155348529696625485328626092256459049145288110111720721703071763737162754648897527078719572022157535480777756535235950692088415759213410947162812190855397213895679415873087252080064182441526333874089072810870738068601959440250263340992130955269458553272516095263745109403971969956602673095071772761779593355128226763160654380762809726421318529739697918864879734361952929194106067768621474381258415825418071740717840207287195303875677405641930110374523162142935307800051024136010670539731597376937691924698124472451409043811330038367831713925325294499329686560035110813417059721786813215796743616706613061282098581612956438231456953198047692705948057793872445998640431767562350237383780846581687159755706297463141505446762699764522007505983356825095305998796855935785664487666161566721685583874962522446655174081129655930576144404641924012316180394812426694767808360801806463974354651074256427662036892813296333436791809637142516826310104591005216232946356162550046426496221269990973170071201726965898547499700240687627023721751046640165275933177135923633259999871184584038015994199690754790495614612167956594765570097591235993652000919410518832551389208095128001137118462557466626642621517759347423311019274494311166153778735383685984122011613190620520139817424490611980683574229280785140159098519597485929693821878489698565368885097544574309181639861002578283575145046020621414738499952713544987356501401438301233812638004308060028108675842754199674370538364880460705042567682150898202035345115385032586341623612134142293771041807037224709770613104862199981007991772500586896342013203673046148808114070157597359465490892187210653485494714423169074459535966647833887186904799685621284998157195974486825851410977932566791918788157727293927434156841000092310782410942465409271007824810364633270064726647747034702175264039324212730020020553588618474303279311673360756216500743848294732578172876134205159230179271941122530850763424730477836233962088945066463983557431937159490440327614226926951950076062443440393651644494025249037336375250991386351595605381188776422134847565723004084941872597151665833741073242267778196191011136539763408456167133946902242344544348904638428321305736427603609325681393550007982349525127985504705829878676991050313515023439914030927020259919271828692376826593906721639116884288248430423774557144009802982594518269181734302217915960383047840901184940535896834074296380830011843334320971293171383690222961832018749211885179041670320197275435291375984432916935864769978326844262292735847912681163458236303693059374067622089250308099768789581558254423264231181712291722994261008424130852179017387497853868814075337813891756403686764052902239813815013498500226310052747464289533675967186445918639932989131718276675058782986036984468623162049593593243026960067554467408307571666628982297941229976712207501979423457125742239095257819317669304807597111451579873293187810357607922180559262621773371136637340430393145712872179041993842880715478607471027170002206836579541019708342890139231929006035351712506442711035927784621820635244103783892486578853195424203228173601119582757581656129999179686703412727784059304407479408716499325639792237487678542786655472003398473275406200005166667812243267184172967143251374160980019265643070330413209473894039375659091814264780625306880731589107556951271926170880614348341974389266764412769851575069719416071277516481097624803793736739642419087596676473401583294199422224024064404211710881882192352071181341719425418495024396395686505910413871832693908055019706070703221451910928498813248096399857681575643701841573666544503792323217327585484008058385119595120909365930726614326450907583308639872139821408410947412548282726264923235286965557702649731794313445711171543449817244994851024809080341320055980292329339553324927796242014988360594869351534828903857437554139812777192193235540025704738914576305487857412510637637566530026236129941825435211610815347716645128851689608352460363964820589822056185967794210758930466868662197211116407658938239240222200352034642516610607330428551738288848160242190579123044447881979290172401032487293631653789064952079986459520420979869801825845009761111410860722795943965068671820277544283378266694503440887917723461145538721812176518286631871537736654974713175892028707167982434864827963461929569565590673755557833037338827635576044514084922367410537511689886827424508158511668805370904576L,
3739698947876354741806923078802493785350735506817758745259401497130872591019875326226064444008542131494280971844955916134814746403526489456974000077412534628201373053942368035429663171689458377087694643161681239446406942558915286683059745376479799476039251498283542496497704406050532010239871218442239693849938935675381904214840251919501405021697343048960538468162254107814618644459454139404224360799692905445906769130413795230403392986289394700425604900464365805909972523038690049010984465786418830666535326198580611436183486121299600497844801770804523735294851940892740469973636011643457060241616264480790153723062153774106059356458704790839170933620828772771633167621334073119944078865673298030802774231868341369356592334396767633912537074099915268107538995321732727642975928509103599201561566164265081733169643782277365527351037509752109042040037774622392160145387689145693253633571766776749172071254404210798992236570358293294687920132099515411345522173616000044165872916790636892366189720203704158429824747457228795085883247056680212137501427659281994117497502412082346030673557446533491488987667727117711084857229850290650549529360762243777563021689055246426443545567129108227440986480065003556673634822866635868592835225295629585089431734880833082277896625995541938858847377520104572457967152470718537293848359500429713894521347046222262626325639253042982768164248381210299492062966135155910152984834135634878387683527723407965774111285740728694693907118813348520215270134168475855630277164275453121347337187873237823732550168390102823375446003326586137337586669550598657783937321211518752227510280139626756727411512263881140444414732879962580369052983545977607030993072111775232894562576457718577212649860689408475558789478070850543774615884838816679819949179476017327367570835623644778587449256226842146103401739112262866997191220643791530202696827062523673563518158314420578367814356422310907737652284134793518336670978328090397020104187813794405225431174192855358961887229770731310162110583408054166324821518562169337170834235946505027000388622678220962229933503446031522310165383575890231692311196131899622084516019345985216783645500159193066349941513683135963371342504015580072678337986156223770476768824078439923670591768333489436777992079974876037663737200665319804343648517662892304499697584494494797153265026413547394392238278206824786883330600899955545985709943845626956827856085887551280311730600601106178353977377549964695304377724842124915590689254742709725533661280081463840431967491799276542950182044675862455105425519322323523274200651393621923118126976229111187941555291818069653572851022944149115696150473317787404022917400316691144988766335683743529296330414732869468318584222092323930842169917519180246429487205171699092662664864753872008338223435598498502370763540636637590555654493355340189105874254304127353199979107482404603244170284378790588691217111183978369162853107755611714194103903997028692261450943607293577326324059491583166963058753977575508807283075240031366243608585994170014846386763335224044702346090015991190172357437984568003955483580482980865453178649804421452338596218897031603279923412307077394286896639124459217186831963358726150924631189452036090167818455004984476131959756419281780420864207220842518715888150604127025147138368712554801817635950965230257928624629881575347758367211435357254446878627106223526625540594532900415627883734786801710466915263541928954935408772083471808163972483956044997790318824625442859452364160962630280815304159027380808570865475297684077125096948393321282629975243864561106246867224716450973846232074500149879232385305808206731907804924710079920631239779190702834378368682198844409898813569777240306845655588184261748623352377618963316154610496526849873234855374020586152959234917481225364571990040881876021932566687678417270539568283844004748004415435263649636303589481844800716110193688682559373557267649761570942719546379789834196579601126411094802590141451855596154061890576046516152903887351690524683944899840928328638667542419897039490667784664320636512853007439738645436265392708225085209166508170405117877053923212497547007933345779576138852101463525652596353254657457157893247241385329827940000049610102750860869625287180242572283440060191932152587465153104677668895669011153025540237542189349651606187084954257278540320570041705161809705266499276913616499490064015586144345480331707422655157929535590932330141864465933645374371593241325951067407325532268359782737756500156517891990333975708324970204056632579813663624085090207339652016697382651047144694425055056791400735108543077853444763480812153865016228434795023310309186306323408363629683616701274401924506123603919600555010452166173581262035744478116801946889854033257901702730604916709517374886307795639069883822523313571343931894203702013324030377401979528715847665546162739264670544662957290842175953005199194666483038834692311972019391539614353077424036978895544665674574124592396492251981178044743218365772713773524742211315120691352087143468568512954059209452228707930142498116039858915286168075064951774644581176312870169999130559646622923701240118480324629133849230450987980624766707054024790483747763680657004684508290552217031157306516440150717443350207443091152780821349542686480002969518812605154353020325602834779404413369772270208638046292867159829329292792650938884585399626335411107278371864283544815001280392414974060236190378623174488874873739207184480096348830102292691995853352792570101496603999153226346126652408391004791805544402086572929764200804306984104763282373800026747730847210339080241755260041803087320578529435537111262147241198776770213538205381295747944160864911156563273843107381065117149851883250343114088012694671657569743002078984163677368309927985730784161416397932514930468285129482995207270897570493217054412687386979785349366042823797432685101289653534274916188141839394948605871213829463375893540380617334945319129141756815849992218162736000612223180325548189708961295252627688611711858142072690422035693482003591879799075343448846443979002190991598100237185980220772029377720437610095397176747631107766257710698866858057733785075918706360597616877453899819323198090395574268501005217567611529071138666482259244848461796418512534089247412157689998154538851703036492587310408915979122787721147886048620510052990590039803343238675056894838245739682523868213973123897226073138942414563173559091602629339304251695108294339260442951149392478750004520468727103946694527521489446012305358373305977391494980L,
5735801019779525284779377400129751002997024762756496949580881996424516644979696244658990034773657866082689723346556074586287324931209210300816904145260955097181612956365389616358801313820022985318720628416035725166436175618213377326925941409557289297143481622904607589082406631481513077492949177214807866801774983568164182652120966552052883743081290859474411617873903806904493234187176400929286322719414980952970096419872744472801145356887200680481587637607240253489980693076141099550117093484759452500488255549282806470695053552983114043789618145916353448697739402232176442295348754490673322034843534450791142352178694349686081443244899678075901454546475003225558814608971447357641139225740113220179125183276557886599623718540952907131134707090512547080003814904612126998697963651400861839332995058345103828742478795875195409941395128193740638076325114508108758140170886381902264907848514885100953898626432608818593382177960714404310039100399266977641511882228874122411339737110708797942097135634900301830325762843994705190612536888467302688941228095068068633852318130018611442695752162764787956534922488800259139105489865599372018925163987073682550709117770121588383679951898276952497838544729772664693975469374378006117166527550489792941155183715545123548526780776316248670186000614771978124489616764879122436420817632931335592019027119116530387437740400995399826519805163221322102767082980052637751215679302986528303462171319736979021764308658433221660615499874196022995805111587489881143278120710726147749980467613515215639348993050566379934353955982054041211614697232383080222076528391384220122625114272769274561623198896179467516999741380033470461026207602525455008633370058422581213166366232716630371726282077687664376303330965908720975886188430164315734015073568174959658818894914291217681394004799737904656696896006047001355168198966994827587971345058165943194416377265223431755517813980055528083844111698331477061361022799202017224129004048522360145033285623208136391233006022926482714553301277529840982659490304752123605782279732778305626680349590059870045845684449521545131085473234439347179253602664753561138281133746971138549514138308225162979152104652270259238243328526644106872753246133514028326511490552463646208057303925793556575297998954358042992643280449648569363738683826927602595159153516772546361638754300199149324339907400659263419609993585211535397340249079506768794955784616860400305917992184648740828610715745563151101278224181125851787011980217613048135110281116838984235417303842367432628276175485782001754620118031495171111709815333907426728210406260521131842731475693826856516323254771584119418403778183513629374329816464195666657922653724083242623904878414191934344703092470582118866515319739473175945214266077105951607423865574198273612830147737773290208509551323832350675129913419840186786525378553896789204374349151737460839914344452933142063933483965209049278472154894305934535474097718376469750434015686610163155808056068897769360308474244264967094881813868770650436650786331137851873282110741037733726742522736058776733709291455388610017818470758727141500702894644240766445844708624987348764023125045574275608960395270255248492253070931686402432150844682161874881307289286500457849457181923779464573135642060701740451137796228609989961649936489913164060259692742171188045175460135016485528849019406856630228584078171604030366401108391383423689701808413132419715157415003435034457332252612539723682344573776656051047235063442639734482206478735583162018645231426490276662535077452943911208556041123806640182667442273223035231192090699324317338675517043589464234755447604055852206288336075709653474929729150145418210831678763127870259521509755175171550422547135049037617583530666608406187150345987125195537463449446229538585901408706127936084383648374595373445675536323864315105322787164394524559296484327656215539174673260525880950893450797319186185492334445456666947704375266619005312653309254390547877462746835764177581645138591740928583119834506176855236817276702813077308842776927486848757311411555314483185432631263087415659757210739142563624191209937087957750169478067208120267313132237899264032794620663188881687502383672087730885647614038139399227622948259555251654404311423705693598713551624094674920342369921501090537052696466947028552888519654784349106863325930716010775834029555702232175367256366752987324892979526203053370655886960461251386800682987618335122380969577147592144527957116125863578604255603257119963337896843181198431738511732820809913162920583116757786470798742567758201142404441347430010347479982435625974300284898153507805048046791617453037064386082125313602742941303502942045286072223785889283817338787269987962019438930018369515925215857806235692398385761226583554255996216567519497437417171551222156751483479419938215047048832990529286353930987831898823594795398775923410887233079273219045775299751200593374432336577634828790869759825416494071798426177277360225986999532257597497348086805051135888614860175527567156159234600845641454329429300537968310167792442943602475292258491611021477345160532629887177541743061856345470809408291176099337745941142948498694537099618392624551373378482849763346540761055853988062606465814356417324159085935184704318021576125385476801773751923034752427459656670766325861720579455111636916435176236245498624058964478979960217398073130630404394028477386942430361723883330242556048836239517254311377811122118596158067558173554664255516478259373827819055437247562066646651514953969020120364533864336404745654931846445781479659135937509756107284575291839426888469897260499842985883109164731932743981812525116936484790928503022158478990491933424585383492304356565764987869013430380698824660874117018431258635521035772715350361057635046146676942673239646268678155232936995127742787908047284728962388134194859260160190816614645645352799247542334092072852975343147088571556202418279755438712527213105822999476177356267073065570281291626744859462356516960720241087240226923934959665546564498094377800173550616425686683957724491848468631596272822807922182454537222560317326585664793657171950176867626305692049305197738376521327725067032461285480606255812840047224692126009977188487675505079116313091486502568297399567327383908571603229082643462925054478814363581504430936605129060990340423531342963512603421964971670658264456708983777907319341269601173092021609758969025528918943122037386263483571068240625811011481866318174445946143897985345621356672731384271110018760611703634376567960252754397920200L,
8796487430317645167675390720079087620622347615857377101246505292765151921312171127853728825788770530010026118206209074402733426784504147763261417841068914212928877749527902460014875164084999799950104420991583763335422730724625581546463973545755595171878612583237907603883953711540712616875883228663325240116121075065490441704019347604664935896174017974020805020109770253847029384384562488947865734250845469559387364292816202097236810038865760640121197747971661358883602582145542006880824494101432038087530350836858949133387832018509266285570016643616442956457375612612005608830830426089498974770459097766413936489596402847058420720832331458558667213893573542853498276959724846802009736758726287693109460355879460520404108234237050697549961960966185367182431276669876164106075171389850762865946159529090949216801087863569216189465707553331401249319631506445443221728705151997440399402634653804199855103247795967916850340271712806398028593865943199995342559852723771650468698469665250200828499403955670738503132810680838015490103660930508550804504413106334450517826202467102071696677082170191001441341786741414226407836548044859098017828198264743111472803680037470711849125208413786561571888169287948381185991829978502529606115657498144677054166391817133995684691698445392514426046450349024386375577736127564702455684342686558979289485776028699321640063429382110654021671100722624468820532635173268005338431874889915912584017987994162897032016257187894717895533658963210405134245615440674396621112916480715905295056261997318865529489050832375311755250783740634971818246543005617725405988502261493057806386500930798216419685347399484386585655764929626566699346636290334958697058552539757003678755611905228707650623458982117051759676678521545734459078689894726986123436911349064227102798181113296233755224443358007267999896364656777449703993971831545664150979183222416650879336166230624868077636667819096474509639767407825235177506806112590559630035243931022869601753423899429310815388362559889297869534055227311720636583679475896657795664168260974044102534554935196089863441183432495977875873915296598836223418960080872900659388548950007910714675280485777068304792984890318173386479085536257938107131706294894619937311516750493974531372894060527390189993391615413909515317305443499984691256404592956105723895389535165022222019870543869068882685263693549829475977976971660534365148672861887743978262335502192944754468842624009646286480870828054759216887007147404201364273534151962134706090688495345914974653213601806980623114355127315744591742925306977210773344585829062772377929446945040175371144025543501223517308650543911265691038949485753347866867538776973794041830893055061453199903913019278687903557880735415882272208726817446681542505969578712017259575349839545261190406137876633143334759037065711024896409918180530016701735399904202518416358387166989322659394524788165266792262546965344866475143933739287830204283452237009001598173089301774375857822395795718164156236455299030613409986776161734593790165150654205829555128951802866540000178420529398064735368712236333012411980252675443037295305709045569675765164597791641646465273453611739153635738015945554504028300604607938369491612233160404702459082700850817121827385966697463723746662710259254305450818703723800288499284970333651554535016202725065640017609834466296159793628965613902401489175062624928606709412211779226068828402622681527425465175143860068728164878544645035841058217718047092795262567139193381194333547006510646959722632938068680923489276538218636284889814084330237915065876401354096951735325626726823556892092125646196667286736948784429140347941512852754414608875368796757332982813576431130735415020889479853583784874758821505766077132832711430696740717415305644026374990691263125497121281663298247805962589801888887633733841609596710254902810640260371474426120945377306465780513160530777445880284451875616988178941671876526373265700450819575449848349508907133736751006874453322121172259983118826477571339282483912667202179013554560930639916208143759015698926518315133745649550761886387862215368212140846833981527692388300239988538822376998661728307255509905580648393374354597070892000304920045799305887513399658090437577805236505328229700525610948557868535271871427543521051550351381160397195773594289715603604615897313236717598655612252052152260538808260393991667726406013124990367094565795618329985923245610530890884782820545218069891513619178559190696184362597127515332082018331005227027445590499752173707845904546006688105803065608854792222631851334395343076872551815716934817050178378796621173889936705507449408507391843168716642496703290384532219273963329720472853204208121836844309932959922793756551027863908466629947097084685792502520399053915528369316558820276490470784212716979359256912503146114870128989987338372889216250050670443853538649778186332789811375259686636457209408743125330571773397874835558707434335810463091763104576645035842637755808545585870228524216285092593839615500422001875526336054445884478456109966042097253057357761063054721876179356247616273203487163278693108651610492437804563588671365396506831555951966780618565479948980850986008166892284546165869415633560546323771749963733180386399918574483943050391658523172653419348210824771773334331873633501636762273367062050509850819217418988150401281700423215462428771592346542875223298830281656984591419192696732297701058984088577822185183977119718372367261578379770645083264441966723456276283005990803780931184392988471909551035243719901889285408529843836189255492290937072895609232906113445809107028011431024106266274134112942216654314451147310734953647308739594473106764098923134521143126621310961280132449669881673155757346945790186842250566162706570741598896651526226960046101140468891044476599201638031923040827696734047900576670824316660974402347361001979647121910539978970273248132605833165633788508723392928508152583589982408100512749537214467059828396779545504655947181062712498424645578969082075006175493685315215227312992952840830200783934498051251821781601499460373742504451797471738472612954208650929430684266913100415151527862216242549925340942943668669739042307212680349280579356572579903559568900458048275149028380344877444911215278526122762420429429252519863322928894517406625658655458224510885093316920877863128396174785693490915429056761322437868999883285985433311597443004529007028837334531418429946700668007321958188384460668618028048235833050028789500623651366662022239989327276018833207232533306447043951189280890444L,
13489078780202068907962769452002066258050906650905810026960989610794795579554072800972140886934293093161045273353404578656939093388413043220626256683970866751480729878777088399105191664373362510255933171922712085600163236023421241651545051641462142806917972585930303086123329197700376807607869285211845540549115951120021333833288104991839344427878983304448132887782671743462311229335619106992943943682884790323943613534776712032333331945004347788136470381963074123021163094348254697244200983814080263829571395239019111681214400853425846523721101041460907558766500240225490894036560196272312207783483621156592109970072468733150483907255936969955274091186231572877286003855342236984224691768164925635491699414032663963580868999125515219425712336138330266692029741288894489154459298736104816390852235020845382048476083422539636645292954800383107998892549772693246534432608458756138293638814860678259829087121065975970212208885607771755434370793155368667300155561490647821150082904581993037690454970219782230115969565068361770228741934524358071594868231215218078051190177420170945926664948053716802555972476185422355901964375635543468632931961994395602712324398857835202377579219185717731368917967365348910650215378885078156372363663737812632395818815835610690118195295411758885653798004416490076118539758683768204537136888873978950491370772193548967495783295405973014353391470391195869087677852862587633593512946715826146126563202360547647919775156559536927126199863618354375245963181720145809499780168030775343148173469082896651464295009664562675753686409282497633469817282912703750901288312660968133068544280680368042537896143172731078553674225033404006799123804592451412193699760977081571183727406314503368581077812394017314818779210910964011709318524554871670811229599484437056708507902737985556965102901676500283500634145306542617140690395617932206202934953923233899424478693129938767604851667006154402295882359708627552771303276514006831680704756188581530941440079359452336233312656958328568303484637373543931324947095917236449906670593220538401205290968313274715022303986738138036249737637422950165771298574212866108674495895349404567075664494560317144010857627212112327431661527491566618199052146532262458426962421840285084491270287956817623997990548295719853967290421868523139873024206001494964864442788990343567419729140778111864634515457465602257705320025487374139544775689204629845117818123906278439422849120675870112674441135472854972752148264382715273590091902035969169340629864593171239856003612931844584672528047930923630338452910035417366735215283101515079295542484520730568872302087535415559890995488898108663789821218835186743410781225521469267250130837459623653611845688010353533126968270523147339876638937380009975552858895015810431456928097542778077081285575595691967948540330497007783797768700742296228225979219844066406756781815066367264626678005086923394741090554377631200273981380372104205623404332741925769062783439178862735062030187630329214288496520993666481022146494384900397453812135514611860675938377863135147339649360329126861160927612184215695646228433675971609320075430840447840338298863572197044206014586509258448909978800748358390048643303846898038530602460679290858700833048748703694062089036043371699092491206668578047328429414174462855747557990589869543848027942342098998950905413867386494453500530741632354899624646522182742561644557518236918318773562286646990154789245736420219127505747739921292923436227651308011672622241566002505300215523512607503931184032281577241167638219110261278144309292526710861513466175631424996840477678865706733892831551397203440256851615971422072206062015942677822927233290364015644656910485142211616607082217043899811353583457647480439189177746523520614276111216081715685356601688501794741134617147817035277042723906904474711219463151945283123792887991617997370737807377094608684733271652874654944692495898688047122833449116177709602134108465829093936508734723232836669811986741638569951596387098748703276542196419507784116262676318689059078779407522191452032412446973414836267081527716594273087521820161444926757935647891439183334486985151807772050196159653152910732569505733376425734907308667485608727285750821558754386972876280871650432961274018526849574621437883566312048871351371900406533405969412130700607763351862140730861870892493074531699366873443115881078465047756975251427346650908337637948951010282067496289408877089842902852505774034754714028643310562309410718923905705591133024438735816263585165120762437267132739020006585209886943986878714291229476652850355111941847337299062497509023806153986874740413078225116171137250892919892682922727364882938590026531328201400895497783005921155785368537830629126393300646728178195112994357026009431461578996220812806927870078606459242380705937074971087337533593183366661016565175940707337563662852726648973995974393256522514490554964225701580166279307245225258251415495686875230801401154275095709876494454834341587505149207183820733219644975215701154409642949844827182456290413620423348676968634285526654455620604349022315956297146555066306353512247000417547383164170583572951071829929860940411111455034374198866960024048177425539262398202737614265027420222967100331269184194053129315376686637077525494091288678432232087595240020133514159874178618804196348160530627617768702547864496962525018140083758067674729852282466923003428850968265726888732025511133120709301866212905273283937142688401989688692056527716826141381023291886318229308429150084890930019065407065917691872552176884080627739732453706934761446232707694582532540780107221470166078568974330380890523857624966735370442765551162885274635062993842250468491659146209900566853563325932300765913916295326997703146818337527370860393798248325259730328283143206763649353342379352027705669283437769572646578169602168129302263925517546870675028354406885368151506807833606263741239087822066872192629257631418161755443145952712427972307845512389643490025779147011497108108815604883289099471783103349306043219221164323476976055705847069409911713977056893235986440267271820045203891868566148720131317384725561146978634650012230225463468266742451255810629914575980767511525826243353025508556981175709015794791416582167605046468404252250572061097156907254074676101270130206335350890779912083060293792601857152668062637351426642203281976416609698828449081189669112926747385626150411516249574852201173152604273193896376341713761474735345197116838071279830926625216481201582692055197062995962426674704524549173487930786843380578L,
20682979945063367403315125887650862533019212151135434991160928589069235849561320594145559030363231653425412041640635196840271125281515270390622861104935106810887463121091873834127549987277407954808876314452509085620745850895310388859108637787416884652785540756705556162709763610051009740441726191763278751767658148967963530600509903648079006471261385327115923292216442588722781655544134504151183741460012693373553620315912871115231140849823351564992414204479562614391874657335248981739211697393159299578508412684630675127927589765080074874080712942969694935021491214583842329017835056967224799239017088837325398636976126904829354001928131635303524113027647603796692498155835504412073712805782417291950996963548318005978455868213695056192310283030311350861519556817834913358686209814550151146954283594635551822451594813391763062746337852000407176329243377095136810017735941859314458559359264997792685881905677048920779111403960904692869578494095963226191787935411714673370699624961646658058208833581693710814110939540616863808182282523951386023743662143907664753499980223595584680566127547051664232379057539683550672879043427663159022149611364101326359577246126667332744626554370493861495430483405510787718740244312901289636797793662018009690003397900803794155694512096608577312290696035867415269522762395415110003421891675915057004569252183227963993624207590362118028580681599279569861810723333237122065137586407246734382128856367285736648766211183118916146580288138677039098550614250577848614733955889197531270018610850845070675609116118032647384859274410295120467596365236599354151510768950536026950197116062546551750870928938487871045067855403915404775623245091450489730715899741159266903753027035002758021824649624041431731623638948747901618158864314287247666908992291906672577234010696615722279276470833858757578582628045262281778767197771137684025877259935517293505988482523715661199027435394840688247929602445573282581849397823317824414367233236630533820927660742901141970242903067580149843880689670851291007824212009531931932846036101618249071543960563843018247825424600963745126147564983177368084665641838815964306465513752386519536660721412456021199280768075557683507892900904853700804141660340945367850825076218454105212118347901696705084688371387553344936404925473107558787217892371466135109233574706808968015852104957525586837940381949540898134255273733650683938573788517260558924798151525683987147501341605971222819339470451628915198332785321485724081113898993247437264641583429340181338332419108229763494213667035635168786227331493244276199884961214985026275219530777404522189744750992960581766795201519714114878817243082850428060177559150271914599734775228077086275973523950524923493880080206781142094186642103638204133409605890415415258793481683446756832051964739774698844323301333561579277521850881099572584748206943992628662964930581412378056071066544784204300241518391758173917289065301109777146748688537543734023779659200162018619024831084513611780537848494042014910936146115220522850131401792713847466920050162714425370319509756554000623910509717752839261897371896098693235772119496255610113111119097911117157192548640118330114213253845833486685624637362500285647108207003676077821263146318533347839189645444099498140310318728923926158608582583392682745261305800665937455556700136352449476112560730415466467912902756578347687448508652008314180925487750464871547058844550659587802224553760586187412414051858298019979058008301147514482900431179368170735705565937971478750723110968512368147265239324407011402063867546925680912036320906923808101429518489602831517451674006996041054402147859439942976067810816191862430108600368706023312596580948847550551709836154834176798022697075533425873500159634143139209559029718366937643070861760344763475206015857097808429420103120062385711664467095217211086150053866330260077393647445819301808911797745244923549472570769790850052418740363641024479714493406199132235879879003534969436433361359891281055247604952357819899984884523338116372509630581012758682440217160516081080208605926955868738188435468751993947805718882270117164644926937780571588227749467540708191784468729334786844290496025150257012575944531246109158162916467656465931099569941956736393174093519064840703419220529984631866997101614044917176518617468525273176254146889464762586966606662561645308370552380395812454021034925203365905349269269795635392600303644504063406864182992594536504772699888355388388614006517558353415709259755544018791723558794128152022724112912307542821404427097040048904368201359813536780396834004325287984756083302407663297536152132765253605570532895175932504355594467067138100577955990628230628694685251809292228014199032545159873136323136861642979266365069416862950909482449784026682953335271796113577501751867784349558533490432843874804939806602914312163275536894968082057683341390636798490812680571548392363156947780452433845685347915048766850638041621809345618425048111762952360513414811797644454226647714209044690048837376100035889002605926457585561362866985209171363864190140915206847332119982774230051004577620133587468064595303789150640027244685153953616633355813554385861875059624391030393343494758996667129398173706162115900976415109506378127799661671809323367562124164782064694393014941384411976965798902893036687864467086250258694170113346973525582156439221546682950629754198953223392534545248125193970244518007925943132328301486500950716944567286824251024638248812594935820527063462347434376736330564353214876773739561662620396094846292884239735906846567967912871908108450108303997003544087455799624576584135399655151832107035589110209150826517360158390988392014011292820905321640292477846078668854912146201862456317249435212754389038664104889350247999444931573054391876338839323611994606027610627005032962791486022013429422176281171496605778580646024542630974781784218523262093086033726662561522690274683594400504346413752181462831575621031442436285564899050626143673789804419198015305556648089815099293109500361770715647351079927218961781610371474307667017397838907240946869257079008837464564488263795598510415402547074274282058343530177290068486764973252650977084817541200564400343313604555429272652881206521478079741481717501142986792555035683543185322619893309087415701782454946266393654426536299702468410730239937231591024658771986183617626876224811914671469888969402354655802237386119482919841746162587952019301840116716598909943436353650906632048812090246833658903512824267659765418919733549757782622994040954618165662198684L,
31710403321702321825553485013444007501686153201885319610181518027627718031181911372808136247222776191409584581768630262340446930023165628144121504097410288840331697818142837291025923268083781310022073858976206304935951439226923671449505186218424740367525771399313363324641842908075243430867479054414750089879210970905231869871177916131603033137021924854646501303025853837227997659706149788586138007151703843805096280416896682715114535794645259565578905921813037090965449007105442409911707825554119245925642317255670248119060430668797284017485315085619708600819603062601833538167294196123095121338927567762208415408875803646399625891287265803851495774206681462538534300607988615808237091132062374705142819037563518251174066156288349366921409021543246432162828373540915905878182472059328482040272509878785657823879752116057664241871750548038225646781157067610714271496869846753589830909459120242734519925302097947636648082962990701040969379379150724862697645739303138598636014297894304499877323236608937320612689332335119110973829798450952074749197062806157998449059716691742868800599277249252558756475704255313617169424144357279483195179032010780517583599803769493963208360287271811130037807994654813828208513245487250335915070475251926202314698717690229088467576109343611060939076988575766987335986578143936440239557491825013803763352826901814689285824278747291392077185630092061457671105391730828158304092688770663543716112841784079239210086420603467648182689454694271936140592606316740658096861367628970906441395925244932412230765657264536833453046326365212699306782411871121349285608401260373964281937175519221498105609712698418803936083481368219337552302403942704534170071591350548666790305620860806768252874239678975429223155106139075133862836264087640322393085490953122791442710349333785511808429892931294306669225308469327821039167102221426321281446192603774477159707878104272669999831103666708386291025114252912780787301620118852747380066994897072147513195811846615830849237722928475716886348050930817178236265782101976048053392933777872336518774844981029259069746242248431162163375298370864357059828072339022721128266263866938196965938947013382893320754028451369417088369987858454049677395513038198626017110082125794087747714199556568317184084572673238333636307535360340125499764177768247318220928461126368342104017079611575135512290485555040606054253017147325920792817415551599090423673267388001594783771217532386518658612845487860586656882208133008868863543720203596333027660961980984501867025327284692553090677909275084083235123937496232791515318799704772301712156200213940391104401577191508862745876083576407089778109908430997239056252438081236492711738391606108970298801184884277626503175101310380745929977207517487741325365929342177207943938032123980762240578909120902636041901532307287670952085992620924681524844134341855770286994340450154811699073066719050685387817311840523891633710635364977802368175572933338418048594039154230576735750429721086729756337722185578473212926601252688458214527203623475557739039181153755313580189558923632607035028941452628468729802587786866799176234792773968500118169787843464769620741119860705589739849058032291693973071891889886605630739554077042149614357605609852075225711112327619368780790979593658720421770773196573292807899234322181630271927964088419245625205303108753069391230151954485087290805726254129932992903666938861046531586118139732474394988588749445828806758578047808143037046330974208020968982733913341614545912373025439481747541906027209170671888329229683725079835107388838698510044381966663782040109451619359013403507235889894240585664415212831070761226292515425502905895959919932948098013190976231077183872235553861636229292268223425830243805033253684763438344706441896391302522227987162286181369962195436940840541959168833160746534380607585683799924152768173545618054339185264043623936455966458872351839516680397686213203647674370515613736493897956553069612133012209621498011889308286457559524854325591180878812787519058398019737048551398817714548049787188940705675355936485399175015705573388001929746849849734935936219262207335441650956546412276957417434369066628092522032867016085721150751561692626231773247295008583222318464297622715935518362219674525460348335513409286515787634829971238902550307639799076829893546670528891950575470227662604337584846290863299173823543784742113766056512000075132643641123145134229801011489063580669993229574590836027192224611845756674578327809592486242240826204564348237157959339989546955382562407841748093345544259604370914269001327577512369301115562437645454443136486850513493075296354628098695786019708100231705392669655146131558414264643299099273485910636492273762040620479822382431840525881107790190494068333802745678436592508301084234725631458846896276912015363221003037888758933397407949693636379447636848705687844808016102723348521353944327313494350118618745308141790180350565264932390476994495135493423709846465778464810519730195328863615312697760256649761736635996447469954715152954306088751162491204720989094640560787614465761995312101507789305352146172504674544276338148823129594118349493709414720128570080052802073562730630168935982049594335358036932346404988020429344201598256942405179481913816595891279666764150846648312805314470970393519326231267443704683980417318480931431200014257790606235629038106047480002577650278032969888106787571784053041245799532538420311259233337472077738282337516442707075027007546756853465646376496558291143226836200308641710732645403066180868745982234164710050091381189242549406940793263152050605830400236850472576862856390578571924661123135073443390551052558004198672280942881151553193875530395719860353668426177664579020420752140639650148373471339278718912214998911493541417757157985045702539527861062874078015473041932350815733693801931247860109118785065185325834761601267643932944443906490689538411314534760464155218992496201070128651795029399619100686658664360320210579771661094062176508068825353085868429501066106936986555821262493106745568771550552085166380788508640308869924537970453344374613679828650459567216922470582545366345659211720269145513482683615895997064699181033427204384081497134971515085666137276873251456487555507540422400560495297036440593354302844344891431982337425600171547062450341315046315738851729701695442507255770317408079022510399890996623219017775360536193036909050969775189388945026470611776843753126278359742755378779559396135453087920846059202153169451017445707294906801638007578667331525532635000614699600124L,
48612535807392414027305293502030261742331940015998224354865813431482346280236976258341201381602991629187369834751264706193115272917930433856094599170187536211236296771216773956549195015800115517272893949357273766840789681838096881657196297339608932704748542758441859491802340462666103415755735656519079524246076676523049156938853882039965884418225640153992911497666237105457256571392913594729409479974913704778967608461091283217827168887273207502970824099854820407387119507423395773359725863915124166369238617935460253415149681130907509284587787322206850609361388196375020285513547474178760225085585157880416887045442547004428512321051096060979793086771284179226730950382945587962557001701973086528790862821011673371471107396009529573497633377886562020218186163178093115333603254555129296201037939074406370875966549167455961051498710853019991622361667924863648366477357612162243831528511736920095128722893769093276410178213568950864291303465370235296837736984934368635491266133690839621842413550922170745879529220381103710384855444225738199880477853965379696046358677313450164628792396127631183595528028035860343976833702105145097618848927510308438973262792918531622306506868211109466794565121990884496437553407881122543500684424282663875137808765765282798051364541702055467116458608136692615840069838882389631031824622737624231181659751074778459670070752129691922191086224019512835311738226428851189884297967057635095288160960965339100457798920624965545458221727464051797647647326179691804479932564803631492420438826130506773422085269856603935807889502678351861998044426408397923612399626667472699191984627991910948656090806310662518236050504978931780312671983006228019008218308243029966734913662967959932968660114152871787925346508488335568934770783304256274141480088258648970230576081109630654040316770503268516298820605984506518996950281217247282310297938344274378968007245543840973121453650064625569751525872181874404021920140759914827211003640705806564405812165027139222179204671480128260978384316957002590324057502558368377814704086696923021740305817927403576687556797661302548708538815209703639588509747300539549494301324337451886138831999995357508208251250361216207256293348302405921996539751038884545234370422633113400534216151925708756257658421333166652386678972423164653196580557070485605839135661948477354007532375168603699470557222821562307303944649058656600273585835758963731953276803251867643783298070489689591247070932786143917551959913979858242153892187674676100418107416852213181566555283229940938298933670707732626247505934558352851766923847438849540171603608988815378940682374542548371086059582083218758657790319543584632976463585209031873278305130319227525648792615601719698026704050832928716860572902843167435016264920672995861707791272544020937429679150276962379598211378998666822389409486134442063215319150951296041187665330619284399405871786793469215755723578996321939703868325451324914931761130211491688382356726485405325535865222610372390702661321108656807982139061534466367775316598007998357911155631538767765938276313771437916341073525002366132451773257183696792734383285039490573448055177827786097523967524020227064756700697842051861704543936506600786102097941460950439213096688336531304485702387227426568957219825327794618738059306689146399070685458742314178099882380372656376641009883375761355767493993982732110225915149965203053678478391622084516338615450696278838791105378902180003470780174300291410859279294515316454420406331691992648963793299573520205177083075652260988182207978424161554408609041853021929135040390814541755013238936885976984426116854784775936402929516535172183681027503271260948625374306420803994245791747183599625686970119371209211097949439517395734989432902014245989412237913179169612107553529758334975590068111258737536774440230942423674177459343352796374168939053060536912086314927925513762305605612031949446840394527500749233990699860286496907866405440157167724519150455555275401191521568862198905246775669492094569805772929901039574193986418143603461449756725502791713991916733304214195443562578372743888479292189897682732804147676839978197812921564852615672517336238814407838966598682064096201255101277118358862974971789292266938368836580846967686224984737838726911774584054897638610742618542006651711840756475389669341753654660709993767057526534816643243076359938638867931432385097051238443841222122405916516493140555908525648566129403143527405929941668411091968622713562676225812938243403537735357899980590174004020861111796594865990933297585364269861013653551249927451619731793631660508719075728807974558874305616330366874298364743181311511226008575384402860014029079159896338860356203551916128220526941800076670496824412591834467079639289379045875003163707012978084849983553013039243607831275238945609761366460152826108414688676672654180887389140496214524902884980717864142288895328230012327853665456749219601710759154040917753202716360788625666471721860793792214200040134189601108485876950453077274344696638570553816665776873836086945056703852952084301965712504349622892071654322337141003688075688235416341838871921630122350418743011892900663602583143112497410248565150031385291184943471765353510293733550446278041995436544759056675956498057666378057087664693591694559581607965732026342762853043017286797358042265374899267791230376809252694664386508599994633499896452523624181305403972393540135846042476777457145275228060693715812946065586040501887905004637213091326685863565694047792575348067278704602599412596951125620291807151501392862344227820532649673130007534499229910394623158129569644535605768532777737674792315617764342993396395821979602770449246959250309022168990297380224023852205941498597817619349411213667722637749724879772693136301702262098127257752843887381238813797609913256381445466946721115358316629629053987082584617864924094210609817837992221554036505263828711416143283397413437242170405190030456428137201030641453423831537386876253310816542334773756409010742979968462683873127096786247440106887160750285504077825497920182170580261284031467749114613643431834692956801949367002457317060943497065992571751641215445733823707299200860899375318181740348380271561817571270118623429566576658211397133707874859745959382420102037834569305720747927356572535821739356290914424194078982304783777755986028692244848524843888713478881890073724672266746602251168983368447903932980216649784556823149970606042020944168877081407119042939721075462180052435884462293345022356209866840939786937021574911150050729102985674698993369L]