3762627320309419540927973624300676948671611653617600407779110188872740811087448109240927948066844118100208952863888881585491075597307428223510808787846485593143883626449700791669453102751176464726471352421598443863139257803376023258491551306782196122812250852287127383423192312024206531527745568397639059280592023677839604260109873778707756059427100170597507594862632418123065786893953614463950114465277584163843138509945230252698216074491875198949833466581751673381720918427311205541200475643971054145998629840305535582147535630155744506581522076534848501075180664115864016224977362122230848814326912314046434261473706781673116707038432186602750130719987298879573427745316581505686674304281249581255886445606164721261690814763898477122782398771998167148615905852674842082969168975689541142627985370678875881788257202426688477914082869458526442173315073821622020317252115859067308906299451663794520741326233073864593439505975337412544278575952302645506194637478632159906502833008668287740498361576577238521822698526291330167224982705567750919871491624741474962143709574566543793866330578964189459406963528998284927075862380235286872234024853345053639868891419007320732218553058322308287339339061144466211627469609528361205112226763384457194164017853073685817484823368087494906691098457949797170406215064455124224169964833640690312828363986318725721115480559680872619008649412084205744709668746017018872724022443028498464249840651539711114469771521467891886841095976098535412574711400698273373860570433975133605756815732070357415458855479730215896469776702553099884421495427917553521202557957845397536089870536998029274970655294948656534698288080908405471090495351015574392190290041688787736372473920369579609713872641425152300702838896857728105479622238478448722612397070891339301624472316299450789587576709640802259481100156225173931501476456782630750866488906399440697243912186261348996887427362431266568887403537336015758595738964611409140594337939515364848734296346361411844648500047531405925569206347432996757761524665258714645370023313098775827393819680154682695027326294786426707776782251520023766486854596177944623858901013390938524084792496959234025237566650413911391530225259762285041607759041180234266882858086580750526420548662098787962761329404557100264121320298984151293233799409535947079009997413532966236186130624432442331182436723356975688751105449783891135808143841410285406040919308522012837211353381931536637667410621914736972210414567131997749711903386974295336793517607481352543881588908532211663334072208463741800700554786953286693924761045236206352820415744304797273378901522157430482056597077794132022185301144293409168965745268461770210335854105021918583109955133255298884204806908867178063687902532310840221921808515411880581834076150183285465227779957005198695201329648294827504400100729599120252227056539389820841813872885810043858502440423408590987266758862248198343485835694692419094981205025959207781340819151060569680282787607486511692608715861739758036706544106376536418995078954757338092513241804546336834739115959758019434514078601395769780285161062016467975845975542410549165262573120917491099553805859875392559972973713823888168654631271427424611083376654571346800027170912384582920686143287868961688680818277579648252570366253312180272090758612437795731457799007024334310181335105679815694595308831363381524135702694153613143026253591643157628997312773198491117466630956729518259537946886907744308404176038964817612391991765296147555258044536308538637803433048893319124678308262035716159464243675597965896712916597203259683041590397987559850400130556424828978018806562447598511667209681589490271927161920772848568437696636763856573765832026883727596159726111769046620922610983733358331942129123795788040038402748671776098900370848742756697971739917526326454438213589149937000002855487122576497846760754465575750399012369009883460536972429004034045272172051407450057390200714218835043349489135240070000171502386990324373287811918928036296535134167694023714805798601221974497904674076358748318188301408948648106503248013854672413553448212122783107009385842193459804736959227547357395870090445426899494317072707536014123177710390249770487768411123636943724754788756705581323445808403775251639505286734977211702642020646710761389963450172352527829893475541680586821949184347020009456901170128811906914458160161107898005028809000692037954060281961861464254254224437222629758954031288603129551004727099075860363481252565520621104814811308334773909255718880991482874904848325725641113901001149427827312145717371493893904028061754595809380018168547937340156332781272100202028972666401416149418546856987199987254994046761703667243831551559374874278944015381105489644700738225642547049587697246201781755587042396091059728553173252428986790920630746718573880215568367936039102176748605994026672509203817827045720680280683350611531822505319891859977946382343407689940481361447445249877102452121116164390545280714791512758970192718148293821892262414780587607878792622904194420661130189950637417770061470812989192201296250002779876923015204223444664380380667545147548079491846202741780846691115960877726901631915083167827948535512395096159340959366149843797258598097612656742778382277646372231041703978652920759086751489602806087474240532518417192230201491100847362316678419138362482531742736562804561313326262411774849022789979426567890517858925410323591499431197987938724517169192452601555764552256138690307326562732898464920256869738869591258421711557049065751734611561686429600756550567033206677824082635505671237283097318085767166430090558772400819540449925742485485540427668759704859752226575123678720587362233718683816563085343215264900134505374665212510155477904404527978505972503765870418119659002809650247497873350402213289280470335369109886222263595813831878812458469348060396645137420608599744680525432562136750492563313397756818452609822508658904345675450041997258141401267067492050506611800635440680706512262577528199270233887846927578805062815734662795084879562210100716908472938118716103159381302473173010204125997518934963003251678970091413003864658054455780948835835986396673149954499078062846430928568236640545995992708093636639595318083038637126306205579232191733631034808511151872330253573656929123603465580767900036484749341354614060519585385388026401445571943459501460099527430171315972077422472519528471224342574061379011258500462310442886134540677578604565611843988176880234301069930387848033422249928952492699692630415328661895888784923293152325467990867946435304797026332674211011197892545176546248981159670781991771935542207832620836703881071148242807127800072156736114312427351542254045042368931652184327053217543047541878772847155597203534388682347535302596202862692955484342687330870129850047207592141575734567554567543657487137341498071428273730594850698301146295103355173556505091150991106735345670298553214823939038249822357915944799121503906809734716951743247727649809190881764136831906331004878758767746823346920121854064441216093867550884586508684080534656365641407486834595454862816271817372513361955404950336617245336174436862057598083017788403047764117793999758657969637588982659160849239214179876839697496751668752786608115002686656395971147013391051863473742417047644769570800915192540915156961626193050131132652906098614300463173478581694969260970731161217525873631791298214302385402523376863127306536368899127677820267853276907660306196008875668684479896497254294903514401067825372352001827246747109549645438075310510702527201011966831375282714866946109929121317901049667948325919630632645777477681547231074576540503868335083741996710827385939999276019617092191863855683187176004615687387507783068637945752463934592330090869175039733209556849398521630716634237111541597181010873046028791125936091240969060158553265144256850550675771687703658985499925600666733201379149415303852854315481055475513438479019305680121660865303964207055957997556568735721252658179885480189935582465938164339247135674782785234570164971314338052619098366899347464851093526431693502439018053799175384737380549909243155050439457995469107162052087492908941897686223133949155463103494299488146869272577593139450890219167981668596853502916861941972889687744503188549831427612709098956631091419263147399051322221017780899930967281010026158371583251331324410149350452067905053388511644086101036181388178684912864039537158362970118036894396583086930756592790702605394824482881474540109479459620150633181369417961071019964927042116424561512218416628614117811123775222483614556229080502284497774396535906462084993043362701488818562052709908407812249420568459306512892783534315630582539484315977256435788120784742096034576073899432911824892377586180638346725679860953343670339057111046618285162268602970913928730845407335952178039227328720694778229953548765669692325207266733666562816793259218451971608372738394586255580502358555725652826756114830398349684439911577869535156530669403471915816074750704220883840791038220712329795866288376660739942765846079058535164992668642637914498105001954571971238002265956306216727813370568681492728224964586258040387434203453625447843201937732860604024469731376060491684457743704116663536774380429598944618088400176530207645788747531903711652670323343017586450104305686851128151485886645380401842310905117032180779434962003197439439041755073150094590791110953806801077584899909359439640646026716914662152152188031996060673354045411727042351165254861938264668110393197323539065452645561937859898107940293290845009556759534413234028057477461962928693646198521924739587224321523383748467219402986934767109262601976712543594882486853663699859957539783143521860555812271166152815793107460646691283401517233424993314150124884902352404138470979211626748127628853194617465452483546220133995880100561317862100565197201501089190157298084295352971692852961971997616524054589876046232528626825597249744103191896419772544226786400475896105394936814068581269810857446167696180871278137353234220064781450169256384207933356788885363408525441189509303639317296822273126760889840880144085805488705117784772757735850258848397167679458936201975450486260199815683628511132230776824450460341919372124338661649221666713848049077290724590755677844525800604602431404863938496181633224295766009140526820760388442864293879479484447139105143098274604081039077422145165689089816377786999897640864471949948939567346035024788874312416411204161905509002580368890142783904421511171172320467257361539930472524641859192138963699753657794957421617627830637097062438108503255416279953026735432775596446771323051957250923477744204948626859164369095088435100630024986662589015024533376996950952451118476378970434762451156152497519366093891934411657762487627488324924313517958124891039702440382884226677373285665769740995033211744301148576133719694784287518793134348205919291250639058810799012447267859888004177183064033034279906792780580007815122525928456356936104263263055667820413359994687208724051466033815967393292751582355861917620902508238657833081217704896668669919842618401700831602092668534426311673413683676847047213166519240418750129497171885507914675600751537540599206384945646114774740903758717737366851426047514099099465246910756442585299951450360307831533519254412032027173219240933187548464815118311139450385488897541497878390221434370319857737492632310259271415953995970654403667809824852094589988476531082358148031416615174062919573771017821724875546154561852810197309082164652106822388464746766596405621187408090228165630316966617289308148947979896459490187858677617421316114193749788807593450111864096607127491460341000445457643053624436175322357467501157812227599933651283429275926141932255914918273392745662165879972298799281018458722289405083080209188107218164936265106715013143151962793600003729240821333747053250429889880152187270413787493818860749728744063780822100850231018192065930337616798909994018129038344938971733312203103605427321255749646820151471792152694437563038903685690837017222592035781195995253723817618341591794373582181607080471133067127307745093202472281228432749552292066576906144472595439713669898194852442157694853407378635524334819063389049434875602466028462854860298103056533003350053899185571691511826480890126221511520187357418691349438450173234397416142993853998831686793117657398012211597986770838417829595325137368527315082066808691650183796433295026524830521491556574943687916419072565617866912579074333124775683839401287978136133577880367835129160288976899503850549675368981997916703493443739894751288186275077648097332705684169298116744341016915659830409815844655329864975567123016056948522997530517004660483785491195958157901962763130178547097106791517317414681094012866576296966118859690168367769955612341048659544414530367144049601945149905960412865901625139190294808709395447623124386800810839310190130774446759297878869842884804817895339915835622419404782162654443976978561034385225693910176611918606462566994526086487595167258119865112712174873521371897622434410022294411909252389479131484936039369710901927266103127276670373200182283485102722135952520657988006335673293465689274537593391102835393712069627555009758088208482022493700672438038904813643592795945315383636449330812186535815319951590853407341423641295787219214363349780424677931160739461382828153122174632335541615562690872798001228792935480642208468556825626749618801459424644581346928580165126907052005579028152854603729331022737047504407323518089461395597861676426977600961879715955414291358001698459455633604290741161307107276111066630991410495611741461199700917670670711861322596642851732833591669641837970129884060243526886042917000807829808215249691380984286997987669650482916876014003532221920697652700992680291692055278371440106387476645764834039557494538649287035609276659153019869213078006710280207873889291177109417217989917937724013933051761602323122014707570082475781857028261683994375123231479947033835662730120557170493530434248521197360483439246296549592017879088815863217132751316376688375373155741162875151293830499236863179653760058663893186236169745153029396302169548966689205279895197037777994858644303233861840350163940730115089510844230314450477861834846444396480803845391438114308893437977516606081620764675016996230037799359068120206664275864588582361207103926046702130726275134360480101503108779092074792205631780890951361149159366835066639708888983019134140086660276839810608496898711225233900928511593563412091872995528919902763913360601910107406959850841027428755716818828668264259234336078954536127010877703228142686393199542164965953623055970138768187142468965550823129616739606424239475371927009412383957818560984932579661462403642038720577675169316383539770135448211378046652594233586564687122054192006662821355604361739542758167367034216451922458522487752579316119531286388623576724490647688290144262800762120892231306065984009425716883195174308539246745145087658237647165505459473057562070846770435141701257295690447655739306459074144379198667702477941981527524948386305261942299093181344096581320960586781000909328552951600843840809577678779601567753924008483463321188056927183859151552401757090208104707415801716962112287097117928409241731802509720059869570273113138211302652524629616563690902315247377632895368329975334335577191838592881327160057581025583292486245524656472488247440008328666291843219967115049784784627483113298620516237832810299652300712131994955689462644764639860941254454849317354629096469456550675110595536362824734380235980947569528172818091564003036524619366228135326235382892195757219256988792334957596876095670401327015894128623472160779236386529221710222094432749726740488030052134166475919284166730778682688901328065566585902575653512781571703500066715215563129471749807077328435106737284697644719709407249082593266095465129601682522246255515842541198611682740092227953404098253462234392576576809694945444369606939469626384974933338873319370974910883511918402845633964992090491580931033983268721128628837977135128332630056939042915798595208711644817912606611802382131751633797289971232993084212536612785065883880904103501933287959137743221510600011461665993789602476709960920032188345844213183321001907990004222157631163471814915105905005437742416633980162564074675176629403755418706813079487945462125076441982753345742690485931244751496585851295769939078572796172311979465585052056063811090707949037083542158363969341450521315329028483698424821766911064195728730579838771253430031237657220003160054822058492495518283906006322427919114054293745673973674216469150172678007482049346704125871897814172982731935960641064641731522930229502695292357463828001153456489439609239564200593393419754402346316349296726886115467342893037769303323995673295832677856269936976219509177406080248934551554142773724631382080005809365411926103576039178376487078004645737358715319336174712520330795369105976407431158520882815995531442030680424539492470762362815069263231384848787034101437719215242676805299078871381435206128753910691121138915144387808521496898958171284085699128919771811590486393422820490403294262453503552282524817856996225742988349794922175666351941573148447281151653871437063267324749684313529794172225022458181665623165428397805037640885703870332749291020811315080168639026069334263476558690208214078071687610047484139998919740247055113884988636049039931805820635157545934808502516510600293356871626229719560812563533553988576749361332399371628971337726584258195338667605767565709471139555475918874635111967548485508554092593471934455542396135795641051210657741296741080604173737843074039804023608706877284667352659162043556926797484103560305570486791157749418267677034075633682351566241182008776589097550928163210944063364241890809655647464885980396722156236326282857593982571510182497121854583768528926173235253502315591049326178060688011536997138788883816434241319110374064787655444826479804935956084480969625269652299289673179877226313275792757987905963270258980611949519785483273770008124922984188139008657075452452264766955473287298164861306652889355051598927747563940180845134079675734537301068452471555169566424007461291308153490556162119762163919038279094444599215527403720011025952862216776698141891273285488974250582159829633823940378917814240399615507471853147285086867291331292852509694009838336923743977007382643502013096920522997285996724988349650069752814003832432005504348304410486667178551805006556990831272310987694450630230896585668796038126896341315438518166723503206028608342573017978785458819130732603447795107804682238119023006367611391902683052275097090300037799938028386681819428138268261040034846674343525577391217044159252636304848191748588610415830766020751145954039988849881474450153129233839342231125004142697613025959332276590612223738907769072567491729378430652936726592499756406678516450516719391951291266816584445090042624553748978095787436880480595767223508395194772416004143203789501851691111588830530055475744694889048150218001155160707382752130135050072982098614685423708012135641748937146917476929309111324998063957672373111714745666708208114500377504916197562039719549350811849600192801668872843707743835029989909180346234419899674057569457458377402135587467424830586431277014855068626373116599647290418120506102965602923572447266308220281892199659842209554270911733851941150115100330385713715898274478593605116149278859221710647085944305816531569344366438402100795135626370426451897531371692762285757485537173362116353413799018693431995713149450086338617619478812001582897832930574345116064945246405794478662720265786483888413153623160037200326804543932783098451777870501644225780173351751507674452512777200788796121397457125660822190820898777490620376188745737047030119997736899836445310893608401413412295974867512144134504445697948168755242903218631092537096790607583107308729583792956656335406254564304187136415611386910461087434964482196738309437139275384037424972281865705649462380928331184671800096666221178407409343461829919028685307524375126051407589481483352893646184696302442200159397722012376085455085230450575405287489726324960478992047005646164913885527913950850155865439046547836388070476561577064607512166959687595533189347053414276493188157906450879803509950487036345161851507584465826712860663397913009259918465957539715781111913213239131078563226298777989170402835848056803135855723421339470663248043723046532104456599537603928832105500263474910679533393786569889340467814206273237666034681570504551232753380714470184643700850216439715154225673681056426411532176058563986544903018751392555863479225623287678980856986141727174007560989656554640239843925732242008197063629183206181484068292592412218581509829538787184913273514735694754647600579298690017369743303888252012160090959951698562803181016318634633729615884640831140352984747211683545024488571796721919494125283648141690457526298490440853381646460620665327057997031117445619266328385928733423226348083544571103042535408751074708507861328439843106647522739100961657880723618028792455728649645800599672043846626962435309273854913871175450122829072502530825216603810366489661678838182174606367649785434300468242160378848574249128761101247172398436211079593416383403638346685428140247107558287537991735493946860895605360289942732815455750336425086523642546810091537112155807406169523788469469623344560040890516469848684631594828384489478529276250028582641034962301358111149765867626980093490731867778992879356128817827266349425203092389225937719401137872714335645983905499171022245923204738293781072612639742066669999362281660777039293278475132021967196352339133163581438942245442261897131155461820963868083637854043757862318590587973882145920334709496637597655343621845348471842892456215970515878962506344529818154775363314891698948583046937743110747089479648433391796399064386450269106061814254324053060408044161081788879395837232539679584091109278165104687301665633581081291229035546014845012575934042162384288843454939531898382796002241769544899392246326264543144468535490989819143776402856261718662111209280194472113308025196063274394212322879191431333953659977316748071269278321455850116114845529337564481314469945066777252705748594943174521515021708424704278138622949491543046216168549976890652946996140455177784639536215281575265879925532311785648370899956573160052516848026580427417403060377482644328120889921672413720858596861294017195088255407789865614301421932642150976527295281743283336420785900008750480908083402835488457047058923962963871212496934789484290083489786163284533127506555084083331310026355708111972538046555998030132767347259447601515160659562576752596222267937089606662629987562712434761454263123790952941697878112598734160583962968252312109011270144560618004200125367577588605729186257158688691228086734505177195710536394263496295969319837647119262801227676305991833816570292118408531299939429612094652781903843796826819762724923399577778053323015697673946349778636403219652953413181575100088941692923989174516834982503511305565867155072524107606857118348905481107614966387147733554389179717938609196834549222578006924996780550479053517440707508290780459415452467719563543303233302348389835081853710074414837178413242225733929391408850333141092316539113505545785570613028137369023045396850329986047450264000003407947523665564269004130540541992786449716372898798102256211410689324205843022902812048770811989912433028331521803117994076174175429721654717898209908406024442984866022593283004904855558902100696298448867267668153609509729788418362149866633548919860832711662598703790363718500596570852928277148427554925786745492588780517322174920323902576026375143104937254647789179427020757372682185800375153160103915991728997115706833458865885177777949739550130724160947435053830525508454568640057142896401784837397232689453558373553193362756485209478423889716061481817083731262110052330201818066147956220446667663997927119015620425157191858624014716537549002054569388474337739211864618529735192120977401185006193654507570099302309159268878497862213071081011242167194972822608930238436537752979798295477748631664407151927225194923561345108274625430633355865367624868378205777221284629116643315791639450027849078430451116457037290146248933931885820032787581200325940843247325818922190949070113607692016848339221441536543554825694806480324346490654208564057626007655797222961037457304710572183859438150447550295036508555773169012828872628657260911777245652663846633995761598689756571047203698252552138287045020788893624083809054267196801414582471733131521427854664355406855102286500752995681157582133728338556216382681150265024337619542308029768927142279772115976931161974950853577895772984582275392590985071328117685983332559098347336834077888646135578724733667491085482171035759216099562839679787236553657222144853709093050928652207672395619095375384689772547878535765336236773302770747001788632119642376953384562547347526480601576814509947404668303155794764922603064058899255095301980357849010316711690526135676764809584486528199269312025593279660618167719539555596899359776642714521203166022681261206174848119672793110822081218449066541363320600012095304435370276921067409570571881312765392310003110851808866044186452991233234555631712599204622268557781005460023195455375737063819688798334347766201748322128500578358181616382013297129341292340275094266805006336149083212547565164680271881515139047369623389896365492570722235149976848276166892332699762985500597282000726406640909875174734783502712795335009190088695068437888059338862472481499359865709497293236123361609858794770251190920353975312473458238705830950943078375916154499323193776871876274012603318868791000488166243970382542984770649750808715349737875030228605760746727608133116894397320290867932615375299510209649481510507300561009639581501576424576636376433534507455506754497954528265908262612467028703143839382119600526798945747518922315354565535588168052536398181422958315968517333249403132950092398139726578312746696900106215555378341909730904673274385917562000834934918918475802331923680880874377768569416097230423781770767294971837778477101243521799775494982075742590300535887057934574073270754013144207786592295643040378353864279709577127446010325463298584902972839652397999031677907755256444627692922722625893683369995639002771074246419008467804703267267545652077629539475156536863689334909217980943881407050746015049540461269253542682398463174679634670897713177446675522939307370738828600918762430982286216053127919879871757990999227849444857559537525691491580513297241727583447299769909067119448173346104459178155146052864708626960580025943858373978254635598185243345840226063460286759319127652086671694290647766341372295061269936095425589256991039359965082076685238886812402615550447055363931554343025265426982026732368761917441743270813512724408734500792546711148120581754294068529609863534649561529605125532385246132486951808050020533086324859463612217498293206350669291786623095226966886216842808738907679079591298876497082273156046713711670890688327136363688393974356523603671404228854223062450895457818175326748634057463709789334015833465030993309155425404337749322678282372613629171722155939972130068395667020947119335929926240246086652355359160103706608222357066621966491318428799469292528324997083733874717697533563725558047745029316887646300757039585399164766607296050780765569527067973440111930545614691247190996694049050154208869338462172172841246152267698475408244562770965189705022781638178902458736722341322824093156964864019982565899021214613039626103514503860450453674045449312023484845222277213571975520462665003497010237069316414076122399890239941065861703355862574713793727721828305475810396654025405777540622463911492532297700240828673646882283333686815685610793650925513731165423115674245324680782244627834386798256680213772851175537220658327153822853221506614168890966899615998283515766427944734820500461961880141617360154537010061017214492407579305411874676772884515054395042982524611089757035496991421936134487858067932635275974117201824362058954757910548135646367550986292098463265320133697334189178807107954380912936205038456374154965661100191494014628464101627113780890919069570033980390563275643633625631598692090020076403968321693267326295595597505245631464534960603222871331192616270427871367327750938162281543271313001238071846930856085230657889299423230314918993602235201980819852175107608508978192712811892877095615386237025944116307497775484946584207010505017657406274723218876207008159650326176894376608586116926831707840457147574244193715417091261945991706464998408789320030257352951122778168018897829933958693899001289106907896578562867736026926155165756435193040237000713315021537113867476781805515686917420573395771418197377839497089831899228706858777405299138947820919842612307185926555469354047038012284515333825481038964478181983211763206599137240047484292391612889109868772597601449879118280569480466344603374518505417345401450597231692039480331973617168203353076235449487510608960786516841149863417356008169956924585269484360711547247063059652110637685022193358073879175140352326084697916351168446364878904246855314016641867701447835725149834366868432629309554347810435418945632475738679624068740883335120783920504361324720504583927449518801951497529092053511814568519309405644307307602954145501353293243707247987648933358908144464898169984782546330776577481838217134023591745489557105844037859673085435500159004825310813609567875428079184095487018000460417205757664573072520332242288230951537293641058211344668887701806050789054259180215771660340521237205110535544575143200245308521241862826470837442863898428280305491773321414259446835678596627176344776828344288872449299951678313781473207636523767797682750681959006427191853129909668933001107107850560645068958924728029239040825981956552358241713526449454437925121776011936017469014960403106719896598792393030042538588808570469129098228621635889738628486532444454276049202890874636485038383728146850771961048401149653581863788363431628732672897752110296574411854027890068347123334454111652738130920926760572805251762837001925917919596643824459526719520612204905964528811357210981944905136527113566457583314313407998411163874231877536868309659349190206684118395049636476432376285215974485215820893441184321050582189628250742722176285727922980198161087051323530159622415613733659857552684048153126368939213678563319588082898210847731663921887118077875065986071855912214403114021709216805502688280411951273775956888468919288007049235452830425003859751789699493327873166108609094970158017067399187493113984984381496298994634652402714112600049288908708271637977158570830845764664445262435123949896880964441818352988131753148027716703257449284473396461876689450021357191010557996633721499335447583202413479268922205454488923781012253600627520740296734527806007233604767519594623297650440141875245712464413886206971026030228742323560902390011618810423555330562929020269361432224366712355311604616633669703035471143379810081442116472453857304519957838947092313961206692322884879563457167498884915674917195673539975791431310711389870699157510508077220352433671559518433285345143875811154411667518362781215829217808913354521272119388510003024704505931393511832771623623936307867451591943126303466728121862548393552647959590947529432518873612068322018078062714758010807268575307609506313695161963953789647177948809540800317404700078032840535425379459491132612629433717861313840896845968120482435706593624019098672178091049382863512985486496364582481595524710171370818558284742991151704185293430412377106671871086167576196549581819639296484592209066686230299371234263902361681588256980000947071497888015283432258956057041858908786698127460796581296991176076845505417164143892021611838536210871313120644924126298381234856934175497552945367087825949434138546095841146682481173778612135080690284309967206323690562785284254373713710530162532588856485910448729191144161415673559207799733615535640166318875221141921804166719284300942729352467569749166848776207301574510757513588405089967587327575026002753102952461457116859606119819094405690847082804599469070062971411071166875155505441459555852904102318906411971426561427003303724956846488585738394547247588950355930589447011840295029888673709292351295097172202714792550920850186215825533764945414770763758867499071635901406047415582867743583490553154294899641200496161510869924339769259114245284901062159041584551476498922451841958263168317862910560452697782977803220152849040107142402180387168480406780695605329660889827634483533101260731364231319202076424877197214397524957089019327969357166998328080475184085017714749566255088886923542940552334808864480088876579923127273416897783221220118766658961789130720508921153265041717613782606778838621837254768949601070340928801674858584050845815913958940821999374133538623115716012816999088926440704666987469160351050959851595576932531378395330535531526676223817170317147680734388540108830122940972796465548087831952735858142139309055510318101206480066880194035031682624434665213310908018421025184346790256788019110911864966475810599614393104116117294680338920989841371691102813542011045937935910157226346628982283498992785387392015750413211440880689858386015327993944266410408566452280992434224628145787737684239468558701234696501170843602036082847627840319970187172443747345530392087118115124832176451186749779987609510122515723479587162030039709751763925508945894600813917997863040442992787266737729111800697002046336514231905687598689759559753487048572773231991860845800886225920788055389579666640221309932525603409937984850425548789682834394745639338813866421299167441880355929852634020663792718453541687179055319711888167339274538706514529051933111928761699152033784147143246668860647706722025393817522957613400564345917120750031894180852292359783285007172186375884879009335213542143851179706384872872806327781095381408389018505782063606375475003153081993743322638998626173774099408507982215478377240868236635575336124455903840665651574138686229942388978262329884041455224856840079877703035924438573006491185282270950254856290157568118236755082078003489118234080891624300808116926375287100519599761291372293885512141852903853739959097216695156460655846232505501400231901417063128713336587137388312502744450863744077636450288020370555900087452850523279297190128283783892637813875292221931044873141531704496774304626829934411725989059509186517080663566007180789695645554215024180446147956024993468024446058466411135821434934380182537232089720833426670063402510774497705678752104861868218460548988768325291401997174906842906705582314934085174882372967258938596728212710237725053250076879728301233405438210816141249836709640863114657588560284308281962926002423889547404422853781987180781023312366116558844113211020009102443779381036810322653856867787932209237331023156421807484262955285119953155471114394043460766284796791007554765194698045011649129798999654030659019914526690603582472437840805817819262921091349597731515606298079906109208433492176228898518316317937858601941268891670532464195888674445549665554622676922332911888323887743309861139721065266345277565240670567670653750276911449295729887843511676042079771825844327306180541619324531509691175617448067112383226679839709927588333139841079491069942922814563496700794892742848833035316873112893862342516700584898430017439718004338680261320800653655408370180614473509741822897153703531649601159419493676855571941304469330446398337794389946031261717640795334268938376260964081262927006549066850687313300819945138849503500195264995336418402026800850101120746146780331172475066042162285250965634677895133630234441779304391965323002615988902457524564094190723033295884674910673129629048110423852331709290268670543447259302787021101021158016070414240180459151371583709501108250775793839755983041411361582407475054448324913217358594753993741346781623014346072832307606071105884957358792490684824694292413991496122001341409892351881022321561283483627768658983062175317564682031394160936725132459980747116419649066150733256491480455276818883789494468793442681627144836614092932489268503861923648131803202506844770631917010485399479700060645122295396198146776624595601676198318957667481169721281741818527469255922760877859978043234197933859451638726401499204627046730126162325197837987917370184868870496628148822620311149257733521560222147939191232447373047399556579883576496629964691006745790447336784434096083543653238817952685354707106814169424858649434603239619320011427479955729662132456427360361414162157620696819155797434461612029244007077768673153907443515818742153960636404829210954315897662888174237888360391387818408264453270794583319359587269109926471709878337669604552289200102840020908842509579924253273293578570671555716663565090318737085843900065637204551060102075884379660676230050406512623820409946803870403508549100463755896881562859809250105025172457046725872057047072083596103349153725303519213021339788399733649921552813845248381259199063437320486777051675403529538544887620678245041118758011065819308170137061666787553464560142073880904711878556211567013028335624715186374120751817619922765338800328056569544725487489665299089022927684538911550208264894702715907676120021177207024513083355855623235237354075888249648984569131454988623130619533497295652565701199062385457301641471046202772992998126772402577715819440717916106018786937294066547491563264984596465068797293848698845171660129866372152971366225000527784706683210536723969581182244923493161493547120516474683908300640057106551373325972441831672737833553119347679277411605762046720086307332000027779939416710483581121955165268936920872453592841064250776392296888976121581776972307485015345933821433691878466606445057591084477511980167004674319815574772219971070187888355797788336713035023230358047873352120064635949541875800705592837140146600204159346937018567740455579230260676601394095842626772220144270247908038548123385063285300727841642445399102441047375905088763927172702723077171918509107984286904184357654472573424435234652352770216082420787030574007573709086118717960038742809210967337246958820526520405685606602336160865647690342493951412072216922908472242277526811052260491184385222556884536228324650700819357879035713177899622197267259184861875346763453426635452287196683870315081436778341997125945504981923422665243177367189674234623725177334868276013721788112675957564297783511112485664575742237984414182543765013570928402736435977395640917528976969719992645132861426428270068755636535890403799932684401518384848501190141410414672023274113698459569573725766234436864385644589436393766242965319996324898346389029496020317949938571960804533545485087118902896654750830284538186685496287577132617691729283001760209938685309661331503522832009030023981422489622783135419619513515904156305268546859491363225586177583224850705390330566898347064713145521692131274220909834540022336989059262389812812896240352586275280117346337518808533668927554073184829562224104057314106862379788170026358779175917327014351220047150885753670171814626152275289004083658926044235797412630269179687943845549972442283457574491359154448993990235464800667006242158592492891815461942909619334659409758038229875060351222265620571457361183060666702824140703860906732850167224904286691771057158822007123856346765435612727542424625438823458135679240413277429992535318763687255179211638381270433065841200935452384448376404557854349570573118356801648399844620065922089391237917072911895358465067366305429210028219309945781398124755307229321143184088567796508074514236269384792100956726486384735169896834204514619392931569043560449132553914376305699756750106151164320721158899458434009010635842285357473352308241642554517101420955603948279193258513975685828824485789617527943704191760243135673142113865660930350526650964431846067444910004049091757854297472088823224324739648814609029866075867290623196060952312325202910596315388698394480622954485786735367905874604142114300859328902549349826387801012553639672572727651643382062274439803861018390056121559856073427417894906735841563619594202555306086486160644890162012532897328036785491455835951163327607440253821361517191696813245015750775158395446166225916241842418495001841485002634236960145486236736821960560734268954079517130714406693659733159055453304128209659319675648064069614955367297262294161636533939991496933652478798115388931235225374967333580450261809693826449986483216564600637817887169803802550881538009072854532259230621876855909809716992455770604666843529029900972571717385355821505868761762850107289018554036187773559736921931760761616010739507862846438532718795856568642693380664218162333213708455320589827884215121355687957893425484466155686198324892598388620179616331890409242722981819682709660294473424458721920102060230207326774126561444636647953987007730308810577621085759445843543326457249396069278743798273638970616340370986903788157084348145206841979977568946752450985709220915002090757641327562661142165266776976052726958605872096203729407194800082677538126325956339289999479577745508311954559183011011968916781231173379724733044256352243822956163491373847152687212537920115822172209694309577399553345357930157388347787744574539864409193109948773451236783237223664683004999876122355924358070347806106606584296421024559357492272893563111641294396842887627845024481702967186526201499251936449987067353072624245394310513158156853689086258783313755706122937622081990525493825100680302506268567666618268541062120260511147994761322259003119322458500614413980023348258660503858708770111500512846661528689974844622643804855049716979737735110672847227603207189876759522043001395017888109927804470322636947186698476387279050508531804509217986733462180196246090180630552350923379698707332032050123289414416744713584317521737849177019560245616974316079252937844656503527089787118826741934729184835198807875586479043147529538022531421108767305300724486430333596739950726566097079518261305664338224206862562379331168398864398210641237584822755971701597037858913046704287462950121380093879671076656175821116139268377755622720385093585797410347174949411684722322681251092037745240281350822055323449649952637151289314397602145599454340613329457489919670995444499934095438383121123191280735284188688121969382404813042116635154912735931860110502906218982507909183676862874934134766654804594512880576764257661147703284644195484431117532399503283602076496945498500363503554873233541180884423384310770026513837292310398831279600778780442825645886815709826887954733877050615103785365357036732216694400472992370817342156739060620061019218445526261576140156218315427358292755481538253268899721274919839014552716541868758720858359233145601972636813688561546482406820381488741323792548703341692274203342226469838193063308567785215650872528412231538978724503034699777920871194258045927488791160138831828038553368861600479696709582674577323760546716754723394343510078800277231912598070419844106213094122846037397104245230750382781203498092822542967581556695863084433333515869165814079739215624067491753230246838335319231893200049114448472156980511444624944959970415262578177129273735130535422574190358265988816180793757300567977012939438319938008383014070878579863816658652453391792109296054931323999854009339409720749454948080479355766790630613687522017926063009585154128299658411613406002403461087400339394235307657268509845044794738677191621396123073968563043416384093165305017314711578972224953362689219720452934182980202708045313245127263566085273204575480911235757584941549177507055693684818394143637892719579375845204785524049303183465412440934454823485999930248695137472465811304743242235260129742489626117348723047370806829893031003625450232547274365057937341441803349462626344880386189914068149584421693328806945563555951776725177336679550144700156641729402919753410366381851877431614654856721063190839015202955127683168730947367350252782088590368675459543370015141410628577503471916870208210834076048896657094186863994716809217811701376176594171560042722753445616753460020447604609982257591153739075178222082453441666326541915822449262460716051217850514706289433450607778473595281332812431484829890577415764393437618961009482462529261748278621393289489437684837864038856628858186025068837321007410396968844762365861754587698339478174069435762259424972642486323230747680267492435823187435068381455124141990133626045798395124369982406596500973688157096608035923163823484571840665464025928521948320678026210286823236829681876609766669291319092325908876063633500277206338348570171069675048409426256880724582699706664268008950576264237695955935592918729615772399823592188671230422204276843173055415623581604757088505180597903545017466537002700651170120910375877614277078249305422545537664252913430237062002555809352129544745199213910210575055991204168643252183475597554050649779196050476794042692347852817795704319367037441600945630911690161603649342087258242815807977093254518452761586311593173971680005457202588637378538846243312412068799058912659502397912353695801771776577832783022723969329819996164721505884186469865797678578294767817306815461348918686534363839521352943489624525483047483876828964159507570922571976625002785681107068725828185273945446615273384081864456364892196730302829258767953309936415734318448631667443239669562104778219054918084728152118064385853674689081899372287408205743228596055954143180409159080554986835541037451860800826734899288972526620475552643625209788617504766338376831095368998866738489855488316909119655554331004853738377209899801776232765876361645472292182163231964131728454618166396604921244441855937773235152791352844979413699192970294819088224419916858218237425554935944867219110896627541393849242847324145067146719573603088912206948453069784456303774072874194798634031009544175542950237657036999302503457965420726849515228917857108543240883965540501033825610421276500699985430481694077538670708359428317860919078576239097177913955887573664572420143153861662058637384641108351366771067123439292021495606542678346452275518547740899450104372107852079631486250240295206733053739046909158784808837368932347711616217232000591374111015249910182713436747896933455556070972080261615399079772128683290298497524685124122000312171590529479122581103615826967184234396334346505615977560156874307846570904565026624371396084415299856847393905667005144842394814709493133524081891416890130511992941254607015104345935049001200494520081892403837421036036157197659768847187471224337930646366022008883592349472916619774310023223012472616653944516483825927250652809060736021573111504197822988278275348950117439699109891090917735260066178821791601581790781565091108716598767837096176155302811021802562339122922639244885066279350616949861154327352830447064090161756732958391126419453269679785851535820669772413369785752621217360943919897039475354820192214951046348227031979504996915237733837461294097295145545246769543826673802212031545199624291255538295576807000265775737157282835655213893604721208881597225509074696985346828958836986719360267737335970552357230939500536563336069657602948762865716770436760476432193498265541013790733410457190409858675129231511695036081701752737605128151313472975574755820004865387192324671869427992485585972400220553920117159958106755352503625680973094700695515290726086449917015314795755317837919518152154855387866442073756547409315630015554240884191477022872704367368824348437947194806083364790436328853797481200681299626096149781666036785905063193065765380258324027606196792002418085523549482884655274843154396295757112051239795222607022561181666477782816886318689391547766832579348639218849718647891678261519554317248123004878658726642794740181815728138526481364028208773782973455369221879015417337215683871127753676763664105949760229507729495863439706227711787800761443383979213193716497676357424578917204226545917567324969702160051771294858449206938334315621627705935420265296889723254727989660253795822341939902228790498464480860442676879870002872822768117203247405193170170468640827748468783534153460588524499481155001980234649096044907347296401911110243618617221712546275816018239253624485207489633261753454288114576925546384257574659905423345792484939568093841217117769193662811305262161446577289066975332623764391507642209038934631175448814353403268499392196650878322114649989306155185404179157089200665663594210738279786791400421498955315836819747715485535677827722264757449414195634298766548211548913767709128692111987641463627419895666588457668867521778130882861328986832508385138215029018295438336010270118622543155157986430274985903924896041356962661305432830431733112816052758915156690883926000311503218483375891551539822522564614045894232811966020002265411883388977390582679381381508140338667455285243500439567728533666532288806331781835782565329686339668459183261445024270803772306363118127453598190527507975116843154967712071881933694481902697902309170387476669928377578837527867875903750316219056803686349125902403778800521536117586220133724964341131283337059717339453725122556670799132938819643688961573729496476390683575549818715862235184822461430888333324295781905514997143397385129551981459659211601325765493015961169215181102273316983532934531648679287408726167866120414967132909838688551178955667719105919100193961827044849406177087689690600006289993477418035844602572642643372271519350164748109466620985222549601536642017937884546645277422482546201513206094459113630483631886416568888598033945319457720909550217005954868253795631413504569691391997473299678142283544900969099199936266123947166521911017917937820557169564380032134335137920613778485441870884197620133826998365104648836924333096110403102939459824717309733133845995205509444437808638611935310810341991946499180943805008530611655755940580598593984485348400576151745803953803191640174015173799874364750131451625633145753023901347813837073145719023698001302547328612419834305217677588618963695567719792133664422180052849209766537507710087429748743937958834498248920029771746521825611495944769661764631816569651112362857233299366739911568534645972257980200246819801967710185773099788808933514595781463581169468447238121482841410657916122079913636549697971112178970593700692066711680378580808795744014184481053221269017108977551953472910026348574476296084739935382574686321178616345044427310849196565297414286810414866608782602358888529947639681068728596866192071833838592550767530390077686984077450319564640494523621390999306042183030504653006468608697637242550864914470881438298068821555701797288626714857687493276421001181900773344829697346764317517726816893138521580224901342094866448028442204453476976100319795430333288418853200897408549428071115434275060480460211165018826037681018625664701732949451343946715826798264735819103158282587259732301137610192113428347606421395636740411531842194029799332571135800851904098307800889822089292773768869378209090078051259289556933729766687686693598624552418102485461029788458707660026377297446082194173918789546658296916760369588095486265120886615307983020988787336063685664335866565977065944787383741318741338094591398893361009474605480613422881011900237347294755303375717005207497511255985451981328800610230980732857455901000233123185208307370666402002112146558977407338075032773973195419165053703536333947115402822363270786156419043447159609982218646624330971986320146017015237192854397485584227331043744377096282711550119541275489754192991520801057069923141690675085284447428623430432847017074683111655407270523666941742449808129285826543606972666731986967779607180845105702069743841537215185904089599070387351645799510038638136086094022858922592454557421334043642155431234583738284037161665039244897020479852771274991057650585074876924810187205704819675633231729411892801632102594551025449521462651942005326575931143688540697952056257889447940164433387457142457183962817512628171400246961217025412703464627544694629315446159791961317880535994366398843568537634865643797286723453247504457120617281651380062308722583929642703431697736732072845103496360531984144928502809094614964600663752276769519790709261767127193579796472334204284211387190919266235873116537966487525235226152876464775339135774426050583299586123691235148615058753711031989601061284708560076942213327526496693712182049156740962304057696255637856160075749746076471131866420115831849413398995642766843585507181375217656455919286870128789507734256921666168196884806785635418834537693310139818298976430071964428188529533524344132885883970413221084037390834358536114502654987195599338321866629231792957455164624568401687349263442648384991463820760828562599833197936335472864831824770039912322126759306693086168646649531873096671502262570296151715779856266823084311568597203374852737464046355786833793513850336519366770416084778158409795829480427004145754122037878857430389421122636102624838625411254282225437691311574958710361586915237771541672820326108144392094527395459616899922542367796006468298743704494387531878557268804734518888328766520707563389170643094983815692254324180419436401800299671140376808227368212952033163021245282963795422353648852178471505123310699241486741627944792952465806876791939614787471951146392873560149333295773421617721351649995019943372849282343025261325324825820157341369604916532775208791373389024161121623377644175055182521424941064226554228736331850102355749956378924356220854049059284769754382185610333329823729748224190629847308342785667040915737256219293934868136603307398872698229259543039843504844674561721653678533836820271665133589662727185048331013141218821179046218037531374586891022805922927558462116354702482585876368661327273484129599848007684211078210937286798648622532291722820652745563133008870124454536818983168714128429216339775138810619035906329262193836714337119180193684226243463846428951662681790068591215652937689475642810980097946077633827596534099280388497181789542935694348758686615464172351215509078403278036708244762007128779686527854758338262639949652520498140835301135961235229184347497202395925149635768280209744583204443035549503180019139004452883237530195156564565578589934113536290309825471938485334237749093722763755203396235879292066076349615990510959573150080287985629581180141246294619717746545007066185200324044515487252816317114832352495800251809625816558269743988228718844924887478023850824123056927811204792430242627610132447130811942311655689951713727071885976070311477946841012495103282779486517665460054166406926355522471122899436441868509101836399536758948982526712573493677206169735639437690362629979236957573557111064833969132129053748406761573680063350373696501875726303550918925261399758319407079719075066959485525591422373171043050557252191653102245583890095301356071391457877102760059159689715423662818595206582587592460432084450631581012760918677913967176611774832044210202079861258975546614107401822953160147263060614285706546628924330345171478539068648292865757181126633880634631495314690266075197751139102666815346815932540059834948968235816341033626870886760265161985566101304666354442028045551759206927067424160504807711277453384076773525041001582254481226564962649992506706965280638750406903177177337018604122295161112802220038771572333756085692814005327321108355699974673242423923456198219155614511079304557940286805737742204765973903368152181771344128349716313604030956165242487899734716347617111116823458706486469930575347059270953208178727364368415049754681677907814787524960701306272640817508399878531927907138866030111862692679432525326040926530541737097265218571103817800553517690490216748695815296077033394163213235919789360989687391620147468891393271208296255094257361018897026453674404139638064890902891594249606147550524420809900189349773733448104256699670671699634501884229049564124192169239292643731254168115638048264288118373656872298110673488304823644571947534864675743091822304679027221985461838403712995125693596218406952135986367657170749099620571176480089615471199263173046193311059158019657877794011326046377582498209275053823234477071719467717538565170453776223931102048829573430947083361993387597792684642085079888215314753402282540905203811809721262737088316660761282574754627753037836677234310539896262734400803687354188529673552289452902093352198506468426782000956156456892001861508340028229314939584164374560711556558480312705763289627073145200856695636907473892754562877397473042616206954334500066243983721035397927522055416412137535808912542334096391942684808652242143398521930679763022512378502816246008192159135448799037887078793303213439453907777770469177046377798042987287065732879896500237917811000838534017305285845979660451652646400901642271865453329464620895535526690928004549882829381470924487046149949404482674513751853201016620525565004271723108284614715488540007508925108418337799270729573683344236757698532202229202269538972396071731694924147178395348145484082266335728242059888313138776285401035607431737715557961738467907010581335508280845531615551242054112345806625609163334980114320831066656319880706049538550082076173848470468449043006951050367975369117153097902212908003140937464385000400100431622433857841688027637678699732904258543337596408161939798772963488242685445086802096975843030388213472016525105404002686090039950208510172692133644913612716602633584591760084448840101473133307655115381380825719729876180510286807336574657128001998617668697388021679134957858947818575445273085253267762447342033981435962371896122899143878171560614110447527149438342730647894866377321174998831775058013893289917659877267050228734635925354246001089815520643526980582127551152361242804969211900958261926141388512792289100301397214316921169910290428449479619331772475681583603656490448400343421778237485856112761816757781133200133872457179346537102871094315438715061878713366187375474916459321837015896133841678126627362295388190670293687745668230967287726635603632090865432255251080753327997261460547180316942140126569258074121275994026710925047793628426938055654157739832346116588320024820395801674568792413061904006489428019177633402753059259650308340251179832182458863889854894639754871865084320106585471851314290787963562904915674211306448967945631088388780347769900554441135709918846724758535526582026140721613498070446309952610812537509761011828962503509771852006866743944036833184445322507818495070365868541850305847098879719326363840705881921506215093075907633928098587689830451061468968622024924772540534589686723619481794286664919972420399071333382451979535027924166206113246674820917870373175582203814148806389381069106414072393675099980619657753674316723052420920828980845521988320902218550643635523508060159992982213079133406959310116232231430752169073314019940962686809952928135133575986971977236826811114937551809397084182816498189391794549630579378887078618526465635189142109037925622594347093656174089390304096669918353052418035543573613023789671416812064967421889240642911989130712918415157345279334636724637618810651177902529453816599952624505571798498740696987536422794245803973722696765353116869048562042440712982658284696382287044359693675963138957327955274078414473740337741637379064691199040488852995760823551568937047041199975164740722188335129833538748645162536619937860373367721596460976230902895682710056729888425523247237527185357352034922875327641375127845371117410813190633397535047831479581223314634797037881396189326275307649112582396175214822855483913787799957287894325818193631933311181086704484927508417781975316424622203751244904746525623254806369599964099489964617189404894521480377886735721293902852332794942979768331914033433618942122626824890634825239582944749052314907396360842466324619193009331822561108282529162633542952886968215335164416423696050245523220042686102553206565160294757170285444165320750307924954430257376921338870945076879374718843680272416203398806593520902786045172414144474364913266266444159666817222779105696013639384799756347179347267826538802830219184729436471107880533413697628536019962609729417571812272945708410306677649591348539857051521472413171836895930784760475538785036444538117711880257204768546149884247169930019145875242006720609134840833845859336961172745815829214298682278102898015380871454475805674991812092803442429675013693261660841041232676829896397667084140225330553721304293833699407922044577523905036465859128069851065513376766279916501413320206412963300977504505156307630660202409839826687047652282956022043393277160828522388507803505819149466283266128457218008369841856702421858461306038849775769855435788963709830543437305882867311989776157031095438179657944675874742357061271714631607491859437911257064181352726986725811865566782588906032314913586177254710499747548242484975233840676048197062826741999487910204372986896503885550659597299319856054734494773339394254083915800505079418996229159684183475065025633675474007013981399737244757320788226736437726965939753238970048961545188961558141017431338332239483992898944769960714848682805853143433228704601772266024215890215558881752122200426139661241362828716982195425568281147362408681562151460912469288402139379248494610757848194122962286223158097558534229148551857175797112912677531053967723808625205916208476239435821604995757378979600558182025608869268744582470330486304517178055981865223561505544274736453259757933565911061526954427073398273077323915112275960302109449377774417708310547034174495339376144685365297251055463902545583107665102621457662109400755204624380901173319075396346312943306735835942384291820465106490720404997582720240322479989528601642041890072196139476374237197252466646643963576514142675484210466121796182449191616883321842898501670299443453525103546621900861029048092348700221675248439525627632432777657779836360204167629493637915670348231978099505268207571362820865798995794745271192859086369455925814494968496505890898435471973555005491331991471551304942049495995444677766914060290695899739239773240926627124144213702675608586801803575388793115495753313162853943390939808120779255587904189483823916807710797713261051479328700092782454433204531636874816686696864110553884237301088560139808595006052430864505613560684564423924639873950311882249307754296699052949335466555789719495925584580784728265910499361310802361719888360186788827763895975102383272108227895778455834322943172509820642432000845338871166583734716780033333328952849966515999360049052486828714908995556145082197092341924796186086541256855164874108200780399907561787372989366877607776706706462631379667503281052829400070626980127094754173378551591508671260282092477885222078128288145372390500847535058356178097811448678738713476071817424334115260128902884121839920773116528144267057245668842744811222884709125931765222116390871994283753676279445078289828906195524890268895739336155047937547109599626405988912527132836580201260122773361163426239413071192228331618044261503226267574684916750811726142302624241098567958633625898412642805329439385071934306985726090370813866794202396836425908607635726002772202432116869359110984456166444764008320906832854953308015769135646578578262548043373285751775230997855771936730177496971149773762557025128702719558155370247524779581093873055901826464488141519467667055460961044680138943104051828624160256451829833738058564746518934050696788772046851717182743646142112890667972568649357532996501822001078866122996832685885545628929136913526825508777365819481284297889242824485252988560409637056845779952390826024971022996691276853749079061663161263453122250936300208214371797914369672907900531652473811990781128186476176139395533825024003226044681398012041505988481991313928396536437632892381220320451844683236879633922150373415451545003337024088381696734075611875376710512021859029693100772959596278229521617619689999977172121848670623794555524414411138341535393455734280842283625838673826465701284713798926389863730023669230469930300102741738002014480303459343473484768832732943381322767791039488964847021216654897063843047995781266068190865244041325630329908125832741827351856999562595596419902177350096271971827187637378278486112121859946129847500238166004726949124128731725476400326937409193115528401674212862905698348258660222073231662859149609534460326349657071147422447318361818840585450158362015359090827008893941496511448649274183266967756141290851095969887305722329194809938924023619608338901143163644547439842204164008899913330694048792786907423924713605048007502481650350002494865236830641401649815851961110607220904979019284276761957079139861852359251289607283478286199075261406421640610349787515125133750800452627788823792453066680966957992265033915294449856515511107807133637029659193189830381502293907370173148058466349378538867168895913327123969593531495371097987578900723019079433672109319117965765838249247180548769791612309885469393217035180056936097337225772701032735353459042652386019696867060344879215220585824435395081787812209231754713395848378986065847067090266647986560408297993577284983000664462019159088787035753151552529065377283181950754339655801164060597226535731817240216706912319479291855438510234366936538869807736812366217241677361025811892565257583105929197923026518797044669427838321330023436097976671038070854696720833277886574241455253339708471464882560228652898323767637584730219465598353633476842516264747869705365100564811596858475949725606232752709290340025873368231891414680860789824836424850684763805374351430312806458934992479750397833976908299845738128365341380063461162081975548451298823961078414520739837381227347130426633475928001084722955680303456019466969869978441736205346681283230826713700554627358982540779092085666036091464299097242219229438904508207444874873507839851794694054975629017594855648524704263679166639640390876430393763289656563236100249337070119496714779336759370304348146157196777245188754782822366171897517194918527402981174300028207958677079932772961189529632552248116914817085382590452425671905716418800509047297243585143233715457337398202022856115720144425071805545375677953674156161513110301855393851646914429045106518658734373669734435978872492154019983421897770214811608848163574563806985762894276336220147404951342031517896314958571695335831965169220019751156004173617291397814737749714939630048419239379150634418399883846951702726763689743194923912306091172454021499364683186587718417635870282422359727045794475317070657686928164137841410868409117172931533450864659700887637558276560623079065521491580243008935682655962879421561719743144947506871368655507763834708113518379956183959419286569040962324151156765060011030686691787919335440117623724938996666734525568013124887250743543209872325981893105594320304658088976109797977287747279210785584471191061868586361188100178736184293400596354091100011129902511041382342087597617619821721083187316550759508279041924196395613445000186037964869051461191662007507625239026512418665775841141802664197190751992868336821046226483902612697897073917600704327076367639808687494785556626069866503267257026765244809462178065716143868561248863253299407313994509885742967744079399340181480930828402799563971811856865903007099930219265663744839415905316015019040967523898281132633264866467372368111401229443616033429076804040952192225279640244597594284698794904237754618643102862381751620121544310782656067253582668730843907339418673380006464631505590980724665533961972519082233792880853329983379576728736960249428514847835163120893677363387339280775459075488467734461809543571648194002640487261708899843100365285695850908735816605589900046665134710711594175746204205219976489950922181599164794215836823472368461670830757136667141823171408345413596562275842656739156207131682932698816400666330346076780959242411293943909633668265944930855106336620020084341278762266252762405078070179614731518844579746996593400428380854916700257122721381722774612798290860986608981110383560932211030017106777675897825172276497600712422100868447139747074614374445698918905749553438135606134579138930720304250604427987691059963866849979305465917706576681688965659547487034525296944512770577133187836639082612307868036193806115908561570842173869763372663384884641808882090486352680957286674138218007316355990268353172749153085895527263752888624031315221630110772409885063936449571104367379347697576083486121088199625363208967725434783495503423386912242139812456934284734187525117341655646882486904388896558060804979433122470061409389944851831328272694942048199028022407590723641911415619539432234585244316681872914475428472606054679011679867158596049986146852319220398375080840554443168743075007146974473567612156463248646146950658105461123338075309164889485551361808010354252792719298146692738928730865291571842762686346529311294381801068143410679313966908127555746952866108276107594284097753337022309020857577336755265941274087318211207064798474090584702110942863994690160918417466837058152339628197214315157893587283098222195014836367882572920748158081201702286812601868060135050858078149378069320416223337832927825740787583516557280513306509391866834682933699417479709469398575169628822281123971841798737695211174966285308795880069833602224342848467008888366472456726049484769515316194931678814597191140616578109828212489371820549754726473284166097246283365329395867405733140740574203539071011598339812237212279799043051252412246128441173300380394790826167382005850977308346376846838455284494970077708642389964558403922371878876657421659645101951244482560458013766921896407592726264411466278645237427168827199816368404131006530372099881691673209040563663317344654542711978209113160536978603179533704802722634051015702663070924204795967231737848328594892985315884380013287962795554043231773251690791120916286741146579746072241221433434053727942599464171396518662905411783578727774192331083849149790879227009887396530638023937907084906617695425188152954357148856247918688221739655840386091976591382250073147102697725334421180219534541956676836518141594602734788142338996689240055205676959428342685475033067162793360956909734092649153569376655982078778652051216231697625280888196964739935167790959711240339148834217111727406402473608732646420951772845686236573843716971624719987161720353001396777475647018006723996932232472040797351052962535924618841189393373108204490754257719693802742089499220670746171852822103478676626548615680308493775095342200872437398867898647025624268489576829659536325190992455971820887579534498020639739974472665644401355804717780753651109465030480626106678356431807927864468416478099757593136317019805252094641550526275599231943823448748112377320048507531625917361236158385127121082835908409245478084822334157355549139980804352250642986492138782695684774210435400709348561340500179556077011652622567423657718726781398199265438795437802584467135264184100753522066757005552265892300811886249556231942597724303533615704339384918002261944474728180761104133524425651845283765574651771184546989544739358624282747814932387085930413349201620994676179408116610652096916189178546163104915686752951553261179024740150552121897092257674791794178184240562752461786544923093411339864811196332511176669979320453440832041685936153710617659695030023238496990606088050815884488491824664363424032937928406955795987354891134647831523474160640248073462686040724987334841816830638084342046129517251735817591555363708903615567392575067816962498878679940597337684291972579719696564458518252011430628885867737493949791626827971034922409282931325205367949747840232583511704947567093798762557581840191372866612322702689934693877896934110882015395553447916203983686098176488917573918600220628097606524263065822214084107170079740492929226718030448959676773757707999822593307342237104772148928617609859299034257967445659551313074069088081407104958424479501919325324123373094589321868729920852385708045454903846023906898974203783698233723017620020619406927205664488861263036038099049742463030589365581985598308203278524828886722371460019959889117960453341923251308400395273295091047371563899939879809336766275479117364743647534515449125752390311058423897550002556469044384416621474763518629874521436975316989127593945817895248492180622320232091396987767382131440403636660969109707573302526770811185751748759639496827079646728847422697472346385968675640213108840109857191720316184748870190975986961770853895503988866885972571178246331710271579455044641899007831475646764821867471835024925618865329096488665302486088581053949482482030806437686294143258643591730944034777445074589914779038202207600078812329888870258261181302162179051294282160195911029260477794790829357573582184296223270940310303338095444763183705132227269209633442087553962243766088805735798143351107504729005613504077557471716927677050951422872270936673854547304110105257535852856523818362093504525140904480766329710646956216778283383721808431312377073604371200638011201145287425232502930160224125246460089721254404708714847250885431539402637078558420804630718362415466729527382225215689651587739375957800648861382950826974757685171862926713842148130727202060588774967648022247050133853160228095481146048272088092387794716515163388983810119928156935307969576914703195107109925628258954912504074483904624616188904800302552960409800372734442343823953119316466357384567012247639035457389035661409866667992655559104843746313453439005795951517527911295926272525426005691752405106326818536798341051611787937547270862726305249345506685388133951938200841365300861529167980375479209383420051147200117915943581511549891907022843864556150519660815805005718092389835451502479451042543124933261155601852099045259504826219636752322408618613248299681302266942174424286158472292160290527211439881310925763093209338381113257145276379855254585418357468784408036763659274722274109955824274078744100028401738149034627044451326736839680763677581943648093225809582551537895643738103912345925884139292071536910730032366859448851880098242943927020267943997773852961896080482185211916205073468665844453401720241442173670017883468904254426451695902270372060417208623176811980571709836033184804677094676764812992985589907488956655112899271470668227127966762337949138056104271104926713399633327331246967384594997668997951293027151847676126625381181987016429145229097609262790809907718350365897796557583752843743415340487976755401159425609083434969918705371921037079540459892398290160798880993791746892771911830856925704703172346036204495589674267837218536871584114654113080506280012876553601022588090308369088189376922392405753653693520438347275878107347823288558910964898616103913658441779635437533912874495787153007175148691344746023573052867168976480359494869461829134310137925674609658135082274197539652345902373248152760997417270135470961108423349525524366193117754741861714149091553090609010785260356537041041106415585487556182118771585680791442900549305913225003251829809044245309230821154665980163153158582113046129244700208315621046804116420133067437568490962066757178720833149882648488484791466184966940364242517455203682839447943548574999250996517985268113908352110609535634385084500422712548860821884347776384735787958213109181269794572100674152858770090908135105562872840355530408407508311922488666950086549690441192033126465331037136791750894913117539286710923737306481561062474137055637629092733482638834072596292865538537811269423307715074793980543397189205248589261768138536581811539459074832858925849693341433696532540033218111795754099142501155309302634555624100609523873099530570844390853373343305683092955902096526512840184514183492797288598251802097016577986335605334283118299509210867666399950493822233152003934020896426421471753986291502806308397030673820996294923174364994833647605997086616008426852252736190961460269931532384970206589299396543569552606844342372930950999643909955226811345583786872872736126122645226461929307085363536149851125658295497327125751015730616828494213752495218793995478430123962393769919540310709257000013319658925927871902973998609710051016819401198289586976846728723924516457666495353041625307180473934689346995531835008638456404797265299899442526136999835575954781200289234486090799772230736204334363396734444413381605688209733170409083527979217478946877840157208106458256187924828506290206026846492318936629111062681602215890539871664227248344603874005694648535691124848782153430840400864628298300895764989333427568545018837678758225723766008854709201094852727650123499000996466387496982154919022472383472028757407105321812725063301649851726567287729801184780010175060242999618490470698067069187793718007069818856825722439347027498208005987773355937181025827577407308997664900593311413006864614444233900390359780922333910471815249639679614683786019401449531165129197058527905506547792655771384393009962662223978657912590738168569466622955243018719069042968815861424710244646427434338634515091244726750215857600044808359969184557232354839600704194929916935491114449833893864283686678271820931376369649026444702370107289373401137101103748129356477105133483697318428893615541289909523871231063815705166721850851803190313510801481998661756832922331373725715854053919094778970204431704385971376678687155952083437608046633761339197903409707140801615379646889709409750630445525697224189878748699664637781233803525043020805774631005783906387640145547638105669770248548277941956401264185641618643508325129325976103611186248112562305817840447068329538162984130461952747882688420474280478992048144428107365217255773821711916820263183820342167645027198380963999208680724941705217936865852251281059022526697228911607193318537632645897567289071141960202155929183773429257255479576606921413332700053978704241209879562613046316311619480814035023979231545277909070019000503106403437581119800817918829980301942295043164155136838710619649744963468884390803486268329294278665012800330320769496238258685541043233267309376316949875633198393716143974911553258245709128068330055342734990316130711733530464479903287786718332404577831887224225644322003936277635419507330853328850060354072845386337171157599374371316714998436160977093742779117348920319262989987786061339350085987929846135133801418642588687175967952575089469611476734502220817513870388225286324908358680662413701839661299932332168036002344724808775894887021348141852086559049817406885697731556731949605500591232921491264429003197157718777900292342468911811231957728506306325669816708999013208981831462004670561232031032453251335572773130297421634748084309542099377681710563626000808239293493430109380337799400480314333683026047975018788738777819253511914529217828607570348120055417609161093776646493538441456098758764973251915554917752997607483250747172264729111996186946684919094702929401323522131735304706705276579419652004317481021501181709366208274474816655857908126297233963781139620295871562374004737023492516578508185332570971354156595756404364182616974972017422072658309735244416103501702444752028858731356808419869949194660872657531677357109186070999456443619462539265085993601690646281642599742779278777137207361090165414399566494261075805632832858399829786435862060551014308584323306384927504801866978408367709130778270021402598296046972652666643561673814073993597295550727482849906388795094444173629701540835725454233842387794167147302486969404838212450220747462292541138089572394549562637383502856970778636965420486740488739015712790663260802850525663536448010389345771752047000666910564475403448016191496206263964921368918352154873923644261557059286087912128615917372709865660589297988201062653490661557023182001790610726082321488644356764965144206288997229478233778444940455975504493126164098365109593649137797237659266775501022082446369049872638655222783895093238965970867120986409677066575999896383470182170821798495152642631279617625843925004944459624887014076739223516126611067039428229726390212673396057154857809622594234256423862468274660440403662086411154430787604061005146413612363578922000760277377982623095222570473773750877515313686985518766813181566544396837296884445312994312468123653246075664108740940471627540906230838404815789784821994758748362455395787256234617817283067904259789367193716288069798004805220209245054326055952821732212745875709305848443938120394515890377958988462217511433463825414451247145982214075118565858409844079783382514011523479065805790298167595856257410758755235715844660310805521372357123657238713279201391953081226048314147019346277306491800922536478882684518245985525715708061718596865217031529182663244041122082768280083246265422856351473672858777785100826479664200448815000978657267250998955485430212812910876693428418313952405537719010007666909851692087227880552454554220921816975273906794759005451883976067765283684253729729265353740457223842100535918990917452837972604089200254755554646391674362622021941977453908473012270716989292487584329620567879197169867786935684017089036823732458435104797366768476380962345590433954434160737584212219444003157542986302475134655977822232647402791332589193559147939163437287557791959969225140834850194922778547632629652177260646765167435289053225281408134299866482226855751083602753676106093631964549024232593878245855465729925380292716976353178763319892785323352623220856273140471450739261507769192287804219366402576592752439348676467899825466724374649982827785421110193749322869224222505384827048168433475652675097348976369064980824161736003513248146772789287269686760370721156960548827745572531118255338443140295087861318662883609232087401421029705847713901372295504354406509570155937227464683244679129779736752345078714183507975887765638314549146918436786473062738202143508512114957536273679853774988349190312808561189547522909398223132273554310538483136436365298502839284626779617931574211830691885803376943804608865386460530718208536120511081867395042195267087941564615713809649253462989798492549900582972837862109407477216471372430728011798918858696318065103446418219498280165035677473094438080912961890807300978626025569378479765945025766854626339886823670657251753330015488012901594951027742827250252801712002162567770545737553689869940241568714591546029875134120015149395167617861474461075497509013052669430117365711819358118020425692635646473954136071993795838307560135783188592100399679253093750864342751600821950827742052427513947222383475561554339644886537932665993340997052595459848592395661151495585290549085969719958514720879437966011019516498383244617704648434145247198748587901372042517361775399008982741431669874125961039578479378652706862850263869063910858795551821417792729015012313499268823905157826199100711943282219092493008790400320391586815136046286596465406448588736327931645374933579120865713587220024198726110578590576158407229232641423135182931099614455278191455507921430734934905351878698834395197331315809299835922792675015634368409080910893486665923534097534384383374464702479962225725579917446783220601948845077640208209944523955916010905502377407228222785070572283273834072813635468636233290419846220737918272818681215634785660382456157085267136367830209875904240866674101915541325455333923448435092512604168391836470763108051651912172699438622269346656461627718936296140902238163729475638409303023638639952879142099662403433845109972867144069269235575829203824712009724230257280738320341623105306388711737565539471506679989520158939103859413360511178077030045949959345397623784892600413417011907832461233502091262203545346547320577690051250377607962597141874931691796911059729515765480678061230310902107089031618167224021145286387507316310481397010523648166895555286918966196807950224031610265794395181891482277290603775892462801420500748976796766143733979160302363338235815591106579876892823169502326918467687345223912205512462705406253922756379670990542799969410135527702330307497452721618669682135905149279919765937199965923246747351388380356849569456059473157883912850885560517562167015420208600895883430581238554356898829780869457800869083848374964856734811767548634533927755151636219791977622596959242928443607228298496269418003027329173433166096935551402212625358366719136736329875026258511156093665678351994982584200061187886253711546745133482813919037726441723977552175514705097000883427609997752970521901511211309752412412187475427628889911151126378619837685138991779770885998635497480159772571659626705205179628367483350517782645315946554426362001337498266531062567213655281592736475391945142408139495024183466004533738243483306346849268604304768032967215645370965991751182668562768480044672778268344563829786962810814282559385219675968837423604686114360308920988474367000471840551998039821910768204905052146192292195087279355175676271485195424643141979804321999516665284727181506794684117306268935453836654805585943465196822715251644200790249734080690282554089244765744868732140100239485993818385859235119324445568416005397125601535146089533080932533172985456509023732685084088342669958494055967330608207706530806891731146643387447367138792782361445559213551395022746516784911165621553818048641815576245747964426671963767631723370005570266718376573840513795023123680717389226974268220599101414782854692514202638550510530672150446815077598761627789732800015160841358108985157826709099091617692837748646152944515414424686445639404268984178629171523091636209140576365872645652715114387008013070717295459914296707145945847154225944499391820491215810495110633138687527709759870462501013176490258010781766654690940052360000126938006173748218303408644755867460261979253174914255020596083829946143079487888303915975673965850465872711509339631138796082678725212594644578531755634233500473004353717274028294767281541599899324696313826756222941106265144176646287670345078273483019524942606235002137634461709010063467638361871084848295466377474821595321518616100029566204942424583126277049769862828448843196555967685390366243526371265674239726594133160795147785801478992974534947353433947725216353253440994398133477861534155791126470570919722179855009524094206853900991874181176787639138559244635625812221449017770683549563027699180403557458136204668525927696604745101956870490957819302171741216826912699648734515456763838069742444604578451803358924318124199334895252098289514317859671080024403929238057908440225182290393733136159064765509531140379408782105711618184645508712750690579889461532441805355137402572539518555618952043679292942190353315260732528832100020215534570911438501854738958050072526084085238089275649444349357610318727240159076541595920855526558420155261179833082674660222988720846472590483882050416549837610695342592640029234276930814675645179439694796629047731722189644261215184554226231005177396351787909427983305038138645485010199899841539870483296161709201310200284448336474803419680500632762781226060608188430498549513899167299905976785638688532484763670309300997575049907750909476744874815805552167157823823861445823304884340666371153445822976459789178603679207423767350647283262289040407438170457292357185402620634685328145281910255964514787741219741565194286311908360848523744618875494923555746682666528893265142792284540025794960613493729244514832297300979375336786059084445829159890987814458126732730185767783672660452997700384557665142810278444489688459597943710224515533378827895740690394766788130693031824503077147286752321134204608790151568282900575808921342803782797854772072139710502747937205575261648956160131192366059889437964039924630644853099695683527323826728192157632942902460822554937510429645309693884131123489873634777641271241530043166404492865333007125249303308714465914190724024736261201542323870361880953365739466687842084471408586682918591548116891090537787546205407266311122812021085753518239779596137350632844943528980713690640263998052246731093982963322386312702507831505615003200632871512783944727978540041471435722974252546029827772786834978550748273427130112880158831239185160987239043164353368242475384890899622627943378615549786314704893855118802240112666645286767147533044935260381648303831407212975380874301449604434818969791998526604045189140594075872741941703363778296201251658236511605875112599318049164239153805976564075334266161187501527908496042459082519236344104256957896401657666917841476896312017797448604360952746994583215517396040901337333518207665997549278982982116950211131808497141079868166478163194208488238042249136052699405815245084917721046060665835776358882491883655859455512005572218097246425790376222874074532853763497139619746478665163527712189438141112097634400017370051360203118229538392743845682797834864276099052982166451920299082468995695591889006751854873781028927596156235245811096483861964867516221845469050159707084280766518140334871776882852561999065717531564051239917293459659566138881948454577479298544509455079858052998345093022876237273880765570869694204507895428246534501158235205726286966419334987347553487907479097793434368766401257505296943953632086513399040265915535130526999197859198102129720374987040639659334353174496368405994698662627550986303752499249839308264426172271812288537452345385202755463691882101954700945573093368805274353573669139133680090336227744270537904817831200300333065730167211901392186306347470787350367188289429738379003741829554691310249281155092992277450315875916031959075575875102848879467058762858866424901511806693639435312597484026527779859428882836467617465877529297282235014307943705451038781710549862373704408789234438317489543429656027468346379823654303257609664377014958586568824364690350317744556942700457240676136172203088534238419555289257961589719118962485326271709725511660531552458697220858038010562638692857093962685660463265311585454739538835093560616043575634179643596470989336307001459922349304664311300334974774810712956987453884015059446824306387582281026404806401456138569108966184287827317068203827784794590209738421163969880272950420889900873716832128117134420562651551638010693906817531073030396451615426595986567321429832872417579021780279825667700694971123981994162199172649410589087100598688195314322696648607605325375244153695138308063833594126664288693063676416312695055567133562321728085636367637243790413860002185984558294058772152193579580899397853672178956261480738786866706582849157053670728892671358038787972988693051023903270316119097884073843248351752079111723732510927312647572658855866949213475577309573230595381968663585932489110077391441089176032391885023045042882937035053657897085588983497776069873478734523222881779029806402480727500053485663731733613264502575236331670236610783045471822089603246404438199168572019292400471795446889708715562774793044091261715404374145792079449853263489560000538052522839774759185423480590643449702985963339357890238287342786667856442786611490524342187355011807452720391540692037255990502782528700730885955258084573634912265045119108793218116574948330656151772782552983795443947871847563640819174363742397681369554200564555463909373503361508563984940405052352389640077128074463867917412758986950958770587924311013855130929514610487545348870971357870862724296235089624501509735412599871290924423495845095968519869746876968311650134744241093089954642239160236340714248457755751215438455578113195519354130705826470315863784193655581004174666304435022390800266725835242619349792394624715732305898413785620599838391762245476966807286748708681410696821478175756584159029897949009791848755231989405308287081982851945811444633673114932730839115219800944418776187581854848859381261266708585104853938422208236463689250019629015319251582416052411347458410322863899947289894136270916857999186465369188177681218310996685604341887806713582604545535104774108397088650018378722386897274795525333109101948811159849576046598131541462566458664548505209859773928064321076933398158778764631023830373471064494219197963436639012149597603143565574271524298199404453123538994442970032452371322768180544333877175278523751883160089143587865682109052328517833932856204991469680685928770464767943673063119088056649517653039834192409810829634398250016320304814164045137090530455457099130521938332855665618654200000013076169993288844405371701802814211937836155949389927097188379801994677393897726728538247184165264632461750533206169983702119636109345521574995501400870192166776611263321720271322409429635202964180422694722864005057911542748257200569032228738333135280464389109165169391174008411040096424345361978817035435387582581134678105392184987431069818067180547468997215613367573455352060124871761492054490148493938235247734801950256696701551954777392076557752878448129284479847677984640315693548360298735720488187641773343697424553426999047866620798022491244690942642546332095075888127342712706070234978278885373286911292473070004502439217854273864993130538649009252273069486863262685739694595520758154002689005273756715165618693518919287188716091762379841700162054982691563172248476460531647843241500757064398145781745810695929080065872202126694879460420912921937415735947517005951994996288471122706291053863368458958586323446716346552838264110906754496841423157712995712224224800240924176482153443025347770150285288695344559904207731509624743371131775131122553337498350835162386553166279535868518354447064292957364992945422384120564360790985712111416059297709766102272370952174315911840611598218536763869076517019293265424245199766142050611412442869411845455421146342413665919296137222877310424169411778369298902724912643796103144322159088988151652816295806221653969878666582747939658249962037424302279927192996861786682886629160387270090289876055613901573580518336335464452057519810077425477210944480926131983874971624261992087526629232331719116378705904202065728642975157068706686286607913585359557072779650228846517209667193158965243209222106857588445264580476090420343553239097942468826974574616750016430449133470363050418980556667311355279616742047199097053729550695222184768063883782498870725884417636112019397776026803885464915679290492432109812492881328819487316355508819700059238470252290921667127009980085019856881101103360172983971979471366945156276612630929216404452598293709437099362465396037583832762143086896723079519223071365631845154833516813865787095231795880406999240832228897506129309998948537552645877757418131161160954717573738315081833657764870976447204588410028202677344731838473294752593505426783417891074922342717977237889458799589797289413685472206094039819877846565416785333663262676567545229986428106730096413680346191624612265185758758490768802412674146472981466341181158038389557961618807943687895911815654509306567358152420100701883448809739486122938280390470559993783757706329622441580528683573951337007749601956005167936394780813623497358553254761564193562553816255991746171648894203660925206822421506223498377708165157787370623873405845782452379894563301463741191786254400637527083423570845964133758208272035743086433427914427703624441745219627261513315758538991346520042915741993234819773662707369474775240430763155122489750497334812437471447853365614689629463944188835970756092654012084921326734518115181780056457666169391974436247765944950595362088917104548262949533038098534733634345809626921874278078931314777212702764466544071879662804282003273550997641048236203484912122550905904679884718438887279492747738239706695066819798515465739503336307066573264134096542116066309030737495711235634398500106847850834573154277740270130151836511605163478996771809812837921582743369606506174354236519311479754080941591218643077628650707773271366526657512919682548528305633760422088749031009254107947500887829138913916017042563257018107890813714005707412768084896606386377758168749590867776155815454092867684468427503270996478023533710579925767517945044691494857128285178654416201706265305880503321938704245976046772213792842174278148673160875442774143337545062877744061148783060475718562079367031547661530846894365212429356059114870024019708245767009044640661059152663643468044745649114171386202478832189993467922933351489110357231550459796598782128266287313047292348328987866178904623454769498733675464250867758210566933983867134770105192967789845549837214927305426935132901995449433254657487920624247448637281224540915754546509924678441260392847848323778429422890644861990185860702080822875054028514604723219380588571858364867618189652983912971828914851237909827793981382570653554030163954836616014143401477722236242637121793494919260317090313947101914193433925952983792724028849031451895297883071351624036921925070160689467775910173586289371879985954891679170287536164091288277873353510437456100826236365283070306757791536157130863409038345386951721985601325401752755599137732915103664706246422698157171854145665022403128861020946753848253729332682094971074078744028944226260438637124222739614026911444061104968781104487449851552697003214600579690048883768814183893215685733693697486853645063443774233806265635483068323939274651085375092555193400343736664120239876375631241691626909665187111098625299413572735326382891612721593112064421794337965255327590659071377729999333020655287047013910158830820763066031660464165467572366448424831445611657174620478714359292775820391557274747884655191110488071010266993467256722341453492390501537237674409071305441891020071234067725165072202757836948056270676458075582803188861466371099067612510078258676453600237446343014366363199056602062096830565876302938358253923120439013170657298492327152544867901903210276006845077793048534324415837965665249757536830684126578151858314839814667251320742409215400231725616173909042026366298738862034506214514519721457086860746950401023584946928064873569534229370473722126819626103450414937974912394517299162772128179663360752981442262188365688406463799864053208525744580148098634914890306726589153511636536399890370310083741657018271825465454581522521995061762680872329964313575727927524700079067309296727074557349102573670686316345918625180925935192450428160795386159767769353862118260076156694319286052087374685511629335994335264979178815384835098021511044671068085867405988597390551666133230148735475074924764710886499823948811369966469836307396946929323104241238884877408238832535467787212335224601451385168311968636468691223684830968585326513476122982114473956953702244905253965164475922218904385510900536822348895387609500938499580633226461340878639580583432481445867513647724598547505948286331827679933616165020780375194828910777671942669161249377886379171149916010276192317344033760787802794395422042373017511897966656935375817121359760512691398053656183675497523509551711940746111839197746409759704885970055666749769434174059920418915010577251227270688094997038839431498113336054122022421124017951000921355961373686838041452247357359595091239597280095230565201047096605728688406515149296727931641202775643494156760780362156210340528082432947513682728933665600662471714919770149312116473033000357439930807911942254901214615650393296387178372608099120692157297526255973700060960883942258977730455953233239336414718034832605641137550884827579950853337597151375021010502250155230674324040277780892842168183607774107502529308497771998807168945355116369309148816015996613407942553190020045936538138709040744900310322327810573387257252226727858881123805863201926642865547323101323704290520713487674239961282414885215377449797555089975004255734365893548417263861768369794278704294648499126413589416496913784113677427430181540591130722191513871623467475529578792874194246533795032780232290170357866391954324928196120450567593380019104647039859462517563213651653573037741736773934780112578733091494279352920323701813070943242492810855058081451633940935369509890975580398534797082185612673552650109248191561370598159326682947068982702958186135941983651856652541721927835459044143408693269514797999673228223737087957383234714403461893616080899684322656127567814993365963943802334509111968659058485971276667891251273360236231179667895461241377594830953587695652332978002230989373479827696151394682492716715653990883542167307865104476047612902990355571301097507045659410601801946493634733594308864815976167261811274747107537414805493000826917044519229073725205744155137839544095018026398818393818322105169578070982512304244625567778285232040138399620054427973750679103407421250223229771479754812732073825041173506473611686068241549831446554904551913071788512767651895550041496697905173024301076266711815965534334942255785992518290372978432965450685263753014833971168011217763822358724026510817924836957733016351234647299380082565151825137872996360099928926272888071584262561197206108901638817624773200466676397017818081963635113444590158898599381189376640252506956971761611550778706371497647243940127288344312283920069834