53963524818425069679522114404418655907213215318128218481288404475578464397658362161909852214976316157157516151792383900154339464169975649714122416498697376279884984934717386372527320138045624859445639279252058477515762832362661048527308785306519211382376428250252454857728523115132699169679429432787939858875458194053868051198497828937148752755532590262814382567146343002154238002180251184839499593574688887736684176528099673845137135730544009652470451957414493916538974563742758268191878708537621105921816017622845137456773778288263763776984894722990873037709524122273847139392478706489988583984221424115311077754883233301490042879307377249478985156871181255239613560575461510861544495613621866783538290260029786601196155502691083445920960859255334336021744553947010716526125067407146446281387128895515747569154588689855469356291213312383608579767844264631327571853693530277655296991972139859035671765826371180426570375964550767779649435331864100880944189991248580083346379675886735855368371093722739211918391346809713565826705271919511298765120638627302318366823188989421072760573373175605295854586187950181838662378531431321409099335175171817670519492945580066922830465024027532227608754440665766797713760913351127843019414618707954028060661996707468930778535779596008416227299536239621654376822354969191046925698068831575360876859298564654811913920744253453686707444969321933055695602296128927019336461367524316452633935406500717759507652659072922754446534658893109148514775143998735824496644723719114183915133614746873679757973907883545247026356347758858771562852828418098503489588006663173166704531555694437178415579481725691254811814193196172416086271972803496155253341329678416706358312663068928962535120085090945310547601057828158717582145220277046540410998746813946126126926411746315711667795798574658550883198893343951654177205833087477978360719428660820033042852318271625410858494944168657460233720447942341537935259542504287665769672847796404513465449116334152950526064896594186903704259811242048719483141412623361142801900984367464888103317859285179621143883564881413721045348142755522840550517169008524471422305104422804619485289894897909790223311364675002499312279236466911758591218135302820027025830719676434660307435714584124848282748421913456914956579394501653989618727619621708886759493896049732069149994107214446409945549702636889717433734695493509915142078446726848182262650798920596930847490026428423022626587612722660465672864799247739207131104053476582799105381839604901583977052135860172742465883810732440285844241759708399665093202094323799266576991991916012444151911434488785181714812711433650987985313292224468190146466408739596068368451253190012105687125648453441996442130144843058491471986336094802736671961875921679642809201059852344921793598506751139311064637911354148908936238247018987342393950197485754128268514084958868653341803304756330474821862897361831805781591526403921412471432423343585258039341582263095369166867944357433342257181666128973034985267793822036739864611919313849691465203533862732124613182920112536404237814076124099549830595483191558196620766864928291344797746305920723996386435191210642199952942676939338574591716176967133647441553941979730267789484880430044631038677599533959525141809750728227841832483200327389556793138974537362493356543881767002928235465676135789408419740293906539598172083491933118873708109201618136152826092239497613731346027402287242559724260968293616949605423716383734249359963213446292570817043853162884684989545103578768391992862236092578653942299099859677519431303460569863394561284230843344357711662854421163906251753551275306918066049079942806927801049862838934144682199357040596439787943221500842581334526218667784200876613603425164553637372283017107871887462011652544319296884401849401291669335776858820447307134546479113583886436631767602928116634901926884827228973304223915391400137779636807683061384914483216790031340930668974334310929319360158752345832893573488231264465160641156605449279892713688662214458592936376483728169170449484115047347923217734141048723480229373695768321507273925366884521904684061676153829585213113829851357635815840975179391589721681767753132454712970248927585134777858893997227445144271627314608020981491644527019788978682628697906798031532099558465624523293878152856267013485263462214217242566898163526561037193325651874726827951813024262405707373185254525182555744892389364355206381017172846240724664649949782978586433210631705823919233211534846795977056270629468808437297882429636772916687655459103801671182711871610283115600777495528596594959285288746779925955995307207836985119781956919202938675491920145419655627131663541528540669441665352211722337231936213656064669238875386108252284995827782284855503921380684542454174653534863020612781715089767448441051833463127464012760795833108886138844066694934951871909832534598139200018946261402154098876878976582564155177591156243669248194831826738589560602897624282948539506186736442731971336267947695375265586863224353614014600811976682679895493148079127036308799913039325099974131188585797647947599544250639501492519954518455176854424207183777404556345833848288994967225752679304488754128668689474070274528921224077194603169803642353998072565880490573377897466459134042258042544055241691997160149667432164694175728900127664925494310677933297907916039985675511464341500119396612735741533903475534943587831903606922509914813817384494208682616488661213351591451250192495900803110518462386389322361827186527230374353913251461933727556374076842451629122241270308441858934494885526659152134551378665373934864717816226209356042002072575239655357530758427616518908253219206428288778483052743910713579368834748734179066876877907216305853486415061776463452594548379041463172791775775643364621237402774914795957664982754408854340879453059963414308225803864872550896770545784634851849653