21112075242935378943817953617998531997552667983682047164105596277139144413522470699348226323862489404941135053376924441474399037559015845835257153645087713706323876036514836031324534842601032503020718081559938737144719735552741439373854035841586189013556032295142862844685555699646010253052820897245347108665288000306777566064726599527662298962777115456025281939898456986384253417580662014326823283959545972555193869656456829175041651090478488344435130783673662947738260983562382792856813693687199987673189334812240827565349399930714290841105150481057339665741006860860050624334173633223279327353384750720557065725299236433210214067964558767838322558447892462703122762957968058211265862752800621510053345261862929179208285829571660619152067908272128176465391542793345536034570254266134020111976411324345277122279372442327367317653715809840551641997986272816518379991547736978953396149848941711354224253510362065602549881562891292434622866366343819828771556035142512478099527930566277964172294167033183996811839372875989453500461589654032124794303774589758420860434081747900643731844408811894103976887269205697959896698661244131843204015481466601853359228170369033056524361462541939212294769097633548388534296528429468588237448192439442977321162542724116540976893567883974546688182749999586545110932881386456318972761894935613672627093032094710525469002867980696352905610417682740650863946510137594119613028038196790876617907818645802543168166897477342475436786513646406707224609986333733864647517277940387289306044598963936422166647963646525557168823206734130274283456184277771349329233917473526642041119692668585858681964237165886680488873723294998263418392608106179644122543921302599431543541661071451232694337436765125304623442961248532908944428943270971395891949637260445629224614729914690154579309182922939749381982171228652857973732261405129681278349943423590594980835631456015594218839631376394431633485531032051308126038987776580230626756683390422682647587876027678560685994689787255470316701711456838342871436011680670646525639473390174074970545910354787872526551046275512263256356811199534211843266267321225283518824064164206561739206131274292966270936848184412329968356120164103019490636248281120651548379938486909658744092502046215521263082362587172473775193039241670448377603411939687249975287808742024762213329934468282833212522313254862480679039391594855120784726134423338126568776481603295696811556054685688714624730829444343989951409623871450386907367857077556231338412753702720647289141560833289965592567042911350330087630258695616413246967619221484952780374277370247219163485594890258918275745489266145312657742997995190918994713398175895839272409936457645633497833408930260805413949879669374591233423034796136432705281471129018459670663510372792518895554062676866642628302840516923791844344668773020149687774232678921374059476128533343397143597579786495263539781445324755039149074148288632479495467523139185818989513623272146385898223565360259131835031664690428267898365898987399552882221518085434180224227497357169505202446662852109590957759446611439829538361877455505439130263882777301138365124902288384779781843836165547234932051263059753177814760583709684543592154113385929549933939027591549316811217452291878500854653785275659776808366678719672492959382410912152252774359638863248208366532389361720888896016641321936116939326256846787922678566647839791015663902530433598486898421218333834068609758992216004189536891753736436231454291234488762361231692223057440645849902456619132218401748904312743476985332364821049223193039896854220685664778070876189956956128209979215499702127653586181178032829075729591516930830991982584111181267388892317383274651169136005916442779999619853699193870400071979220793485882573434647828997787462971102143668288679442295891647773328978727034838239638628025524194272943347878298753523075598045634729758721328175422134594506473342833356012315142615417299463883050357448763285263438440284678455077746270595959236260229489667949715110746267451160982144725154713594884752437968563236562421728592854252195191251615566911537491111304962274847991387617025085880884286713106555266126563130948187301905259252099115397233699762805733735591904151331844198978140595280286715571974764712573328737146883563795255885066627553837044596807763553507072401895174806536814065262348090219129343221489442894139322114141328472388943683690566635483849474854801021355596041195946433162709769431984639295369958964873119715841977928443065386645491448038811260419155815433143608290632738841893710362174301752663228168957331681898827081064391821502795159293873714849186684842778252283903302739828565125800889882675991532924088904211192784661552762290975802404968345554488180670227406922160428137198403257780085978364011078537349770748797733657401683970231530602254208034536706143897121194753610714592678544146052502385768832394726354647503959253562838174014578983704961697355745416534906875046570572815291416028951799455069744968036682389967049756911988756771244664927349481142215114596746656933109596585062662092995148374655825592848193600735817105135604789433086340299717199107869871248996059497294702413876189983823413903734436695236627321889721396729846519086149022119977867815753939172978041202851966729016336377523473897476913002294627033443076979552868165952885593091375174039384279627420926934502947376087746916974123873062253571931390546199568611947721532478661472152134212659110951149403837844613990176152655029826209781171108404060103076429418496586966296659672498451216506171160921817814678167526423745555253023486018876666628986141470554004789472938626904253393855937675194698473103853497550172432626231557730807858026150681814013927551899719304119371875461033895849286501011441768193487278843315963432523444820155385352145988712268226835064341323178426291740613220655378589271668624523281292918672230465344122163001