12345!=3443642469186782391615821592966425382455075603963642461502119142906581602838678435376746672096288869570948745648670923548655182136797824248167396446568123671073812616181827959741368466822282105517270912831200468122477129658135123075010358721532920193193057146909944348088084155975635961916728196034220657970023348737960127057790058943731601999769921878753818471527462829498400783599045967970670404470107127818433655433470374209640378990530774123430326046352385298200940800585226844645713709100150711312379913241123921390158781895664391273866097376398536940138034174966818906543574156129455588360785056358215858476406232261228116092360454832714987143604415505323313902109856521166257896412616794250575712656044063397379329613101063549662488134760746678032828801295723862774849340221452578859369615970894568169874085493890127008578193296699925165036015155305324321920321793586685761228055857456035949636659021767166518021868366038629548677783935155739972465040039922729024128014718616057661615294841992619763407091038456857628326595773874773788311275094551351528037469148309735279844909030691229735475578518648853439055319174345837888800958770391136703218758603365545177035473380580604943330270351477459380883171645676490850700756032123361692581207632834156338846558274503868106439417392123380430579289647760899397527264087354290083697908832143953469730826630057957552470878227211297920287633550580259562881236275412071131726838234496601104597417360571207661273508818829330183634874075812705703265498838627150351458041288040020514970368708539572491921245547612187915203509630700955394202214308850170639550867280408011737840818275441785710499915166944498069225053744098955678238592746525662461427099606337794937518366953630170532407201844793629894195340606811166453355301460283595656555979743770211675743459149561031017390041099820720677150884867648140129798826088198199896977430432473550842090503175600657766015320924756689147251844562213544259589667628709731107651012084418643651896673919489441639505714096350098829332340326582752780044608788570648916978445515988783231299854307734934901826793168548972307049747431531274276909565508112874965886680885905032625646812817491815958414745981875929110805915211237231931725833609972876465417031877614542778683589975088487289788414140109736706356072507292002859799751454006458281981172761945669648086688973676507675013785070135334079108713197050084511642453971426902378917961947641234429838725352397069426279697912996490291496806255229357085081167000529208859129679857309170100526843064426470464894933572621982736087005377930145653517778194721375953905368575951721064606964405192049781987773418787722154339690286447258669225595246455610752081144992267317860903978841347561360148831585339619259090788848013403117153806786983169625119441219340362311659559939101556181074000749846456853277166787073072211740360355503621776970620159913070310939094052982377255504099912791643723582499069703636838585402085364665662144141716022340411053890629789106081965457001505160158110365231853797633490035737135849252757010762479158354815323696846241953088624009988870596164620355714500754431342259711179245809881329699354172820300936448144761661923206763974908069371450791194577478594457158944163409952062138243332490360690925891489351387564939892537109840871932522969554204098600245432975454040332329710012505325351825982793958692369423460763309389349201264277430773771778839904963907050916419013723566314250894796368353043802530455341632230488408040230808756617499267319833157746413173872901594789584388607899031976666344506220857987918091097679002774489016544884836055925711372119517412746491209148051831257443499968320008209161894350944053202657426155347319927168228996983975209638939123571060288837318664572214881328655707566640295090489274001772132510342648116257599338029448557545346114494867604923096996432799085465650293137585804705292822082527897017481369624117378403359005893343359756155487108647233261231512385881876322541722759809890724166839688278952684259293923735722312433959579875024799120993453139811244301629819262042966715493029222346005667721329397583885596712071569303917242075003646791053206287014885255432564278336293840296773872928233036869187861227051765317513840579956743389588650269041291979736065053331067779671344636371085802812527700565753119426196505995401311395483310664756477261037890275718355900939580131456342758780126819102232140277023858319461634718673016966841840037672983877204892018413510462892932380388686788295701364197284066272915788026267896949902356870265339417504915108202325868650084496752109471501878415909932496559174473718142793605706064065752326769486568268801400853408788671494766719443948042106558515146675398846944409873775992930238022503369337856942475640729908313322959830973893012052755370435051791933027641626683169294177689773248718971106288603656769631829269869970029117694753548597411089151671546042043206694341504488868790681239108557760726042986819481905428898949905286452306068629500327561820844729798936796855554855664010449106631586121388264365119150301579503702138836578547357418504102753918829262528276958095612174429446192141304130479212994127853312964064513326653649671883161769699860403126023604190336710968999165198558049829262229773113759046815113672328294912016864790870493257079917103532246827084830030700543765460815536367970555286717609198710300619416507011331366381239262370747747266098811527867879133849485494917644276791405631654000843239001048351366979092010219499181730066691316780239726938048632747438661711063049679225747575580717408126167051911731170724267762958851906417217191889798074079746024224852241518971875776570077439464207082774944055675408922734328872419672052641385904713343998151090116519640050117860112757197516712366651398086436911177278273139806821393273890466899182083260465040376865502653314044142887491215115854805097421329388965102636623593577329734292020501742666860333009243351586231924389268063398489286698870799500013343784691268820621163980941993315970593670299091204181270784193663951412034165758217622179463018168316251686356818146982778801200055185649378196329709934571844392501480973789725166538214534820035731265586640895732190111774313318075401863552282985257936866434058233358873285878035621066003141621639813906503384457928265390098876783109120859482913273057432802226371077212894381380141618759869609082410655066560702516397515889214691445221211004718568136550365004926027070238784541047561084385056190121341583171922046305561309933100127714423539387215227678543586174534949423012596321794315696062388195050113968644237230975622960792502617121333736624643703605531509656546485333988137612083863189627583053489181811373727693478424440235332797803425339487236250605201169180590078009115485935942927354302946218653758194536427686583839860355491124761664084277123682902441575590434960341688499382824915446070688815760556664924905272854290013528300708832442495363980388908187516344873634020343431260494046129153800836220786843327988464329333740503149984265483551129732783763597470237167108579980444964606618337360075083685816371015769465180656496517881703710032385269251738901884889762826962161675475309812599119413403551557515901864336107852377779399604168346620000560486292735606951013456191975537568995875122477567265451531597767449231271872539399281699526576490747868472477412243100029296447139283881585588169361142535231945357207757839330380412171032161720589701917748089689827124518051495935749126332991248658428969941958387981734566675778069287309160834803282752843051632304117311064578463165949825899154103912150313237952204806851420734204392886026016779810913838716532625046558906453605609264532703587249455699470666459799978864939292370415360563989561071811788757602969468466307993848291554651965801380124349429296746471340846605441815491791531645006248100781845482414080264418738589342281652666007134729419979143283474562960694125232047910439484782609826343885602586389788386262587024021008526244352972255768190962618820602342140361895536790781991191493109924651736271131781254432176315050226930036960049000886404749328537691295429022734354869843266377488550859603880822385282078359426360721175062635438633080718152419514020625229427446336944212716515976928503270920221848788148126524873180254473304839738767758063900707217663090609277889239384513638048770407274217089058785718765789934113224378833848568342220605382234786222176350169536745929075943112719351733034335709024185851366807923900249340808555832918583921470964946503352137509247596119390105490667511447727495353950717415319573333516846310272884513687317586144098425658996635686316887908074563039663508446084770269196187345258611848829645302531650343780897853571290784000534291477781754856275105630854901431073069172358266744557500264707684160668080685747094934742366103525744201197719254421328146369071342536650157252075948419287887193413984913716511232917614384437098313728092146635752638529677273148499520424672679841702525688495803857115127606502800176296708030917765198732248299595012966435370293859447198091188892099614349039182195840094432461744715298575528527427690639594205559145017085742033717576784237430415260248567987542034533527743778908891114695794451708087327993981057589779703630894638371391071398661282839408000182863890765286084617142862043370735788722486168424979801412883801409441125843358861801678232527234709841681922736085887074880617002755040774538270067964271812968077836088263666378993216565225956281040297575141846636835554016928495519445082350155181057405236418869328346659136906749794135472152385348570190092027391539898124865366668549338587164699701276103116357712404756804071159221266951192442326646624008840391602909103679248939505245039112268369615540707084059318598078904778668409272748764187927685217344925760507848574498094878142433242782976091929941371069172374429674968770390873559149067525277538959729835111481722780959849851871936327817261276448060788850786618757434737338251537078564171696716546105229243835593571387856439038203354060486393207581917755358826736116431572458893583858401699636863339440015030158507476903948024581431853174358219007639971576125654389402157023080584401491784446876603743062752489413973112221726369628530425068321130567313048192846616916273028966844027975663297835850292706467055765774235390418083132144341591677074420989914880861822011907423367753349176612735117216560572128595270252184868891127999753879936702053705533916315719941178086079315644949332515436707457726423257429324736308944016566655012305445582821824640915885836614807996728682405706751295758181739966221554722584866265497087333984025898109230833455858463048916452542741797982112145741014761365156987405302865665645367544519407725141486209885039336758825013888053454191741575567034671805834510433007143957037446852518574882553221895774814193090947822020247365840694853249599800485218748665347819881380251371907023640697870636036829407271386947533000804011712686638596541663603887916330013878542980122818042521673734623037321477543796667065396256685481650012037025310121440560995648858305484527981970233479263180756095590083998241551990777951767225404516436260686736604812526107886039243971402149400582263227701104699709490350312640241743758843462732084036173541117836556168697952499904789206054418217883578515302641793358687722742313334632943342761187846979335688909009132675239775827577942196582344402164646251807566225311514099458946696895549089853420589225888271553886601935516054252250996551150006284858100213811911137917481774328362097940521942924814926745079050212563105586473547151806409628824918103702033562858267945431458961557423960513468485059459769637415122569745457875747096544817867824131286563910789667333536360936971340277244848465095528281852073245052096911850529857250858412500691688670929851917298271498669353915432597276194400614154307988664915576580786548157493060098479370061340658075532938113459528003219548444975568882794006884957197656926663394252354699918135371291077708714566067715774869834655934518847769305770268865632750532809671802035205949957145500889083382976036945628548666422522265730576838107196041603868814759914882442869776324308906195807514613007744953151398282303681749068640009868913870240348105531443226671234672466768985647200919014522315514090659548064125958089485038834583295788940507402389279385045288097227965886629408722287613376368400914840072290588613142350883451460903977817491067200844585623503416896750201724664433663707398007943565900221236798375967570848115226878258300677977209087773063119808989377527769711996312233376289707358973107829567200819908722173126935370641573535858395548019481076916993057591353860010015858230489604334394076898589961941350888044695697200660547988455368097756430052958726097352330899412943613112986289560903171752374098413253543506233018682358513734969587896504228190577582688788597601524023290757023526958887961966671269701207324847126019939842781490616344962800598338755501712829236541516784260243150316157948706906245098457352974388582408710833984107001190192646799735797704675852334181314596367086136737516987385546905573242698143393926271292061267171253210832090213023304832596176312041499173306394015286580588413605894150597990019459721595606457389386730145996739338074702767581391641369719689542268941928780451797309062996037162104882426052605303004377682689786726641211515667877341285919891381615291539035313328397297136560992143521963306911933981236803509716653199198612261792540075297095586196097327761075297585714525441408009265894789619999036774421874210974246892780153935093612601706428460660594122316713492204874906112330313825694079934479056939250757175335434782074106798186009181030899376968093125633274730665556935738976607395850771298310785451564466814866631917127842338357499380854607414344064294399912336467076469544822020810129728013174460339373641741794302726515438913750016567604075241694864251467419315389768199381872409310276525789227105992848224108059415595680808253578684960554858736900124144849859487241622304451624997354599334702108202248306709691440107208159165480450880881150036714287831103779270569904381148852810955513649653736877198906003842249926935713325566268601812466449097795740407838344504566507925758334720216965914359518205740620290611609012406074346220581467248229556460967141172201372746236080036471592419625160605793766930034701796763092732268732636637182180541846803933654114422695825368422234094199647664991494644639427997003955063945860233670836952733499115945649083191145617713780447001444228732352600999590315708262785264754288582461779752481365464745221427452316883326370172993244607986545328467349281346768621331626643893302171087269838750912495492358458393795435330237788919413484189769393808951537440190449275412828684148840356412676784192835169898653698194223063584484716103534141043626419270926494416385703646214139915422425554590471741860565868621712831517862097064919163693720211819845217764924254790312669388529098851523462406493186148596500810592279954858368937847594881025183552149656545665609769146798228810650016326854697688986206679611232154226538239560280919115417200698217030511244719468177394426515784698697955870946573450004522813551691721348658473699045743534914372467526330268307368737806697835690380472831387681880224869600883322831911713303465632908411352147362218344448794410730054924224035059537538680993984132024970480794608265128057550275400083011779507798950670799823213483277193675113708468005482515738002374937340189349866269777704416005569205119636275376909498676832653577412921752861466950890937989644481264560003962369190770291015331892918321497900736132665924713762391969261734825199398462798611491688616522634914171321665715632786221503499876753654945933594791629118311597880187130132727137905159141806306605195193581034467917292706458749893588658119606113621067436088692726504766826547584737106733104300414817665948675480188807553925058661761736598238377909202423682131954493001403760445598107851762134442832562846985266300971463021182003644792281857740912622248148179163484120481272607425333905375915330970831989230121550064018698510412546190770927971591700304206023234629526865418226080481199449237743033310727558156000318956506411674897804250939460866979522595152642607253742026274117379379473500392850363220349283283939181266229534455585318056870202223161459033868039413939926485088651035467117756106199689220791428533260780385495987388011533117925571675700778759547441844523715248297699377669111483804870034535900851152685667928404252776338699351118825447728001103876325820931479890644725803624776292249950094951899395205865618941027555963435043342911695993594994595321415930162120418896635356059298512602850788999627028130429519580214516423857914628835388890653253895891974971231910575681942454427118071822514804881089492769301219927423323963148315314251490057767848261394849177393100973207398966833412645535217899203729010139892960541637238361463446809833383879616857014584063486283276604887577905607740229659886113334949885469022959161160287228375654112115393678148024773186658300366550304844238788873239406891621620551785948602641358576673303599909914912581979406712559709463343125885831831420495047808588864168757227612429642310019023828250926289841600283906362248077260431122870553058288453334753954732575481328569235517671205175016354008360597749161461090632218323458427282567836401037095401595142247770388479452575191411700093143922672126276158849157172106676283005255170853244139102827253878566352843798809547056672754348078140991047194039839646294281046684763137427892562488458693199469035493389182925132601033005677024216939592736060137569330935142973659482838368354476529006654051817458472036990572479310201556867001585228545056481478766022503075773989258273625153768988847966387711700318571664511940997904263107842572083226192998278617795731300247108973180502948586947171392144177699609598449405413271362886854622686575040261819485041072781997737960353532177987445649615831692460180254104195566206913053541439007305445583720748879040002573834484766172326389475385516218252905971755287344962554040565730259259790759004431488671200270714855951881930704182237435667078068088043818026259742927251208675767591676591308257606528752813213220353855412663082509642171342056920001872696332005348387643229912780751073082148912232412307830728929889001141358305420584305841767515321290381201256471921785671797264665846849050223943326439574484314671212018193446135130185834341202492064282898486967624433142797406921360890763986772341493984362155486653911866899450878234364590011201364050290779553521621635318176268219294767639570602298699528372201171299051864403740457209845834554679188046593270310260133239383290122574557806733998765370065041973855431686482115515920193283224312959772206698454334981963983516865751954199087348519345601574550778902523315373449058463302657105765346101484050652223876658469080080034040500349780672314632498619374516722293993533096939748974703039413755946593342451210040266802719935351054258375811677765604302034479603269322990602322870530997254903797350470201350185934512368000198210321899959367643587732545618778599364114963554763440853091330612925130442051844815390248391501171867127446204897876210866692632395414582861409537880145183251118512333968131597802120254955920746469156800574846281360394679470088151782887054814635971611067746906686831545729844731775944537885540860292522437215875208233013188235508872918126321627043034742389394735763800433678972779271088305231614149762647660862683775588328088027777775667211113344739871200655354175661129974247307361270966148376057649355414904452380124703354171061909783126407087831392009038193926082666689066762683661760096988436397798068866126991066513574868890334060285122124951221786197720750345630328497276778648880481389264443783037295464215207635669015322399616115660585885901872546677034230861785077688067552428411263375370648104579936049611030949030922384104500100903225569131353468066624852190020795100816125791412112430139669172488627601334062029806662144420019035334866785805066392491741845348020073375497515870561724965783078619389297331573918299978978546018227518799581717178620771373145305189492501667384077670624620623340451571080975619163267525804031437976299732376866756859178497614999424573446642183688463382480139978997770688587142016969322256015037284466181782785977570670490981880578524656977265630620105271615286712003043410257702430822838171450406880776778497445034230530829358605169400472431806494924685953485338802074772539086273668637723781062414511035860096430611205821226524254218153894097756282591994558594191094814110852624419383592739836916230311111933861912829592929565738837798353364401309700665011680019422112902487857725195635049094906619615975908263732450426532314486256157597357084046498885641277731474001822722562513284708126874404357175447251758589749742009636306970274641816546201346249539508645035381622416583952030068026914785745636748770769809783174250137574631623606241159506991074762267924954893187690740471732179875019817600112261653444358172605931686200456249212554738599895168452665128030919378308651304483505054363539690001675106292128457363645684952679568632630770872776533573378247354930859614498064223481784478911946752479667504929735884862286092262806610345309372518521415174300608575643891141746362655823230339108548533341457014008289901716752844839570293808624582449047717879534626953441082539394074027785220808894682555668886285720790071812223169455471473153595680089459400180151111580328247916109625914314866890339675934670864369093096475789670394562950613642400300804140795566862329243692682797327138637029034341060932369893847834200238703940406411069013340614452536910366198697312735148806118219849124030152027123091752521477354534373195510390114215090474960422858880613916537435680168051511392399973968385730306021969033417258377828423743911901766780508788506185499338854891154712991151325953249498402102517250357679565252745321469383942573190598330953507288889041160742639082394161947697867294665579213768611391963917582093731328724160051116705931728008950666977200662842719032970794773798700288712333370205554988776759404279094530714735052801991729140461012343567303557305569659748168099319082760622355885550923431189165578414007215370297969602261582493173930901224118401237388385966080944926668119291312485517725394158150897661554832825436046515899331561445786933228960179053390512493704899010762886405462576600646509881969622910025966083274480216797052769984140524650519771036709501494471912593118833961637893253186176051649158892452639424339410646092770907416909397974125144125911317677649655925914029610623202768704491014328584143576533743597668878780968756055983559535526364438733732312823147847753155580627456055913198045416944699023599616688408521797324359324534657409266236963148546001207681673903972658328286464660540641404317289249777628649655262733604297458789039476678021796676796225028200689219910645979236327662283255842358019207345823467132149759741618609071319520515186422509752323743822174464960932661995005547927344724933706632992710892811899510898437013257780466263561861392648936311635903708008350913645386031005692869753667586182612542563638630078721593490951445273074279310255554176036525910788861504908411498038924888996827842921970050626364935268315090955280279954391372275738719787800418274764893443428877882971720873532961817096478196935087306558909272096562670180986577940928625254683528225328111848123593112266056182193804282002829843342276328666212898152702990767481954206619538986079387317704732363842517943566378123969682271578359708676372928477232066708187052561652640572899043234682747728388396440219380170290670250422481452921392314470212805666982996892283281692896209757354405763278955096080731381458221307623299891201865193468547327233017531873451138010104247339003164068938719951830081864535291732235212710820850007857236392006800375312284020814961282396073067191814840954845519762566201358130085457803240656225103853133822040395244869844132353691329995880412269896579803755989598035658125086268194731262203595332532651674154719386924989923903181163778889487942889305355352951984453739636037005887377335980073210436607393340404778850970411928168044341347766299187865255290608182125219185865987890592759990470236936186234136420369690538720803591082750470868608781060590644854145692012214519824136551374391898452605862652007489163854148388835460463386522928388325670360009991728958177345179138186800508479566188818849924176229252045181580312408804121036936572224396286687639495231066785960924715025480345664672351259483796865405666794099950989544890300959292538587722814574626261360082162554839774216415407632293570588100695992857473859267388892154001501486100362816876392831063900928879280783678275878917160402271501781927868701909949027046961529145844980862351090985502715503893514840913135513700918929115196026254032761839831602583229018906466345176582510745539933674022747263054797613324158776585962633679185596780400204286474825747406174432921169537328096980263823918376684300494723727909039202048913725814640563222414157814557419412763482383591634612095092740296439624729153507626499272525260581195763302641719473691260226582916349067578070384569325663808115874913968412135204557427000631660890467957724436592934643325545403817285630654103299880183757454293013669618435979431757647604706008141198707977658212819435858421154450386126607628941971829966792538348908520921454229969647961335490326482762292329897858451720070357232066116211953760047679562474889712567884378395357072485872870655490141123022974830380291050314270324555262546089987808235538721313023316355438995323811081174895424258556977595166265823278968788394780107545362504279791251127957543804088946140898063131976549886304814085677608068469685125985837397241692841546605276030734499864370148217323178808328460607152536021891425318857784795912350983281165950765580932690007441018474228171908025757767450715255512009105060889498550851418698922845512151020260900896765258317911401502436822729688691027963005859545938031050341713336450855915749723568215822007072331007995859079335650365804553962667091446090191861616547849577007685922160157680529622721281308718731031259160309945270449451389162443674162982346459482101388763980931125447993567694716252844714915075637066889640469005188070419600959927865662804504926260946242937093101170202785981142722306432598894147163723682039880230772838940574239736402196924022289407395069653074419874425570608879590376161737241711694595966309545447930186587270033639317919935628922814911778401602325890761103599347757406204557194245401797577108147595587145561401923282247815222221289801739064142155763378960675147462619531681053444280900239004960274063483434906260392715968761806543846835147926138106184186817281645616548824604118497600987727135518462193875520948821834876837280016075984984063657696106426991692408945186375994044725846666708731379078080872160849156746851314513065476726686380792671376404747936265235443844934345171048401148136511304249682041492846304373394589220135992327364662909258706410377869258122181258667274428912653508948845382331180238423632322328778461922588298933697791272675018945703193805555611915434399942202119365591760394792221711293570876341095991980937172552086049809321662377164102559988109387884695607366090853677968412104224204897764844337010309906378982497245453417369921302490478534875038527143385355093242838345640307969241556302991756844590384807055003815162511582955294789029910064815572758694222740183164686756560465093550346714591841576159169052690568678196097595803965326643815675485131628142078715961360554185281136333283082762362622172505214730435144993984770146827927415934529084034901785542049815489729641022710910833068495391351842394951496875322177340336091080248809204330327945174930122960447730217391256841527618649753239202594861189561615894611371195928747037903637377330122426534063933025845884597082032440919876373503589687916857597268260976805129184258447105015587596523403421685396049918280268378646233946051197494928004384688398798404584402362772154255036810004716403857264515934619818926627505641040897468292919935714528402190060103178263457802592925268266110041360765720704346490358223239203102849650108165287174808440235818935612893584521597643247580664658708419276071528595380136191404307297067247812096614922443960489463449556698452562053706852484334615698187458528690516017311922993710858382929291890134487289632609238377375257772265214527550506415575822624809660042725319697644719172970300272719154017635006333255151117334360058190005540520944617712231255758820575603776678239699385620201378430234004271224953247111267385039324248562736865902559103713307262825725651855615385079452409720423446392302650721867203201731026548265499690089757086087092710838053263609406363365043942399016091680548796512360152563871974155432491346876881967790356530225577783388223633033357450791342364696947574887512438734711478308981287721338885549694742076718383043342025688198194507117942680190835905929159984212122615895504325130506453961063978618937911758533261950838288649545113700543872066054490409003757479187335949063441579105843444382444325212414313304807778414689080712864860390712450491608999492083500040229899877559468084085903046324417584926369046981753865696744954087419982276421626059903321539358492617108632206113393491165599242250565284441824839243710620061834202804974845649843825981280915579537795433373384808328634316723044601780974788605881243515159090381535426751799570635165454216008438421723559485279691008660331519652070316481673037097326799133658642187174921480441026074832767014489183595733450058891067857877725562024845127807460562535907562155890129833191911616627678739368313814730020639705743246237336761260193251569394854497603383152423971621326003375641979551532532703520879543815584382282104703831233071464079505830077259836281519516365903781847904452232033341162083845626505448540092463179199508905964697511734914098387237872735677178938724209944033931969592033367323610335679830911048065860005269035394751487876840718547843310479249427134809004988638346863486879351926478288270410647986357785871918788065158540671014945098790512536826997644766409621867843985124408542742243739714612367865555789629950942472940965808749273154347611710962142803846857599441746484134405495007112280022704774799658610952528091297693019015541932006497354180119950682668572352729670694062841523925144968422654644695107357043685905399413977552422506041497649059020891042256286104320070917207864705135058754696737536030814191609670387386737193950999193565466486889314102896739652561552851705518868132508684587170391210466253113299829811020587207273470999246895748494670137424633948883129359308802624084119753248860628858249292386975433081368267757041483312685108787840418764937711837337412494254415586400477135627462311951310008436614296333440829542582116769712444185040541569904571345985774629204759377541908002433787655855283871422900185299528530202561049213140573541156798435048139945180257510654600393393380490928759261060070675332415639808510118193190690767195155199316031842373783462214792920260788665256265791116806060896234355346361778603142233218478591456086041348791310352377109241292439970852481295457504093299258555198519951693139277017419925637928938020286398949443887644092870523070443744175194052442308641507480549878245637140509615442786211693131147288843719981745050137469772051978370072394372761225236864801929963948571025954078164727250429291368315348558622286130464328688072873470846592182933904985787795161341173424997277826036720406560271853689945275978791219852570903189764979354061308797180203533259734889862310649440001460816941732427083820925162639493993976893594454820215223998221769785710934524166815273485667381001371877533993637693242665566058952417103684787445320313829959819169629658562723001245432696785771752410248389247574015056522340304447451834867249001981834433299008197114317291817164370931953554450003590133182214456614033802393925907822508404727310170306746386773447999735985380196570194648640303946190493102269938172336211707771364350426825349868402842507730748604224751113344139950134038880652656979301437278385250834925938902828220330570005177510796982816643038495761925840743430622820533904795908188114278125672868649705702241934031650399118923169794712001734495310916177077066218722823898012529785653585715535135042432461989692980857198676260136762961708896235336645310604299539214964629681636692302652058117266606847413348089016733811234699455751046886622368696284237010209165417491264903162026616407774067270276796397843453262370239162900275345930554593873672053679421693174857239210334012952763539795138652929148367229810641374600769012248632068241124577804722428792243194246989448577776379592446588230054569264391530262396445886886508730161637760978576016101269746795013241039622799836549542735569634277806534352064640402398390216026958105048023896209194611620839063488400235324770163980302711508427787136305963999814284945796058391907507615355139029381103489861946445973675946720179334474184781568537635815718933676568783160755942216211694679077208853641660150598091673866082808644930533149606108775692001827025888902792340406179529708922913934564439609879860613855549540190739463073061224145508348391037571339636977525859008725337518111687054609145048421380641637338874329470448515158137419707654323449406691699038339321196756367492226354897554680715461640756607798959755385272005340141258945476299311294902015678567472484669613912767061025688590108875109502103679115494283987358061435254931235873674392553744333721639388139392674147171471014983012236610623756339683948510186080991862620072317307287480318419096179148637296835976465010015462424661931633100305560501555313290510136268710259286307774726664076392307549986456635003339366345428443322397488984052752681866639161083872952961811112710351728783751368867179120732162433888659289599258483166041734120760960791611355291610819971922166151436771234246087001848456527837162126964464366370519593719817038378648595584406902401088407767321590007050745339924920023395454934033394752307008741554147672644716914329324860683060223571729822842404024180485524185639689735516749903785349369791231800216376032824712865681664017769282142781214759690049235786009160443253160783070164965867838299688977109622981346618412405858849529345643431320418539115390329335154457980468358740393208575519752054593650070372922224666382057839094219069481230205470537055365121684638393850862118160405075993014845908830170280151438804888812646220916404400366386821166442391517907785416714300566480483493686505763668061413370329905296713850494367217991066174544238744674686753316667755712039692623834962209176628512896366783370803092057227346110425275656010330421206315432982675733191470221028556488511807410877007444833500290072467099178539222203838755311968587281348504395320876156546956397815835870360700345268801790779610982103048290674577039896321462646295810104375532005109716120179421044678974092344732898905903545923083145377625574182917279375710342811523634118465861662432541028313758280769403148638518452511813044959390282187128422163966737893557861875728646069023279871491970592506743552480029503440340050808189047182131497665902907134605471711665066139043432346778996191534327002363007113888920403763552528086343442437564906762015564256484221176213747097768345539770213532199404261786040208489657740795271702586589664395906997576572595030177617897614464890354124583956591587928403135457433792389702991991231484016912619004299054482321866641928152094523500855232920042340719021493714930759092502981398985101816304048236964920130310032044389201537738882710049635467310925802618321324403559373162888397832868430723887059246643912511204039465310287719258467347135370344178757904713239100906399056075211373798272981638938936595744388906698464483461301682414427424504337495744278918478783638120441060319378797457493411820351749762527066468717767011638576312751355929581255288274161182078769029636705730874481042429240292598422916690606671099670706197233210974362148567646394371008347703383024896129893451768170520316313560559987143901970248202560621065767283984602012118198633080414330787505595782742541624062058307923172504444849488166644370415178640811419923493043761158241724274138504246495870124235692224732057492218868909348993492139493468889641633597887717467914720582002432787629686069059466127845658537255317073161827044229969867662226373968948169675091934185183698592956475348526350380813267372089392522560231519866444789682574657211369893743709532817615167430698806154037770445698201995399194454493208132520925538420089982864471171636449459691723548397823741858811306359369240928336634275409409964847512695790077880148032029303254439039033053112530458856238583635821990337898938447104464264368819363829421211929050751102928740324039637983095780990774106648251299032844013335607142055141491171965070287065543173726241774872407825755317400972950482882069927431989397226937170734513846119319578570221688711212294164985172870586298701640891447166616274952391106652365257432706129929545203048020553579510240775473661918790071056772713447289551474295984655373149783827227274741210388303564576410430955834326506232462491435261742647053463891451750336569695122420489436646340336425836397170360327352036214326442066379915435019778429738342355103731151131007920172763438652684283061713986767204117627239850138626007634414702808273085992132093727296238302185199550250666238983989437708728174757911995146525373077254338922194074236423121976876844949910128029468235771297597787546104821193668013853255829228957437257763553480735302430138293836395011716816319997149073274620826632050068454781295697874314531085386361113949797818862793626279806081067120375230209307646532797638777661827256907503786788683835105415329188634875403480062665173431886417752212315824235371349894737695965853993932623609439235836532898016502935901663770655882494726938378967994202560307321217616271913162014112843106430947286448156021422704601192130859920698850191447001133792057274916341289861540893881723478108866132267031738403757326184218952422145236943165290492490616543252601710109656660168929600773506538781940579460878101778340225568144315170253631431923040457632433843117712759927975274195032050847557512914518854619605906773719393615623761512885337103153520215327461191502298187661807513334244989480675985502487072444477641579661650941500395272006519802543438242542058970280639081929284869105093921686393455629243935394772620256583292419966212895603408460112714086484358167945046885905139608122714818366948056963308452933208755437347556029471651988534751463539800097749283960814127601377686544932488210410448245522151604845666284267841457990080128385748493321252871820742196308429793027691175370428304504060684926233548265485598075978835642894837155545426334431120651838631426116540657451367595799175424716510913434539199185210886062732461822127811854316894105053503603855380697855755971453272692015870026288128043722596276452911568599097270931375839800712376015740477055676053226732485362796389890666185715802429117333709269198643389203240003287460049524640893668214730712379216253668375891441786881463583090289561730092745596719209964567562741513833593825143040174421463358947992484962234527006140391675735297921742497584459669821797943173169734833582465710438693431685956448134136722079640393322165253651136058388986729574231238664563391021791227703683025759935660443165558176750727561914075446744468018011987902539725811143613976770547459771057400641290796243392111232235274005820138465533619997582801462173253434830729413462024449829730974629354135258743653619567944858222587627110378023493220232020109112728287741373294112855362271664007175269712539499848463942601345039656560891307028890326348741065032776429062736704363178204785162282250621823833732890508276365464786101802047367155727345418616124996221200951874385350847416860329935084789125663865762861269558405471230673499963569366439762611856639671429179582138582074679731478629089011847751128623927376755697420957018475655413367121381586166516927516909127025617586025397973224997217354028321402409889760810056582255587824993048999077408035284169727533723429255925264449280550658699867587581996349124512354449757958269344465277111801097833457514035193921608062031954945055666106131770599292613818347381064003420856117279083035979193022007713806397888456538642718983964337134142127043173272145076495695016175597537090027480527971474522107923803417177547488257344592130532380322162891711808646153969052619762179417674867769406019284817159677861549200386823241550190701479042015310772926484812338681417838572764210609078178552958162239448702055601650485822614033672913305713004818778767870335944279213922422061514098909512110092984007228385917530266408180489111897633880016158001364770151719935988987933920930741395982704985528159752318182164739758079622499220471652612268389982826922637240748239494491609618703411773872988870873560921212727750199664956285989562089028514667221126142921226202004804626026116500958541613734529824489831073265940866753417154146548300702993130908197334057153484287939914657530359404390010993355118611931994292126386043589045941975802012578759653168415708951320755471416826972867022025900549248119573239308903135407654133895735142713612505896420226667943263232490275384694039410426216774842743436179438736682074813452021379977403764264182295496435312880397306875639432722448443170922489949713111677820284651503236692454742351123275579887595948693413460089168160622998406800330514684515778573670028351310809665629101158922691347086409326423740203765043423434402961150874292461993668382107732255568759340396814214278969305762383781276112578406565333299328445353771646120747085353282999522759018939752600515511143731636000829024462806087002606930334925597528869735473697875313934995449462046294077184246970449442007245481895397512513588359257939924053905967474422799201559426272096539229000648615300409812702243281820742931138769656205542777400435151914950448003912259942766909799411248580929589016297331016603297343190845276134256117209910783420222834558891460069949440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000